From 14cfd0bd713a00f11c380c0f0240a82e3102ad22 Mon Sep 17 00:00:00 2001 From: WhiteSource Renovate Date: Tue, 2 Aug 2022 14:53:51 +0200 Subject: [PATCH 1/8] chore(deps): update dependency google-auth to v2.9.1 (#1860) --- samples/compute/requirements.txt | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/samples/compute/requirements.txt b/samples/compute/requirements.txt index 50533a63088..a2375211296 100644 --- a/samples/compute/requirements.txt +++ b/samples/compute/requirements.txt @@ -1,3 +1,3 @@ google-api-python-client==2.51.0 -google-auth==2.8.0 +google-auth==2.9.1 google-auth-httplib2==0.1.0 From 3d646b401afe7433f0ec80ba778029bac5a43a24 Mon Sep 17 00:00:00 2001 From: WhiteSource Renovate Date: Tue, 2 Aug 2022 17:13:41 +0200 Subject: [PATCH 2/8] chore(deps): update dependency google-api-python-client to v2.55.0 (#1859) * chore(deps): update dependency google-api-python-client to v2.55.0 * use debian-11 instead of debian-9 Co-authored-by: Anthonios Partheniou --- samples/compute/create_instance.py | 2 +- samples/compute/requirements.txt | 2 +- 2 files changed, 2 insertions(+), 2 deletions(-) diff --git a/samples/compute/create_instance.py b/samples/compute/create_instance.py index aa6c271ceb3..2e62872a72b 100644 --- a/samples/compute/create_instance.py +++ b/samples/compute/create_instance.py @@ -43,7 +43,7 @@ def create_instance(compute, project, zone, name, bucket): # Get the latest Debian Jessie image. image_response = ( compute.images() - .getFromFamily(project="debian-cloud", family="debian-9") + .getFromFamily(project="debian-cloud", family="debian-11") .execute() ) source_disk_image = image_response["selfLink"] diff --git a/samples/compute/requirements.txt b/samples/compute/requirements.txt index a2375211296..9630b7adcde 100644 --- a/samples/compute/requirements.txt +++ b/samples/compute/requirements.txt @@ -1,3 +1,3 @@ -google-api-python-client==2.51.0 +google-api-python-client==2.55.0 google-auth==2.9.1 google-auth-httplib2==0.1.0 From dd8a4425e199651eeedf10889d84ae6ab99b2097 Mon Sep 17 00:00:00 2001 From: WhiteSource Renovate Date: Sat, 6 Aug 2022 02:21:08 +0200 Subject: [PATCH 3/8] chore(deps): update dependency google-auth to v2.10.0 (#1866) --- samples/compute/requirements.txt | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/samples/compute/requirements.txt b/samples/compute/requirements.txt index 9630b7adcde..9f2cf41aafa 100644 --- a/samples/compute/requirements.txt +++ b/samples/compute/requirements.txt @@ -1,3 +1,3 @@ google-api-python-client==2.55.0 -google-auth==2.9.1 +google-auth==2.10.0 google-auth-httplib2==0.1.0 From 8c87a419f36851c3238ac574cde523d7c85db26d Mon Sep 17 00:00:00 2001 From: Steve Kowalik Date: Sat, 6 Aug 2022 12:41:51 +1000 Subject: [PATCH 4/8] test: Switch to unittest.mock (#1864) As of Python 3.4, the unittest module in the standard library has included mock, which means we can remove one external dependency. Co-authored-by: Anthonios Partheniou --- noxfile.py | 1 - tests/test__auth.py | 2 +- tests/test__helpers.py | 3 +-- tests/test_discovery.py | 2 +- tests/test_discovery_cache.py | 3 +-- tests/test_http.py | 2 +- 6 files changed, 5 insertions(+), 8 deletions(-) diff --git a/noxfile.py b/noxfile.py index 2e2e03abc3a..fda6416526f 100644 --- a/noxfile.py +++ b/noxfile.py @@ -42,7 +42,6 @@ "pytest-cov", "webtest", "coverage", - "mock", ] diff --git a/tests/test__auth.py b/tests/test__auth.py index 6809647b785..8b6b5624032 100644 --- a/tests/test__auth.py +++ b/tests/test__auth.py @@ -13,11 +13,11 @@ # limitations under the License. import unittest +from unittest import mock import google.auth.credentials import google_auth_httplib2 import httplib2 -import mock import oauth2client.client from googleapiclient import _auth diff --git a/tests/test__helpers.py b/tests/test__helpers.py index 51e5c595260..56df6f88079 100644 --- a/tests/test__helpers.py +++ b/tests/test__helpers.py @@ -15,10 +15,9 @@ """Unit tests for googleapiclient._helpers.""" import unittest +from unittest import mock import urllib -import mock - from googleapiclient import _helpers diff --git a/tests/test_discovery.py b/tests/test_discovery.py index 36a0d524f26..8f4bdec1f03 100644 --- a/tests/test_discovery.py +++ b/tests/test_discovery.py @@ -35,6 +35,7 @@ import re import sys import unittest +from unittest import mock import urllib import google.api_core.exceptions @@ -42,7 +43,6 @@ from google.auth.exceptions import MutualTLSChannelError import google_auth_httplib2 import httplib2 -import mock from oauth2client import GOOGLE_TOKEN_URI from oauth2client.client import GoogleCredentials, OAuth2Credentials from parameterized import parameterized diff --git a/tests/test_discovery_cache.py b/tests/test_discovery_cache.py index d9b43470b27..678350505d6 100644 --- a/tests/test_discovery_cache.py +++ b/tests/test_discovery_cache.py @@ -19,8 +19,7 @@ import datetime import unittest - -import mock +from unittest import mock from googleapiclient.discovery_cache import DISCOVERY_DOC_MAX_AGE diff --git a/tests/test_http.py b/tests/test_http.py index 3233f668ce7..e7b57dfaff3 100644 --- a/tests/test_http.py +++ b/tests/test_http.py @@ -34,10 +34,10 @@ import ssl import time import unittest +from unittest import mock import urllib import httplib2 -import mock from oauth2client.client import Credentials from googleapiclient.discovery import build From 10403015d5b91c27c60dfb118430c1c471b40cf5 Mon Sep 17 00:00:00 2001 From: Tim Gates Date: Sat, 6 Aug 2022 12:58:09 +1000 Subject: [PATCH 5/8] docs: Fix a few typos (#1858) There are small typos in: - googleapiclient/discovery_cache/file_cache.py - samples/analytics/management_v3_reference.py Fixes: - Should read `hierarchy` rather than `hiearchy`. - Should read `accessing` rather than `accesing`. Signed-off-by: Tim Gates Co-authored-by: Anthonios Partheniou --- googleapiclient/discovery_cache/file_cache.py | 2 +- samples/analytics/management_v3_reference.py | 10 +++++----- 2 files changed, 6 insertions(+), 6 deletions(-) diff --git a/googleapiclient/discovery_cache/file_cache.py b/googleapiclient/discovery_cache/file_cache.py index 3bdf93a87df..f9a9caed433 100644 --- a/googleapiclient/discovery_cache/file_cache.py +++ b/googleapiclient/discovery_cache/file_cache.py @@ -15,7 +15,7 @@ """File based cache for the discovery document. The cache is stored in a single file so that multiple processes can -share the same cache. It locks the file whenever accesing to the +share the same cache. It locks the file whenever accessing to the file. When the cache content is corrupted, it will be initialized with an empty cache. """ diff --git a/samples/analytics/management_v3_reference.py b/samples/analytics/management_v3_reference.py index 829fcd15218..c5ad2e7ab46 100755 --- a/samples/analytics/management_v3_reference.py +++ b/samples/analytics/management_v3_reference.py @@ -22,7 +22,7 @@ The application manages autorization by saving an OAuth2.0 token in a local file and reusing the token for subsequent requests. It then traverses the -Google Analytics Management hiearchy. It first retrieves and prints all the +Google Analytics Management hierarchy. It first retrieves and prints all the authorized user's accounts, next it prints all the web properties for the first account, then all the profiles for the first web property and finally all the goals for the first profile. The sample then prints all the @@ -72,9 +72,9 @@ def main(argv): scope="https://www.googleapis.com/auth/analytics.readonly", ) - # Traverse the Management hiearchy and print results or handle errors. + # Traverse the Management hierarchy and print results or handle errors. try: - traverse_hiearchy(service) + traverse_hierarchy(service) except TypeError as error: # Handle errors in constructing a query. @@ -96,8 +96,8 @@ def main(argv): ) -def traverse_hiearchy(service): - """Traverses the management API hiearchy and prints results. +def traverse_hierarchy(service): + """Traverses the management API hierarchy and prints results. This retrieves and prints the authorized user's accounts. It then retrieves and prints all the web properties for the first account, From 5de9f1ae4595f44f1b09177db91a854a43024315 Mon Sep 17 00:00:00 2001 From: Albert Millert <32578489+amillert@users.noreply.github.com> Date: Tue, 9 Aug 2022 03:25:01 +0200 Subject: [PATCH 6/8] style: update import in docs, improve python idiomaticity (#1855) MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit * docs: change googleapiclient import in README docs * style: improve readability when attempting to access dict value * refactor: no need to iterate over generator to sort its contents * 🦉 Updates from OwlBot post-processor See https://github.com/googleapis/repo-automation-bots/blob/main/packages/owl-bot/README.md Co-authored-by: Anthonios Partheniou Co-authored-by: Owl Bot --- samples/compute/README.md | 4 ++-- samples/compute/create_instance.py | 2 +- 2 files changed, 3 insertions(+), 3 deletions(-) diff --git a/samples/compute/README.md b/samples/compute/README.md index 769d5f288b6..f1ad6d627be 100644 --- a/samples/compute/README.md +++ b/samples/compute/README.md @@ -52,7 +52,7 @@ Application default credentials are provided in Google API Client Libraries auto You just have to build and initialize the API: ```python -import googleapiclient +import googleapiclient.discovery compute = googleapiclient.discovery.build('compute', 'v1') ``` @@ -67,7 +67,7 @@ You need to provide the project ID and the zone for which you want to list insta ```python def list_instances(compute, project, zone): result = compute.instances().list(project=project, zone=zone).execute() - return result['items'] if 'items' in result else None + return result.get('items') ``` ## Adding an instance diff --git a/samples/compute/create_instance.py b/samples/compute/create_instance.py index 2e62872a72b..f0bd86bbf63 100644 --- a/samples/compute/create_instance.py +++ b/samples/compute/create_instance.py @@ -32,7 +32,7 @@ # [START compute_apiary_list_instances] def list_instances(compute, project, zone): result = compute.instances().list(project=project, zone=zone).execute() - return result["items"] if "items" in result else None + return result.get("items") # [END compute_apiary_list_instances] From bef54ff8932f27be456bd6ad3f83fa14e663d1fa Mon Sep 17 00:00:00 2001 From: yoshi-code-bot <70984784+yoshi-code-bot@users.noreply.github.com> Date: Tue, 9 Aug 2022 00:22:40 -0700 Subject: [PATCH 7/8] chore: Update discovery artifacts (#1868) ## Deleted keys were detected in the following stable discovery artifacts: baremetalsolution v2 https://github.com/googleapis/google-api-python-client/commit/01d40f6a1c6f4cbe021c805f23c0ebacab596581 cloudchannel v1 https://github.com/googleapis/google-api-python-client/commit/91fb06935fda2d69cbb81e41edd340c7402faef8 cloudsearch v1 https://github.com/googleapis/google-api-python-client/commit/c5f6895d9c92b01a87160ff5744d71a95bce9428 gameservices v1 https://github.com/googleapis/google-api-python-client/commit/876284eba48a9ce1fa73148f4d56e13eca76a14f ## Deleted keys were detected in the following pre-stable discovery artifacts: cloudidentity v1beta1 https://github.com/googleapis/google-api-python-client/commit/7463513e42840cf9a7f7459742aa650ff1050715 cloudsupport v2beta https://github.com/googleapis/google-api-python-client/commit/3c68638a25be3a207bc9a83ddd25748c4bd6b6fb gameservices v1beta https://github.com/googleapis/google-api-python-client/commit/876284eba48a9ce1fa73148f4d56e13eca76a14f ## Discovery Artifact Change Summary: feat(admin): update the api https://github.com/googleapis/google-api-python-client/commit/69ac3be9c5e576e1422508be5924627fed9c7a05 feat(adsense): update the api https://github.com/googleapis/google-api-python-client/commit/125ef1daa47e6084dc1f12a1267e6f805ff42ac8 feat(analyticsadmin): update the api https://github.com/googleapis/google-api-python-client/commit/5d2a6dffbecf1ea194a65a5c1d73c1e2aa7547e1 feat(authorizedbuyersmarketplace): update the api https://github.com/googleapis/google-api-python-client/commit/b1e8c38bf32e5e1821072c5d8649b75f7cb8bd93 feat(baremetalsolution): update the api https://github.com/googleapis/google-api-python-client/commit/01d40f6a1c6f4cbe021c805f23c0ebacab596581 feat(beyondcorp): update the api https://github.com/googleapis/google-api-python-client/commit/41eb915e82395b7af54f84c2178dbe430e695478 feat(bigquery): update the api https://github.com/googleapis/google-api-python-client/commit/9580b4d8f1a9354b685c674adecc7ec0f7906a3b feat(blogger): update the api https://github.com/googleapis/google-api-python-client/commit/8a727f6ae9cc4fb031e6b9c23af05456639c8b19 feat(chat): update the api https://github.com/googleapis/google-api-python-client/commit/042b80d1fd44a8ecacfb6f4c2bfeca4802c10642 feat(chromepolicy): update the api https://github.com/googleapis/google-api-python-client/commit/b381018fff817fa297dc2cf840dcff67211a90e0 feat(cloudchannel): update the api https://github.com/googleapis/google-api-python-client/commit/91fb06935fda2d69cbb81e41edd340c7402faef8 feat(cloudidentity): update the api https://github.com/googleapis/google-api-python-client/commit/7463513e42840cf9a7f7459742aa650ff1050715 feat(cloudsearch): update the api https://github.com/googleapis/google-api-python-client/commit/c5f6895d9c92b01a87160ff5744d71a95bce9428 feat(cloudsupport): update the api https://github.com/googleapis/google-api-python-client/commit/3c68638a25be3a207bc9a83ddd25748c4bd6b6fb feat(compute): update the api https://github.com/googleapis/google-api-python-client/commit/678d6aad609bb24ede5904ae6b429305d4becaad feat(connectors): update the api https://github.com/googleapis/google-api-python-client/commit/506f96d2ebcfed759b46ac13a9d35d6ec2e5f9c1 feat(content): update the api https://github.com/googleapis/google-api-python-client/commit/f3207d67d73d53e513e4f3f47cdc7a7ead82e67a feat(dataplex): update the api https://github.com/googleapis/google-api-python-client/commit/ce8d53d131ddad2b28d2cc9b78672fcd4077b864 feat(dataproc): update the api https://github.com/googleapis/google-api-python-client/commit/540292b10ca68bd6329b13709144816e12112037 feat(dlp): update the api https://github.com/googleapis/google-api-python-client/commit/e6503d33a6f27f5443ef02ad220e7ea2bbdf1f92 feat(dns): update the api https://github.com/googleapis/google-api-python-client/commit/13d2f8acc00f589503f62bcc73ea824438073af2 feat(firebase): update the api https://github.com/googleapis/google-api-python-client/commit/7f5f751f93fad20f9c171d6c50c34c9855da9a47 feat(gameservices): update the api https://github.com/googleapis/google-api-python-client/commit/876284eba48a9ce1fa73148f4d56e13eca76a14f feat(logging): update the api https://github.com/googleapis/google-api-python-client/commit/98d28621d08e6aa11d70d6017ebdb43b0a859dce feat(monitoring): update the api https://github.com/googleapis/google-api-python-client/commit/331b5c0c21c2534b1eb6dbcc923f22664bc0b2a1 feat(notebooks): update the api https://github.com/googleapis/google-api-python-client/commit/d5c8eb84ed2182cdf2d87e2ccc3d1bcb215a364d feat(retail): update the api https://github.com/googleapis/google-api-python-client/commit/929acf8b7ace5fd683ac00172f4b5211bcec7405 feat(securitycenter): update the api https://github.com/googleapis/google-api-python-client/commit/70e4256a58599727febbfb1a17b547e31b6cb6d8 feat(servicedirectory): update the api https://github.com/googleapis/google-api-python-client/commit/fa2c777d0558963539d712bd7849f8bc6a60b58c --- .../admin_directory_v1.chromeosdevices.html | 54 + docs/dyn/admin_directory_v1.groups.html | 32 +- ...adsense_v2.accounts.adclients.adunits.html | 6 +- ..._v2.accounts.adclients.customchannels.html | 6 +- docs/dyn/adsense_v2.accounts.adclients.html | 4 +- ...nse_v2.accounts.adclients.urlchannels.html | 4 +- docs/dyn/adsense_v2.accounts.alerts.html | 2 +- docs/dyn/adsense_v2.accounts.html | 6 +- docs/dyn/adsense_v2.accounts.payments.html | 2 +- docs/dyn/adsense_v2.accounts.reports.html | 2 +- .../adsense_v2.accounts.reports.saved.html | 2 +- docs/dyn/adsense_v2.accounts.sites.html | 4 +- ...icsadmin_v1alpha.properties.audiences.html | 1008 ++ .../analyticsadmin_v1alpha.properties.html | 195 + ...roidmanagement_v1.enterprises.devices.html | 8 +- .../apigee_v1.organizations.apiproducts.html | 28 +- ...igee_v1.organizations.developers.apps.html | 4 +- ..._v1.organizations.endpointAttachments.html | 6 +- .../apigee_v1.organizations.environments.html | 4 +- ....organizations.environments.keystores.html | 8 +- docs/dyn/apigee_v1.organizations.html | 8 +- .../apigee_v1.organizations.instances.html | 8 +- ...ry_v1.projects.locations.repositories.html | 6 +- ...beta1.projects.locations.repositories.html | 6 +- ...beta2.projects.locations.repositories.html | 6 +- ...marketplace_v1.bidders.finalizedDeals.html | 5 + ...smarketplace_v1.buyers.finalizedDeals.html | 30 + ...marketplace_v1.buyers.proposals.deals.html | 30 + ...ution_v2.projects.locations.instances.html | 294 +- ...ution_v2.projects.locations.nfsShares.html | 3 + ...projects.locations.provisioningQuotas.html | 3 +- ...olution_v2.projects.locations.volumes.html | 8 +- ..._v1.projects.locations.appConnections.html | 5 + ...p_v1.projects.locations.appConnectors.html | 4 +- docs/dyn/beyondcorp_v1alpha.html | 5 + .../dyn/beyondcorp_v1alpha.organizations.html | 91 + ...dcorp_v1alpha.organizations.locations.html | 91 + ...lpha.organizations.locations.insights.html | 340 + ...pha.projects.locations.appConnections.html | 5 + ...lpha.projects.locations.appConnectors.html | 4 +- ...v1alpha.projects.locations.connectors.html | 4 +- ...beyondcorp_v1alpha.projects.locations.html | 5 + ...p_v1alpha.projects.locations.insights.html | 340 + docs/dyn/bigquery_v2.jobs.html | 25 +- docs/dyn/bigquery_v2.routines.html | 36 +- docs/dyn/bigquery_v2.tables.html | 14 + docs/dyn/blogger_v2.blogs.html | 3 + docs/dyn/blogger_v2.pages.html | 2 + docs/dyn/blogger_v2.posts.html | 2 + docs/dyn/blogger_v3.blogUserInfos.html | 1 + docs/dyn/blogger_v3.blogs.html | 4 + docs/dyn/blogger_v3.pages.html | 10 + docs/dyn/blogger_v3.postUserInfos.html | 2 + docs/dyn/blogger_v3.posts.html | 12 + docs/dyn/calendar_v3.events.html | 34 +- docs/dyn/chat_v1.dms.conversations.html | 1056 +- docs/dyn/chat_v1.dms.html | 2120 ++- docs/dyn/chat_v1.rooms.conversations.html | 1056 +- docs/dyn/chat_v1.rooms.html | 2120 ++- docs/dyn/chat_v1.spaces.html | 1068 +- docs/dyn/chat_v1.spaces.messages.html | 2658 +++- ...mepolicy_v1.customers.policies.groups.html | 249 + .../chromepolicy_v1.customers.policies.html | 5 + docs/dyn/cloudasset_v1.assets.html | 2 +- .../cloudasset_v1.effectiveIamPolicies.html | 2 +- docs/dyn/cloudasset_v1.v1.html | 12 +- .../dyn/cloudasset_v1beta1.organizations.html | 2 +- docs/dyn/cloudasset_v1beta1.projects.html | 2 +- .../dyn/cloudasset_v1p1beta1.iamPolicies.html | 2 +- docs/dyn/cloudasset_v1p5beta1.assets.html | 2 +- ...ocations.bitbucketServerConfigs.repos.html | 2 +- ...el_v1.accounts.customers.entitlements.html | 1 - .../cloudchannel_v1.accounts.customers.html | 1 - docs/dyn/cloudchannel_v1.accounts.html | 3 +- docs/dyn/cloudchannel_v1.accounts.offers.html | 1 - ...cloudresourcemanager_v1.organizations.html | 6 +- .../dyn/cloudresourcemanager_v1.projects.html | 6 +- ...resourcemanager_v1beta1.organizations.html | 6 +- ...cloudresourcemanager_v1beta1.projects.html | 6 +- docs/dyn/cloudresourcemanager_v2.folders.html | 6 +- .../cloudresourcemanager_v2beta1.folders.html | 6 +- ...cloudresourcemanager_v3.effectiveTags.html | 4 +- docs/dyn/cloudresourcemanager_v3.folders.html | 6 +- ...cloudresourcemanager_v3.organizations.html | 6 +- .../dyn/cloudresourcemanager_v3.projects.html | 6 +- docs/dyn/cloudresourcemanager_v3.tagKeys.html | 6 +- .../cloudresourcemanager_v3.tagValues.html | 18 +- ...dscheduler_v1.projects.locations.jobs.html | 18 +- ...duler_v1beta1.projects.locations.jobs.html | 18 +- .../cloudsearch_v1.settings.datasources.html | 64 + ...search_v1.settings.searchapplications.html | 122 + docs/dyn/cloudsupport_v2beta.cases.html | 9 - ...oudtasks_v2.projects.locations.queues.html | 6 +- ...sks_v2beta2.projects.locations.queues.html | 6 +- ...sks_v2beta3.projects.locations.queues.html | 6 +- ...er_v1.projects.locations.environments.html | 2 +- ...beta1.projects.locations.environments.html | 2 +- docs/dyn/compute_alpha.firewallPolicies.html | 14 +- .../dyn/compute_alpha.futureReservations.html | 25 + docs/dyn/compute_alpha.instanceTemplates.html | 6 +- docs/dyn/compute_alpha.instances.html | 18 +- docs/dyn/compute_alpha.machineImages.html | 12 +- ...compute_alpha.networkFirewallPolicies.html | 14 +- docs/dyn/compute_alpha.networks.html | 2 +- ...te_alpha.organizationSecurityPolicies.html | 20 + docs/dyn/compute_alpha.regionCommitments.html | 36 + ...compute_alpha.regionInstanceTemplates.html | 6 +- docs/dyn/compute_alpha.regionInstances.html | 4 +- ...e_alpha.regionNetworkFirewallPolicies.html | 16 +- .../compute_alpha.regionSecurityPolicies.html | 20 + docs/dyn/compute_alpha.reservations.html | 30 + docs/dyn/compute_alpha.securityPolicies.html | 25 + .../compute_alpha.zoneQueuedResources.html | 12 +- docs/dyn/compute_beta.disks.html | 25 + docs/dyn/compute_beta.instanceTemplates.html | 15 +- docs/dyn/compute_beta.instances.html | 35 +- docs/dyn/compute_beta.machineImages.html | 21 +- ...ute_beta.organizationSecurityPolicies.html | 20 + docs/dyn/compute_beta.regionDisks.html | 20 + docs/dyn/compute_beta.regionInstances.html | 5 +- .../compute_beta.regionSecurityPolicies.html | 20 + docs/dyn/compute_beta.securityPolicies.html | 25 + docs/dyn/compute_v1.disks.html | 20 + docs/dyn/compute_v1.instanceTemplates.html | 15 +- docs/dyn/compute_v1.instances.html | 35 +- docs/dyn/compute_v1.machineImages.html | 21 +- docs/dyn/compute_v1.regionDisks.html | 15 + docs/dyn/compute_v1.regionInstances.html | 5 +- .../compute_v1.regionSecurityPolicies.html | 20 + docs/dyn/compute_v1.securityPolicies.html | 25 + ...global_.providers.connectors.versions.html | 12 + docs/dyn/content_v2_1.accounts.html | 2 +- docs/dyn/content_v2_1.accountstatuses.html | 2 +- docs/dyn/content_v2_1.accounttax.html | 2 +- docs/dyn/content_v2_1.datafeeds.html | 2 +- docs/dyn/content_v2_1.datafeedstatuses.html | 2 +- docs/dyn/content_v2_1.html | 5 - docs/dyn/content_v2_1.localinventory.html | 2 +- .../content_v2_1.ordertrackingsignals.html | 140 +- docs/dyn/content_v2_1.products.html | 2 +- docs/dyn/content_v2_1.productstatuses.html | 2 +- docs/dyn/content_v2_1.regionalinventory.html | 2 +- docs/dyn/content_v2_1.reports.html | 46 + docs/dyn/content_v2_1.shippingsettings.html | 2 +- ...lex_v1.projects.locations.lakes.tasks.html | 8 +- ...dataproc_v1.projects.regions.clusters.html | 2 + ...splayvideo_v1.customBiddingAlgorithms.html | 2 +- docs/dyn/dlp_v2.infoTypes.html | 10 +- docs/dyn/dlp_v2.locations.infoTypes.html | 10 +- ..._v2.organizations.deidentifyTemplates.html | 104 +- ...dlp_v2.organizations.inspectTemplates.html | 32 +- ...zations.locations.deidentifyTemplates.html | 104 +- ...lp_v2.organizations.locations.dlpJobs.html | 66 +- ...anizations.locations.inspectTemplates.html | 32 +- ...2.organizations.locations.jobTriggers.html | 218 +- ...ganizations.locations.storedInfoTypes.html | 60 +- .../dlp_v2.organizations.storedInfoTypes.html | 60 +- docs/dyn/dlp_v2.projects.content.html | 98 +- .../dlp_v2.projects.deidentifyTemplates.html | 104 +- docs/dyn/dlp_v2.projects.dlpJobs.html | 252 +- docs/dyn/dlp_v2.projects.image.html | 22 +- .../dyn/dlp_v2.projects.inspectTemplates.html | 32 +- docs/dyn/dlp_v2.projects.jobTriggers.html | 280 +- .../dlp_v2.projects.locations.content.html | 98 +- ...rojects.locations.deidentifyTemplates.html | 104 +- .../dlp_v2.projects.locations.dlpJobs.html | 264 +- docs/dyn/dlp_v2.projects.locations.image.html | 22 +- ...2.projects.locations.inspectTemplates.html | 32 +- ...dlp_v2.projects.locations.jobTriggers.html | 292 +- ...v2.projects.locations.storedInfoTypes.html | 60 +- docs/dyn/dlp_v2.projects.storedInfoTypes.html | 60 +- docs/dyn/dns_v1.changes.html | 616 + docs/dyn/dns_v1.resourceRecordSets.html | 462 + docs/dyn/dns_v1.responsePolicyRules.html | 616 + docs/dyn/dns_v1beta2.changes.html | 848 ++ docs/dyn/dns_v1beta2.resourceRecordSets.html | 636 + docs/dyn/dns_v1beta2.responsePolicyRules.html | 848 ++ docs/dyn/drivelabels_v2.labels.html | 444 +- docs/dyn/drivelabels_v2beta.html | 121 + docs/dyn/drivelabels_v2beta.labels.html | 3149 ++++ docs/dyn/drivelabels_v2beta.labels.locks.html | 144 + ...drivelabels_v2beta.labels.permissions.html | 326 + .../drivelabels_v2beta.labels.revisions.html | 96 + ...elabels_v2beta.labels.revisions.locks.html | 144 + ...s_v2beta.labels.revisions.permissions.html | 327 + docs/dyn/drivelabels_v2beta.limits.html | 156 + docs/dyn/drivelabels_v2beta.users.html | 112 + ...firebase_v1beta1.projects.androidApps.html | 30 + docs/dyn/firebase_v1beta1.projects.html | 2 +- ...store_v1.projects.databases.documents.html | 516 +- ...jects.locations.gameServerDeployments.html | 467 - .../gameservices_v1.projects.locations.html | 5 - ...jects.locations.gameServerDeployments.html | 467 - ...ameservices_v1beta.projects.locations.html | 5 - docs/dyn/iap_v1.v1.html | 12 +- docs/dyn/iap_v1beta1.v1beta1.html | 6 +- docs/dyn/index.md | 3 + docs/dyn/language_v1beta2.documents.html | 2 +- docs/dyn/logging_v2.projects.metrics.html | 18 +- .../monitoring_v1.projects.dashboards.html | 24 + ...itoring_v3.projects.metricDescriptors.html | 4 +- ...toring_v3.projects.uptimeCheckConfigs.html | 18 + ...saccountmanagement_v1.accounts.admins.html | 10 +- ...businessaccountmanagement_v1.accounts.html | 2 +- ...accountmanagement_v1.locations.admins.html | 10 +- ...ebooks_v1.projects.locations.runtimes.html | 14 +- ...operreporting_v1alpha1.vitals.anrrate.html | 4 +- ...erreporting_v1alpha1.vitals.crashrate.html | 4 +- ...porting_v1alpha1.vitals.errors.counts.html | 4 +- ...g_v1alpha1.vitals.excessivewakeuprate.html | 4 +- ...a1.vitals.stuckbackgroundwakelockrate.html | 4 +- ...loperreporting_v1beta1.vitals.anrrate.html | 4 +- ...perreporting_v1beta1.vitals.crashrate.html | 4 +- ...ng_v1beta1.vitals.excessivewakeuprate.html | 4 +- ...a1.vitals.stuckbackgroundwakelockrate.html | 4 +- docs/dyn/policytroubleshooter_v1.iam.html | 2 +- docs/dyn/policytroubleshooter_v1beta.iam.html | 2 +- .../dyn/pubsub_v1.projects.subscriptions.html | 36 +- .../realtimebidding_v1.bidders.creatives.html | 2 +- .../realtimebidding_v1.buyers.creatives.html | 12 +- ...chaenterprise_v1.projects.assessments.html | 22 +- .../recaptchaenterprise_v1.projects.keys.html | 6 +- ...ojects.relatedaccountgroupmemberships.html | 8 +- ...rise_v1.projects.relatedaccountgroups.html | 2 +- ...ects.relatedaccountgroups.memberships.html | 8 +- ...s.locations.catalogs.attributesConfig.html | 173 + ....locations.catalogs.branches.products.html | 22 +- ...cts.locations.catalogs.completionData.html | 4 +- ...retail_v2.projects.locations.catalogs.html | 289 + ...rojects.locations.catalogs.placements.html | 10 +- ...cts.locations.catalogs.servingConfigs.html | 10 +- ...rojects.locations.catalogs.userEvents.html | 10 +- ...s.locations.catalogs.attributesConfig.html | 41 + ....locations.catalogs.branches.products.html | 22 +- ...cts.locations.catalogs.completionData.html | 4 +- ....projects.locations.catalogs.controls.html | 6 + ...l_v2alpha.projects.locations.catalogs.html | 51 +- ...ha.projects.locations.catalogs.models.html | 54 +- ...rojects.locations.catalogs.placements.html | 10 +- ...cts.locations.catalogs.servingConfigs.html | 10 +- ...rojects.locations.catalogs.userEvents.html | 10 +- ...s.locations.catalogs.attributesConfig.html | 41 + ....locations.catalogs.branches.products.html | 22 +- ...cts.locations.catalogs.completionData.html | 4 +- ....projects.locations.catalogs.controls.html | 6 + ...il_v2beta.projects.locations.catalogs.html | 51 +- ...rojects.locations.catalogs.placements.html | 10 +- ...cts.locations.catalogs.servingConfigs.html | 10 +- ...rojects.locations.catalogs.userEvents.html | 10 +- .../dyn/run_v1.namespaces.configurations.html | 8 +- .../dyn/run_v1.namespaces.domainmappings.html | 8 +- docs/dyn/run_v1.namespaces.executions.html | 4 +- docs/dyn/run_v1.namespaces.jobs.html | 26 +- docs/dyn/run_v1.namespaces.revisions.html | 4 +- docs/dyn/run_v1.namespaces.routes.html | 4 +- docs/dyn/run_v1.namespaces.services.html | 24 +- docs/dyn/run_v1.namespaces.tasks.html | 4 +- ..._v1.projects.locations.configurations.html | 8 +- ..._v1.projects.locations.domainmappings.html | 8 +- .../run_v1.projects.locations.revisions.html | 4 +- .../dyn/run_v1.projects.locations.routes.html | 4 +- .../run_v1.projects.locations.services.html | 24 +- .../run_v2.projects.locations.services.html | 2 +- ...itycenter_v1.folders.sources.findings.html | 50 +- ...ter_v1.organizations.sources.findings.html | 70 +- ...tycenter_v1.projects.sources.findings.html | 50 +- ...edirectory_v1beta1.projects.locations.html | 5 + ...v1beta1.projects.locations.namespaces.html | 8 +- ...locations.namespaces.serviceWorkloads.html | 8 +- ...rojects.locations.namespaces.services.html | 8 +- ...ojects.locations.registrationPolicies.html | 226 + docs/dyn/slides_v1.presentations.html | 1403 +- docs/dyn/slides_v1.presentations.pages.html | 7 +- ...cts.instances.databases.databaseRoles.html | 2 +- ...projects.instances.databases.sessions.html | 71 +- docs/dyn/trafficdirector_v2.discovery.html | 4 +- .../acceleratedmobilepageurl.v1.json | 2 +- .../documents/accessapproval.v1.json | 2 +- .../documents/accesscontextmanager.v1.json | 2 +- .../accesscontextmanager.v1beta.json | 2 +- .../documents/adexchangebuyer2.v2beta1.json | 2 +- .../documents/admin.datatransfer_v1.json | 2 +- .../documents/admin.directory_v1.json | 57 +- .../documents/admin.reports_v1.json | 2 +- .../discovery_cache/documents/admob.v1.json | 2 +- .../documents/admob.v1beta.json | 2 +- .../discovery_cache/documents/adsense.v2.json | 29 +- .../documents/alertcenter.v1beta1.json | 2 +- .../documents/analyticsadmin.v1alpha.json | 1236 +- .../documents/analyticsdata.v1beta.json | 2 +- .../documents/analyticshub.v1beta1.json | 2 +- .../androiddeviceprovisioning.v1.json | 2 +- .../documents/androidenterprise.v1.json | 2 +- .../documents/androidmanagement.v1.json | 10 +- .../documents/androidpublisher.v3.json | 2 +- .../discovery_cache/documents/apigee.v1.json | 16 +- .../documents/apigeeregistry.v1.json | 2 +- .../discovery_cache/documents/apikeys.v2.json | 2 +- .../documents/appengine.v1.json | 2 +- .../documents/appengine.v1alpha.json | 2 +- .../documents/appengine.v1beta.json | 2 +- .../documents/area120tables.v1alpha1.json | 2 +- .../documents/artifactregistry.v1.json | 4 +- .../documents/artifactregistry.v1beta1.json | 4 +- .../documents/artifactregistry.v1beta2.json | 4 +- .../documents/assuredworkloads.v1.json | 42 +- .../authorizedbuyersmarketplace.v1.json | 33 +- .../documents/baremetalsolution.v1.json | 2 +- .../documents/baremetalsolution.v1alpha1.json | 2 +- .../documents/baremetalsolution.v2.json | 96 +- .../documents/beyondcorp.v1.json | 9 +- .../documents/beyondcorp.v1alpha.json | 703 +- .../documents/bigquery.v2.json | 22 +- .../documents/bigqueryconnection.v1beta1.json | 2 +- .../documents/bigquerydatatransfer.v1.json | 2 +- .../documents/bigqueryreservation.v1.json | 2 +- .../bigqueryreservation.v1beta1.json | 2 +- .../documents/bigtableadmin.v2.json | 2 +- .../documents/billingbudgets.v1.json | 2 +- .../documents/billingbudgets.v1beta1.json | 2 +- .../documents/binaryauthorization.v1.json | 2 +- .../binaryauthorization.v1beta1.json | 2 +- .../discovery_cache/documents/blogger.v2.json | 10 +- .../discovery_cache/documents/blogger.v3.json | 10 +- .../discovery_cache/documents/books.v1.json | 2 +- .../businessprofileperformance.v1.json | 2 +- .../documents/calendar.v3.json | 10 +- .../discovery_cache/documents/chat.v1.json | 47 +- .../documents/chromemanagement.v1.json | 2 +- .../documents/chromepolicy.v1.json | 244 +- .../documents/chromeuxreport.v1.json | 2 +- .../documents/civicinfo.v2.json | 2 +- .../documents/classroom.v1.json | 2 +- .../documents/cloudasset.v1.json | 6 +- .../documents/cloudasset.v1beta1.json | 4 +- .../documents/cloudasset.v1p1beta1.json | 4 +- .../documents/cloudasset.v1p5beta1.json | 4 +- .../documents/cloudasset.v1p7beta1.json | 4 +- .../documents/cloudbuild.v1.json | 4 +- .../documents/cloudbuild.v1alpha1.json | 2 +- .../documents/cloudbuild.v1alpha2.json | 2 +- .../documents/cloudbuild.v1beta1.json | 2 +- .../documents/cloudchannel.v1.json | 8 +- .../documents/clouddebugger.v2.json | 2 +- .../documents/clouddeploy.v1.json | 2 +- .../documents/cloudfunctions.v1.json | 2 +- .../documents/cloudfunctions.v2.json | 2 +- .../documents/cloudfunctions.v2alpha.json | 2 +- .../documents/cloudfunctions.v2beta.json | 2 +- .../documents/cloudidentity.v1.json | 7 +- .../documents/cloudidentity.v1beta1.json | 17 +- .../documents/cloudiot.v1.json | 2 +- .../documents/cloudkms.v1.json | 2 +- .../documents/cloudprofiler.v2.json | 2 +- .../documents/cloudresourcemanager.v1.json | 4 +- .../cloudresourcemanager.v1beta1.json | 4 +- .../documents/cloudresourcemanager.v2.json | 4 +- .../cloudresourcemanager.v2beta1.json | 4 +- .../documents/cloudresourcemanager.v3.json | 12 +- .../documents/cloudscheduler.v1.json | 4 +- .../documents/cloudscheduler.v1beta1.json | 4 +- .../documents/cloudsearch.v1.json | 11869 ++++++++++++++-- .../documents/cloudshell.v1.json | 2 +- .../documents/cloudsupport.v2beta.json | 6 +- .../documents/cloudtasks.v2.json | 4 +- .../documents/cloudtasks.v2beta2.json | 4 +- .../documents/cloudtasks.v2beta3.json | 4 +- .../documents/cloudtrace.v1.json | 2 +- .../documents/cloudtrace.v2.json | 2 +- .../documents/cloudtrace.v2beta1.json | 2 +- .../documents/composer.v1.json | 4 +- .../documents/composer.v1beta1.json | 4 +- .../documents/compute.alpha.json | 87 +- .../documents/compute.beta.json | 46 +- .../discovery_cache/documents/compute.v1.json | 46 +- .../documents/connectors.v1.json | 24 +- .../documents/contactcenterinsights.v1.json | 2 +- .../documents/container.v1.json | 2 +- .../documents/container.v1beta1.json | 2 +- .../documents/containeranalysis.v1.json | 2 +- .../documents/containeranalysis.v1alpha1.json | 2 +- .../documents/containeranalysis.v1beta1.json | 2 +- .../documents/content.v2.1.json | 242 +- .../documents/customsearch.v1.json | 2 +- .../documents/datacatalog.v1.json | 2 +- .../documents/datacatalog.v1beta1.json | 2 +- .../documents/dataflow.v1b3.json | 8 +- .../documents/datamigration.v1.json | 2 +- .../documents/datamigration.v1beta1.json | 2 +- .../documents/datapipelines.v1.json | 2 +- .../documents/dataplex.v1.json | 27 +- .../documents/dataproc.v1.json | 11 +- .../documents/datastream.v1.json | 2 +- .../documents/datastream.v1alpha1.json | 2 +- .../documents/deploymentmanager.alpha.json | 2 +- .../documents/deploymentmanager.v2.json | 2 +- .../documents/deploymentmanager.v2beta.json | 2 +- .../documents/dialogflow.v2.json | 2 +- .../documents/dialogflow.v2beta1.json | 2 +- .../documents/dialogflow.v3.json | 2 +- .../documents/dialogflow.v3beta1.json | 2 +- .../documents/digitalassetlinks.v1.json | 2 +- .../documents/displayvideo.v1.json | 16 +- .../discovery_cache/documents/dlp.v2.json | 268 +- .../discovery_cache/documents/dns.v1.json | 107 +- .../documents/dns.v1beta2.json | 107 +- .../discovery_cache/documents/docs.v1.json | 2 +- .../documents/domainsrdap.v1.json | 2 +- .../documents/doubleclickbidmanager.v1.1.json | 2 +- .../documents/doubleclickbidmanager.v2.json | 2 +- .../documents/doubleclicksearch.v2.json | 2 +- .../discovery_cache/documents/drive.v2.json | 4 +- .../discovery_cache/documents/drive.v3.json | 4 +- .../documents/driveactivity.v2.json | 2 +- .../documents/drivelabels.v2.json | 234 +- .../documents/drivelabels.v2beta.json | 2902 ++++ .../documents/essentialcontacts.v1.json | 2 +- .../documents/eventarc.v1.json | 2 +- .../documents/eventarc.v1beta1.json | 2 +- .../documents/factchecktools.v1alpha1.json | 2 +- .../discovery_cache/documents/fcm.v1.json | 2 +- .../documents/fcmdata.v1beta1.json | 2 +- .../documents/firebase.v1beta1.json | 18 +- .../documents/firebaseappcheck.v1.json | 2 +- .../documents/firebaseappcheck.v1beta.json | 2 +- .../documents/firebasedatabase.v1beta.json | 2 +- .../documents/firebasedynamiclinks.v1.json | 2 +- .../documents/firebasehosting.v1.json | 2 +- .../documents/firebasehosting.v1beta1.json | 2 +- .../documents/firebaseml.v1.json | 2 +- .../documents/firebaseml.v1beta2.json | 2 +- .../documents/firebasestorage.v1beta.json | 2 +- .../discovery_cache/documents/fitness.v1.json | 2 +- .../discovery_cache/documents/forms.v1.json | 2 +- .../discovery_cache/documents/games.v1.json | 2 +- .../gamesConfiguration.v1configuration.json | 2 +- .../gamesManagement.v1management.json | 2 +- .../documents/gameservices.v1.json | 1918 +-- .../documents/gameservices.v1beta.json | 1918 +-- .../documents/genomics.v2alpha1.json | 2 +- .../documents/gkebackup.v1.json | 2 +- .../discovery_cache/documents/gkehub.v1.json | 2 +- .../documents/gkehub.v1alpha.json | 2 +- .../documents/gkehub.v1alpha2.json | 2 +- .../documents/gkehub.v1beta.json | 2 +- .../documents/gkehub.v1beta1.json | 2 +- .../documents/gkehub.v2alpha.json | 2 +- .../discovery_cache/documents/gmail.v1.json | 2 +- .../documents/gmailpostmastertools.v1.json | 2 +- .../gmailpostmastertools.v1beta1.json | 2 +- .../documents/groupsmigration.v1.json | 2 +- .../documents/healthcare.v1.json | 2 +- .../documents/healthcare.v1beta1.json | 2 +- .../documents/homegraph.v1.json | 2 +- .../discovery_cache/documents/iam.v1.json | 2 +- .../discovery_cache/documents/iam.v2beta.json | 2 +- .../documents/iamcredentials.v1.json | 2 +- .../discovery_cache/documents/iap.v1.json | 6 +- .../documents/iap.v1beta1.json | 4 +- .../documents/ideahub.v1alpha.json | 2 +- .../documents/ideahub.v1beta.json | 2 +- .../discovery_cache/documents/ids.v1.json | 2 +- .../documents/indexing.v3.json | 2 +- .../discovery_cache/documents/jobs.v3.json | 2 +- .../documents/jobs.v3p1beta1.json | 2 +- .../discovery_cache/documents/jobs.v4.json | 2 +- .../discovery_cache/documents/keep.v1.json | 2 +- .../documents/kgsearch.v1.json | 2 +- .../documents/language.v1.json | 2 +- .../documents/language.v1beta1.json | 2 +- .../documents/language.v1beta2.json | 4 +- .../documents/libraryagent.v1.json | 2 +- .../documents/licensing.v1.json | 2 +- .../documents/lifesciences.v2beta.json | 2 +- .../documents/localservices.v1.json | 2 +- .../discovery_cache/documents/logging.v2.json | 8 +- .../documents/manufacturers.v1.json | 2 +- .../documents/memcache.v1.json | 12 +- .../documents/memcache.v1beta2.json | 12 +- .../documents/metastore.v1alpha.json | 2 +- .../documents/metastore.v1beta.json | 2 +- .../discovery_cache/documents/ml.v1.json | 2 +- .../documents/monitoring.v1.json | 16 +- .../documents/monitoring.v3.json | 11 +- .../mybusinessaccountmanagement.v1.json | 6 +- .../documents/mybusinessbusinesscalls.v1.json | 2 +- .../mybusinessbusinessinformation.v1.json | 2 +- .../documents/mybusinesslodging.v1.json | 2 +- .../documents/mybusinessnotifications.v1.json | 2 +- .../documents/mybusinessplaceactions.v1.json | 2 +- .../documents/mybusinessqanda.v1.json | 2 +- .../documents/mybusinessverifications.v1.json | 2 +- .../documents/networkconnectivity.v1.json | 2 +- .../networkconnectivity.v1alpha1.json | 2 +- .../documents/networksecurity.v1.json | 2 +- .../documents/networksecurity.v1beta1.json | 2 +- .../documents/networkservices.v1.json | 2 +- .../documents/networkservices.v1beta1.json | 2 +- .../documents/notebooks.v1.json | 10 +- .../documents/ondemandscanning.v1.json | 6 +- .../documents/ondemandscanning.v1beta1.json | 6 +- .../documents/orgpolicy.v2.json | 2 +- .../documents/osconfig.v1.json | 2 +- .../documents/osconfig.v1alpha.json | 2 +- .../documents/osconfig.v1beta.json | 2 +- .../discovery_cache/documents/oslogin.v1.json | 2 +- .../documents/oslogin.v1alpha.json | 2 +- .../documents/oslogin.v1beta.json | 2 +- .../documents/pagespeedonline.v5.json | 2 +- .../paymentsresellersubscription.v1.json | 2 +- .../discovery_cache/documents/people.v1.json | 2 +- .../documents/playcustomapp.v1.json | 2 +- .../playdeveloperreporting.v1alpha1.json | 22 +- .../playdeveloperreporting.v1beta1.json | 18 +- .../documents/playintegrity.v1.json | 2 +- .../documents/policyanalyzer.v1.json | 2 +- .../documents/policyanalyzer.v1beta1.json | 2 +- .../documents/policysimulator.v1.json | 2 +- .../documents/policysimulator.v1beta1.json | 2 +- .../documents/policytroubleshooter.v1.json | 4 +- .../policytroubleshooter.v1beta.json | 4 +- .../documents/privateca.v1.json | 4 +- .../documents/privateca.v1beta1.json | 4 +- .../documents/prod_tt_sasportal.v1alpha1.json | 2 +- .../discovery_cache/documents/pubsub.v1.json | 8 +- .../documents/pubsub.v1beta1a.json | 2 +- .../documents/pubsub.v1beta2.json | 2 +- .../documents/pubsublite.v1.json | 2 +- .../documents/realtimebidding.v1.json | 4 +- .../documents/realtimebidding.v1alpha.json | 2 +- .../documents/recaptchaenterprise.v1.json | 48 +- .../recommendationengine.v1beta1.json | 2 +- .../documents/recommender.v1.json | 2 +- .../documents/recommender.v1beta1.json | 2 +- .../discovery_cache/documents/redis.v1.json | 2 +- .../documents/redis.v1beta1.json | 2 +- .../documents/reseller.v1.json | 2 +- .../documents/resourcesettings.v1.json | 2 +- .../discovery_cache/documents/retail.v2.json | 519 +- .../documents/retail.v2alpha.json | 235 +- .../documents/retail.v2beta.json | 235 +- .../discovery_cache/documents/run.v1.json | 4 +- .../discovery_cache/documents/run.v2.json | 4 +- .../documents/runtimeconfig.v1.json | 2 +- .../documents/runtimeconfig.v1beta1.json | 2 +- .../documents/safebrowsing.v4.json | 2 +- .../documents/sasportal.v1alpha1.json | 2 +- .../discovery_cache/documents/script.v1.json | 2 +- .../documents/searchconsole.v1.json | 2 +- .../documents/secretmanager.v1.json | 2 +- .../documents/secretmanager.v1beta1.json | 2 +- .../documents/securitycenter.v1.json | 46 +- .../documents/securitycenter.v1beta1.json | 46 +- .../documents/securitycenter.v1beta2.json | 46 +- .../serviceconsumermanagement.v1.json | 2 +- .../serviceconsumermanagement.v1beta1.json | 2 +- .../documents/servicecontrol.v1.json | 2 +- .../documents/servicecontrol.v2.json | 2 +- .../documents/servicedirectory.v1.json | 2 +- .../documents/servicedirectory.v1beta1.json | 102 +- .../documents/servicemanagement.v1.json | 2 +- .../documents/servicenetworking.v1.json | 2 +- .../documents/servicenetworking.v1beta.json | 2 +- .../documents/serviceusage.v1.json | 2 +- .../documents/serviceusage.v1beta1.json | 2 +- .../discovery_cache/documents/sheets.v4.json | 2 +- .../discovery_cache/documents/slides.v1.json | 12 +- .../documents/smartdevicemanagement.v1.json | 2 +- .../documents/sourcerepo.v1.json | 2 +- .../discovery_cache/documents/spanner.v1.json | 4 +- .../discovery_cache/documents/speech.v1.json | 2 +- .../documents/speech.v1p1beta1.json | 2 +- .../documents/speech.v2beta1.json | 2 +- .../discovery_cache/documents/storage.v1.json | 4 +- .../documents/storagetransfer.v1.json | 2 +- .../documents/streetviewpublish.v1.json | 2 +- .../discovery_cache/documents/sts.v1.json | 2 +- .../discovery_cache/documents/sts.v1beta.json | 2 +- .../documents/tagmanager.v1.json | 2 +- .../documents/tagmanager.v2.json | 2 +- .../discovery_cache/documents/tasks.v1.json | 2 +- .../documents/texttospeech.v1.json | 2 +- .../documents/texttospeech.v1beta1.json | 2 +- .../documents/toolresults.v1beta3.json | 2 +- .../discovery_cache/documents/tpu.v1.json | 8 +- .../documents/tpu.v1alpha1.json | 8 +- .../documents/tpu.v2alpha1.json | 8 +- .../documents/trafficdirector.v2.json | 4 +- .../documents/transcoder.v1.json | 2 +- .../documents/translate.v3.json | 2 +- .../documents/translate.v3beta1.json | 2 +- .../discovery_cache/documents/vault.v1.json | 2 +- .../documents/versionhistory.v1.json | 2 +- .../discovery_cache/documents/vision.v1.json | 2 +- .../documents/vision.v1p1beta1.json | 2 +- .../documents/vision.v1p2beta1.json | 2 +- .../documents/vmmigration.v1.json | 2 +- .../documents/vmmigration.v1alpha1.json | 2 +- .../discovery_cache/documents/webrisk.v1.json | 2 +- .../documents/websecurityscanner.v1.json | 2 +- .../documents/websecurityscanner.v1alpha.json | 2 +- .../documents/websecurityscanner.v1beta.json | 2 +- .../documents/workflowexecutions.v1.json | 2 +- .../documents/workflowexecutions.v1beta.json | 2 +- .../documents/workflows.v1.json | 2 +- .../documents/workflows.v1beta.json | 2 +- .../discovery_cache/documents/youtube.v3.json | 2 +- .../documents/youtubeAnalytics.v2.json | 2 +- .../documents/youtubereporting.v1.json | 2 +- 609 files changed, 46007 insertions(+), 9030 deletions(-) create mode 100644 docs/dyn/analyticsadmin_v1alpha.properties.audiences.html create mode 100644 docs/dyn/beyondcorp_v1alpha.organizations.html create mode 100644 docs/dyn/beyondcorp_v1alpha.organizations.locations.html create mode 100644 docs/dyn/beyondcorp_v1alpha.organizations.locations.insights.html create mode 100644 docs/dyn/beyondcorp_v1alpha.projects.locations.insights.html create mode 100644 docs/dyn/chromepolicy_v1.customers.policies.groups.html create mode 100644 docs/dyn/drivelabels_v2beta.html create mode 100644 docs/dyn/drivelabels_v2beta.labels.html create mode 100644 docs/dyn/drivelabels_v2beta.labels.locks.html create mode 100644 docs/dyn/drivelabels_v2beta.labels.permissions.html create mode 100644 docs/dyn/drivelabels_v2beta.labels.revisions.html create mode 100644 docs/dyn/drivelabels_v2beta.labels.revisions.locks.html create mode 100644 docs/dyn/drivelabels_v2beta.labels.revisions.permissions.html create mode 100644 docs/dyn/drivelabels_v2beta.limits.html create mode 100644 docs/dyn/drivelabels_v2beta.users.html create mode 100644 docs/dyn/retail_v2.projects.locations.catalogs.attributesConfig.html create mode 100644 docs/dyn/servicedirectory_v1beta1.projects.locations.registrationPolicies.html create mode 100644 googleapiclient/discovery_cache/documents/drivelabels.v2beta.json diff --git a/docs/dyn/admin_directory_v1.chromeosdevices.html b/docs/dyn/admin_directory_v1.chromeosdevices.html index 88bfb284bec..0735f6c2a07 100644 --- a/docs/dyn/admin_directory_v1.chromeosdevices.html +++ b/docs/dyn/admin_directory_v1.chromeosdevices.html @@ -216,6 +216,7 @@

Method Details

"ethernetMacAddress": "A String", # The device's MAC address on the ethernet network interface. "ethernetMacAddress0": "A String", # (Read-only) MAC address used by the Chromebook’s internal ethernet port, and for onboard network (ethernet) interface. The format is twelve (12) hexadecimal digits without any delimiter (uppercase letters). This is only relevant for some devices. "firmwareVersion": "A String", # The Chrome device's firmware version. + "firstEnrollmentTime": "A String", # Date and time for the first time the device was enrolled. "kind": "admin#directory#chromeosdevice", # The type of resource. For the Chromeosdevices resource, the value is `admin#directory#chromeosdevice`. "lastEnrollmentTime": "A String", # Date and time the device was last enrolled (Read-only) "lastKnownNetwork": [ # Contains last known network (Read-only) @@ -233,6 +234,14 @@

Method Details

"orderNumber": "A String", # The device's order number. Only devices directly purchased from Google have an order number. "orgUnitId": "A String", # The unique ID of the organizational unit. orgUnitPath is the human readable version of orgUnitId. While orgUnitPath may change by renaming an organizational unit within the path, orgUnitId is unchangeable for one organizational unit. This property can be [updated](/admin-sdk/directory/v1/guides/manage-chrome-devices#move_chrome_devices_to_ou) using the API. For more information about how to create an organizational structure for your device, see the [administration help center](https://support.google.com/a/answer/182433). "orgUnitPath": "A String", # The full parent path with the organizational unit's name associated with the device. Path names are case insensitive. If the parent organizational unit is the top-level organization, it is represented as a forward slash, `/`. This property can be [updated](/admin-sdk/directory/v1/guides/manage-chrome-devices#move_chrome_devices_to_ou) using the API. For more information about how to create an organizational structure for your device, see the [administration help center](https://support.google.com/a/answer/182433). + "osUpdateStatus": { # Contains information regarding the current OS update status. # The status of the OS updates for the device. + "rebootTime": "A String", # Date and time of the last reboot. + "state": "A String", # The update state of an OS update. + "targetKioskAppVersion": "A String", # New required platform version from the pending updated kiosk app. + "targetOsVersion": "A String", # New platform version of the OS image being downloaded and applied. It is only set when update status is UPDATE_STATUS_DOWNLOAD_IN_PROGRESS or UPDATE_STATUS_NEED_REBOOT. Note this could be a dummy "0.0.0.0" for UPDATE_STATUS_NEED_REBOOT for some edge cases, e.g. update engine is restarted without a reboot. + "updateCheckTime": "A String", # Date and time of the last update check. + "updateTime": "A String", # Date and time of the last successful OS update. + }, "osVersion": "A String", # The Chrome device's operating system version. "platformVersion": "A String", # The Chrome device's platform version. "recentUsers": [ # List of recent device users, in descending order, by last login time. @@ -382,6 +391,7 @@

Method Details

"ethernetMacAddress": "A String", # The device's MAC address on the ethernet network interface. "ethernetMacAddress0": "A String", # (Read-only) MAC address used by the Chromebook’s internal ethernet port, and for onboard network (ethernet) interface. The format is twelve (12) hexadecimal digits without any delimiter (uppercase letters). This is only relevant for some devices. "firmwareVersion": "A String", # The Chrome device's firmware version. + "firstEnrollmentTime": "A String", # Date and time for the first time the device was enrolled. "kind": "admin#directory#chromeosdevice", # The type of resource. For the Chromeosdevices resource, the value is `admin#directory#chromeosdevice`. "lastEnrollmentTime": "A String", # Date and time the device was last enrolled (Read-only) "lastKnownNetwork": [ # Contains last known network (Read-only) @@ -399,6 +409,14 @@

Method Details

"orderNumber": "A String", # The device's order number. Only devices directly purchased from Google have an order number. "orgUnitId": "A String", # The unique ID of the organizational unit. orgUnitPath is the human readable version of orgUnitId. While orgUnitPath may change by renaming an organizational unit within the path, orgUnitId is unchangeable for one organizational unit. This property can be [updated](/admin-sdk/directory/v1/guides/manage-chrome-devices#move_chrome_devices_to_ou) using the API. For more information about how to create an organizational structure for your device, see the [administration help center](https://support.google.com/a/answer/182433). "orgUnitPath": "A String", # The full parent path with the organizational unit's name associated with the device. Path names are case insensitive. If the parent organizational unit is the top-level organization, it is represented as a forward slash, `/`. This property can be [updated](/admin-sdk/directory/v1/guides/manage-chrome-devices#move_chrome_devices_to_ou) using the API. For more information about how to create an organizational structure for your device, see the [administration help center](https://support.google.com/a/answer/182433). + "osUpdateStatus": { # Contains information regarding the current OS update status. # The status of the OS updates for the device. + "rebootTime": "A String", # Date and time of the last reboot. + "state": "A String", # The update state of an OS update. + "targetKioskAppVersion": "A String", # New required platform version from the pending updated kiosk app. + "targetOsVersion": "A String", # New platform version of the OS image being downloaded and applied. It is only set when update status is UPDATE_STATUS_DOWNLOAD_IN_PROGRESS or UPDATE_STATUS_NEED_REBOOT. Note this could be a dummy "0.0.0.0" for UPDATE_STATUS_NEED_REBOOT for some edge cases, e.g. update engine is restarted without a reboot. + "updateCheckTime": "A String", # Date and time of the last update check. + "updateTime": "A String", # Date and time of the last successful OS update. + }, "osVersion": "A String", # The Chrome device's operating system version. "platformVersion": "A String", # The Chrome device's platform version. "recentUsers": [ # List of recent device users, in descending order, by last login time. @@ -562,6 +580,7 @@

Method Details

"ethernetMacAddress": "A String", # The device's MAC address on the ethernet network interface. "ethernetMacAddress0": "A String", # (Read-only) MAC address used by the Chromebook’s internal ethernet port, and for onboard network (ethernet) interface. The format is twelve (12) hexadecimal digits without any delimiter (uppercase letters). This is only relevant for some devices. "firmwareVersion": "A String", # The Chrome device's firmware version. + "firstEnrollmentTime": "A String", # Date and time for the first time the device was enrolled. "kind": "admin#directory#chromeosdevice", # The type of resource. For the Chromeosdevices resource, the value is `admin#directory#chromeosdevice`. "lastEnrollmentTime": "A String", # Date and time the device was last enrolled (Read-only) "lastKnownNetwork": [ # Contains last known network (Read-only) @@ -579,6 +598,14 @@

Method Details

"orderNumber": "A String", # The device's order number. Only devices directly purchased from Google have an order number. "orgUnitId": "A String", # The unique ID of the organizational unit. orgUnitPath is the human readable version of orgUnitId. While orgUnitPath may change by renaming an organizational unit within the path, orgUnitId is unchangeable for one organizational unit. This property can be [updated](/admin-sdk/directory/v1/guides/manage-chrome-devices#move_chrome_devices_to_ou) using the API. For more information about how to create an organizational structure for your device, see the [administration help center](https://support.google.com/a/answer/182433). "orgUnitPath": "A String", # The full parent path with the organizational unit's name associated with the device. Path names are case insensitive. If the parent organizational unit is the top-level organization, it is represented as a forward slash, `/`. This property can be [updated](/admin-sdk/directory/v1/guides/manage-chrome-devices#move_chrome_devices_to_ou) using the API. For more information about how to create an organizational structure for your device, see the [administration help center](https://support.google.com/a/answer/182433). + "osUpdateStatus": { # Contains information regarding the current OS update status. # The status of the OS updates for the device. + "rebootTime": "A String", # Date and time of the last reboot. + "state": "A String", # The update state of an OS update. + "targetKioskAppVersion": "A String", # New required platform version from the pending updated kiosk app. + "targetOsVersion": "A String", # New platform version of the OS image being downloaded and applied. It is only set when update status is UPDATE_STATUS_DOWNLOAD_IN_PROGRESS or UPDATE_STATUS_NEED_REBOOT. Note this could be a dummy "0.0.0.0" for UPDATE_STATUS_NEED_REBOOT for some edge cases, e.g. update engine is restarted without a reboot. + "updateCheckTime": "A String", # Date and time of the last update check. + "updateTime": "A String", # Date and time of the last successful OS update. + }, "osVersion": "A String", # The Chrome device's operating system version. "platformVersion": "A String", # The Chrome device's platform version. "recentUsers": [ # List of recent device users, in descending order, by last login time. @@ -701,6 +728,7 @@

Method Details

"ethernetMacAddress": "A String", # The device's MAC address on the ethernet network interface. "ethernetMacAddress0": "A String", # (Read-only) MAC address used by the Chromebook’s internal ethernet port, and for onboard network (ethernet) interface. The format is twelve (12) hexadecimal digits without any delimiter (uppercase letters). This is only relevant for some devices. "firmwareVersion": "A String", # The Chrome device's firmware version. + "firstEnrollmentTime": "A String", # Date and time for the first time the device was enrolled. "kind": "admin#directory#chromeosdevice", # The type of resource. For the Chromeosdevices resource, the value is `admin#directory#chromeosdevice`. "lastEnrollmentTime": "A String", # Date and time the device was last enrolled (Read-only) "lastKnownNetwork": [ # Contains last known network (Read-only) @@ -718,6 +746,14 @@

Method Details

"orderNumber": "A String", # The device's order number. Only devices directly purchased from Google have an order number. "orgUnitId": "A String", # The unique ID of the organizational unit. orgUnitPath is the human readable version of orgUnitId. While orgUnitPath may change by renaming an organizational unit within the path, orgUnitId is unchangeable for one organizational unit. This property can be [updated](/admin-sdk/directory/v1/guides/manage-chrome-devices#move_chrome_devices_to_ou) using the API. For more information about how to create an organizational structure for your device, see the [administration help center](https://support.google.com/a/answer/182433). "orgUnitPath": "A String", # The full parent path with the organizational unit's name associated with the device. Path names are case insensitive. If the parent organizational unit is the top-level organization, it is represented as a forward slash, `/`. This property can be [updated](/admin-sdk/directory/v1/guides/manage-chrome-devices#move_chrome_devices_to_ou) using the API. For more information about how to create an organizational structure for your device, see the [administration help center](https://support.google.com/a/answer/182433). + "osUpdateStatus": { # Contains information regarding the current OS update status. # The status of the OS updates for the device. + "rebootTime": "A String", # Date and time of the last reboot. + "state": "A String", # The update state of an OS update. + "targetKioskAppVersion": "A String", # New required platform version from the pending updated kiosk app. + "targetOsVersion": "A String", # New platform version of the OS image being downloaded and applied. It is only set when update status is UPDATE_STATUS_DOWNLOAD_IN_PROGRESS or UPDATE_STATUS_NEED_REBOOT. Note this could be a dummy "0.0.0.0" for UPDATE_STATUS_NEED_REBOOT for some edge cases, e.g. update engine is restarted without a reboot. + "updateCheckTime": "A String", # Date and time of the last update check. + "updateTime": "A String", # Date and time of the last successful OS update. + }, "osVersion": "A String", # The Chrome device's operating system version. "platformVersion": "A String", # The Chrome device's platform version. "recentUsers": [ # List of recent device users, in descending order, by last login time. @@ -839,6 +875,7 @@

Method Details

"ethernetMacAddress": "A String", # The device's MAC address on the ethernet network interface. "ethernetMacAddress0": "A String", # (Read-only) MAC address used by the Chromebook’s internal ethernet port, and for onboard network (ethernet) interface. The format is twelve (12) hexadecimal digits without any delimiter (uppercase letters). This is only relevant for some devices. "firmwareVersion": "A String", # The Chrome device's firmware version. + "firstEnrollmentTime": "A String", # Date and time for the first time the device was enrolled. "kind": "admin#directory#chromeosdevice", # The type of resource. For the Chromeosdevices resource, the value is `admin#directory#chromeosdevice`. "lastEnrollmentTime": "A String", # Date and time the device was last enrolled (Read-only) "lastKnownNetwork": [ # Contains last known network (Read-only) @@ -856,6 +893,14 @@

Method Details

"orderNumber": "A String", # The device's order number. Only devices directly purchased from Google have an order number. "orgUnitId": "A String", # The unique ID of the organizational unit. orgUnitPath is the human readable version of orgUnitId. While orgUnitPath may change by renaming an organizational unit within the path, orgUnitId is unchangeable for one organizational unit. This property can be [updated](/admin-sdk/directory/v1/guides/manage-chrome-devices#move_chrome_devices_to_ou) using the API. For more information about how to create an organizational structure for your device, see the [administration help center](https://support.google.com/a/answer/182433). "orgUnitPath": "A String", # The full parent path with the organizational unit's name associated with the device. Path names are case insensitive. If the parent organizational unit is the top-level organization, it is represented as a forward slash, `/`. This property can be [updated](/admin-sdk/directory/v1/guides/manage-chrome-devices#move_chrome_devices_to_ou) using the API. For more information about how to create an organizational structure for your device, see the [administration help center](https://support.google.com/a/answer/182433). + "osUpdateStatus": { # Contains information regarding the current OS update status. # The status of the OS updates for the device. + "rebootTime": "A String", # Date and time of the last reboot. + "state": "A String", # The update state of an OS update. + "targetKioskAppVersion": "A String", # New required platform version from the pending updated kiosk app. + "targetOsVersion": "A String", # New platform version of the OS image being downloaded and applied. It is only set when update status is UPDATE_STATUS_DOWNLOAD_IN_PROGRESS or UPDATE_STATUS_NEED_REBOOT. Note this could be a dummy "0.0.0.0" for UPDATE_STATUS_NEED_REBOOT for some edge cases, e.g. update engine is restarted without a reboot. + "updateCheckTime": "A String", # Date and time of the last update check. + "updateTime": "A String", # Date and time of the last successful OS update. + }, "osVersion": "A String", # The Chrome device's operating system version. "platformVersion": "A String", # The Chrome device's platform version. "recentUsers": [ # List of recent device users, in descending order, by last login time. @@ -978,6 +1023,7 @@

Method Details

"ethernetMacAddress": "A String", # The device's MAC address on the ethernet network interface. "ethernetMacAddress0": "A String", # (Read-only) MAC address used by the Chromebook’s internal ethernet port, and for onboard network (ethernet) interface. The format is twelve (12) hexadecimal digits without any delimiter (uppercase letters). This is only relevant for some devices. "firmwareVersion": "A String", # The Chrome device's firmware version. + "firstEnrollmentTime": "A String", # Date and time for the first time the device was enrolled. "kind": "admin#directory#chromeosdevice", # The type of resource. For the Chromeosdevices resource, the value is `admin#directory#chromeosdevice`. "lastEnrollmentTime": "A String", # Date and time the device was last enrolled (Read-only) "lastKnownNetwork": [ # Contains last known network (Read-only) @@ -995,6 +1041,14 @@

Method Details

"orderNumber": "A String", # The device's order number. Only devices directly purchased from Google have an order number. "orgUnitId": "A String", # The unique ID of the organizational unit. orgUnitPath is the human readable version of orgUnitId. While orgUnitPath may change by renaming an organizational unit within the path, orgUnitId is unchangeable for one organizational unit. This property can be [updated](/admin-sdk/directory/v1/guides/manage-chrome-devices#move_chrome_devices_to_ou) using the API. For more information about how to create an organizational structure for your device, see the [administration help center](https://support.google.com/a/answer/182433). "orgUnitPath": "A String", # The full parent path with the organizational unit's name associated with the device. Path names are case insensitive. If the parent organizational unit is the top-level organization, it is represented as a forward slash, `/`. This property can be [updated](/admin-sdk/directory/v1/guides/manage-chrome-devices#move_chrome_devices_to_ou) using the API. For more information about how to create an organizational structure for your device, see the [administration help center](https://support.google.com/a/answer/182433). + "osUpdateStatus": { # Contains information regarding the current OS update status. # The status of the OS updates for the device. + "rebootTime": "A String", # Date and time of the last reboot. + "state": "A String", # The update state of an OS update. + "targetKioskAppVersion": "A String", # New required platform version from the pending updated kiosk app. + "targetOsVersion": "A String", # New platform version of the OS image being downloaded and applied. It is only set when update status is UPDATE_STATUS_DOWNLOAD_IN_PROGRESS or UPDATE_STATUS_NEED_REBOOT. Note this could be a dummy "0.0.0.0" for UPDATE_STATUS_NEED_REBOOT for some edge cases, e.g. update engine is restarted without a reboot. + "updateCheckTime": "A String", # Date and time of the last update check. + "updateTime": "A String", # Date and time of the last successful OS update. + }, "osVersion": "A String", # The Chrome device's operating system version. "platformVersion": "A String", # The Chrome device's platform version. "recentUsers": [ # List of recent device users, in descending order, by last login time. diff --git a/docs/dyn/admin_directory_v1.groups.html b/docs/dyn/admin_directory_v1.groups.html index 850d2741e1a..472db16b0c3 100644 --- a/docs/dyn/admin_directory_v1.groups.html +++ b/docs/dyn/admin_directory_v1.groups.html @@ -138,7 +138,7 @@

Method Details

{ # Google Groups provide your users the ability to send messages to groups of people using the group's email address. For more information about common tasks, see the [Developer's Guide](/admin-sdk/directory/v1/guides/manage-groups). "adminCreated": True or False, # Read-only. Value is `true` if this group was created by an administrator rather than a user. - "aliases": [ # Read-only. A list of a group's alias email addresses. + "aliases": [ # Read-only. A list of a group's alias email addresses. To add, update, or remove a group's aliases, use the `groups.aliases` methods. If edited in a group's POST or PUT request, the edit is ignored. "A String", ], "description": "A String", # An extended description to help users determine the purpose of a group. For example, you can include information about who should join the group, the types of messages to send to the group, links to FAQs about the group, or related groups. Maximum length is `4,096` characters. @@ -148,7 +148,7 @@

Method Details

"id": "A String", # Read-only. The unique ID of a group. A group `id` can be used as a group request URI's `groupKey`. "kind": "admin#directory#group", # The type of the API resource. For Groups resources, the value is `admin#directory#group`. "name": "A String", # The group's display name. - "nonEditableAliases": [ # Read-only. A list of the group's non-editable alias email addresses that are outside of the account's primary domain or subdomains. These are functioning email addresses used by the group. This is a read-only property returned in the API's response for a group. If edited in a group's POST or PUT request, the edit is ignored by the API service. + "nonEditableAliases": [ # Read-only. A list of the group's non-editable alias email addresses that are outside of the account's primary domain or subdomains. These are functioning email addresses used by the group. This is a read-only property returned in the API's response for a group. If edited in a group's POST or PUT request, the edit is ignored. "A String", ], } @@ -164,7 +164,7 @@

Method Details

{ # Google Groups provide your users the ability to send messages to groups of people using the group's email address. For more information about common tasks, see the [Developer's Guide](/admin-sdk/directory/v1/guides/manage-groups). "adminCreated": True or False, # Read-only. Value is `true` if this group was created by an administrator rather than a user. - "aliases": [ # Read-only. A list of a group's alias email addresses. + "aliases": [ # Read-only. A list of a group's alias email addresses. To add, update, or remove a group's aliases, use the `groups.aliases` methods. If edited in a group's POST or PUT request, the edit is ignored. "A String", ], "description": "A String", # An extended description to help users determine the purpose of a group. For example, you can include information about who should join the group, the types of messages to send to the group, links to FAQs about the group, or related groups. Maximum length is `4,096` characters. @@ -174,7 +174,7 @@

Method Details

"id": "A String", # Read-only. The unique ID of a group. A group `id` can be used as a group request URI's `groupKey`. "kind": "admin#directory#group", # The type of the API resource. For Groups resources, the value is `admin#directory#group`. "name": "A String", # The group's display name. - "nonEditableAliases": [ # Read-only. A list of the group's non-editable alias email addresses that are outside of the account's primary domain or subdomains. These are functioning email addresses used by the group. This is a read-only property returned in the API's response for a group. If edited in a group's POST or PUT request, the edit is ignored by the API service. + "nonEditableAliases": [ # Read-only. A list of the group's non-editable alias email addresses that are outside of the account's primary domain or subdomains. These are functioning email addresses used by the group. This is a read-only property returned in the API's response for a group. If edited in a group's POST or PUT request, the edit is ignored. "A String", ], } @@ -189,7 +189,7 @@

Method Details

{ # Google Groups provide your users the ability to send messages to groups of people using the group's email address. For more information about common tasks, see the [Developer's Guide](/admin-sdk/directory/v1/guides/manage-groups). "adminCreated": True or False, # Read-only. Value is `true` if this group was created by an administrator rather than a user. - "aliases": [ # Read-only. A list of a group's alias email addresses. + "aliases": [ # Read-only. A list of a group's alias email addresses. To add, update, or remove a group's aliases, use the `groups.aliases` methods. If edited in a group's POST or PUT request, the edit is ignored. "A String", ], "description": "A String", # An extended description to help users determine the purpose of a group. For example, you can include information about who should join the group, the types of messages to send to the group, links to FAQs about the group, or related groups. Maximum length is `4,096` characters. @@ -199,7 +199,7 @@

Method Details

"id": "A String", # Read-only. The unique ID of a group. A group `id` can be used as a group request URI's `groupKey`. "kind": "admin#directory#group", # The type of the API resource. For Groups resources, the value is `admin#directory#group`. "name": "A String", # The group's display name. - "nonEditableAliases": [ # Read-only. A list of the group's non-editable alias email addresses that are outside of the account's primary domain or subdomains. These are functioning email addresses used by the group. This is a read-only property returned in the API's response for a group. If edited in a group's POST or PUT request, the edit is ignored by the API service. + "nonEditableAliases": [ # Read-only. A list of the group's non-editable alias email addresses that are outside of the account's primary domain or subdomains. These are functioning email addresses used by the group. This is a read-only property returned in the API's response for a group. If edited in a group's POST or PUT request, the edit is ignored. "A String", ], } @@ -236,7 +236,7 @@

Method Details

"groups": [ # List of group objects. { # Google Groups provide your users the ability to send messages to groups of people using the group's email address. For more information about common tasks, see the [Developer's Guide](/admin-sdk/directory/v1/guides/manage-groups). "adminCreated": True or False, # Read-only. Value is `true` if this group was created by an administrator rather than a user. - "aliases": [ # Read-only. A list of a group's alias email addresses. + "aliases": [ # Read-only. A list of a group's alias email addresses. To add, update, or remove a group's aliases, use the `groups.aliases` methods. If edited in a group's POST or PUT request, the edit is ignored. "A String", ], "description": "A String", # An extended description to help users determine the purpose of a group. For example, you can include information about who should join the group, the types of messages to send to the group, links to FAQs about the group, or related groups. Maximum length is `4,096` characters. @@ -246,7 +246,7 @@

Method Details

"id": "A String", # Read-only. The unique ID of a group. A group `id` can be used as a group request URI's `groupKey`. "kind": "admin#directory#group", # The type of the API resource. For Groups resources, the value is `admin#directory#group`. "name": "A String", # The group's display name. - "nonEditableAliases": [ # Read-only. A list of the group's non-editable alias email addresses that are outside of the account's primary domain or subdomains. These are functioning email addresses used by the group. This is a read-only property returned in the API's response for a group. If edited in a group's POST or PUT request, the edit is ignored by the API service. + "nonEditableAliases": [ # Read-only. A list of the group's non-editable alias email addresses that are outside of the account's primary domain or subdomains. These are functioning email addresses used by the group. This is a read-only property returned in the API's response for a group. If edited in a group's POST or PUT request, the edit is ignored. "A String", ], }, @@ -281,7 +281,7 @@

Method Details

{ # Google Groups provide your users the ability to send messages to groups of people using the group's email address. For more information about common tasks, see the [Developer's Guide](/admin-sdk/directory/v1/guides/manage-groups). "adminCreated": True or False, # Read-only. Value is `true` if this group was created by an administrator rather than a user. - "aliases": [ # Read-only. A list of a group's alias email addresses. + "aliases": [ # Read-only. A list of a group's alias email addresses. To add, update, or remove a group's aliases, use the `groups.aliases` methods. If edited in a group's POST or PUT request, the edit is ignored. "A String", ], "description": "A String", # An extended description to help users determine the purpose of a group. For example, you can include information about who should join the group, the types of messages to send to the group, links to FAQs about the group, or related groups. Maximum length is `4,096` characters. @@ -291,7 +291,7 @@

Method Details

"id": "A String", # Read-only. The unique ID of a group. A group `id` can be used as a group request URI's `groupKey`. "kind": "admin#directory#group", # The type of the API resource. For Groups resources, the value is `admin#directory#group`. "name": "A String", # The group's display name. - "nonEditableAliases": [ # Read-only. A list of the group's non-editable alias email addresses that are outside of the account's primary domain or subdomains. These are functioning email addresses used by the group. This is a read-only property returned in the API's response for a group. If edited in a group's POST or PUT request, the edit is ignored by the API service. + "nonEditableAliases": [ # Read-only. A list of the group's non-editable alias email addresses that are outside of the account's primary domain or subdomains. These are functioning email addresses used by the group. This is a read-only property returned in the API's response for a group. If edited in a group's POST or PUT request, the edit is ignored. "A String", ], } @@ -306,7 +306,7 @@

Method Details

{ # Google Groups provide your users the ability to send messages to groups of people using the group's email address. For more information about common tasks, see the [Developer's Guide](/admin-sdk/directory/v1/guides/manage-groups). "adminCreated": True or False, # Read-only. Value is `true` if this group was created by an administrator rather than a user. - "aliases": [ # Read-only. A list of a group's alias email addresses. + "aliases": [ # Read-only. A list of a group's alias email addresses. To add, update, or remove a group's aliases, use the `groups.aliases` methods. If edited in a group's POST or PUT request, the edit is ignored. "A String", ], "description": "A String", # An extended description to help users determine the purpose of a group. For example, you can include information about who should join the group, the types of messages to send to the group, links to FAQs about the group, or related groups. Maximum length is `4,096` characters. @@ -316,7 +316,7 @@

Method Details

"id": "A String", # Read-only. The unique ID of a group. A group `id` can be used as a group request URI's `groupKey`. "kind": "admin#directory#group", # The type of the API resource. For Groups resources, the value is `admin#directory#group`. "name": "A String", # The group's display name. - "nonEditableAliases": [ # Read-only. A list of the group's non-editable alias email addresses that are outside of the account's primary domain or subdomains. These are functioning email addresses used by the group. This is a read-only property returned in the API's response for a group. If edited in a group's POST or PUT request, the edit is ignored by the API service. + "nonEditableAliases": [ # Read-only. A list of the group's non-editable alias email addresses that are outside of the account's primary domain or subdomains. These are functioning email addresses used by the group. This is a read-only property returned in the API's response for a group. If edited in a group's POST or PUT request, the edit is ignored. "A String", ], } @@ -333,7 +333,7 @@

Method Details

{ # Google Groups provide your users the ability to send messages to groups of people using the group's email address. For more information about common tasks, see the [Developer's Guide](/admin-sdk/directory/v1/guides/manage-groups). "adminCreated": True or False, # Read-only. Value is `true` if this group was created by an administrator rather than a user. - "aliases": [ # Read-only. A list of a group's alias email addresses. + "aliases": [ # Read-only. A list of a group's alias email addresses. To add, update, or remove a group's aliases, use the `groups.aliases` methods. If edited in a group's POST or PUT request, the edit is ignored. "A String", ], "description": "A String", # An extended description to help users determine the purpose of a group. For example, you can include information about who should join the group, the types of messages to send to the group, links to FAQs about the group, or related groups. Maximum length is `4,096` characters. @@ -343,7 +343,7 @@

Method Details

"id": "A String", # Read-only. The unique ID of a group. A group `id` can be used as a group request URI's `groupKey`. "kind": "admin#directory#group", # The type of the API resource. For Groups resources, the value is `admin#directory#group`. "name": "A String", # The group's display name. - "nonEditableAliases": [ # Read-only. A list of the group's non-editable alias email addresses that are outside of the account's primary domain or subdomains. These are functioning email addresses used by the group. This is a read-only property returned in the API's response for a group. If edited in a group's POST or PUT request, the edit is ignored by the API service. + "nonEditableAliases": [ # Read-only. A list of the group's non-editable alias email addresses that are outside of the account's primary domain or subdomains. These are functioning email addresses used by the group. This is a read-only property returned in the API's response for a group. If edited in a group's POST or PUT request, the edit is ignored. "A String", ], } @@ -358,7 +358,7 @@

Method Details

{ # Google Groups provide your users the ability to send messages to groups of people using the group's email address. For more information about common tasks, see the [Developer's Guide](/admin-sdk/directory/v1/guides/manage-groups). "adminCreated": True or False, # Read-only. Value is `true` if this group was created by an administrator rather than a user. - "aliases": [ # Read-only. A list of a group's alias email addresses. + "aliases": [ # Read-only. A list of a group's alias email addresses. To add, update, or remove a group's aliases, use the `groups.aliases` methods. If edited in a group's POST or PUT request, the edit is ignored. "A String", ], "description": "A String", # An extended description to help users determine the purpose of a group. For example, you can include information about who should join the group, the types of messages to send to the group, links to FAQs about the group, or related groups. Maximum length is `4,096` characters. @@ -368,7 +368,7 @@

Method Details

"id": "A String", # Read-only. The unique ID of a group. A group `id` can be used as a group request URI's `groupKey`. "kind": "admin#directory#group", # The type of the API resource. For Groups resources, the value is `admin#directory#group`. "name": "A String", # The group's display name. - "nonEditableAliases": [ # Read-only. A list of the group's non-editable alias email addresses that are outside of the account's primary domain or subdomains. These are functioning email addresses used by the group. This is a read-only property returned in the API's response for a group. If edited in a group's POST or PUT request, the edit is ignored by the API service. + "nonEditableAliases": [ # Read-only. A list of the group's non-editable alias email addresses that are outside of the account's primary domain or subdomains. These are functioning email addresses used by the group. This is a read-only property returned in the API's response for a group. If edited in a group's POST or PUT request, the edit is ignored. "A String", ], } diff --git a/docs/dyn/adsense_v2.accounts.adclients.adunits.html b/docs/dyn/adsense_v2.accounts.adclients.adunits.html index 4f96f589b43..c0257c460f7 100644 --- a/docs/dyn/adsense_v2.accounts.adclients.adunits.html +++ b/docs/dyn/adsense_v2.accounts.adclients.adunits.html @@ -121,7 +121,7 @@

Method Details

"type": "A String", # Required. Type of the ad unit. }, "displayName": "A String", # Required. Display name of the ad unit, as provided when the ad unit was created. - "name": "A String", # Resource name of the ad unit. Format: accounts/{account}/adclients/{adclient}/adunits/{adunit} + "name": "A String", # Output only. Resource name of the ad unit. Format: accounts/{account}/adclients/{adclient}/adunits/{adunit} "reportingDimensionId": "A String", # Output only. Unique ID of the ad unit as used in the `AD_UNIT_ID` reporting dimension. "state": "A String", # State of the ad unit. } @@ -170,7 +170,7 @@

Method Details

"type": "A String", # Required. Type of the ad unit. }, "displayName": "A String", # Required. Display name of the ad unit, as provided when the ad unit was created. - "name": "A String", # Resource name of the ad unit. Format: accounts/{account}/adclients/{adclient}/adunits/{adunit} + "name": "A String", # Output only. Resource name of the ad unit. Format: accounts/{account}/adclients/{adclient}/adunits/{adunit} "reportingDimensionId": "A String", # Output only. Unique ID of the ad unit as used in the `AD_UNIT_ID` reporting dimension. "state": "A String", # State of the ad unit. }, @@ -199,7 +199,7 @@

Method Details

"customChannels": [ # The custom channels returned in this list response. { # Representation of a custom channel. "displayName": "A String", # Required. Display name of the custom channel. - "name": "A String", # Resource name of the custom channel. Format: accounts/{account}/adclients/{adclient}/customchannels/{customchannel} + "name": "A String", # Output only. Resource name of the custom channel. Format: accounts/{account}/adclients/{adclient}/customchannels/{customchannel} "reportingDimensionId": "A String", # Output only. Unique ID of the custom channel as used in the `CUSTOM_CHANNEL_ID` reporting dimension. }, ], diff --git a/docs/dyn/adsense_v2.accounts.adclients.customchannels.html b/docs/dyn/adsense_v2.accounts.adclients.customchannels.html index ddcde9197f0..ca01cf349a2 100644 --- a/docs/dyn/adsense_v2.accounts.adclients.customchannels.html +++ b/docs/dyn/adsense_v2.accounts.adclients.customchannels.html @@ -114,7 +114,7 @@

Method Details

{ # Representation of a custom channel. "displayName": "A String", # Required. Display name of the custom channel. - "name": "A String", # Resource name of the custom channel. Format: accounts/{account}/adclients/{adclient}/customchannels/{customchannel} + "name": "A String", # Output only. Resource name of the custom channel. Format: accounts/{account}/adclients/{adclient}/customchannels/{customchannel} "reportingDimensionId": "A String", # Output only. Unique ID of the custom channel as used in the `CUSTOM_CHANNEL_ID` reporting dimension. } @@ -139,7 +139,7 @@

Method Details

"customChannels": [ # The custom channels returned in this list response. { # Representation of a custom channel. "displayName": "A String", # Required. Display name of the custom channel. - "name": "A String", # Resource name of the custom channel. Format: accounts/{account}/adclients/{adclient}/customchannels/{customchannel} + "name": "A String", # Output only. Resource name of the custom channel. Format: accounts/{account}/adclients/{adclient}/customchannels/{customchannel} "reportingDimensionId": "A String", # Output only. Unique ID of the custom channel as used in the `CUSTOM_CHANNEL_ID` reporting dimension. }, ], @@ -171,7 +171,7 @@

Method Details

"type": "A String", # Required. Type of the ad unit. }, "displayName": "A String", # Required. Display name of the ad unit, as provided when the ad unit was created. - "name": "A String", # Resource name of the ad unit. Format: accounts/{account}/adclients/{adclient}/adunits/{adunit} + "name": "A String", # Output only. Resource name of the ad unit. Format: accounts/{account}/adclients/{adclient}/adunits/{adunit} "reportingDimensionId": "A String", # Output only. Unique ID of the ad unit as used in the `AD_UNIT_ID` reporting dimension. "state": "A String", # State of the ad unit. }, diff --git a/docs/dyn/adsense_v2.accounts.adclients.html b/docs/dyn/adsense_v2.accounts.adclients.html index 6c6030c1819..e72e31b2967 100644 --- a/docs/dyn/adsense_v2.accounts.adclients.html +++ b/docs/dyn/adsense_v2.accounts.adclients.html @@ -125,7 +125,7 @@

Method Details

An object of the form: { # Representation of an ad client. An ad client represents a user's subscription with a specific AdSense product. - "name": "A String", # Resource name of the ad client. Format: accounts/{account}/adclients/{adclient} + "name": "A String", # Output only. Resource name of the ad client. Format: accounts/{account}/adclients/{adclient} "productCode": "A String", # Output only. Reporting product code of the ad client. For example, "AFC" for AdSense for Content. Corresponds to the `PRODUCT_CODE` dimension, and present only if the ad client supports reporting. "reportingDimensionId": "A String", # Output only. Unique ID of the ad client as used in the `AD_CLIENT_ID` reporting dimension. Present only if the ad client supports reporting. "state": "A String", # Output only. State of the ad client. @@ -172,7 +172,7 @@

Method Details

{ # Response definition for the ad client list rpc. "adClients": [ # The ad clients returned in this list response. { # Representation of an ad client. An ad client represents a user's subscription with a specific AdSense product. - "name": "A String", # Resource name of the ad client. Format: accounts/{account}/adclients/{adclient} + "name": "A String", # Output only. Resource name of the ad client. Format: accounts/{account}/adclients/{adclient} "productCode": "A String", # Output only. Reporting product code of the ad client. For example, "AFC" for AdSense for Content. Corresponds to the `PRODUCT_CODE` dimension, and present only if the ad client supports reporting. "reportingDimensionId": "A String", # Output only. Unique ID of the ad client as used in the `AD_CLIENT_ID` reporting dimension. Present only if the ad client supports reporting. "state": "A String", # Output only. State of the ad client. diff --git a/docs/dyn/adsense_v2.accounts.adclients.urlchannels.html b/docs/dyn/adsense_v2.accounts.adclients.urlchannels.html index abf715d7264..6e479eff049 100644 --- a/docs/dyn/adsense_v2.accounts.adclients.urlchannels.html +++ b/docs/dyn/adsense_v2.accounts.adclients.urlchannels.html @@ -107,7 +107,7 @@

Method Details

An object of the form: { # Representation of a URL channel. URL channels allow you to track the performance of particular pages in your site; see [URL channels](https://support.google.com/adsense/answer/2923836) for more information. - "name": "A String", # Resource name of the URL channel. Format: accounts/{account}/adclients/{adclient}/urlchannels/{urlchannel} + "name": "A String", # Output only. Resource name of the URL channel. Format: accounts/{account}/adclients/{adclient}/urlchannels/{urlchannel} "reportingDimensionId": "A String", # Output only. Unique ID of the custom channel as used in the `URL_CHANNEL_ID` reporting dimension. "uriPattern": "A String", # URI pattern of the channel. Does not include "http://" or "https://". Example: www.example.com/home } @@ -133,7 +133,7 @@

Method Details

"nextPageToken": "A String", # Continuation token used to page through url channels. To retrieve the next page of the results, set the next request's "page_token" value to this. "urlChannels": [ # The url channels returned in this list response. { # Representation of a URL channel. URL channels allow you to track the performance of particular pages in your site; see [URL channels](https://support.google.com/adsense/answer/2923836) for more information. - "name": "A String", # Resource name of the URL channel. Format: accounts/{account}/adclients/{adclient}/urlchannels/{urlchannel} + "name": "A String", # Output only. Resource name of the URL channel. Format: accounts/{account}/adclients/{adclient}/urlchannels/{urlchannel} "reportingDimensionId": "A String", # Output only. Unique ID of the custom channel as used in the `URL_CHANNEL_ID` reporting dimension. "uriPattern": "A String", # URI pattern of the channel. Does not include "http://" or "https://". Example: www.example.com/home }, diff --git a/docs/dyn/adsense_v2.accounts.alerts.html b/docs/dyn/adsense_v2.accounts.alerts.html index 40e6b655913..2c061d94400 100644 --- a/docs/dyn/adsense_v2.accounts.alerts.html +++ b/docs/dyn/adsense_v2.accounts.alerts.html @@ -105,7 +105,7 @@

Method Details

"alerts": [ # The alerts returned in this list response. { # Representation of an alert. "message": "A String", # Output only. The localized alert message. This may contain HTML markup, such as phrase elements or links. - "name": "A String", # Resource name of the alert. Format: accounts/{account}/alerts/{alert} + "name": "A String", # Output only. Resource name of the alert. Format: accounts/{account}/alerts/{alert} "severity": "A String", # Output only. Severity of this alert. "type": "A String", # Output only. Type of alert. This identifies the broad type of this alert, and provides a stable machine-readable identifier that will not be translated. For example, "payment-hold". }, diff --git a/docs/dyn/adsense_v2.accounts.html b/docs/dyn/adsense_v2.accounts.html index d70f5b4efeb..6d39c15585f 100644 --- a/docs/dyn/adsense_v2.accounts.html +++ b/docs/dyn/adsense_v2.accounts.html @@ -140,7 +140,7 @@

Method Details

{ # Representation of an account. "createTime": "A String", # Output only. Creation time of the account. "displayName": "A String", # Output only. Display name of this account. - "name": "A String", # Resource name of the account. Format: accounts/pub-[0-9]+ + "name": "A String", # Output only. Resource name of the account. Format: accounts/pub-[0-9]+ "pendingTasks": [ # Output only. Outstanding tasks that need to be completed as part of the sign-up process for a new account. e.g. "billing-profile-creation", "phone-pin-verification". "A String", ], @@ -173,7 +173,7 @@

Method Details

{ # Representation of an account. "createTime": "A String", # Output only. Creation time of the account. "displayName": "A String", # Output only. Display name of this account. - "name": "A String", # Resource name of the account. Format: accounts/pub-[0-9]+ + "name": "A String", # Output only. Resource name of the account. Format: accounts/pub-[0-9]+ "pendingTasks": [ # Output only. Outstanding tasks that need to be completed as part of the sign-up process for a new account. e.g. "billing-profile-creation", "phone-pin-verification". "A String", ], @@ -210,7 +210,7 @@

Method Details

{ # Representation of an account. "createTime": "A String", # Output only. Creation time of the account. "displayName": "A String", # Output only. Display name of this account. - "name": "A String", # Resource name of the account. Format: accounts/pub-[0-9]+ + "name": "A String", # Output only. Resource name of the account. Format: accounts/pub-[0-9]+ "pendingTasks": [ # Output only. Outstanding tasks that need to be completed as part of the sign-up process for a new account. e.g. "billing-profile-creation", "phone-pin-verification". "A String", ], diff --git a/docs/dyn/adsense_v2.accounts.payments.html b/docs/dyn/adsense_v2.accounts.payments.html index 8beee4dd1c4..b9d329cc17f 100644 --- a/docs/dyn/adsense_v2.accounts.payments.html +++ b/docs/dyn/adsense_v2.accounts.payments.html @@ -109,7 +109,7 @@

Method Details

"month": 42, # Month of a year. Must be from 1 to 12, or 0 to specify a year without a month and day. "year": 42, # Year of the date. Must be from 1 to 9999, or 0 to specify a date without a year. }, - "name": "A String", # Resource name of the payment. Format: - accounts/{account}/payments/unpaid for unpaid (current) AdSense earnings. - accounts/{account}/payments/youtube-unpaid for unpaid (current) YouTube earnings. - accounts/{account}/payments/yyyy-MM-dd for paid AdSense earnings. - accounts/{account}/payments/youtube-yyyy-MM-dd for paid YouTube earnings. + "name": "A String", # Output only. Resource name of the payment. Format: - accounts/{account}/payments/unpaid for unpaid (current) AdSense earnings. - accounts/{account}/payments/youtube-unpaid for unpaid (current) YouTube earnings. - accounts/{account}/payments/yyyy-MM-dd for paid AdSense earnings. - accounts/{account}/payments/youtube-yyyy-MM-dd for paid YouTube earnings. }, ], } diff --git a/docs/dyn/adsense_v2.accounts.reports.html b/docs/dyn/adsense_v2.accounts.reports.html index 92404cefec2..c53e8bac24c 100644 --- a/docs/dyn/adsense_v2.accounts.reports.html +++ b/docs/dyn/adsense_v2.accounts.reports.html @@ -417,7 +417,7 @@

Method Details

An object of the form: { # Representation of a saved report. - "name": "A String", # Resource name of the report. Format: accounts/{account}/reports/{report} + "name": "A String", # Output only. Resource name of the report. Format: accounts/{account}/reports/{report} "title": "A String", # Report title as specified by publisher. } diff --git a/docs/dyn/adsense_v2.accounts.reports.saved.html b/docs/dyn/adsense_v2.accounts.reports.saved.html index 60321e3b979..1d12947f297 100644 --- a/docs/dyn/adsense_v2.accounts.reports.saved.html +++ b/docs/dyn/adsense_v2.accounts.reports.saved.html @@ -248,7 +248,7 @@

Method Details

"nextPageToken": "A String", # Continuation token used to page through reports. To retrieve the next page of the results, set the next request's "page_token" value to this. "savedReports": [ # The reports returned in this list response. { # Representation of a saved report. - "name": "A String", # Resource name of the report. Format: accounts/{account}/reports/{report} + "name": "A String", # Output only. Resource name of the report. Format: accounts/{account}/reports/{report} "title": "A String", # Report title as specified by publisher. }, ], diff --git a/docs/dyn/adsense_v2.accounts.sites.html b/docs/dyn/adsense_v2.accounts.sites.html index 1a3e936d07f..1b2bb2943b4 100644 --- a/docs/dyn/adsense_v2.accounts.sites.html +++ b/docs/dyn/adsense_v2.accounts.sites.html @@ -109,7 +109,7 @@

Method Details

{ # Representation of a Site. "autoAdsEnabled": True or False, # Whether auto ads is turned on for the site. "domain": "A String", # Domain (or subdomain) of the site, e.g. "example.com" or "www.example.com". This is used in the `OWNED_SITE_DOMAIN_NAME` reporting dimension. - "name": "A String", # Resource name of a site. Format: accounts/{account}/sites/{site} + "name": "A String", # Output only. Resource name of a site. Format: accounts/{account}/sites/{site} "reportingDimensionId": "A String", # Output only. Unique ID of the site as used in the `OWNED_SITE_ID` reporting dimension. "state": "A String", # Output only. State of a site. } @@ -137,7 +137,7 @@

Method Details

{ # Representation of a Site. "autoAdsEnabled": True or False, # Whether auto ads is turned on for the site. "domain": "A String", # Domain (or subdomain) of the site, e.g. "example.com" or "www.example.com". This is used in the `OWNED_SITE_DOMAIN_NAME` reporting dimension. - "name": "A String", # Resource name of a site. Format: accounts/{account}/sites/{site} + "name": "A String", # Output only. Resource name of a site. Format: accounts/{account}/sites/{site} "reportingDimensionId": "A String", # Output only. Unique ID of the site as used in the `OWNED_SITE_ID` reporting dimension. "state": "A String", # Output only. State of a site. }, diff --git a/docs/dyn/analyticsadmin_v1alpha.properties.audiences.html b/docs/dyn/analyticsadmin_v1alpha.properties.audiences.html new file mode 100644 index 00000000000..e1910947ebe --- /dev/null +++ b/docs/dyn/analyticsadmin_v1alpha.properties.audiences.html @@ -0,0 +1,1008 @@ + + + +

Google Analytics Admin API . properties . audiences

+

Instance Methods

+

+ archive(name, body=None, x__xgafv=None)

+

Archives an Audience on a property.

+

+ close()

+

Close httplib2 connections.

+

+ create(parent, body=None, x__xgafv=None)

+

Creates an Audience.

+

+ get(name, x__xgafv=None)

+

Lookup for a single Audience. Audiences created before 2020 may not be supported.

+

+ list(parent, pageSize=None, pageToken=None, x__xgafv=None)

+

Lists Audiences on a property. Audiences created before 2020 may not be supported.

+

+ list_next()

+

Retrieves the next page of results.

+

+ patch(name, body=None, updateMask=None, x__xgafv=None)

+

Updates an Audience on a property.

+

Method Details

+
+ archive(name, body=None, x__xgafv=None) +
Archives an Audience on a property.
+
+Args:
+  name: string, Required. Example format: properties/1234/audiences/5678 (required)
+  body: object, The request body.
+    The object takes the form of:
+
+{ # Request message for ArchiveAudience RPC.
+}
+
+  x__xgafv: string, V1 error format.
+    Allowed values
+      1 - v1 error format
+      2 - v2 error format
+
+Returns:
+  An object of the form:
+
+    { # A generic empty message that you can re-use to avoid defining duplicated empty messages in your APIs. A typical example is to use it as the request or the response type of an API method. For instance: service Foo { rpc Bar(google.protobuf.Empty) returns (google.protobuf.Empty); }
+}
+
+ +
+ close() +
Close httplib2 connections.
+
+ +
+ create(parent, body=None, x__xgafv=None) +
Creates an Audience.
+
+Args:
+  parent: string, Required. Example format: properties/1234 (required)
+  body: object, The request body.
+    The object takes the form of:
+
+{ # A resource message representing a GA4 Audience.
+  "adsPersonalizationEnabled": True or False, # Output only. It is automatically set by GA to false if this is an NPA Audience and is excluded from ads personalization.
+  "description": "A String", # Required. The description of the Audience.
+  "displayName": "A String", # Required. The display name of the Audience.
+  "eventTrigger": { # Specifies an event to log when a user joins the Audience. # Optional. Specifies an event to log when a user joins the Audience. If not set, no event is logged when a user joins the Audience.
+    "eventName": "A String", # Required. The event name that will be logged.
+    "logCondition": "A String", # Required. When to log the event.
+  },
+  "exclusionDurationMode": "A String", # Immutable. Specifies how long an exclusion lasts for users that meet the exclusion filter. It is applied to all EXCLUDE filter clauses and is ignored when there is no EXCLUDE filter clause in the Audience.
+  "filterClauses": [ # Required. Immutable. null Filter clauses that define the Audience. All clauses will be AND’ed together.
+    { # A clause for defining either a simple or sequence filter. A filter can be inclusive (i.e., users satisfying the filter clause are included in the Audience) or exclusive (i.e., users satisfying the filter clause are excluded from the Audience).
+      "clauseType": "A String", # Required. Specifies whether this is an include or exclude filter clause.
+      "sequenceFilter": { # Defines filters that must occur in a specific order for the user to be a member of the Audience. # Filters that must occur in a specific order for the user to be a member of the Audience.
+        "scope": "A String", # Required. Immutable. Specifies the scope for this filter.
+        "sequenceMaximumDuration": "A String", # Optional. Defines the time period in which the whole sequence must occur.
+        "sequenceSteps": [ # Required. An ordered sequence of steps. A user must complete each step in order to join the sequence filter.
+          { # A condition that must occur in the specified step order for this user to match the sequence.
+            "constraintDuration": "A String", # Optional. When set, this step must be satisfied within the constraint_duration of the previous step (i.e., t[i] - t[i-1] <= constraint_duration). If not set, there is no duration requirement (the duration is effectively unlimited). It is ignored for the first step.
+            "filterExpression": { # A logical expression of Audience dimension, metric, or event filters. # Required. Immutable. A logical expression of Audience dimension, metric, or event filters in each step.
+              "andGroup": { # A list of Audience filter expressions. # A list of expressions to be AND’ed together. It can only contain AudienceFilterExpressions with or_group. This must be set for the top level AudienceFilterExpression.
+                "filterExpressions": [ # A list of Audience filter expressions.
+                  # Object with schema name: GoogleAnalyticsAdminV1alphaAudienceFilterExpression
+                ],
+              },
+              "dimensionOrMetricFilter": { # A specific filter for a single dimension or metric. # A filter on a single dimension or metric. This cannot be set on the top level AudienceFilterExpression.
+                "atAnyPointInTime": True or False, # Optional. Indicates whether this filter needs dynamic evaluation or not. If set to true, users join the Audience if they ever met the condition (static evaluation). If unset or set to false, user evaluation for an Audience is dynamic; users are added to an Audience when they meet the conditions and then removed when they no longer meet them. This can only be set when Audience scope is ACROSS_ALL_SESSIONS.
+                "betweenFilter": { # A filter for numeric or date values between certain values on a dimension or metric. # A filter for numeric or date values between certain values on a dimension or metric.
+                  "fromValue": { # To represent a number. # Required. Begins with this number, inclusive.
+                    "doubleValue": 3.14, # Double value.
+                    "int64Value": "A String", # Integer value.
+                  },
+                  "toValue": { # To represent a number. # Required. Ends with this number, inclusive.
+                    "doubleValue": 3.14, # Double value.
+                    "int64Value": "A String", # Integer value.
+                  },
+                },
+                "fieldName": "A String", # Required. Immutable. The dimension name or metric name to filter.
+                "inAnyNDayPeriod": 42, # Optional. If set, specifies the time window for which to evaluate data in number of days. If not set, then audience data is evaluated against lifetime data (i.e., infinite time window). For example, if set to 1 day, only the current day's data is evaluated. The reference point is the current day when at_any_point_in_time is unset or false. It can only be set when Audience scope is ACROSS_ALL_SESSIONS and cannot be greater than 60 days.
+                "inListFilter": { # A filter for a string dimension that matches a particular list of options. # A filter for a string dimension that matches a particular list of options.
+                  "caseSensitive": True or False, # Optional. If true, the match is case-sensitive. If false, the match is case-insensitive.
+                  "values": [ # Required. The list of possible string values to match against. Must be non-empty.
+                    "A String",
+                  ],
+                },
+                "numericFilter": { # A filter for numeric or date values on a dimension or metric. # A filter for numeric or date values on a dimension or metric.
+                  "operation": "A String", # Required. The operation applied to a numeric filter.
+                  "value": { # To represent a number. # Required. The numeric or date value to match against.
+                    "doubleValue": 3.14, # Double value.
+                    "int64Value": "A String", # Integer value.
+                  },
+                },
+                "stringFilter": { # A filter for a string-type dimension that matches a particular pattern. # A filter for a string-type dimension that matches a particular pattern.
+                  "caseSensitive": True or False, # Optional. If true, the match is case-sensitive. If false, the match is case-insensitive.
+                  "matchType": "A String", # Required. The match type for the string filter.
+                  "value": "A String", # Required. The string value to be matched against.
+                },
+              },
+              "eventFilter": { # A filter that matches events of a single event name. If an event parameter is specified, only the subset of events that match both the single event name and the parameter filter expressions match this event filter. # Creates a filter that matches a specific event. This cannot be set on the top level AudienceFilterExpression.
+                "eventName": "A String", # Required. Immutable. The name of the event to match against.
+                "eventParameterFilterExpression": # Object with schema name: GoogleAnalyticsAdminV1alphaAudienceFilterExpression # Optional. If specified, this filter matches events that match both the single event name and the parameter filter expressions. AudienceEventFilter inside the parameter filter expression cannot be set (i.e., nested event filters are not supported). This should be a single and_group of dimension_or_metric_filter or not_expression; ANDs of ORs are not supported. Also, if it includes a filter for "eventCount", only that one will be considered; all the other filters will be ignored.
+              },
+              "notExpression": # Object with schema name: GoogleAnalyticsAdminV1alphaAudienceFilterExpression # A filter expression to be NOT'ed (i.e., inverted, complemented). It can only include a dimension_or_metric_filter. This cannot be set on the top level AudienceFilterExpression.
+              "orGroup": { # A list of Audience filter expressions. # A list of expressions to OR’ed together. It cannot contain AudienceFilterExpressions with and_group or or_group.
+                "filterExpressions": [ # A list of Audience filter expressions.
+                  # Object with schema name: GoogleAnalyticsAdminV1alphaAudienceFilterExpression
+                ],
+              },
+            },
+            "immediatelyFollows": True or False, # Optional. If true, the event satisfying this step must be the very next event after the event satisfying the last step. If unset or false, this step indirectly follows the prior step; for example, there may be events between the prior step and this step. It is ignored for the first step.
+            "scope": "A String", # Required. Immutable. Specifies the scope for this step.
+          },
+        ],
+      },
+      "simpleFilter": { # Defines a simple filter that a user must satisfy to be a member of the Audience. # A simple filter that a user must satisfy to be a member of the Audience.
+        "filterExpression": { # A logical expression of Audience dimension, metric, or event filters. # Required. Immutable. A logical expression of Audience dimension, metric, or event filters.
+          "andGroup": { # A list of Audience filter expressions. # A list of expressions to be AND’ed together. It can only contain AudienceFilterExpressions with or_group. This must be set for the top level AudienceFilterExpression.
+            "filterExpressions": [ # A list of Audience filter expressions.
+              # Object with schema name: GoogleAnalyticsAdminV1alphaAudienceFilterExpression
+            ],
+          },
+          "dimensionOrMetricFilter": { # A specific filter for a single dimension or metric. # A filter on a single dimension or metric. This cannot be set on the top level AudienceFilterExpression.
+            "atAnyPointInTime": True or False, # Optional. Indicates whether this filter needs dynamic evaluation or not. If set to true, users join the Audience if they ever met the condition (static evaluation). If unset or set to false, user evaluation for an Audience is dynamic; users are added to an Audience when they meet the conditions and then removed when they no longer meet them. This can only be set when Audience scope is ACROSS_ALL_SESSIONS.
+            "betweenFilter": { # A filter for numeric or date values between certain values on a dimension or metric. # A filter for numeric or date values between certain values on a dimension or metric.
+              "fromValue": { # To represent a number. # Required. Begins with this number, inclusive.
+                "doubleValue": 3.14, # Double value.
+                "int64Value": "A String", # Integer value.
+              },
+              "toValue": { # To represent a number. # Required. Ends with this number, inclusive.
+                "doubleValue": 3.14, # Double value.
+                "int64Value": "A String", # Integer value.
+              },
+            },
+            "fieldName": "A String", # Required. Immutable. The dimension name or metric name to filter.
+            "inAnyNDayPeriod": 42, # Optional. If set, specifies the time window for which to evaluate data in number of days. If not set, then audience data is evaluated against lifetime data (i.e., infinite time window). For example, if set to 1 day, only the current day's data is evaluated. The reference point is the current day when at_any_point_in_time is unset or false. It can only be set when Audience scope is ACROSS_ALL_SESSIONS and cannot be greater than 60 days.
+            "inListFilter": { # A filter for a string dimension that matches a particular list of options. # A filter for a string dimension that matches a particular list of options.
+              "caseSensitive": True or False, # Optional. If true, the match is case-sensitive. If false, the match is case-insensitive.
+              "values": [ # Required. The list of possible string values to match against. Must be non-empty.
+                "A String",
+              ],
+            },
+            "numericFilter": { # A filter for numeric or date values on a dimension or metric. # A filter for numeric or date values on a dimension or metric.
+              "operation": "A String", # Required. The operation applied to a numeric filter.
+              "value": { # To represent a number. # Required. The numeric or date value to match against.
+                "doubleValue": 3.14, # Double value.
+                "int64Value": "A String", # Integer value.
+              },
+            },
+            "stringFilter": { # A filter for a string-type dimension that matches a particular pattern. # A filter for a string-type dimension that matches a particular pattern.
+              "caseSensitive": True or False, # Optional. If true, the match is case-sensitive. If false, the match is case-insensitive.
+              "matchType": "A String", # Required. The match type for the string filter.
+              "value": "A String", # Required. The string value to be matched against.
+            },
+          },
+          "eventFilter": { # A filter that matches events of a single event name. If an event parameter is specified, only the subset of events that match both the single event name and the parameter filter expressions match this event filter. # Creates a filter that matches a specific event. This cannot be set on the top level AudienceFilterExpression.
+            "eventName": "A String", # Required. Immutable. The name of the event to match against.
+            "eventParameterFilterExpression": # Object with schema name: GoogleAnalyticsAdminV1alphaAudienceFilterExpression # Optional. If specified, this filter matches events that match both the single event name and the parameter filter expressions. AudienceEventFilter inside the parameter filter expression cannot be set (i.e., nested event filters are not supported). This should be a single and_group of dimension_or_metric_filter or not_expression; ANDs of ORs are not supported. Also, if it includes a filter for "eventCount", only that one will be considered; all the other filters will be ignored.
+          },
+          "notExpression": # Object with schema name: GoogleAnalyticsAdminV1alphaAudienceFilterExpression # A filter expression to be NOT'ed (i.e., inverted, complemented). It can only include a dimension_or_metric_filter. This cannot be set on the top level AudienceFilterExpression.
+          "orGroup": { # A list of Audience filter expressions. # A list of expressions to OR’ed together. It cannot contain AudienceFilterExpressions with and_group or or_group.
+            "filterExpressions": [ # A list of Audience filter expressions.
+              # Object with schema name: GoogleAnalyticsAdminV1alphaAudienceFilterExpression
+            ],
+          },
+        },
+        "scope": "A String", # Required. Immutable. Specifies the scope for this filter.
+      },
+    },
+  ],
+  "membershipDurationDays": 42, # Required. Immutable. The duration a user should stay in an Audience. It cannot be set to more than 540 days.
+  "name": "A String", # Output only. The resource name for this Audience resource. Format: properties/{propertyId}/audiences/{audienceId}
+}
+
+  x__xgafv: string, V1 error format.
+    Allowed values
+      1 - v1 error format
+      2 - v2 error format
+
+Returns:
+  An object of the form:
+
+    { # A resource message representing a GA4 Audience.
+  "adsPersonalizationEnabled": True or False, # Output only. It is automatically set by GA to false if this is an NPA Audience and is excluded from ads personalization.
+  "description": "A String", # Required. The description of the Audience.
+  "displayName": "A String", # Required. The display name of the Audience.
+  "eventTrigger": { # Specifies an event to log when a user joins the Audience. # Optional. Specifies an event to log when a user joins the Audience. If not set, no event is logged when a user joins the Audience.
+    "eventName": "A String", # Required. The event name that will be logged.
+    "logCondition": "A String", # Required. When to log the event.
+  },
+  "exclusionDurationMode": "A String", # Immutable. Specifies how long an exclusion lasts for users that meet the exclusion filter. It is applied to all EXCLUDE filter clauses and is ignored when there is no EXCLUDE filter clause in the Audience.
+  "filterClauses": [ # Required. Immutable. null Filter clauses that define the Audience. All clauses will be AND’ed together.
+    { # A clause for defining either a simple or sequence filter. A filter can be inclusive (i.e., users satisfying the filter clause are included in the Audience) or exclusive (i.e., users satisfying the filter clause are excluded from the Audience).
+      "clauseType": "A String", # Required. Specifies whether this is an include or exclude filter clause.
+      "sequenceFilter": { # Defines filters that must occur in a specific order for the user to be a member of the Audience. # Filters that must occur in a specific order for the user to be a member of the Audience.
+        "scope": "A String", # Required. Immutable. Specifies the scope for this filter.
+        "sequenceMaximumDuration": "A String", # Optional. Defines the time period in which the whole sequence must occur.
+        "sequenceSteps": [ # Required. An ordered sequence of steps. A user must complete each step in order to join the sequence filter.
+          { # A condition that must occur in the specified step order for this user to match the sequence.
+            "constraintDuration": "A String", # Optional. When set, this step must be satisfied within the constraint_duration of the previous step (i.e., t[i] - t[i-1] <= constraint_duration). If not set, there is no duration requirement (the duration is effectively unlimited). It is ignored for the first step.
+            "filterExpression": { # A logical expression of Audience dimension, metric, or event filters. # Required. Immutable. A logical expression of Audience dimension, metric, or event filters in each step.
+              "andGroup": { # A list of Audience filter expressions. # A list of expressions to be AND’ed together. It can only contain AudienceFilterExpressions with or_group. This must be set for the top level AudienceFilterExpression.
+                "filterExpressions": [ # A list of Audience filter expressions.
+                  # Object with schema name: GoogleAnalyticsAdminV1alphaAudienceFilterExpression
+                ],
+              },
+              "dimensionOrMetricFilter": { # A specific filter for a single dimension or metric. # A filter on a single dimension or metric. This cannot be set on the top level AudienceFilterExpression.
+                "atAnyPointInTime": True or False, # Optional. Indicates whether this filter needs dynamic evaluation or not. If set to true, users join the Audience if they ever met the condition (static evaluation). If unset or set to false, user evaluation for an Audience is dynamic; users are added to an Audience when they meet the conditions and then removed when they no longer meet them. This can only be set when Audience scope is ACROSS_ALL_SESSIONS.
+                "betweenFilter": { # A filter for numeric or date values between certain values on a dimension or metric. # A filter for numeric or date values between certain values on a dimension or metric.
+                  "fromValue": { # To represent a number. # Required. Begins with this number, inclusive.
+                    "doubleValue": 3.14, # Double value.
+                    "int64Value": "A String", # Integer value.
+                  },
+                  "toValue": { # To represent a number. # Required. Ends with this number, inclusive.
+                    "doubleValue": 3.14, # Double value.
+                    "int64Value": "A String", # Integer value.
+                  },
+                },
+                "fieldName": "A String", # Required. Immutable. The dimension name or metric name to filter.
+                "inAnyNDayPeriod": 42, # Optional. If set, specifies the time window for which to evaluate data in number of days. If not set, then audience data is evaluated against lifetime data (i.e., infinite time window). For example, if set to 1 day, only the current day's data is evaluated. The reference point is the current day when at_any_point_in_time is unset or false. It can only be set when Audience scope is ACROSS_ALL_SESSIONS and cannot be greater than 60 days.
+                "inListFilter": { # A filter for a string dimension that matches a particular list of options. # A filter for a string dimension that matches a particular list of options.
+                  "caseSensitive": True or False, # Optional. If true, the match is case-sensitive. If false, the match is case-insensitive.
+                  "values": [ # Required. The list of possible string values to match against. Must be non-empty.
+                    "A String",
+                  ],
+                },
+                "numericFilter": { # A filter for numeric or date values on a dimension or metric. # A filter for numeric or date values on a dimension or metric.
+                  "operation": "A String", # Required. The operation applied to a numeric filter.
+                  "value": { # To represent a number. # Required. The numeric or date value to match against.
+                    "doubleValue": 3.14, # Double value.
+                    "int64Value": "A String", # Integer value.
+                  },
+                },
+                "stringFilter": { # A filter for a string-type dimension that matches a particular pattern. # A filter for a string-type dimension that matches a particular pattern.
+                  "caseSensitive": True or False, # Optional. If true, the match is case-sensitive. If false, the match is case-insensitive.
+                  "matchType": "A String", # Required. The match type for the string filter.
+                  "value": "A String", # Required. The string value to be matched against.
+                },
+              },
+              "eventFilter": { # A filter that matches events of a single event name. If an event parameter is specified, only the subset of events that match both the single event name and the parameter filter expressions match this event filter. # Creates a filter that matches a specific event. This cannot be set on the top level AudienceFilterExpression.
+                "eventName": "A String", # Required. Immutable. The name of the event to match against.
+                "eventParameterFilterExpression": # Object with schema name: GoogleAnalyticsAdminV1alphaAudienceFilterExpression # Optional. If specified, this filter matches events that match both the single event name and the parameter filter expressions. AudienceEventFilter inside the parameter filter expression cannot be set (i.e., nested event filters are not supported). This should be a single and_group of dimension_or_metric_filter or not_expression; ANDs of ORs are not supported. Also, if it includes a filter for "eventCount", only that one will be considered; all the other filters will be ignored.
+              },
+              "notExpression": # Object with schema name: GoogleAnalyticsAdminV1alphaAudienceFilterExpression # A filter expression to be NOT'ed (i.e., inverted, complemented). It can only include a dimension_or_metric_filter. This cannot be set on the top level AudienceFilterExpression.
+              "orGroup": { # A list of Audience filter expressions. # A list of expressions to OR’ed together. It cannot contain AudienceFilterExpressions with and_group or or_group.
+                "filterExpressions": [ # A list of Audience filter expressions.
+                  # Object with schema name: GoogleAnalyticsAdminV1alphaAudienceFilterExpression
+                ],
+              },
+            },
+            "immediatelyFollows": True or False, # Optional. If true, the event satisfying this step must be the very next event after the event satisfying the last step. If unset or false, this step indirectly follows the prior step; for example, there may be events between the prior step and this step. It is ignored for the first step.
+            "scope": "A String", # Required. Immutable. Specifies the scope for this step.
+          },
+        ],
+      },
+      "simpleFilter": { # Defines a simple filter that a user must satisfy to be a member of the Audience. # A simple filter that a user must satisfy to be a member of the Audience.
+        "filterExpression": { # A logical expression of Audience dimension, metric, or event filters. # Required. Immutable. A logical expression of Audience dimension, metric, or event filters.
+          "andGroup": { # A list of Audience filter expressions. # A list of expressions to be AND’ed together. It can only contain AudienceFilterExpressions with or_group. This must be set for the top level AudienceFilterExpression.
+            "filterExpressions": [ # A list of Audience filter expressions.
+              # Object with schema name: GoogleAnalyticsAdminV1alphaAudienceFilterExpression
+            ],
+          },
+          "dimensionOrMetricFilter": { # A specific filter for a single dimension or metric. # A filter on a single dimension or metric. This cannot be set on the top level AudienceFilterExpression.
+            "atAnyPointInTime": True or False, # Optional. Indicates whether this filter needs dynamic evaluation or not. If set to true, users join the Audience if they ever met the condition (static evaluation). If unset or set to false, user evaluation for an Audience is dynamic; users are added to an Audience when they meet the conditions and then removed when they no longer meet them. This can only be set when Audience scope is ACROSS_ALL_SESSIONS.
+            "betweenFilter": { # A filter for numeric or date values between certain values on a dimension or metric. # A filter for numeric or date values between certain values on a dimension or metric.
+              "fromValue": { # To represent a number. # Required. Begins with this number, inclusive.
+                "doubleValue": 3.14, # Double value.
+                "int64Value": "A String", # Integer value.
+              },
+              "toValue": { # To represent a number. # Required. Ends with this number, inclusive.
+                "doubleValue": 3.14, # Double value.
+                "int64Value": "A String", # Integer value.
+              },
+            },
+            "fieldName": "A String", # Required. Immutable. The dimension name or metric name to filter.
+            "inAnyNDayPeriod": 42, # Optional. If set, specifies the time window for which to evaluate data in number of days. If not set, then audience data is evaluated against lifetime data (i.e., infinite time window). For example, if set to 1 day, only the current day's data is evaluated. The reference point is the current day when at_any_point_in_time is unset or false. It can only be set when Audience scope is ACROSS_ALL_SESSIONS and cannot be greater than 60 days.
+            "inListFilter": { # A filter for a string dimension that matches a particular list of options. # A filter for a string dimension that matches a particular list of options.
+              "caseSensitive": True or False, # Optional. If true, the match is case-sensitive. If false, the match is case-insensitive.
+              "values": [ # Required. The list of possible string values to match against. Must be non-empty.
+                "A String",
+              ],
+            },
+            "numericFilter": { # A filter for numeric or date values on a dimension or metric. # A filter for numeric or date values on a dimension or metric.
+              "operation": "A String", # Required. The operation applied to a numeric filter.
+              "value": { # To represent a number. # Required. The numeric or date value to match against.
+                "doubleValue": 3.14, # Double value.
+                "int64Value": "A String", # Integer value.
+              },
+            },
+            "stringFilter": { # A filter for a string-type dimension that matches a particular pattern. # A filter for a string-type dimension that matches a particular pattern.
+              "caseSensitive": True or False, # Optional. If true, the match is case-sensitive. If false, the match is case-insensitive.
+              "matchType": "A String", # Required. The match type for the string filter.
+              "value": "A String", # Required. The string value to be matched against.
+            },
+          },
+          "eventFilter": { # A filter that matches events of a single event name. If an event parameter is specified, only the subset of events that match both the single event name and the parameter filter expressions match this event filter. # Creates a filter that matches a specific event. This cannot be set on the top level AudienceFilterExpression.
+            "eventName": "A String", # Required. Immutable. The name of the event to match against.
+            "eventParameterFilterExpression": # Object with schema name: GoogleAnalyticsAdminV1alphaAudienceFilterExpression # Optional. If specified, this filter matches events that match both the single event name and the parameter filter expressions. AudienceEventFilter inside the parameter filter expression cannot be set (i.e., nested event filters are not supported). This should be a single and_group of dimension_or_metric_filter or not_expression; ANDs of ORs are not supported. Also, if it includes a filter for "eventCount", only that one will be considered; all the other filters will be ignored.
+          },
+          "notExpression": # Object with schema name: GoogleAnalyticsAdminV1alphaAudienceFilterExpression # A filter expression to be NOT'ed (i.e., inverted, complemented). It can only include a dimension_or_metric_filter. This cannot be set on the top level AudienceFilterExpression.
+          "orGroup": { # A list of Audience filter expressions. # A list of expressions to OR’ed together. It cannot contain AudienceFilterExpressions with and_group or or_group.
+            "filterExpressions": [ # A list of Audience filter expressions.
+              # Object with schema name: GoogleAnalyticsAdminV1alphaAudienceFilterExpression
+            ],
+          },
+        },
+        "scope": "A String", # Required. Immutable. Specifies the scope for this filter.
+      },
+    },
+  ],
+  "membershipDurationDays": 42, # Required. Immutable. The duration a user should stay in an Audience. It cannot be set to more than 540 days.
+  "name": "A String", # Output only. The resource name for this Audience resource. Format: properties/{propertyId}/audiences/{audienceId}
+}
+
+ +
+ get(name, x__xgafv=None) +
Lookup for a single Audience. Audiences created before 2020 may not be supported.
+
+Args:
+  name: string, Required. The name of the Audience to get. Example format: properties/1234/audiences/5678 (required)
+  x__xgafv: string, V1 error format.
+    Allowed values
+      1 - v1 error format
+      2 - v2 error format
+
+Returns:
+  An object of the form:
+
+    { # A resource message representing a GA4 Audience.
+  "adsPersonalizationEnabled": True or False, # Output only. It is automatically set by GA to false if this is an NPA Audience and is excluded from ads personalization.
+  "description": "A String", # Required. The description of the Audience.
+  "displayName": "A String", # Required. The display name of the Audience.
+  "eventTrigger": { # Specifies an event to log when a user joins the Audience. # Optional. Specifies an event to log when a user joins the Audience. If not set, no event is logged when a user joins the Audience.
+    "eventName": "A String", # Required. The event name that will be logged.
+    "logCondition": "A String", # Required. When to log the event.
+  },
+  "exclusionDurationMode": "A String", # Immutable. Specifies how long an exclusion lasts for users that meet the exclusion filter. It is applied to all EXCLUDE filter clauses and is ignored when there is no EXCLUDE filter clause in the Audience.
+  "filterClauses": [ # Required. Immutable. null Filter clauses that define the Audience. All clauses will be AND’ed together.
+    { # A clause for defining either a simple or sequence filter. A filter can be inclusive (i.e., users satisfying the filter clause are included in the Audience) or exclusive (i.e., users satisfying the filter clause are excluded from the Audience).
+      "clauseType": "A String", # Required. Specifies whether this is an include or exclude filter clause.
+      "sequenceFilter": { # Defines filters that must occur in a specific order for the user to be a member of the Audience. # Filters that must occur in a specific order for the user to be a member of the Audience.
+        "scope": "A String", # Required. Immutable. Specifies the scope for this filter.
+        "sequenceMaximumDuration": "A String", # Optional. Defines the time period in which the whole sequence must occur.
+        "sequenceSteps": [ # Required. An ordered sequence of steps. A user must complete each step in order to join the sequence filter.
+          { # A condition that must occur in the specified step order for this user to match the sequence.
+            "constraintDuration": "A String", # Optional. When set, this step must be satisfied within the constraint_duration of the previous step (i.e., t[i] - t[i-1] <= constraint_duration). If not set, there is no duration requirement (the duration is effectively unlimited). It is ignored for the first step.
+            "filterExpression": { # A logical expression of Audience dimension, metric, or event filters. # Required. Immutable. A logical expression of Audience dimension, metric, or event filters in each step.
+              "andGroup": { # A list of Audience filter expressions. # A list of expressions to be AND’ed together. It can only contain AudienceFilterExpressions with or_group. This must be set for the top level AudienceFilterExpression.
+                "filterExpressions": [ # A list of Audience filter expressions.
+                  # Object with schema name: GoogleAnalyticsAdminV1alphaAudienceFilterExpression
+                ],
+              },
+              "dimensionOrMetricFilter": { # A specific filter for a single dimension or metric. # A filter on a single dimension or metric. This cannot be set on the top level AudienceFilterExpression.
+                "atAnyPointInTime": True or False, # Optional. Indicates whether this filter needs dynamic evaluation or not. If set to true, users join the Audience if they ever met the condition (static evaluation). If unset or set to false, user evaluation for an Audience is dynamic; users are added to an Audience when they meet the conditions and then removed when they no longer meet them. This can only be set when Audience scope is ACROSS_ALL_SESSIONS.
+                "betweenFilter": { # A filter for numeric or date values between certain values on a dimension or metric. # A filter for numeric or date values between certain values on a dimension or metric.
+                  "fromValue": { # To represent a number. # Required. Begins with this number, inclusive.
+                    "doubleValue": 3.14, # Double value.
+                    "int64Value": "A String", # Integer value.
+                  },
+                  "toValue": { # To represent a number. # Required. Ends with this number, inclusive.
+                    "doubleValue": 3.14, # Double value.
+                    "int64Value": "A String", # Integer value.
+                  },
+                },
+                "fieldName": "A String", # Required. Immutable. The dimension name or metric name to filter.
+                "inAnyNDayPeriod": 42, # Optional. If set, specifies the time window for which to evaluate data in number of days. If not set, then audience data is evaluated against lifetime data (i.e., infinite time window). For example, if set to 1 day, only the current day's data is evaluated. The reference point is the current day when at_any_point_in_time is unset or false. It can only be set when Audience scope is ACROSS_ALL_SESSIONS and cannot be greater than 60 days.
+                "inListFilter": { # A filter for a string dimension that matches a particular list of options. # A filter for a string dimension that matches a particular list of options.
+                  "caseSensitive": True or False, # Optional. If true, the match is case-sensitive. If false, the match is case-insensitive.
+                  "values": [ # Required. The list of possible string values to match against. Must be non-empty.
+                    "A String",
+                  ],
+                },
+                "numericFilter": { # A filter for numeric or date values on a dimension or metric. # A filter for numeric or date values on a dimension or metric.
+                  "operation": "A String", # Required. The operation applied to a numeric filter.
+                  "value": { # To represent a number. # Required. The numeric or date value to match against.
+                    "doubleValue": 3.14, # Double value.
+                    "int64Value": "A String", # Integer value.
+                  },
+                },
+                "stringFilter": { # A filter for a string-type dimension that matches a particular pattern. # A filter for a string-type dimension that matches a particular pattern.
+                  "caseSensitive": True or False, # Optional. If true, the match is case-sensitive. If false, the match is case-insensitive.
+                  "matchType": "A String", # Required. The match type for the string filter.
+                  "value": "A String", # Required. The string value to be matched against.
+                },
+              },
+              "eventFilter": { # A filter that matches events of a single event name. If an event parameter is specified, only the subset of events that match both the single event name and the parameter filter expressions match this event filter. # Creates a filter that matches a specific event. This cannot be set on the top level AudienceFilterExpression.
+                "eventName": "A String", # Required. Immutable. The name of the event to match against.
+                "eventParameterFilterExpression": # Object with schema name: GoogleAnalyticsAdminV1alphaAudienceFilterExpression # Optional. If specified, this filter matches events that match both the single event name and the parameter filter expressions. AudienceEventFilter inside the parameter filter expression cannot be set (i.e., nested event filters are not supported). This should be a single and_group of dimension_or_metric_filter or not_expression; ANDs of ORs are not supported. Also, if it includes a filter for "eventCount", only that one will be considered; all the other filters will be ignored.
+              },
+              "notExpression": # Object with schema name: GoogleAnalyticsAdminV1alphaAudienceFilterExpression # A filter expression to be NOT'ed (i.e., inverted, complemented). It can only include a dimension_or_metric_filter. This cannot be set on the top level AudienceFilterExpression.
+              "orGroup": { # A list of Audience filter expressions. # A list of expressions to OR’ed together. It cannot contain AudienceFilterExpressions with and_group or or_group.
+                "filterExpressions": [ # A list of Audience filter expressions.
+                  # Object with schema name: GoogleAnalyticsAdminV1alphaAudienceFilterExpression
+                ],
+              },
+            },
+            "immediatelyFollows": True or False, # Optional. If true, the event satisfying this step must be the very next event after the event satisfying the last step. If unset or false, this step indirectly follows the prior step; for example, there may be events between the prior step and this step. It is ignored for the first step.
+            "scope": "A String", # Required. Immutable. Specifies the scope for this step.
+          },
+        ],
+      },
+      "simpleFilter": { # Defines a simple filter that a user must satisfy to be a member of the Audience. # A simple filter that a user must satisfy to be a member of the Audience.
+        "filterExpression": { # A logical expression of Audience dimension, metric, or event filters. # Required. Immutable. A logical expression of Audience dimension, metric, or event filters.
+          "andGroup": { # A list of Audience filter expressions. # A list of expressions to be AND’ed together. It can only contain AudienceFilterExpressions with or_group. This must be set for the top level AudienceFilterExpression.
+            "filterExpressions": [ # A list of Audience filter expressions.
+              # Object with schema name: GoogleAnalyticsAdminV1alphaAudienceFilterExpression
+            ],
+          },
+          "dimensionOrMetricFilter": { # A specific filter for a single dimension or metric. # A filter on a single dimension or metric. This cannot be set on the top level AudienceFilterExpression.
+            "atAnyPointInTime": True or False, # Optional. Indicates whether this filter needs dynamic evaluation or not. If set to true, users join the Audience if they ever met the condition (static evaluation). If unset or set to false, user evaluation for an Audience is dynamic; users are added to an Audience when they meet the conditions and then removed when they no longer meet them. This can only be set when Audience scope is ACROSS_ALL_SESSIONS.
+            "betweenFilter": { # A filter for numeric or date values between certain values on a dimension or metric. # A filter for numeric or date values between certain values on a dimension or metric.
+              "fromValue": { # To represent a number. # Required. Begins with this number, inclusive.
+                "doubleValue": 3.14, # Double value.
+                "int64Value": "A String", # Integer value.
+              },
+              "toValue": { # To represent a number. # Required. Ends with this number, inclusive.
+                "doubleValue": 3.14, # Double value.
+                "int64Value": "A String", # Integer value.
+              },
+            },
+            "fieldName": "A String", # Required. Immutable. The dimension name or metric name to filter.
+            "inAnyNDayPeriod": 42, # Optional. If set, specifies the time window for which to evaluate data in number of days. If not set, then audience data is evaluated against lifetime data (i.e., infinite time window). For example, if set to 1 day, only the current day's data is evaluated. The reference point is the current day when at_any_point_in_time is unset or false. It can only be set when Audience scope is ACROSS_ALL_SESSIONS and cannot be greater than 60 days.
+            "inListFilter": { # A filter for a string dimension that matches a particular list of options. # A filter for a string dimension that matches a particular list of options.
+              "caseSensitive": True or False, # Optional. If true, the match is case-sensitive. If false, the match is case-insensitive.
+              "values": [ # Required. The list of possible string values to match against. Must be non-empty.
+                "A String",
+              ],
+            },
+            "numericFilter": { # A filter for numeric or date values on a dimension or metric. # A filter for numeric or date values on a dimension or metric.
+              "operation": "A String", # Required. The operation applied to a numeric filter.
+              "value": { # To represent a number. # Required. The numeric or date value to match against.
+                "doubleValue": 3.14, # Double value.
+                "int64Value": "A String", # Integer value.
+              },
+            },
+            "stringFilter": { # A filter for a string-type dimension that matches a particular pattern. # A filter for a string-type dimension that matches a particular pattern.
+              "caseSensitive": True or False, # Optional. If true, the match is case-sensitive. If false, the match is case-insensitive.
+              "matchType": "A String", # Required. The match type for the string filter.
+              "value": "A String", # Required. The string value to be matched against.
+            },
+          },
+          "eventFilter": { # A filter that matches events of a single event name. If an event parameter is specified, only the subset of events that match both the single event name and the parameter filter expressions match this event filter. # Creates a filter that matches a specific event. This cannot be set on the top level AudienceFilterExpression.
+            "eventName": "A String", # Required. Immutable. The name of the event to match against.
+            "eventParameterFilterExpression": # Object with schema name: GoogleAnalyticsAdminV1alphaAudienceFilterExpression # Optional. If specified, this filter matches events that match both the single event name and the parameter filter expressions. AudienceEventFilter inside the parameter filter expression cannot be set (i.e., nested event filters are not supported). This should be a single and_group of dimension_or_metric_filter or not_expression; ANDs of ORs are not supported. Also, if it includes a filter for "eventCount", only that one will be considered; all the other filters will be ignored.
+          },
+          "notExpression": # Object with schema name: GoogleAnalyticsAdminV1alphaAudienceFilterExpression # A filter expression to be NOT'ed (i.e., inverted, complemented). It can only include a dimension_or_metric_filter. This cannot be set on the top level AudienceFilterExpression.
+          "orGroup": { # A list of Audience filter expressions. # A list of expressions to OR’ed together. It cannot contain AudienceFilterExpressions with and_group or or_group.
+            "filterExpressions": [ # A list of Audience filter expressions.
+              # Object with schema name: GoogleAnalyticsAdminV1alphaAudienceFilterExpression
+            ],
+          },
+        },
+        "scope": "A String", # Required. Immutable. Specifies the scope for this filter.
+      },
+    },
+  ],
+  "membershipDurationDays": 42, # Required. Immutable. The duration a user should stay in an Audience. It cannot be set to more than 540 days.
+  "name": "A String", # Output only. The resource name for this Audience resource. Format: properties/{propertyId}/audiences/{audienceId}
+}
+
+ +
+ list(parent, pageSize=None, pageToken=None, x__xgafv=None) +
Lists Audiences on a property. Audiences created before 2020 may not be supported.
+
+Args:
+  parent: string, Required. Example format: properties/1234 (required)
+  pageSize: integer, The maximum number of resources to return. If unspecified, at most 50 resources will be returned. The maximum value is 200 (higher values will be coerced to the maximum).
+  pageToken: string, A page token, received from a previous `ListAudiences` call. Provide this to retrieve the subsequent page. When paginating, all other parameters provided to `ListAudiences` must match the call that provided the page token.
+  x__xgafv: string, V1 error format.
+    Allowed values
+      1 - v1 error format
+      2 - v2 error format
+
+Returns:
+  An object of the form:
+
+    { # Response message for ListAudiences RPC.
+  "audiences": [ # List of Audiences.
+    { # A resource message representing a GA4 Audience.
+      "adsPersonalizationEnabled": True or False, # Output only. It is automatically set by GA to false if this is an NPA Audience and is excluded from ads personalization.
+      "description": "A String", # Required. The description of the Audience.
+      "displayName": "A String", # Required. The display name of the Audience.
+      "eventTrigger": { # Specifies an event to log when a user joins the Audience. # Optional. Specifies an event to log when a user joins the Audience. If not set, no event is logged when a user joins the Audience.
+        "eventName": "A String", # Required. The event name that will be logged.
+        "logCondition": "A String", # Required. When to log the event.
+      },
+      "exclusionDurationMode": "A String", # Immutable. Specifies how long an exclusion lasts for users that meet the exclusion filter. It is applied to all EXCLUDE filter clauses and is ignored when there is no EXCLUDE filter clause in the Audience.
+      "filterClauses": [ # Required. Immutable. null Filter clauses that define the Audience. All clauses will be AND’ed together.
+        { # A clause for defining either a simple or sequence filter. A filter can be inclusive (i.e., users satisfying the filter clause are included in the Audience) or exclusive (i.e., users satisfying the filter clause are excluded from the Audience).
+          "clauseType": "A String", # Required. Specifies whether this is an include or exclude filter clause.
+          "sequenceFilter": { # Defines filters that must occur in a specific order for the user to be a member of the Audience. # Filters that must occur in a specific order for the user to be a member of the Audience.
+            "scope": "A String", # Required. Immutable. Specifies the scope for this filter.
+            "sequenceMaximumDuration": "A String", # Optional. Defines the time period in which the whole sequence must occur.
+            "sequenceSteps": [ # Required. An ordered sequence of steps. A user must complete each step in order to join the sequence filter.
+              { # A condition that must occur in the specified step order for this user to match the sequence.
+                "constraintDuration": "A String", # Optional. When set, this step must be satisfied within the constraint_duration of the previous step (i.e., t[i] - t[i-1] <= constraint_duration). If not set, there is no duration requirement (the duration is effectively unlimited). It is ignored for the first step.
+                "filterExpression": { # A logical expression of Audience dimension, metric, or event filters. # Required. Immutable. A logical expression of Audience dimension, metric, or event filters in each step.
+                  "andGroup": { # A list of Audience filter expressions. # A list of expressions to be AND’ed together. It can only contain AudienceFilterExpressions with or_group. This must be set for the top level AudienceFilterExpression.
+                    "filterExpressions": [ # A list of Audience filter expressions.
+                      # Object with schema name: GoogleAnalyticsAdminV1alphaAudienceFilterExpression
+                    ],
+                  },
+                  "dimensionOrMetricFilter": { # A specific filter for a single dimension or metric. # A filter on a single dimension or metric. This cannot be set on the top level AudienceFilterExpression.
+                    "atAnyPointInTime": True or False, # Optional. Indicates whether this filter needs dynamic evaluation or not. If set to true, users join the Audience if they ever met the condition (static evaluation). If unset or set to false, user evaluation for an Audience is dynamic; users are added to an Audience when they meet the conditions and then removed when they no longer meet them. This can only be set when Audience scope is ACROSS_ALL_SESSIONS.
+                    "betweenFilter": { # A filter for numeric or date values between certain values on a dimension or metric. # A filter for numeric or date values between certain values on a dimension or metric.
+                      "fromValue": { # To represent a number. # Required. Begins with this number, inclusive.
+                        "doubleValue": 3.14, # Double value.
+                        "int64Value": "A String", # Integer value.
+                      },
+                      "toValue": { # To represent a number. # Required. Ends with this number, inclusive.
+                        "doubleValue": 3.14, # Double value.
+                        "int64Value": "A String", # Integer value.
+                      },
+                    },
+                    "fieldName": "A String", # Required. Immutable. The dimension name or metric name to filter.
+                    "inAnyNDayPeriod": 42, # Optional. If set, specifies the time window for which to evaluate data in number of days. If not set, then audience data is evaluated against lifetime data (i.e., infinite time window). For example, if set to 1 day, only the current day's data is evaluated. The reference point is the current day when at_any_point_in_time is unset or false. It can only be set when Audience scope is ACROSS_ALL_SESSIONS and cannot be greater than 60 days.
+                    "inListFilter": { # A filter for a string dimension that matches a particular list of options. # A filter for a string dimension that matches a particular list of options.
+                      "caseSensitive": True or False, # Optional. If true, the match is case-sensitive. If false, the match is case-insensitive.
+                      "values": [ # Required. The list of possible string values to match against. Must be non-empty.
+                        "A String",
+                      ],
+                    },
+                    "numericFilter": { # A filter for numeric or date values on a dimension or metric. # A filter for numeric or date values on a dimension or metric.
+                      "operation": "A String", # Required. The operation applied to a numeric filter.
+                      "value": { # To represent a number. # Required. The numeric or date value to match against.
+                        "doubleValue": 3.14, # Double value.
+                        "int64Value": "A String", # Integer value.
+                      },
+                    },
+                    "stringFilter": { # A filter for a string-type dimension that matches a particular pattern. # A filter for a string-type dimension that matches a particular pattern.
+                      "caseSensitive": True or False, # Optional. If true, the match is case-sensitive. If false, the match is case-insensitive.
+                      "matchType": "A String", # Required. The match type for the string filter.
+                      "value": "A String", # Required. The string value to be matched against.
+                    },
+                  },
+                  "eventFilter": { # A filter that matches events of a single event name. If an event parameter is specified, only the subset of events that match both the single event name and the parameter filter expressions match this event filter. # Creates a filter that matches a specific event. This cannot be set on the top level AudienceFilterExpression.
+                    "eventName": "A String", # Required. Immutable. The name of the event to match against.
+                    "eventParameterFilterExpression": # Object with schema name: GoogleAnalyticsAdminV1alphaAudienceFilterExpression # Optional. If specified, this filter matches events that match both the single event name and the parameter filter expressions. AudienceEventFilter inside the parameter filter expression cannot be set (i.e., nested event filters are not supported). This should be a single and_group of dimension_or_metric_filter or not_expression; ANDs of ORs are not supported. Also, if it includes a filter for "eventCount", only that one will be considered; all the other filters will be ignored.
+                  },
+                  "notExpression": # Object with schema name: GoogleAnalyticsAdminV1alphaAudienceFilterExpression # A filter expression to be NOT'ed (i.e., inverted, complemented). It can only include a dimension_or_metric_filter. This cannot be set on the top level AudienceFilterExpression.
+                  "orGroup": { # A list of Audience filter expressions. # A list of expressions to OR’ed together. It cannot contain AudienceFilterExpressions with and_group or or_group.
+                    "filterExpressions": [ # A list of Audience filter expressions.
+                      # Object with schema name: GoogleAnalyticsAdminV1alphaAudienceFilterExpression
+                    ],
+                  },
+                },
+                "immediatelyFollows": True or False, # Optional. If true, the event satisfying this step must be the very next event after the event satisfying the last step. If unset or false, this step indirectly follows the prior step; for example, there may be events between the prior step and this step. It is ignored for the first step.
+                "scope": "A String", # Required. Immutable. Specifies the scope for this step.
+              },
+            ],
+          },
+          "simpleFilter": { # Defines a simple filter that a user must satisfy to be a member of the Audience. # A simple filter that a user must satisfy to be a member of the Audience.
+            "filterExpression": { # A logical expression of Audience dimension, metric, or event filters. # Required. Immutable. A logical expression of Audience dimension, metric, or event filters.
+              "andGroup": { # A list of Audience filter expressions. # A list of expressions to be AND’ed together. It can only contain AudienceFilterExpressions with or_group. This must be set for the top level AudienceFilterExpression.
+                "filterExpressions": [ # A list of Audience filter expressions.
+                  # Object with schema name: GoogleAnalyticsAdminV1alphaAudienceFilterExpression
+                ],
+              },
+              "dimensionOrMetricFilter": { # A specific filter for a single dimension or metric. # A filter on a single dimension or metric. This cannot be set on the top level AudienceFilterExpression.
+                "atAnyPointInTime": True or False, # Optional. Indicates whether this filter needs dynamic evaluation or not. If set to true, users join the Audience if they ever met the condition (static evaluation). If unset or set to false, user evaluation for an Audience is dynamic; users are added to an Audience when they meet the conditions and then removed when they no longer meet them. This can only be set when Audience scope is ACROSS_ALL_SESSIONS.
+                "betweenFilter": { # A filter for numeric or date values between certain values on a dimension or metric. # A filter for numeric or date values between certain values on a dimension or metric.
+                  "fromValue": { # To represent a number. # Required. Begins with this number, inclusive.
+                    "doubleValue": 3.14, # Double value.
+                    "int64Value": "A String", # Integer value.
+                  },
+                  "toValue": { # To represent a number. # Required. Ends with this number, inclusive.
+                    "doubleValue": 3.14, # Double value.
+                    "int64Value": "A String", # Integer value.
+                  },
+                },
+                "fieldName": "A String", # Required. Immutable. The dimension name or metric name to filter.
+                "inAnyNDayPeriod": 42, # Optional. If set, specifies the time window for which to evaluate data in number of days. If not set, then audience data is evaluated against lifetime data (i.e., infinite time window). For example, if set to 1 day, only the current day's data is evaluated. The reference point is the current day when at_any_point_in_time is unset or false. It can only be set when Audience scope is ACROSS_ALL_SESSIONS and cannot be greater than 60 days.
+                "inListFilter": { # A filter for a string dimension that matches a particular list of options. # A filter for a string dimension that matches a particular list of options.
+                  "caseSensitive": True or False, # Optional. If true, the match is case-sensitive. If false, the match is case-insensitive.
+                  "values": [ # Required. The list of possible string values to match against. Must be non-empty.
+                    "A String",
+                  ],
+                },
+                "numericFilter": { # A filter for numeric or date values on a dimension or metric. # A filter for numeric or date values on a dimension or metric.
+                  "operation": "A String", # Required. The operation applied to a numeric filter.
+                  "value": { # To represent a number. # Required. The numeric or date value to match against.
+                    "doubleValue": 3.14, # Double value.
+                    "int64Value": "A String", # Integer value.
+                  },
+                },
+                "stringFilter": { # A filter for a string-type dimension that matches a particular pattern. # A filter for a string-type dimension that matches a particular pattern.
+                  "caseSensitive": True or False, # Optional. If true, the match is case-sensitive. If false, the match is case-insensitive.
+                  "matchType": "A String", # Required. The match type for the string filter.
+                  "value": "A String", # Required. The string value to be matched against.
+                },
+              },
+              "eventFilter": { # A filter that matches events of a single event name. If an event parameter is specified, only the subset of events that match both the single event name and the parameter filter expressions match this event filter. # Creates a filter that matches a specific event. This cannot be set on the top level AudienceFilterExpression.
+                "eventName": "A String", # Required. Immutable. The name of the event to match against.
+                "eventParameterFilterExpression": # Object with schema name: GoogleAnalyticsAdminV1alphaAudienceFilterExpression # Optional. If specified, this filter matches events that match both the single event name and the parameter filter expressions. AudienceEventFilter inside the parameter filter expression cannot be set (i.e., nested event filters are not supported). This should be a single and_group of dimension_or_metric_filter or not_expression; ANDs of ORs are not supported. Also, if it includes a filter for "eventCount", only that one will be considered; all the other filters will be ignored.
+              },
+              "notExpression": # Object with schema name: GoogleAnalyticsAdminV1alphaAudienceFilterExpression # A filter expression to be NOT'ed (i.e., inverted, complemented). It can only include a dimension_or_metric_filter. This cannot be set on the top level AudienceFilterExpression.
+              "orGroup": { # A list of Audience filter expressions. # A list of expressions to OR’ed together. It cannot contain AudienceFilterExpressions with and_group or or_group.
+                "filterExpressions": [ # A list of Audience filter expressions.
+                  # Object with schema name: GoogleAnalyticsAdminV1alphaAudienceFilterExpression
+                ],
+              },
+            },
+            "scope": "A String", # Required. Immutable. Specifies the scope for this filter.
+          },
+        },
+      ],
+      "membershipDurationDays": 42, # Required. Immutable. The duration a user should stay in an Audience. It cannot be set to more than 540 days.
+      "name": "A String", # Output only. The resource name for this Audience resource. Format: properties/{propertyId}/audiences/{audienceId}
+    },
+  ],
+  "nextPageToken": "A String", # A token, which can be sent as `page_token` to retrieve the next page. If this field is omitted, there are no subsequent pages.
+}
+
+ +
+ list_next() +
Retrieves the next page of results.
+
+        Args:
+          previous_request: The request for the previous page. (required)
+          previous_response: The response from the request for the previous page. (required)
+
+        Returns:
+          A request object that you can call 'execute()' on to request the next
+          page. Returns None if there are no more items in the collection.
+        
+
+ +
+ patch(name, body=None, updateMask=None, x__xgafv=None) +
Updates an Audience on a property.
+
+Args:
+  name: string, Output only. The resource name for this Audience resource. Format: properties/{propertyId}/audiences/{audienceId} (required)
+  body: object, The request body.
+    The object takes the form of:
+
+{ # A resource message representing a GA4 Audience.
+  "adsPersonalizationEnabled": True or False, # Output only. It is automatically set by GA to false if this is an NPA Audience and is excluded from ads personalization.
+  "description": "A String", # Required. The description of the Audience.
+  "displayName": "A String", # Required. The display name of the Audience.
+  "eventTrigger": { # Specifies an event to log when a user joins the Audience. # Optional. Specifies an event to log when a user joins the Audience. If not set, no event is logged when a user joins the Audience.
+    "eventName": "A String", # Required. The event name that will be logged.
+    "logCondition": "A String", # Required. When to log the event.
+  },
+  "exclusionDurationMode": "A String", # Immutable. Specifies how long an exclusion lasts for users that meet the exclusion filter. It is applied to all EXCLUDE filter clauses and is ignored when there is no EXCLUDE filter clause in the Audience.
+  "filterClauses": [ # Required. Immutable. null Filter clauses that define the Audience. All clauses will be AND’ed together.
+    { # A clause for defining either a simple or sequence filter. A filter can be inclusive (i.e., users satisfying the filter clause are included in the Audience) or exclusive (i.e., users satisfying the filter clause are excluded from the Audience).
+      "clauseType": "A String", # Required. Specifies whether this is an include or exclude filter clause.
+      "sequenceFilter": { # Defines filters that must occur in a specific order for the user to be a member of the Audience. # Filters that must occur in a specific order for the user to be a member of the Audience.
+        "scope": "A String", # Required. Immutable. Specifies the scope for this filter.
+        "sequenceMaximumDuration": "A String", # Optional. Defines the time period in which the whole sequence must occur.
+        "sequenceSteps": [ # Required. An ordered sequence of steps. A user must complete each step in order to join the sequence filter.
+          { # A condition that must occur in the specified step order for this user to match the sequence.
+            "constraintDuration": "A String", # Optional. When set, this step must be satisfied within the constraint_duration of the previous step (i.e., t[i] - t[i-1] <= constraint_duration). If not set, there is no duration requirement (the duration is effectively unlimited). It is ignored for the first step.
+            "filterExpression": { # A logical expression of Audience dimension, metric, or event filters. # Required. Immutable. A logical expression of Audience dimension, metric, or event filters in each step.
+              "andGroup": { # A list of Audience filter expressions. # A list of expressions to be AND’ed together. It can only contain AudienceFilterExpressions with or_group. This must be set for the top level AudienceFilterExpression.
+                "filterExpressions": [ # A list of Audience filter expressions.
+                  # Object with schema name: GoogleAnalyticsAdminV1alphaAudienceFilterExpression
+                ],
+              },
+              "dimensionOrMetricFilter": { # A specific filter for a single dimension or metric. # A filter on a single dimension or metric. This cannot be set on the top level AudienceFilterExpression.
+                "atAnyPointInTime": True or False, # Optional. Indicates whether this filter needs dynamic evaluation or not. If set to true, users join the Audience if they ever met the condition (static evaluation). If unset or set to false, user evaluation for an Audience is dynamic; users are added to an Audience when they meet the conditions and then removed when they no longer meet them. This can only be set when Audience scope is ACROSS_ALL_SESSIONS.
+                "betweenFilter": { # A filter for numeric or date values between certain values on a dimension or metric. # A filter for numeric or date values between certain values on a dimension or metric.
+                  "fromValue": { # To represent a number. # Required. Begins with this number, inclusive.
+                    "doubleValue": 3.14, # Double value.
+                    "int64Value": "A String", # Integer value.
+                  },
+                  "toValue": { # To represent a number. # Required. Ends with this number, inclusive.
+                    "doubleValue": 3.14, # Double value.
+                    "int64Value": "A String", # Integer value.
+                  },
+                },
+                "fieldName": "A String", # Required. Immutable. The dimension name or metric name to filter.
+                "inAnyNDayPeriod": 42, # Optional. If set, specifies the time window for which to evaluate data in number of days. If not set, then audience data is evaluated against lifetime data (i.e., infinite time window). For example, if set to 1 day, only the current day's data is evaluated. The reference point is the current day when at_any_point_in_time is unset or false. It can only be set when Audience scope is ACROSS_ALL_SESSIONS and cannot be greater than 60 days.
+                "inListFilter": { # A filter for a string dimension that matches a particular list of options. # A filter for a string dimension that matches a particular list of options.
+                  "caseSensitive": True or False, # Optional. If true, the match is case-sensitive. If false, the match is case-insensitive.
+                  "values": [ # Required. The list of possible string values to match against. Must be non-empty.
+                    "A String",
+                  ],
+                },
+                "numericFilter": { # A filter for numeric or date values on a dimension or metric. # A filter for numeric or date values on a dimension or metric.
+                  "operation": "A String", # Required. The operation applied to a numeric filter.
+                  "value": { # To represent a number. # Required. The numeric or date value to match against.
+                    "doubleValue": 3.14, # Double value.
+                    "int64Value": "A String", # Integer value.
+                  },
+                },
+                "stringFilter": { # A filter for a string-type dimension that matches a particular pattern. # A filter for a string-type dimension that matches a particular pattern.
+                  "caseSensitive": True or False, # Optional. If true, the match is case-sensitive. If false, the match is case-insensitive.
+                  "matchType": "A String", # Required. The match type for the string filter.
+                  "value": "A String", # Required. The string value to be matched against.
+                },
+              },
+              "eventFilter": { # A filter that matches events of a single event name. If an event parameter is specified, only the subset of events that match both the single event name and the parameter filter expressions match this event filter. # Creates a filter that matches a specific event. This cannot be set on the top level AudienceFilterExpression.
+                "eventName": "A String", # Required. Immutable. The name of the event to match against.
+                "eventParameterFilterExpression": # Object with schema name: GoogleAnalyticsAdminV1alphaAudienceFilterExpression # Optional. If specified, this filter matches events that match both the single event name and the parameter filter expressions. AudienceEventFilter inside the parameter filter expression cannot be set (i.e., nested event filters are not supported). This should be a single and_group of dimension_or_metric_filter or not_expression; ANDs of ORs are not supported. Also, if it includes a filter for "eventCount", only that one will be considered; all the other filters will be ignored.
+              },
+              "notExpression": # Object with schema name: GoogleAnalyticsAdminV1alphaAudienceFilterExpression # A filter expression to be NOT'ed (i.e., inverted, complemented). It can only include a dimension_or_metric_filter. This cannot be set on the top level AudienceFilterExpression.
+              "orGroup": { # A list of Audience filter expressions. # A list of expressions to OR’ed together. It cannot contain AudienceFilterExpressions with and_group or or_group.
+                "filterExpressions": [ # A list of Audience filter expressions.
+                  # Object with schema name: GoogleAnalyticsAdminV1alphaAudienceFilterExpression
+                ],
+              },
+            },
+            "immediatelyFollows": True or False, # Optional. If true, the event satisfying this step must be the very next event after the event satisfying the last step. If unset or false, this step indirectly follows the prior step; for example, there may be events between the prior step and this step. It is ignored for the first step.
+            "scope": "A String", # Required. Immutable. Specifies the scope for this step.
+          },
+        ],
+      },
+      "simpleFilter": { # Defines a simple filter that a user must satisfy to be a member of the Audience. # A simple filter that a user must satisfy to be a member of the Audience.
+        "filterExpression": { # A logical expression of Audience dimension, metric, or event filters. # Required. Immutable. A logical expression of Audience dimension, metric, or event filters.
+          "andGroup": { # A list of Audience filter expressions. # A list of expressions to be AND’ed together. It can only contain AudienceFilterExpressions with or_group. This must be set for the top level AudienceFilterExpression.
+            "filterExpressions": [ # A list of Audience filter expressions.
+              # Object with schema name: GoogleAnalyticsAdminV1alphaAudienceFilterExpression
+            ],
+          },
+          "dimensionOrMetricFilter": { # A specific filter for a single dimension or metric. # A filter on a single dimension or metric. This cannot be set on the top level AudienceFilterExpression.
+            "atAnyPointInTime": True or False, # Optional. Indicates whether this filter needs dynamic evaluation or not. If set to true, users join the Audience if they ever met the condition (static evaluation). If unset or set to false, user evaluation for an Audience is dynamic; users are added to an Audience when they meet the conditions and then removed when they no longer meet them. This can only be set when Audience scope is ACROSS_ALL_SESSIONS.
+            "betweenFilter": { # A filter for numeric or date values between certain values on a dimension or metric. # A filter for numeric or date values between certain values on a dimension or metric.
+              "fromValue": { # To represent a number. # Required. Begins with this number, inclusive.
+                "doubleValue": 3.14, # Double value.
+                "int64Value": "A String", # Integer value.
+              },
+              "toValue": { # To represent a number. # Required. Ends with this number, inclusive.
+                "doubleValue": 3.14, # Double value.
+                "int64Value": "A String", # Integer value.
+              },
+            },
+            "fieldName": "A String", # Required. Immutable. The dimension name or metric name to filter.
+            "inAnyNDayPeriod": 42, # Optional. If set, specifies the time window for which to evaluate data in number of days. If not set, then audience data is evaluated against lifetime data (i.e., infinite time window). For example, if set to 1 day, only the current day's data is evaluated. The reference point is the current day when at_any_point_in_time is unset or false. It can only be set when Audience scope is ACROSS_ALL_SESSIONS and cannot be greater than 60 days.
+            "inListFilter": { # A filter for a string dimension that matches a particular list of options. # A filter for a string dimension that matches a particular list of options.
+              "caseSensitive": True or False, # Optional. If true, the match is case-sensitive. If false, the match is case-insensitive.
+              "values": [ # Required. The list of possible string values to match against. Must be non-empty.
+                "A String",
+              ],
+            },
+            "numericFilter": { # A filter for numeric or date values on a dimension or metric. # A filter for numeric or date values on a dimension or metric.
+              "operation": "A String", # Required. The operation applied to a numeric filter.
+              "value": { # To represent a number. # Required. The numeric or date value to match against.
+                "doubleValue": 3.14, # Double value.
+                "int64Value": "A String", # Integer value.
+              },
+            },
+            "stringFilter": { # A filter for a string-type dimension that matches a particular pattern. # A filter for a string-type dimension that matches a particular pattern.
+              "caseSensitive": True or False, # Optional. If true, the match is case-sensitive. If false, the match is case-insensitive.
+              "matchType": "A String", # Required. The match type for the string filter.
+              "value": "A String", # Required. The string value to be matched against.
+            },
+          },
+          "eventFilter": { # A filter that matches events of a single event name. If an event parameter is specified, only the subset of events that match both the single event name and the parameter filter expressions match this event filter. # Creates a filter that matches a specific event. This cannot be set on the top level AudienceFilterExpression.
+            "eventName": "A String", # Required. Immutable. The name of the event to match against.
+            "eventParameterFilterExpression": # Object with schema name: GoogleAnalyticsAdminV1alphaAudienceFilterExpression # Optional. If specified, this filter matches events that match both the single event name and the parameter filter expressions. AudienceEventFilter inside the parameter filter expression cannot be set (i.e., nested event filters are not supported). This should be a single and_group of dimension_or_metric_filter or not_expression; ANDs of ORs are not supported. Also, if it includes a filter for "eventCount", only that one will be considered; all the other filters will be ignored.
+          },
+          "notExpression": # Object with schema name: GoogleAnalyticsAdminV1alphaAudienceFilterExpression # A filter expression to be NOT'ed (i.e., inverted, complemented). It can only include a dimension_or_metric_filter. This cannot be set on the top level AudienceFilterExpression.
+          "orGroup": { # A list of Audience filter expressions. # A list of expressions to OR’ed together. It cannot contain AudienceFilterExpressions with and_group or or_group.
+            "filterExpressions": [ # A list of Audience filter expressions.
+              # Object with schema name: GoogleAnalyticsAdminV1alphaAudienceFilterExpression
+            ],
+          },
+        },
+        "scope": "A String", # Required. Immutable. Specifies the scope for this filter.
+      },
+    },
+  ],
+  "membershipDurationDays": 42, # Required. Immutable. The duration a user should stay in an Audience. It cannot be set to more than 540 days.
+  "name": "A String", # Output only. The resource name for this Audience resource. Format: properties/{propertyId}/audiences/{audienceId}
+}
+
+  updateMask: string, Required. The list of fields to be updated. Field names must be in snake case (e.g., "field_to_update"). Omitted fields will not be updated. To replace the entire entity, use one path with the string "*" to match all fields.
+  x__xgafv: string, V1 error format.
+    Allowed values
+      1 - v1 error format
+      2 - v2 error format
+
+Returns:
+  An object of the form:
+
+    { # A resource message representing a GA4 Audience.
+  "adsPersonalizationEnabled": True or False, # Output only. It is automatically set by GA to false if this is an NPA Audience and is excluded from ads personalization.
+  "description": "A String", # Required. The description of the Audience.
+  "displayName": "A String", # Required. The display name of the Audience.
+  "eventTrigger": { # Specifies an event to log when a user joins the Audience. # Optional. Specifies an event to log when a user joins the Audience. If not set, no event is logged when a user joins the Audience.
+    "eventName": "A String", # Required. The event name that will be logged.
+    "logCondition": "A String", # Required. When to log the event.
+  },
+  "exclusionDurationMode": "A String", # Immutable. Specifies how long an exclusion lasts for users that meet the exclusion filter. It is applied to all EXCLUDE filter clauses and is ignored when there is no EXCLUDE filter clause in the Audience.
+  "filterClauses": [ # Required. Immutable. null Filter clauses that define the Audience. All clauses will be AND’ed together.
+    { # A clause for defining either a simple or sequence filter. A filter can be inclusive (i.e., users satisfying the filter clause are included in the Audience) or exclusive (i.e., users satisfying the filter clause are excluded from the Audience).
+      "clauseType": "A String", # Required. Specifies whether this is an include or exclude filter clause.
+      "sequenceFilter": { # Defines filters that must occur in a specific order for the user to be a member of the Audience. # Filters that must occur in a specific order for the user to be a member of the Audience.
+        "scope": "A String", # Required. Immutable. Specifies the scope for this filter.
+        "sequenceMaximumDuration": "A String", # Optional. Defines the time period in which the whole sequence must occur.
+        "sequenceSteps": [ # Required. An ordered sequence of steps. A user must complete each step in order to join the sequence filter.
+          { # A condition that must occur in the specified step order for this user to match the sequence.
+            "constraintDuration": "A String", # Optional. When set, this step must be satisfied within the constraint_duration of the previous step (i.e., t[i] - t[i-1] <= constraint_duration). If not set, there is no duration requirement (the duration is effectively unlimited). It is ignored for the first step.
+            "filterExpression": { # A logical expression of Audience dimension, metric, or event filters. # Required. Immutable. A logical expression of Audience dimension, metric, or event filters in each step.
+              "andGroup": { # A list of Audience filter expressions. # A list of expressions to be AND’ed together. It can only contain AudienceFilterExpressions with or_group. This must be set for the top level AudienceFilterExpression.
+                "filterExpressions": [ # A list of Audience filter expressions.
+                  # Object with schema name: GoogleAnalyticsAdminV1alphaAudienceFilterExpression
+                ],
+              },
+              "dimensionOrMetricFilter": { # A specific filter for a single dimension or metric. # A filter on a single dimension or metric. This cannot be set on the top level AudienceFilterExpression.
+                "atAnyPointInTime": True or False, # Optional. Indicates whether this filter needs dynamic evaluation or not. If set to true, users join the Audience if they ever met the condition (static evaluation). If unset or set to false, user evaluation for an Audience is dynamic; users are added to an Audience when they meet the conditions and then removed when they no longer meet them. This can only be set when Audience scope is ACROSS_ALL_SESSIONS.
+                "betweenFilter": { # A filter for numeric or date values between certain values on a dimension or metric. # A filter for numeric or date values between certain values on a dimension or metric.
+                  "fromValue": { # To represent a number. # Required. Begins with this number, inclusive.
+                    "doubleValue": 3.14, # Double value.
+                    "int64Value": "A String", # Integer value.
+                  },
+                  "toValue": { # To represent a number. # Required. Ends with this number, inclusive.
+                    "doubleValue": 3.14, # Double value.
+                    "int64Value": "A String", # Integer value.
+                  },
+                },
+                "fieldName": "A String", # Required. Immutable. The dimension name or metric name to filter.
+                "inAnyNDayPeriod": 42, # Optional. If set, specifies the time window for which to evaluate data in number of days. If not set, then audience data is evaluated against lifetime data (i.e., infinite time window). For example, if set to 1 day, only the current day's data is evaluated. The reference point is the current day when at_any_point_in_time is unset or false. It can only be set when Audience scope is ACROSS_ALL_SESSIONS and cannot be greater than 60 days.
+                "inListFilter": { # A filter for a string dimension that matches a particular list of options. # A filter for a string dimension that matches a particular list of options.
+                  "caseSensitive": True or False, # Optional. If true, the match is case-sensitive. If false, the match is case-insensitive.
+                  "values": [ # Required. The list of possible string values to match against. Must be non-empty.
+                    "A String",
+                  ],
+                },
+                "numericFilter": { # A filter for numeric or date values on a dimension or metric. # A filter for numeric or date values on a dimension or metric.
+                  "operation": "A String", # Required. The operation applied to a numeric filter.
+                  "value": { # To represent a number. # Required. The numeric or date value to match against.
+                    "doubleValue": 3.14, # Double value.
+                    "int64Value": "A String", # Integer value.
+                  },
+                },
+                "stringFilter": { # A filter for a string-type dimension that matches a particular pattern. # A filter for a string-type dimension that matches a particular pattern.
+                  "caseSensitive": True or False, # Optional. If true, the match is case-sensitive. If false, the match is case-insensitive.
+                  "matchType": "A String", # Required. The match type for the string filter.
+                  "value": "A String", # Required. The string value to be matched against.
+                },
+              },
+              "eventFilter": { # A filter that matches events of a single event name. If an event parameter is specified, only the subset of events that match both the single event name and the parameter filter expressions match this event filter. # Creates a filter that matches a specific event. This cannot be set on the top level AudienceFilterExpression.
+                "eventName": "A String", # Required. Immutable. The name of the event to match against.
+                "eventParameterFilterExpression": # Object with schema name: GoogleAnalyticsAdminV1alphaAudienceFilterExpression # Optional. If specified, this filter matches events that match both the single event name and the parameter filter expressions. AudienceEventFilter inside the parameter filter expression cannot be set (i.e., nested event filters are not supported). This should be a single and_group of dimension_or_metric_filter or not_expression; ANDs of ORs are not supported. Also, if it includes a filter for "eventCount", only that one will be considered; all the other filters will be ignored.
+              },
+              "notExpression": # Object with schema name: GoogleAnalyticsAdminV1alphaAudienceFilterExpression # A filter expression to be NOT'ed (i.e., inverted, complemented). It can only include a dimension_or_metric_filter. This cannot be set on the top level AudienceFilterExpression.
+              "orGroup": { # A list of Audience filter expressions. # A list of expressions to OR’ed together. It cannot contain AudienceFilterExpressions with and_group or or_group.
+                "filterExpressions": [ # A list of Audience filter expressions.
+                  # Object with schema name: GoogleAnalyticsAdminV1alphaAudienceFilterExpression
+                ],
+              },
+            },
+            "immediatelyFollows": True or False, # Optional. If true, the event satisfying this step must be the very next event after the event satisfying the last step. If unset or false, this step indirectly follows the prior step; for example, there may be events between the prior step and this step. It is ignored for the first step.
+            "scope": "A String", # Required. Immutable. Specifies the scope for this step.
+          },
+        ],
+      },
+      "simpleFilter": { # Defines a simple filter that a user must satisfy to be a member of the Audience. # A simple filter that a user must satisfy to be a member of the Audience.
+        "filterExpression": { # A logical expression of Audience dimension, metric, or event filters. # Required. Immutable. A logical expression of Audience dimension, metric, or event filters.
+          "andGroup": { # A list of Audience filter expressions. # A list of expressions to be AND’ed together. It can only contain AudienceFilterExpressions with or_group. This must be set for the top level AudienceFilterExpression.
+            "filterExpressions": [ # A list of Audience filter expressions.
+              # Object with schema name: GoogleAnalyticsAdminV1alphaAudienceFilterExpression
+            ],
+          },
+          "dimensionOrMetricFilter": { # A specific filter for a single dimension or metric. # A filter on a single dimension or metric. This cannot be set on the top level AudienceFilterExpression.
+            "atAnyPointInTime": True or False, # Optional. Indicates whether this filter needs dynamic evaluation or not. If set to true, users join the Audience if they ever met the condition (static evaluation). If unset or set to false, user evaluation for an Audience is dynamic; users are added to an Audience when they meet the conditions and then removed when they no longer meet them. This can only be set when Audience scope is ACROSS_ALL_SESSIONS.
+            "betweenFilter": { # A filter for numeric or date values between certain values on a dimension or metric. # A filter for numeric or date values between certain values on a dimension or metric.
+              "fromValue": { # To represent a number. # Required. Begins with this number, inclusive.
+                "doubleValue": 3.14, # Double value.
+                "int64Value": "A String", # Integer value.
+              },
+              "toValue": { # To represent a number. # Required. Ends with this number, inclusive.
+                "doubleValue": 3.14, # Double value.
+                "int64Value": "A String", # Integer value.
+              },
+            },
+            "fieldName": "A String", # Required. Immutable. The dimension name or metric name to filter.
+            "inAnyNDayPeriod": 42, # Optional. If set, specifies the time window for which to evaluate data in number of days. If not set, then audience data is evaluated against lifetime data (i.e., infinite time window). For example, if set to 1 day, only the current day's data is evaluated. The reference point is the current day when at_any_point_in_time is unset or false. It can only be set when Audience scope is ACROSS_ALL_SESSIONS and cannot be greater than 60 days.
+            "inListFilter": { # A filter for a string dimension that matches a particular list of options. # A filter for a string dimension that matches a particular list of options.
+              "caseSensitive": True or False, # Optional. If true, the match is case-sensitive. If false, the match is case-insensitive.
+              "values": [ # Required. The list of possible string values to match against. Must be non-empty.
+                "A String",
+              ],
+            },
+            "numericFilter": { # A filter for numeric or date values on a dimension or metric. # A filter for numeric or date values on a dimension or metric.
+              "operation": "A String", # Required. The operation applied to a numeric filter.
+              "value": { # To represent a number. # Required. The numeric or date value to match against.
+                "doubleValue": 3.14, # Double value.
+                "int64Value": "A String", # Integer value.
+              },
+            },
+            "stringFilter": { # A filter for a string-type dimension that matches a particular pattern. # A filter for a string-type dimension that matches a particular pattern.
+              "caseSensitive": True or False, # Optional. If true, the match is case-sensitive. If false, the match is case-insensitive.
+              "matchType": "A String", # Required. The match type for the string filter.
+              "value": "A String", # Required. The string value to be matched against.
+            },
+          },
+          "eventFilter": { # A filter that matches events of a single event name. If an event parameter is specified, only the subset of events that match both the single event name and the parameter filter expressions match this event filter. # Creates a filter that matches a specific event. This cannot be set on the top level AudienceFilterExpression.
+            "eventName": "A String", # Required. Immutable. The name of the event to match against.
+            "eventParameterFilterExpression": # Object with schema name: GoogleAnalyticsAdminV1alphaAudienceFilterExpression # Optional. If specified, this filter matches events that match both the single event name and the parameter filter expressions. AudienceEventFilter inside the parameter filter expression cannot be set (i.e., nested event filters are not supported). This should be a single and_group of dimension_or_metric_filter or not_expression; ANDs of ORs are not supported. Also, if it includes a filter for "eventCount", only that one will be considered; all the other filters will be ignored.
+          },
+          "notExpression": # Object with schema name: GoogleAnalyticsAdminV1alphaAudienceFilterExpression # A filter expression to be NOT'ed (i.e., inverted, complemented). It can only include a dimension_or_metric_filter. This cannot be set on the top level AudienceFilterExpression.
+          "orGroup": { # A list of Audience filter expressions. # A list of expressions to OR’ed together. It cannot contain AudienceFilterExpressions with and_group or or_group.
+            "filterExpressions": [ # A list of Audience filter expressions.
+              # Object with schema name: GoogleAnalyticsAdminV1alphaAudienceFilterExpression
+            ],
+          },
+        },
+        "scope": "A String", # Required. Immutable. Specifies the scope for this filter.
+      },
+    },
+  ],
+  "membershipDurationDays": 42, # Required. Immutable. The duration a user should stay in an Audience. It cannot be set to more than 540 days.
+  "name": "A String", # Output only. The resource name for this Audience resource. Format: properties/{propertyId}/audiences/{audienceId}
+}
+
+ + \ No newline at end of file diff --git a/docs/dyn/analyticsadmin_v1alpha.properties.html b/docs/dyn/analyticsadmin_v1alpha.properties.html index 88f6335fe45..2c67fffd316 100644 --- a/docs/dyn/analyticsadmin_v1alpha.properties.html +++ b/docs/dyn/analyticsadmin_v1alpha.properties.html @@ -74,6 +74,11 @@

Google Analytics Admin API . properties

Instance Methods

+

+ audiences() +

+

Returns the audiences Resource.

+

conversionEvents()

@@ -152,6 +157,9 @@

Instance Methods

patch(name, body=None, updateMask=None, x__xgafv=None)

Updates a property.

+

+ runAccessReport(entity, body=None, x__xgafv=None)

+

Returns a customized report of data access records. The report provides records of each time a user reads Google Analytics reporting data. Access records are retained for up to 2 years. Data Access Reports can be requested for a property. The property must be in Google Analytics 360. This method is only available to Administrators. These data access records include GA4 UI Reporting, GA4 UI Explorations, GA4 Data API, and other products like Firebase & Admob that can retrieve data from Google Analytics through a linkage. These records don't include property configuration changes like adding a stream or changing a property's time zone. For configuration change history, see [searchChangeHistoryEvents](https://developers.google.com/analytics/devguides/config/admin/v1/rest/v1alpha/accounts/searchChangeHistoryEvents).

updateAttributionSettings(name, body=None, updateMask=None, x__xgafv=None)

Updates attribution settings on a property.

@@ -471,6 +479,193 @@

Method Details

} +
+ runAccessReport(entity, body=None, x__xgafv=None) +
Returns a customized report of data access records. The report provides records of each time a user reads Google Analytics reporting data. Access records are retained for up to 2 years. Data Access Reports can be requested for a property. The property must be in Google Analytics 360. This method is only available to Administrators. These data access records include GA4 UI Reporting, GA4 UI Explorations, GA4 Data API, and other products like Firebase & Admob that can retrieve data from Google Analytics through a linkage. These records don't include property configuration changes like adding a stream or changing a property's time zone. For configuration change history, see [searchChangeHistoryEvents](https://developers.google.com/analytics/devguides/config/admin/v1/rest/v1alpha/accounts/searchChangeHistoryEvents).
+
+Args:
+  entity: string, The Data Access Report is requested for this property. For example if "123" is your GA4 property ID, then entity should be "properties/123". (required)
+  body: object, The request body.
+    The object takes the form of:
+
+{ # The request for a Data Access Record Report.
+  "dateRanges": [ # Date ranges of access records to read. If multiple date ranges are requested, each response row will contain a zero based date range index. If two date ranges overlap, the access records for the overlapping days is included in the response rows for both date ranges. Requests are allowed up to 2 date ranges.
+    { # A contiguous range of days: startDate, startDate + 1, ..., endDate.
+      "endDate": "A String", # The inclusive end date for the query in the format `YYYY-MM-DD`. Cannot be before `startDate`. The format `NdaysAgo`, `yesterday`, or `today` is also accepted, and in that case, the date is inferred based on the current time in the request's time zone.
+      "startDate": "A String", # The inclusive start date for the query in the format `YYYY-MM-DD`. Cannot be after `endDate`. The format `NdaysAgo`, `yesterday`, or `today` is also accepted, and in that case, the date is inferred based on the current time in the request's time zone.
+    },
+  ],
+  "dimensionFilter": { # Expresses dimension or metric filters. The fields in the same expression need to be either all dimensions or all metrics. # Dimension filters allow you to restrict report response to specific dimension values which match the filter. For example, filtering on access records of a single user. To learn more, see [Fundamentals of Dimension Filters](https://developers.google.com/analytics/devguides/reporting/data/v1/basics#dimension_filters) for examples. Metrics cannot be used in this filter.
+    "accessFilter": { # An expression to filter dimension or metric values. # A primitive filter. In the same FilterExpression, all of the filter's field names need to be either all dimensions or all metrics.
+      "betweenFilter": { # To express that the result needs to be between two numbers (inclusive). # A filter for two values.
+        "fromValue": { # To represent a number. # Begins with this number.
+          "doubleValue": 3.14, # Double value
+          "int64Value": "A String", # Integer value
+        },
+        "toValue": { # To represent a number. # Ends with this number.
+          "doubleValue": 3.14, # Double value
+          "int64Value": "A String", # Integer value
+        },
+      },
+      "fieldName": "A String", # The dimension name or metric name.
+      "inListFilter": { # The result needs to be in a list of string values. # A filter for in list values.
+        "caseSensitive": True or False, # If true, the string value is case sensitive.
+        "values": [ # The list of string values. Must be non-empty.
+          "A String",
+        ],
+      },
+      "numericFilter": { # Filters for numeric or date values. # A filter for numeric or date values.
+        "operation": "A String", # The operation type for this filter.
+        "value": { # To represent a number. # A numeric value or a date value.
+          "doubleValue": 3.14, # Double value
+          "int64Value": "A String", # Integer value
+        },
+      },
+      "stringFilter": { # The filter for strings. # Strings related filter.
+        "caseSensitive": True or False, # If true, the string value is case sensitive.
+        "matchType": "A String", # The match type for this filter.
+        "value": "A String", # The string value used for the matching.
+      },
+    },
+    "andGroup": { # A list of filter expressions. # Each of the FilterExpressions in the and_group has an AND relationship.
+      "expressions": [ # A list of filter expressions.
+        # Object with schema name: GoogleAnalyticsAdminV1alphaAccessFilterExpression
+      ],
+    },
+    "notExpression": # Object with schema name: GoogleAnalyticsAdminV1alphaAccessFilterExpression # The FilterExpression is NOT of not_expression.
+    "orGroup": { # A list of filter expressions. # Each of the FilterExpressions in the or_group has an OR relationship.
+      "expressions": [ # A list of filter expressions.
+        # Object with schema name: GoogleAnalyticsAdminV1alphaAccessFilterExpression
+      ],
+    },
+  },
+  "dimensions": [ # The dimensions requested and displayed in the response. Requests are allowed up to 9 dimensions.
+    { # Dimensions are attributes of your data. For example, the dimension `userEmail` indicates the email of the user that accessed reporting data. Dimension values in report responses are strings.
+      "dimensionName": "A String", # The API name of the dimension. See [Data Access Schema](https://developers.google.com/analytics/devguides/config/admin/v1/access-api-schema) for the list of dimensions supported in this API. Dimensions are referenced by name in `dimensionFilter` and `orderBys`.
+    },
+  ],
+  "limit": "A String", # The number of rows to return. If unspecified, 10,000 rows are returned. The API returns a maximum of 100,000 rows per request, no matter how many you ask for. `limit` must be positive. The API may return fewer rows than the requested `limit`, if there aren't as many remaining rows as the `limit`. For instance, there are fewer than 300 possible values for the dimension `country`, so when reporting on only `country`, you can't get more than 300 rows, even if you set `limit` to a higher value. To learn more about this pagination parameter, see [Pagination](https://developers.google.com/analytics/devguides/reporting/data/v1/basics#pagination).
+  "metricFilter": { # Expresses dimension or metric filters. The fields in the same expression need to be either all dimensions or all metrics. # Metric filters allow you to restrict report response to specific metric values which match the filter. Metric filters are applied after aggregating the report's rows, similar to SQL having-clause. Dimensions cannot be used in this filter.
+    "accessFilter": { # An expression to filter dimension or metric values. # A primitive filter. In the same FilterExpression, all of the filter's field names need to be either all dimensions or all metrics.
+      "betweenFilter": { # To express that the result needs to be between two numbers (inclusive). # A filter for two values.
+        "fromValue": { # To represent a number. # Begins with this number.
+          "doubleValue": 3.14, # Double value
+          "int64Value": "A String", # Integer value
+        },
+        "toValue": { # To represent a number. # Ends with this number.
+          "doubleValue": 3.14, # Double value
+          "int64Value": "A String", # Integer value
+        },
+      },
+      "fieldName": "A String", # The dimension name or metric name.
+      "inListFilter": { # The result needs to be in a list of string values. # A filter for in list values.
+        "caseSensitive": True or False, # If true, the string value is case sensitive.
+        "values": [ # The list of string values. Must be non-empty.
+          "A String",
+        ],
+      },
+      "numericFilter": { # Filters for numeric or date values. # A filter for numeric or date values.
+        "operation": "A String", # The operation type for this filter.
+        "value": { # To represent a number. # A numeric value or a date value.
+          "doubleValue": 3.14, # Double value
+          "int64Value": "A String", # Integer value
+        },
+      },
+      "stringFilter": { # The filter for strings. # Strings related filter.
+        "caseSensitive": True or False, # If true, the string value is case sensitive.
+        "matchType": "A String", # The match type for this filter.
+        "value": "A String", # The string value used for the matching.
+      },
+    },
+    "andGroup": { # A list of filter expressions. # Each of the FilterExpressions in the and_group has an AND relationship.
+      "expressions": [ # A list of filter expressions.
+        # Object with schema name: GoogleAnalyticsAdminV1alphaAccessFilterExpression
+      ],
+    },
+    "notExpression": # Object with schema name: GoogleAnalyticsAdminV1alphaAccessFilterExpression # The FilterExpression is NOT of not_expression.
+    "orGroup": { # A list of filter expressions. # Each of the FilterExpressions in the or_group has an OR relationship.
+      "expressions": [ # A list of filter expressions.
+        # Object with schema name: GoogleAnalyticsAdminV1alphaAccessFilterExpression
+      ],
+    },
+  },
+  "metrics": [ # The metrics requested and displayed in the response. Requests are allowed up to 10 metrics.
+    { # The quantitative measurements of a report. For example, the metric `accessCount` is the total number of data access records.
+      "metricName": "A String", # The API name of the metric. See [Data Access Schema](https://developers.google.com/analytics/devguides/config/admin/v1/access-api-schema) for the list of metrics supported in this API. Metrics are referenced by name in `metricFilter` & `orderBys`.
+    },
+  ],
+  "offset": "A String", # The row count of the start row. The first row is counted as row 0. If offset is unspecified, it is treated as 0. If offset is zero, then this method will return the first page of results with `limit` entries. To learn more about this pagination parameter, see [Pagination](https://developers.google.com/analytics/devguides/reporting/data/v1/basics#pagination).
+  "orderBys": [ # Specifies how rows are ordered in the response.
+    { # Order bys define how rows will be sorted in the response. For example, ordering rows by descending access count is one ordering, and ordering rows by the country string is a different ordering.
+      "desc": True or False, # If true, sorts by descending order. If false or unspecified, sorts in ascending order.
+      "dimension": { # Sorts by dimension values. # Sorts results by a dimension's values.
+        "dimensionName": "A String", # A dimension name in the request to order by.
+        "orderType": "A String", # Controls the rule for dimension value ordering.
+      },
+      "metric": { # Sorts by metric values. # Sorts results by a metric's values.
+        "metricName": "A String", # A metric name in the request to order by.
+      },
+    },
+  ],
+  "returnEntityQuota": True or False, # Toggles whether to return the current state of this Analytics Property's quota. Quota is returned in [AccessQuota](#AccessQuota).
+  "timeZone": "A String", # This request's time zone if specified. If unspecified, the property's time zone is used. The request's time zone is used to interpret the start & end dates of the report. Formatted as strings from the IANA Time Zone database (https://www.iana.org/time-zones); for example "America/New_York" or "Asia/Tokyo".
+}
+
+  x__xgafv: string, V1 error format.
+    Allowed values
+      1 - v1 error format
+      2 - v2 error format
+
+Returns:
+  An object of the form:
+
+    { # The customized Data Access Record Report response.
+  "dimensionHeaders": [ # The header for a column in the report that corresponds to a specific dimension. The number of DimensionHeaders and ordering of DimensionHeaders matches the dimensions present in rows.
+    { # Describes a dimension column in the report. Dimensions requested in a report produce column entries within rows and DimensionHeaders. However, dimensions used exclusively within filters or expressions do not produce columns in a report; correspondingly, those dimensions do not produce headers.
+      "dimensionName": "A String", # The dimension's name; for example 'userEmail'.
+    },
+  ],
+  "metricHeaders": [ # The header for a column in the report that corresponds to a specific metric. The number of MetricHeaders and ordering of MetricHeaders matches the metrics present in rows.
+    { # Describes a metric column in the report. Visible metrics requested in a report produce column entries within rows and MetricHeaders. However, metrics used exclusively within filters or expressions do not produce columns in a report; correspondingly, those metrics do not produce headers.
+      "metricName": "A String", # The metric's name; for example 'accessCount'.
+    },
+  ],
+  "quota": { # Current state of all quotas for this Analytics property. If any quota for a property is exhausted, all requests to that property will return Resource Exhausted errors. # The quota state for this Analytics property including this request.
+    "concurrentRequests": { # Current state for a particular quota group. # Properties can use up to 50 concurrent requests.
+      "consumed": 42, # Quota consumed by this request.
+      "remaining": 42, # Quota remaining after this request.
+    },
+    "serverErrorsPerProjectPerHour": { # Current state for a particular quota group. # Properties and cloud project pairs can have up to 50 server errors per hour.
+      "consumed": 42, # Quota consumed by this request.
+      "remaining": 42, # Quota remaining after this request.
+    },
+    "tokensPerDay": { # Current state for a particular quota group. # Properties can use 250,000 tokens per day. Most requests consume fewer than 10 tokens.
+      "consumed": 42, # Quota consumed by this request.
+      "remaining": 42, # Quota remaining after this request.
+    },
+    "tokensPerHour": { # Current state for a particular quota group. # Properties can use 50,000 tokens per hour. An API request consumes a single number of tokens, and that number is deducted from both the hourly and daily quotas.
+      "consumed": 42, # Quota consumed by this request.
+      "remaining": 42, # Quota remaining after this request.
+    },
+  },
+  "rowCount": 42, # The total number of rows in the query result. `rowCount` is independent of the number of rows returned in the response, the `limit` request parameter, and the `offset` request parameter. For example if a query returns 175 rows and includes `limit` of 50 in the API request, the response will contain `rowCount` of 175 but only 50 rows. To learn more about this pagination parameter, see [Pagination](https://developers.google.com/analytics/devguides/reporting/data/v1/basics#pagination).
+  "rows": [ # Rows of dimension value combinations and metric values in the report.
+    { # Access report data for each row.
+      "dimensionValues": [ # List of dimension values. These values are in the same order as specified in the request.
+        { # The value of a dimension.
+          "value": "A String", # The dimension value. For example, this value may be 'France' for the 'country' dimension.
+        },
+      ],
+      "metricValues": [ # List of metric values. These values are in the same order as specified in the request.
+        { # The value of a metric.
+          "value": "A String", # The measurement value. For example, this value may be '13'.
+        },
+      ],
+    },
+  ],
+}
+
+
updateAttributionSettings(name, body=None, updateMask=None, x__xgafv=None)
Updates attribution settings on a property.
diff --git a/docs/dyn/androidmanagement_v1.enterprises.devices.html b/docs/dyn/androidmanagement_v1.enterprises.devices.html
index 38437d0dfd7..6dd605faa85 100644
--- a/docs/dyn/androidmanagement_v1.enterprises.devices.html
+++ b/docs/dyn/androidmanagement_v1.enterprises.devices.html
@@ -323,7 +323,7 @@ 

Method Details

"packageName": "A String", # The package name indicating which app is out of compliance, if applicable. "settingName": "A String", # The name of the policy setting. This is the JSON field name of a top-level Policy field. "specificNonComplianceContext": { # Additional context for SpecificNonComplianceReason. # Additional context for specific_non_compliance_reason. - "oncWifiContext": { # Additional context for non-compliance related to Wi-Fi configuration. # Additional context for non-compliance related to Wi-Fi configuration. See ONC_WIFI_INVALID_VALUE. + "oncWifiContext": { # Additional context for non-compliance related to Wi-Fi configuration. # Additional context for non-compliance related to Wi-Fi configuration. See ONC_WIFI_INVALID_VALUE and ONC_WIFI_API_LEVEL "wifiGuid": "A String", # The GUID of non-compliant Wi-Fi configuration. }, "passwordPoliciesContext": { # Additional context for non-compliance related to password policies. # Additional context for non-compliance related to password policies. See PASSWORD_POLICIES_PASSWORD_EXPIRED and PASSWORD_POLICIES_PASSWORD_NOT_SUFFICIENT. @@ -648,7 +648,7 @@

Method Details

"packageName": "A String", # The package name indicating which app is out of compliance, if applicable. "settingName": "A String", # The name of the policy setting. This is the JSON field name of a top-level Policy field. "specificNonComplianceContext": { # Additional context for SpecificNonComplianceReason. # Additional context for specific_non_compliance_reason. - "oncWifiContext": { # Additional context for non-compliance related to Wi-Fi configuration. # Additional context for non-compliance related to Wi-Fi configuration. See ONC_WIFI_INVALID_VALUE. + "oncWifiContext": { # Additional context for non-compliance related to Wi-Fi configuration. # Additional context for non-compliance related to Wi-Fi configuration. See ONC_WIFI_INVALID_VALUE and ONC_WIFI_API_LEVEL "wifiGuid": "A String", # The GUID of non-compliant Wi-Fi configuration. }, "passwordPoliciesContext": { # Additional context for non-compliance related to password policies. # Additional context for non-compliance related to password policies. See PASSWORD_POLICIES_PASSWORD_EXPIRED and PASSWORD_POLICIES_PASSWORD_NOT_SUFFICIENT. @@ -919,7 +919,7 @@

Method Details

"packageName": "A String", # The package name indicating which app is out of compliance, if applicable. "settingName": "A String", # The name of the policy setting. This is the JSON field name of a top-level Policy field. "specificNonComplianceContext": { # Additional context for SpecificNonComplianceReason. # Additional context for specific_non_compliance_reason. - "oncWifiContext": { # Additional context for non-compliance related to Wi-Fi configuration. # Additional context for non-compliance related to Wi-Fi configuration. See ONC_WIFI_INVALID_VALUE. + "oncWifiContext": { # Additional context for non-compliance related to Wi-Fi configuration. # Additional context for non-compliance related to Wi-Fi configuration. See ONC_WIFI_INVALID_VALUE and ONC_WIFI_API_LEVEL "wifiGuid": "A String", # The GUID of non-compliant Wi-Fi configuration. }, "passwordPoliciesContext": { # Additional context for non-compliance related to password policies. # Additional context for non-compliance related to password policies. See PASSWORD_POLICIES_PASSWORD_EXPIRED and PASSWORD_POLICIES_PASSWORD_NOT_SUFFICIENT. @@ -1172,7 +1172,7 @@

Method Details

"packageName": "A String", # The package name indicating which app is out of compliance, if applicable. "settingName": "A String", # The name of the policy setting. This is the JSON field name of a top-level Policy field. "specificNonComplianceContext": { # Additional context for SpecificNonComplianceReason. # Additional context for specific_non_compliance_reason. - "oncWifiContext": { # Additional context for non-compliance related to Wi-Fi configuration. # Additional context for non-compliance related to Wi-Fi configuration. See ONC_WIFI_INVALID_VALUE. + "oncWifiContext": { # Additional context for non-compliance related to Wi-Fi configuration. # Additional context for non-compliance related to Wi-Fi configuration. See ONC_WIFI_INVALID_VALUE and ONC_WIFI_API_LEVEL "wifiGuid": "A String", # The GUID of non-compliant Wi-Fi configuration. }, "passwordPoliciesContext": { # Additional context for non-compliance related to password policies. # Additional context for non-compliance related to password policies. See PASSWORD_POLICIES_PASSWORD_EXPIRED and PASSWORD_POLICIES_PASSWORD_NOT_SUFFICIENT. diff --git a/docs/dyn/apigee_v1.organizations.apiproducts.html b/docs/dyn/apigee_v1.organizations.apiproducts.html index bbfd152befc..a441d1abde1 100644 --- a/docs/dyn/apigee_v1.organizations.apiproducts.html +++ b/docs/dyn/apigee_v1.organizations.apiproducts.html @@ -118,7 +118,7 @@

Method Details

The object takes the form of: { - "apiResources": [ + "apiResources": [ # Comma-separated list of API resources to be bundled in the API product. By default, the resource paths are mapped from the `proxy.pathsuffix` variable. The proxy path suffix is defined as the URI fragment following the ProxyEndpoint base path. For example, if the `apiResources` element is defined to be `/forecastrss` and the base path defined for the API proxy is `/weather`, then only requests to `/weather/forecastrss` are permitted by the API product. You can select a specific path, or you can select all subpaths with the following wildcard: - `/**`: Indicates that all sub-URIs are included. - `/*` : Indicates that only URIs one level down are included. By default, / supports the same resources as /** as well as the base path defined by the API proxy. For example, if the base path of the API proxy is `/v1/weatherapikey`, then the API product supports requests to `/v1/weatherapikey` and to any sub-URIs, such as `/v1/weatherapikey/forecastrss`, `/v1/weatherapikey/region/CA`, and so on. For more information, see Managing API products. "A String", ], "approvalType": "A String", # Flag that specifies how API keys are approved to access the APIs defined by the API product. If set to `manual`, the consumer key is generated and returned in "pending" state. In this case, the API keys won't work until they have been explicitly approved. If set to `auto`, the consumer key is generated and returned in "approved" state and can be used immediately. **Note:** Typically, `auto` is used to provide access to free or trial API products that provide limited quota or capabilities. @@ -129,7 +129,7 @@

Method Details

}, ], "createdAt": "A String", # Response only. Creation time of this environment as milliseconds since epoch. - "description": "A String", # Description of the API product. Include key information about the API product that is not captured by other fields. Comma-separated list of API resources to be bundled in the API product. By default, the resource paths are mapped from the `proxy.pathsuffix` variable. The proxy path suffix is defined as the URI fragment following the ProxyEndpoint base path. For example, if the `apiResources` element is defined to be `/forecastrss` and the base path defined for the API proxy is `/weather`, then only requests to `/weather/forecastrss` are permitted by the API product. You can select a specific path, or you can select all subpaths with the following wildcard: - `/**`: Indicates that all sub-URIs are included. - `/*` : Indicates that only URIs one level down are included. By default, / supports the same resources as /** as well as the base path defined by the API proxy. For example, if the base path of the API proxy is `/v1/weatherapikey`, then the API product supports requests to `/v1/weatherapikey` and to any sub-URIs, such as `/v1/weatherapikey/forecastrss`, `/v1/weatherapikey/region/CA`, and so on. For more information, see Managing API products. + "description": "A String", # Description of the API product. Include key information about the API product that is not captured by other fields. "displayName": "A String", # Name displayed in the UI or developer portal to developers registering for API access. "environments": [ # Comma-separated list of environment names to which the API product is bound. Requests to environments that are not listed are rejected. By specifying one or more environments, you can bind the resources listed in the API product to a specific environment, preventing developers from accessing those resources through API proxies deployed in another environment. This setting is used, for example, to prevent resources associated with API proxies in `prod` from being accessed by API proxies deployed in `test`. "A String", @@ -210,7 +210,7 @@

Method Details

An object of the form: { - "apiResources": [ + "apiResources": [ # Comma-separated list of API resources to be bundled in the API product. By default, the resource paths are mapped from the `proxy.pathsuffix` variable. The proxy path suffix is defined as the URI fragment following the ProxyEndpoint base path. For example, if the `apiResources` element is defined to be `/forecastrss` and the base path defined for the API proxy is `/weather`, then only requests to `/weather/forecastrss` are permitted by the API product. You can select a specific path, or you can select all subpaths with the following wildcard: - `/**`: Indicates that all sub-URIs are included. - `/*` : Indicates that only URIs one level down are included. By default, / supports the same resources as /** as well as the base path defined by the API proxy. For example, if the base path of the API proxy is `/v1/weatherapikey`, then the API product supports requests to `/v1/weatherapikey` and to any sub-URIs, such as `/v1/weatherapikey/forecastrss`, `/v1/weatherapikey/region/CA`, and so on. For more information, see Managing API products. "A String", ], "approvalType": "A String", # Flag that specifies how API keys are approved to access the APIs defined by the API product. If set to `manual`, the consumer key is generated and returned in "pending" state. In this case, the API keys won't work until they have been explicitly approved. If set to `auto`, the consumer key is generated and returned in "approved" state and can be used immediately. **Note:** Typically, `auto` is used to provide access to free or trial API products that provide limited quota or capabilities. @@ -221,7 +221,7 @@

Method Details

}, ], "createdAt": "A String", # Response only. Creation time of this environment as milliseconds since epoch. - "description": "A String", # Description of the API product. Include key information about the API product that is not captured by other fields. Comma-separated list of API resources to be bundled in the API product. By default, the resource paths are mapped from the `proxy.pathsuffix` variable. The proxy path suffix is defined as the URI fragment following the ProxyEndpoint base path. For example, if the `apiResources` element is defined to be `/forecastrss` and the base path defined for the API proxy is `/weather`, then only requests to `/weather/forecastrss` are permitted by the API product. You can select a specific path, or you can select all subpaths with the following wildcard: - `/**`: Indicates that all sub-URIs are included. - `/*` : Indicates that only URIs one level down are included. By default, / supports the same resources as /** as well as the base path defined by the API proxy. For example, if the base path of the API proxy is `/v1/weatherapikey`, then the API product supports requests to `/v1/weatherapikey` and to any sub-URIs, such as `/v1/weatherapikey/forecastrss`, `/v1/weatherapikey/region/CA`, and so on. For more information, see Managing API products. + "description": "A String", # Description of the API product. Include key information about the API product that is not captured by other fields. "displayName": "A String", # Name displayed in the UI or developer portal to developers registering for API access. "environments": [ # Comma-separated list of environment names to which the API product is bound. Requests to environments that are not listed are rejected. By specifying one or more environments, you can bind the resources listed in the API product to a specific environment, preventing developers from accessing those resources through API proxies deployed in another environment. This setting is used, for example, to prevent resources associated with API proxies in `prod` from being accessed by API proxies deployed in `test`. "A String", @@ -309,7 +309,7 @@

Method Details

An object of the form: { - "apiResources": [ + "apiResources": [ # Comma-separated list of API resources to be bundled in the API product. By default, the resource paths are mapped from the `proxy.pathsuffix` variable. The proxy path suffix is defined as the URI fragment following the ProxyEndpoint base path. For example, if the `apiResources` element is defined to be `/forecastrss` and the base path defined for the API proxy is `/weather`, then only requests to `/weather/forecastrss` are permitted by the API product. You can select a specific path, or you can select all subpaths with the following wildcard: - `/**`: Indicates that all sub-URIs are included. - `/*` : Indicates that only URIs one level down are included. By default, / supports the same resources as /** as well as the base path defined by the API proxy. For example, if the base path of the API proxy is `/v1/weatherapikey`, then the API product supports requests to `/v1/weatherapikey` and to any sub-URIs, such as `/v1/weatherapikey/forecastrss`, `/v1/weatherapikey/region/CA`, and so on. For more information, see Managing API products. "A String", ], "approvalType": "A String", # Flag that specifies how API keys are approved to access the APIs defined by the API product. If set to `manual`, the consumer key is generated and returned in "pending" state. In this case, the API keys won't work until they have been explicitly approved. If set to `auto`, the consumer key is generated and returned in "approved" state and can be used immediately. **Note:** Typically, `auto` is used to provide access to free or trial API products that provide limited quota or capabilities. @@ -320,7 +320,7 @@

Method Details

}, ], "createdAt": "A String", # Response only. Creation time of this environment as milliseconds since epoch. - "description": "A String", # Description of the API product. Include key information about the API product that is not captured by other fields. Comma-separated list of API resources to be bundled in the API product. By default, the resource paths are mapped from the `proxy.pathsuffix` variable. The proxy path suffix is defined as the URI fragment following the ProxyEndpoint base path. For example, if the `apiResources` element is defined to be `/forecastrss` and the base path defined for the API proxy is `/weather`, then only requests to `/weather/forecastrss` are permitted by the API product. You can select a specific path, or you can select all subpaths with the following wildcard: - `/**`: Indicates that all sub-URIs are included. - `/*` : Indicates that only URIs one level down are included. By default, / supports the same resources as /** as well as the base path defined by the API proxy. For example, if the base path of the API proxy is `/v1/weatherapikey`, then the API product supports requests to `/v1/weatherapikey` and to any sub-URIs, such as `/v1/weatherapikey/forecastrss`, `/v1/weatherapikey/region/CA`, and so on. For more information, see Managing API products. + "description": "A String", # Description of the API product. Include key information about the API product that is not captured by other fields. "displayName": "A String", # Name displayed in the UI or developer portal to developers registering for API access. "environments": [ # Comma-separated list of environment names to which the API product is bound. Requests to environments that are not listed are rejected. By specifying one or more environments, you can bind the resources listed in the API product to a specific environment, preventing developers from accessing those resources through API proxies deployed in another environment. This setting is used, for example, to prevent resources associated with API proxies in `prod` from being accessed by API proxies deployed in `test`. "A String", @@ -408,7 +408,7 @@

Method Details

An object of the form: { - "apiResources": [ + "apiResources": [ # Comma-separated list of API resources to be bundled in the API product. By default, the resource paths are mapped from the `proxy.pathsuffix` variable. The proxy path suffix is defined as the URI fragment following the ProxyEndpoint base path. For example, if the `apiResources` element is defined to be `/forecastrss` and the base path defined for the API proxy is `/weather`, then only requests to `/weather/forecastrss` are permitted by the API product. You can select a specific path, or you can select all subpaths with the following wildcard: - `/**`: Indicates that all sub-URIs are included. - `/*` : Indicates that only URIs one level down are included. By default, / supports the same resources as /** as well as the base path defined by the API proxy. For example, if the base path of the API proxy is `/v1/weatherapikey`, then the API product supports requests to `/v1/weatherapikey` and to any sub-URIs, such as `/v1/weatherapikey/forecastrss`, `/v1/weatherapikey/region/CA`, and so on. For more information, see Managing API products. "A String", ], "approvalType": "A String", # Flag that specifies how API keys are approved to access the APIs defined by the API product. If set to `manual`, the consumer key is generated and returned in "pending" state. In this case, the API keys won't work until they have been explicitly approved. If set to `auto`, the consumer key is generated and returned in "approved" state and can be used immediately. **Note:** Typically, `auto` is used to provide access to free or trial API products that provide limited quota or capabilities. @@ -419,7 +419,7 @@

Method Details

}, ], "createdAt": "A String", # Response only. Creation time of this environment as milliseconds since epoch. - "description": "A String", # Description of the API product. Include key information about the API product that is not captured by other fields. Comma-separated list of API resources to be bundled in the API product. By default, the resource paths are mapped from the `proxy.pathsuffix` variable. The proxy path suffix is defined as the URI fragment following the ProxyEndpoint base path. For example, if the `apiResources` element is defined to be `/forecastrss` and the base path defined for the API proxy is `/weather`, then only requests to `/weather/forecastrss` are permitted by the API product. You can select a specific path, or you can select all subpaths with the following wildcard: - `/**`: Indicates that all sub-URIs are included. - `/*` : Indicates that only URIs one level down are included. By default, / supports the same resources as /** as well as the base path defined by the API proxy. For example, if the base path of the API proxy is `/v1/weatherapikey`, then the API product supports requests to `/v1/weatherapikey` and to any sub-URIs, such as `/v1/weatherapikey/forecastrss`, `/v1/weatherapikey/region/CA`, and so on. For more information, see Managing API products. + "description": "A String", # Description of the API product. Include key information about the API product that is not captured by other fields. "displayName": "A String", # Name displayed in the UI or developer portal to developers registering for API access. "environments": [ # Comma-separated list of environment names to which the API product is bound. Requests to environments that are not listed are rejected. By specifying one or more environments, you can bind the resources listed in the API product to a specific environment, preventing developers from accessing those resources through API proxies deployed in another environment. This setting is used, for example, to prevent resources associated with API proxies in `prod` from being accessed by API proxies deployed in `test`. "A String", @@ -514,7 +514,7 @@

Method Details

{ "apiProduct": [ # Lists all API product names defined for an organization. { - "apiResources": [ + "apiResources": [ # Comma-separated list of API resources to be bundled in the API product. By default, the resource paths are mapped from the `proxy.pathsuffix` variable. The proxy path suffix is defined as the URI fragment following the ProxyEndpoint base path. For example, if the `apiResources` element is defined to be `/forecastrss` and the base path defined for the API proxy is `/weather`, then only requests to `/weather/forecastrss` are permitted by the API product. You can select a specific path, or you can select all subpaths with the following wildcard: - `/**`: Indicates that all sub-URIs are included. - `/*` : Indicates that only URIs one level down are included. By default, / supports the same resources as /** as well as the base path defined by the API proxy. For example, if the base path of the API proxy is `/v1/weatherapikey`, then the API product supports requests to `/v1/weatherapikey` and to any sub-URIs, such as `/v1/weatherapikey/forecastrss`, `/v1/weatherapikey/region/CA`, and so on. For more information, see Managing API products. "A String", ], "approvalType": "A String", # Flag that specifies how API keys are approved to access the APIs defined by the API product. If set to `manual`, the consumer key is generated and returned in "pending" state. In this case, the API keys won't work until they have been explicitly approved. If set to `auto`, the consumer key is generated and returned in "approved" state and can be used immediately. **Note:** Typically, `auto` is used to provide access to free or trial API products that provide limited quota or capabilities. @@ -525,7 +525,7 @@

Method Details

}, ], "createdAt": "A String", # Response only. Creation time of this environment as milliseconds since epoch. - "description": "A String", # Description of the API product. Include key information about the API product that is not captured by other fields. Comma-separated list of API resources to be bundled in the API product. By default, the resource paths are mapped from the `proxy.pathsuffix` variable. The proxy path suffix is defined as the URI fragment following the ProxyEndpoint base path. For example, if the `apiResources` element is defined to be `/forecastrss` and the base path defined for the API proxy is `/weather`, then only requests to `/weather/forecastrss` are permitted by the API product. You can select a specific path, or you can select all subpaths with the following wildcard: - `/**`: Indicates that all sub-URIs are included. - `/*` : Indicates that only URIs one level down are included. By default, / supports the same resources as /** as well as the base path defined by the API proxy. For example, if the base path of the API proxy is `/v1/weatherapikey`, then the API product supports requests to `/v1/weatherapikey` and to any sub-URIs, such as `/v1/weatherapikey/forecastrss`, `/v1/weatherapikey/region/CA`, and so on. For more information, see Managing API products. + "description": "A String", # Description of the API product. Include key information about the API product that is not captured by other fields. "displayName": "A String", # Name displayed in the UI or developer portal to developers registering for API access. "environments": [ # Comma-separated list of environment names to which the API product is bound. Requests to environments that are not listed are rejected. By specifying one or more environments, you can bind the resources listed in the API product to a specific environment, preventing developers from accessing those resources through API proxies deployed in another environment. This setting is used, for example, to prevent resources associated with API proxies in `prod` from being accessed by API proxies deployed in `test`. "A String", @@ -610,7 +610,7 @@

Method Details

The object takes the form of: { - "apiResources": [ + "apiResources": [ # Comma-separated list of API resources to be bundled in the API product. By default, the resource paths are mapped from the `proxy.pathsuffix` variable. The proxy path suffix is defined as the URI fragment following the ProxyEndpoint base path. For example, if the `apiResources` element is defined to be `/forecastrss` and the base path defined for the API proxy is `/weather`, then only requests to `/weather/forecastrss` are permitted by the API product. You can select a specific path, or you can select all subpaths with the following wildcard: - `/**`: Indicates that all sub-URIs are included. - `/*` : Indicates that only URIs one level down are included. By default, / supports the same resources as /** as well as the base path defined by the API proxy. For example, if the base path of the API proxy is `/v1/weatherapikey`, then the API product supports requests to `/v1/weatherapikey` and to any sub-URIs, such as `/v1/weatherapikey/forecastrss`, `/v1/weatherapikey/region/CA`, and so on. For more information, see Managing API products. "A String", ], "approvalType": "A String", # Flag that specifies how API keys are approved to access the APIs defined by the API product. If set to `manual`, the consumer key is generated and returned in "pending" state. In this case, the API keys won't work until they have been explicitly approved. If set to `auto`, the consumer key is generated and returned in "approved" state and can be used immediately. **Note:** Typically, `auto` is used to provide access to free or trial API products that provide limited quota or capabilities. @@ -621,7 +621,7 @@

Method Details

}, ], "createdAt": "A String", # Response only. Creation time of this environment as milliseconds since epoch. - "description": "A String", # Description of the API product. Include key information about the API product that is not captured by other fields. Comma-separated list of API resources to be bundled in the API product. By default, the resource paths are mapped from the `proxy.pathsuffix` variable. The proxy path suffix is defined as the URI fragment following the ProxyEndpoint base path. For example, if the `apiResources` element is defined to be `/forecastrss` and the base path defined for the API proxy is `/weather`, then only requests to `/weather/forecastrss` are permitted by the API product. You can select a specific path, or you can select all subpaths with the following wildcard: - `/**`: Indicates that all sub-URIs are included. - `/*` : Indicates that only URIs one level down are included. By default, / supports the same resources as /** as well as the base path defined by the API proxy. For example, if the base path of the API proxy is `/v1/weatherapikey`, then the API product supports requests to `/v1/weatherapikey` and to any sub-URIs, such as `/v1/weatherapikey/forecastrss`, `/v1/weatherapikey/region/CA`, and so on. For more information, see Managing API products. + "description": "A String", # Description of the API product. Include key information about the API product that is not captured by other fields. "displayName": "A String", # Name displayed in the UI or developer portal to developers registering for API access. "environments": [ # Comma-separated list of environment names to which the API product is bound. Requests to environments that are not listed are rejected. By specifying one or more environments, you can bind the resources listed in the API product to a specific environment, preventing developers from accessing those resources through API proxies deployed in another environment. This setting is used, for example, to prevent resources associated with API proxies in `prod` from being accessed by API proxies deployed in `test`. "A String", @@ -702,7 +702,7 @@

Method Details

An object of the form: { - "apiResources": [ + "apiResources": [ # Comma-separated list of API resources to be bundled in the API product. By default, the resource paths are mapped from the `proxy.pathsuffix` variable. The proxy path suffix is defined as the URI fragment following the ProxyEndpoint base path. For example, if the `apiResources` element is defined to be `/forecastrss` and the base path defined for the API proxy is `/weather`, then only requests to `/weather/forecastrss` are permitted by the API product. You can select a specific path, or you can select all subpaths with the following wildcard: - `/**`: Indicates that all sub-URIs are included. - `/*` : Indicates that only URIs one level down are included. By default, / supports the same resources as /** as well as the base path defined by the API proxy. For example, if the base path of the API proxy is `/v1/weatherapikey`, then the API product supports requests to `/v1/weatherapikey` and to any sub-URIs, such as `/v1/weatherapikey/forecastrss`, `/v1/weatherapikey/region/CA`, and so on. For more information, see Managing API products. "A String", ], "approvalType": "A String", # Flag that specifies how API keys are approved to access the APIs defined by the API product. If set to `manual`, the consumer key is generated and returned in "pending" state. In this case, the API keys won't work until they have been explicitly approved. If set to `auto`, the consumer key is generated and returned in "approved" state and can be used immediately. **Note:** Typically, `auto` is used to provide access to free or trial API products that provide limited quota or capabilities. @@ -713,7 +713,7 @@

Method Details

}, ], "createdAt": "A String", # Response only. Creation time of this environment as milliseconds since epoch. - "description": "A String", # Description of the API product. Include key information about the API product that is not captured by other fields. Comma-separated list of API resources to be bundled in the API product. By default, the resource paths are mapped from the `proxy.pathsuffix` variable. The proxy path suffix is defined as the URI fragment following the ProxyEndpoint base path. For example, if the `apiResources` element is defined to be `/forecastrss` and the base path defined for the API proxy is `/weather`, then only requests to `/weather/forecastrss` are permitted by the API product. You can select a specific path, or you can select all subpaths with the following wildcard: - `/**`: Indicates that all sub-URIs are included. - `/*` : Indicates that only URIs one level down are included. By default, / supports the same resources as /** as well as the base path defined by the API proxy. For example, if the base path of the API proxy is `/v1/weatherapikey`, then the API product supports requests to `/v1/weatherapikey` and to any sub-URIs, such as `/v1/weatherapikey/forecastrss`, `/v1/weatherapikey/region/CA`, and so on. For more information, see Managing API products. + "description": "A String", # Description of the API product. Include key information about the API product that is not captured by other fields. "displayName": "A String", # Name displayed in the UI or developer portal to developers registering for API access. "environments": [ # Comma-separated list of environment names to which the API product is bound. Requests to environments that are not listed are rejected. By specifying one or more environments, you can bind the resources listed in the API product to a specific environment, preventing developers from accessing those resources through API proxies deployed in another environment. This setting is used, for example, to prevent resources associated with API proxies in `prod` from being accessed by API proxies deployed in `test`. "A String", diff --git a/docs/dyn/apigee_v1.organizations.developers.apps.html b/docs/dyn/apigee_v1.organizations.developers.apps.html index d4bb85344dc..7bb517857a8 100644 --- a/docs/dyn/apigee_v1.organizations.developers.apps.html +++ b/docs/dyn/apigee_v1.organizations.developers.apps.html @@ -95,7 +95,7 @@

Instance Methods

Deletes a developer app. **Note**: The delete operation is asynchronous. The developer app is deleted immediately, but its associated resources, such as app keys or access tokens, may take anywhere from a few seconds to a few minutes to be deleted.

generateKeyPairOrUpdateDeveloperAppStatus(name, action=None, body=None, x__xgafv=None)

-

Manages access to a developer app by enabling you to: * Approve or revoke a developer app * Generate a new consumer key and secret for a developer app To approve or revoke a developer app, set the `action` query parameter to `approved` or `revoked`, respectively, and the `Content-Type` header to `application/octet-stream`. If a developer app is revoked, none of its API keys are valid for API calls even though the keys are still `approved`. If successful, the API call returns the following HTTP status code: `204 No Content` To generate a new consumer key and secret for a developer app, pass the new key/secret details. Rather than replace an existing key, this API generates a new key. In this case, multiple key pairs may be associated with a single developer app. Each key pair has an independent status (`approved` or `revoked`) and expiration time. Any approved, non-expired key can be used in an API call. For example, if you're using API key rotation, you can generate new keys with expiration times that overlap keys that are going to expire. You might also generate a new consumer key/secret if the security of the original key/secret is compromised. The `keyExpiresIn` property defines the expiration time for the API key in milliseconds. If you don't set this property or set it to `-1`, the API key never expires. **Notes**: * When generating a new key/secret, this API replaces the existing attributes, notes, and callback URLs with those specified in the request. Include or exclude any existing information that you want to retain or delete, respectively. * To migrate existing consumer keys and secrets to hybrid from another system, see the CreateDeveloperAppKey API.

+

Manages access to a developer app by enabling you to: * Approve or revoke a developer app * Generate a new consumer key and secret for a developer app To approve or revoke a developer app, set the `action` query parameter to `approve` or `revoke`, respectively, and the `Content-Type` header to `application/octet-stream`. If a developer app is revoked, none of its API keys are valid for API calls even though the keys are still approved. If successful, the API call returns the following HTTP status code: `204 No Content` To generate a new consumer key and secret for a developer app, pass the new key/secret details. Rather than replace an existing key, this API generates a new key. In this case, multiple key pairs may be associated with a single developer app. Each key pair has an independent status (`approve` or `revoke`) and expiration time. Any approved, non-expired key can be used in an API call. For example, if you're using API key rotation, you can generate new keys with expiration times that overlap keys that are going to expire. You might also generate a new consumer key/secret if the security of the original key/secret is compromised. The `keyExpiresIn` property defines the expiration time for the API key in milliseconds. If you don't set this property or set it to `-1`, the API key never expires. **Notes**: * When generating a new key/secret, this API replaces the existing attributes, notes, and callback URLs with those specified in the request. Include or exclude any existing information that you want to retain or delete, respectively. * To migrate existing consumer keys and secrets to hybrid from another system, see the CreateDeveloperAppKey API.

get(name, entity=None, query=None, x__xgafv=None)

Returns the details for a developer app.

@@ -290,7 +290,7 @@

Method Details

generateKeyPairOrUpdateDeveloperAppStatus(name, action=None, body=None, x__xgafv=None) -
Manages access to a developer app by enabling you to: * Approve or revoke a developer app * Generate a new consumer key and secret for a developer app To approve or revoke a developer app, set the `action` query parameter to `approved` or `revoked`, respectively, and the `Content-Type` header to `application/octet-stream`. If a developer app is revoked, none of its API keys are valid for API calls even though the keys are still `approved`. If successful, the API call returns the following HTTP status code: `204 No Content` To generate a new consumer key and secret for a developer app, pass the new key/secret details. Rather than replace an existing key, this API generates a new key. In this case, multiple key pairs may be associated with a single developer app. Each key pair has an independent status (`approved` or `revoked`) and expiration time. Any approved, non-expired key can be used in an API call. For example, if you're using API key rotation, you can generate new keys with expiration times that overlap keys that are going to expire. You might also generate a new consumer key/secret if the security of the original key/secret is compromised. The `keyExpiresIn` property defines the expiration time for the API key in milliseconds. If you don't set this property or set it to `-1`, the API key never expires. **Notes**: * When generating a new key/secret, this API replaces the existing attributes, notes, and callback URLs with those specified in the request. Include or exclude any existing information that you want to retain or delete, respectively. * To migrate existing consumer keys and secrets to hybrid from another system, see the CreateDeveloperAppKey API.
+  
Manages access to a developer app by enabling you to: * Approve or revoke a developer app * Generate a new consumer key and secret for a developer app To approve or revoke a developer app, set the `action` query parameter to `approve` or `revoke`, respectively, and the `Content-Type` header to `application/octet-stream`. If a developer app is revoked, none of its API keys are valid for API calls even though the keys are still approved. If successful, the API call returns the following HTTP status code: `204 No Content` To generate a new consumer key and secret for a developer app, pass the new key/secret details. Rather than replace an existing key, this API generates a new key. In this case, multiple key pairs may be associated with a single developer app. Each key pair has an independent status (`approve` or `revoke`) and expiration time. Any approved, non-expired key can be used in an API call. For example, if you're using API key rotation, you can generate new keys with expiration times that overlap keys that are going to expire. You might also generate a new consumer key/secret if the security of the original key/secret is compromised. The `keyExpiresIn` property defines the expiration time for the API key in milliseconds. If you don't set this property or set it to `-1`, the API key never expires. **Notes**: * When generating a new key/secret, this API replaces the existing attributes, notes, and callback URLs with those specified in the request. Include or exclude any existing information that you want to retain or delete, respectively. * To migrate existing consumer keys and secrets to hybrid from another system, see the CreateDeveloperAppKey API.
 
 Args:
   name: string, Required. Name of the developer app. Use the following structure in your request: `organizations/{org}/developers/{developer_email}/apps/{app}` (required)
diff --git a/docs/dyn/apigee_v1.organizations.endpointAttachments.html b/docs/dyn/apigee_v1.organizations.endpointAttachments.html
index 48d0841616f..bfdd5658aae 100644
--- a/docs/dyn/apigee_v1.organizations.endpointAttachments.html
+++ b/docs/dyn/apigee_v1.organizations.endpointAttachments.html
@@ -107,7 +107,7 @@ 

Method Details

body: object, The request body. The object takes the form of: -{ # Apigee endpoint attachment. For more information, see Southbound networking patterns. +{ # Apigee endpoint attachment. For more information, see [Southbound networking patterns] (https://cloud.google.com/apigee/docs/api-platform/architecture/southbound-networking-patterns-endpoints). "host": "A String", # Output only. Host that can be used in either the HTTP target endpoint directly or as the host in target server. "location": "A String", # Required. Location of the endpoint attachment. "name": "A String", # Name of the endpoint attachment. Use the following structure in your request: `organizations/{org}/endpointAttachments/{endpoint_attachment}` @@ -194,7 +194,7 @@

Method Details

Returns: An object of the form: - { # Apigee endpoint attachment. For more information, see Southbound networking patterns. + { # Apigee endpoint attachment. For more information, see [Southbound networking patterns] (https://cloud.google.com/apigee/docs/api-platform/architecture/southbound-networking-patterns-endpoints). "host": "A String", # Output only. Host that can be used in either the HTTP target endpoint directly or as the host in target server. "location": "A String", # Required. Location of the endpoint attachment. "name": "A String", # Name of the endpoint attachment. Use the following structure in your request: `organizations/{org}/endpointAttachments/{endpoint_attachment}` @@ -221,7 +221,7 @@

Method Details

{ # Response for ListEndpointAttachments method. "endpointAttachments": [ # Endpoint attachments in the specified organization. - { # Apigee endpoint attachment. For more information, see Southbound networking patterns. + { # Apigee endpoint attachment. For more information, see [Southbound networking patterns] (https://cloud.google.com/apigee/docs/api-platform/architecture/southbound-networking-patterns-endpoints). "host": "A String", # Output only. Host that can be used in either the HTTP target endpoint directly or as the host in target server. "location": "A String", # Required. Location of the endpoint attachment. "name": "A String", # Name of the endpoint attachment. Use the following structure in your request: `organizations/{org}/endpointAttachments/{endpoint_attachment}` diff --git a/docs/dyn/apigee_v1.organizations.environments.html b/docs/dyn/apigee_v1.organizations.environments.html index f741dff034e..e884a473026 100644 --- a/docs/dyn/apigee_v1.organizations.environments.html +++ b/docs/dyn/apigee_v1.organizations.environments.html @@ -167,7 +167,7 @@

Instance Methods

Creates an environment in an organization.

delete(name, x__xgafv=None)

-

Deletes an environment from an organization. **Note**: You must delete all key value maps and key value entries before you can delete an environment.

+

Deletes an environment from an organization. **Warning: You must delete all key value maps and key value entries before you delete an environment.** Otherwise, if you re-create the environment the key value map entry operations will encounter encryption/decryption discrepancies.

get(name, x__xgafv=None)

Gets environment details.

@@ -274,7 +274,7 @@

Method Details

delete(name, x__xgafv=None) -
Deletes an environment from an organization. **Note**: You must delete all key value maps and key value entries before you can delete an environment.
+  
Deletes an environment from an organization. **Warning: You must delete all key value maps and key value entries before you delete an environment.** Otherwise, if you re-create the environment the key value map entry operations will encounter encryption/decryption discrepancies.
 
 Args:
   name: string, Required. Name of the environment. Use the following structure in your request: `organizations/{org}/environments/{env}` (required)
diff --git a/docs/dyn/apigee_v1.organizations.environments.keystores.html b/docs/dyn/apigee_v1.organizations.environments.keystores.html
index 936aa0dd940..c09fae31789 100644
--- a/docs/dyn/apigee_v1.organizations.environments.keystores.html
+++ b/docs/dyn/apigee_v1.organizations.environments.keystores.html
@@ -110,7 +110,7 @@ 

Method Details

"aliases": [ # Output only. Aliases in this keystore. "A String", ], - "name": "A String", # Required. Resource ID for this keystore. Values must match the regular expression `[\w[:space:]-.]{1,255}`. + "name": "A String", # Required. Resource ID for this keystore. Values must match the regular expression `[\w[:space:].-]{1,255}`. } name: string, Optional. Name of the keystore. Overrides the value in Keystore. @@ -126,7 +126,7 @@

Method Details

"aliases": [ # Output only. Aliases in this keystore. "A String", ], - "name": "A String", # Required. Resource ID for this keystore. Values must match the regular expression `[\w[:space:]-.]{1,255}`. + "name": "A String", # Required. Resource ID for this keystore. Values must match the regular expression `[\w[:space:].-]{1,255}`. }
@@ -148,7 +148,7 @@

Method Details

"aliases": [ # Output only. Aliases in this keystore. "A String", ], - "name": "A String", # Required. Resource ID for this keystore. Values must match the regular expression `[\w[:space:]-.]{1,255}`. + "name": "A String", # Required. Resource ID for this keystore. Values must match the regular expression `[\w[:space:].-]{1,255}`. }
@@ -170,7 +170,7 @@

Method Details

"aliases": [ # Output only. Aliases in this keystore. "A String", ], - "name": "A String", # Required. Resource ID for this keystore. Values must match the regular expression `[\w[:space:]-.]{1,255}`. + "name": "A String", # Required. Resource ID for this keystore. Values must match the regular expression `[\w[:space:].-]{1,255}`. }
diff --git a/docs/dyn/apigee_v1.organizations.html b/docs/dyn/apigee_v1.organizations.html index 53371db6b95..982f5a15f24 100644 --- a/docs/dyn/apigee_v1.organizations.html +++ b/docs/dyn/apigee_v1.organizations.html @@ -187,7 +187,7 @@

Instance Methods

Creates an Apigee organization. See [Create an Apigee organization](https://cloud.google.com/apigee/docs/api-platform/get-started/create-org).

delete(name, retention=None, x__xgafv=None)

-

Delete an Apigee organization. For organizations with BillingType EVALUATION, an immediate deletion is performed. For paid organizations, a soft-deletion is performed. The organization can be restored within the soft-deletion period - which can be controlled using the retention field in the request.

+

Delete an Apigee organization. For organizations with BillingType EVALUATION, an immediate deletion is performed. For paid organizations, a soft-deletion is performed. The organization can be restored within the soft-deletion period which can be controlled using the retention field in the request.

get(name, x__xgafv=None)

Gets the profile for an Apigee organization. See [Understanding organizations](https://cloud.google.com/apigee/docs/api-platform/fundamentals/organization-structure).

@@ -316,13 +316,13 @@

Method Details

delete(name, retention=None, x__xgafv=None) -
Delete an Apigee organization. For organizations with BillingType EVALUATION, an immediate deletion is performed. For paid organizations, a soft-deletion is performed. The organization can be restored within the soft-deletion period - which can be controlled using the retention field in the request.
+  
Delete an Apigee organization. For organizations with BillingType EVALUATION, an immediate deletion is performed. For paid organizations, a soft-deletion is performed. The organization can be restored within the soft-deletion period which can be controlled using the retention field in the request.
 
 Args:
   name: string, Required. Name of the organization. Use the following structure in your request: `organizations/{org}` (required)
-  retention: string, Optional. This setting is only applicable for organizations that are soft-deleted (i.e. BillingType is not EVALUATION). It controls how long Organization data will be retained after the initial delete operation completes. During this period, the Organization may be restored to its last known state. After this period, the Organization will no longer be able to be restored.
+  retention: string, Optional. This setting is applicable only for organizations that are soft-deleted (i.e., BillingType is not EVALUATION). It controls how long Organization data will be retained after the initial delete operation completes. During this period, the Organization may be restored to its last known state. After this period, the Organization will no longer be able to be restored.
     Allowed values
-      DELETION_RETENTION_UNSPECIFIED - Default data retention settings will be applied.
+      DELETION_RETENTION_UNSPECIFIED - Default data retention setting of seven days will be applied.
       MINIMUM - Organization data will be retained for the minimum period of 24 hours.
   x__xgafv: string, V1 error format.
     Allowed values
diff --git a/docs/dyn/apigee_v1.organizations.instances.html b/docs/dyn/apigee_v1.organizations.instances.html
index 32162a6a22b..edc71dcd76e 100644
--- a/docs/dyn/apigee_v1.organizations.instances.html
+++ b/docs/dyn/apigee_v1.organizations.instances.html
@@ -137,7 +137,7 @@ 

Method Details

"diskEncryptionKeyName": "A String", # Customer Managed Encryption Key (CMEK) used for disk and volume encryption. Required for Apigee paid subscriptions only. Use the following format: `projects/([^/]+)/locations/([^/]+)/keyRings/([^/]+)/cryptoKeys/([^/]+)` "displayName": "A String", # Optional. Display name for the instance. "host": "A String", # Output only. Internal hostname or IP address of the Apigee endpoint used by clients to connect to the service. - "ipRange": "A String", # Optional. IP range represents the customer-provided CIDR block of length 22 that will be used for the Apigee instance creation. This optional range, if provided, should be freely available as part of larger named range the customer has allocated to the Service Networking peering. If this is not provided, Apigee will automatically request for any available /22 CIDR block from Service Networking. The customer should use this CIDR block for configuring their firewall needs to allow traffic from Apigee. Input format: "a.b.c.d/22", Output format: a.b.c.d/22, e.f.g.h/28" + "ipRange": "A String", # Optional. Comma-separated list of CIDR blocks of length 22 and/or 28 used to create the Apigee instance. Providing CIDR ranges is optional. You can provide just /22 or /28 or both (or neither). Ranges you provide should be freely available as part of a larger named range you have allocated to the Service Networking peering. If this parameter is not provided, Apigee automatically requests an available /22 and /28 CIDR block from Service Networking. Use the /22 CIDR block for configuring your firewall needs to allow traffic from Apigee. Input formats: `a.b.c.d/22` or `e.f.g.h/28` or `a.b.c.d/22,e.f.g.h/28` "lastModifiedAt": "A String", # Output only. Time the instance was last modified in milliseconds since epoch. "location": "A String", # Required. Compute Engine location where the instance resides. "name": "A String", # Required. Resource ID of the instance. Values must match the regular expression `^a-z{0,30}[a-z\d]$`. @@ -235,7 +235,7 @@

Method Details

"diskEncryptionKeyName": "A String", # Customer Managed Encryption Key (CMEK) used for disk and volume encryption. Required for Apigee paid subscriptions only. Use the following format: `projects/([^/]+)/locations/([^/]+)/keyRings/([^/]+)/cryptoKeys/([^/]+)` "displayName": "A String", # Optional. Display name for the instance. "host": "A String", # Output only. Internal hostname or IP address of the Apigee endpoint used by clients to connect to the service. - "ipRange": "A String", # Optional. IP range represents the customer-provided CIDR block of length 22 that will be used for the Apigee instance creation. This optional range, if provided, should be freely available as part of larger named range the customer has allocated to the Service Networking peering. If this is not provided, Apigee will automatically request for any available /22 CIDR block from Service Networking. The customer should use this CIDR block for configuring their firewall needs to allow traffic from Apigee. Input format: "a.b.c.d/22", Output format: a.b.c.d/22, e.f.g.h/28" + "ipRange": "A String", # Optional. Comma-separated list of CIDR blocks of length 22 and/or 28 used to create the Apigee instance. Providing CIDR ranges is optional. You can provide just /22 or /28 or both (or neither). Ranges you provide should be freely available as part of a larger named range you have allocated to the Service Networking peering. If this parameter is not provided, Apigee automatically requests an available /22 and /28 CIDR block from Service Networking. Use the /22 CIDR block for configuring your firewall needs to allow traffic from Apigee. Input formats: `a.b.c.d/22` or `e.f.g.h/28` or `a.b.c.d/22,e.f.g.h/28` "lastModifiedAt": "A String", # Output only. Time the instance was last modified in milliseconds since epoch. "location": "A String", # Required. Compute Engine location where the instance resides. "name": "A String", # Required. Resource ID of the instance. Values must match the regular expression `^a-z{0,30}[a-z\d]$`. @@ -274,7 +274,7 @@

Method Details

"diskEncryptionKeyName": "A String", # Customer Managed Encryption Key (CMEK) used for disk and volume encryption. Required for Apigee paid subscriptions only. Use the following format: `projects/([^/]+)/locations/([^/]+)/keyRings/([^/]+)/cryptoKeys/([^/]+)` "displayName": "A String", # Optional. Display name for the instance. "host": "A String", # Output only. Internal hostname or IP address of the Apigee endpoint used by clients to connect to the service. - "ipRange": "A String", # Optional. IP range represents the customer-provided CIDR block of length 22 that will be used for the Apigee instance creation. This optional range, if provided, should be freely available as part of larger named range the customer has allocated to the Service Networking peering. If this is not provided, Apigee will automatically request for any available /22 CIDR block from Service Networking. The customer should use this CIDR block for configuring their firewall needs to allow traffic from Apigee. Input format: "a.b.c.d/22", Output format: a.b.c.d/22, e.f.g.h/28" + "ipRange": "A String", # Optional. Comma-separated list of CIDR blocks of length 22 and/or 28 used to create the Apigee instance. Providing CIDR ranges is optional. You can provide just /22 or /28 or both (or neither). Ranges you provide should be freely available as part of a larger named range you have allocated to the Service Networking peering. If this parameter is not provided, Apigee automatically requests an available /22 and /28 CIDR block from Service Networking. Use the /22 CIDR block for configuring your firewall needs to allow traffic from Apigee. Input formats: `a.b.c.d/22` or `e.f.g.h/28` or `a.b.c.d/22,e.f.g.h/28` "lastModifiedAt": "A String", # Output only. Time the instance was last modified in milliseconds since epoch. "location": "A String", # Required. Compute Engine location where the instance resides. "name": "A String", # Required. Resource ID of the instance. Values must match the regular expression `^a-z{0,30}[a-z\d]$`. @@ -321,7 +321,7 @@

Method Details

"diskEncryptionKeyName": "A String", # Customer Managed Encryption Key (CMEK) used for disk and volume encryption. Required for Apigee paid subscriptions only. Use the following format: `projects/([^/]+)/locations/([^/]+)/keyRings/([^/]+)/cryptoKeys/([^/]+)` "displayName": "A String", # Optional. Display name for the instance. "host": "A String", # Output only. Internal hostname or IP address of the Apigee endpoint used by clients to connect to the service. - "ipRange": "A String", # Optional. IP range represents the customer-provided CIDR block of length 22 that will be used for the Apigee instance creation. This optional range, if provided, should be freely available as part of larger named range the customer has allocated to the Service Networking peering. If this is not provided, Apigee will automatically request for any available /22 CIDR block from Service Networking. The customer should use this CIDR block for configuring their firewall needs to allow traffic from Apigee. Input format: "a.b.c.d/22", Output format: a.b.c.d/22, e.f.g.h/28" + "ipRange": "A String", # Optional. Comma-separated list of CIDR blocks of length 22 and/or 28 used to create the Apigee instance. Providing CIDR ranges is optional. You can provide just /22 or /28 or both (or neither). Ranges you provide should be freely available as part of a larger named range you have allocated to the Service Networking peering. If this parameter is not provided, Apigee automatically requests an available /22 and /28 CIDR block from Service Networking. Use the /22 CIDR block for configuring your firewall needs to allow traffic from Apigee. Input formats: `a.b.c.d/22` or `e.f.g.h/28` or `a.b.c.d/22,e.f.g.h/28` "lastModifiedAt": "A String", # Output only. Time the instance was last modified in milliseconds since epoch. "location": "A String", # Required. Compute Engine location where the instance resides. "name": "A String", # Required. Resource ID of the instance. Values must match the regular expression `^a-z{0,30}[a-z\d]$`. diff --git a/docs/dyn/artifactregistry_v1.projects.locations.repositories.html b/docs/dyn/artifactregistry_v1.projects.locations.repositories.html index 1ef270a6db8..2699c36ca4d 100644 --- a/docs/dyn/artifactregistry_v1.projects.locations.repositories.html +++ b/docs/dyn/artifactregistry_v1.projects.locations.repositories.html @@ -297,7 +297,7 @@

Method Details

"location": "A String", # Optional. String indicating the location of the expression for error reporting, e.g. a file name and a position in the file. "title": "A String", # Optional. Title for the expression, i.e. a short string describing its purpose. This can be used e.g. in UIs which allow to enter the expression. }, - "members": [ # Specifies the principals requesting access for a Google Cloud resource. `members` can have the following values: * `allUsers`: A special identifier that represents anyone who is on the internet; with or without a Google account. * `allAuthenticatedUsers`: A special identifier that represents anyone who is authenticated with a Google account or a service account. * `user:{emailid}`: An email address that represents a specific Google account. For example, `alice@example.com` . * `serviceAccount:{emailid}`: An email address that represents a service account. For example, `my-other-app@appspot.gserviceaccount.com`. * `group:{emailid}`: An email address that represents a Google group. For example, `admins@example.com`. * `deleted:user:{emailid}?uid={uniqueid}`: An email address (plus unique identifier) representing a user that has been recently deleted. For example, `alice@example.com?uid=123456789012345678901`. If the user is recovered, this value reverts to `user:{emailid}` and the recovered user retains the role in the binding. * `deleted:serviceAccount:{emailid}?uid={uniqueid}`: An email address (plus unique identifier) representing a service account that has been recently deleted. For example, `my-other-app@appspot.gserviceaccount.com?uid=123456789012345678901`. If the service account is undeleted, this value reverts to `serviceAccount:{emailid}` and the undeleted service account retains the role in the binding. * `deleted:group:{emailid}?uid={uniqueid}`: An email address (plus unique identifier) representing a Google group that has been recently deleted. For example, `admins@example.com?uid=123456789012345678901`. If the group is recovered, this value reverts to `group:{emailid}` and the recovered group retains the role in the binding. * `domain:{domain}`: The G Suite domain (primary) that represents all the users of that domain. For example, `google.com` or `example.com`. + "members": [ # Specifies the principals requesting access for a Google Cloud resource. `members` can have the following values: * `allUsers`: A special identifier that represents anyone who is on the internet; with or without a Google account. * `allAuthenticatedUsers`: A special identifier that represents anyone who is authenticated with a Google account or a service account. * `user:{emailid}`: An email address that represents a specific Google account. For example, `alice@example.com` . * `serviceAccount:{emailid}`: An email address that represents a Google service account. For example, `my-other-app@appspot.gserviceaccount.com`. * `serviceAccount:{projectid}.svc.id.goog[{namespace}/{kubernetes-sa}]`: An identifier for a [Kubernetes service account](https://cloud.google.com/kubernetes-engine/docs/how-to/kubernetes-service-accounts). For example, `my-project.svc.id.goog[my-namespace/my-kubernetes-sa]`. * `group:{emailid}`: An email address that represents a Google group. For example, `admins@example.com`. * `deleted:user:{emailid}?uid={uniqueid}`: An email address (plus unique identifier) representing a user that has been recently deleted. For example, `alice@example.com?uid=123456789012345678901`. If the user is recovered, this value reverts to `user:{emailid}` and the recovered user retains the role in the binding. * `deleted:serviceAccount:{emailid}?uid={uniqueid}`: An email address (plus unique identifier) representing a service account that has been recently deleted. For example, `my-other-app@appspot.gserviceaccount.com?uid=123456789012345678901`. If the service account is undeleted, this value reverts to `serviceAccount:{emailid}` and the undeleted service account retains the role in the binding. * `deleted:group:{emailid}?uid={uniqueid}`: An email address (plus unique identifier) representing a Google group that has been recently deleted. For example, `admins@example.com?uid=123456789012345678901`. If the group is recovered, this value reverts to `group:{emailid}` and the recovered group retains the role in the binding. * `domain:{domain}`: The G Suite domain (primary) that represents all the users of that domain. For example, `google.com` or `example.com`. "A String", ], "role": "A String", # Role that is assigned to the list of `members`, or principals. For example, `roles/viewer`, `roles/editor`, or `roles/owner`. @@ -433,7 +433,7 @@

Method Details

"location": "A String", # Optional. String indicating the location of the expression for error reporting, e.g. a file name and a position in the file. "title": "A String", # Optional. Title for the expression, i.e. a short string describing its purpose. This can be used e.g. in UIs which allow to enter the expression. }, - "members": [ # Specifies the principals requesting access for a Google Cloud resource. `members` can have the following values: * `allUsers`: A special identifier that represents anyone who is on the internet; with or without a Google account. * `allAuthenticatedUsers`: A special identifier that represents anyone who is authenticated with a Google account or a service account. * `user:{emailid}`: An email address that represents a specific Google account. For example, `alice@example.com` . * `serviceAccount:{emailid}`: An email address that represents a service account. For example, `my-other-app@appspot.gserviceaccount.com`. * `group:{emailid}`: An email address that represents a Google group. For example, `admins@example.com`. * `deleted:user:{emailid}?uid={uniqueid}`: An email address (plus unique identifier) representing a user that has been recently deleted. For example, `alice@example.com?uid=123456789012345678901`. If the user is recovered, this value reverts to `user:{emailid}` and the recovered user retains the role in the binding. * `deleted:serviceAccount:{emailid}?uid={uniqueid}`: An email address (plus unique identifier) representing a service account that has been recently deleted. For example, `my-other-app@appspot.gserviceaccount.com?uid=123456789012345678901`. If the service account is undeleted, this value reverts to `serviceAccount:{emailid}` and the undeleted service account retains the role in the binding. * `deleted:group:{emailid}?uid={uniqueid}`: An email address (plus unique identifier) representing a Google group that has been recently deleted. For example, `admins@example.com?uid=123456789012345678901`. If the group is recovered, this value reverts to `group:{emailid}` and the recovered group retains the role in the binding. * `domain:{domain}`: The G Suite domain (primary) that represents all the users of that domain. For example, `google.com` or `example.com`. + "members": [ # Specifies the principals requesting access for a Google Cloud resource. `members` can have the following values: * `allUsers`: A special identifier that represents anyone who is on the internet; with or without a Google account. * `allAuthenticatedUsers`: A special identifier that represents anyone who is authenticated with a Google account or a service account. * `user:{emailid}`: An email address that represents a specific Google account. For example, `alice@example.com` . * `serviceAccount:{emailid}`: An email address that represents a Google service account. For example, `my-other-app@appspot.gserviceaccount.com`. * `serviceAccount:{projectid}.svc.id.goog[{namespace}/{kubernetes-sa}]`: An identifier for a [Kubernetes service account](https://cloud.google.com/kubernetes-engine/docs/how-to/kubernetes-service-accounts). For example, `my-project.svc.id.goog[my-namespace/my-kubernetes-sa]`. * `group:{emailid}`: An email address that represents a Google group. For example, `admins@example.com`. * `deleted:user:{emailid}?uid={uniqueid}`: An email address (plus unique identifier) representing a user that has been recently deleted. For example, `alice@example.com?uid=123456789012345678901`. If the user is recovered, this value reverts to `user:{emailid}` and the recovered user retains the role in the binding. * `deleted:serviceAccount:{emailid}?uid={uniqueid}`: An email address (plus unique identifier) representing a service account that has been recently deleted. For example, `my-other-app@appspot.gserviceaccount.com?uid=123456789012345678901`. If the service account is undeleted, this value reverts to `serviceAccount:{emailid}` and the undeleted service account retains the role in the binding. * `deleted:group:{emailid}?uid={uniqueid}`: An email address (plus unique identifier) representing a Google group that has been recently deleted. For example, `admins@example.com?uid=123456789012345678901`. If the group is recovered, this value reverts to `group:{emailid}` and the recovered group retains the role in the binding. * `domain:{domain}`: The G Suite domain (primary) that represents all the users of that domain. For example, `google.com` or `example.com`. "A String", ], "role": "A String", # Role that is assigned to the list of `members`, or principals. For example, `roles/viewer`, `roles/editor`, or `roles/owner`. @@ -461,7 +461,7 @@

Method Details

"location": "A String", # Optional. String indicating the location of the expression for error reporting, e.g. a file name and a position in the file. "title": "A String", # Optional. Title for the expression, i.e. a short string describing its purpose. This can be used e.g. in UIs which allow to enter the expression. }, - "members": [ # Specifies the principals requesting access for a Google Cloud resource. `members` can have the following values: * `allUsers`: A special identifier that represents anyone who is on the internet; with or without a Google account. * `allAuthenticatedUsers`: A special identifier that represents anyone who is authenticated with a Google account or a service account. * `user:{emailid}`: An email address that represents a specific Google account. For example, `alice@example.com` . * `serviceAccount:{emailid}`: An email address that represents a service account. For example, `my-other-app@appspot.gserviceaccount.com`. * `group:{emailid}`: An email address that represents a Google group. For example, `admins@example.com`. * `deleted:user:{emailid}?uid={uniqueid}`: An email address (plus unique identifier) representing a user that has been recently deleted. For example, `alice@example.com?uid=123456789012345678901`. If the user is recovered, this value reverts to `user:{emailid}` and the recovered user retains the role in the binding. * `deleted:serviceAccount:{emailid}?uid={uniqueid}`: An email address (plus unique identifier) representing a service account that has been recently deleted. For example, `my-other-app@appspot.gserviceaccount.com?uid=123456789012345678901`. If the service account is undeleted, this value reverts to `serviceAccount:{emailid}` and the undeleted service account retains the role in the binding. * `deleted:group:{emailid}?uid={uniqueid}`: An email address (plus unique identifier) representing a Google group that has been recently deleted. For example, `admins@example.com?uid=123456789012345678901`. If the group is recovered, this value reverts to `group:{emailid}` and the recovered group retains the role in the binding. * `domain:{domain}`: The G Suite domain (primary) that represents all the users of that domain. For example, `google.com` or `example.com`. + "members": [ # Specifies the principals requesting access for a Google Cloud resource. `members` can have the following values: * `allUsers`: A special identifier that represents anyone who is on the internet; with or without a Google account. * `allAuthenticatedUsers`: A special identifier that represents anyone who is authenticated with a Google account or a service account. * `user:{emailid}`: An email address that represents a specific Google account. For example, `alice@example.com` . * `serviceAccount:{emailid}`: An email address that represents a Google service account. For example, `my-other-app@appspot.gserviceaccount.com`. * `serviceAccount:{projectid}.svc.id.goog[{namespace}/{kubernetes-sa}]`: An identifier for a [Kubernetes service account](https://cloud.google.com/kubernetes-engine/docs/how-to/kubernetes-service-accounts). For example, `my-project.svc.id.goog[my-namespace/my-kubernetes-sa]`. * `group:{emailid}`: An email address that represents a Google group. For example, `admins@example.com`. * `deleted:user:{emailid}?uid={uniqueid}`: An email address (plus unique identifier) representing a user that has been recently deleted. For example, `alice@example.com?uid=123456789012345678901`. If the user is recovered, this value reverts to `user:{emailid}` and the recovered user retains the role in the binding. * `deleted:serviceAccount:{emailid}?uid={uniqueid}`: An email address (plus unique identifier) representing a service account that has been recently deleted. For example, `my-other-app@appspot.gserviceaccount.com?uid=123456789012345678901`. If the service account is undeleted, this value reverts to `serviceAccount:{emailid}` and the undeleted service account retains the role in the binding. * `deleted:group:{emailid}?uid={uniqueid}`: An email address (plus unique identifier) representing a Google group that has been recently deleted. For example, `admins@example.com?uid=123456789012345678901`. If the group is recovered, this value reverts to `group:{emailid}` and the recovered group retains the role in the binding. * `domain:{domain}`: The G Suite domain (primary) that represents all the users of that domain. For example, `google.com` or `example.com`. "A String", ], "role": "A String", # Role that is assigned to the list of `members`, or principals. For example, `roles/viewer`, `roles/editor`, or `roles/owner`. diff --git a/docs/dyn/artifactregistry_v1beta1.projects.locations.repositories.html b/docs/dyn/artifactregistry_v1beta1.projects.locations.repositories.html index 4af89fa6e2f..f538e0b655a 100644 --- a/docs/dyn/artifactregistry_v1beta1.projects.locations.repositories.html +++ b/docs/dyn/artifactregistry_v1beta1.projects.locations.repositories.html @@ -259,7 +259,7 @@

Method Details

"location": "A String", # Optional. String indicating the location of the expression for error reporting, e.g. a file name and a position in the file. "title": "A String", # Optional. Title for the expression, i.e. a short string describing its purpose. This can be used e.g. in UIs which allow to enter the expression. }, - "members": [ # Specifies the principals requesting access for a Google Cloud resource. `members` can have the following values: * `allUsers`: A special identifier that represents anyone who is on the internet; with or without a Google account. * `allAuthenticatedUsers`: A special identifier that represents anyone who is authenticated with a Google account or a service account. * `user:{emailid}`: An email address that represents a specific Google account. For example, `alice@example.com` . * `serviceAccount:{emailid}`: An email address that represents a service account. For example, `my-other-app@appspot.gserviceaccount.com`. * `group:{emailid}`: An email address that represents a Google group. For example, `admins@example.com`. * `deleted:user:{emailid}?uid={uniqueid}`: An email address (plus unique identifier) representing a user that has been recently deleted. For example, `alice@example.com?uid=123456789012345678901`. If the user is recovered, this value reverts to `user:{emailid}` and the recovered user retains the role in the binding. * `deleted:serviceAccount:{emailid}?uid={uniqueid}`: An email address (plus unique identifier) representing a service account that has been recently deleted. For example, `my-other-app@appspot.gserviceaccount.com?uid=123456789012345678901`. If the service account is undeleted, this value reverts to `serviceAccount:{emailid}` and the undeleted service account retains the role in the binding. * `deleted:group:{emailid}?uid={uniqueid}`: An email address (plus unique identifier) representing a Google group that has been recently deleted. For example, `admins@example.com?uid=123456789012345678901`. If the group is recovered, this value reverts to `group:{emailid}` and the recovered group retains the role in the binding. * `domain:{domain}`: The G Suite domain (primary) that represents all the users of that domain. For example, `google.com` or `example.com`. + "members": [ # Specifies the principals requesting access for a Google Cloud resource. `members` can have the following values: * `allUsers`: A special identifier that represents anyone who is on the internet; with or without a Google account. * `allAuthenticatedUsers`: A special identifier that represents anyone who is authenticated with a Google account or a service account. * `user:{emailid}`: An email address that represents a specific Google account. For example, `alice@example.com` . * `serviceAccount:{emailid}`: An email address that represents a Google service account. For example, `my-other-app@appspot.gserviceaccount.com`. * `serviceAccount:{projectid}.svc.id.goog[{namespace}/{kubernetes-sa}]`: An identifier for a [Kubernetes service account](https://cloud.google.com/kubernetes-engine/docs/how-to/kubernetes-service-accounts). For example, `my-project.svc.id.goog[my-namespace/my-kubernetes-sa]`. * `group:{emailid}`: An email address that represents a Google group. For example, `admins@example.com`. * `deleted:user:{emailid}?uid={uniqueid}`: An email address (plus unique identifier) representing a user that has been recently deleted. For example, `alice@example.com?uid=123456789012345678901`. If the user is recovered, this value reverts to `user:{emailid}` and the recovered user retains the role in the binding. * `deleted:serviceAccount:{emailid}?uid={uniqueid}`: An email address (plus unique identifier) representing a service account that has been recently deleted. For example, `my-other-app@appspot.gserviceaccount.com?uid=123456789012345678901`. If the service account is undeleted, this value reverts to `serviceAccount:{emailid}` and the undeleted service account retains the role in the binding. * `deleted:group:{emailid}?uid={uniqueid}`: An email address (plus unique identifier) representing a Google group that has been recently deleted. For example, `admins@example.com?uid=123456789012345678901`. If the group is recovered, this value reverts to `group:{emailid}` and the recovered group retains the role in the binding. * `domain:{domain}`: The G Suite domain (primary) that represents all the users of that domain. For example, `google.com` or `example.com`. "A String", ], "role": "A String", # Role that is assigned to the list of `members`, or principals. For example, `roles/viewer`, `roles/editor`, or `roles/owner`. @@ -383,7 +383,7 @@

Method Details

"location": "A String", # Optional. String indicating the location of the expression for error reporting, e.g. a file name and a position in the file. "title": "A String", # Optional. Title for the expression, i.e. a short string describing its purpose. This can be used e.g. in UIs which allow to enter the expression. }, - "members": [ # Specifies the principals requesting access for a Google Cloud resource. `members` can have the following values: * `allUsers`: A special identifier that represents anyone who is on the internet; with or without a Google account. * `allAuthenticatedUsers`: A special identifier that represents anyone who is authenticated with a Google account or a service account. * `user:{emailid}`: An email address that represents a specific Google account. For example, `alice@example.com` . * `serviceAccount:{emailid}`: An email address that represents a service account. For example, `my-other-app@appspot.gserviceaccount.com`. * `group:{emailid}`: An email address that represents a Google group. For example, `admins@example.com`. * `deleted:user:{emailid}?uid={uniqueid}`: An email address (plus unique identifier) representing a user that has been recently deleted. For example, `alice@example.com?uid=123456789012345678901`. If the user is recovered, this value reverts to `user:{emailid}` and the recovered user retains the role in the binding. * `deleted:serviceAccount:{emailid}?uid={uniqueid}`: An email address (plus unique identifier) representing a service account that has been recently deleted. For example, `my-other-app@appspot.gserviceaccount.com?uid=123456789012345678901`. If the service account is undeleted, this value reverts to `serviceAccount:{emailid}` and the undeleted service account retains the role in the binding. * `deleted:group:{emailid}?uid={uniqueid}`: An email address (plus unique identifier) representing a Google group that has been recently deleted. For example, `admins@example.com?uid=123456789012345678901`. If the group is recovered, this value reverts to `group:{emailid}` and the recovered group retains the role in the binding. * `domain:{domain}`: The G Suite domain (primary) that represents all the users of that domain. For example, `google.com` or `example.com`. + "members": [ # Specifies the principals requesting access for a Google Cloud resource. `members` can have the following values: * `allUsers`: A special identifier that represents anyone who is on the internet; with or without a Google account. * `allAuthenticatedUsers`: A special identifier that represents anyone who is authenticated with a Google account or a service account. * `user:{emailid}`: An email address that represents a specific Google account. For example, `alice@example.com` . * `serviceAccount:{emailid}`: An email address that represents a Google service account. For example, `my-other-app@appspot.gserviceaccount.com`. * `serviceAccount:{projectid}.svc.id.goog[{namespace}/{kubernetes-sa}]`: An identifier for a [Kubernetes service account](https://cloud.google.com/kubernetes-engine/docs/how-to/kubernetes-service-accounts). For example, `my-project.svc.id.goog[my-namespace/my-kubernetes-sa]`. * `group:{emailid}`: An email address that represents a Google group. For example, `admins@example.com`. * `deleted:user:{emailid}?uid={uniqueid}`: An email address (plus unique identifier) representing a user that has been recently deleted. For example, `alice@example.com?uid=123456789012345678901`. If the user is recovered, this value reverts to `user:{emailid}` and the recovered user retains the role in the binding. * `deleted:serviceAccount:{emailid}?uid={uniqueid}`: An email address (plus unique identifier) representing a service account that has been recently deleted. For example, `my-other-app@appspot.gserviceaccount.com?uid=123456789012345678901`. If the service account is undeleted, this value reverts to `serviceAccount:{emailid}` and the undeleted service account retains the role in the binding. * `deleted:group:{emailid}?uid={uniqueid}`: An email address (plus unique identifier) representing a Google group that has been recently deleted. For example, `admins@example.com?uid=123456789012345678901`. If the group is recovered, this value reverts to `group:{emailid}` and the recovered group retains the role in the binding. * `domain:{domain}`: The G Suite domain (primary) that represents all the users of that domain. For example, `google.com` or `example.com`. "A String", ], "role": "A String", # Role that is assigned to the list of `members`, or principals. For example, `roles/viewer`, `roles/editor`, or `roles/owner`. @@ -411,7 +411,7 @@

Method Details

"location": "A String", # Optional. String indicating the location of the expression for error reporting, e.g. a file name and a position in the file. "title": "A String", # Optional. Title for the expression, i.e. a short string describing its purpose. This can be used e.g. in UIs which allow to enter the expression. }, - "members": [ # Specifies the principals requesting access for a Google Cloud resource. `members` can have the following values: * `allUsers`: A special identifier that represents anyone who is on the internet; with or without a Google account. * `allAuthenticatedUsers`: A special identifier that represents anyone who is authenticated with a Google account or a service account. * `user:{emailid}`: An email address that represents a specific Google account. For example, `alice@example.com` . * `serviceAccount:{emailid}`: An email address that represents a service account. For example, `my-other-app@appspot.gserviceaccount.com`. * `group:{emailid}`: An email address that represents a Google group. For example, `admins@example.com`. * `deleted:user:{emailid}?uid={uniqueid}`: An email address (plus unique identifier) representing a user that has been recently deleted. For example, `alice@example.com?uid=123456789012345678901`. If the user is recovered, this value reverts to `user:{emailid}` and the recovered user retains the role in the binding. * `deleted:serviceAccount:{emailid}?uid={uniqueid}`: An email address (plus unique identifier) representing a service account that has been recently deleted. For example, `my-other-app@appspot.gserviceaccount.com?uid=123456789012345678901`. If the service account is undeleted, this value reverts to `serviceAccount:{emailid}` and the undeleted service account retains the role in the binding. * `deleted:group:{emailid}?uid={uniqueid}`: An email address (plus unique identifier) representing a Google group that has been recently deleted. For example, `admins@example.com?uid=123456789012345678901`. If the group is recovered, this value reverts to `group:{emailid}` and the recovered group retains the role in the binding. * `domain:{domain}`: The G Suite domain (primary) that represents all the users of that domain. For example, `google.com` or `example.com`. + "members": [ # Specifies the principals requesting access for a Google Cloud resource. `members` can have the following values: * `allUsers`: A special identifier that represents anyone who is on the internet; with or without a Google account. * `allAuthenticatedUsers`: A special identifier that represents anyone who is authenticated with a Google account or a service account. * `user:{emailid}`: An email address that represents a specific Google account. For example, `alice@example.com` . * `serviceAccount:{emailid}`: An email address that represents a Google service account. For example, `my-other-app@appspot.gserviceaccount.com`. * `serviceAccount:{projectid}.svc.id.goog[{namespace}/{kubernetes-sa}]`: An identifier for a [Kubernetes service account](https://cloud.google.com/kubernetes-engine/docs/how-to/kubernetes-service-accounts). For example, `my-project.svc.id.goog[my-namespace/my-kubernetes-sa]`. * `group:{emailid}`: An email address that represents a Google group. For example, `admins@example.com`. * `deleted:user:{emailid}?uid={uniqueid}`: An email address (plus unique identifier) representing a user that has been recently deleted. For example, `alice@example.com?uid=123456789012345678901`. If the user is recovered, this value reverts to `user:{emailid}` and the recovered user retains the role in the binding. * `deleted:serviceAccount:{emailid}?uid={uniqueid}`: An email address (plus unique identifier) representing a service account that has been recently deleted. For example, `my-other-app@appspot.gserviceaccount.com?uid=123456789012345678901`. If the service account is undeleted, this value reverts to `serviceAccount:{emailid}` and the undeleted service account retains the role in the binding. * `deleted:group:{emailid}?uid={uniqueid}`: An email address (plus unique identifier) representing a Google group that has been recently deleted. For example, `admins@example.com?uid=123456789012345678901`. If the group is recovered, this value reverts to `group:{emailid}` and the recovered group retains the role in the binding. * `domain:{domain}`: The G Suite domain (primary) that represents all the users of that domain. For example, `google.com` or `example.com`. "A String", ], "role": "A String", # Role that is assigned to the list of `members`, or principals. For example, `roles/viewer`, `roles/editor`, or `roles/owner`. diff --git a/docs/dyn/artifactregistry_v1beta2.projects.locations.repositories.html b/docs/dyn/artifactregistry_v1beta2.projects.locations.repositories.html index a831c619685..3ffceafc971 100644 --- a/docs/dyn/artifactregistry_v1beta2.projects.locations.repositories.html +++ b/docs/dyn/artifactregistry_v1beta2.projects.locations.repositories.html @@ -277,7 +277,7 @@

Method Details

"location": "A String", # Optional. String indicating the location of the expression for error reporting, e.g. a file name and a position in the file. "title": "A String", # Optional. Title for the expression, i.e. a short string describing its purpose. This can be used e.g. in UIs which allow to enter the expression. }, - "members": [ # Specifies the principals requesting access for a Google Cloud resource. `members` can have the following values: * `allUsers`: A special identifier that represents anyone who is on the internet; with or without a Google account. * `allAuthenticatedUsers`: A special identifier that represents anyone who is authenticated with a Google account or a service account. * `user:{emailid}`: An email address that represents a specific Google account. For example, `alice@example.com` . * `serviceAccount:{emailid}`: An email address that represents a service account. For example, `my-other-app@appspot.gserviceaccount.com`. * `group:{emailid}`: An email address that represents a Google group. For example, `admins@example.com`. * `deleted:user:{emailid}?uid={uniqueid}`: An email address (plus unique identifier) representing a user that has been recently deleted. For example, `alice@example.com?uid=123456789012345678901`. If the user is recovered, this value reverts to `user:{emailid}` and the recovered user retains the role in the binding. * `deleted:serviceAccount:{emailid}?uid={uniqueid}`: An email address (plus unique identifier) representing a service account that has been recently deleted. For example, `my-other-app@appspot.gserviceaccount.com?uid=123456789012345678901`. If the service account is undeleted, this value reverts to `serviceAccount:{emailid}` and the undeleted service account retains the role in the binding. * `deleted:group:{emailid}?uid={uniqueid}`: An email address (plus unique identifier) representing a Google group that has been recently deleted. For example, `admins@example.com?uid=123456789012345678901`. If the group is recovered, this value reverts to `group:{emailid}` and the recovered group retains the role in the binding. * `domain:{domain}`: The G Suite domain (primary) that represents all the users of that domain. For example, `google.com` or `example.com`. + "members": [ # Specifies the principals requesting access for a Google Cloud resource. `members` can have the following values: * `allUsers`: A special identifier that represents anyone who is on the internet; with or without a Google account. * `allAuthenticatedUsers`: A special identifier that represents anyone who is authenticated with a Google account or a service account. * `user:{emailid}`: An email address that represents a specific Google account. For example, `alice@example.com` . * `serviceAccount:{emailid}`: An email address that represents a Google service account. For example, `my-other-app@appspot.gserviceaccount.com`. * `serviceAccount:{projectid}.svc.id.goog[{namespace}/{kubernetes-sa}]`: An identifier for a [Kubernetes service account](https://cloud.google.com/kubernetes-engine/docs/how-to/kubernetes-service-accounts). For example, `my-project.svc.id.goog[my-namespace/my-kubernetes-sa]`. * `group:{emailid}`: An email address that represents a Google group. For example, `admins@example.com`. * `deleted:user:{emailid}?uid={uniqueid}`: An email address (plus unique identifier) representing a user that has been recently deleted. For example, `alice@example.com?uid=123456789012345678901`. If the user is recovered, this value reverts to `user:{emailid}` and the recovered user retains the role in the binding. * `deleted:serviceAccount:{emailid}?uid={uniqueid}`: An email address (plus unique identifier) representing a service account that has been recently deleted. For example, `my-other-app@appspot.gserviceaccount.com?uid=123456789012345678901`. If the service account is undeleted, this value reverts to `serviceAccount:{emailid}` and the undeleted service account retains the role in the binding. * `deleted:group:{emailid}?uid={uniqueid}`: An email address (plus unique identifier) representing a Google group that has been recently deleted. For example, `admins@example.com?uid=123456789012345678901`. If the group is recovered, this value reverts to `group:{emailid}` and the recovered group retains the role in the binding. * `domain:{domain}`: The G Suite domain (primary) that represents all the users of that domain. For example, `google.com` or `example.com`. "A String", ], "role": "A String", # Role that is assigned to the list of `members`, or principals. For example, `roles/viewer`, `roles/editor`, or `roles/owner`. @@ -413,7 +413,7 @@

Method Details

"location": "A String", # Optional. String indicating the location of the expression for error reporting, e.g. a file name and a position in the file. "title": "A String", # Optional. Title for the expression, i.e. a short string describing its purpose. This can be used e.g. in UIs which allow to enter the expression. }, - "members": [ # Specifies the principals requesting access for a Google Cloud resource. `members` can have the following values: * `allUsers`: A special identifier that represents anyone who is on the internet; with or without a Google account. * `allAuthenticatedUsers`: A special identifier that represents anyone who is authenticated with a Google account or a service account. * `user:{emailid}`: An email address that represents a specific Google account. For example, `alice@example.com` . * `serviceAccount:{emailid}`: An email address that represents a service account. For example, `my-other-app@appspot.gserviceaccount.com`. * `group:{emailid}`: An email address that represents a Google group. For example, `admins@example.com`. * `deleted:user:{emailid}?uid={uniqueid}`: An email address (plus unique identifier) representing a user that has been recently deleted. For example, `alice@example.com?uid=123456789012345678901`. If the user is recovered, this value reverts to `user:{emailid}` and the recovered user retains the role in the binding. * `deleted:serviceAccount:{emailid}?uid={uniqueid}`: An email address (plus unique identifier) representing a service account that has been recently deleted. For example, `my-other-app@appspot.gserviceaccount.com?uid=123456789012345678901`. If the service account is undeleted, this value reverts to `serviceAccount:{emailid}` and the undeleted service account retains the role in the binding. * `deleted:group:{emailid}?uid={uniqueid}`: An email address (plus unique identifier) representing a Google group that has been recently deleted. For example, `admins@example.com?uid=123456789012345678901`. If the group is recovered, this value reverts to `group:{emailid}` and the recovered group retains the role in the binding. * `domain:{domain}`: The G Suite domain (primary) that represents all the users of that domain. For example, `google.com` or `example.com`. + "members": [ # Specifies the principals requesting access for a Google Cloud resource. `members` can have the following values: * `allUsers`: A special identifier that represents anyone who is on the internet; with or without a Google account. * `allAuthenticatedUsers`: A special identifier that represents anyone who is authenticated with a Google account or a service account. * `user:{emailid}`: An email address that represents a specific Google account. For example, `alice@example.com` . * `serviceAccount:{emailid}`: An email address that represents a Google service account. For example, `my-other-app@appspot.gserviceaccount.com`. * `serviceAccount:{projectid}.svc.id.goog[{namespace}/{kubernetes-sa}]`: An identifier for a [Kubernetes service account](https://cloud.google.com/kubernetes-engine/docs/how-to/kubernetes-service-accounts). For example, `my-project.svc.id.goog[my-namespace/my-kubernetes-sa]`. * `group:{emailid}`: An email address that represents a Google group. For example, `admins@example.com`. * `deleted:user:{emailid}?uid={uniqueid}`: An email address (plus unique identifier) representing a user that has been recently deleted. For example, `alice@example.com?uid=123456789012345678901`. If the user is recovered, this value reverts to `user:{emailid}` and the recovered user retains the role in the binding. * `deleted:serviceAccount:{emailid}?uid={uniqueid}`: An email address (plus unique identifier) representing a service account that has been recently deleted. For example, `my-other-app@appspot.gserviceaccount.com?uid=123456789012345678901`. If the service account is undeleted, this value reverts to `serviceAccount:{emailid}` and the undeleted service account retains the role in the binding. * `deleted:group:{emailid}?uid={uniqueid}`: An email address (plus unique identifier) representing a Google group that has been recently deleted. For example, `admins@example.com?uid=123456789012345678901`. If the group is recovered, this value reverts to `group:{emailid}` and the recovered group retains the role in the binding. * `domain:{domain}`: The G Suite domain (primary) that represents all the users of that domain. For example, `google.com` or `example.com`. "A String", ], "role": "A String", # Role that is assigned to the list of `members`, or principals. For example, `roles/viewer`, `roles/editor`, or `roles/owner`. @@ -441,7 +441,7 @@

Method Details

"location": "A String", # Optional. String indicating the location of the expression for error reporting, e.g. a file name and a position in the file. "title": "A String", # Optional. Title for the expression, i.e. a short string describing its purpose. This can be used e.g. in UIs which allow to enter the expression. }, - "members": [ # Specifies the principals requesting access for a Google Cloud resource. `members` can have the following values: * `allUsers`: A special identifier that represents anyone who is on the internet; with or without a Google account. * `allAuthenticatedUsers`: A special identifier that represents anyone who is authenticated with a Google account or a service account. * `user:{emailid}`: An email address that represents a specific Google account. For example, `alice@example.com` . * `serviceAccount:{emailid}`: An email address that represents a service account. For example, `my-other-app@appspot.gserviceaccount.com`. * `group:{emailid}`: An email address that represents a Google group. For example, `admins@example.com`. * `deleted:user:{emailid}?uid={uniqueid}`: An email address (plus unique identifier) representing a user that has been recently deleted. For example, `alice@example.com?uid=123456789012345678901`. If the user is recovered, this value reverts to `user:{emailid}` and the recovered user retains the role in the binding. * `deleted:serviceAccount:{emailid}?uid={uniqueid}`: An email address (plus unique identifier) representing a service account that has been recently deleted. For example, `my-other-app@appspot.gserviceaccount.com?uid=123456789012345678901`. If the service account is undeleted, this value reverts to `serviceAccount:{emailid}` and the undeleted service account retains the role in the binding. * `deleted:group:{emailid}?uid={uniqueid}`: An email address (plus unique identifier) representing a Google group that has been recently deleted. For example, `admins@example.com?uid=123456789012345678901`. If the group is recovered, this value reverts to `group:{emailid}` and the recovered group retains the role in the binding. * `domain:{domain}`: The G Suite domain (primary) that represents all the users of that domain. For example, `google.com` or `example.com`. + "members": [ # Specifies the principals requesting access for a Google Cloud resource. `members` can have the following values: * `allUsers`: A special identifier that represents anyone who is on the internet; with or without a Google account. * `allAuthenticatedUsers`: A special identifier that represents anyone who is authenticated with a Google account or a service account. * `user:{emailid}`: An email address that represents a specific Google account. For example, `alice@example.com` . * `serviceAccount:{emailid}`: An email address that represents a Google service account. For example, `my-other-app@appspot.gserviceaccount.com`. * `serviceAccount:{projectid}.svc.id.goog[{namespace}/{kubernetes-sa}]`: An identifier for a [Kubernetes service account](https://cloud.google.com/kubernetes-engine/docs/how-to/kubernetes-service-accounts). For example, `my-project.svc.id.goog[my-namespace/my-kubernetes-sa]`. * `group:{emailid}`: An email address that represents a Google group. For example, `admins@example.com`. * `deleted:user:{emailid}?uid={uniqueid}`: An email address (plus unique identifier) representing a user that has been recently deleted. For example, `alice@example.com?uid=123456789012345678901`. If the user is recovered, this value reverts to `user:{emailid}` and the recovered user retains the role in the binding. * `deleted:serviceAccount:{emailid}?uid={uniqueid}`: An email address (plus unique identifier) representing a service account that has been recently deleted. For example, `my-other-app@appspot.gserviceaccount.com?uid=123456789012345678901`. If the service account is undeleted, this value reverts to `serviceAccount:{emailid}` and the undeleted service account retains the role in the binding. * `deleted:group:{emailid}?uid={uniqueid}`: An email address (plus unique identifier) representing a Google group that has been recently deleted. For example, `admins@example.com?uid=123456789012345678901`. If the group is recovered, this value reverts to `group:{emailid}` and the recovered group retains the role in the binding. * `domain:{domain}`: The G Suite domain (primary) that represents all the users of that domain. For example, `google.com` or `example.com`. "A String", ], "role": "A String", # Role that is assigned to the list of `members`, or principals. For example, `roles/viewer`, `roles/editor`, or `roles/owner`. diff --git a/docs/dyn/authorizedbuyersmarketplace_v1.bidders.finalizedDeals.html b/docs/dyn/authorizedbuyersmarketplace_v1.bidders.finalizedDeals.html index b7e8f465199..cb25405443b 100644 --- a/docs/dyn/authorizedbuyersmarketplace_v1.bidders.finalizedDeals.html +++ b/docs/dyn/authorizedbuyersmarketplace_v1.bidders.finalizedDeals.html @@ -234,6 +234,11 @@

Method Details

}, ], }, + "inventoryTypeTargeting": { # Targeting of the inventory types a bid request can originate from. # Output only. Inventory type targeting information. + "inventoryTypes": [ # The list of targeted inventory types for the bid request. + "A String", + ], + }, "placementTargeting": { # Represents targeting about where the ads can appear, for example, certain sites or mobile applications. Different placement targeting types will be logically OR'ed. # Output only. Placement targeting information, for example, URL, mobile applications. "mobileApplicationTargeting": { # Mobile application targeting settings. # Mobile application targeting information in a deal. This doesn't apply to Auction Packages. "firstPartyTargeting": { # Represents a list of targeted and excluded mobile application IDs that publishers own. Android App ID, for example, com.google.android.apps.maps, can be found in Google Play Store URL. iOS App ID (which is a number) can be found at the end of iTunes store URL. First party mobile applications is either included or excluded. # Publisher owned apps to be targeted or excluded by the publisher to display the ads in. diff --git a/docs/dyn/authorizedbuyersmarketplace_v1.buyers.finalizedDeals.html b/docs/dyn/authorizedbuyersmarketplace_v1.buyers.finalizedDeals.html index 0093e7fd029..b8089b4d01b 100644 --- a/docs/dyn/authorizedbuyersmarketplace_v1.buyers.finalizedDeals.html +++ b/docs/dyn/authorizedbuyersmarketplace_v1.buyers.finalizedDeals.html @@ -245,6 +245,11 @@

Method Details

}, ], }, + "inventoryTypeTargeting": { # Targeting of the inventory types a bid request can originate from. # Output only. Inventory type targeting information. + "inventoryTypes": [ # The list of targeted inventory types for the bid request. + "A String", + ], + }, "placementTargeting": { # Represents targeting about where the ads can appear, for example, certain sites or mobile applications. Different placement targeting types will be logically OR'ed. # Output only. Placement targeting information, for example, URL, mobile applications. "mobileApplicationTargeting": { # Mobile application targeting settings. # Mobile application targeting information in a deal. This doesn't apply to Auction Packages. "firstPartyTargeting": { # Represents a list of targeted and excluded mobile application IDs that publishers own. Android App ID, for example, com.google.android.apps.maps, can be found in Google Play Store URL. iOS App ID (which is a number) can be found at the end of iTunes store URL. First party mobile applications is either included or excluded. # Publisher owned apps to be targeted or excluded by the publisher to display the ads in. @@ -483,6 +488,11 @@

Method Details

}, ], }, + "inventoryTypeTargeting": { # Targeting of the inventory types a bid request can originate from. # Output only. Inventory type targeting information. + "inventoryTypes": [ # The list of targeted inventory types for the bid request. + "A String", + ], + }, "placementTargeting": { # Represents targeting about where the ads can appear, for example, certain sites or mobile applications. Different placement targeting types will be logically OR'ed. # Output only. Placement targeting information, for example, URL, mobile applications. "mobileApplicationTargeting": { # Mobile application targeting settings. # Mobile application targeting information in a deal. This doesn't apply to Auction Packages. "firstPartyTargeting": { # Represents a list of targeted and excluded mobile application IDs that publishers own. Android App ID, for example, com.google.android.apps.maps, can be found in Google Play Store URL. iOS App ID (which is a number) can be found at the end of iTunes store URL. First party mobile applications is either included or excluded. # Publisher owned apps to be targeted or excluded by the publisher to display the ads in. @@ -722,6 +732,11 @@

Method Details

}, ], }, + "inventoryTypeTargeting": { # Targeting of the inventory types a bid request can originate from. # Output only. Inventory type targeting information. + "inventoryTypes": [ # The list of targeted inventory types for the bid request. + "A String", + ], + }, "placementTargeting": { # Represents targeting about where the ads can appear, for example, certain sites or mobile applications. Different placement targeting types will be logically OR'ed. # Output only. Placement targeting information, for example, URL, mobile applications. "mobileApplicationTargeting": { # Mobile application targeting settings. # Mobile application targeting information in a deal. This doesn't apply to Auction Packages. "firstPartyTargeting": { # Represents a list of targeted and excluded mobile application IDs that publishers own. Android App ID, for example, com.google.android.apps.maps, can be found in Google Play Store URL. iOS App ID (which is a number) can be found at the end of iTunes store URL. First party mobile applications is either included or excluded. # Publisher owned apps to be targeted or excluded by the publisher to display the ads in. @@ -979,6 +994,11 @@

Method Details

}, ], }, + "inventoryTypeTargeting": { # Targeting of the inventory types a bid request can originate from. # Output only. Inventory type targeting information. + "inventoryTypes": [ # The list of targeted inventory types for the bid request. + "A String", + ], + }, "placementTargeting": { # Represents targeting about where the ads can appear, for example, certain sites or mobile applications. Different placement targeting types will be logically OR'ed. # Output only. Placement targeting information, for example, URL, mobile applications. "mobileApplicationTargeting": { # Mobile application targeting settings. # Mobile application targeting information in a deal. This doesn't apply to Auction Packages. "firstPartyTargeting": { # Represents a list of targeted and excluded mobile application IDs that publishers own. Android App ID, for example, com.google.android.apps.maps, can be found in Google Play Store URL. iOS App ID (which is a number) can be found at the end of iTunes store URL. First party mobile applications is either included or excluded. # Publisher owned apps to be targeted or excluded by the publisher to display the ads in. @@ -1218,6 +1238,11 @@

Method Details

}, ], }, + "inventoryTypeTargeting": { # Targeting of the inventory types a bid request can originate from. # Output only. Inventory type targeting information. + "inventoryTypes": [ # The list of targeted inventory types for the bid request. + "A String", + ], + }, "placementTargeting": { # Represents targeting about where the ads can appear, for example, certain sites or mobile applications. Different placement targeting types will be logically OR'ed. # Output only. Placement targeting information, for example, URL, mobile applications. "mobileApplicationTargeting": { # Mobile application targeting settings. # Mobile application targeting information in a deal. This doesn't apply to Auction Packages. "firstPartyTargeting": { # Represents a list of targeted and excluded mobile application IDs that publishers own. Android App ID, for example, com.google.android.apps.maps, can be found in Google Play Store URL. iOS App ID (which is a number) can be found at the end of iTunes store URL. First party mobile applications is either included or excluded. # Publisher owned apps to be targeted or excluded by the publisher to display the ads in. @@ -1457,6 +1482,11 @@

Method Details

}, ], }, + "inventoryTypeTargeting": { # Targeting of the inventory types a bid request can originate from. # Output only. Inventory type targeting information. + "inventoryTypes": [ # The list of targeted inventory types for the bid request. + "A String", + ], + }, "placementTargeting": { # Represents targeting about where the ads can appear, for example, certain sites or mobile applications. Different placement targeting types will be logically OR'ed. # Output only. Placement targeting information, for example, URL, mobile applications. "mobileApplicationTargeting": { # Mobile application targeting settings. # Mobile application targeting information in a deal. This doesn't apply to Auction Packages. "firstPartyTargeting": { # Represents a list of targeted and excluded mobile application IDs that publishers own. Android App ID, for example, com.google.android.apps.maps, can be found in Google Play Store URL. iOS App ID (which is a number) can be found at the end of iTunes store URL. First party mobile applications is either included or excluded. # Publisher owned apps to be targeted or excluded by the publisher to display the ads in. diff --git a/docs/dyn/authorizedbuyersmarketplace_v1.buyers.proposals.deals.html b/docs/dyn/authorizedbuyersmarketplace_v1.buyers.proposals.deals.html index 4ea935550aa..2ed60ecab5f 100644 --- a/docs/dyn/authorizedbuyersmarketplace_v1.buyers.proposals.deals.html +++ b/docs/dyn/authorizedbuyersmarketplace_v1.buyers.proposals.deals.html @@ -229,6 +229,11 @@

Method Details

}, ], }, + "inventoryTypeTargeting": { # Targeting of the inventory types a bid request can originate from. # Output only. Inventory type targeting information. + "inventoryTypes": [ # The list of targeted inventory types for the bid request. + "A String", + ], + }, "placementTargeting": { # Represents targeting about where the ads can appear, for example, certain sites or mobile applications. Different placement targeting types will be logically OR'ed. # Output only. Placement targeting information, for example, URL, mobile applications. "mobileApplicationTargeting": { # Mobile application targeting settings. # Mobile application targeting information in a deal. This doesn't apply to Auction Packages. "firstPartyTargeting": { # Represents a list of targeted and excluded mobile application IDs that publishers own. Android App ID, for example, com.google.android.apps.maps, can be found in Google Play Store URL. iOS App ID (which is a number) can be found at the end of iTunes store URL. First party mobile applications is either included or excluded. # Publisher owned apps to be targeted or excluded by the publisher to display the ads in. @@ -443,6 +448,11 @@

Method Details

}, ], }, + "inventoryTypeTargeting": { # Targeting of the inventory types a bid request can originate from. # Output only. Inventory type targeting information. + "inventoryTypes": [ # The list of targeted inventory types for the bid request. + "A String", + ], + }, "placementTargeting": { # Represents targeting about where the ads can appear, for example, certain sites or mobile applications. Different placement targeting types will be logically OR'ed. # Output only. Placement targeting information, for example, URL, mobile applications. "mobileApplicationTargeting": { # Mobile application targeting settings. # Mobile application targeting information in a deal. This doesn't apply to Auction Packages. "firstPartyTargeting": { # Represents a list of targeted and excluded mobile application IDs that publishers own. Android App ID, for example, com.google.android.apps.maps, can be found in Google Play Store URL. iOS App ID (which is a number) can be found at the end of iTunes store URL. First party mobile applications is either included or excluded. # Publisher owned apps to be targeted or excluded by the publisher to display the ads in. @@ -665,6 +675,11 @@

Method Details

}, ], }, + "inventoryTypeTargeting": { # Targeting of the inventory types a bid request can originate from. # Output only. Inventory type targeting information. + "inventoryTypes": [ # The list of targeted inventory types for the bid request. + "A String", + ], + }, "placementTargeting": { # Represents targeting about where the ads can appear, for example, certain sites or mobile applications. Different placement targeting types will be logically OR'ed. # Output only. Placement targeting information, for example, URL, mobile applications. "mobileApplicationTargeting": { # Mobile application targeting settings. # Mobile application targeting information in a deal. This doesn't apply to Auction Packages. "firstPartyTargeting": { # Represents a list of targeted and excluded mobile application IDs that publishers own. Android App ID, for example, com.google.android.apps.maps, can be found in Google Play Store URL. iOS App ID (which is a number) can be found at the end of iTunes store URL. First party mobile applications is either included or excluded. # Publisher owned apps to be targeted or excluded by the publisher to display the ads in. @@ -884,6 +899,11 @@

Method Details

}, ], }, + "inventoryTypeTargeting": { # Targeting of the inventory types a bid request can originate from. # Output only. Inventory type targeting information. + "inventoryTypes": [ # The list of targeted inventory types for the bid request. + "A String", + ], + }, "placementTargeting": { # Represents targeting about where the ads can appear, for example, certain sites or mobile applications. Different placement targeting types will be logically OR'ed. # Output only. Placement targeting information, for example, URL, mobile applications. "mobileApplicationTargeting": { # Mobile application targeting settings. # Mobile application targeting information in a deal. This doesn't apply to Auction Packages. "firstPartyTargeting": { # Represents a list of targeted and excluded mobile application IDs that publishers own. Android App ID, for example, com.google.android.apps.maps, can be found in Google Play Store URL. iOS App ID (which is a number) can be found at the end of iTunes store URL. First party mobile applications is either included or excluded. # Publisher owned apps to be targeted or excluded by the publisher to display the ads in. @@ -1111,6 +1131,11 @@

Method Details

}, ], }, + "inventoryTypeTargeting": { # Targeting of the inventory types a bid request can originate from. # Output only. Inventory type targeting information. + "inventoryTypes": [ # The list of targeted inventory types for the bid request. + "A String", + ], + }, "placementTargeting": { # Represents targeting about where the ads can appear, for example, certain sites or mobile applications. Different placement targeting types will be logically OR'ed. # Output only. Placement targeting information, for example, URL, mobile applications. "mobileApplicationTargeting": { # Mobile application targeting settings. # Mobile application targeting information in a deal. This doesn't apply to Auction Packages. "firstPartyTargeting": { # Represents a list of targeted and excluded mobile application IDs that publishers own. Android App ID, for example, com.google.android.apps.maps, can be found in Google Play Store URL. iOS App ID (which is a number) can be found at the end of iTunes store URL. First party mobile applications is either included or excluded. # Publisher owned apps to be targeted or excluded by the publisher to display the ads in. @@ -1320,6 +1345,11 @@

Method Details

}, ], }, + "inventoryTypeTargeting": { # Targeting of the inventory types a bid request can originate from. # Output only. Inventory type targeting information. + "inventoryTypes": [ # The list of targeted inventory types for the bid request. + "A String", + ], + }, "placementTargeting": { # Represents targeting about where the ads can appear, for example, certain sites or mobile applications. Different placement targeting types will be logically OR'ed. # Output only. Placement targeting information, for example, URL, mobile applications. "mobileApplicationTargeting": { # Mobile application targeting settings. # Mobile application targeting information in a deal. This doesn't apply to Auction Packages. "firstPartyTargeting": { # Represents a list of targeted and excluded mobile application IDs that publishers own. Android App ID, for example, com.google.android.apps.maps, can be found in Google Play Store URL. iOS App ID (which is a number) can be found at the end of iTunes store URL. First party mobile applications is either included or excluded. # Publisher owned apps to be targeted or excluded by the publisher to display the ads in. diff --git a/docs/dyn/baremetalsolution_v2.projects.locations.instances.html b/docs/dyn/baremetalsolution_v2.projects.locations.instances.html index 54f28b781f3..4781c5928f4 100644 --- a/docs/dyn/baremetalsolution_v2.projects.locations.instances.html +++ b/docs/dyn/baremetalsolution_v2.projects.locations.instances.html @@ -77,6 +77,9 @@

Instance Methods

close()

Close httplib2 connections.

+

+ create(parent, body=None, x__xgafv=None)

+

Create an Instance.

detachLun(instance, body=None, x__xgafv=None)

Detach LUN from Instance.

@@ -107,6 +110,160 @@

Method Details

Close httplib2 connections.
+
+ create(parent, body=None, x__xgafv=None) +
Create an Instance.
+
+Args:
+  parent: string, Required. The parent project and location. (required)
+  body: object, The request body.
+    The object takes the form of:
+
+{ # A server.
+  "createTime": "A String", # Output only. Create a time stamp.
+  "hyperthreadingEnabled": True or False, # True if you enable hyperthreading for the server, otherwise false. The default value is false.
+  "id": "A String", # Output only. An identifier for the `Instance`, generated by the backend.
+  "interactiveSerialConsoleEnabled": True or False, # Output only. True if the interactive serial console feature is enabled for the instance, false otherwise. The default value is false.
+  "labels": { # Labels as key value pairs.
+    "a_key": "A String",
+  },
+  "logicalInterfaces": [ # List of logical interfaces for the instance. The number of logical interfaces will be the same as number of hardware bond/nic on the chosen network template. For the non-multivlan configurations (for eg, existing servers) that use existing default network template (bondaa-bondaa), both the Instance.networks field and the Instance.logical_interfaces fields will be filled to ensure backward compatibility. For the others, only Instance.logical_interfaces will be filled.
+    { # Each logical interface represents a logical abstraction of the underlying physical interface (for eg. bond, nic) of the instance. Each logical interface can effectively map to multiple network-IP pairs and still be mapped to one underlying physical interface.
+      "interfaceIndex": 42, # The index of the logical interface mapping to the index of the hardware bond or nic on the chosen network template. This field is deprecated.
+      "logicalNetworkInterfaces": [ # List of logical network interfaces within a logical interface.
+        { # Each logical network interface is effectively a network and IP pair.
+          "defaultGateway": True or False, # Whether this interface is the default gateway for the instance. Only one interface can be the default gateway for the instance.
+          "id": "A String", # An identifier for the `Network`, generated by the backend.
+          "ipAddress": "A String", # IP address in the network
+          "network": "A String", # Name of the network
+          "networkType": "A String", # Type of network.
+        },
+      ],
+      "name": "A String", # Interface name. This is of syntax or and forms part of the network template name.
+    },
+  ],
+  "loginInfo": "A String", # Output only. Text field about info for logging in.
+  "luns": [ # Immutable. List of LUNs associated with this server.
+    { # A storage volume logical unit number (LUN).
+      "bootLun": True or False, # Display if this LUN is a boot LUN.
+      "id": "A String", # An identifier for the LUN, generated by the backend.
+      "multiprotocolType": "A String", # The LUN multiprotocol type ensures the characteristics of the LUN are optimized for each operating system.
+      "name": "A String", # Output only. The name of the LUN.
+      "shareable": True or False, # Display if this LUN can be shared between multiple physical servers.
+      "sizeGb": "A String", # The size of this LUN, in gigabytes.
+      "state": "A String", # The state of this storage volume.
+      "storageType": "A String", # The storage type for this LUN.
+      "storageVolume": "A String", # Display the storage volume for this LUN.
+      "wwid": "A String", # The WWID for this LUN.
+    },
+  ],
+  "machineType": "A String", # Immutable. The server type. [Available server types](https://cloud.google.com/bare-metal/docs/bms-planning#server_configurations)
+  "name": "A String", # Immutable. The resource name of this `Instance`. Resource names are schemeless URIs that follow the conventions in https://cloud.google.com/apis/design/resource_names. Format: `projects/{project}/locations/{location}/instances/{instance}`
+  "networkTemplate": "A String", # Instance network template name. For eg, bondaa-bondaa, bondab-nic, etc. Generally, the template name follows the syntax of "bond" or "nic".
+  "networks": [ # Output only. List of networks associated with this server.
+    { # A Network.
+      "cidr": "A String", # The cidr of the Network.
+      "id": "A String", # An identifier for the `Network`, generated by the backend.
+      "ipAddress": "A String", # IP address configured.
+      "labels": { # Labels as key value pairs.
+        "a_key": "A String",
+      },
+      "macAddress": [ # List of physical interfaces.
+        "A String",
+      ],
+      "name": "A String", # Output only. The resource name of this `Network`. Resource names are schemeless URIs that follow the conventions in https://cloud.google.com/apis/design/resource_names. Format: `projects/{project}/locations/{location}/networks/{network}`
+      "reservations": [ # List of IP address reservations in this network. When updating this field, an error will be generated if a reservation conflicts with an IP address already allocated to a physical server.
+        { # A reservation of one or more addresses in a network.
+          "endAddress": "A String", # The last address of this reservation block, inclusive. I.e., for cases when reservations are only single addresses, end_address and start_address will be the same. Must be specified as a single IPv4 address, e.g. 10.1.2.2.
+          "note": "A String", # A note about this reservation, intended for human consumption.
+          "startAddress": "A String", # The first address of this reservation block. Must be specified as a single IPv4 address, e.g. 10.1.2.2.
+        },
+      ],
+      "servicesCidr": "A String", # IP range for reserved for services (e.g. NFS).
+      "state": "A String", # The Network state.
+      "type": "A String", # The type of this network.
+      "vlanId": "A String", # The vlan id of the Network.
+      "vrf": { # A network VRF. # The vrf for the Network.
+        "name": "A String", # The name of the VRF.
+        "qosPolicy": { # QOS policy parameters. # The QOS policy applied to this VRF.
+          "bandwidthGbps": 3.14, # The bandwidth permitted by the QOS policy, in gbps.
+        },
+        "state": "A String", # The possible state of VRF.
+        "vlanAttachments": [ # The list of VLAN attachments for the VRF.
+          { # VLAN attachment details.
+            "peerIp": "A String", # The peer IP of the attachment.
+            "peerVlanId": "A String", # The peer vlan ID of the attachment.
+            "routerIp": "A String", # The router IP of the attachment.
+          },
+        ],
+      },
+    },
+  ],
+  "osImage": "A String", # The OS image currently installed on the server.
+  "pod": "A String", # Immutable. Pod name. Pod is an independent part of infrastructure. Instance can be connected to the assets (networks, volumes) allocated in the same pod only.
+  "state": "A String", # Output only. The state of the server.
+  "updateTime": "A String", # Output only. Update a time stamp.
+  "volumes": [ # Input only. List of Volumes to attach to this Instance on creation. This field won't be populated in Get/List responses.
+    { # A storage volume.
+      "autoGrownSizeGib": "A String", # The size, in GiB, that this storage volume has expanded as a result of an auto grow policy. In the absence of auto-grow, the value is 0.
+      "bootVolume": True or False, # Output only. Whether this volume is a boot volume. A boot volume is one which contains a boot LUN.
+      "currentSizeGib": "A String", # The current size of this storage volume, in GiB, including space reserved for snapshots. This size might be different than the requested size if the storage volume has been configured with auto grow or auto shrink.
+      "emergencySizeGib": "A String", # Additional emergency size that was requested for this Volume, in GiB. current_size_gib includes this value.
+      "id": "A String", # An identifier for the `Volume`, generated by the backend.
+      "labels": { # Labels as key value pairs.
+        "a_key": "A String",
+      },
+      "maxSizeGib": "A String", # Maximum size volume can be expanded to in case of evergency, in GiB.
+      "name": "A String", # Output only. The resource name of this `Volume`. Resource names are schemeless URIs that follow the conventions in https://cloud.google.com/apis/design/resource_names. Format: `projects/{project}/locations/{location}/volumes/{volume}`
+      "originallyRequestedSizeGib": "A String", # Originally requested size, in GiB.
+      "pod": "A String", # Immutable. Pod name.
+      "protocol": "A String", # Output only. Storage protocol for the Volume.
+      "remainingSpaceGib": "A String", # The space remaining in the storage volume for new LUNs, in GiB, excluding space reserved for snapshots.
+      "requestedSizeGib": "A String", # The requested size of this storage volume, in GiB.
+      "snapshotAutoDeleteBehavior": "A String", # The behavior to use when snapshot reserved space is full.
+      "snapshotEnabled": True or False, # Whether snapshots are enabled.
+      "snapshotReservationDetail": { # Details about snapshot space reservation and usage on the storage volume. # Details about snapshot space reservation and usage on the storage volume.
+        "reservedSpaceGib": "A String", # The space on this storage volume reserved for snapshots, shown in GiB.
+        "reservedSpacePercent": 42, # Percent of the total Volume size reserved for snapshot copies. Enabling snapshots requires reserving 20% or more of the storage volume space for snapshots. Maximum reserved space for snapshots is 40%. Setting this field will effectively set snapshot_enabled to true.
+        "reservedSpaceRemainingGib": "A String", # The amount, in GiB, of available space in this storage volume's reserved snapshot space.
+        "reservedSpaceUsedPercent": 42, # The percent of snapshot space on this storage volume actually being used by the snapshot copies. This value might be higher than 100% if the snapshot copies have overflowed into the data portion of the storage volume.
+      },
+      "snapshotSchedulePolicy": "A String", # The name of the snapshot schedule policy in use for this volume, if any.
+      "state": "A String", # The state of this storage volume.
+      "storageType": "A String", # The storage type for this volume.
+    },
+  ],
+}
+
+  x__xgafv: string, V1 error format.
+    Allowed values
+      1 - v1 error format
+      2 - v2 error format
+
+Returns:
+  An object of the form:
+
+    { # This resource represents a long-running operation that is the result of a network API call.
+  "done": True or False, # If the value is `false`, it means the operation is still in progress. If `true`, the operation is completed, and either `error` or `response` is available.
+  "error": { # The `Status` type defines a logical error model that is suitable for different programming environments, including REST APIs and RPC APIs. It is used by [gRPC](https://github.com/grpc). Each `Status` message contains three pieces of data: error code, error message, and error details. You can find out more about this error model and how to work with it in the [API Design Guide](https://cloud.google.com/apis/design/errors). # The error result of the operation in case of failure or cancellation.
+    "code": 42, # The status code, which should be an enum value of google.rpc.Code.
+    "details": [ # A list of messages that carry the error details. There is a common set of message types for APIs to use.
+      {
+        "a_key": "", # Properties of the object. Contains field @type with type URL.
+      },
+    ],
+    "message": "A String", # A developer-facing error message, which should be in English. Any user-facing error message should be localized and sent in the google.rpc.Status.details field, or localized by the client.
+  },
+  "metadata": { # Service-specific metadata associated with the operation. It typically contains progress information and common metadata such as create time. Some services might not provide such metadata. Any method that returns a long-running operation should document the metadata type, if any.
+    "a_key": "", # Properties of the object. Contains field @type with type URL.
+  },
+  "name": "A String", # The server-assigned name, which is only unique within the same service that originally returns it. If you use the default HTTP mapping, the `name` should be a resource name ending with `operations/{unique_id}`.
+  "response": { # The normal response of the operation in case of success. If the original method returns no data on success, such as `Delete`, the response is `google.protobuf.Empty`. If the original method is standard `Get`/`Create`/`Update`, the response should be the resource. For other methods, the response should have the type `XxxResponse`, where `Xxx` is the original method name. For example, if the original method name is `TakeSnapshot()`, the inferred response type is `TakeSnapshotResponse`.
+    "a_key": "", # Properties of the object. Contains field @type with type URL.
+  },
+}
+
+
detachLun(instance, body=None, x__xgafv=None)
Detach LUN from Instance.
@@ -167,8 +324,8 @@ 

Method Details

{ # A server. "createTime": "A String", # Output only. Create a time stamp. "hyperthreadingEnabled": True or False, # True if you enable hyperthreading for the server, otherwise false. The default value is false. - "id": "A String", # An identifier for the `Instance`, generated by the backend. - "interactiveSerialConsoleEnabled": True or False, # True if the interactive serial console feature is enabled for the instance, false otherwise. The default value is false. + "id": "A String", # Output only. An identifier for the `Instance`, generated by the backend. + "interactiveSerialConsoleEnabled": True or False, # Output only. True if the interactive serial console feature is enabled for the instance, false otherwise. The default value is false. "labels": { # Labels as key value pairs. "a_key": "A String", }, @@ -187,7 +344,8 @@

Method Details

"name": "A String", # Interface name. This is of syntax or and forms part of the network template name. }, ], - "luns": [ # List of LUNs associated with this server. + "loginInfo": "A String", # Output only. Text field about info for logging in. + "luns": [ # Immutable. List of LUNs associated with this server. { # A storage volume logical unit number (LUN). "bootLun": True or False, # Display if this LUN is a boot LUN. "id": "A String", # An identifier for the LUN, generated by the backend. @@ -201,10 +359,10 @@

Method Details

"wwid": "A String", # The WWID for this LUN. }, ], - "machineType": "A String", # The server type. [Available server types](https://cloud.google.com/bare-metal/docs/bms-planning#server_configurations) - "name": "A String", # Output only. The resource name of this `Instance`. Resource names are schemeless URIs that follow the conventions in https://cloud.google.com/apis/design/resource_names. Format: `projects/{project}/locations/{location}/instances/{instance}` + "machineType": "A String", # Immutable. The server type. [Available server types](https://cloud.google.com/bare-metal/docs/bms-planning#server_configurations) + "name": "A String", # Immutable. The resource name of this `Instance`. Resource names are schemeless URIs that follow the conventions in https://cloud.google.com/apis/design/resource_names. Format: `projects/{project}/locations/{location}/instances/{instance}` "networkTemplate": "A String", # Instance network template name. For eg, bondaa-bondaa, bondab-nic, etc. Generally, the template name follows the syntax of "bond" or "nic". - "networks": [ # List of networks associated with this server. + "networks": [ # Output only. List of networks associated with this server. { # A Network. "cidr": "A String", # The cidr of the Network. "id": "A String", # An identifier for the `Network`, generated by the backend. @@ -245,8 +403,38 @@

Method Details

], "osImage": "A String", # The OS image currently installed on the server. "pod": "A String", # Immutable. Pod name. Pod is an independent part of infrastructure. Instance can be connected to the assets (networks, volumes) allocated in the same pod only. - "state": "A String", # The state of the server. + "state": "A String", # Output only. The state of the server. "updateTime": "A String", # Output only. Update a time stamp. + "volumes": [ # Input only. List of Volumes to attach to this Instance on creation. This field won't be populated in Get/List responses. + { # A storage volume. + "autoGrownSizeGib": "A String", # The size, in GiB, that this storage volume has expanded as a result of an auto grow policy. In the absence of auto-grow, the value is 0. + "bootVolume": True or False, # Output only. Whether this volume is a boot volume. A boot volume is one which contains a boot LUN. + "currentSizeGib": "A String", # The current size of this storage volume, in GiB, including space reserved for snapshots. This size might be different than the requested size if the storage volume has been configured with auto grow or auto shrink. + "emergencySizeGib": "A String", # Additional emergency size that was requested for this Volume, in GiB. current_size_gib includes this value. + "id": "A String", # An identifier for the `Volume`, generated by the backend. + "labels": { # Labels as key value pairs. + "a_key": "A String", + }, + "maxSizeGib": "A String", # Maximum size volume can be expanded to in case of evergency, in GiB. + "name": "A String", # Output only. The resource name of this `Volume`. Resource names are schemeless URIs that follow the conventions in https://cloud.google.com/apis/design/resource_names. Format: `projects/{project}/locations/{location}/volumes/{volume}` + "originallyRequestedSizeGib": "A String", # Originally requested size, in GiB. + "pod": "A String", # Immutable. Pod name. + "protocol": "A String", # Output only. Storage protocol for the Volume. + "remainingSpaceGib": "A String", # The space remaining in the storage volume for new LUNs, in GiB, excluding space reserved for snapshots. + "requestedSizeGib": "A String", # The requested size of this storage volume, in GiB. + "snapshotAutoDeleteBehavior": "A String", # The behavior to use when snapshot reserved space is full. + "snapshotEnabled": True or False, # Whether snapshots are enabled. + "snapshotReservationDetail": { # Details about snapshot space reservation and usage on the storage volume. # Details about snapshot space reservation and usage on the storage volume. + "reservedSpaceGib": "A String", # The space on this storage volume reserved for snapshots, shown in GiB. + "reservedSpacePercent": 42, # Percent of the total Volume size reserved for snapshot copies. Enabling snapshots requires reserving 20% or more of the storage volume space for snapshots. Maximum reserved space for snapshots is 40%. Setting this field will effectively set snapshot_enabled to true. + "reservedSpaceRemainingGib": "A String", # The amount, in GiB, of available space in this storage volume's reserved snapshot space. + "reservedSpaceUsedPercent": 42, # The percent of snapshot space on this storage volume actually being used by the snapshot copies. This value might be higher than 100% if the snapshot copies have overflowed into the data portion of the storage volume. + }, + "snapshotSchedulePolicy": "A String", # The name of the snapshot schedule policy in use for this volume, if any. + "state": "A String", # The state of this storage volume. + "storageType": "A String", # The storage type for this volume. + }, + ], }
@@ -272,8 +460,8 @@

Method Details

{ # A server. "createTime": "A String", # Output only. Create a time stamp. "hyperthreadingEnabled": True or False, # True if you enable hyperthreading for the server, otherwise false. The default value is false. - "id": "A String", # An identifier for the `Instance`, generated by the backend. - "interactiveSerialConsoleEnabled": True or False, # True if the interactive serial console feature is enabled for the instance, false otherwise. The default value is false. + "id": "A String", # Output only. An identifier for the `Instance`, generated by the backend. + "interactiveSerialConsoleEnabled": True or False, # Output only. True if the interactive serial console feature is enabled for the instance, false otherwise. The default value is false. "labels": { # Labels as key value pairs. "a_key": "A String", }, @@ -292,7 +480,8 @@

Method Details

"name": "A String", # Interface name. This is of syntax or and forms part of the network template name. }, ], - "luns": [ # List of LUNs associated with this server. + "loginInfo": "A String", # Output only. Text field about info for logging in. + "luns": [ # Immutable. List of LUNs associated with this server. { # A storage volume logical unit number (LUN). "bootLun": True or False, # Display if this LUN is a boot LUN. "id": "A String", # An identifier for the LUN, generated by the backend. @@ -306,10 +495,10 @@

Method Details

"wwid": "A String", # The WWID for this LUN. }, ], - "machineType": "A String", # The server type. [Available server types](https://cloud.google.com/bare-metal/docs/bms-planning#server_configurations) - "name": "A String", # Output only. The resource name of this `Instance`. Resource names are schemeless URIs that follow the conventions in https://cloud.google.com/apis/design/resource_names. Format: `projects/{project}/locations/{location}/instances/{instance}` + "machineType": "A String", # Immutable. The server type. [Available server types](https://cloud.google.com/bare-metal/docs/bms-planning#server_configurations) + "name": "A String", # Immutable. The resource name of this `Instance`. Resource names are schemeless URIs that follow the conventions in https://cloud.google.com/apis/design/resource_names. Format: `projects/{project}/locations/{location}/instances/{instance}` "networkTemplate": "A String", # Instance network template name. For eg, bondaa-bondaa, bondab-nic, etc. Generally, the template name follows the syntax of "bond" or "nic". - "networks": [ # List of networks associated with this server. + "networks": [ # Output only. List of networks associated with this server. { # A Network. "cidr": "A String", # The cidr of the Network. "id": "A String", # An identifier for the `Network`, generated by the backend. @@ -350,8 +539,38 @@

Method Details

], "osImage": "A String", # The OS image currently installed on the server. "pod": "A String", # Immutable. Pod name. Pod is an independent part of infrastructure. Instance can be connected to the assets (networks, volumes) allocated in the same pod only. - "state": "A String", # The state of the server. + "state": "A String", # Output only. The state of the server. "updateTime": "A String", # Output only. Update a time stamp. + "volumes": [ # Input only. List of Volumes to attach to this Instance on creation. This field won't be populated in Get/List responses. + { # A storage volume. + "autoGrownSizeGib": "A String", # The size, in GiB, that this storage volume has expanded as a result of an auto grow policy. In the absence of auto-grow, the value is 0. + "bootVolume": True or False, # Output only. Whether this volume is a boot volume. A boot volume is one which contains a boot LUN. + "currentSizeGib": "A String", # The current size of this storage volume, in GiB, including space reserved for snapshots. This size might be different than the requested size if the storage volume has been configured with auto grow or auto shrink. + "emergencySizeGib": "A String", # Additional emergency size that was requested for this Volume, in GiB. current_size_gib includes this value. + "id": "A String", # An identifier for the `Volume`, generated by the backend. + "labels": { # Labels as key value pairs. + "a_key": "A String", + }, + "maxSizeGib": "A String", # Maximum size volume can be expanded to in case of evergency, in GiB. + "name": "A String", # Output only. The resource name of this `Volume`. Resource names are schemeless URIs that follow the conventions in https://cloud.google.com/apis/design/resource_names. Format: `projects/{project}/locations/{location}/volumes/{volume}` + "originallyRequestedSizeGib": "A String", # Originally requested size, in GiB. + "pod": "A String", # Immutable. Pod name. + "protocol": "A String", # Output only. Storage protocol for the Volume. + "remainingSpaceGib": "A String", # The space remaining in the storage volume for new LUNs, in GiB, excluding space reserved for snapshots. + "requestedSizeGib": "A String", # The requested size of this storage volume, in GiB. + "snapshotAutoDeleteBehavior": "A String", # The behavior to use when snapshot reserved space is full. + "snapshotEnabled": True or False, # Whether snapshots are enabled. + "snapshotReservationDetail": { # Details about snapshot space reservation and usage on the storage volume. # Details about snapshot space reservation and usage on the storage volume. + "reservedSpaceGib": "A String", # The space on this storage volume reserved for snapshots, shown in GiB. + "reservedSpacePercent": 42, # Percent of the total Volume size reserved for snapshot copies. Enabling snapshots requires reserving 20% or more of the storage volume space for snapshots. Maximum reserved space for snapshots is 40%. Setting this field will effectively set snapshot_enabled to true. + "reservedSpaceRemainingGib": "A String", # The amount, in GiB, of available space in this storage volume's reserved snapshot space. + "reservedSpaceUsedPercent": 42, # The percent of snapshot space on this storage volume actually being used by the snapshot copies. This value might be higher than 100% if the snapshot copies have overflowed into the data portion of the storage volume. + }, + "snapshotSchedulePolicy": "A String", # The name of the snapshot schedule policy in use for this volume, if any. + "state": "A String", # The state of this storage volume. + "storageType": "A String", # The storage type for this volume. + }, + ], }, ], "nextPageToken": "A String", # A token identifying a page of results from the server. @@ -380,15 +599,15 @@

Method Details

Update details of a single server.
 
 Args:
-  name: string, Output only. The resource name of this `Instance`. Resource names are schemeless URIs that follow the conventions in https://cloud.google.com/apis/design/resource_names. Format: `projects/{project}/locations/{location}/instances/{instance}` (required)
+  name: string, Immutable. The resource name of this `Instance`. Resource names are schemeless URIs that follow the conventions in https://cloud.google.com/apis/design/resource_names. Format: `projects/{project}/locations/{location}/instances/{instance}` (required)
   body: object, The request body.
     The object takes the form of:
 
 { # A server.
   "createTime": "A String", # Output only. Create a time stamp.
   "hyperthreadingEnabled": True or False, # True if you enable hyperthreading for the server, otherwise false. The default value is false.
-  "id": "A String", # An identifier for the `Instance`, generated by the backend.
-  "interactiveSerialConsoleEnabled": True or False, # True if the interactive serial console feature is enabled for the instance, false otherwise. The default value is false.
+  "id": "A String", # Output only. An identifier for the `Instance`, generated by the backend.
+  "interactiveSerialConsoleEnabled": True or False, # Output only. True if the interactive serial console feature is enabled for the instance, false otherwise. The default value is false.
   "labels": { # Labels as key value pairs.
     "a_key": "A String",
   },
@@ -407,7 +626,8 @@ 

Method Details

"name": "A String", # Interface name. This is of syntax or and forms part of the network template name. }, ], - "luns": [ # List of LUNs associated with this server. + "loginInfo": "A String", # Output only. Text field about info for logging in. + "luns": [ # Immutable. List of LUNs associated with this server. { # A storage volume logical unit number (LUN). "bootLun": True or False, # Display if this LUN is a boot LUN. "id": "A String", # An identifier for the LUN, generated by the backend. @@ -421,10 +641,10 @@

Method Details

"wwid": "A String", # The WWID for this LUN. }, ], - "machineType": "A String", # The server type. [Available server types](https://cloud.google.com/bare-metal/docs/bms-planning#server_configurations) - "name": "A String", # Output only. The resource name of this `Instance`. Resource names are schemeless URIs that follow the conventions in https://cloud.google.com/apis/design/resource_names. Format: `projects/{project}/locations/{location}/instances/{instance}` + "machineType": "A String", # Immutable. The server type. [Available server types](https://cloud.google.com/bare-metal/docs/bms-planning#server_configurations) + "name": "A String", # Immutable. The resource name of this `Instance`. Resource names are schemeless URIs that follow the conventions in https://cloud.google.com/apis/design/resource_names. Format: `projects/{project}/locations/{location}/instances/{instance}` "networkTemplate": "A String", # Instance network template name. For eg, bondaa-bondaa, bondab-nic, etc. Generally, the template name follows the syntax of "bond" or "nic". - "networks": [ # List of networks associated with this server. + "networks": [ # Output only. List of networks associated with this server. { # A Network. "cidr": "A String", # The cidr of the Network. "id": "A String", # An identifier for the `Network`, generated by the backend. @@ -465,8 +685,38 @@

Method Details

], "osImage": "A String", # The OS image currently installed on the server. "pod": "A String", # Immutable. Pod name. Pod is an independent part of infrastructure. Instance can be connected to the assets (networks, volumes) allocated in the same pod only. - "state": "A String", # The state of the server. + "state": "A String", # Output only. The state of the server. "updateTime": "A String", # Output only. Update a time stamp. + "volumes": [ # Input only. List of Volumes to attach to this Instance on creation. This field won't be populated in Get/List responses. + { # A storage volume. + "autoGrownSizeGib": "A String", # The size, in GiB, that this storage volume has expanded as a result of an auto grow policy. In the absence of auto-grow, the value is 0. + "bootVolume": True or False, # Output only. Whether this volume is a boot volume. A boot volume is one which contains a boot LUN. + "currentSizeGib": "A String", # The current size of this storage volume, in GiB, including space reserved for snapshots. This size might be different than the requested size if the storage volume has been configured with auto grow or auto shrink. + "emergencySizeGib": "A String", # Additional emergency size that was requested for this Volume, in GiB. current_size_gib includes this value. + "id": "A String", # An identifier for the `Volume`, generated by the backend. + "labels": { # Labels as key value pairs. + "a_key": "A String", + }, + "maxSizeGib": "A String", # Maximum size volume can be expanded to in case of evergency, in GiB. + "name": "A String", # Output only. The resource name of this `Volume`. Resource names are schemeless URIs that follow the conventions in https://cloud.google.com/apis/design/resource_names. Format: `projects/{project}/locations/{location}/volumes/{volume}` + "originallyRequestedSizeGib": "A String", # Originally requested size, in GiB. + "pod": "A String", # Immutable. Pod name. + "protocol": "A String", # Output only. Storage protocol for the Volume. + "remainingSpaceGib": "A String", # The space remaining in the storage volume for new LUNs, in GiB, excluding space reserved for snapshots. + "requestedSizeGib": "A String", # The requested size of this storage volume, in GiB. + "snapshotAutoDeleteBehavior": "A String", # The behavior to use when snapshot reserved space is full. + "snapshotEnabled": True or False, # Whether snapshots are enabled. + "snapshotReservationDetail": { # Details about snapshot space reservation and usage on the storage volume. # Details about snapshot space reservation and usage on the storage volume. + "reservedSpaceGib": "A String", # The space on this storage volume reserved for snapshots, shown in GiB. + "reservedSpacePercent": 42, # Percent of the total Volume size reserved for snapshot copies. Enabling snapshots requires reserving 20% or more of the storage volume space for snapshots. Maximum reserved space for snapshots is 40%. Setting this field will effectively set snapshot_enabled to true. + "reservedSpaceRemainingGib": "A String", # The amount, in GiB, of available space in this storage volume's reserved snapshot space. + "reservedSpaceUsedPercent": 42, # The percent of snapshot space on this storage volume actually being used by the snapshot copies. This value might be higher than 100% if the snapshot copies have overflowed into the data portion of the storage volume. + }, + "snapshotSchedulePolicy": "A String", # The name of the snapshot schedule policy in use for this volume, if any. + "state": "A String", # The state of this storage volume. + "storageType": "A String", # The storage type for this volume. + }, + ], } updateMask: string, The list of fields to update. The currently supported fields are: `labels` `hyperthreading_enabled` `os_image` diff --git a/docs/dyn/baremetalsolution_v2.projects.locations.nfsShares.html b/docs/dyn/baremetalsolution_v2.projects.locations.nfsShares.html index b7527367760..8872a8c4166 100644 --- a/docs/dyn/baremetalsolution_v2.projects.locations.nfsShares.html +++ b/docs/dyn/baremetalsolution_v2.projects.locations.nfsShares.html @@ -117,6 +117,7 @@

Method Details

"allowedClientsCidr": "A String", # The subnet of IP addresses permitted to access the share. "mountPermissions": "A String", # Mount permissions. "network": "A String", # The network the access point sits on. + "nfsPath": "A String", # Output only. The path to access NFS, in format shareIP:/InstanceID InstanceID is the generated ID instead of customer provided name. example like "10.0.0.0:/g123456789-nfs001" "noRootSquash": True or False, # Disable root squashing, which is a feature of NFS. Root squash is a special mapping of the remote superuser (root) identity when using identity authentication. "shareIp": "A String", # The IP address of the share on this network. }, @@ -161,6 +162,7 @@

Method Details

"allowedClientsCidr": "A String", # The subnet of IP addresses permitted to access the share. "mountPermissions": "A String", # Mount permissions. "network": "A String", # The network the access point sits on. + "nfsPath": "A String", # Output only. The path to access NFS, in format shareIP:/InstanceID InstanceID is the generated ID instead of customer provided name. example like "10.0.0.0:/g123456789-nfs001" "noRootSquash": True or False, # Disable root squashing, which is a feature of NFS. Root squash is a special mapping of the remote superuser (root) identity when using identity authentication. "shareIp": "A String", # The IP address of the share on this network. }, @@ -213,6 +215,7 @@

Method Details

"allowedClientsCidr": "A String", # The subnet of IP addresses permitted to access the share. "mountPermissions": "A String", # Mount permissions. "network": "A String", # The network the access point sits on. + "nfsPath": "A String", # Output only. The path to access NFS, in format shareIP:/InstanceID InstanceID is the generated ID instead of customer provided name. example like "10.0.0.0:/g123456789-nfs001" "noRootSquash": True or False, # Disable root squashing, which is a feature of NFS. Root squash is a special mapping of the remote superuser (root) identity when using identity authentication. "shareIp": "A String", # The IP address of the share on this network. }, diff --git a/docs/dyn/baremetalsolution_v2.projects.locations.provisioningQuotas.html b/docs/dyn/baremetalsolution_v2.projects.locations.provisioningQuotas.html index ce641e8a166..75a98452dfa 100644 --- a/docs/dyn/baremetalsolution_v2.projects.locations.provisioningQuotas.html +++ b/docs/dyn/baremetalsolution_v2.projects.locations.provisioningQuotas.html @@ -114,7 +114,8 @@

Method Details

"gcpService": "A String", # The gcp service of the provisioning quota. "instanceQuota": { # A resource budget. # Instance quota. "availableMachineCount": 42, # Number of machines than can be created for the given location and instance_type. - "instanceType": "A String", # Instance type. + "gcpService": "A String", # The gcp service of the provisioning quota. + "instanceType": "A String", # Instance type. Deprecated: use gcp_service. "location": "A String", # Location where the quota applies. "name": "A String", # Output only. The name of the instance quota. }, diff --git a/docs/dyn/baremetalsolution_v2.projects.locations.volumes.html b/docs/dyn/baremetalsolution_v2.projects.locations.volumes.html index 8ba010ffb45..30378c1f01a 100644 --- a/docs/dyn/baremetalsolution_v2.projects.locations.volumes.html +++ b/docs/dyn/baremetalsolution_v2.projects.locations.volumes.html @@ -119,6 +119,7 @@

Method Details

{ # A storage volume. "autoGrownSizeGib": "A String", # The size, in GiB, that this storage volume has expanded as a result of an auto grow policy. In the absence of auto-grow, the value is 0. + "bootVolume": True or False, # Output only. Whether this volume is a boot volume. A boot volume is one which contains a boot LUN. "currentSizeGib": "A String", # The current size of this storage volume, in GiB, including space reserved for snapshots. This size might be different than the requested size if the storage volume has been configured with auto grow or auto shrink. "emergencySizeGib": "A String", # Additional emergency size that was requested for this Volume, in GiB. current_size_gib includes this value. "id": "A String", # An identifier for the `Volume`, generated by the backend. @@ -129,6 +130,7 @@

Method Details

"name": "A String", # Output only. The resource name of this `Volume`. Resource names are schemeless URIs that follow the conventions in https://cloud.google.com/apis/design/resource_names. Format: `projects/{project}/locations/{location}/volumes/{volume}` "originallyRequestedSizeGib": "A String", # Originally requested size, in GiB. "pod": "A String", # Immutable. Pod name. + "protocol": "A String", # Output only. Storage protocol for the Volume. "remainingSpaceGib": "A String", # The space remaining in the storage volume for new LUNs, in GiB, excluding space reserved for snapshots. "requestedSizeGib": "A String", # The requested size of this storage volume, in GiB. "snapshotAutoDeleteBehavior": "A String", # The behavior to use when snapshot reserved space is full. @@ -170,6 +172,7 @@

Method Details

"volumes": [ # The list of storage volumes. { # A storage volume. "autoGrownSizeGib": "A String", # The size, in GiB, that this storage volume has expanded as a result of an auto grow policy. In the absence of auto-grow, the value is 0. + "bootVolume": True or False, # Output only. Whether this volume is a boot volume. A boot volume is one which contains a boot LUN. "currentSizeGib": "A String", # The current size of this storage volume, in GiB, including space reserved for snapshots. This size might be different than the requested size if the storage volume has been configured with auto grow or auto shrink. "emergencySizeGib": "A String", # Additional emergency size that was requested for this Volume, in GiB. current_size_gib includes this value. "id": "A String", # An identifier for the `Volume`, generated by the backend. @@ -180,6 +183,7 @@

Method Details

"name": "A String", # Output only. The resource name of this `Volume`. Resource names are schemeless URIs that follow the conventions in https://cloud.google.com/apis/design/resource_names. Format: `projects/{project}/locations/{location}/volumes/{volume}` "originallyRequestedSizeGib": "A String", # Originally requested size, in GiB. "pod": "A String", # Immutable. Pod name. + "protocol": "A String", # Output only. Storage protocol for the Volume. "remainingSpaceGib": "A String", # The space remaining in the storage volume for new LUNs, in GiB, excluding space reserved for snapshots. "requestedSizeGib": "A String", # The requested size of this storage volume, in GiB. "snapshotAutoDeleteBehavior": "A String", # The behavior to use when snapshot reserved space is full. @@ -223,6 +227,7 @@

Method Details

{ # A storage volume. "autoGrownSizeGib": "A String", # The size, in GiB, that this storage volume has expanded as a result of an auto grow policy. In the absence of auto-grow, the value is 0. + "bootVolume": True or False, # Output only. Whether this volume is a boot volume. A boot volume is one which contains a boot LUN. "currentSizeGib": "A String", # The current size of this storage volume, in GiB, including space reserved for snapshots. This size might be different than the requested size if the storage volume has been configured with auto grow or auto shrink. "emergencySizeGib": "A String", # Additional emergency size that was requested for this Volume, in GiB. current_size_gib includes this value. "id": "A String", # An identifier for the `Volume`, generated by the backend. @@ -233,6 +238,7 @@

Method Details

"name": "A String", # Output only. The resource name of this `Volume`. Resource names are schemeless URIs that follow the conventions in https://cloud.google.com/apis/design/resource_names. Format: `projects/{project}/locations/{location}/volumes/{volume}` "originallyRequestedSizeGib": "A String", # Originally requested size, in GiB. "pod": "A String", # Immutable. Pod name. + "protocol": "A String", # Output only. Storage protocol for the Volume. "remainingSpaceGib": "A String", # The space remaining in the storage volume for new LUNs, in GiB, excluding space reserved for snapshots. "requestedSizeGib": "A String", # The requested size of this storage volume, in GiB. "snapshotAutoDeleteBehavior": "A String", # The behavior to use when snapshot reserved space is full. @@ -248,7 +254,7 @@

Method Details

"storageType": "A String", # The storage type for this volume. } - updateMask: string, The list of fields to update. The only currently supported fields are: `snapshot_auto_delete_behavior` `snapshot_schedule_policy_name` 'labels' 'snapshot_enabled' 'snapshot_reservation_detail.reserved_space_percent' + updateMask: string, The list of fields to update. The only currently supported fields are: 'labels' x__xgafv: string, V1 error format. Allowed values 1 - v1 error format diff --git a/docs/dyn/beyondcorp_v1.projects.locations.appConnections.html b/docs/dyn/beyondcorp_v1.projects.locations.appConnections.html index ad2baa7b93f..e8bfc950ea2 100644 --- a/docs/dyn/beyondcorp_v1.projects.locations.appConnections.html +++ b/docs/dyn/beyondcorp_v1.projects.locations.appConnections.html @@ -138,6 +138,7 @@

Method Details

"gateway": { # Gateway represents a user facing component that serves as an entrance to enable connectivity. # Optional. Gateway used by the AppConnection. "appGateway": "A String", # Required. AppGateway name in following format: `projects/{project_id}/locations/{location_id}/appgateways/{gateway_id}` "ingressPort": 42, # Output only. Ingress port reserved on the gateways for this AppConnection, if not specified or zero, the default port is 19443. + "l7psc": "A String", # Output only. L7 private service connection for this resource. "type": "A String", # Required. The type of hosting used by the gateway. "uri": "A String", # Output only. Server-defined URI for this resource. }, @@ -247,6 +248,7 @@

Method Details

"gateway": { # Gateway represents a user facing component that serves as an entrance to enable connectivity. # Optional. Gateway used by the AppConnection. "appGateway": "A String", # Required. AppGateway name in following format: `projects/{project_id}/locations/{location_id}/appgateways/{gateway_id}` "ingressPort": 42, # Output only. Ingress port reserved on the gateways for this AppConnection, if not specified or zero, the default port is 19443. + "l7psc": "A String", # Output only. L7 private service connection for this resource. "type": "A String", # Required. The type of hosting used by the gateway. "uri": "A String", # Output only. Server-defined URI for this resource. }, @@ -342,6 +344,7 @@

Method Details

"gateway": { # Gateway represents a user facing component that serves as an entrance to enable connectivity. # Optional. Gateway used by the AppConnection. "appGateway": "A String", # Required. AppGateway name in following format: `projects/{project_id}/locations/{location_id}/appgateways/{gateway_id}` "ingressPort": 42, # Output only. Ingress port reserved on the gateways for this AppConnection, if not specified or zero, the default port is 19443. + "l7psc": "A String", # Output only. L7 private service connection for this resource. "type": "A String", # Required. The type of hosting used by the gateway. "uri": "A String", # Output only. Server-defined URI for this resource. }, @@ -398,6 +401,7 @@

Method Details

"gateway": { # Gateway represents a user facing component that serves as an entrance to enable connectivity. # Optional. Gateway used by the AppConnection. "appGateway": "A String", # Required. AppGateway name in following format: `projects/{project_id}/locations/{location_id}/appgateways/{gateway_id}` "ingressPort": 42, # Output only. Ingress port reserved on the gateways for this AppConnection, if not specified or zero, the default port is 19443. + "l7psc": "A String", # Output only. L7 private service connection for this resource. "type": "A String", # Required. The type of hosting used by the gateway. "uri": "A String", # Output only. Server-defined URI for this resource. }, @@ -477,6 +481,7 @@

Method Details

"gateway": { # Gateway represents a user facing component that serves as an entrance to enable connectivity. # Optional. Gateway used by the AppConnection. "appGateway": "A String", # Required. AppGateway name in following format: `projects/{project_id}/locations/{location_id}/appgateways/{gateway_id}` "ingressPort": 42, # Output only. Ingress port reserved on the gateways for this AppConnection, if not specified or zero, the default port is 19443. + "l7psc": "A String", # Output only. L7 private service connection for this resource. "type": "A String", # Required. The type of hosting used by the gateway. "uri": "A String", # Output only. Server-defined URI for this resource. }, diff --git a/docs/dyn/beyondcorp_v1.projects.locations.appConnectors.html b/docs/dyn/beyondcorp_v1.projects.locations.appConnectors.html index 680c7a8f0f6..54a9e846a1c 100644 --- a/docs/dyn/beyondcorp_v1.projects.locations.appConnectors.html +++ b/docs/dyn/beyondcorp_v1.projects.locations.appConnectors.html @@ -103,7 +103,7 @@

Instance Methods

Report status for a given connector.

resolveInstanceConfig(appConnector, x__xgafv=None)

-

Get instance config for a given AppConnector. An internal method called by a AppConnector to get its container config.

+

Gets instance configuration for a given AppConnector. An internal method called by a AppConnector to get its container config.

setIamPolicy(resource, body=None, x__xgafv=None)

Sets the access control policy on the specified resource. Replaces any existing policy. Can return `NOT_FOUND`, `INVALID_ARGUMENT`, and `PERMISSION_DENIED` errors.

@@ -507,7 +507,7 @@

Method Details

resolveInstanceConfig(appConnector, x__xgafv=None) -
Get instance config for a given AppConnector. An internal method called by a AppConnector to get its container config.
+  
Gets instance configuration for a given AppConnector. An internal method called by a AppConnector to get its container config.
 
 Args:
   appConnector: string, Required. BeyondCorp AppConnector name using the form: `projects/{project_id}/locations/{location_id}/appConnectors/{app_connector}` (required)
diff --git a/docs/dyn/beyondcorp_v1alpha.html b/docs/dyn/beyondcorp_v1alpha.html
index 3503803d5aa..dc1e8367291 100644
--- a/docs/dyn/beyondcorp_v1alpha.html
+++ b/docs/dyn/beyondcorp_v1alpha.html
@@ -74,6 +74,11 @@
 
 

BeyondCorp API

Instance Methods

+

+ organizations() +

+

Returns the organizations Resource.

+

projects()

diff --git a/docs/dyn/beyondcorp_v1alpha.organizations.html b/docs/dyn/beyondcorp_v1alpha.organizations.html new file mode 100644 index 00000000000..2e896e71e89 --- /dev/null +++ b/docs/dyn/beyondcorp_v1alpha.organizations.html @@ -0,0 +1,91 @@ + + + +

BeyondCorp API . organizations

+

Instance Methods

+

+ locations() +

+

Returns the locations Resource.

+ +

+ close()

+

Close httplib2 connections.

+

Method Details

+
+ close() +
Close httplib2 connections.
+
+ + \ No newline at end of file diff --git a/docs/dyn/beyondcorp_v1alpha.organizations.locations.html b/docs/dyn/beyondcorp_v1alpha.organizations.locations.html new file mode 100644 index 00000000000..9e1238e8e85 --- /dev/null +++ b/docs/dyn/beyondcorp_v1alpha.organizations.locations.html @@ -0,0 +1,91 @@ + + + +

BeyondCorp API . organizations . locations

+

Instance Methods

+

+ insights() +

+

Returns the insights Resource.

+ +

+ close()

+

Close httplib2 connections.

+

Method Details

+
+ close() +
Close httplib2 connections.
+
+ + \ No newline at end of file diff --git a/docs/dyn/beyondcorp_v1alpha.organizations.locations.insights.html b/docs/dyn/beyondcorp_v1alpha.organizations.locations.insights.html new file mode 100644 index 00000000000..3fbe606fe78 --- /dev/null +++ b/docs/dyn/beyondcorp_v1alpha.organizations.locations.insights.html @@ -0,0 +1,340 @@ + + + +

BeyondCorp API . organizations . locations . insights

+

Instance Methods

+

+ close()

+

Close httplib2 connections.

+

+ configuredInsight(insight, aggregation=None, customGrouping_fieldFilter=None, customGrouping_groupFields=None, endTime=None, fieldFilter=None, group=None, pageSize=None, pageToken=None, startTime=None, x__xgafv=None)

+

Gets the value for a selected particular insight based on the provided filters. Use the organization level path for fetching at org level and project level path for fetching the insight value specific to a particular project.

+

+ configuredInsight_next()

+

Retrieves the next page of results.

+

+ get(name, view=None, x__xgafv=None)

+

Gets the value for a selected particular insight with default configuration. The default aggregation level is 'DAILY' and no grouping will be applied or default grouping if applicable. The data will be returned for recent 7 days. Use the organization level path for fetching at org level and project level path for fetching the insight value specific to a particular project. Setting the `view` to `BASIC` will only return the metadata for the insight.

+

+ list(parent, filter=None, orderBy=None, pageSize=None, pageToken=None, view=None, x__xgafv=None)

+

Lists for all the available insights that could be fetched from the system. Allows to filter using category. Setting the `view` to `BASIC` will let you iterate over the list of insight metadatas.

+

+ list_next()

+

Retrieves the next page of results.

+

Method Details

+
+ close() +
Close httplib2 connections.
+
+ +
+ configuredInsight(insight, aggregation=None, customGrouping_fieldFilter=None, customGrouping_groupFields=None, endTime=None, fieldFilter=None, group=None, pageSize=None, pageToken=None, startTime=None, x__xgafv=None) +
Gets the value for a selected particular insight based on the provided filters. Use the organization level path for fetching at org level and project level path for fetching the insight value specific to a particular project.
+
+Args:
+  insight: string, Required. The resource name of the insight using the form: `organizations/{organization_id}/locations/{location_id}/insights/{insight_id}` `projects/{project_id}/locations/{location_id}/insights/{insight_id}`. (required)
+  aggregation: string, Optional. Aggregation type. Available aggregation could be fetched by calling insight list and get APIs in `BASIC` view.
+    Allowed values
+      AGGREGATION_UNSPECIFIED - Unspecified.
+      HOURLY - Insight should be aggregated at hourly level.
+      DAILY - Insight should be aggregated at daily level.
+      WEEKLY - Insight should be aggregated at weekly level.
+      MONTHLY - Insight should be aggregated at monthly level.
+      CUSTOM_DATE_RANGE - Insight should be aggregated at the custom date range passed in as the start and end time in the request.
+  customGrouping_fieldFilter: string, Optional. Filterable parameters to be added to the grouping clause. Available fields could be fetched by calling insight list and get APIs in `BASIC` view. `=` is the only comparison operator supported. `AND` is the only logical operator supported. Usage: field_filter="fieldName1=fieldVal1 AND fieldName2=fieldVal2". NOTE: Only `AND` conditions are allowed. NOTE: Use the `filter_alias` from `Insight.Metadata.Field` message for the filtering the corresponding fields in this filter field. (These expressions are based on the filter language described at https://google.aip.dev/160).
+  customGrouping_groupFields: string, Required. Fields to be used for grouping. NOTE: Use the `filter_alias` from `Insight.Metadata.Field` message for declaring the fields to be grouped-by here. (repeated)
+  endTime: string, Required. Ending time for the duration for which insight is to be pulled.
+  fieldFilter: string, Optional. Other filterable/configurable parameters as applicable to the selected insight. Available fields could be fetched by calling insight list and get APIs in `BASIC` view. `=` is the only comparison operator supported. `AND` is the only logical operator supported. Usage: field_filter="fieldName1=fieldVal1 AND fieldName2=fieldVal2". NOTE: Only `AND` conditions are allowed. NOTE: Use the `filter_alias` from `Insight.Metadata.Field` message for the filtering the corresponding fields in this filter field. (These expressions are based on the filter language described at https://google.aip.dev/160).
+  group: string, Optional. Group id of the available groupings for the insight. Available groupings could be fetched by calling insight list and get APIs in `BASIC` view.
+  pageSize: integer, Optional. Requested page size. Server may return fewer items than requested. If unspecified, server will pick an appropriate default.
+  pageToken: string, Optional. Used to fetch the page represented by the token. Fetches the first page when not set.
+  startTime: string, Required. Starting time for the duration for which insight is to be pulled.
+  x__xgafv: string, V1 error format.
+    Allowed values
+      1 - v1 error format
+      2 - v2 error format
+
+Returns:
+  An object of the form:
+
+    { # The response for the configured insight.
+  "appliedConfig": { # The configuration that was applied to generate the result. # Output only. Applied insight config to generate the result data rows.
+    "aggregation": "A String", # Output only. Aggregation type applied.
+    "customGrouping": { # Customised grouping option that allows setting the group_by fields and also the filters togather for a configured insight request. # Output only. Customised grouping applied.
+      "fieldFilter": "A String", # Optional. Filterable parameters to be added to the grouping clause. Available fields could be fetched by calling insight list and get APIs in `BASIC` view. `=` is the only comparison operator supported. `AND` is the only logical operator supported. Usage: field_filter="fieldName1=fieldVal1 AND fieldName2=fieldVal2". NOTE: Only `AND` conditions are allowed. NOTE: Use the `filter_alias` from `Insight.Metadata.Field` message for the filtering the corresponding fields in this filter field. (These expressions are based on the filter language described at https://google.aip.dev/160).
+      "groupFields": [ # Required. Fields to be used for grouping. NOTE: Use the `filter_alias` from `Insight.Metadata.Field` message for declaring the fields to be grouped-by here.
+        "A String",
+      ],
+    },
+    "endTime": "A String", # Output only. Ending time for the duration for which insight was pulled.
+    "fieldFilter": "A String", # Output only. Filters applied.
+    "group": "A String", # Output only. Group id of the grouping applied.
+    "startTime": "A String", # Output only. Starting time for the duration for which insight was pulled.
+  },
+  "nextPageToken": "A String", # Output only. Next page token to be fetched. Set to empty or NULL if there are no more pages available.
+  "rows": [ # Output only. Result rows returned containing the required value(s) for configured insight.
+    { # Row of the fetch response consisting of a set of entries.
+      "fieldValues": [ # Output only. Columns/entries/key-vals in the result.
+        { # Column or key value pair from the request as part of key to use in query or a single pair of the fetch response.
+          "displayName": "A String", # Output only. Name of the field.
+          "filterAlias": "A String", # Output only. Field name to be used in filter while requesting configured insight filtered on this field.
+          "id": "A String", # Output only. Field id.
+          "value": "A String", # Output only. Value of the field in string format. Acceptable values are strings or numbers.
+        },
+      ],
+    },
+  ],
+}
+
+ +
+ configuredInsight_next() +
Retrieves the next page of results.
+
+        Args:
+          previous_request: The request for the previous page. (required)
+          previous_response: The response from the request for the previous page. (required)
+
+        Returns:
+          A request object that you can call 'execute()' on to request the next
+          page. Returns None if there are no more items in the collection.
+        
+
+ +
+ get(name, view=None, x__xgafv=None) +
Gets the value for a selected particular insight with default configuration. The default aggregation level is 'DAILY' and no grouping will be applied or default grouping if applicable. The data will be returned for recent 7 days. Use the organization level path for fetching at org level and project level path for fetching the insight value specific to a particular project. Setting the `view` to `BASIC` will only return the metadata for the insight.
+
+Args:
+  name: string, Required. The resource name of the insight using the form: `organizations/{organization_id}/locations/{location_id}/insights/{insight_id}` `projects/{project_id}/locations/{location_id}/insights/{insight_id}` (required)
+  view: string, Required. Metadata only or full data view.
+    Allowed values
+      INSIGHT_VIEW_UNSPECIFIED - The default / unset value. The API will default to the BASIC view.
+      BASIC - Include basic metadata about the insight, but not the insight data. This is the default value (for both ListInsights and GetInsight).
+      FULL - Include everything.
+  x__xgafv: string, V1 error format.
+    Allowed values
+      1 - v1 error format
+      2 - v2 error format
+
+Returns:
+  An object of the form:
+
+    { # The Insight object with configuration that was returned and actual list of records.
+  "appliedConfig": { # The configuration that was applied to generate the result. # Output only. Applied insight config to generate the result data rows.
+    "aggregation": "A String", # Output only. Aggregation type applied.
+    "customGrouping": { # Customised grouping option that allows setting the group_by fields and also the filters togather for a configured insight request. # Output only. Customised grouping applied.
+      "fieldFilter": "A String", # Optional. Filterable parameters to be added to the grouping clause. Available fields could be fetched by calling insight list and get APIs in `BASIC` view. `=` is the only comparison operator supported. `AND` is the only logical operator supported. Usage: field_filter="fieldName1=fieldVal1 AND fieldName2=fieldVal2". NOTE: Only `AND` conditions are allowed. NOTE: Use the `filter_alias` from `Insight.Metadata.Field` message for the filtering the corresponding fields in this filter field. (These expressions are based on the filter language described at https://google.aip.dev/160).
+      "groupFields": [ # Required. Fields to be used for grouping. NOTE: Use the `filter_alias` from `Insight.Metadata.Field` message for declaring the fields to be grouped-by here.
+        "A String",
+      ],
+    },
+    "endTime": "A String", # Output only. Ending time for the duration for which insight was pulled.
+    "fieldFilter": "A String", # Output only. Filters applied.
+    "group": "A String", # Output only. Group id of the grouping applied.
+    "startTime": "A String", # Output only. Starting time for the duration for which insight was pulled.
+  },
+  "metadata": { # Insight filters, groupings and aggregations that can be applied for the insight. Examples: aggregations, groups, field filters. # Output only. Metadata for the Insight.
+    "aggregations": [ # Output only. List of aggregation types available for insight.
+      "A String",
+    ],
+    "category": "A String", # Output only. Category of the insight.
+    "displayName": "A String", # Output only. Common name of the insight.
+    "fields": [ # Output only. List of fields available for insight.
+      { # Field metadata. Commonly understandable name and description for the field. Multiple such fields constitute the Insight.
+        "description": "A String", # Output only. Description of the field.
+        "displayName": "A String", # Output only. Name of the field.
+        "filterAlias": "A String", # Output only. Field name to be used in filter while requesting configured insight filtered on this field.
+        "filterable": True or False, # Output only. Indicates whether the field can be used for filtering.
+        "groupable": True or False, # Output only. Indicates whether the field can be used for grouping in custom grouping request.
+        "id": "A String", # Output only. Field id for which this is the metadata.
+      },
+    ],
+    "groups": [ # Output only. List of groupings available for insight.
+      "A String",
+    ],
+    "subCategory": "A String", # Output only. Sub-Category of the insight.
+    "type": "A String", # Output only. Type of the insight. It is metadata describing whether the insight is a metric (e.g. count) or a report (e.g. list, status).
+  },
+  "name": "A String", # Output only. The insight resource name. e.g. `organizations/{organization_id}/locations/{location_id}/insights/{insight_id}` OR `projects/{project_id}/locations/{location_id}/insights/{insight_id}`.
+  "rows": [ # Output only. Result rows returned containing the required value(s).
+    { # Row of the fetch response consisting of a set of entries.
+      "fieldValues": [ # Output only. Columns/entries/key-vals in the result.
+        { # Column or key value pair from the request as part of key to use in query or a single pair of the fetch response.
+          "displayName": "A String", # Output only. Name of the field.
+          "filterAlias": "A String", # Output only. Field name to be used in filter while requesting configured insight filtered on this field.
+          "id": "A String", # Output only. Field id.
+          "value": "A String", # Output only. Value of the field in string format. Acceptable values are strings or numbers.
+        },
+      ],
+    },
+  ],
+}
+
+ +
+ list(parent, filter=None, orderBy=None, pageSize=None, pageToken=None, view=None, x__xgafv=None) +
Lists for all the available insights that could be fetched from the system. Allows to filter using category. Setting the `view` to `BASIC` will let you iterate over the list of insight metadatas.
+
+Args:
+  parent: string, Required. The resource name of InsightMetadata using the form: `organizations/{organization_id}/locations/{location}` `projects/{project_id}/locations/{location_id}` (required)
+  filter: string, Optional. Filter expression to restrict the insights returned. Supported filter fields: * `type` * `category` * `subCategory` Examples: * "category = application AND type = count" * "category = application AND subCategory = iap" * "type = status" Allowed values: * type: [count, latency, status, list] * category: [application, device, request, security] * subCategory: [iap, webprotect] NOTE: Only equality based comparison is allowed. Only `AND` conjunction is allowed. NOTE: The 'AND' in the filter field needs to be in capital letters only. NOTE: Just filtering on `subCategory` is not allowed. It should be passed in with the parent `category` too. (These expressions are based on the filter language described at https://google.aip.dev/160).
+  orderBy: string, Optional. Hint for how to order the results. This is currently ignored.
+  pageSize: integer, Optional. Requested page size. Server may return fewer items than requested. If unspecified, server will pick an appropriate default. NOTE: Default page size is 50.
+  pageToken: string, Optional. A token identifying a page of results the server should return.
+  view: string, Required. List only metadata or full data.
+    Allowed values
+      INSIGHT_VIEW_UNSPECIFIED - The default / unset value. The API will default to the BASIC view.
+      BASIC - Include basic metadata about the insight, but not the insight data. This is the default value (for both ListInsights and GetInsight).
+      FULL - Include everything.
+  x__xgafv: string, V1 error format.
+    Allowed values
+      1 - v1 error format
+      2 - v2 error format
+
+Returns:
+  An object of the form:
+
+    { # The response for the list of insights.
+  "insights": [ # Output only. List of all insights.
+    { # The Insight object with configuration that was returned and actual list of records.
+      "appliedConfig": { # The configuration that was applied to generate the result. # Output only. Applied insight config to generate the result data rows.
+        "aggregation": "A String", # Output only. Aggregation type applied.
+        "customGrouping": { # Customised grouping option that allows setting the group_by fields and also the filters togather for a configured insight request. # Output only. Customised grouping applied.
+          "fieldFilter": "A String", # Optional. Filterable parameters to be added to the grouping clause. Available fields could be fetched by calling insight list and get APIs in `BASIC` view. `=` is the only comparison operator supported. `AND` is the only logical operator supported. Usage: field_filter="fieldName1=fieldVal1 AND fieldName2=fieldVal2". NOTE: Only `AND` conditions are allowed. NOTE: Use the `filter_alias` from `Insight.Metadata.Field` message for the filtering the corresponding fields in this filter field. (These expressions are based on the filter language described at https://google.aip.dev/160).
+          "groupFields": [ # Required. Fields to be used for grouping. NOTE: Use the `filter_alias` from `Insight.Metadata.Field` message for declaring the fields to be grouped-by here.
+            "A String",
+          ],
+        },
+        "endTime": "A String", # Output only. Ending time for the duration for which insight was pulled.
+        "fieldFilter": "A String", # Output only. Filters applied.
+        "group": "A String", # Output only. Group id of the grouping applied.
+        "startTime": "A String", # Output only. Starting time for the duration for which insight was pulled.
+      },
+      "metadata": { # Insight filters, groupings and aggregations that can be applied for the insight. Examples: aggregations, groups, field filters. # Output only. Metadata for the Insight.
+        "aggregations": [ # Output only. List of aggregation types available for insight.
+          "A String",
+        ],
+        "category": "A String", # Output only. Category of the insight.
+        "displayName": "A String", # Output only. Common name of the insight.
+        "fields": [ # Output only. List of fields available for insight.
+          { # Field metadata. Commonly understandable name and description for the field. Multiple such fields constitute the Insight.
+            "description": "A String", # Output only. Description of the field.
+            "displayName": "A String", # Output only. Name of the field.
+            "filterAlias": "A String", # Output only. Field name to be used in filter while requesting configured insight filtered on this field.
+            "filterable": True or False, # Output only. Indicates whether the field can be used for filtering.
+            "groupable": True or False, # Output only. Indicates whether the field can be used for grouping in custom grouping request.
+            "id": "A String", # Output only. Field id for which this is the metadata.
+          },
+        ],
+        "groups": [ # Output only. List of groupings available for insight.
+          "A String",
+        ],
+        "subCategory": "A String", # Output only. Sub-Category of the insight.
+        "type": "A String", # Output only. Type of the insight. It is metadata describing whether the insight is a metric (e.g. count) or a report (e.g. list, status).
+      },
+      "name": "A String", # Output only. The insight resource name. e.g. `organizations/{organization_id}/locations/{location_id}/insights/{insight_id}` OR `projects/{project_id}/locations/{location_id}/insights/{insight_id}`.
+      "rows": [ # Output only. Result rows returned containing the required value(s).
+        { # Row of the fetch response consisting of a set of entries.
+          "fieldValues": [ # Output only. Columns/entries/key-vals in the result.
+            { # Column or key value pair from the request as part of key to use in query or a single pair of the fetch response.
+              "displayName": "A String", # Output only. Name of the field.
+              "filterAlias": "A String", # Output only. Field name to be used in filter while requesting configured insight filtered on this field.
+              "id": "A String", # Output only. Field id.
+              "value": "A String", # Output only. Value of the field in string format. Acceptable values are strings or numbers.
+            },
+          ],
+        },
+      ],
+    },
+  ],
+  "nextPageToken": "A String", # Output only. Next page token to be fetched. Set to empty or NULL if there are no more pages available.
+}
+
+ +
+ list_next() +
Retrieves the next page of results.
+
+        Args:
+          previous_request: The request for the previous page. (required)
+          previous_response: The response from the request for the previous page. (required)
+
+        Returns:
+          A request object that you can call 'execute()' on to request the next
+          page. Returns None if there are no more items in the collection.
+        
+
+ + \ No newline at end of file diff --git a/docs/dyn/beyondcorp_v1alpha.projects.locations.appConnections.html b/docs/dyn/beyondcorp_v1alpha.projects.locations.appConnections.html index 8325c2618fa..fd7bb94ba9f 100644 --- a/docs/dyn/beyondcorp_v1alpha.projects.locations.appConnections.html +++ b/docs/dyn/beyondcorp_v1alpha.projects.locations.appConnections.html @@ -138,6 +138,7 @@

Method Details

"gateway": { # Gateway represents a user facing component that serves as an entrance to enable connectivity. # Optional. Gateway used by the AppConnection. "appGateway": "A String", # Required. AppGateway name in following format: `projects/{project_id}/locations/{location_id}/appgateways/{gateway_id}` "ingressPort": 42, # Output only. Ingress port reserved on the gateways for this AppConnection, if not specified or zero, the default port is 19443. + "l7psc": "A String", # Output only. L7 private service connection for this resource. "type": "A String", # Required. The type of hosting used by the gateway. "uri": "A String", # Output only. Server-defined URI for this resource. }, @@ -247,6 +248,7 @@

Method Details

"gateway": { # Gateway represents a user facing component that serves as an entrance to enable connectivity. # Optional. Gateway used by the AppConnection. "appGateway": "A String", # Required. AppGateway name in following format: `projects/{project_id}/locations/{location_id}/appgateways/{gateway_id}` "ingressPort": 42, # Output only. Ingress port reserved on the gateways for this AppConnection, if not specified or zero, the default port is 19443. + "l7psc": "A String", # Output only. L7 private service connection for this resource. "type": "A String", # Required. The type of hosting used by the gateway. "uri": "A String", # Output only. Server-defined URI for this resource. }, @@ -342,6 +344,7 @@

Method Details

"gateway": { # Gateway represents a user facing component that serves as an entrance to enable connectivity. # Optional. Gateway used by the AppConnection. "appGateway": "A String", # Required. AppGateway name in following format: `projects/{project_id}/locations/{location_id}/appgateways/{gateway_id}` "ingressPort": 42, # Output only. Ingress port reserved on the gateways for this AppConnection, if not specified or zero, the default port is 19443. + "l7psc": "A String", # Output only. L7 private service connection for this resource. "type": "A String", # Required. The type of hosting used by the gateway. "uri": "A String", # Output only. Server-defined URI for this resource. }, @@ -398,6 +401,7 @@

Method Details

"gateway": { # Gateway represents a user facing component that serves as an entrance to enable connectivity. # Optional. Gateway used by the AppConnection. "appGateway": "A String", # Required. AppGateway name in following format: `projects/{project_id}/locations/{location_id}/appgateways/{gateway_id}` "ingressPort": 42, # Output only. Ingress port reserved on the gateways for this AppConnection, if not specified or zero, the default port is 19443. + "l7psc": "A String", # Output only. L7 private service connection for this resource. "type": "A String", # Required. The type of hosting used by the gateway. "uri": "A String", # Output only. Server-defined URI for this resource. }, @@ -477,6 +481,7 @@

Method Details

"gateway": { # Gateway represents a user facing component that serves as an entrance to enable connectivity. # Optional. Gateway used by the AppConnection. "appGateway": "A String", # Required. AppGateway name in following format: `projects/{project_id}/locations/{location_id}/appgateways/{gateway_id}` "ingressPort": 42, # Output only. Ingress port reserved on the gateways for this AppConnection, if not specified or zero, the default port is 19443. + "l7psc": "A String", # Output only. L7 private service connection for this resource. "type": "A String", # Required. The type of hosting used by the gateway. "uri": "A String", # Output only. Server-defined URI for this resource. }, diff --git a/docs/dyn/beyondcorp_v1alpha.projects.locations.appConnectors.html b/docs/dyn/beyondcorp_v1alpha.projects.locations.appConnectors.html index fd509ed03d9..307b9a01d13 100644 --- a/docs/dyn/beyondcorp_v1alpha.projects.locations.appConnectors.html +++ b/docs/dyn/beyondcorp_v1alpha.projects.locations.appConnectors.html @@ -103,7 +103,7 @@

Instance Methods

Report status for a given connector.

resolveInstanceConfig(appConnector, x__xgafv=None)

-

Get instance config for a given AppConnector. An internal method called by a AppConnector to get its container config.

+

Gets instance configuration for a given AppConnector. An internal method called by a AppConnector to get its container config.

setIamPolicy(resource, body=None, x__xgafv=None)

Sets the access control policy on the specified resource. Replaces any existing policy. Can return `NOT_FOUND`, `INVALID_ARGUMENT`, and `PERMISSION_DENIED` errors.

@@ -507,7 +507,7 @@

Method Details

resolveInstanceConfig(appConnector, x__xgafv=None) -
Get instance config for a given AppConnector. An internal method called by a AppConnector to get its container config.
+  
Gets instance configuration for a given AppConnector. An internal method called by a AppConnector to get its container config.
 
 Args:
   appConnector: string, Required. BeyondCorp AppConnector name using the form: `projects/{project_id}/locations/{location_id}/appConnectors/{app_connector}` (required)
diff --git a/docs/dyn/beyondcorp_v1alpha.projects.locations.connectors.html b/docs/dyn/beyondcorp_v1alpha.projects.locations.connectors.html
index d5cc0cf0f1e..9b7f77eec7c 100644
--- a/docs/dyn/beyondcorp_v1alpha.projects.locations.connectors.html
+++ b/docs/dyn/beyondcorp_v1alpha.projects.locations.connectors.html
@@ -103,7 +103,7 @@ 

Instance Methods

Report status for a given connector.

resolveInstanceConfig(connector, x__xgafv=None)

-

Get instance config for a given connector. An internal method called by a connector to get its container config.

+

Gets instance configuration for a given connector. An internal method called by a connector to get its container config.

setIamPolicy(resource, body=None, x__xgafv=None)

Sets the access control policy on the specified resource. Replaces any existing policy. Can return `NOT_FOUND`, `INVALID_ARGUMENT`, and `PERMISSION_DENIED` errors.

@@ -507,7 +507,7 @@

Method Details

resolveInstanceConfig(connector, x__xgafv=None) -
Get instance config for a given connector. An internal method called by a connector to get its container config.
+  
Gets instance configuration for a given connector. An internal method called by a connector to get its container config.
 
 Args:
   connector: string, Required. BeyondCorp Connector name using the form: `projects/{project_id}/locations/{location_id}/connectors/{connector}` (required)
diff --git a/docs/dyn/beyondcorp_v1alpha.projects.locations.html b/docs/dyn/beyondcorp_v1alpha.projects.locations.html
index 6c29dacc6d4..0ce41604796 100644
--- a/docs/dyn/beyondcorp_v1alpha.projects.locations.html
+++ b/docs/dyn/beyondcorp_v1alpha.projects.locations.html
@@ -114,6 +114,11 @@ 

Instance Methods

Returns the connectors Resource.

+

+ insights() +

+

Returns the insights Resource.

+

operations()

diff --git a/docs/dyn/beyondcorp_v1alpha.projects.locations.insights.html b/docs/dyn/beyondcorp_v1alpha.projects.locations.insights.html new file mode 100644 index 00000000000..84d5cb0ccca --- /dev/null +++ b/docs/dyn/beyondcorp_v1alpha.projects.locations.insights.html @@ -0,0 +1,340 @@ + + + +

BeyondCorp API . projects . locations . insights

+

Instance Methods

+

+ close()

+

Close httplib2 connections.

+

+ configuredInsight(insight, aggregation=None, customGrouping_fieldFilter=None, customGrouping_groupFields=None, endTime=None, fieldFilter=None, group=None, pageSize=None, pageToken=None, startTime=None, x__xgafv=None)

+

Gets the value for a selected particular insight based on the provided filters. Use the organization level path for fetching at org level and project level path for fetching the insight value specific to a particular project.

+

+ configuredInsight_next()

+

Retrieves the next page of results.

+

+ get(name, view=None, x__xgafv=None)

+

Gets the value for a selected particular insight with default configuration. The default aggregation level is 'DAILY' and no grouping will be applied or default grouping if applicable. The data will be returned for recent 7 days. Use the organization level path for fetching at org level and project level path for fetching the insight value specific to a particular project. Setting the `view` to `BASIC` will only return the metadata for the insight.

+

+ list(parent, filter=None, orderBy=None, pageSize=None, pageToken=None, view=None, x__xgafv=None)

+

Lists for all the available insights that could be fetched from the system. Allows to filter using category. Setting the `view` to `BASIC` will let you iterate over the list of insight metadatas.

+

+ list_next()

+

Retrieves the next page of results.

+

Method Details

+
+ close() +
Close httplib2 connections.
+
+ +
+ configuredInsight(insight, aggregation=None, customGrouping_fieldFilter=None, customGrouping_groupFields=None, endTime=None, fieldFilter=None, group=None, pageSize=None, pageToken=None, startTime=None, x__xgafv=None) +
Gets the value for a selected particular insight based on the provided filters. Use the organization level path for fetching at org level and project level path for fetching the insight value specific to a particular project.
+
+Args:
+  insight: string, Required. The resource name of the insight using the form: `organizations/{organization_id}/locations/{location_id}/insights/{insight_id}` `projects/{project_id}/locations/{location_id}/insights/{insight_id}`. (required)
+  aggregation: string, Optional. Aggregation type. Available aggregation could be fetched by calling insight list and get APIs in `BASIC` view.
+    Allowed values
+      AGGREGATION_UNSPECIFIED - Unspecified.
+      HOURLY - Insight should be aggregated at hourly level.
+      DAILY - Insight should be aggregated at daily level.
+      WEEKLY - Insight should be aggregated at weekly level.
+      MONTHLY - Insight should be aggregated at monthly level.
+      CUSTOM_DATE_RANGE - Insight should be aggregated at the custom date range passed in as the start and end time in the request.
+  customGrouping_fieldFilter: string, Optional. Filterable parameters to be added to the grouping clause. Available fields could be fetched by calling insight list and get APIs in `BASIC` view. `=` is the only comparison operator supported. `AND` is the only logical operator supported. Usage: field_filter="fieldName1=fieldVal1 AND fieldName2=fieldVal2". NOTE: Only `AND` conditions are allowed. NOTE: Use the `filter_alias` from `Insight.Metadata.Field` message for the filtering the corresponding fields in this filter field. (These expressions are based on the filter language described at https://google.aip.dev/160).
+  customGrouping_groupFields: string, Required. Fields to be used for grouping. NOTE: Use the `filter_alias` from `Insight.Metadata.Field` message for declaring the fields to be grouped-by here. (repeated)
+  endTime: string, Required. Ending time for the duration for which insight is to be pulled.
+  fieldFilter: string, Optional. Other filterable/configurable parameters as applicable to the selected insight. Available fields could be fetched by calling insight list and get APIs in `BASIC` view. `=` is the only comparison operator supported. `AND` is the only logical operator supported. Usage: field_filter="fieldName1=fieldVal1 AND fieldName2=fieldVal2". NOTE: Only `AND` conditions are allowed. NOTE: Use the `filter_alias` from `Insight.Metadata.Field` message for the filtering the corresponding fields in this filter field. (These expressions are based on the filter language described at https://google.aip.dev/160).
+  group: string, Optional. Group id of the available groupings for the insight. Available groupings could be fetched by calling insight list and get APIs in `BASIC` view.
+  pageSize: integer, Optional. Requested page size. Server may return fewer items than requested. If unspecified, server will pick an appropriate default.
+  pageToken: string, Optional. Used to fetch the page represented by the token. Fetches the first page when not set.
+  startTime: string, Required. Starting time for the duration for which insight is to be pulled.
+  x__xgafv: string, V1 error format.
+    Allowed values
+      1 - v1 error format
+      2 - v2 error format
+
+Returns:
+  An object of the form:
+
+    { # The response for the configured insight.
+  "appliedConfig": { # The configuration that was applied to generate the result. # Output only. Applied insight config to generate the result data rows.
+    "aggregation": "A String", # Output only. Aggregation type applied.
+    "customGrouping": { # Customised grouping option that allows setting the group_by fields and also the filters togather for a configured insight request. # Output only. Customised grouping applied.
+      "fieldFilter": "A String", # Optional. Filterable parameters to be added to the grouping clause. Available fields could be fetched by calling insight list and get APIs in `BASIC` view. `=` is the only comparison operator supported. `AND` is the only logical operator supported. Usage: field_filter="fieldName1=fieldVal1 AND fieldName2=fieldVal2". NOTE: Only `AND` conditions are allowed. NOTE: Use the `filter_alias` from `Insight.Metadata.Field` message for the filtering the corresponding fields in this filter field. (These expressions are based on the filter language described at https://google.aip.dev/160).
+      "groupFields": [ # Required. Fields to be used for grouping. NOTE: Use the `filter_alias` from `Insight.Metadata.Field` message for declaring the fields to be grouped-by here.
+        "A String",
+      ],
+    },
+    "endTime": "A String", # Output only. Ending time for the duration for which insight was pulled.
+    "fieldFilter": "A String", # Output only. Filters applied.
+    "group": "A String", # Output only. Group id of the grouping applied.
+    "startTime": "A String", # Output only. Starting time for the duration for which insight was pulled.
+  },
+  "nextPageToken": "A String", # Output only. Next page token to be fetched. Set to empty or NULL if there are no more pages available.
+  "rows": [ # Output only. Result rows returned containing the required value(s) for configured insight.
+    { # Row of the fetch response consisting of a set of entries.
+      "fieldValues": [ # Output only. Columns/entries/key-vals in the result.
+        { # Column or key value pair from the request as part of key to use in query or a single pair of the fetch response.
+          "displayName": "A String", # Output only. Name of the field.
+          "filterAlias": "A String", # Output only. Field name to be used in filter while requesting configured insight filtered on this field.
+          "id": "A String", # Output only. Field id.
+          "value": "A String", # Output only. Value of the field in string format. Acceptable values are strings or numbers.
+        },
+      ],
+    },
+  ],
+}
+
+ +
+ configuredInsight_next() +
Retrieves the next page of results.
+
+        Args:
+          previous_request: The request for the previous page. (required)
+          previous_response: The response from the request for the previous page. (required)
+
+        Returns:
+          A request object that you can call 'execute()' on to request the next
+          page. Returns None if there are no more items in the collection.
+        
+
+ +
+ get(name, view=None, x__xgafv=None) +
Gets the value for a selected particular insight with default configuration. The default aggregation level is 'DAILY' and no grouping will be applied or default grouping if applicable. The data will be returned for recent 7 days. Use the organization level path for fetching at org level and project level path for fetching the insight value specific to a particular project. Setting the `view` to `BASIC` will only return the metadata for the insight.
+
+Args:
+  name: string, Required. The resource name of the insight using the form: `organizations/{organization_id}/locations/{location_id}/insights/{insight_id}` `projects/{project_id}/locations/{location_id}/insights/{insight_id}` (required)
+  view: string, Required. Metadata only or full data view.
+    Allowed values
+      INSIGHT_VIEW_UNSPECIFIED - The default / unset value. The API will default to the BASIC view.
+      BASIC - Include basic metadata about the insight, but not the insight data. This is the default value (for both ListInsights and GetInsight).
+      FULL - Include everything.
+  x__xgafv: string, V1 error format.
+    Allowed values
+      1 - v1 error format
+      2 - v2 error format
+
+Returns:
+  An object of the form:
+
+    { # The Insight object with configuration that was returned and actual list of records.
+  "appliedConfig": { # The configuration that was applied to generate the result. # Output only. Applied insight config to generate the result data rows.
+    "aggregation": "A String", # Output only. Aggregation type applied.
+    "customGrouping": { # Customised grouping option that allows setting the group_by fields and also the filters togather for a configured insight request. # Output only. Customised grouping applied.
+      "fieldFilter": "A String", # Optional. Filterable parameters to be added to the grouping clause. Available fields could be fetched by calling insight list and get APIs in `BASIC` view. `=` is the only comparison operator supported. `AND` is the only logical operator supported. Usage: field_filter="fieldName1=fieldVal1 AND fieldName2=fieldVal2". NOTE: Only `AND` conditions are allowed. NOTE: Use the `filter_alias` from `Insight.Metadata.Field` message for the filtering the corresponding fields in this filter field. (These expressions are based on the filter language described at https://google.aip.dev/160).
+      "groupFields": [ # Required. Fields to be used for grouping. NOTE: Use the `filter_alias` from `Insight.Metadata.Field` message for declaring the fields to be grouped-by here.
+        "A String",
+      ],
+    },
+    "endTime": "A String", # Output only. Ending time for the duration for which insight was pulled.
+    "fieldFilter": "A String", # Output only. Filters applied.
+    "group": "A String", # Output only. Group id of the grouping applied.
+    "startTime": "A String", # Output only. Starting time for the duration for which insight was pulled.
+  },
+  "metadata": { # Insight filters, groupings and aggregations that can be applied for the insight. Examples: aggregations, groups, field filters. # Output only. Metadata for the Insight.
+    "aggregations": [ # Output only. List of aggregation types available for insight.
+      "A String",
+    ],
+    "category": "A String", # Output only. Category of the insight.
+    "displayName": "A String", # Output only. Common name of the insight.
+    "fields": [ # Output only. List of fields available for insight.
+      { # Field metadata. Commonly understandable name and description for the field. Multiple such fields constitute the Insight.
+        "description": "A String", # Output only. Description of the field.
+        "displayName": "A String", # Output only. Name of the field.
+        "filterAlias": "A String", # Output only. Field name to be used in filter while requesting configured insight filtered on this field.
+        "filterable": True or False, # Output only. Indicates whether the field can be used for filtering.
+        "groupable": True or False, # Output only. Indicates whether the field can be used for grouping in custom grouping request.
+        "id": "A String", # Output only. Field id for which this is the metadata.
+      },
+    ],
+    "groups": [ # Output only. List of groupings available for insight.
+      "A String",
+    ],
+    "subCategory": "A String", # Output only. Sub-Category of the insight.
+    "type": "A String", # Output only. Type of the insight. It is metadata describing whether the insight is a metric (e.g. count) or a report (e.g. list, status).
+  },
+  "name": "A String", # Output only. The insight resource name. e.g. `organizations/{organization_id}/locations/{location_id}/insights/{insight_id}` OR `projects/{project_id}/locations/{location_id}/insights/{insight_id}`.
+  "rows": [ # Output only. Result rows returned containing the required value(s).
+    { # Row of the fetch response consisting of a set of entries.
+      "fieldValues": [ # Output only. Columns/entries/key-vals in the result.
+        { # Column or key value pair from the request as part of key to use in query or a single pair of the fetch response.
+          "displayName": "A String", # Output only. Name of the field.
+          "filterAlias": "A String", # Output only. Field name to be used in filter while requesting configured insight filtered on this field.
+          "id": "A String", # Output only. Field id.
+          "value": "A String", # Output only. Value of the field in string format. Acceptable values are strings or numbers.
+        },
+      ],
+    },
+  ],
+}
+
+ +
+ list(parent, filter=None, orderBy=None, pageSize=None, pageToken=None, view=None, x__xgafv=None) +
Lists for all the available insights that could be fetched from the system. Allows to filter using category. Setting the `view` to `BASIC` will let you iterate over the list of insight metadatas.
+
+Args:
+  parent: string, Required. The resource name of InsightMetadata using the form: `organizations/{organization_id}/locations/{location}` `projects/{project_id}/locations/{location_id}` (required)
+  filter: string, Optional. Filter expression to restrict the insights returned. Supported filter fields: * `type` * `category` * `subCategory` Examples: * "category = application AND type = count" * "category = application AND subCategory = iap" * "type = status" Allowed values: * type: [count, latency, status, list] * category: [application, device, request, security] * subCategory: [iap, webprotect] NOTE: Only equality based comparison is allowed. Only `AND` conjunction is allowed. NOTE: The 'AND' in the filter field needs to be in capital letters only. NOTE: Just filtering on `subCategory` is not allowed. It should be passed in with the parent `category` too. (These expressions are based on the filter language described at https://google.aip.dev/160).
+  orderBy: string, Optional. Hint for how to order the results. This is currently ignored.
+  pageSize: integer, Optional. Requested page size. Server may return fewer items than requested. If unspecified, server will pick an appropriate default. NOTE: Default page size is 50.
+  pageToken: string, Optional. A token identifying a page of results the server should return.
+  view: string, Required. List only metadata or full data.
+    Allowed values
+      INSIGHT_VIEW_UNSPECIFIED - The default / unset value. The API will default to the BASIC view.
+      BASIC - Include basic metadata about the insight, but not the insight data. This is the default value (for both ListInsights and GetInsight).
+      FULL - Include everything.
+  x__xgafv: string, V1 error format.
+    Allowed values
+      1 - v1 error format
+      2 - v2 error format
+
+Returns:
+  An object of the form:
+
+    { # The response for the list of insights.
+  "insights": [ # Output only. List of all insights.
+    { # The Insight object with configuration that was returned and actual list of records.
+      "appliedConfig": { # The configuration that was applied to generate the result. # Output only. Applied insight config to generate the result data rows.
+        "aggregation": "A String", # Output only. Aggregation type applied.
+        "customGrouping": { # Customised grouping option that allows setting the group_by fields and also the filters togather for a configured insight request. # Output only. Customised grouping applied.
+          "fieldFilter": "A String", # Optional. Filterable parameters to be added to the grouping clause. Available fields could be fetched by calling insight list and get APIs in `BASIC` view. `=` is the only comparison operator supported. `AND` is the only logical operator supported. Usage: field_filter="fieldName1=fieldVal1 AND fieldName2=fieldVal2". NOTE: Only `AND` conditions are allowed. NOTE: Use the `filter_alias` from `Insight.Metadata.Field` message for the filtering the corresponding fields in this filter field. (These expressions are based on the filter language described at https://google.aip.dev/160).
+          "groupFields": [ # Required. Fields to be used for grouping. NOTE: Use the `filter_alias` from `Insight.Metadata.Field` message for declaring the fields to be grouped-by here.
+            "A String",
+          ],
+        },
+        "endTime": "A String", # Output only. Ending time for the duration for which insight was pulled.
+        "fieldFilter": "A String", # Output only. Filters applied.
+        "group": "A String", # Output only. Group id of the grouping applied.
+        "startTime": "A String", # Output only. Starting time for the duration for which insight was pulled.
+      },
+      "metadata": { # Insight filters, groupings and aggregations that can be applied for the insight. Examples: aggregations, groups, field filters. # Output only. Metadata for the Insight.
+        "aggregations": [ # Output only. List of aggregation types available for insight.
+          "A String",
+        ],
+        "category": "A String", # Output only. Category of the insight.
+        "displayName": "A String", # Output only. Common name of the insight.
+        "fields": [ # Output only. List of fields available for insight.
+          { # Field metadata. Commonly understandable name and description for the field. Multiple such fields constitute the Insight.
+            "description": "A String", # Output only. Description of the field.
+            "displayName": "A String", # Output only. Name of the field.
+            "filterAlias": "A String", # Output only. Field name to be used in filter while requesting configured insight filtered on this field.
+            "filterable": True or False, # Output only. Indicates whether the field can be used for filtering.
+            "groupable": True or False, # Output only. Indicates whether the field can be used for grouping in custom grouping request.
+            "id": "A String", # Output only. Field id for which this is the metadata.
+          },
+        ],
+        "groups": [ # Output only. List of groupings available for insight.
+          "A String",
+        ],
+        "subCategory": "A String", # Output only. Sub-Category of the insight.
+        "type": "A String", # Output only. Type of the insight. It is metadata describing whether the insight is a metric (e.g. count) or a report (e.g. list, status).
+      },
+      "name": "A String", # Output only. The insight resource name. e.g. `organizations/{organization_id}/locations/{location_id}/insights/{insight_id}` OR `projects/{project_id}/locations/{location_id}/insights/{insight_id}`.
+      "rows": [ # Output only. Result rows returned containing the required value(s).
+        { # Row of the fetch response consisting of a set of entries.
+          "fieldValues": [ # Output only. Columns/entries/key-vals in the result.
+            { # Column or key value pair from the request as part of key to use in query or a single pair of the fetch response.
+              "displayName": "A String", # Output only. Name of the field.
+              "filterAlias": "A String", # Output only. Field name to be used in filter while requesting configured insight filtered on this field.
+              "id": "A String", # Output only. Field id.
+              "value": "A String", # Output only. Value of the field in string format. Acceptable values are strings or numbers.
+            },
+          ],
+        },
+      ],
+    },
+  ],
+  "nextPageToken": "A String", # Output only. Next page token to be fetched. Set to empty or NULL if there are no more pages available.
+}
+
+ +
+ list_next() +
Retrieves the next page of results.
+
+        Args:
+          previous_request: The request for the previous page. (required)
+          previous_response: The response from the request for the previous page. (required)
+
+        Returns:
+          A request object that you can call 'execute()' on to request the next
+          page. Returns None if there are no more items in the collection.
+        
+
+ + \ No newline at end of file diff --git a/docs/dyn/bigquery_v2.jobs.html b/docs/dyn/bigquery_v2.jobs.html index 6752c1ba13c..b03b22e140c 100644 --- a/docs/dyn/bigquery_v2.jobs.html +++ b/docs/dyn/bigquery_v2.jobs.html @@ -230,6 +230,7 @@

Method Details

"start": "A String", # [TrustedTester] [Required] The start of range partitioning, inclusive. }, }, + "referenceFileSchemaUri": "A String", # User provided referencing file with the expected reader schema, Available for the format: AVRO, PARQUET, ORC. "schema": { # [Optional] The schema for the destination table. The schema can be omitted if the destination table already exists, or if you're loading data from Google Cloud Datastore. "fields": [ # Describes the fields in a table. { @@ -383,6 +384,7 @@

Method Details

"encoding": "A String", # [Optional] The character encoding of the data. The supported values are UTF-8 or ISO-8859-1. The default value is UTF-8. BigQuery decodes the data after the raw, binary data has been split using the values of the quote and fieldDelimiter properties. "fieldDelimiter": "A String", # [Optional] The separator for fields in a CSV file. BigQuery converts the string to ISO-8859-1 encoding, and then uses the first byte of the encoded string to split the data in its raw, binary state. BigQuery also supports the escape sequence "\t" to specify a tab separator. The default value is a comma (','). "null_marker": "A String", # [Optional] An custom string that will represent a NULL value in CSV import data. + "preserveAsciiControlCharacters": True or False, # [Optional] Preserves the embedded ASCII control characters (the first 32 characters in the ASCII-table, from '\x00' to '\x1F') when loading from CSV. Only applicable to CSV, ignored for other formats. "quote": """, # [Optional] The value that is used to quote data sections in a CSV file. BigQuery converts the string to ISO-8859-1 encoding, and then uses the first byte of the encoded string to split the data in its raw, binary state. The default value is a double-quote ('"'). If your data does not contain quoted sections, set the property value to an empty string. If your data contains quoted newline characters, you must also set the allowQuotedNewlines property to true. "skipLeadingRows": "A String", # [Optional] The number of rows at the top of a CSV file that BigQuery will skip when reading the data. The default value is 0. This property is useful if you have header rows in the file that should be skipped. When autodetect is on, the behavior is the following: * skipLeadingRows unspecified - Autodetect tries to detect headers in the first row. If they are not detected, the row is read as data. Otherwise data is read starting from the second row. * skipLeadingRows is 0 - Instructs autodetect that there are no headers and data should be read starting from the first row. * skipLeadingRows = N > 0 - Autodetect skips N-1 rows and tries to detect headers in row N. If headers are not detected, row N is just skipped. Otherwise row N is used to extract column names for the detected schema. }, @@ -404,6 +406,7 @@

Method Details

"enableListInference": True or False, # [Optional] Indicates whether to use schema inference specifically for Parquet LIST logical type. "enumAsString": True or False, # [Optional] Indicates whether to infer Parquet ENUM logical type as STRING instead of BYTES by default. }, + "referenceFileSchemaUri": "A String", # [Optional] Provide a referencing file with the expected table schema. Enabled for the format: AVRO, PARQUET, ORC. "schema": { # [Optional] The schema for the data. Schema is required for CSV and JSON formats. Schema is disallowed for Google Cloud Bigtable, Cloud Datastore backups, and Avro formats. "fields": [ # Describes the fields in a table. { @@ -664,7 +667,7 @@

Method Details

"completedUnits": "A String", # Total parallel units of work completed by this query. "elapsedMs": "A String", # Milliseconds elapsed since the start of query execution. "estimatedRunnableUnits": "A String", # Units of work that can be scheduled immediately. Providing additional slots for these units of work will speed up the query, provided no other query in the reservation needs additional slots. - "pendingUnits": "A String", # Total parallel units of work remaining for the active stages. + "pendingUnits": "A String", # Total units of work remaining for the query. This number can be revised (increased or decreased) while the query is running. "totalSlotMs": "A String", # Cumulative slot-ms consumed by the query. }, ], @@ -898,6 +901,7 @@

Method Details

"start": "A String", # [TrustedTester] [Required] The start of range partitioning, inclusive. }, }, + "referenceFileSchemaUri": "A String", # User provided referencing file with the expected reader schema, Available for the format: AVRO, PARQUET, ORC. "schema": { # [Optional] The schema for the destination table. The schema can be omitted if the destination table already exists, or if you're loading data from Google Cloud Datastore. "fields": [ # Describes the fields in a table. { @@ -1051,6 +1055,7 @@

Method Details

"encoding": "A String", # [Optional] The character encoding of the data. The supported values are UTF-8 or ISO-8859-1. The default value is UTF-8. BigQuery decodes the data after the raw, binary data has been split using the values of the quote and fieldDelimiter properties. "fieldDelimiter": "A String", # [Optional] The separator for fields in a CSV file. BigQuery converts the string to ISO-8859-1 encoding, and then uses the first byte of the encoded string to split the data in its raw, binary state. BigQuery also supports the escape sequence "\t" to specify a tab separator. The default value is a comma (','). "null_marker": "A String", # [Optional] An custom string that will represent a NULL value in CSV import data. + "preserveAsciiControlCharacters": True or False, # [Optional] Preserves the embedded ASCII control characters (the first 32 characters in the ASCII-table, from '\x00' to '\x1F') when loading from CSV. Only applicable to CSV, ignored for other formats. "quote": """, # [Optional] The value that is used to quote data sections in a CSV file. BigQuery converts the string to ISO-8859-1 encoding, and then uses the first byte of the encoded string to split the data in its raw, binary state. The default value is a double-quote ('"'). If your data does not contain quoted sections, set the property value to an empty string. If your data contains quoted newline characters, you must also set the allowQuotedNewlines property to true. "skipLeadingRows": "A String", # [Optional] The number of rows at the top of a CSV file that BigQuery will skip when reading the data. The default value is 0. This property is useful if you have header rows in the file that should be skipped. When autodetect is on, the behavior is the following: * skipLeadingRows unspecified - Autodetect tries to detect headers in the first row. If they are not detected, the row is read as data. Otherwise data is read starting from the second row. * skipLeadingRows is 0 - Instructs autodetect that there are no headers and data should be read starting from the first row. * skipLeadingRows = N > 0 - Autodetect skips N-1 rows and tries to detect headers in row N. If headers are not detected, row N is just skipped. Otherwise row N is used to extract column names for the detected schema. }, @@ -1072,6 +1077,7 @@

Method Details

"enableListInference": True or False, # [Optional] Indicates whether to use schema inference specifically for Parquet LIST logical type. "enumAsString": True or False, # [Optional] Indicates whether to infer Parquet ENUM logical type as STRING instead of BYTES by default. }, + "referenceFileSchemaUri": "A String", # [Optional] Provide a referencing file with the expected table schema. Enabled for the format: AVRO, PARQUET, ORC. "schema": { # [Optional] The schema for the data. Schema is required for CSV and JSON formats. Schema is disallowed for Google Cloud Bigtable, Cloud Datastore backups, and Avro formats. "fields": [ # Describes the fields in a table. { @@ -1332,7 +1338,7 @@

Method Details

"completedUnits": "A String", # Total parallel units of work completed by this query. "elapsedMs": "A String", # Milliseconds elapsed since the start of query execution. "estimatedRunnableUnits": "A String", # Units of work that can be scheduled immediately. Providing additional slots for these units of work will speed up the query, provided no other query in the reservation needs additional slots. - "pendingUnits": "A String", # Total parallel units of work remaining for the active stages. + "pendingUnits": "A String", # Total units of work remaining for the query. This number can be revised (increased or decreased) while the query is running. "totalSlotMs": "A String", # Cumulative slot-ms consumed by the query. }, ], @@ -1637,6 +1643,7 @@

Method Details

"start": "A String", # [TrustedTester] [Required] The start of range partitioning, inclusive. }, }, + "referenceFileSchemaUri": "A String", # User provided referencing file with the expected reader schema, Available for the format: AVRO, PARQUET, ORC. "schema": { # [Optional] The schema for the destination table. The schema can be omitted if the destination table already exists, or if you're loading data from Google Cloud Datastore. "fields": [ # Describes the fields in a table. { @@ -1790,6 +1797,7 @@

Method Details

"encoding": "A String", # [Optional] The character encoding of the data. The supported values are UTF-8 or ISO-8859-1. The default value is UTF-8. BigQuery decodes the data after the raw, binary data has been split using the values of the quote and fieldDelimiter properties. "fieldDelimiter": "A String", # [Optional] The separator for fields in a CSV file. BigQuery converts the string to ISO-8859-1 encoding, and then uses the first byte of the encoded string to split the data in its raw, binary state. BigQuery also supports the escape sequence "\t" to specify a tab separator. The default value is a comma (','). "null_marker": "A String", # [Optional] An custom string that will represent a NULL value in CSV import data. + "preserveAsciiControlCharacters": True or False, # [Optional] Preserves the embedded ASCII control characters (the first 32 characters in the ASCII-table, from '\x00' to '\x1F') when loading from CSV. Only applicable to CSV, ignored for other formats. "quote": """, # [Optional] The value that is used to quote data sections in a CSV file. BigQuery converts the string to ISO-8859-1 encoding, and then uses the first byte of the encoded string to split the data in its raw, binary state. The default value is a double-quote ('"'). If your data does not contain quoted sections, set the property value to an empty string. If your data contains quoted newline characters, you must also set the allowQuotedNewlines property to true. "skipLeadingRows": "A String", # [Optional] The number of rows at the top of a CSV file that BigQuery will skip when reading the data. The default value is 0. This property is useful if you have header rows in the file that should be skipped. When autodetect is on, the behavior is the following: * skipLeadingRows unspecified - Autodetect tries to detect headers in the first row. If they are not detected, the row is read as data. Otherwise data is read starting from the second row. * skipLeadingRows is 0 - Instructs autodetect that there are no headers and data should be read starting from the first row. * skipLeadingRows = N > 0 - Autodetect skips N-1 rows and tries to detect headers in row N. If headers are not detected, row N is just skipped. Otherwise row N is used to extract column names for the detected schema. }, @@ -1811,6 +1819,7 @@

Method Details

"enableListInference": True or False, # [Optional] Indicates whether to use schema inference specifically for Parquet LIST logical type. "enumAsString": True or False, # [Optional] Indicates whether to infer Parquet ENUM logical type as STRING instead of BYTES by default. }, + "referenceFileSchemaUri": "A String", # [Optional] Provide a referencing file with the expected table schema. Enabled for the format: AVRO, PARQUET, ORC. "schema": { # [Optional] The schema for the data. Schema is required for CSV and JSON formats. Schema is disallowed for Google Cloud Bigtable, Cloud Datastore backups, and Avro formats. "fields": [ # Describes the fields in a table. { @@ -2071,7 +2080,7 @@

Method Details

"completedUnits": "A String", # Total parallel units of work completed by this query. "elapsedMs": "A String", # Milliseconds elapsed since the start of query execution. "estimatedRunnableUnits": "A String", # Units of work that can be scheduled immediately. Providing additional slots for these units of work will speed up the query, provided no other query in the reservation needs additional slots. - "pendingUnits": "A String", # Total parallel units of work remaining for the active stages. + "pendingUnits": "A String", # Total units of work remaining for the query. This number can be revised (increased or decreased) while the query is running. "totalSlotMs": "A String", # Cumulative slot-ms consumed by the query. }, ], @@ -2280,6 +2289,7 @@

Method Details

"start": "A String", # [TrustedTester] [Required] The start of range partitioning, inclusive. }, }, + "referenceFileSchemaUri": "A String", # User provided referencing file with the expected reader schema, Available for the format: AVRO, PARQUET, ORC. "schema": { # [Optional] The schema for the destination table. The schema can be omitted if the destination table already exists, or if you're loading data from Google Cloud Datastore. "fields": [ # Describes the fields in a table. { @@ -2433,6 +2443,7 @@

Method Details

"encoding": "A String", # [Optional] The character encoding of the data. The supported values are UTF-8 or ISO-8859-1. The default value is UTF-8. BigQuery decodes the data after the raw, binary data has been split using the values of the quote and fieldDelimiter properties. "fieldDelimiter": "A String", # [Optional] The separator for fields in a CSV file. BigQuery converts the string to ISO-8859-1 encoding, and then uses the first byte of the encoded string to split the data in its raw, binary state. BigQuery also supports the escape sequence "\t" to specify a tab separator. The default value is a comma (','). "null_marker": "A String", # [Optional] An custom string that will represent a NULL value in CSV import data. + "preserveAsciiControlCharacters": True or False, # [Optional] Preserves the embedded ASCII control characters (the first 32 characters in the ASCII-table, from '\x00' to '\x1F') when loading from CSV. Only applicable to CSV, ignored for other formats. "quote": """, # [Optional] The value that is used to quote data sections in a CSV file. BigQuery converts the string to ISO-8859-1 encoding, and then uses the first byte of the encoded string to split the data in its raw, binary state. The default value is a double-quote ('"'). If your data does not contain quoted sections, set the property value to an empty string. If your data contains quoted newline characters, you must also set the allowQuotedNewlines property to true. "skipLeadingRows": "A String", # [Optional] The number of rows at the top of a CSV file that BigQuery will skip when reading the data. The default value is 0. This property is useful if you have header rows in the file that should be skipped. When autodetect is on, the behavior is the following: * skipLeadingRows unspecified - Autodetect tries to detect headers in the first row. If they are not detected, the row is read as data. Otherwise data is read starting from the second row. * skipLeadingRows is 0 - Instructs autodetect that there are no headers and data should be read starting from the first row. * skipLeadingRows = N > 0 - Autodetect skips N-1 rows and tries to detect headers in row N. If headers are not detected, row N is just skipped. Otherwise row N is used to extract column names for the detected schema. }, @@ -2454,6 +2465,7 @@

Method Details

"enableListInference": True or False, # [Optional] Indicates whether to use schema inference specifically for Parquet LIST logical type. "enumAsString": True or False, # [Optional] Indicates whether to infer Parquet ENUM logical type as STRING instead of BYTES by default. }, + "referenceFileSchemaUri": "A String", # [Optional] Provide a referencing file with the expected table schema. Enabled for the format: AVRO, PARQUET, ORC. "schema": { # [Optional] The schema for the data. Schema is required for CSV and JSON formats. Schema is disallowed for Google Cloud Bigtable, Cloud Datastore backups, and Avro formats. "fields": [ # Describes the fields in a table. { @@ -2714,7 +2726,7 @@

Method Details

"completedUnits": "A String", # Total parallel units of work completed by this query. "elapsedMs": "A String", # Milliseconds elapsed since the start of query execution. "estimatedRunnableUnits": "A String", # Units of work that can be scheduled immediately. Providing additional slots for these units of work will speed up the query, provided no other query in the reservation needs additional slots. - "pendingUnits": "A String", # Total parallel units of work remaining for the active stages. + "pendingUnits": "A String", # Total units of work remaining for the query. This number can be revised (increased or decreased) while the query is running. "totalSlotMs": "A String", # Cumulative slot-ms consumed by the query. }, ], @@ -2946,6 +2958,7 @@

Method Details

"start": "A String", # [TrustedTester] [Required] The start of range partitioning, inclusive. }, }, + "referenceFileSchemaUri": "A String", # User provided referencing file with the expected reader schema, Available for the format: AVRO, PARQUET, ORC. "schema": { # [Optional] The schema for the destination table. The schema can be omitted if the destination table already exists, or if you're loading data from Google Cloud Datastore. "fields": [ # Describes the fields in a table. { @@ -3099,6 +3112,7 @@

Method Details

"encoding": "A String", # [Optional] The character encoding of the data. The supported values are UTF-8 or ISO-8859-1. The default value is UTF-8. BigQuery decodes the data after the raw, binary data has been split using the values of the quote and fieldDelimiter properties. "fieldDelimiter": "A String", # [Optional] The separator for fields in a CSV file. BigQuery converts the string to ISO-8859-1 encoding, and then uses the first byte of the encoded string to split the data in its raw, binary state. BigQuery also supports the escape sequence "\t" to specify a tab separator. The default value is a comma (','). "null_marker": "A String", # [Optional] An custom string that will represent a NULL value in CSV import data. + "preserveAsciiControlCharacters": True or False, # [Optional] Preserves the embedded ASCII control characters (the first 32 characters in the ASCII-table, from '\x00' to '\x1F') when loading from CSV. Only applicable to CSV, ignored for other formats. "quote": """, # [Optional] The value that is used to quote data sections in a CSV file. BigQuery converts the string to ISO-8859-1 encoding, and then uses the first byte of the encoded string to split the data in its raw, binary state. The default value is a double-quote ('"'). If your data does not contain quoted sections, set the property value to an empty string. If your data contains quoted newline characters, you must also set the allowQuotedNewlines property to true. "skipLeadingRows": "A String", # [Optional] The number of rows at the top of a CSV file that BigQuery will skip when reading the data. The default value is 0. This property is useful if you have header rows in the file that should be skipped. When autodetect is on, the behavior is the following: * skipLeadingRows unspecified - Autodetect tries to detect headers in the first row. If they are not detected, the row is read as data. Otherwise data is read starting from the second row. * skipLeadingRows is 0 - Instructs autodetect that there are no headers and data should be read starting from the first row. * skipLeadingRows = N > 0 - Autodetect skips N-1 rows and tries to detect headers in row N. If headers are not detected, row N is just skipped. Otherwise row N is used to extract column names for the detected schema. }, @@ -3120,6 +3134,7 @@

Method Details

"enableListInference": True or False, # [Optional] Indicates whether to use schema inference specifically for Parquet LIST logical type. "enumAsString": True or False, # [Optional] Indicates whether to infer Parquet ENUM logical type as STRING instead of BYTES by default. }, + "referenceFileSchemaUri": "A String", # [Optional] Provide a referencing file with the expected table schema. Enabled for the format: AVRO, PARQUET, ORC. "schema": { # [Optional] The schema for the data. Schema is required for CSV and JSON formats. Schema is disallowed for Google Cloud Bigtable, Cloud Datastore backups, and Avro formats. "fields": [ # Describes the fields in a table. { @@ -3385,7 +3400,7 @@

Method Details

"completedUnits": "A String", # Total parallel units of work completed by this query. "elapsedMs": "A String", # Milliseconds elapsed since the start of query execution. "estimatedRunnableUnits": "A String", # Units of work that can be scheduled immediately. Providing additional slots for these units of work will speed up the query, provided no other query in the reservation needs additional slots. - "pendingUnits": "A String", # Total parallel units of work remaining for the active stages. + "pendingUnits": "A String", # Total units of work remaining for the query. This number can be revised (increased or decreased) while the query is running. "totalSlotMs": "A String", # Cumulative slot-ms consumed by the query. }, ], diff --git a/docs/dyn/bigquery_v2.routines.html b/docs/dyn/bigquery_v2.routines.html index bee7d6810af..0715ac5fe84 100644 --- a/docs/dyn/bigquery_v2.routines.html +++ b/docs/dyn/bigquery_v2.routines.html @@ -153,9 +153,9 @@

Method Details

"language": "A String", # Optional. Defaults to "SQL". "lastModifiedTime": "A String", # Output only. The time when this routine was last modified, in milliseconds since the epoch. "remoteFunctionOptions": { # Options for a remote user-defined function. # Optional. Remote function specific options. - "connection": "A String", # Fully qualified name of the user-provided connection object which holds the authentication information to send requests to the remote service. projects/{project_id}/locations/{location_id}/connections/{connection_id} - "endpoint": "A String", # Endpoint of the user-provided remote service (e.g. a function url in Google Cloud Functions). - "maxBatchingRows": "A String", # Max number of rows in each batch sent to the remote service. If absent or if 0, it means no limit. + "connection": "A String", # Fully qualified name of the user-provided connection object which holds the authentication information to send requests to the remote service. Format: ```"projects/{projectId}/locations/{locationId}/connections/{connectionId}"``` + "endpoint": "A String", # Endpoint of the user-provided remote service, e.g. ```https://us-east1-my_gcf_project.cloudfunctions.net/remote_add``` + "maxBatchingRows": "A String", # Max number of rows in each batch sent to the remote service. If absent or if 0, BigQuery dynamically decides the number of rows in a batch. "userDefinedContext": { # User-defined context as a set of key/value pairs, which will be sent as function invocation context together with batched arguments in the requests to the remote service. The total number of bytes of keys and values must be less than 8KB. "a_key": "A String", }, @@ -233,9 +233,9 @@

Method Details

"language": "A String", # Optional. Defaults to "SQL". "lastModifiedTime": "A String", # Output only. The time when this routine was last modified, in milliseconds since the epoch. "remoteFunctionOptions": { # Options for a remote user-defined function. # Optional. Remote function specific options. - "connection": "A String", # Fully qualified name of the user-provided connection object which holds the authentication information to send requests to the remote service. projects/{project_id}/locations/{location_id}/connections/{connection_id} - "endpoint": "A String", # Endpoint of the user-provided remote service (e.g. a function url in Google Cloud Functions). - "maxBatchingRows": "A String", # Max number of rows in each batch sent to the remote service. If absent or if 0, it means no limit. + "connection": "A String", # Fully qualified name of the user-provided connection object which holds the authentication information to send requests to the remote service. Format: ```"projects/{projectId}/locations/{locationId}/connections/{connectionId}"``` + "endpoint": "A String", # Endpoint of the user-provided remote service, e.g. ```https://us-east1-my_gcf_project.cloudfunctions.net/remote_add``` + "maxBatchingRows": "A String", # Max number of rows in each batch sent to the remote service. If absent or if 0, BigQuery dynamically decides the number of rows in a batch. "userDefinedContext": { # User-defined context as a set of key/value pairs, which will be sent as function invocation context together with batched arguments in the requests to the remote service. The total number of bytes of keys and values must be less than 8KB. "a_key": "A String", }, @@ -306,9 +306,9 @@

Method Details

"language": "A String", # Optional. Defaults to "SQL". "lastModifiedTime": "A String", # Output only. The time when this routine was last modified, in milliseconds since the epoch. "remoteFunctionOptions": { # Options for a remote user-defined function. # Optional. Remote function specific options. - "connection": "A String", # Fully qualified name of the user-provided connection object which holds the authentication information to send requests to the remote service. projects/{project_id}/locations/{location_id}/connections/{connection_id} - "endpoint": "A String", # Endpoint of the user-provided remote service (e.g. a function url in Google Cloud Functions). - "maxBatchingRows": "A String", # Max number of rows in each batch sent to the remote service. If absent or if 0, it means no limit. + "connection": "A String", # Fully qualified name of the user-provided connection object which holds the authentication information to send requests to the remote service. Format: ```"projects/{projectId}/locations/{locationId}/connections/{connectionId}"``` + "endpoint": "A String", # Endpoint of the user-provided remote service, e.g. ```https://us-east1-my_gcf_project.cloudfunctions.net/remote_add``` + "maxBatchingRows": "A String", # Max number of rows in each batch sent to the remote service. If absent or if 0, BigQuery dynamically decides the number of rows in a batch. "userDefinedContext": { # User-defined context as a set of key/value pairs, which will be sent as function invocation context together with batched arguments in the requests to the remote service. The total number of bytes of keys and values must be less than 8KB. "a_key": "A String", }, @@ -394,9 +394,9 @@

Method Details

"language": "A String", # Optional. Defaults to "SQL". "lastModifiedTime": "A String", # Output only. The time when this routine was last modified, in milliseconds since the epoch. "remoteFunctionOptions": { # Options for a remote user-defined function. # Optional. Remote function specific options. - "connection": "A String", # Fully qualified name of the user-provided connection object which holds the authentication information to send requests to the remote service. projects/{project_id}/locations/{location_id}/connections/{connection_id} - "endpoint": "A String", # Endpoint of the user-provided remote service (e.g. a function url in Google Cloud Functions). - "maxBatchingRows": "A String", # Max number of rows in each batch sent to the remote service. If absent or if 0, it means no limit. + "connection": "A String", # Fully qualified name of the user-provided connection object which holds the authentication information to send requests to the remote service. Format: ```"projects/{projectId}/locations/{locationId}/connections/{connectionId}"``` + "endpoint": "A String", # Endpoint of the user-provided remote service, e.g. ```https://us-east1-my_gcf_project.cloudfunctions.net/remote_add``` + "maxBatchingRows": "A String", # Max number of rows in each batch sent to the remote service. If absent or if 0, BigQuery dynamically decides the number of rows in a batch. "userDefinedContext": { # User-defined context as a set of key/value pairs, which will be sent as function invocation context together with batched arguments in the requests to the remote service. The total number of bytes of keys and values must be less than 8KB. "a_key": "A String", }, @@ -491,9 +491,9 @@

Method Details

"language": "A String", # Optional. Defaults to "SQL". "lastModifiedTime": "A String", # Output only. The time when this routine was last modified, in milliseconds since the epoch. "remoteFunctionOptions": { # Options for a remote user-defined function. # Optional. Remote function specific options. - "connection": "A String", # Fully qualified name of the user-provided connection object which holds the authentication information to send requests to the remote service. projects/{project_id}/locations/{location_id}/connections/{connection_id} - "endpoint": "A String", # Endpoint of the user-provided remote service (e.g. a function url in Google Cloud Functions). - "maxBatchingRows": "A String", # Max number of rows in each batch sent to the remote service. If absent or if 0, it means no limit. + "connection": "A String", # Fully qualified name of the user-provided connection object which holds the authentication information to send requests to the remote service. Format: ```"projects/{projectId}/locations/{locationId}/connections/{connectionId}"``` + "endpoint": "A String", # Endpoint of the user-provided remote service, e.g. ```https://us-east1-my_gcf_project.cloudfunctions.net/remote_add``` + "maxBatchingRows": "A String", # Max number of rows in each batch sent to the remote service. If absent or if 0, BigQuery dynamically decides the number of rows in a batch. "userDefinedContext": { # User-defined context as a set of key/value pairs, which will be sent as function invocation context together with batched arguments in the requests to the remote service. The total number of bytes of keys and values must be less than 8KB. "a_key": "A String", }, @@ -564,9 +564,9 @@

Method Details

"language": "A String", # Optional. Defaults to "SQL". "lastModifiedTime": "A String", # Output only. The time when this routine was last modified, in milliseconds since the epoch. "remoteFunctionOptions": { # Options for a remote user-defined function. # Optional. Remote function specific options. - "connection": "A String", # Fully qualified name of the user-provided connection object which holds the authentication information to send requests to the remote service. projects/{project_id}/locations/{location_id}/connections/{connection_id} - "endpoint": "A String", # Endpoint of the user-provided remote service (e.g. a function url in Google Cloud Functions). - "maxBatchingRows": "A String", # Max number of rows in each batch sent to the remote service. If absent or if 0, it means no limit. + "connection": "A String", # Fully qualified name of the user-provided connection object which holds the authentication information to send requests to the remote service. Format: ```"projects/{projectId}/locations/{locationId}/connections/{connectionId}"``` + "endpoint": "A String", # Endpoint of the user-provided remote service, e.g. ```https://us-east1-my_gcf_project.cloudfunctions.net/remote_add``` + "maxBatchingRows": "A String", # Max number of rows in each batch sent to the remote service. If absent or if 0, BigQuery dynamically decides the number of rows in a batch. "userDefinedContext": { # User-defined context as a set of key/value pairs, which will be sent as function invocation context together with batched arguments in the requests to the remote service. The total number of bytes of keys and values must be less than 8KB. "a_key": "A String", }, diff --git a/docs/dyn/bigquery_v2.tables.html b/docs/dyn/bigquery_v2.tables.html index 0dafefc2744..c38bf24f0fc 100644 --- a/docs/dyn/bigquery_v2.tables.html +++ b/docs/dyn/bigquery_v2.tables.html @@ -200,6 +200,7 @@

Method Details

"encoding": "A String", # [Optional] The character encoding of the data. The supported values are UTF-8 or ISO-8859-1. The default value is UTF-8. BigQuery decodes the data after the raw, binary data has been split using the values of the quote and fieldDelimiter properties. "fieldDelimiter": "A String", # [Optional] The separator for fields in a CSV file. BigQuery converts the string to ISO-8859-1 encoding, and then uses the first byte of the encoded string to split the data in its raw, binary state. BigQuery also supports the escape sequence "\t" to specify a tab separator. The default value is a comma (','). "null_marker": "A String", # [Optional] An custom string that will represent a NULL value in CSV import data. + "preserveAsciiControlCharacters": True or False, # [Optional] Preserves the embedded ASCII control characters (the first 32 characters in the ASCII-table, from '\x00' to '\x1F') when loading from CSV. Only applicable to CSV, ignored for other formats. "quote": """, # [Optional] The value that is used to quote data sections in a CSV file. BigQuery converts the string to ISO-8859-1 encoding, and then uses the first byte of the encoded string to split the data in its raw, binary state. The default value is a double-quote ('"'). If your data does not contain quoted sections, set the property value to an empty string. If your data contains quoted newline characters, you must also set the allowQuotedNewlines property to true. "skipLeadingRows": "A String", # [Optional] The number of rows at the top of a CSV file that BigQuery will skip when reading the data. The default value is 0. This property is useful if you have header rows in the file that should be skipped. When autodetect is on, the behavior is the following: * skipLeadingRows unspecified - Autodetect tries to detect headers in the first row. If they are not detected, the row is read as data. Otherwise data is read starting from the second row. * skipLeadingRows is 0 - Instructs autodetect that there are no headers and data should be read starting from the first row. * skipLeadingRows = N > 0 - Autodetect skips N-1 rows and tries to detect headers in row N. If headers are not detected, row N is just skipped. Otherwise row N is used to extract column names for the detected schema. }, @@ -221,6 +222,7 @@

Method Details

"enableListInference": True or False, # [Optional] Indicates whether to use schema inference specifically for Parquet LIST logical type. "enumAsString": True or False, # [Optional] Indicates whether to infer Parquet ENUM logical type as STRING instead of BYTES by default. }, + "referenceFileSchemaUri": "A String", # [Optional] Provide a referencing file with the expected table schema. Enabled for the format: AVRO, PARQUET, ORC. "schema": { # [Optional] The schema for the data. Schema is required for CSV and JSON formats. Schema is disallowed for Google Cloud Bigtable, Cloud Datastore backups, and Avro formats. "fields": [ # Describes the fields in a table. { @@ -513,6 +515,7 @@

Method Details

"encoding": "A String", # [Optional] The character encoding of the data. The supported values are UTF-8 or ISO-8859-1. The default value is UTF-8. BigQuery decodes the data after the raw, binary data has been split using the values of the quote and fieldDelimiter properties. "fieldDelimiter": "A String", # [Optional] The separator for fields in a CSV file. BigQuery converts the string to ISO-8859-1 encoding, and then uses the first byte of the encoded string to split the data in its raw, binary state. BigQuery also supports the escape sequence "\t" to specify a tab separator. The default value is a comma (','). "null_marker": "A String", # [Optional] An custom string that will represent a NULL value in CSV import data. + "preserveAsciiControlCharacters": True or False, # [Optional] Preserves the embedded ASCII control characters (the first 32 characters in the ASCII-table, from '\x00' to '\x1F') when loading from CSV. Only applicable to CSV, ignored for other formats. "quote": """, # [Optional] The value that is used to quote data sections in a CSV file. BigQuery converts the string to ISO-8859-1 encoding, and then uses the first byte of the encoded string to split the data in its raw, binary state. The default value is a double-quote ('"'). If your data does not contain quoted sections, set the property value to an empty string. If your data contains quoted newline characters, you must also set the allowQuotedNewlines property to true. "skipLeadingRows": "A String", # [Optional] The number of rows at the top of a CSV file that BigQuery will skip when reading the data. The default value is 0. This property is useful if you have header rows in the file that should be skipped. When autodetect is on, the behavior is the following: * skipLeadingRows unspecified - Autodetect tries to detect headers in the first row. If they are not detected, the row is read as data. Otherwise data is read starting from the second row. * skipLeadingRows is 0 - Instructs autodetect that there are no headers and data should be read starting from the first row. * skipLeadingRows = N > 0 - Autodetect skips N-1 rows and tries to detect headers in row N. If headers are not detected, row N is just skipped. Otherwise row N is used to extract column names for the detected schema. }, @@ -534,6 +537,7 @@

Method Details

"enableListInference": True or False, # [Optional] Indicates whether to use schema inference specifically for Parquet LIST logical type. "enumAsString": True or False, # [Optional] Indicates whether to infer Parquet ENUM logical type as STRING instead of BYTES by default. }, + "referenceFileSchemaUri": "A String", # [Optional] Provide a referencing file with the expected table schema. Enabled for the format: AVRO, PARQUET, ORC. "schema": { # [Optional] The schema for the data. Schema is required for CSV and JSON formats. Schema is disallowed for Google Cloud Bigtable, Cloud Datastore backups, and Avro formats. "fields": [ # Describes the fields in a table. { @@ -767,6 +771,7 @@

Method Details

"encoding": "A String", # [Optional] The character encoding of the data. The supported values are UTF-8 or ISO-8859-1. The default value is UTF-8. BigQuery decodes the data after the raw, binary data has been split using the values of the quote and fieldDelimiter properties. "fieldDelimiter": "A String", # [Optional] The separator for fields in a CSV file. BigQuery converts the string to ISO-8859-1 encoding, and then uses the first byte of the encoded string to split the data in its raw, binary state. BigQuery also supports the escape sequence "\t" to specify a tab separator. The default value is a comma (','). "null_marker": "A String", # [Optional] An custom string that will represent a NULL value in CSV import data. + "preserveAsciiControlCharacters": True or False, # [Optional] Preserves the embedded ASCII control characters (the first 32 characters in the ASCII-table, from '\x00' to '\x1F') when loading from CSV. Only applicable to CSV, ignored for other formats. "quote": """, # [Optional] The value that is used to quote data sections in a CSV file. BigQuery converts the string to ISO-8859-1 encoding, and then uses the first byte of the encoded string to split the data in its raw, binary state. The default value is a double-quote ('"'). If your data does not contain quoted sections, set the property value to an empty string. If your data contains quoted newline characters, you must also set the allowQuotedNewlines property to true. "skipLeadingRows": "A String", # [Optional] The number of rows at the top of a CSV file that BigQuery will skip when reading the data. The default value is 0. This property is useful if you have header rows in the file that should be skipped. When autodetect is on, the behavior is the following: * skipLeadingRows unspecified - Autodetect tries to detect headers in the first row. If they are not detected, the row is read as data. Otherwise data is read starting from the second row. * skipLeadingRows is 0 - Instructs autodetect that there are no headers and data should be read starting from the first row. * skipLeadingRows = N > 0 - Autodetect skips N-1 rows and tries to detect headers in row N. If headers are not detected, row N is just skipped. Otherwise row N is used to extract column names for the detected schema. }, @@ -788,6 +793,7 @@

Method Details

"enableListInference": True or False, # [Optional] Indicates whether to use schema inference specifically for Parquet LIST logical type. "enumAsString": True or False, # [Optional] Indicates whether to infer Parquet ENUM logical type as STRING instead of BYTES by default. }, + "referenceFileSchemaUri": "A String", # [Optional] Provide a referencing file with the expected table schema. Enabled for the format: AVRO, PARQUET, ORC. "schema": { # [Optional] The schema for the data. Schema is required for CSV and JSON formats. Schema is disallowed for Google Cloud Bigtable, Cloud Datastore backups, and Avro formats. "fields": [ # Describes the fields in a table. { @@ -1104,6 +1110,7 @@

Method Details

"encoding": "A String", # [Optional] The character encoding of the data. The supported values are UTF-8 or ISO-8859-1. The default value is UTF-8. BigQuery decodes the data after the raw, binary data has been split using the values of the quote and fieldDelimiter properties. "fieldDelimiter": "A String", # [Optional] The separator for fields in a CSV file. BigQuery converts the string to ISO-8859-1 encoding, and then uses the first byte of the encoded string to split the data in its raw, binary state. BigQuery also supports the escape sequence "\t" to specify a tab separator. The default value is a comma (','). "null_marker": "A String", # [Optional] An custom string that will represent a NULL value in CSV import data. + "preserveAsciiControlCharacters": True or False, # [Optional] Preserves the embedded ASCII control characters (the first 32 characters in the ASCII-table, from '\x00' to '\x1F') when loading from CSV. Only applicable to CSV, ignored for other formats. "quote": """, # [Optional] The value that is used to quote data sections in a CSV file. BigQuery converts the string to ISO-8859-1 encoding, and then uses the first byte of the encoded string to split the data in its raw, binary state. The default value is a double-quote ('"'). If your data does not contain quoted sections, set the property value to an empty string. If your data contains quoted newline characters, you must also set the allowQuotedNewlines property to true. "skipLeadingRows": "A String", # [Optional] The number of rows at the top of a CSV file that BigQuery will skip when reading the data. The default value is 0. This property is useful if you have header rows in the file that should be skipped. When autodetect is on, the behavior is the following: * skipLeadingRows unspecified - Autodetect tries to detect headers in the first row. If they are not detected, the row is read as data. Otherwise data is read starting from the second row. * skipLeadingRows is 0 - Instructs autodetect that there are no headers and data should be read starting from the first row. * skipLeadingRows = N > 0 - Autodetect skips N-1 rows and tries to detect headers in row N. If headers are not detected, row N is just skipped. Otherwise row N is used to extract column names for the detected schema. }, @@ -1125,6 +1132,7 @@

Method Details

"enableListInference": True or False, # [Optional] Indicates whether to use schema inference specifically for Parquet LIST logical type. "enumAsString": True or False, # [Optional] Indicates whether to infer Parquet ENUM logical type as STRING instead of BYTES by default. }, + "referenceFileSchemaUri": "A String", # [Optional] Provide a referencing file with the expected table schema. Enabled for the format: AVRO, PARQUET, ORC. "schema": { # [Optional] The schema for the data. Schema is required for CSV and JSON formats. Schema is disallowed for Google Cloud Bigtable, Cloud Datastore backups, and Avro formats. "fields": [ # Describes the fields in a table. { @@ -1359,6 +1367,7 @@

Method Details

"encoding": "A String", # [Optional] The character encoding of the data. The supported values are UTF-8 or ISO-8859-1. The default value is UTF-8. BigQuery decodes the data after the raw, binary data has been split using the values of the quote and fieldDelimiter properties. "fieldDelimiter": "A String", # [Optional] The separator for fields in a CSV file. BigQuery converts the string to ISO-8859-1 encoding, and then uses the first byte of the encoded string to split the data in its raw, binary state. BigQuery also supports the escape sequence "\t" to specify a tab separator. The default value is a comma (','). "null_marker": "A String", # [Optional] An custom string that will represent a NULL value in CSV import data. + "preserveAsciiControlCharacters": True or False, # [Optional] Preserves the embedded ASCII control characters (the first 32 characters in the ASCII-table, from '\x00' to '\x1F') when loading from CSV. Only applicable to CSV, ignored for other formats. "quote": """, # [Optional] The value that is used to quote data sections in a CSV file. BigQuery converts the string to ISO-8859-1 encoding, and then uses the first byte of the encoded string to split the data in its raw, binary state. The default value is a double-quote ('"'). If your data does not contain quoted sections, set the property value to an empty string. If your data contains quoted newline characters, you must also set the allowQuotedNewlines property to true. "skipLeadingRows": "A String", # [Optional] The number of rows at the top of a CSV file that BigQuery will skip when reading the data. The default value is 0. This property is useful if you have header rows in the file that should be skipped. When autodetect is on, the behavior is the following: * skipLeadingRows unspecified - Autodetect tries to detect headers in the first row. If they are not detected, the row is read as data. Otherwise data is read starting from the second row. * skipLeadingRows is 0 - Instructs autodetect that there are no headers and data should be read starting from the first row. * skipLeadingRows = N > 0 - Autodetect skips N-1 rows and tries to detect headers in row N. If headers are not detected, row N is just skipped. Otherwise row N is used to extract column names for the detected schema. }, @@ -1380,6 +1389,7 @@

Method Details

"enableListInference": True or False, # [Optional] Indicates whether to use schema inference specifically for Parquet LIST logical type. "enumAsString": True or False, # [Optional] Indicates whether to infer Parquet ENUM logical type as STRING instead of BYTES by default. }, + "referenceFileSchemaUri": "A String", # [Optional] Provide a referencing file with the expected table schema. Enabled for the format: AVRO, PARQUET, ORC. "schema": { # [Optional] The schema for the data. Schema is required for CSV and JSON formats. Schema is disallowed for Google Cloud Bigtable, Cloud Datastore backups, and Avro formats. "fields": [ # Describes the fields in a table. { @@ -1728,6 +1738,7 @@

Method Details

"encoding": "A String", # [Optional] The character encoding of the data. The supported values are UTF-8 or ISO-8859-1. The default value is UTF-8. BigQuery decodes the data after the raw, binary data has been split using the values of the quote and fieldDelimiter properties. "fieldDelimiter": "A String", # [Optional] The separator for fields in a CSV file. BigQuery converts the string to ISO-8859-1 encoding, and then uses the first byte of the encoded string to split the data in its raw, binary state. BigQuery also supports the escape sequence "\t" to specify a tab separator. The default value is a comma (','). "null_marker": "A String", # [Optional] An custom string that will represent a NULL value in CSV import data. + "preserveAsciiControlCharacters": True or False, # [Optional] Preserves the embedded ASCII control characters (the first 32 characters in the ASCII-table, from '\x00' to '\x1F') when loading from CSV. Only applicable to CSV, ignored for other formats. "quote": """, # [Optional] The value that is used to quote data sections in a CSV file. BigQuery converts the string to ISO-8859-1 encoding, and then uses the first byte of the encoded string to split the data in its raw, binary state. The default value is a double-quote ('"'). If your data does not contain quoted sections, set the property value to an empty string. If your data contains quoted newline characters, you must also set the allowQuotedNewlines property to true. "skipLeadingRows": "A String", # [Optional] The number of rows at the top of a CSV file that BigQuery will skip when reading the data. The default value is 0. This property is useful if you have header rows in the file that should be skipped. When autodetect is on, the behavior is the following: * skipLeadingRows unspecified - Autodetect tries to detect headers in the first row. If they are not detected, the row is read as data. Otherwise data is read starting from the second row. * skipLeadingRows is 0 - Instructs autodetect that there are no headers and data should be read starting from the first row. * skipLeadingRows = N > 0 - Autodetect skips N-1 rows and tries to detect headers in row N. If headers are not detected, row N is just skipped. Otherwise row N is used to extract column names for the detected schema. }, @@ -1749,6 +1760,7 @@

Method Details

"enableListInference": True or False, # [Optional] Indicates whether to use schema inference specifically for Parquet LIST logical type. "enumAsString": True or False, # [Optional] Indicates whether to infer Parquet ENUM logical type as STRING instead of BYTES by default. }, + "referenceFileSchemaUri": "A String", # [Optional] Provide a referencing file with the expected table schema. Enabled for the format: AVRO, PARQUET, ORC. "schema": { # [Optional] The schema for the data. Schema is required for CSV and JSON formats. Schema is disallowed for Google Cloud Bigtable, Cloud Datastore backups, and Avro formats. "fields": [ # Describes the fields in a table. { @@ -1983,6 +1995,7 @@

Method Details

"encoding": "A String", # [Optional] The character encoding of the data. The supported values are UTF-8 or ISO-8859-1. The default value is UTF-8. BigQuery decodes the data after the raw, binary data has been split using the values of the quote and fieldDelimiter properties. "fieldDelimiter": "A String", # [Optional] The separator for fields in a CSV file. BigQuery converts the string to ISO-8859-1 encoding, and then uses the first byte of the encoded string to split the data in its raw, binary state. BigQuery also supports the escape sequence "\t" to specify a tab separator. The default value is a comma (','). "null_marker": "A String", # [Optional] An custom string that will represent a NULL value in CSV import data. + "preserveAsciiControlCharacters": True or False, # [Optional] Preserves the embedded ASCII control characters (the first 32 characters in the ASCII-table, from '\x00' to '\x1F') when loading from CSV. Only applicable to CSV, ignored for other formats. "quote": """, # [Optional] The value that is used to quote data sections in a CSV file. BigQuery converts the string to ISO-8859-1 encoding, and then uses the first byte of the encoded string to split the data in its raw, binary state. The default value is a double-quote ('"'). If your data does not contain quoted sections, set the property value to an empty string. If your data contains quoted newline characters, you must also set the allowQuotedNewlines property to true. "skipLeadingRows": "A String", # [Optional] The number of rows at the top of a CSV file that BigQuery will skip when reading the data. The default value is 0. This property is useful if you have header rows in the file that should be skipped. When autodetect is on, the behavior is the following: * skipLeadingRows unspecified - Autodetect tries to detect headers in the first row. If they are not detected, the row is read as data. Otherwise data is read starting from the second row. * skipLeadingRows is 0 - Instructs autodetect that there are no headers and data should be read starting from the first row. * skipLeadingRows = N > 0 - Autodetect skips N-1 rows and tries to detect headers in row N. If headers are not detected, row N is just skipped. Otherwise row N is used to extract column names for the detected schema. }, @@ -2004,6 +2017,7 @@

Method Details

"enableListInference": True or False, # [Optional] Indicates whether to use schema inference specifically for Parquet LIST logical type. "enumAsString": True or False, # [Optional] Indicates whether to infer Parquet ENUM logical type as STRING instead of BYTES by default. }, + "referenceFileSchemaUri": "A String", # [Optional] Provide a referencing file with the expected table schema. Enabled for the format: AVRO, PARQUET, ORC. "schema": { # [Optional] The schema for the data. Schema is required for CSV and JSON formats. Schema is disallowed for Google Cloud Bigtable, Cloud Datastore backups, and Avro formats. "fields": [ # Describes the fields in a table. { diff --git a/docs/dyn/blogger_v2.blogs.html b/docs/dyn/blogger_v2.blogs.html index 96f95434b34..2ec140da029 100644 --- a/docs/dyn/blogger_v2.blogs.html +++ b/docs/dyn/blogger_v2.blogs.html @@ -189,6 +189,7 @@

Method Details

"status": "A String", # Status of the post. Only set for admin-level requests. "title": "A String", # The title of the Post. "titleLink": "A String", # The title link URL, similar to atom's related link. + "trashed": "A String", # RFC 3339 date-time when this Post was last trashed. "updated": "A String", # RFC 3339 date-time when this Post was last updated. "url": "A String", # The URL where this Post is displayed. }, @@ -307,6 +308,7 @@

Method Details

"status": "A String", # Status of the post. Only set for admin-level requests. "title": "A String", # The title of the Post. "titleLink": "A String", # The title link URL, similar to atom's related link. + "trashed": "A String", # RFC 3339 date-time when this Post was last trashed. "updated": "A String", # RFC 3339 date-time when this Post was last updated. "url": "A String", # The URL where this Post is displayed. }, @@ -418,6 +420,7 @@

Method Details

"status": "A String", # Status of the post. Only set for admin-level requests. "title": "A String", # The title of the Post. "titleLink": "A String", # The title link URL, similar to atom's related link. + "trashed": "A String", # RFC 3339 date-time when this Post was last trashed. "updated": "A String", # RFC 3339 date-time when this Post was last updated. "url": "A String", # The URL where this Post is displayed. }, diff --git a/docs/dyn/blogger_v2.pages.html b/docs/dyn/blogger_v2.pages.html index 675aab7273a..28260d162c9 100644 --- a/docs/dyn/blogger_v2.pages.html +++ b/docs/dyn/blogger_v2.pages.html @@ -124,6 +124,7 @@

Method Details

"selfLink": "A String", # The API REST URL to fetch this resource from. "status": "A String", # The status of the page for admin resources (either LIVE or DRAFT). "title": "A String", # The title of this entity. This is the name displayed in the Admin user interface. + "trashed": "A String", # RFC 3339 date-time when this Page was trashed. "updated": "A String", # RFC 3339 date-time when this Page was last updated. "url": "A String", # The URL that this Page is displayed at. }
@@ -167,6 +168,7 @@

Method Details

"selfLink": "A String", # The API REST URL to fetch this resource from. "status": "A String", # The status of the page for admin resources (either LIVE or DRAFT). "title": "A String", # The title of this entity. This is the name displayed in the Admin user interface. + "trashed": "A String", # RFC 3339 date-time when this Page was trashed. "updated": "A String", # RFC 3339 date-time when this Page was last updated. "url": "A String", # The URL that this Page is displayed at. }, diff --git a/docs/dyn/blogger_v2.posts.html b/docs/dyn/blogger_v2.posts.html index cf12f517219..9a2e52d619d 100644 --- a/docs/dyn/blogger_v2.posts.html +++ b/docs/dyn/blogger_v2.posts.html @@ -176,6 +176,7 @@

Method Details

"status": "A String", # Status of the post. Only set for admin-level requests. "title": "A String", # The title of the Post. "titleLink": "A String", # The title link URL, similar to atom's related link. + "trashed": "A String", # RFC 3339 date-time when this Post was last trashed. "updated": "A String", # RFC 3339 date-time when this Post was last updated. "url": "A String", # The URL where this Post is displayed. }
@@ -271,6 +272,7 @@

Method Details

"status": "A String", # Status of the post. Only set for admin-level requests. "title": "A String", # The title of the Post. "titleLink": "A String", # The title link URL, similar to atom's related link. + "trashed": "A String", # RFC 3339 date-time when this Post was last trashed. "updated": "A String", # RFC 3339 date-time when this Post was last updated. "url": "A String", # The URL where this Post is displayed. }, diff --git a/docs/dyn/blogger_v3.blogUserInfos.html b/docs/dyn/blogger_v3.blogUserInfos.html index 0f40b93f8be..ae834679536 100644 --- a/docs/dyn/blogger_v3.blogUserInfos.html +++ b/docs/dyn/blogger_v3.blogUserInfos.html @@ -189,6 +189,7 @@

Method Details

"status": "A String", # Status of the post. Only set for admin-level requests. "title": "A String", # The title of the Post. "titleLink": "A String", # The title link URL, similar to atom's related link. + "trashed": "A String", # RFC 3339 date-time when this Post was last trashed. "updated": "A String", # RFC 3339 date-time when this Post was last updated. "url": "A String", # The URL where this Post is displayed. }, diff --git a/docs/dyn/blogger_v3.blogs.html b/docs/dyn/blogger_v3.blogs.html index 3da35897dbb..887750a9ddd 100644 --- a/docs/dyn/blogger_v3.blogs.html +++ b/docs/dyn/blogger_v3.blogs.html @@ -199,6 +199,7 @@

Method Details

"status": "A String", # Status of the post. Only set for admin-level requests. "title": "A String", # The title of the Post. "titleLink": "A String", # The title link URL, similar to atom's related link. + "trashed": "A String", # RFC 3339 date-time when this Post was last trashed. "updated": "A String", # RFC 3339 date-time when this Post was last updated. "url": "A String", # The URL where this Post is displayed. }, @@ -320,6 +321,7 @@

Method Details

"status": "A String", # Status of the post. Only set for admin-level requests. "title": "A String", # The title of the Post. "titleLink": "A String", # The title link URL, similar to atom's related link. + "trashed": "A String", # RFC 3339 date-time when this Post was last trashed. "updated": "A String", # RFC 3339 date-time when this Post was last updated. "url": "A String", # The URL where this Post is displayed. }, @@ -455,6 +457,7 @@

Method Details

"status": "A String", # Status of the post. Only set for admin-level requests. "title": "A String", # The title of the Post. "titleLink": "A String", # The title link URL, similar to atom's related link. + "trashed": "A String", # RFC 3339 date-time when this Post was last trashed. "updated": "A String", # RFC 3339 date-time when this Post was last updated. "url": "A String", # The URL where this Post is displayed. }, @@ -566,6 +569,7 @@

Method Details

"status": "A String", # Status of the post. Only set for admin-level requests. "title": "A String", # The title of the Post. "titleLink": "A String", # The title link URL, similar to atom's related link. + "trashed": "A String", # RFC 3339 date-time when this Post was last trashed. "updated": "A String", # RFC 3339 date-time when this Post was last updated. "url": "A String", # The URL where this Post is displayed. }, diff --git a/docs/dyn/blogger_v3.pages.html b/docs/dyn/blogger_v3.pages.html index 687fcdc0a1a..b8922c47b67 100644 --- a/docs/dyn/blogger_v3.pages.html +++ b/docs/dyn/blogger_v3.pages.html @@ -165,6 +165,7 @@

Method Details

"selfLink": "A String", # The API REST URL to fetch this resource from. "status": "A String", # The status of the page for admin resources (either LIVE or DRAFT). "title": "A String", # The title of this entity. This is the name displayed in the Admin user interface. + "trashed": "A String", # RFC 3339 date-time when this Page was trashed. "updated": "A String", # RFC 3339 date-time when this Page was last updated. "url": "A String", # The URL that this Page is displayed at. }
@@ -199,6 +200,7 @@

Method Details

"selfLink": "A String", # The API REST URL to fetch this resource from. "status": "A String", # The status of the page for admin resources (either LIVE or DRAFT). "title": "A String", # The title of this entity. This is the name displayed in the Admin user interface. + "trashed": "A String", # RFC 3339 date-time when this Page was trashed. "updated": "A String", # RFC 3339 date-time when this Page was last updated. "url": "A String", # The URL that this Page is displayed at. } @@ -232,6 +234,7 @@

Method Details

"selfLink": "A String", # The API REST URL to fetch this resource from. "status": "A String", # The status of the page for admin resources (either LIVE or DRAFT). "title": "A String", # The title of this entity. This is the name displayed in the Admin user interface. + "trashed": "A String", # RFC 3339 date-time when this Page was trashed. "updated": "A String", # RFC 3339 date-time when this Page was last updated. "url": "A String", # The URL that this Page is displayed at. }
@@ -288,6 +291,7 @@

Method Details

"selfLink": "A String", # The API REST URL to fetch this resource from. "status": "A String", # The status of the page for admin resources (either LIVE or DRAFT). "title": "A String", # The title of this entity. This is the name displayed in the Admin user interface. + "trashed": "A String", # RFC 3339 date-time when this Page was trashed. "updated": "A String", # RFC 3339 date-time when this Page was last updated. "url": "A String", # The URL that this Page is displayed at. }, @@ -341,6 +345,7 @@

Method Details

"selfLink": "A String", # The API REST URL to fetch this resource from. "status": "A String", # The status of the page for admin resources (either LIVE or DRAFT). "title": "A String", # The title of this entity. This is the name displayed in the Admin user interface. + "trashed": "A String", # RFC 3339 date-time when this Page was trashed. "updated": "A String", # RFC 3339 date-time when this Page was last updated. "url": "A String", # The URL that this Page is displayed at. } @@ -375,6 +380,7 @@

Method Details

"selfLink": "A String", # The API REST URL to fetch this resource from. "status": "A String", # The status of the page for admin resources (either LIVE or DRAFT). "title": "A String", # The title of this entity. This is the name displayed in the Admin user interface. + "trashed": "A String", # RFC 3339 date-time when this Page was trashed. "updated": "A String", # RFC 3339 date-time when this Page was last updated. "url": "A String", # The URL that this Page is displayed at. }
@@ -415,6 +421,7 @@

Method Details

"selfLink": "A String", # The API REST URL to fetch this resource from. "status": "A String", # The status of the page for admin resources (either LIVE or DRAFT). "title": "A String", # The title of this entity. This is the name displayed in the Admin user interface. + "trashed": "A String", # RFC 3339 date-time when this Page was trashed. "updated": "A String", # RFC 3339 date-time when this Page was last updated. "url": "A String", # The URL that this Page is displayed at. }
@@ -455,6 +462,7 @@

Method Details

"selfLink": "A String", # The API REST URL to fetch this resource from. "status": "A String", # The status of the page for admin resources (either LIVE or DRAFT). "title": "A String", # The title of this entity. This is the name displayed in the Admin user interface. + "trashed": "A String", # RFC 3339 date-time when this Page was trashed. "updated": "A String", # RFC 3339 date-time when this Page was last updated. "url": "A String", # The URL that this Page is displayed at. }
@@ -490,6 +498,7 @@

Method Details

"selfLink": "A String", # The API REST URL to fetch this resource from. "status": "A String", # The status of the page for admin resources (either LIVE or DRAFT). "title": "A String", # The title of this entity. This is the name displayed in the Admin user interface. + "trashed": "A String", # RFC 3339 date-time when this Page was trashed. "updated": "A String", # RFC 3339 date-time when this Page was last updated. "url": "A String", # The URL that this Page is displayed at. } @@ -524,6 +533,7 @@

Method Details

"selfLink": "A String", # The API REST URL to fetch this resource from. "status": "A String", # The status of the page for admin resources (either LIVE or DRAFT). "title": "A String", # The title of this entity. This is the name displayed in the Admin user interface. + "trashed": "A String", # RFC 3339 date-time when this Page was trashed. "updated": "A String", # RFC 3339 date-time when this Page was last updated. "url": "A String", # The URL that this Page is displayed at. } diff --git a/docs/dyn/blogger_v3.postUserInfos.html b/docs/dyn/blogger_v3.postUserInfos.html index cc0c568abc8..3a32ba25377 100644 --- a/docs/dyn/blogger_v3.postUserInfos.html +++ b/docs/dyn/blogger_v3.postUserInfos.html @@ -180,6 +180,7 @@

Method Details

"status": "A String", # Status of the post. Only set for admin-level requests. "title": "A String", # The title of the Post. "titleLink": "A String", # The title link URL, similar to atom's related link. + "trashed": "A String", # RFC 3339 date-time when this Post was last trashed. "updated": "A String", # RFC 3339 date-time when this Post was last updated. "url": "A String", # The URL where this Post is displayed. }, @@ -304,6 +305,7 @@

Method Details

"status": "A String", # Status of the post. Only set for admin-level requests. "title": "A String", # The title of the Post. "titleLink": "A String", # The title link URL, similar to atom's related link. + "trashed": "A String", # RFC 3339 date-time when this Post was last trashed. "updated": "A String", # RFC 3339 date-time when this Post was last updated. "url": "A String", # The URL where this Post is displayed. }, diff --git a/docs/dyn/blogger_v3.posts.html b/docs/dyn/blogger_v3.posts.html index b07b4287202..1d97d1f0bf8 100644 --- a/docs/dyn/blogger_v3.posts.html +++ b/docs/dyn/blogger_v3.posts.html @@ -223,6 +223,7 @@

Method Details

"status": "A String", # Status of the post. Only set for admin-level requests. "title": "A String", # The title of the Post. "titleLink": "A String", # The title link URL, similar to atom's related link. + "trashed": "A String", # RFC 3339 date-time when this Post was last trashed. "updated": "A String", # RFC 3339 date-time when this Post was last updated. "url": "A String", # The URL where this Post is displayed. } @@ -319,6 +320,7 @@

Method Details

"status": "A String", # Status of the post. Only set for admin-level requests. "title": "A String", # The title of the Post. "titleLink": "A String", # The title link URL, similar to atom's related link. + "trashed": "A String", # RFC 3339 date-time when this Post was last trashed. "updated": "A String", # RFC 3339 date-time when this Post was last updated. "url": "A String", # The URL where this Post is displayed. } @@ -402,6 +404,7 @@

Method Details

"status": "A String", # Status of the post. Only set for admin-level requests. "title": "A String", # The title of the Post. "titleLink": "A String", # The title link URL, similar to atom's related link. + "trashed": "A String", # RFC 3339 date-time when this Post was last trashed. "updated": "A String", # RFC 3339 date-time when this Post was last updated. "url": "A String", # The URL where this Post is displayed. } @@ -486,6 +489,7 @@

Method Details

"status": "A String", # Status of the post. Only set for admin-level requests. "title": "A String", # The title of the Post. "titleLink": "A String", # The title link URL, similar to atom's related link. + "trashed": "A String", # RFC 3339 date-time when this Post was last trashed. "updated": "A String", # RFC 3339 date-time when this Post was last updated. "url": "A String", # The URL where this Post is displayed. } @@ -601,6 +605,7 @@

Method Details

"status": "A String", # Status of the post. Only set for admin-level requests. "title": "A String", # The title of the Post. "titleLink": "A String", # The title link URL, similar to atom's related link. + "trashed": "A String", # RFC 3339 date-time when this Post was last trashed. "updated": "A String", # RFC 3339 date-time when this Post was last updated. "url": "A String", # The URL where this Post is displayed. }, @@ -704,6 +709,7 @@

Method Details

"status": "A String", # Status of the post. Only set for admin-level requests. "title": "A String", # The title of the Post. "titleLink": "A String", # The title link URL, similar to atom's related link. + "trashed": "A String", # RFC 3339 date-time when this Post was last trashed. "updated": "A String", # RFC 3339 date-time when this Post was last updated. "url": "A String", # The URL where this Post is displayed. } @@ -790,6 +796,7 @@

Method Details

"status": "A String", # Status of the post. Only set for admin-level requests. "title": "A String", # The title of the Post. "titleLink": "A String", # The title link URL, similar to atom's related link. + "trashed": "A String", # RFC 3339 date-time when this Post was last trashed. "updated": "A String", # RFC 3339 date-time when this Post was last updated. "url": "A String", # The URL where this Post is displayed. } @@ -880,6 +887,7 @@

Method Details

"status": "A String", # Status of the post. Only set for admin-level requests. "title": "A String", # The title of the Post. "titleLink": "A String", # The title link URL, similar to atom's related link. + "trashed": "A String", # RFC 3339 date-time when this Post was last trashed. "updated": "A String", # RFC 3339 date-time when this Post was last updated. "url": "A String", # The URL where this Post is displayed. } @@ -969,6 +977,7 @@

Method Details

"status": "A String", # Status of the post. Only set for admin-level requests. "title": "A String", # The title of the Post. "titleLink": "A String", # The title link URL, similar to atom's related link. + "trashed": "A String", # RFC 3339 date-time when this Post was last trashed. "updated": "A String", # RFC 3339 date-time when this Post was last updated. "url": "A String", # The URL where this Post is displayed. } @@ -1067,6 +1076,7 @@

Method Details

"status": "A String", # Status of the post. Only set for admin-level requests. "title": "A String", # The title of the Post. "titleLink": "A String", # The title link URL, similar to atom's related link. + "trashed": "A String", # RFC 3339 date-time when this Post was last trashed. "updated": "A String", # RFC 3339 date-time when this Post was last updated. "url": "A String", # The URL where this Post is displayed. }, @@ -1156,6 +1166,7 @@

Method Details

"status": "A String", # Status of the post. Only set for admin-level requests. "title": "A String", # The title of the Post. "titleLink": "A String", # The title link URL, similar to atom's related link. + "trashed": "A String", # RFC 3339 date-time when this Post was last trashed. "updated": "A String", # RFC 3339 date-time when this Post was last updated. "url": "A String", # The URL where this Post is displayed. } @@ -1242,6 +1253,7 @@

Method Details

"status": "A String", # Status of the post. Only set for admin-level requests. "title": "A String", # The title of the Post. "titleLink": "A String", # The title link URL, similar to atom's related link. + "trashed": "A String", # RFC 3339 date-time when this Post was last trashed. "updated": "A String", # RFC 3339 date-time when this Post was last updated. "url": "A String", # The URL where this Post is displayed. } diff --git a/docs/dyn/calendar_v3.events.html b/docs/dyn/calendar_v3.events.html index 029dfc65f43..ead785f76ea 100644 --- a/docs/dyn/calendar_v3.events.html +++ b/docs/dyn/calendar_v3.events.html @@ -82,7 +82,7 @@

Instance Methods

Deletes an event.

get(calendarId, eventId, alwaysIncludeEmail=None, maxAttendees=None, timeZone=None)

-

Returns an event.

+

Returns an event based on its Google Calendar ID. To retrieve an event using its iCalendar ID, call the events.list method using the iCalUID parameter.

import_(calendarId, body=None, conferenceDataVersion=None, supportsAttachments=None)

Imports an event. This operation is used to add a private copy of an existing event to a calendar.

@@ -142,7 +142,7 @@

Method Details

get(calendarId, eventId, alwaysIncludeEmail=None, maxAttendees=None, timeZone=None) -
Returns an event.
+  
Returns an event based on its Google Calendar ID. To retrieve an event using its iCalendar ID, call the events.list method using the iCalUID parameter.
 
 Args:
   calendarId: string, Calendar identifier. To retrieve calendar IDs call the calendarList.list method. If you want to access the primary calendar of the currently logged in user, use the "primary" keyword. (required)
@@ -339,7 +339,7 @@ 

Method Details

"hangoutLink": "A String", # An absolute link to the Google Hangout associated with this event. Read-only. "htmlLink": "A String", # An absolute link to this event in the Google Calendar Web UI. Read-only. "iCalUID": "A String", # Event unique identifier as defined in RFC5545. It is used to uniquely identify events accross calendaring systems and must be supplied when importing events via the import method. - # Note that the icalUID and the id are not identical and only one of them should be supplied at event creation time. One difference in their semantics is that in recurring events, all occurrences of one event have different ids while they all share the same icalUIDs. + # Note that the iCalUID and the id are not identical and only one of them should be supplied at event creation time. One difference in their semantics is that in recurring events, all occurrences of one event have different ids while they all share the same iCalUIDs. To retrieve an event using its iCalUID, call the events.list method using the iCalUID parameter. To retrieve an event using its id, call the events.get method. "id": "A String", # Opaque identifier of the event. When creating new single or recurring events, you can specify their IDs. Provided IDs must follow these rules: # - characters allowed in the ID are those used in base32hex encoding, i.e. lowercase letters a-v and digits 0-9, see section 3.1.2 in RFC2938 # - the length of the ID must be between 5 and 1024 characters @@ -605,7 +605,7 @@

Method Details

"hangoutLink": "A String", # An absolute link to the Google Hangout associated with this event. Read-only. "htmlLink": "A String", # An absolute link to this event in the Google Calendar Web UI. Read-only. "iCalUID": "A String", # Event unique identifier as defined in RFC5545. It is used to uniquely identify events accross calendaring systems and must be supplied when importing events via the import method. - # Note that the icalUID and the id are not identical and only one of them should be supplied at event creation time. One difference in their semantics is that in recurring events, all occurrences of one event have different ids while they all share the same icalUIDs. + # Note that the iCalUID and the id are not identical and only one of them should be supplied at event creation time. One difference in their semantics is that in recurring events, all occurrences of one event have different ids while they all share the same iCalUIDs. To retrieve an event using its iCalUID, call the events.list method using the iCalUID parameter. To retrieve an event using its id, call the events.get method. "id": "A String", # Opaque identifier of the event. When creating new single or recurring events, you can specify their IDs. Provided IDs must follow these rules: # - characters allowed in the ID are those used in base32hex encoding, i.e. lowercase letters a-v and digits 0-9, see section 3.1.2 in RFC2938 # - the length of the ID must be between 5 and 1024 characters @@ -867,7 +867,7 @@

Method Details

"hangoutLink": "A String", # An absolute link to the Google Hangout associated with this event. Read-only. "htmlLink": "A String", # An absolute link to this event in the Google Calendar Web UI. Read-only. "iCalUID": "A String", # Event unique identifier as defined in RFC5545. It is used to uniquely identify events accross calendaring systems and must be supplied when importing events via the import method. - # Note that the icalUID and the id are not identical and only one of them should be supplied at event creation time. One difference in their semantics is that in recurring events, all occurrences of one event have different ids while they all share the same icalUIDs. + # Note that the iCalUID and the id are not identical and only one of them should be supplied at event creation time. One difference in their semantics is that in recurring events, all occurrences of one event have different ids while they all share the same iCalUIDs. To retrieve an event using its iCalUID, call the events.list method using the iCalUID parameter. To retrieve an event using its id, call the events.get method. "id": "A String", # Opaque identifier of the event. When creating new single or recurring events, you can specify their IDs. Provided IDs must follow these rules: # - characters allowed in the ID are those used in base32hex encoding, i.e. lowercase letters a-v and digits 0-9, see section 3.1.2 in RFC2938 # - the length of the ID must be between 5 and 1024 characters @@ -1133,7 +1133,7 @@

Method Details

"hangoutLink": "A String", # An absolute link to the Google Hangout associated with this event. Read-only. "htmlLink": "A String", # An absolute link to this event in the Google Calendar Web UI. Read-only. "iCalUID": "A String", # Event unique identifier as defined in RFC5545. It is used to uniquely identify events accross calendaring systems and must be supplied when importing events via the import method. - # Note that the icalUID and the id are not identical and only one of them should be supplied at event creation time. One difference in their semantics is that in recurring events, all occurrences of one event have different ids while they all share the same icalUIDs. + # Note that the iCalUID and the id are not identical and only one of them should be supplied at event creation time. One difference in their semantics is that in recurring events, all occurrences of one event have different ids while they all share the same iCalUIDs. To retrieve an event using its iCalUID, call the events.list method using the iCalUID parameter. To retrieve an event using its id, call the events.get method. "id": "A String", # Opaque identifier of the event. When creating new single or recurring events, you can specify their IDs. Provided IDs must follow these rules: # - characters allowed in the ID are those used in base32hex encoding, i.e. lowercase letters a-v and digits 0-9, see section 3.1.2 in RFC2938 # - the length of the ID must be between 5 and 1024 characters @@ -1404,7 +1404,7 @@

Method Details

"hangoutLink": "A String", # An absolute link to the Google Hangout associated with this event. Read-only. "htmlLink": "A String", # An absolute link to this event in the Google Calendar Web UI. Read-only. "iCalUID": "A String", # Event unique identifier as defined in RFC5545. It is used to uniquely identify events accross calendaring systems and must be supplied when importing events via the import method. - # Note that the icalUID and the id are not identical and only one of them should be supplied at event creation time. One difference in their semantics is that in recurring events, all occurrences of one event have different ids while they all share the same icalUIDs. + # Note that the iCalUID and the id are not identical and only one of them should be supplied at event creation time. One difference in their semantics is that in recurring events, all occurrences of one event have different ids while they all share the same iCalUIDs. To retrieve an event using its iCalUID, call the events.list method using the iCalUID parameter. To retrieve an event using its id, call the events.get method. "id": "A String", # Opaque identifier of the event. When creating new single or recurring events, you can specify their IDs. Provided IDs must follow these rules: # - characters allowed in the ID are those used in base32hex encoding, i.e. lowercase letters a-v and digits 0-9, see section 3.1.2 in RFC2938 # - the length of the ID must be between 5 and 1024 characters @@ -1701,7 +1701,7 @@

Method Details

"hangoutLink": "A String", # An absolute link to the Google Hangout associated with this event. Read-only. "htmlLink": "A String", # An absolute link to this event in the Google Calendar Web UI. Read-only. "iCalUID": "A String", # Event unique identifier as defined in RFC5545. It is used to uniquely identify events accross calendaring systems and must be supplied when importing events via the import method. - # Note that the icalUID and the id are not identical and only one of them should be supplied at event creation time. One difference in their semantics is that in recurring events, all occurrences of one event have different ids while they all share the same icalUIDs. + # Note that the iCalUID and the id are not identical and only one of them should be supplied at event creation time. One difference in their semantics is that in recurring events, all occurrences of one event have different ids while they all share the same iCalUIDs. To retrieve an event using its iCalUID, call the events.list method using the iCalUID parameter. To retrieve an event using its id, call the events.get method. "id": "A String", # Opaque identifier of the event. When creating new single or recurring events, you can specify their IDs. Provided IDs must follow these rules: # - characters allowed in the ID are those used in base32hex encoding, i.e. lowercase letters a-v and digits 0-9, see section 3.1.2 in RFC2938 # - the length of the ID must be between 5 and 1024 characters @@ -1802,7 +1802,7 @@

Method Details

Args: calendarId: string, Calendar identifier. To retrieve calendar IDs call the calendarList.list method. If you want to access the primary calendar of the currently logged in user, use the "primary" keyword. (required) alwaysIncludeEmail: boolean, Deprecated and ignored. A value will always be returned in the email field for the organizer, creator and attendees, even if no real email address is available (i.e. a generated, non-working value will be provided). - iCalUID: string, Specifies event ID in the iCalendar format to be included in the response. Optional. + iCalUID: string, Specifies an event ID in the iCalendar format to be provided in the response. Optional. Use this if you want to search for an event by its iCalendar ID. maxAttendees: integer, The maximum number of attendees to include in the response. If there are more than the specified number of attendees, only the participant is returned. Optional. maxResults: integer, Maximum number of events returned on one result page. The number of events in the resulting page may be less than this value, or none at all, even if there are more events matching the query. Incomplete pages can be detected by a non-empty nextPageToken field in the response. By default the value is 250 events. The page size can never be larger than 2500 events. Optional. orderBy: string, The order of the events returned in the result. Optional. The default is an unspecified, stable order. @@ -2043,7 +2043,7 @@

Method Details

"hangoutLink": "A String", # An absolute link to the Google Hangout associated with this event. Read-only. "htmlLink": "A String", # An absolute link to this event in the Google Calendar Web UI. Read-only. "iCalUID": "A String", # Event unique identifier as defined in RFC5545. It is used to uniquely identify events accross calendaring systems and must be supplied when importing events via the import method. - # Note that the icalUID and the id are not identical and only one of them should be supplied at event creation time. One difference in their semantics is that in recurring events, all occurrences of one event have different ids while they all share the same icalUIDs. + # Note that the iCalUID and the id are not identical and only one of them should be supplied at event creation time. One difference in their semantics is that in recurring events, all occurrences of one event have different ids while they all share the same iCalUIDs. To retrieve an event using its iCalUID, call the events.list method using the iCalUID parameter. To retrieve an event using its id, call the events.get method. "id": "A String", # Opaque identifier of the event. When creating new single or recurring events, you can specify their IDs. Provided IDs must follow these rules: # - characters allowed in the ID are those used in base32hex encoding, i.e. lowercase letters a-v and digits 0-9, see section 3.1.2 in RFC2938 # - the length of the ID must be between 5 and 1024 characters @@ -2342,7 +2342,7 @@

Method Details

"hangoutLink": "A String", # An absolute link to the Google Hangout associated with this event. Read-only. "htmlLink": "A String", # An absolute link to this event in the Google Calendar Web UI. Read-only. "iCalUID": "A String", # Event unique identifier as defined in RFC5545. It is used to uniquely identify events accross calendaring systems and must be supplied when importing events via the import method. - # Note that the icalUID and the id are not identical and only one of them should be supplied at event creation time. One difference in their semantics is that in recurring events, all occurrences of one event have different ids while they all share the same icalUIDs. + # Note that the iCalUID and the id are not identical and only one of them should be supplied at event creation time. One difference in their semantics is that in recurring events, all occurrences of one event have different ids while they all share the same iCalUIDs. To retrieve an event using its iCalUID, call the events.list method using the iCalUID parameter. To retrieve an event using its id, call the events.get method. "id": "A String", # Opaque identifier of the event. When creating new single or recurring events, you can specify their IDs. Provided IDs must follow these rules: # - characters allowed in the ID are those used in base32hex encoding, i.e. lowercase letters a-v and digits 0-9, see section 3.1.2 in RFC2938 # - the length of the ID must be between 5 and 1024 characters @@ -2609,7 +2609,7 @@

Method Details

"hangoutLink": "A String", # An absolute link to the Google Hangout associated with this event. Read-only. "htmlLink": "A String", # An absolute link to this event in the Google Calendar Web UI. Read-only. "iCalUID": "A String", # Event unique identifier as defined in RFC5545. It is used to uniquely identify events accross calendaring systems and must be supplied when importing events via the import method. - # Note that the icalUID and the id are not identical and only one of them should be supplied at event creation time. One difference in their semantics is that in recurring events, all occurrences of one event have different ids while they all share the same icalUIDs. + # Note that the iCalUID and the id are not identical and only one of them should be supplied at event creation time. One difference in their semantics is that in recurring events, all occurrences of one event have different ids while they all share the same iCalUIDs. To retrieve an event using its iCalUID, call the events.list method using the iCalUID parameter. To retrieve an event using its id, call the events.get method. "id": "A String", # Opaque identifier of the event. When creating new single or recurring events, you can specify their IDs. Provided IDs must follow these rules: # - characters allowed in the ID are those used in base32hex encoding, i.e. lowercase letters a-v and digits 0-9, see section 3.1.2 in RFC2938 # - the length of the ID must be between 5 and 1024 characters @@ -2881,7 +2881,7 @@

Method Details

"hangoutLink": "A String", # An absolute link to the Google Hangout associated with this event. Read-only. "htmlLink": "A String", # An absolute link to this event in the Google Calendar Web UI. Read-only. "iCalUID": "A String", # Event unique identifier as defined in RFC5545. It is used to uniquely identify events accross calendaring systems and must be supplied when importing events via the import method. - # Note that the icalUID and the id are not identical and only one of them should be supplied at event creation time. One difference in their semantics is that in recurring events, all occurrences of one event have different ids while they all share the same icalUIDs. + # Note that the iCalUID and the id are not identical and only one of them should be supplied at event creation time. One difference in their semantics is that in recurring events, all occurrences of one event have different ids while they all share the same iCalUIDs. To retrieve an event using its iCalUID, call the events.list method using the iCalUID parameter. To retrieve an event using its id, call the events.get method. "id": "A String", # Opaque identifier of the event. When creating new single or recurring events, you can specify their IDs. Provided IDs must follow these rules: # - characters allowed in the ID are those used in base32hex encoding, i.e. lowercase letters a-v and digits 0-9, see section 3.1.2 in RFC2938 # - the length of the ID must be between 5 and 1024 characters @@ -3157,7 +3157,7 @@

Method Details

"hangoutLink": "A String", # An absolute link to the Google Hangout associated with this event. Read-only. "htmlLink": "A String", # An absolute link to this event in the Google Calendar Web UI. Read-only. "iCalUID": "A String", # Event unique identifier as defined in RFC5545. It is used to uniquely identify events accross calendaring systems and must be supplied when importing events via the import method. - # Note that the icalUID and the id are not identical and only one of them should be supplied at event creation time. One difference in their semantics is that in recurring events, all occurrences of one event have different ids while they all share the same icalUIDs. + # Note that the iCalUID and the id are not identical and only one of them should be supplied at event creation time. One difference in their semantics is that in recurring events, all occurrences of one event have different ids while they all share the same iCalUIDs. To retrieve an event using its iCalUID, call the events.list method using the iCalUID parameter. To retrieve an event using its id, call the events.get method. "id": "A String", # Opaque identifier of the event. When creating new single or recurring events, you can specify their IDs. Provided IDs must follow these rules: # - characters allowed in the ID are those used in base32hex encoding, i.e. lowercase letters a-v and digits 0-9, see section 3.1.2 in RFC2938 # - the length of the ID must be between 5 and 1024 characters @@ -3424,7 +3424,7 @@

Method Details

"hangoutLink": "A String", # An absolute link to the Google Hangout associated with this event. Read-only. "htmlLink": "A String", # An absolute link to this event in the Google Calendar Web UI. Read-only. "iCalUID": "A String", # Event unique identifier as defined in RFC5545. It is used to uniquely identify events accross calendaring systems and must be supplied when importing events via the import method. - # Note that the icalUID and the id are not identical and only one of them should be supplied at event creation time. One difference in their semantics is that in recurring events, all occurrences of one event have different ids while they all share the same icalUIDs. + # Note that the iCalUID and the id are not identical and only one of them should be supplied at event creation time. One difference in their semantics is that in recurring events, all occurrences of one event have different ids while they all share the same iCalUIDs. To retrieve an event using its iCalUID, call the events.list method using the iCalUID parameter. To retrieve an event using its id, call the events.get method. "id": "A String", # Opaque identifier of the event. When creating new single or recurring events, you can specify their IDs. Provided IDs must follow these rules: # - characters allowed in the ID are those used in base32hex encoding, i.e. lowercase letters a-v and digits 0-9, see section 3.1.2 in RFC2938 # - the length of the ID must be between 5 and 1024 characters @@ -3696,7 +3696,7 @@

Method Details

"hangoutLink": "A String", # An absolute link to the Google Hangout associated with this event. Read-only. "htmlLink": "A String", # An absolute link to this event in the Google Calendar Web UI. Read-only. "iCalUID": "A String", # Event unique identifier as defined in RFC5545. It is used to uniquely identify events accross calendaring systems and must be supplied when importing events via the import method. - # Note that the icalUID and the id are not identical and only one of them should be supplied at event creation time. One difference in their semantics is that in recurring events, all occurrences of one event have different ids while they all share the same icalUIDs. + # Note that the iCalUID and the id are not identical and only one of them should be supplied at event creation time. One difference in their semantics is that in recurring events, all occurrences of one event have different ids while they all share the same iCalUIDs. To retrieve an event using its iCalUID, call the events.list method using the iCalUID parameter. To retrieve an event using its id, call the events.get method. "id": "A String", # Opaque identifier of the event. When creating new single or recurring events, you can specify their IDs. Provided IDs must follow these rules: # - characters allowed in the ID are those used in base32hex encoding, i.e. lowercase letters a-v and digits 0-9, see section 3.1.2 in RFC2938 # - the length of the ID must be between 5 and 1024 characters @@ -3793,7 +3793,7 @@

Method Details

} alwaysIncludeEmail: boolean, Deprecated and ignored. A value will always be returned in the email field for the organizer, creator and attendees, even if no real email address is available (i.e. a generated, non-working value will be provided). - iCalUID: string, Specifies event ID in the iCalendar format to be included in the response. Optional. + iCalUID: string, Specifies an event ID in the iCalendar format to be provided in the response. Optional. Use this if you want to search for an event by its iCalendar ID. maxAttendees: integer, The maximum number of attendees to include in the response. If there are more than the specified number of attendees, only the participant is returned. Optional. maxResults: integer, Maximum number of events returned on one result page. The number of events in the resulting page may be less than this value, or none at all, even if there are more events matching the query. Incomplete pages can be detected by a non-empty nextPageToken field in the response. By default the value is 250 events. The page size can never be larger than 2500 events. Optional. orderBy: string, The order of the events returned in the result. Optional. The default is an unspecified, stable order. diff --git a/docs/dyn/chat_v1.dms.conversations.html b/docs/dyn/chat_v1.dms.conversations.html index 331dd64ee2c..b5656fa9fac 100644 --- a/docs/dyn/chat_v1.dms.conversations.html +++ b/docs/dyn/chat_v1.dms.conversations.html @@ -832,6 +832,528 @@

Method Details

], }, ], + "cardsV2": [ # Richly formatted and interactive cards that display UI elements and editable widgets, such as: - Formatted text - Buttons - Clickable images - Checkboxes - Radio buttons - Input widgets. Cards are usually displayed below the text-body of a Chat message, but can situationally appear other places, such as [dialogs](https://developers.google.com/chat/how-tos/dialogs). The `cardId` is a unique identifier among cards in the same message and for identifying user input values. Currently supported widgets include: - `TextParagraph` - `DecoratedText` - `Image` - `ButtonList` + { # Widgets for Chat apps to specify. + "card": { # A card is a UI element that can contain UI widgets such as text and images. For more information, see Cards . For example, the following JSON creates a card that has a header with the name, position, icons, and link for a contact, followed by a section with contact information like email and phone number. ``` { "header": { "title": "Sasha", "subtitle": "Software Engineer", "imageStyle": "ImageStyle.AVATAR", "imageUrl": "https://example.com/sasha.png", "imageAltText": "Avatar for Sasha" }, "sections" : [ { "header": "Contact Info", "widgets": [ { "decorated_text": { "icon": { "knownIcon": "EMAIL" }, "content": "sasha@example.com" } }, { "decoratedText": { "icon": { "knownIcon": "PERSON" }, "content": "Online" } }, { "decoratedText": { "icon": { "knownIcon": "PHONE" }, "content": "+1 (555) 555-1234" } }, { "buttons": [ { "textButton": { "text": "Share", }, "onClick": { "openLink": { "url": "https://example.com/share" } } }, { "textButton": { "text": "Edit", }, "onClick": { "action": { "function": "goToView", "parameters": [ { "key": "viewType", "value": "EDIT" } ], "loadIndicator": "LoadIndicator.SPINNER" } } } ] } ], "collapsible": true, "uncollapsibleWidgetsCount": 3 } ], "cardActions": [ { "actionLabel": "Send Feedback", "onClick": { "openLink": { "url": "https://example.com/feedback" } } } ], "name": "contact-card-K3wB6arF2H9L" } ``` # Card proto that allows Chat apps to specify UI elements and editable widgets. + "cardActions": [ # The card's actions. Actions are added to the card's generated toolbar menu. For example, the following JSON constructs a card action menu with Settings and Send Feedback options: ``` "card_actions": [ { "actionLabel": "Settings", "onClick": { "action": { "functionName": "goToView", "parameters": [ { "key": "viewType", "value": "SETTING" } ], "loadIndicator": "LoadIndicator.SPINNER" } } }, { "actionLabel": "Send Feedback", "onClick": { "openLink": { "url": "https://example.com/feedback" } } } ] ``` + { # A card action is the action associated with the card. For example, an invoice card might include actions such as delete invoice, email invoice, or open the invoice in a browser. + "actionLabel": "A String", # The label that displays as the action menu item. + "onClick": { # Represents the response to an `onClick` event. # The `onClick` action for this action item. + "action": { # An action that describes the behavior when the form is submitted. For example, an Apps Script can be invoked to handle the form. # If specified, an action is triggered by this `onClick`. + "function": "A String", # Apps Script function to invoke when the containing element is clicked/activated. + "loadIndicator": "A String", # Specifies the loading indicator that the action displays while making the call to the action. + "parameters": [ # List of action parameters. + { # List of string parameters to supply when the action method is invoked. For example, consider three snooze buttons: snooze now, snooze 1 day, snooze next week. You might use action method = snooze(), passing the snooze type and snooze time in the list of string parameters. + "key": "A String", # The name of the parameter for the action script. + "value": "A String", # The value of the parameter. + }, + ], + "persistValues": True or False, # Indicates whether form values persist after the action. The default value is `false`. If `true`, form values remain after the action is triggered. When using [LoadIndicator.NONE](workspace/add-ons/reference/rpc/google.apps.card.v1#loadindicator) for actions, `persist_values` = `true`is recommended, as it ensures that any changes made by the user after form or on change actions are sent to the server are not overwritten by the response. If `false`, the form values are cleared when the action is triggered. When `persist_values` is set to `false`, it is strongly recommended that the card use [LoadIndicator.SPINNER](workspace/add-ons/reference/rpc/google.apps.card.v1#loadindicator) for all actions, as this locks the UI to ensure no changes are made by the user while the action is being processed. Not supported by Google Chat apps. + }, + "card": # Object with schema name: GoogleAppsCardV1Card # A new card is pushed to the card stack after clicking if specified. + "openDynamicLinkAction": { # An action that describes the behavior when the form is submitted. For example, an Apps Script can be invoked to handle the form. # An add-on triggers this action when the action needs to open a link. This differs from the `open_link` above in that this needs to talk to server to get the link. Thus some preparation work is required for web client to do before the open link action response comes back. + "function": "A String", # Apps Script function to invoke when the containing element is clicked/activated. + "loadIndicator": "A String", # Specifies the loading indicator that the action displays while making the call to the action. + "parameters": [ # List of action parameters. + { # List of string parameters to supply when the action method is invoked. For example, consider three snooze buttons: snooze now, snooze 1 day, snooze next week. You might use action method = snooze(), passing the snooze type and snooze time in the list of string parameters. + "key": "A String", # The name of the parameter for the action script. + "value": "A String", # The value of the parameter. + }, + ], + "persistValues": True or False, # Indicates whether form values persist after the action. The default value is `false`. If `true`, form values remain after the action is triggered. When using [LoadIndicator.NONE](workspace/add-ons/reference/rpc/google.apps.card.v1#loadindicator) for actions, `persist_values` = `true`is recommended, as it ensures that any changes made by the user after form or on change actions are sent to the server are not overwritten by the response. If `false`, the form values are cleared when the action is triggered. When `persist_values` is set to `false`, it is strongly recommended that the card use [LoadIndicator.SPINNER](workspace/add-ons/reference/rpc/google.apps.card.v1#loadindicator) for all actions, as this locks the UI to ensure no changes are made by the user while the action is being processed. Not supported by Google Chat apps. + }, + "openLink": { # Represents an `onClick` event that opens a hyperlink. # If specified, this `onClick` triggers an open link action. + "onClose": "A String", # Whether the client forgets about a link after opening it, or observes it until the window closes. Not supported by Chat apps. + "openAs": "A String", # How to open a link. Not supported by Chat apps. + "url": "A String", # The URL to open. + }, + }, + }, + ], + "displayStyle": "A String", # The `peekCardHeader` display style for. Not supported by Google Chat apps. + "fixedFooter": { # A persistent (sticky) footer that is added to the bottom of the card. # The fixed footer shown at the bottom of this card. + "primaryButton": { # A button. Can be a text button or an image button. # The primary button of the fixed footer. The button must be a text button with text and color set. + "altText": "A String", # The alternative text used for accessibility. Has no effect when an icon is set; use `icon.alt_text` instead. + "color": { # Represents a color in the RGBA color space. This representation is designed for simplicity of conversion to/from color representations in various languages over compactness. For example, the fields of this representation can be trivially provided to the constructor of `java.awt.Color` in Java; it can also be trivially provided to UIColor's `+colorWithRed:green:blue:alpha` method in iOS; and, with just a little work, it can be easily formatted into a CSS `rgba()` string in JavaScript. This reference page doesn't carry information about the absolute color space that should be used to interpret the RGB value (e.g. sRGB, Adobe RGB, DCI-P3, BT.2020, etc.). By default, applications should assume the sRGB color space. When color equality needs to be decided, implementations, unless documented otherwise, treat two colors as equal if all their red, green, blue, and alpha values each differ by at most 1e-5. Example (Java): import com.google.type.Color; // ... public static java.awt.Color fromProto(Color protocolor) { float alpha = protocolor.hasAlpha() ? protocolor.getAlpha().getValue() : 1.0; return new java.awt.Color( protocolor.getRed(), protocolor.getGreen(), protocolor.getBlue(), alpha); } public static Color toProto(java.awt.Color color) { float red = (float) color.getRed(); float green = (float) color.getGreen(); float blue = (float) color.getBlue(); float denominator = 255.0; Color.Builder resultBuilder = Color .newBuilder() .setRed(red / denominator) .setGreen(green / denominator) .setBlue(blue / denominator); int alpha = color.getAlpha(); if (alpha != 255) { result.setAlpha( FloatValue .newBuilder() .setValue(((float) alpha) / denominator) .build()); } return resultBuilder.build(); } // ... Example (iOS / Obj-C): // ... static UIColor* fromProto(Color* protocolor) { float red = [protocolor red]; float green = [protocolor green]; float blue = [protocolor blue]; FloatValue* alpha_wrapper = [protocolor alpha]; float alpha = 1.0; if (alpha_wrapper != nil) { alpha = [alpha_wrapper value]; } return [UIColor colorWithRed:red green:green blue:blue alpha:alpha]; } static Color* toProto(UIColor* color) { CGFloat red, green, blue, alpha; if (![color getRed:&red green:&green blue:&blue alpha:&alpha]) { return nil; } Color* result = [[Color alloc] init]; [result setRed:red]; [result setGreen:green]; [result setBlue:blue]; if (alpha <= 0.9999) { [result setAlpha:floatWrapperWithValue(alpha)]; } [result autorelease]; return result; } // ... Example (JavaScript): // ... var protoToCssColor = function(rgb_color) { var redFrac = rgb_color.red || 0.0; var greenFrac = rgb_color.green || 0.0; var blueFrac = rgb_color.blue || 0.0; var red = Math.floor(redFrac * 255); var green = Math.floor(greenFrac * 255); var blue = Math.floor(blueFrac * 255); if (!('alpha' in rgb_color)) { return rgbToCssColor(red, green, blue); } var alphaFrac = rgb_color.alpha.value || 0.0; var rgbParams = [red, green, blue].join(','); return ['rgba(', rgbParams, ',', alphaFrac, ')'].join(''); }; var rgbToCssColor = function(red, green, blue) { var rgbNumber = new Number((red << 16) | (green << 8) | blue); var hexString = rgbNumber.toString(16); var missingZeros = 6 - hexString.length; var resultBuilder = ['#']; for (var i = 0; i < missingZeros; i++) { resultBuilder.push('0'); } resultBuilder.push(hexString); return resultBuilder.join(''); }; // ... # If set, the button is filled with a solid background. + "alpha": 3.14, # The fraction of this color that should be applied to the pixel. That is, the final pixel color is defined by the equation: `pixel color = alpha * (this color) + (1.0 - alpha) * (background color)` This means that a value of 1.0 corresponds to a solid color, whereas a value of 0.0 corresponds to a completely transparent color. This uses a wrapper message rather than a simple float scalar so that it is possible to distinguish between a default value and the value being unset. If omitted, this color object is rendered as a solid color (as if the alpha value had been explicitly given a value of 1.0). + "blue": 3.14, # The amount of blue in the color as a value in the interval [0, 1]. + "green": 3.14, # The amount of green in the color as a value in the interval [0, 1]. + "red": 3.14, # The amount of red in the color as a value in the interval [0, 1]. + }, + "disabled": True or False, # If `true`, the button is displayed in a disabled state and doesn't respond to user actions. + "icon": { # The icon image. + "altText": "A String", # The description of the icon, used for accessibility. The default value is provided if you don't specify one. + "iconUrl": "A String", # The icon specified by a URL. + "imageType": "A String", # The crop style applied to the image. In some cases, applying a `CIRCLE` crop causes the image to be drawn larger than a standard icon. + "knownIcon": "A String", # The icon specified by the string name of a list of known icons. + }, + "onClick": { # Represents the response to an `onClick` event. # The action to perform when the button is clicked. + "action": { # An action that describes the behavior when the form is submitted. For example, an Apps Script can be invoked to handle the form. # If specified, an action is triggered by this `onClick`. + "function": "A String", # Apps Script function to invoke when the containing element is clicked/activated. + "loadIndicator": "A String", # Specifies the loading indicator that the action displays while making the call to the action. + "parameters": [ # List of action parameters. + { # List of string parameters to supply when the action method is invoked. For example, consider three snooze buttons: snooze now, snooze 1 day, snooze next week. You might use action method = snooze(), passing the snooze type and snooze time in the list of string parameters. + "key": "A String", # The name of the parameter for the action script. + "value": "A String", # The value of the parameter. + }, + ], + "persistValues": True or False, # Indicates whether form values persist after the action. The default value is `false`. If `true`, form values remain after the action is triggered. When using [LoadIndicator.NONE](workspace/add-ons/reference/rpc/google.apps.card.v1#loadindicator) for actions, `persist_values` = `true`is recommended, as it ensures that any changes made by the user after form or on change actions are sent to the server are not overwritten by the response. If `false`, the form values are cleared when the action is triggered. When `persist_values` is set to `false`, it is strongly recommended that the card use [LoadIndicator.SPINNER](workspace/add-ons/reference/rpc/google.apps.card.v1#loadindicator) for all actions, as this locks the UI to ensure no changes are made by the user while the action is being processed. Not supported by Google Chat apps. + }, + "card": # Object with schema name: GoogleAppsCardV1Card # A new card is pushed to the card stack after clicking if specified. + "openDynamicLinkAction": { # An action that describes the behavior when the form is submitted. For example, an Apps Script can be invoked to handle the form. # An add-on triggers this action when the action needs to open a link. This differs from the `open_link` above in that this needs to talk to server to get the link. Thus some preparation work is required for web client to do before the open link action response comes back. + "function": "A String", # Apps Script function to invoke when the containing element is clicked/activated. + "loadIndicator": "A String", # Specifies the loading indicator that the action displays while making the call to the action. + "parameters": [ # List of action parameters. + { # List of string parameters to supply when the action method is invoked. For example, consider three snooze buttons: snooze now, snooze 1 day, snooze next week. You might use action method = snooze(), passing the snooze type and snooze time in the list of string parameters. + "key": "A String", # The name of the parameter for the action script. + "value": "A String", # The value of the parameter. + }, + ], + "persistValues": True or False, # Indicates whether form values persist after the action. The default value is `false`. If `true`, form values remain after the action is triggered. When using [LoadIndicator.NONE](workspace/add-ons/reference/rpc/google.apps.card.v1#loadindicator) for actions, `persist_values` = `true`is recommended, as it ensures that any changes made by the user after form or on change actions are sent to the server are not overwritten by the response. If `false`, the form values are cleared when the action is triggered. When `persist_values` is set to `false`, it is strongly recommended that the card use [LoadIndicator.SPINNER](workspace/add-ons/reference/rpc/google.apps.card.v1#loadindicator) for all actions, as this locks the UI to ensure no changes are made by the user while the action is being processed. Not supported by Google Chat apps. + }, + "openLink": { # Represents an `onClick` event that opens a hyperlink. # If specified, this `onClick` triggers an open link action. + "onClose": "A String", # Whether the client forgets about a link after opening it, or observes it until the window closes. Not supported by Chat apps. + "openAs": "A String", # How to open a link. Not supported by Chat apps. + "url": "A String", # The URL to open. + }, + }, + "text": "A String", # The text of the button. + }, + "secondaryButton": { # A button. Can be a text button or an image button. # The secondary button of the fixed footer. The button must be a text button with text and color set. `primaryButton` must be set if `secondaryButton` is set. + "altText": "A String", # The alternative text used for accessibility. Has no effect when an icon is set; use `icon.alt_text` instead. + "color": { # Represents a color in the RGBA color space. This representation is designed for simplicity of conversion to/from color representations in various languages over compactness. For example, the fields of this representation can be trivially provided to the constructor of `java.awt.Color` in Java; it can also be trivially provided to UIColor's `+colorWithRed:green:blue:alpha` method in iOS; and, with just a little work, it can be easily formatted into a CSS `rgba()` string in JavaScript. This reference page doesn't carry information about the absolute color space that should be used to interpret the RGB value (e.g. sRGB, Adobe RGB, DCI-P3, BT.2020, etc.). By default, applications should assume the sRGB color space. When color equality needs to be decided, implementations, unless documented otherwise, treat two colors as equal if all their red, green, blue, and alpha values each differ by at most 1e-5. Example (Java): import com.google.type.Color; // ... public static java.awt.Color fromProto(Color protocolor) { float alpha = protocolor.hasAlpha() ? protocolor.getAlpha().getValue() : 1.0; return new java.awt.Color( protocolor.getRed(), protocolor.getGreen(), protocolor.getBlue(), alpha); } public static Color toProto(java.awt.Color color) { float red = (float) color.getRed(); float green = (float) color.getGreen(); float blue = (float) color.getBlue(); float denominator = 255.0; Color.Builder resultBuilder = Color .newBuilder() .setRed(red / denominator) .setGreen(green / denominator) .setBlue(blue / denominator); int alpha = color.getAlpha(); if (alpha != 255) { result.setAlpha( FloatValue .newBuilder() .setValue(((float) alpha) / denominator) .build()); } return resultBuilder.build(); } // ... Example (iOS / Obj-C): // ... static UIColor* fromProto(Color* protocolor) { float red = [protocolor red]; float green = [protocolor green]; float blue = [protocolor blue]; FloatValue* alpha_wrapper = [protocolor alpha]; float alpha = 1.0; if (alpha_wrapper != nil) { alpha = [alpha_wrapper value]; } return [UIColor colorWithRed:red green:green blue:blue alpha:alpha]; } static Color* toProto(UIColor* color) { CGFloat red, green, blue, alpha; if (![color getRed:&red green:&green blue:&blue alpha:&alpha]) { return nil; } Color* result = [[Color alloc] init]; [result setRed:red]; [result setGreen:green]; [result setBlue:blue]; if (alpha <= 0.9999) { [result setAlpha:floatWrapperWithValue(alpha)]; } [result autorelease]; return result; } // ... Example (JavaScript): // ... var protoToCssColor = function(rgb_color) { var redFrac = rgb_color.red || 0.0; var greenFrac = rgb_color.green || 0.0; var blueFrac = rgb_color.blue || 0.0; var red = Math.floor(redFrac * 255); var green = Math.floor(greenFrac * 255); var blue = Math.floor(blueFrac * 255); if (!('alpha' in rgb_color)) { return rgbToCssColor(red, green, blue); } var alphaFrac = rgb_color.alpha.value || 0.0; var rgbParams = [red, green, blue].join(','); return ['rgba(', rgbParams, ',', alphaFrac, ')'].join(''); }; var rgbToCssColor = function(red, green, blue) { var rgbNumber = new Number((red << 16) | (green << 8) | blue); var hexString = rgbNumber.toString(16); var missingZeros = 6 - hexString.length; var resultBuilder = ['#']; for (var i = 0; i < missingZeros; i++) { resultBuilder.push('0'); } resultBuilder.push(hexString); return resultBuilder.join(''); }; // ... # If set, the button is filled with a solid background. + "alpha": 3.14, # The fraction of this color that should be applied to the pixel. That is, the final pixel color is defined by the equation: `pixel color = alpha * (this color) + (1.0 - alpha) * (background color)` This means that a value of 1.0 corresponds to a solid color, whereas a value of 0.0 corresponds to a completely transparent color. This uses a wrapper message rather than a simple float scalar so that it is possible to distinguish between a default value and the value being unset. If omitted, this color object is rendered as a solid color (as if the alpha value had been explicitly given a value of 1.0). + "blue": 3.14, # The amount of blue in the color as a value in the interval [0, 1]. + "green": 3.14, # The amount of green in the color as a value in the interval [0, 1]. + "red": 3.14, # The amount of red in the color as a value in the interval [0, 1]. + }, + "disabled": True or False, # If `true`, the button is displayed in a disabled state and doesn't respond to user actions. + "icon": { # The icon image. + "altText": "A String", # The description of the icon, used for accessibility. The default value is provided if you don't specify one. + "iconUrl": "A String", # The icon specified by a URL. + "imageType": "A String", # The crop style applied to the image. In some cases, applying a `CIRCLE` crop causes the image to be drawn larger than a standard icon. + "knownIcon": "A String", # The icon specified by the string name of a list of known icons. + }, + "onClick": { # Represents the response to an `onClick` event. # The action to perform when the button is clicked. + "action": { # An action that describes the behavior when the form is submitted. For example, an Apps Script can be invoked to handle the form. # If specified, an action is triggered by this `onClick`. + "function": "A String", # Apps Script function to invoke when the containing element is clicked/activated. + "loadIndicator": "A String", # Specifies the loading indicator that the action displays while making the call to the action. + "parameters": [ # List of action parameters. + { # List of string parameters to supply when the action method is invoked. For example, consider three snooze buttons: snooze now, snooze 1 day, snooze next week. You might use action method = snooze(), passing the snooze type and snooze time in the list of string parameters. + "key": "A String", # The name of the parameter for the action script. + "value": "A String", # The value of the parameter. + }, + ], + "persistValues": True or False, # Indicates whether form values persist after the action. The default value is `false`. If `true`, form values remain after the action is triggered. When using [LoadIndicator.NONE](workspace/add-ons/reference/rpc/google.apps.card.v1#loadindicator) for actions, `persist_values` = `true`is recommended, as it ensures that any changes made by the user after form or on change actions are sent to the server are not overwritten by the response. If `false`, the form values are cleared when the action is triggered. When `persist_values` is set to `false`, it is strongly recommended that the card use [LoadIndicator.SPINNER](workspace/add-ons/reference/rpc/google.apps.card.v1#loadindicator) for all actions, as this locks the UI to ensure no changes are made by the user while the action is being processed. Not supported by Google Chat apps. + }, + "card": # Object with schema name: GoogleAppsCardV1Card # A new card is pushed to the card stack after clicking if specified. + "openDynamicLinkAction": { # An action that describes the behavior when the form is submitted. For example, an Apps Script can be invoked to handle the form. # An add-on triggers this action when the action needs to open a link. This differs from the `open_link` above in that this needs to talk to server to get the link. Thus some preparation work is required for web client to do before the open link action response comes back. + "function": "A String", # Apps Script function to invoke when the containing element is clicked/activated. + "loadIndicator": "A String", # Specifies the loading indicator that the action displays while making the call to the action. + "parameters": [ # List of action parameters. + { # List of string parameters to supply when the action method is invoked. For example, consider three snooze buttons: snooze now, snooze 1 day, snooze next week. You might use action method = snooze(), passing the snooze type and snooze time in the list of string parameters. + "key": "A String", # The name of the parameter for the action script. + "value": "A String", # The value of the parameter. + }, + ], + "persistValues": True or False, # Indicates whether form values persist after the action. The default value is `false`. If `true`, form values remain after the action is triggered. When using [LoadIndicator.NONE](workspace/add-ons/reference/rpc/google.apps.card.v1#loadindicator) for actions, `persist_values` = `true`is recommended, as it ensures that any changes made by the user after form or on change actions are sent to the server are not overwritten by the response. If `false`, the form values are cleared when the action is triggered. When `persist_values` is set to `false`, it is strongly recommended that the card use [LoadIndicator.SPINNER](workspace/add-ons/reference/rpc/google.apps.card.v1#loadindicator) for all actions, as this locks the UI to ensure no changes are made by the user while the action is being processed. Not supported by Google Chat apps. + }, + "openLink": { # Represents an `onClick` event that opens a hyperlink. # If specified, this `onClick` triggers an open link action. + "onClose": "A String", # Whether the client forgets about a link after opening it, or observes it until the window closes. Not supported by Chat apps. + "openAs": "A String", # How to open a link. Not supported by Chat apps. + "url": "A String", # The URL to open. + }, + }, + "text": "A String", # The text of the button. + }, + }, + "header": { # Represents a card header. # The header of the card. A header usually contains a title and an image. + "imageAltText": "A String", # The alternative text of this image which is used for accessibility. + "imageType": "A String", # The image's type. + "imageUrl": "A String", # The URL of the image in the card header. + "subtitle": "A String", # The subtitle of the card header. + "title": "A String", # Required. The title of the card header. The header has a fixed height: if both a title and subtitle are specified, each takes up one line. If only the title is specified, it takes up both lines. + }, + "name": "A String", # Name of the card. Used as a card identifier in card navigation. + "peekCardHeader": { # Represents a card header. # When displaying contextual content, the peek card header acts as a placeholder so that the user can navigate forward between the homepage cards and the contextual cards. Not supported by Google Chat apps. + "imageAltText": "A String", # The alternative text of this image which is used for accessibility. + "imageType": "A String", # The image's type. + "imageUrl": "A String", # The URL of the image in the card header. + "subtitle": "A String", # The subtitle of the card header. + "title": "A String", # Required. The title of the card header. The header has a fixed height: if both a title and subtitle are specified, each takes up one line. If only the title is specified, it takes up both lines. + }, + "sections": [ # Sections are separated by a line divider. + { # A section contains a collection of widgets that are rendered vertically in the order that they are specified. Across all platforms, cards have a narrow fixed width, so there is currently no need for layout properties, for example, float. + "collapsible": True or False, # Indicates whether this section is collapsible. If a section is collapsible, the description must be given. + "header": "A String", # The header of the section. Formatted text is supported. + "uncollapsibleWidgetsCount": 42, # The number of uncollapsible widgets. For example, when a section contains five widgets and the `uncollapsibleWidgetsCount` is set to `2`, the first two widgets are always shown and the last three are collapsed as default. The `uncollapsibleWidgetsCount` is taken into account only when `collapsible` is `true`. + "widgets": [ # A section must contain at least 1 widget. + { # A widget is a UI element that presents texts, images, etc. + "buttonList": { # A list of buttons layed out horizontally. # A list of buttons. For example, the following JSON creates two buttons. The first is a filled text button and the second is an image button that opens a link: ``` "buttonList": { "buttons": [ "button": { "text": "Edit", "Color": { "Red": 255 "Green": 255 "Blue": 255 } "disabled": true }, "button": { "icon": { "knownIcon": "INVITE" "altText": "check calendar" }, "onClick": { "openLink": { "url": "https://example.com/calendar" } } }, ] } ``` + "buttons": [ # An array of buttons. + { # A button. Can be a text button or an image button. + "altText": "A String", # The alternative text used for accessibility. Has no effect when an icon is set; use `icon.alt_text` instead. + "color": { # Represents a color in the RGBA color space. This representation is designed for simplicity of conversion to/from color representations in various languages over compactness. For example, the fields of this representation can be trivially provided to the constructor of `java.awt.Color` in Java; it can also be trivially provided to UIColor's `+colorWithRed:green:blue:alpha` method in iOS; and, with just a little work, it can be easily formatted into a CSS `rgba()` string in JavaScript. This reference page doesn't carry information about the absolute color space that should be used to interpret the RGB value (e.g. sRGB, Adobe RGB, DCI-P3, BT.2020, etc.). By default, applications should assume the sRGB color space. When color equality needs to be decided, implementations, unless documented otherwise, treat two colors as equal if all their red, green, blue, and alpha values each differ by at most 1e-5. Example (Java): import com.google.type.Color; // ... public static java.awt.Color fromProto(Color protocolor) { float alpha = protocolor.hasAlpha() ? protocolor.getAlpha().getValue() : 1.0; return new java.awt.Color( protocolor.getRed(), protocolor.getGreen(), protocolor.getBlue(), alpha); } public static Color toProto(java.awt.Color color) { float red = (float) color.getRed(); float green = (float) color.getGreen(); float blue = (float) color.getBlue(); float denominator = 255.0; Color.Builder resultBuilder = Color .newBuilder() .setRed(red / denominator) .setGreen(green / denominator) .setBlue(blue / denominator); int alpha = color.getAlpha(); if (alpha != 255) { result.setAlpha( FloatValue .newBuilder() .setValue(((float) alpha) / denominator) .build()); } return resultBuilder.build(); } // ... Example (iOS / Obj-C): // ... static UIColor* fromProto(Color* protocolor) { float red = [protocolor red]; float green = [protocolor green]; float blue = [protocolor blue]; FloatValue* alpha_wrapper = [protocolor alpha]; float alpha = 1.0; if (alpha_wrapper != nil) { alpha = [alpha_wrapper value]; } return [UIColor colorWithRed:red green:green blue:blue alpha:alpha]; } static Color* toProto(UIColor* color) { CGFloat red, green, blue, alpha; if (![color getRed:&red green:&green blue:&blue alpha:&alpha]) { return nil; } Color* result = [[Color alloc] init]; [result setRed:red]; [result setGreen:green]; [result setBlue:blue]; if (alpha <= 0.9999) { [result setAlpha:floatWrapperWithValue(alpha)]; } [result autorelease]; return result; } // ... Example (JavaScript): // ... var protoToCssColor = function(rgb_color) { var redFrac = rgb_color.red || 0.0; var greenFrac = rgb_color.green || 0.0; var blueFrac = rgb_color.blue || 0.0; var red = Math.floor(redFrac * 255); var green = Math.floor(greenFrac * 255); var blue = Math.floor(blueFrac * 255); if (!('alpha' in rgb_color)) { return rgbToCssColor(red, green, blue); } var alphaFrac = rgb_color.alpha.value || 0.0; var rgbParams = [red, green, blue].join(','); return ['rgba(', rgbParams, ',', alphaFrac, ')'].join(''); }; var rgbToCssColor = function(red, green, blue) { var rgbNumber = new Number((red << 16) | (green << 8) | blue); var hexString = rgbNumber.toString(16); var missingZeros = 6 - hexString.length; var resultBuilder = ['#']; for (var i = 0; i < missingZeros; i++) { resultBuilder.push('0'); } resultBuilder.push(hexString); return resultBuilder.join(''); }; // ... # If set, the button is filled with a solid background. + "alpha": 3.14, # The fraction of this color that should be applied to the pixel. That is, the final pixel color is defined by the equation: `pixel color = alpha * (this color) + (1.0 - alpha) * (background color)` This means that a value of 1.0 corresponds to a solid color, whereas a value of 0.0 corresponds to a completely transparent color. This uses a wrapper message rather than a simple float scalar so that it is possible to distinguish between a default value and the value being unset. If omitted, this color object is rendered as a solid color (as if the alpha value had been explicitly given a value of 1.0). + "blue": 3.14, # The amount of blue in the color as a value in the interval [0, 1]. + "green": 3.14, # The amount of green in the color as a value in the interval [0, 1]. + "red": 3.14, # The amount of red in the color as a value in the interval [0, 1]. + }, + "disabled": True or False, # If `true`, the button is displayed in a disabled state and doesn't respond to user actions. + "icon": { # The icon image. + "altText": "A String", # The description of the icon, used for accessibility. The default value is provided if you don't specify one. + "iconUrl": "A String", # The icon specified by a URL. + "imageType": "A String", # The crop style applied to the image. In some cases, applying a `CIRCLE` crop causes the image to be drawn larger than a standard icon. + "knownIcon": "A String", # The icon specified by the string name of a list of known icons. + }, + "onClick": { # Represents the response to an `onClick` event. # The action to perform when the button is clicked. + "action": { # An action that describes the behavior when the form is submitted. For example, an Apps Script can be invoked to handle the form. # If specified, an action is triggered by this `onClick`. + "function": "A String", # Apps Script function to invoke when the containing element is clicked/activated. + "loadIndicator": "A String", # Specifies the loading indicator that the action displays while making the call to the action. + "parameters": [ # List of action parameters. + { # List of string parameters to supply when the action method is invoked. For example, consider three snooze buttons: snooze now, snooze 1 day, snooze next week. You might use action method = snooze(), passing the snooze type and snooze time in the list of string parameters. + "key": "A String", # The name of the parameter for the action script. + "value": "A String", # The value of the parameter. + }, + ], + "persistValues": True or False, # Indicates whether form values persist after the action. The default value is `false`. If `true`, form values remain after the action is triggered. When using [LoadIndicator.NONE](workspace/add-ons/reference/rpc/google.apps.card.v1#loadindicator) for actions, `persist_values` = `true`is recommended, as it ensures that any changes made by the user after form or on change actions are sent to the server are not overwritten by the response. If `false`, the form values are cleared when the action is triggered. When `persist_values` is set to `false`, it is strongly recommended that the card use [LoadIndicator.SPINNER](workspace/add-ons/reference/rpc/google.apps.card.v1#loadindicator) for all actions, as this locks the UI to ensure no changes are made by the user while the action is being processed. Not supported by Google Chat apps. + }, + "card": # Object with schema name: GoogleAppsCardV1Card # A new card is pushed to the card stack after clicking if specified. + "openDynamicLinkAction": { # An action that describes the behavior when the form is submitted. For example, an Apps Script can be invoked to handle the form. # An add-on triggers this action when the action needs to open a link. This differs from the `open_link` above in that this needs to talk to server to get the link. Thus some preparation work is required for web client to do before the open link action response comes back. + "function": "A String", # Apps Script function to invoke when the containing element is clicked/activated. + "loadIndicator": "A String", # Specifies the loading indicator that the action displays while making the call to the action. + "parameters": [ # List of action parameters. + { # List of string parameters to supply when the action method is invoked. For example, consider three snooze buttons: snooze now, snooze 1 day, snooze next week. You might use action method = snooze(), passing the snooze type and snooze time in the list of string parameters. + "key": "A String", # The name of the parameter for the action script. + "value": "A String", # The value of the parameter. + }, + ], + "persistValues": True or False, # Indicates whether form values persist after the action. The default value is `false`. If `true`, form values remain after the action is triggered. When using [LoadIndicator.NONE](workspace/add-ons/reference/rpc/google.apps.card.v1#loadindicator) for actions, `persist_values` = `true`is recommended, as it ensures that any changes made by the user after form or on change actions are sent to the server are not overwritten by the response. If `false`, the form values are cleared when the action is triggered. When `persist_values` is set to `false`, it is strongly recommended that the card use [LoadIndicator.SPINNER](workspace/add-ons/reference/rpc/google.apps.card.v1#loadindicator) for all actions, as this locks the UI to ensure no changes are made by the user while the action is being processed. Not supported by Google Chat apps. + }, + "openLink": { # Represents an `onClick` event that opens a hyperlink. # If specified, this `onClick` triggers an open link action. + "onClose": "A String", # Whether the client forgets about a link after opening it, or observes it until the window closes. Not supported by Chat apps. + "openAs": "A String", # How to open a link. Not supported by Chat apps. + "url": "A String", # The URL to open. + }, + }, + "text": "A String", # The text of the button. + }, + ], + }, + "dateTimePicker": { # The widget that lets users to specify a date and time. Not supported by Google Chat apps. # Displays a selection/input widget for date/time. For example, the following JSON creates a date/time picker for an appointment time: ``` "date_time_picker": { "name": "appointment_time", "label": "Book your appointment at:", "type": "DateTimePickerType.DATE_AND_TIME", "valueMsEpoch": "796435200000" } ``` + "label": "A String", # The label for the field that displays to the user. + "name": "A String", # The name of the text input that's used in `formInput`, and uniquely identifies this input. + "onChangeAction": { # An action that describes the behavior when the form is submitted. For example, an Apps Script can be invoked to handle the form. # Triggered when the user clicks Save or Clear from the date/time picker dialog. This is only triggered if the value changed as a result of the Save/Clear operation. + "function": "A String", # Apps Script function to invoke when the containing element is clicked/activated. + "loadIndicator": "A String", # Specifies the loading indicator that the action displays while making the call to the action. + "parameters": [ # List of action parameters. + { # List of string parameters to supply when the action method is invoked. For example, consider three snooze buttons: snooze now, snooze 1 day, snooze next week. You might use action method = snooze(), passing the snooze type and snooze time in the list of string parameters. + "key": "A String", # The name of the parameter for the action script. + "value": "A String", # The value of the parameter. + }, + ], + "persistValues": True or False, # Indicates whether form values persist after the action. The default value is `false`. If `true`, form values remain after the action is triggered. When using [LoadIndicator.NONE](workspace/add-ons/reference/rpc/google.apps.card.v1#loadindicator) for actions, `persist_values` = `true`is recommended, as it ensures that any changes made by the user after form or on change actions are sent to the server are not overwritten by the response. If `false`, the form values are cleared when the action is triggered. When `persist_values` is set to `false`, it is strongly recommended that the card use [LoadIndicator.SPINNER](workspace/add-ons/reference/rpc/google.apps.card.v1#loadindicator) for all actions, as this locks the UI to ensure no changes are made by the user while the action is being processed. Not supported by Google Chat apps. + }, + "timezoneOffsetDate": 42, # The number representing the time zone offset from UTC, in minutes. If set, the `value_ms_epoch` is displayed in the specified time zone. If not set, it uses the user's time zone setting on the client side. + "type": "A String", # The type of the date/time picker. + "valueMsEpoch": "A String", # The value to display as the default value before user input or previous user input. It is represented in milliseconds (Epoch time). For `DATE_AND_TIME` type, the full epoch value is used. For `DATE_ONLY` type, only date of the epoch time is used. For `TIME_ONLY` type, only time of the epoch time is used. For example, you can set epoch time to `3 * 60 * 60 * 1000` to represent 3am. + }, + "decoratedText": { # A widget that displays text with optional decorations such as a label above or below the text, an icon in front of the text, a selection widget or a button after the text. # Displays a decorated text item in this widget. For example, the following JSON creates a decorated text widget showing email address: ``` "decoratedText": { "icon": { "knownIcon": "EMAIL" }, "topLabel": "Email Address", "content": "sasha@example.com", "bottomLabel": "This is a new Email address!", "switchWidget": { "name": "has_send_welcome_email_to_sasha", "selected": false, "controlType": "ControlType.CHECKBOX" } } ``` + "bottomLabel": "A String", # The formatted text label that shows below the main text. + "button": { # A button. Can be a text button or an image button. # A button that can be clicked to trigger an action. + "altText": "A String", # The alternative text used for accessibility. Has no effect when an icon is set; use `icon.alt_text` instead. + "color": { # Represents a color in the RGBA color space. This representation is designed for simplicity of conversion to/from color representations in various languages over compactness. For example, the fields of this representation can be trivially provided to the constructor of `java.awt.Color` in Java; it can also be trivially provided to UIColor's `+colorWithRed:green:blue:alpha` method in iOS; and, with just a little work, it can be easily formatted into a CSS `rgba()` string in JavaScript. This reference page doesn't carry information about the absolute color space that should be used to interpret the RGB value (e.g. sRGB, Adobe RGB, DCI-P3, BT.2020, etc.). By default, applications should assume the sRGB color space. When color equality needs to be decided, implementations, unless documented otherwise, treat two colors as equal if all their red, green, blue, and alpha values each differ by at most 1e-5. Example (Java): import com.google.type.Color; // ... public static java.awt.Color fromProto(Color protocolor) { float alpha = protocolor.hasAlpha() ? protocolor.getAlpha().getValue() : 1.0; return new java.awt.Color( protocolor.getRed(), protocolor.getGreen(), protocolor.getBlue(), alpha); } public static Color toProto(java.awt.Color color) { float red = (float) color.getRed(); float green = (float) color.getGreen(); float blue = (float) color.getBlue(); float denominator = 255.0; Color.Builder resultBuilder = Color .newBuilder() .setRed(red / denominator) .setGreen(green / denominator) .setBlue(blue / denominator); int alpha = color.getAlpha(); if (alpha != 255) { result.setAlpha( FloatValue .newBuilder() .setValue(((float) alpha) / denominator) .build()); } return resultBuilder.build(); } // ... Example (iOS / Obj-C): // ... static UIColor* fromProto(Color* protocolor) { float red = [protocolor red]; float green = [protocolor green]; float blue = [protocolor blue]; FloatValue* alpha_wrapper = [protocolor alpha]; float alpha = 1.0; if (alpha_wrapper != nil) { alpha = [alpha_wrapper value]; } return [UIColor colorWithRed:red green:green blue:blue alpha:alpha]; } static Color* toProto(UIColor* color) { CGFloat red, green, blue, alpha; if (![color getRed:&red green:&green blue:&blue alpha:&alpha]) { return nil; } Color* result = [[Color alloc] init]; [result setRed:red]; [result setGreen:green]; [result setBlue:blue]; if (alpha <= 0.9999) { [result setAlpha:floatWrapperWithValue(alpha)]; } [result autorelease]; return result; } // ... Example (JavaScript): // ... var protoToCssColor = function(rgb_color) { var redFrac = rgb_color.red || 0.0; var greenFrac = rgb_color.green || 0.0; var blueFrac = rgb_color.blue || 0.0; var red = Math.floor(redFrac * 255); var green = Math.floor(greenFrac * 255); var blue = Math.floor(blueFrac * 255); if (!('alpha' in rgb_color)) { return rgbToCssColor(red, green, blue); } var alphaFrac = rgb_color.alpha.value || 0.0; var rgbParams = [red, green, blue].join(','); return ['rgba(', rgbParams, ',', alphaFrac, ')'].join(''); }; var rgbToCssColor = function(red, green, blue) { var rgbNumber = new Number((red << 16) | (green << 8) | blue); var hexString = rgbNumber.toString(16); var missingZeros = 6 - hexString.length; var resultBuilder = ['#']; for (var i = 0; i < missingZeros; i++) { resultBuilder.push('0'); } resultBuilder.push(hexString); return resultBuilder.join(''); }; // ... # If set, the button is filled with a solid background. + "alpha": 3.14, # The fraction of this color that should be applied to the pixel. That is, the final pixel color is defined by the equation: `pixel color = alpha * (this color) + (1.0 - alpha) * (background color)` This means that a value of 1.0 corresponds to a solid color, whereas a value of 0.0 corresponds to a completely transparent color. This uses a wrapper message rather than a simple float scalar so that it is possible to distinguish between a default value and the value being unset. If omitted, this color object is rendered as a solid color (as if the alpha value had been explicitly given a value of 1.0). + "blue": 3.14, # The amount of blue in the color as a value in the interval [0, 1]. + "green": 3.14, # The amount of green in the color as a value in the interval [0, 1]. + "red": 3.14, # The amount of red in the color as a value in the interval [0, 1]. + }, + "disabled": True or False, # If `true`, the button is displayed in a disabled state and doesn't respond to user actions. + "icon": { # The icon image. + "altText": "A String", # The description of the icon, used for accessibility. The default value is provided if you don't specify one. + "iconUrl": "A String", # The icon specified by a URL. + "imageType": "A String", # The crop style applied to the image. In some cases, applying a `CIRCLE` crop causes the image to be drawn larger than a standard icon. + "knownIcon": "A String", # The icon specified by the string name of a list of known icons. + }, + "onClick": { # Represents the response to an `onClick` event. # The action to perform when the button is clicked. + "action": { # An action that describes the behavior when the form is submitted. For example, an Apps Script can be invoked to handle the form. # If specified, an action is triggered by this `onClick`. + "function": "A String", # Apps Script function to invoke when the containing element is clicked/activated. + "loadIndicator": "A String", # Specifies the loading indicator that the action displays while making the call to the action. + "parameters": [ # List of action parameters. + { # List of string parameters to supply when the action method is invoked. For example, consider three snooze buttons: snooze now, snooze 1 day, snooze next week. You might use action method = snooze(), passing the snooze type and snooze time in the list of string parameters. + "key": "A String", # The name of the parameter for the action script. + "value": "A String", # The value of the parameter. + }, + ], + "persistValues": True or False, # Indicates whether form values persist after the action. The default value is `false`. If `true`, form values remain after the action is triggered. When using [LoadIndicator.NONE](workspace/add-ons/reference/rpc/google.apps.card.v1#loadindicator) for actions, `persist_values` = `true`is recommended, as it ensures that any changes made by the user after form or on change actions are sent to the server are not overwritten by the response. If `false`, the form values are cleared when the action is triggered. When `persist_values` is set to `false`, it is strongly recommended that the card use [LoadIndicator.SPINNER](workspace/add-ons/reference/rpc/google.apps.card.v1#loadindicator) for all actions, as this locks the UI to ensure no changes are made by the user while the action is being processed. Not supported by Google Chat apps. + }, + "card": # Object with schema name: GoogleAppsCardV1Card # A new card is pushed to the card stack after clicking if specified. + "openDynamicLinkAction": { # An action that describes the behavior when the form is submitted. For example, an Apps Script can be invoked to handle the form. # An add-on triggers this action when the action needs to open a link. This differs from the `open_link` above in that this needs to talk to server to get the link. Thus some preparation work is required for web client to do before the open link action response comes back. + "function": "A String", # Apps Script function to invoke when the containing element is clicked/activated. + "loadIndicator": "A String", # Specifies the loading indicator that the action displays while making the call to the action. + "parameters": [ # List of action parameters. + { # List of string parameters to supply when the action method is invoked. For example, consider three snooze buttons: snooze now, snooze 1 day, snooze next week. You might use action method = snooze(), passing the snooze type and snooze time in the list of string parameters. + "key": "A String", # The name of the parameter for the action script. + "value": "A String", # The value of the parameter. + }, + ], + "persistValues": True or False, # Indicates whether form values persist after the action. The default value is `false`. If `true`, form values remain after the action is triggered. When using [LoadIndicator.NONE](workspace/add-ons/reference/rpc/google.apps.card.v1#loadindicator) for actions, `persist_values` = `true`is recommended, as it ensures that any changes made by the user after form or on change actions are sent to the server are not overwritten by the response. If `false`, the form values are cleared when the action is triggered. When `persist_values` is set to `false`, it is strongly recommended that the card use [LoadIndicator.SPINNER](workspace/add-ons/reference/rpc/google.apps.card.v1#loadindicator) for all actions, as this locks the UI to ensure no changes are made by the user while the action is being processed. Not supported by Google Chat apps. + }, + "openLink": { # Represents an `onClick` event that opens a hyperlink. # If specified, this `onClick` triggers an open link action. + "onClose": "A String", # Whether the client forgets about a link after opening it, or observes it until the window closes. Not supported by Chat apps. + "openAs": "A String", # How to open a link. Not supported by Chat apps. + "url": "A String", # The URL to open. + }, + }, + "text": "A String", # The text of the button. + }, + "endIcon": { # An icon displayed after the text. + "altText": "A String", # The description of the icon, used for accessibility. The default value is provided if you don't specify one. + "iconUrl": "A String", # The icon specified by a URL. + "imageType": "A String", # The crop style applied to the image. In some cases, applying a `CIRCLE` crop causes the image to be drawn larger than a standard icon. + "knownIcon": "A String", # The icon specified by the string name of a list of known icons. + }, + "icon": { # Deprecated in favor of start_icon. + "altText": "A String", # The description of the icon, used for accessibility. The default value is provided if you don't specify one. + "iconUrl": "A String", # The icon specified by a URL. + "imageType": "A String", # The crop style applied to the image. In some cases, applying a `CIRCLE` crop causes the image to be drawn larger than a standard icon. + "knownIcon": "A String", # The icon specified by the string name of a list of known icons. + }, + "onClick": { # Represents the response to an `onClick` event. # Only the top and bottom label and content region are clickable. + "action": { # An action that describes the behavior when the form is submitted. For example, an Apps Script can be invoked to handle the form. # If specified, an action is triggered by this `onClick`. + "function": "A String", # Apps Script function to invoke when the containing element is clicked/activated. + "loadIndicator": "A String", # Specifies the loading indicator that the action displays while making the call to the action. + "parameters": [ # List of action parameters. + { # List of string parameters to supply when the action method is invoked. For example, consider three snooze buttons: snooze now, snooze 1 day, snooze next week. You might use action method = snooze(), passing the snooze type and snooze time in the list of string parameters. + "key": "A String", # The name of the parameter for the action script. + "value": "A String", # The value of the parameter. + }, + ], + "persistValues": True or False, # Indicates whether form values persist after the action. The default value is `false`. If `true`, form values remain after the action is triggered. When using [LoadIndicator.NONE](workspace/add-ons/reference/rpc/google.apps.card.v1#loadindicator) for actions, `persist_values` = `true`is recommended, as it ensures that any changes made by the user after form or on change actions are sent to the server are not overwritten by the response. If `false`, the form values are cleared when the action is triggered. When `persist_values` is set to `false`, it is strongly recommended that the card use [LoadIndicator.SPINNER](workspace/add-ons/reference/rpc/google.apps.card.v1#loadindicator) for all actions, as this locks the UI to ensure no changes are made by the user while the action is being processed. Not supported by Google Chat apps. + }, + "card": # Object with schema name: GoogleAppsCardV1Card # A new card is pushed to the card stack after clicking if specified. + "openDynamicLinkAction": { # An action that describes the behavior when the form is submitted. For example, an Apps Script can be invoked to handle the form. # An add-on triggers this action when the action needs to open a link. This differs from the `open_link` above in that this needs to talk to server to get the link. Thus some preparation work is required for web client to do before the open link action response comes back. + "function": "A String", # Apps Script function to invoke when the containing element is clicked/activated. + "loadIndicator": "A String", # Specifies the loading indicator that the action displays while making the call to the action. + "parameters": [ # List of action parameters. + { # List of string parameters to supply when the action method is invoked. For example, consider three snooze buttons: snooze now, snooze 1 day, snooze next week. You might use action method = snooze(), passing the snooze type and snooze time in the list of string parameters. + "key": "A String", # The name of the parameter for the action script. + "value": "A String", # The value of the parameter. + }, + ], + "persistValues": True or False, # Indicates whether form values persist after the action. The default value is `false`. If `true`, form values remain after the action is triggered. When using [LoadIndicator.NONE](workspace/add-ons/reference/rpc/google.apps.card.v1#loadindicator) for actions, `persist_values` = `true`is recommended, as it ensures that any changes made by the user after form or on change actions are sent to the server are not overwritten by the response. If `false`, the form values are cleared when the action is triggered. When `persist_values` is set to `false`, it is strongly recommended that the card use [LoadIndicator.SPINNER](workspace/add-ons/reference/rpc/google.apps.card.v1#loadindicator) for all actions, as this locks the UI to ensure no changes are made by the user while the action is being processed. Not supported by Google Chat apps. + }, + "openLink": { # Represents an `onClick` event that opens a hyperlink. # If specified, this `onClick` triggers an open link action. + "onClose": "A String", # Whether the client forgets about a link after opening it, or observes it until the window closes. Not supported by Chat apps. + "openAs": "A String", # How to open a link. Not supported by Chat apps. + "url": "A String", # The URL to open. + }, + }, + "startIcon": { # The icon displayed in front of the text. + "altText": "A String", # The description of the icon, used for accessibility. The default value is provided if you don't specify one. + "iconUrl": "A String", # The icon specified by a URL. + "imageType": "A String", # The crop style applied to the image. In some cases, applying a `CIRCLE` crop causes the image to be drawn larger than a standard icon. + "knownIcon": "A String", # The icon specified by the string name of a list of known icons. + }, + "switchControl": { # Either a toggle-style switch or a checkbox. # A switch widget can be clicked to change its state or trigger an action. + "controlType": "A String", # The control type, either switch or checkbox. + "name": "A String", # The name of the switch widget that's used in `formInput`. + "onChangeAction": { # An action that describes the behavior when the form is submitted. For example, an Apps Script can be invoked to handle the form. # The action when the switch state is changed. + "function": "A String", # Apps Script function to invoke when the containing element is clicked/activated. + "loadIndicator": "A String", # Specifies the loading indicator that the action displays while making the call to the action. + "parameters": [ # List of action parameters. + { # List of string parameters to supply when the action method is invoked. For example, consider three snooze buttons: snooze now, snooze 1 day, snooze next week. You might use action method = snooze(), passing the snooze type and snooze time in the list of string parameters. + "key": "A String", # The name of the parameter for the action script. + "value": "A String", # The value of the parameter. + }, + ], + "persistValues": True or False, # Indicates whether form values persist after the action. The default value is `false`. If `true`, form values remain after the action is triggered. When using [LoadIndicator.NONE](workspace/add-ons/reference/rpc/google.apps.card.v1#loadindicator) for actions, `persist_values` = `true`is recommended, as it ensures that any changes made by the user after form or on change actions are sent to the server are not overwritten by the response. If `false`, the form values are cleared when the action is triggered. When `persist_values` is set to `false`, it is strongly recommended that the card use [LoadIndicator.SPINNER](workspace/add-ons/reference/rpc/google.apps.card.v1#loadindicator) for all actions, as this locks the UI to ensure no changes are made by the user while the action is being processed. Not supported by Google Chat apps. + }, + "selected": True or False, # If the switch is selected. + "value": "A String", # The value is what is passed back in the callback. + }, + "text": "A String", # Required. The main widget formatted text. See Text formatting for details. + "topLabel": "A String", # The formatted text label that shows above the main text. + "wrapText": True or False, # The wrap text setting. If `true`, the text is wrapped and displayed in multiline. Otherwise, the text is truncated. + }, + "divider": { # A divider that appears in between widgets. # Displays a divider. For example, the following JSON creates a divider: ``` "divider": { } ``` + }, + "grid": { # Represents a Grid widget that displays items in a configurable grid layout. # Displays a grid with a collection of items. For example, the following JSON creates a 2 column grid with a single item: ``` "grid": { "title": "A fine collection of items", "numColumns": 2, "borderStyle": { "type": "STROKE", "cornerRadius": 4.0 }, "items": [ "image": { "imageUri": "https://www.example.com/image.png", "cropStyle": { "type": "SQUARE" }, "borderStyle": { "type": "STROKE" } }, "title": "An item", "textAlignment": "CENTER" ], "onClick": { "openLink": { "url":"https://www.example.com" } } } ``` + "borderStyle": { # Represents the complete border style applied to widgets. # The border style to apply to each grid item. + "cornerRadius": 42, # The corner radius for the border. + "strokeColor": { # Represents a color in the RGBA color space. This representation is designed for simplicity of conversion to/from color representations in various languages over compactness. For example, the fields of this representation can be trivially provided to the constructor of `java.awt.Color` in Java; it can also be trivially provided to UIColor's `+colorWithRed:green:blue:alpha` method in iOS; and, with just a little work, it can be easily formatted into a CSS `rgba()` string in JavaScript. This reference page doesn't carry information about the absolute color space that should be used to interpret the RGB value (e.g. sRGB, Adobe RGB, DCI-P3, BT.2020, etc.). By default, applications should assume the sRGB color space. When color equality needs to be decided, implementations, unless documented otherwise, treat two colors as equal if all their red, green, blue, and alpha values each differ by at most 1e-5. Example (Java): import com.google.type.Color; // ... public static java.awt.Color fromProto(Color protocolor) { float alpha = protocolor.hasAlpha() ? protocolor.getAlpha().getValue() : 1.0; return new java.awt.Color( protocolor.getRed(), protocolor.getGreen(), protocolor.getBlue(), alpha); } public static Color toProto(java.awt.Color color) { float red = (float) color.getRed(); float green = (float) color.getGreen(); float blue = (float) color.getBlue(); float denominator = 255.0; Color.Builder resultBuilder = Color .newBuilder() .setRed(red / denominator) .setGreen(green / denominator) .setBlue(blue / denominator); int alpha = color.getAlpha(); if (alpha != 255) { result.setAlpha( FloatValue .newBuilder() .setValue(((float) alpha) / denominator) .build()); } return resultBuilder.build(); } // ... Example (iOS / Obj-C): // ... static UIColor* fromProto(Color* protocolor) { float red = [protocolor red]; float green = [protocolor green]; float blue = [protocolor blue]; FloatValue* alpha_wrapper = [protocolor alpha]; float alpha = 1.0; if (alpha_wrapper != nil) { alpha = [alpha_wrapper value]; } return [UIColor colorWithRed:red green:green blue:blue alpha:alpha]; } static Color* toProto(UIColor* color) { CGFloat red, green, blue, alpha; if (![color getRed:&red green:&green blue:&blue alpha:&alpha]) { return nil; } Color* result = [[Color alloc] init]; [result setRed:red]; [result setGreen:green]; [result setBlue:blue]; if (alpha <= 0.9999) { [result setAlpha:floatWrapperWithValue(alpha)]; } [result autorelease]; return result; } // ... Example (JavaScript): // ... var protoToCssColor = function(rgb_color) { var redFrac = rgb_color.red || 0.0; var greenFrac = rgb_color.green || 0.0; var blueFrac = rgb_color.blue || 0.0; var red = Math.floor(redFrac * 255); var green = Math.floor(greenFrac * 255); var blue = Math.floor(blueFrac * 255); if (!('alpha' in rgb_color)) { return rgbToCssColor(red, green, blue); } var alphaFrac = rgb_color.alpha.value || 0.0; var rgbParams = [red, green, blue].join(','); return ['rgba(', rgbParams, ',', alphaFrac, ')'].join(''); }; var rgbToCssColor = function(red, green, blue) { var rgbNumber = new Number((red << 16) | (green << 8) | blue); var hexString = rgbNumber.toString(16); var missingZeros = 6 - hexString.length; var resultBuilder = ['#']; for (var i = 0; i < missingZeros; i++) { resultBuilder.push('0'); } resultBuilder.push(hexString); return resultBuilder.join(''); }; // ... # The colors to use when the type is `BORDER_TYPE_STROKE`. + "alpha": 3.14, # The fraction of this color that should be applied to the pixel. That is, the final pixel color is defined by the equation: `pixel color = alpha * (this color) + (1.0 - alpha) * (background color)` This means that a value of 1.0 corresponds to a solid color, whereas a value of 0.0 corresponds to a completely transparent color. This uses a wrapper message rather than a simple float scalar so that it is possible to distinguish between a default value and the value being unset. If omitted, this color object is rendered as a solid color (as if the alpha value had been explicitly given a value of 1.0). + "blue": 3.14, # The amount of blue in the color as a value in the interval [0, 1]. + "green": 3.14, # The amount of green in the color as a value in the interval [0, 1]. + "red": 3.14, # The amount of red in the color as a value in the interval [0, 1]. + }, + "type": "A String", # The border type. + }, + "columnCount": 42, # The number of columns to display in the grid. A default value is used if this field isn't specified, and that default value is different depending on where the grid is shown (dialog versus companion). + "items": [ # The items to display in the grid. + { # Represents a single item in the grid layout. + "id": "A String", # A user-specified identifier for this grid item. This identifier is returned in the parent Grid's onClick callback parameters. + "image": { # Represents an image. # The image that displays in the grid item. + "altText": "A String", # The accessibility label for the image. + "borderStyle": { # Represents the complete border style applied to widgets. # The border style to apply to the image. + "cornerRadius": 42, # The corner radius for the border. + "strokeColor": { # Represents a color in the RGBA color space. This representation is designed for simplicity of conversion to/from color representations in various languages over compactness. For example, the fields of this representation can be trivially provided to the constructor of `java.awt.Color` in Java; it can also be trivially provided to UIColor's `+colorWithRed:green:blue:alpha` method in iOS; and, with just a little work, it can be easily formatted into a CSS `rgba()` string in JavaScript. This reference page doesn't carry information about the absolute color space that should be used to interpret the RGB value (e.g. sRGB, Adobe RGB, DCI-P3, BT.2020, etc.). By default, applications should assume the sRGB color space. When color equality needs to be decided, implementations, unless documented otherwise, treat two colors as equal if all their red, green, blue, and alpha values each differ by at most 1e-5. Example (Java): import com.google.type.Color; // ... public static java.awt.Color fromProto(Color protocolor) { float alpha = protocolor.hasAlpha() ? protocolor.getAlpha().getValue() : 1.0; return new java.awt.Color( protocolor.getRed(), protocolor.getGreen(), protocolor.getBlue(), alpha); } public static Color toProto(java.awt.Color color) { float red = (float) color.getRed(); float green = (float) color.getGreen(); float blue = (float) color.getBlue(); float denominator = 255.0; Color.Builder resultBuilder = Color .newBuilder() .setRed(red / denominator) .setGreen(green / denominator) .setBlue(blue / denominator); int alpha = color.getAlpha(); if (alpha != 255) { result.setAlpha( FloatValue .newBuilder() .setValue(((float) alpha) / denominator) .build()); } return resultBuilder.build(); } // ... Example (iOS / Obj-C): // ... static UIColor* fromProto(Color* protocolor) { float red = [protocolor red]; float green = [protocolor green]; float blue = [protocolor blue]; FloatValue* alpha_wrapper = [protocolor alpha]; float alpha = 1.0; if (alpha_wrapper != nil) { alpha = [alpha_wrapper value]; } return [UIColor colorWithRed:red green:green blue:blue alpha:alpha]; } static Color* toProto(UIColor* color) { CGFloat red, green, blue, alpha; if (![color getRed:&red green:&green blue:&blue alpha:&alpha]) { return nil; } Color* result = [[Color alloc] init]; [result setRed:red]; [result setGreen:green]; [result setBlue:blue]; if (alpha <= 0.9999) { [result setAlpha:floatWrapperWithValue(alpha)]; } [result autorelease]; return result; } // ... Example (JavaScript): // ... var protoToCssColor = function(rgb_color) { var redFrac = rgb_color.red || 0.0; var greenFrac = rgb_color.green || 0.0; var blueFrac = rgb_color.blue || 0.0; var red = Math.floor(redFrac * 255); var green = Math.floor(greenFrac * 255); var blue = Math.floor(blueFrac * 255); if (!('alpha' in rgb_color)) { return rgbToCssColor(red, green, blue); } var alphaFrac = rgb_color.alpha.value || 0.0; var rgbParams = [red, green, blue].join(','); return ['rgba(', rgbParams, ',', alphaFrac, ')'].join(''); }; var rgbToCssColor = function(red, green, blue) { var rgbNumber = new Number((red << 16) | (green << 8) | blue); var hexString = rgbNumber.toString(16); var missingZeros = 6 - hexString.length; var resultBuilder = ['#']; for (var i = 0; i < missingZeros; i++) { resultBuilder.push('0'); } resultBuilder.push(hexString); return resultBuilder.join(''); }; // ... # The colors to use when the type is `BORDER_TYPE_STROKE`. + "alpha": 3.14, # The fraction of this color that should be applied to the pixel. That is, the final pixel color is defined by the equation: `pixel color = alpha * (this color) + (1.0 - alpha) * (background color)` This means that a value of 1.0 corresponds to a solid color, whereas a value of 0.0 corresponds to a completely transparent color. This uses a wrapper message rather than a simple float scalar so that it is possible to distinguish between a default value and the value being unset. If omitted, this color object is rendered as a solid color (as if the alpha value had been explicitly given a value of 1.0). + "blue": 3.14, # The amount of blue in the color as a value in the interval [0, 1]. + "green": 3.14, # The amount of green in the color as a value in the interval [0, 1]. + "red": 3.14, # The amount of red in the color as a value in the interval [0, 1]. + }, + "type": "A String", # The border type. + }, + "cropStyle": { # Represents the crop style applied to an image. # The crop style to apply to the image. + "aspectRatio": 3.14, # The aspect ratio to use if the crop type is `RECTANGLE_CUSTOM`. + "type": "A String", # The crop type. + }, + "imageUri": "A String", # The image URL. + }, + "layout": "A String", # The layout to use for the grid item. + "subtitle": "A String", # The grid item's subtitle. + "textAlignment": "A String", # The horizontal alignment of the grid item's text. + "title": "A String", # The grid item's title. + }, + ], + "onClick": { # Represents the response to an `onClick` event. # This callback is reused by each individual grid item, but with the item's identifier and index in the items list added to the callback's parameters. + "action": { # An action that describes the behavior when the form is submitted. For example, an Apps Script can be invoked to handle the form. # If specified, an action is triggered by this `onClick`. + "function": "A String", # Apps Script function to invoke when the containing element is clicked/activated. + "loadIndicator": "A String", # Specifies the loading indicator that the action displays while making the call to the action. + "parameters": [ # List of action parameters. + { # List of string parameters to supply when the action method is invoked. For example, consider three snooze buttons: snooze now, snooze 1 day, snooze next week. You might use action method = snooze(), passing the snooze type and snooze time in the list of string parameters. + "key": "A String", # The name of the parameter for the action script. + "value": "A String", # The value of the parameter. + }, + ], + "persistValues": True or False, # Indicates whether form values persist after the action. The default value is `false`. If `true`, form values remain after the action is triggered. When using [LoadIndicator.NONE](workspace/add-ons/reference/rpc/google.apps.card.v1#loadindicator) for actions, `persist_values` = `true`is recommended, as it ensures that any changes made by the user after form or on change actions are sent to the server are not overwritten by the response. If `false`, the form values are cleared when the action is triggered. When `persist_values` is set to `false`, it is strongly recommended that the card use [LoadIndicator.SPINNER](workspace/add-ons/reference/rpc/google.apps.card.v1#loadindicator) for all actions, as this locks the UI to ensure no changes are made by the user while the action is being processed. Not supported by Google Chat apps. + }, + "card": # Object with schema name: GoogleAppsCardV1Card # A new card is pushed to the card stack after clicking if specified. + "openDynamicLinkAction": { # An action that describes the behavior when the form is submitted. For example, an Apps Script can be invoked to handle the form. # An add-on triggers this action when the action needs to open a link. This differs from the `open_link` above in that this needs to talk to server to get the link. Thus some preparation work is required for web client to do before the open link action response comes back. + "function": "A String", # Apps Script function to invoke when the containing element is clicked/activated. + "loadIndicator": "A String", # Specifies the loading indicator that the action displays while making the call to the action. + "parameters": [ # List of action parameters. + { # List of string parameters to supply when the action method is invoked. For example, consider three snooze buttons: snooze now, snooze 1 day, snooze next week. You might use action method = snooze(), passing the snooze type and snooze time in the list of string parameters. + "key": "A String", # The name of the parameter for the action script. + "value": "A String", # The value of the parameter. + }, + ], + "persistValues": True or False, # Indicates whether form values persist after the action. The default value is `false`. If `true`, form values remain after the action is triggered. When using [LoadIndicator.NONE](workspace/add-ons/reference/rpc/google.apps.card.v1#loadindicator) for actions, `persist_values` = `true`is recommended, as it ensures that any changes made by the user after form or on change actions are sent to the server are not overwritten by the response. If `false`, the form values are cleared when the action is triggered. When `persist_values` is set to `false`, it is strongly recommended that the card use [LoadIndicator.SPINNER](workspace/add-ons/reference/rpc/google.apps.card.v1#loadindicator) for all actions, as this locks the UI to ensure no changes are made by the user while the action is being processed. Not supported by Google Chat apps. + }, + "openLink": { # Represents an `onClick` event that opens a hyperlink. # If specified, this `onClick` triggers an open link action. + "onClose": "A String", # Whether the client forgets about a link after opening it, or observes it until the window closes. Not supported by Chat apps. + "openAs": "A String", # How to open a link. Not supported by Chat apps. + "url": "A String", # The URL to open. + }, + }, + "title": "A String", # The text that displays in the grid header. + }, + "horizontalAlignment": "A String", # The horizontal alignment of this widget. + "image": { # An image that is specified by a URL and can have an `onClick` action. # Displays an image in this widget. For example, the following JSON creates an image with alternative text: ``` "image": { "imageUrl": "https://example.com/sasha.png" "altText": "Avatar for Sasha" } ``` + "altText": "A String", # The alternative text of this image, used for accessibility. + "imageUrl": "A String", # An image URL. + "onClick": { # Represents the response to an `onClick` event. # The action triggered by an `onClick` event. + "action": { # An action that describes the behavior when the form is submitted. For example, an Apps Script can be invoked to handle the form. # If specified, an action is triggered by this `onClick`. + "function": "A String", # Apps Script function to invoke when the containing element is clicked/activated. + "loadIndicator": "A String", # Specifies the loading indicator that the action displays while making the call to the action. + "parameters": [ # List of action parameters. + { # List of string parameters to supply when the action method is invoked. For example, consider three snooze buttons: snooze now, snooze 1 day, snooze next week. You might use action method = snooze(), passing the snooze type and snooze time in the list of string parameters. + "key": "A String", # The name of the parameter for the action script. + "value": "A String", # The value of the parameter. + }, + ], + "persistValues": True or False, # Indicates whether form values persist after the action. The default value is `false`. If `true`, form values remain after the action is triggered. When using [LoadIndicator.NONE](workspace/add-ons/reference/rpc/google.apps.card.v1#loadindicator) for actions, `persist_values` = `true`is recommended, as it ensures that any changes made by the user after form or on change actions are sent to the server are not overwritten by the response. If `false`, the form values are cleared when the action is triggered. When `persist_values` is set to `false`, it is strongly recommended that the card use [LoadIndicator.SPINNER](workspace/add-ons/reference/rpc/google.apps.card.v1#loadindicator) for all actions, as this locks the UI to ensure no changes are made by the user while the action is being processed. Not supported by Google Chat apps. + }, + "card": # Object with schema name: GoogleAppsCardV1Card # A new card is pushed to the card stack after clicking if specified. + "openDynamicLinkAction": { # An action that describes the behavior when the form is submitted. For example, an Apps Script can be invoked to handle the form. # An add-on triggers this action when the action needs to open a link. This differs from the `open_link` above in that this needs to talk to server to get the link. Thus some preparation work is required for web client to do before the open link action response comes back. + "function": "A String", # Apps Script function to invoke when the containing element is clicked/activated. + "loadIndicator": "A String", # Specifies the loading indicator that the action displays while making the call to the action. + "parameters": [ # List of action parameters. + { # List of string parameters to supply when the action method is invoked. For example, consider three snooze buttons: snooze now, snooze 1 day, snooze next week. You might use action method = snooze(), passing the snooze type and snooze time in the list of string parameters. + "key": "A String", # The name of the parameter for the action script. + "value": "A String", # The value of the parameter. + }, + ], + "persistValues": True or False, # Indicates whether form values persist after the action. The default value is `false`. If `true`, form values remain after the action is triggered. When using [LoadIndicator.NONE](workspace/add-ons/reference/rpc/google.apps.card.v1#loadindicator) for actions, `persist_values` = `true`is recommended, as it ensures that any changes made by the user after form or on change actions are sent to the server are not overwritten by the response. If `false`, the form values are cleared when the action is triggered. When `persist_values` is set to `false`, it is strongly recommended that the card use [LoadIndicator.SPINNER](workspace/add-ons/reference/rpc/google.apps.card.v1#loadindicator) for all actions, as this locks the UI to ensure no changes are made by the user while the action is being processed. Not supported by Google Chat apps. + }, + "openLink": { # Represents an `onClick` event that opens a hyperlink. # If specified, this `onClick` triggers an open link action. + "onClose": "A String", # Whether the client forgets about a link after opening it, or observes it until the window closes. Not supported by Chat apps. + "openAs": "A String", # How to open a link. Not supported by Chat apps. + "url": "A String", # The URL to open. + }, + }, + }, + "selectionInput": { # A widget that creates a UI item with options for users to select. For example, a dropdown menu. # Displays a switch control in this widget. For example, the following JSON creates a dropdown selection for size: ``` "switchControl": { "name": "size", "label": "Size" "type": "SelectionType.DROPDOWN", "items": [ { "text": "S", "value": "small", "selected": false }, { "text": "M", "value": "medium", "selected": true }, { "text": "L", "value": "large", "selected": false }, { "text": "XL", "value": "extra_large", "selected": false } ] } ``` + "items": [ # An array of the selected items. + { # A selectable item in the switch control. + "selected": True or False, # If more than one item is selected for `RADIO_BUTTON` and `DROPDOWN`, the first selected item is treated as selected and the ones after are ignored. + "text": "A String", # The text to be displayed. + "value": "A String", # The value associated with this item. The client should use this as a form input value. + }, + ], + "label": "A String", # The label displayed ahead of the switch control. + "name": "A String", # The name of the text input which is used in `formInput`. + "onChangeAction": { # An action that describes the behavior when the form is submitted. For example, an Apps Script can be invoked to handle the form. # If specified, the form is submitted when the selection changes. If not specified, you must specify a separate button. + "function": "A String", # Apps Script function to invoke when the containing element is clicked/activated. + "loadIndicator": "A String", # Specifies the loading indicator that the action displays while making the call to the action. + "parameters": [ # List of action parameters. + { # List of string parameters to supply when the action method is invoked. For example, consider three snooze buttons: snooze now, snooze 1 day, snooze next week. You might use action method = snooze(), passing the snooze type and snooze time in the list of string parameters. + "key": "A String", # The name of the parameter for the action script. + "value": "A String", # The value of the parameter. + }, + ], + "persistValues": True or False, # Indicates whether form values persist after the action. The default value is `false`. If `true`, form values remain after the action is triggered. When using [LoadIndicator.NONE](workspace/add-ons/reference/rpc/google.apps.card.v1#loadindicator) for actions, `persist_values` = `true`is recommended, as it ensures that any changes made by the user after form or on change actions are sent to the server are not overwritten by the response. If `false`, the form values are cleared when the action is triggered. When `persist_values` is set to `false`, it is strongly recommended that the card use [LoadIndicator.SPINNER](workspace/add-ons/reference/rpc/google.apps.card.v1#loadindicator) for all actions, as this locks the UI to ensure no changes are made by the user while the action is being processed. Not supported by Google Chat apps. + }, + "type": "A String", # The type of the selection. + }, + "textInput": { # A text input is a UI item where users can input text. A text input can also have an onChange action and suggestions. # Displays a text input in this widget. For example, the following JSON creates a text input for mail address: ``` "textInput": { "name": "mailing_address", "label": "Mailing Address" } ``` As another example, the following JSON creates a text input for programming language with static suggestions: ``` "textInput": { "name": "preferred_programing_language", "label": "Preferred Language", "initialSuggestions": { "items": [ { "text": "C++" }, { "text": "Java" }, { "text": "JavaScript" }, { "text": "Python" } ] } } ``` + "autoCompleteAction": { # An action that describes the behavior when the form is submitted. For example, an Apps Script can be invoked to handle the form. # The refresh function that returns suggestions based on the user's input text. If the callback is not specified, autocomplete is done in client side based on the initial suggestion items. + "function": "A String", # Apps Script function to invoke when the containing element is clicked/activated. + "loadIndicator": "A String", # Specifies the loading indicator that the action displays while making the call to the action. + "parameters": [ # List of action parameters. + { # List of string parameters to supply when the action method is invoked. For example, consider three snooze buttons: snooze now, snooze 1 day, snooze next week. You might use action method = snooze(), passing the snooze type and snooze time in the list of string parameters. + "key": "A String", # The name of the parameter for the action script. + "value": "A String", # The value of the parameter. + }, + ], + "persistValues": True or False, # Indicates whether form values persist after the action. The default value is `false`. If `true`, form values remain after the action is triggered. When using [LoadIndicator.NONE](workspace/add-ons/reference/rpc/google.apps.card.v1#loadindicator) for actions, `persist_values` = `true`is recommended, as it ensures that any changes made by the user after form or on change actions are sent to the server are not overwritten by the response. If `false`, the form values are cleared when the action is triggered. When `persist_values` is set to `false`, it is strongly recommended that the card use [LoadIndicator.SPINNER](workspace/add-ons/reference/rpc/google.apps.card.v1#loadindicator) for all actions, as this locks the UI to ensure no changes are made by the user while the action is being processed. Not supported by Google Chat apps. + }, + "hintText": "A String", # The hint text. + "initialSuggestions": { # A container wrapping elements necessary for showing suggestion items used in text input autocomplete. # The initial suggestions made before any user input. + "items": [ # A list of suggestions used for autocomplete recommendations. + { # A suggestion item. + "text": "A String", # The suggested autocomplete result. + }, + ], + }, + "label": "A String", # At least one of label and hintText must be specified. + "name": "A String", # The name of the text input which is used in `formInput`. + "onChangeAction": { # An action that describes the behavior when the form is submitted. For example, an Apps Script can be invoked to handle the form. # The onChange action, for example, invoke a function. + "function": "A String", # Apps Script function to invoke when the containing element is clicked/activated. + "loadIndicator": "A String", # Specifies the loading indicator that the action displays while making the call to the action. + "parameters": [ # List of action parameters. + { # List of string parameters to supply when the action method is invoked. For example, consider three snooze buttons: snooze now, snooze 1 day, snooze next week. You might use action method = snooze(), passing the snooze type and snooze time in the list of string parameters. + "key": "A String", # The name of the parameter for the action script. + "value": "A String", # The value of the parameter. + }, + ], + "persistValues": True or False, # Indicates whether form values persist after the action. The default value is `false`. If `true`, form values remain after the action is triggered. When using [LoadIndicator.NONE](workspace/add-ons/reference/rpc/google.apps.card.v1#loadindicator) for actions, `persist_values` = `true`is recommended, as it ensures that any changes made by the user after form or on change actions are sent to the server are not overwritten by the response. If `false`, the form values are cleared when the action is triggered. When `persist_values` is set to `false`, it is strongly recommended that the card use [LoadIndicator.SPINNER](workspace/add-ons/reference/rpc/google.apps.card.v1#loadindicator) for all actions, as this locks the UI to ensure no changes are made by the user while the action is being processed. Not supported by Google Chat apps. + }, + "type": "A String", # The style of the text, for example, a single line or multiple lines. + "value": "A String", # The default value when there is no input from the user. + }, + "textParagraph": { # A paragraph of text that supports formatting. See [Text formatting](workspace/add-ons/concepts/widgets#text_formatting) for details. # Displays a text paragraph in this widget. For example, the following JSON creates a bolded text: ``` "textParagraph": { "text": " *bold text*" } ``` + "text": "A String", # The text that's shown in the widget. + }, + }, + ], + }, + ], + }, + "cardId": "A String", # Required for `cardsV2` messages. Chat app-specified identifier for this widget. Scoped within a message. + }, + ], "createTime": "A String", # Output only. The time at which the message was created in Google Chat server. "fallbackText": "A String", # A plain-text description of the message's cards, used when the actual cards cannot be displayed (e.g. mobile notifications). "lastUpdateTime": "A String", # Output only. The time at which the message was last edited by a user. If the message has never been edited, this field is empty. @@ -853,8 +1375,12 @@

Method Details

"displayName": "A String", # The space's display name. For direct messages between humans, this field might be empty. "name": "A String", # Resource name of the space. Format: spaces/{space} "singleUserBotDm": True or False, # Output only. Whether the space is a DM between a Chat app and a single human. + "spaceDetails": { # Details about the space including description and rules. # Details about the space including description and rules. + "description": "A String", # Optional. A description of the space. It could describe the space's discussion topic, functional purpose, or participants. + "guidelines": "A String", # Optional. The space's rules, expectations, and etiquette. + }, "threaded": True or False, # Output only. Whether messages are threaded in this space. - "type": "A String", # Output only. Deprecated: Use `single_user_bot_dm` or `space_type` (developer preview) instead. The type of a space. + "type": "A String", # Output only. Deprecated: Use `singleUserBotDm` or `spaceType` (developer preview) instead. The type of a space. }, "text": "A String", # Plain-text body of the message. The first link to an image, video, web page, or other preview-able item generates a preview chip. "thread": { # A thread in Google Chat. # The thread the message belongs to. @@ -1609,6 +2135,528 @@

Method Details

], }, ], + "cardsV2": [ # Richly formatted and interactive cards that display UI elements and editable widgets, such as: - Formatted text - Buttons - Clickable images - Checkboxes - Radio buttons - Input widgets. Cards are usually displayed below the text-body of a Chat message, but can situationally appear other places, such as [dialogs](https://developers.google.com/chat/how-tos/dialogs). The `cardId` is a unique identifier among cards in the same message and for identifying user input values. Currently supported widgets include: - `TextParagraph` - `DecoratedText` - `Image` - `ButtonList` + { # Widgets for Chat apps to specify. + "card": { # A card is a UI element that can contain UI widgets such as text and images. For more information, see Cards . For example, the following JSON creates a card that has a header with the name, position, icons, and link for a contact, followed by a section with contact information like email and phone number. ``` { "header": { "title": "Sasha", "subtitle": "Software Engineer", "imageStyle": "ImageStyle.AVATAR", "imageUrl": "https://example.com/sasha.png", "imageAltText": "Avatar for Sasha" }, "sections" : [ { "header": "Contact Info", "widgets": [ { "decorated_text": { "icon": { "knownIcon": "EMAIL" }, "content": "sasha@example.com" } }, { "decoratedText": { "icon": { "knownIcon": "PERSON" }, "content": "Online" } }, { "decoratedText": { "icon": { "knownIcon": "PHONE" }, "content": "+1 (555) 555-1234" } }, { "buttons": [ { "textButton": { "text": "Share", }, "onClick": { "openLink": { "url": "https://example.com/share" } } }, { "textButton": { "text": "Edit", }, "onClick": { "action": { "function": "goToView", "parameters": [ { "key": "viewType", "value": "EDIT" } ], "loadIndicator": "LoadIndicator.SPINNER" } } } ] } ], "collapsible": true, "uncollapsibleWidgetsCount": 3 } ], "cardActions": [ { "actionLabel": "Send Feedback", "onClick": { "openLink": { "url": "https://example.com/feedback" } } } ], "name": "contact-card-K3wB6arF2H9L" } ``` # Card proto that allows Chat apps to specify UI elements and editable widgets. + "cardActions": [ # The card's actions. Actions are added to the card's generated toolbar menu. For example, the following JSON constructs a card action menu with Settings and Send Feedback options: ``` "card_actions": [ { "actionLabel": "Settings", "onClick": { "action": { "functionName": "goToView", "parameters": [ { "key": "viewType", "value": "SETTING" } ], "loadIndicator": "LoadIndicator.SPINNER" } } }, { "actionLabel": "Send Feedback", "onClick": { "openLink": { "url": "https://example.com/feedback" } } } ] ``` + { # A card action is the action associated with the card. For example, an invoice card might include actions such as delete invoice, email invoice, or open the invoice in a browser. + "actionLabel": "A String", # The label that displays as the action menu item. + "onClick": { # Represents the response to an `onClick` event. # The `onClick` action for this action item. + "action": { # An action that describes the behavior when the form is submitted. For example, an Apps Script can be invoked to handle the form. # If specified, an action is triggered by this `onClick`. + "function": "A String", # Apps Script function to invoke when the containing element is clicked/activated. + "loadIndicator": "A String", # Specifies the loading indicator that the action displays while making the call to the action. + "parameters": [ # List of action parameters. + { # List of string parameters to supply when the action method is invoked. For example, consider three snooze buttons: snooze now, snooze 1 day, snooze next week. You might use action method = snooze(), passing the snooze type and snooze time in the list of string parameters. + "key": "A String", # The name of the parameter for the action script. + "value": "A String", # The value of the parameter. + }, + ], + "persistValues": True or False, # Indicates whether form values persist after the action. The default value is `false`. If `true`, form values remain after the action is triggered. When using [LoadIndicator.NONE](workspace/add-ons/reference/rpc/google.apps.card.v1#loadindicator) for actions, `persist_values` = `true`is recommended, as it ensures that any changes made by the user after form or on change actions are sent to the server are not overwritten by the response. If `false`, the form values are cleared when the action is triggered. When `persist_values` is set to `false`, it is strongly recommended that the card use [LoadIndicator.SPINNER](workspace/add-ons/reference/rpc/google.apps.card.v1#loadindicator) for all actions, as this locks the UI to ensure no changes are made by the user while the action is being processed. Not supported by Google Chat apps. + }, + "card": # Object with schema name: GoogleAppsCardV1Card # A new card is pushed to the card stack after clicking if specified. + "openDynamicLinkAction": { # An action that describes the behavior when the form is submitted. For example, an Apps Script can be invoked to handle the form. # An add-on triggers this action when the action needs to open a link. This differs from the `open_link` above in that this needs to talk to server to get the link. Thus some preparation work is required for web client to do before the open link action response comes back. + "function": "A String", # Apps Script function to invoke when the containing element is clicked/activated. + "loadIndicator": "A String", # Specifies the loading indicator that the action displays while making the call to the action. + "parameters": [ # List of action parameters. + { # List of string parameters to supply when the action method is invoked. For example, consider three snooze buttons: snooze now, snooze 1 day, snooze next week. You might use action method = snooze(), passing the snooze type and snooze time in the list of string parameters. + "key": "A String", # The name of the parameter for the action script. + "value": "A String", # The value of the parameter. + }, + ], + "persistValues": True or False, # Indicates whether form values persist after the action. The default value is `false`. If `true`, form values remain after the action is triggered. When using [LoadIndicator.NONE](workspace/add-ons/reference/rpc/google.apps.card.v1#loadindicator) for actions, `persist_values` = `true`is recommended, as it ensures that any changes made by the user after form or on change actions are sent to the server are not overwritten by the response. If `false`, the form values are cleared when the action is triggered. When `persist_values` is set to `false`, it is strongly recommended that the card use [LoadIndicator.SPINNER](workspace/add-ons/reference/rpc/google.apps.card.v1#loadindicator) for all actions, as this locks the UI to ensure no changes are made by the user while the action is being processed. Not supported by Google Chat apps. + }, + "openLink": { # Represents an `onClick` event that opens a hyperlink. # If specified, this `onClick` triggers an open link action. + "onClose": "A String", # Whether the client forgets about a link after opening it, or observes it until the window closes. Not supported by Chat apps. + "openAs": "A String", # How to open a link. Not supported by Chat apps. + "url": "A String", # The URL to open. + }, + }, + }, + ], + "displayStyle": "A String", # The `peekCardHeader` display style for. Not supported by Google Chat apps. + "fixedFooter": { # A persistent (sticky) footer that is added to the bottom of the card. # The fixed footer shown at the bottom of this card. + "primaryButton": { # A button. Can be a text button or an image button. # The primary button of the fixed footer. The button must be a text button with text and color set. + "altText": "A String", # The alternative text used for accessibility. Has no effect when an icon is set; use `icon.alt_text` instead. + "color": { # Represents a color in the RGBA color space. This representation is designed for simplicity of conversion to/from color representations in various languages over compactness. For example, the fields of this representation can be trivially provided to the constructor of `java.awt.Color` in Java; it can also be trivially provided to UIColor's `+colorWithRed:green:blue:alpha` method in iOS; and, with just a little work, it can be easily formatted into a CSS `rgba()` string in JavaScript. This reference page doesn't carry information about the absolute color space that should be used to interpret the RGB value (e.g. sRGB, Adobe RGB, DCI-P3, BT.2020, etc.). By default, applications should assume the sRGB color space. When color equality needs to be decided, implementations, unless documented otherwise, treat two colors as equal if all their red, green, blue, and alpha values each differ by at most 1e-5. Example (Java): import com.google.type.Color; // ... public static java.awt.Color fromProto(Color protocolor) { float alpha = protocolor.hasAlpha() ? protocolor.getAlpha().getValue() : 1.0; return new java.awt.Color( protocolor.getRed(), protocolor.getGreen(), protocolor.getBlue(), alpha); } public static Color toProto(java.awt.Color color) { float red = (float) color.getRed(); float green = (float) color.getGreen(); float blue = (float) color.getBlue(); float denominator = 255.0; Color.Builder resultBuilder = Color .newBuilder() .setRed(red / denominator) .setGreen(green / denominator) .setBlue(blue / denominator); int alpha = color.getAlpha(); if (alpha != 255) { result.setAlpha( FloatValue .newBuilder() .setValue(((float) alpha) / denominator) .build()); } return resultBuilder.build(); } // ... Example (iOS / Obj-C): // ... static UIColor* fromProto(Color* protocolor) { float red = [protocolor red]; float green = [protocolor green]; float blue = [protocolor blue]; FloatValue* alpha_wrapper = [protocolor alpha]; float alpha = 1.0; if (alpha_wrapper != nil) { alpha = [alpha_wrapper value]; } return [UIColor colorWithRed:red green:green blue:blue alpha:alpha]; } static Color* toProto(UIColor* color) { CGFloat red, green, blue, alpha; if (![color getRed:&red green:&green blue:&blue alpha:&alpha]) { return nil; } Color* result = [[Color alloc] init]; [result setRed:red]; [result setGreen:green]; [result setBlue:blue]; if (alpha <= 0.9999) { [result setAlpha:floatWrapperWithValue(alpha)]; } [result autorelease]; return result; } // ... Example (JavaScript): // ... var protoToCssColor = function(rgb_color) { var redFrac = rgb_color.red || 0.0; var greenFrac = rgb_color.green || 0.0; var blueFrac = rgb_color.blue || 0.0; var red = Math.floor(redFrac * 255); var green = Math.floor(greenFrac * 255); var blue = Math.floor(blueFrac * 255); if (!('alpha' in rgb_color)) { return rgbToCssColor(red, green, blue); } var alphaFrac = rgb_color.alpha.value || 0.0; var rgbParams = [red, green, blue].join(','); return ['rgba(', rgbParams, ',', alphaFrac, ')'].join(''); }; var rgbToCssColor = function(red, green, blue) { var rgbNumber = new Number((red << 16) | (green << 8) | blue); var hexString = rgbNumber.toString(16); var missingZeros = 6 - hexString.length; var resultBuilder = ['#']; for (var i = 0; i < missingZeros; i++) { resultBuilder.push('0'); } resultBuilder.push(hexString); return resultBuilder.join(''); }; // ... # If set, the button is filled with a solid background. + "alpha": 3.14, # The fraction of this color that should be applied to the pixel. That is, the final pixel color is defined by the equation: `pixel color = alpha * (this color) + (1.0 - alpha) * (background color)` This means that a value of 1.0 corresponds to a solid color, whereas a value of 0.0 corresponds to a completely transparent color. This uses a wrapper message rather than a simple float scalar so that it is possible to distinguish between a default value and the value being unset. If omitted, this color object is rendered as a solid color (as if the alpha value had been explicitly given a value of 1.0). + "blue": 3.14, # The amount of blue in the color as a value in the interval [0, 1]. + "green": 3.14, # The amount of green in the color as a value in the interval [0, 1]. + "red": 3.14, # The amount of red in the color as a value in the interval [0, 1]. + }, + "disabled": True or False, # If `true`, the button is displayed in a disabled state and doesn't respond to user actions. + "icon": { # The icon image. + "altText": "A String", # The description of the icon, used for accessibility. The default value is provided if you don't specify one. + "iconUrl": "A String", # The icon specified by a URL. + "imageType": "A String", # The crop style applied to the image. In some cases, applying a `CIRCLE` crop causes the image to be drawn larger than a standard icon. + "knownIcon": "A String", # The icon specified by the string name of a list of known icons. + }, + "onClick": { # Represents the response to an `onClick` event. # The action to perform when the button is clicked. + "action": { # An action that describes the behavior when the form is submitted. For example, an Apps Script can be invoked to handle the form. # If specified, an action is triggered by this `onClick`. + "function": "A String", # Apps Script function to invoke when the containing element is clicked/activated. + "loadIndicator": "A String", # Specifies the loading indicator that the action displays while making the call to the action. + "parameters": [ # List of action parameters. + { # List of string parameters to supply when the action method is invoked. For example, consider three snooze buttons: snooze now, snooze 1 day, snooze next week. You might use action method = snooze(), passing the snooze type and snooze time in the list of string parameters. + "key": "A String", # The name of the parameter for the action script. + "value": "A String", # The value of the parameter. + }, + ], + "persistValues": True or False, # Indicates whether form values persist after the action. The default value is `false`. If `true`, form values remain after the action is triggered. When using [LoadIndicator.NONE](workspace/add-ons/reference/rpc/google.apps.card.v1#loadindicator) for actions, `persist_values` = `true`is recommended, as it ensures that any changes made by the user after form or on change actions are sent to the server are not overwritten by the response. If `false`, the form values are cleared when the action is triggered. When `persist_values` is set to `false`, it is strongly recommended that the card use [LoadIndicator.SPINNER](workspace/add-ons/reference/rpc/google.apps.card.v1#loadindicator) for all actions, as this locks the UI to ensure no changes are made by the user while the action is being processed. Not supported by Google Chat apps. + }, + "card": # Object with schema name: GoogleAppsCardV1Card # A new card is pushed to the card stack after clicking if specified. + "openDynamicLinkAction": { # An action that describes the behavior when the form is submitted. For example, an Apps Script can be invoked to handle the form. # An add-on triggers this action when the action needs to open a link. This differs from the `open_link` above in that this needs to talk to server to get the link. Thus some preparation work is required for web client to do before the open link action response comes back. + "function": "A String", # Apps Script function to invoke when the containing element is clicked/activated. + "loadIndicator": "A String", # Specifies the loading indicator that the action displays while making the call to the action. + "parameters": [ # List of action parameters. + { # List of string parameters to supply when the action method is invoked. For example, consider three snooze buttons: snooze now, snooze 1 day, snooze next week. You might use action method = snooze(), passing the snooze type and snooze time in the list of string parameters. + "key": "A String", # The name of the parameter for the action script. + "value": "A String", # The value of the parameter. + }, + ], + "persistValues": True or False, # Indicates whether form values persist after the action. The default value is `false`. If `true`, form values remain after the action is triggered. When using [LoadIndicator.NONE](workspace/add-ons/reference/rpc/google.apps.card.v1#loadindicator) for actions, `persist_values` = `true`is recommended, as it ensures that any changes made by the user after form or on change actions are sent to the server are not overwritten by the response. If `false`, the form values are cleared when the action is triggered. When `persist_values` is set to `false`, it is strongly recommended that the card use [LoadIndicator.SPINNER](workspace/add-ons/reference/rpc/google.apps.card.v1#loadindicator) for all actions, as this locks the UI to ensure no changes are made by the user while the action is being processed. Not supported by Google Chat apps. + }, + "openLink": { # Represents an `onClick` event that opens a hyperlink. # If specified, this `onClick` triggers an open link action. + "onClose": "A String", # Whether the client forgets about a link after opening it, or observes it until the window closes. Not supported by Chat apps. + "openAs": "A String", # How to open a link. Not supported by Chat apps. + "url": "A String", # The URL to open. + }, + }, + "text": "A String", # The text of the button. + }, + "secondaryButton": { # A button. Can be a text button or an image button. # The secondary button of the fixed footer. The button must be a text button with text and color set. `primaryButton` must be set if `secondaryButton` is set. + "altText": "A String", # The alternative text used for accessibility. Has no effect when an icon is set; use `icon.alt_text` instead. + "color": { # Represents a color in the RGBA color space. This representation is designed for simplicity of conversion to/from color representations in various languages over compactness. For example, the fields of this representation can be trivially provided to the constructor of `java.awt.Color` in Java; it can also be trivially provided to UIColor's `+colorWithRed:green:blue:alpha` method in iOS; and, with just a little work, it can be easily formatted into a CSS `rgba()` string in JavaScript. This reference page doesn't carry information about the absolute color space that should be used to interpret the RGB value (e.g. sRGB, Adobe RGB, DCI-P3, BT.2020, etc.). By default, applications should assume the sRGB color space. When color equality needs to be decided, implementations, unless documented otherwise, treat two colors as equal if all their red, green, blue, and alpha values each differ by at most 1e-5. Example (Java): import com.google.type.Color; // ... public static java.awt.Color fromProto(Color protocolor) { float alpha = protocolor.hasAlpha() ? protocolor.getAlpha().getValue() : 1.0; return new java.awt.Color( protocolor.getRed(), protocolor.getGreen(), protocolor.getBlue(), alpha); } public static Color toProto(java.awt.Color color) { float red = (float) color.getRed(); float green = (float) color.getGreen(); float blue = (float) color.getBlue(); float denominator = 255.0; Color.Builder resultBuilder = Color .newBuilder() .setRed(red / denominator) .setGreen(green / denominator) .setBlue(blue / denominator); int alpha = color.getAlpha(); if (alpha != 255) { result.setAlpha( FloatValue .newBuilder() .setValue(((float) alpha) / denominator) .build()); } return resultBuilder.build(); } // ... Example (iOS / Obj-C): // ... static UIColor* fromProto(Color* protocolor) { float red = [protocolor red]; float green = [protocolor green]; float blue = [protocolor blue]; FloatValue* alpha_wrapper = [protocolor alpha]; float alpha = 1.0; if (alpha_wrapper != nil) { alpha = [alpha_wrapper value]; } return [UIColor colorWithRed:red green:green blue:blue alpha:alpha]; } static Color* toProto(UIColor* color) { CGFloat red, green, blue, alpha; if (![color getRed:&red green:&green blue:&blue alpha:&alpha]) { return nil; } Color* result = [[Color alloc] init]; [result setRed:red]; [result setGreen:green]; [result setBlue:blue]; if (alpha <= 0.9999) { [result setAlpha:floatWrapperWithValue(alpha)]; } [result autorelease]; return result; } // ... Example (JavaScript): // ... var protoToCssColor = function(rgb_color) { var redFrac = rgb_color.red || 0.0; var greenFrac = rgb_color.green || 0.0; var blueFrac = rgb_color.blue || 0.0; var red = Math.floor(redFrac * 255); var green = Math.floor(greenFrac * 255); var blue = Math.floor(blueFrac * 255); if (!('alpha' in rgb_color)) { return rgbToCssColor(red, green, blue); } var alphaFrac = rgb_color.alpha.value || 0.0; var rgbParams = [red, green, blue].join(','); return ['rgba(', rgbParams, ',', alphaFrac, ')'].join(''); }; var rgbToCssColor = function(red, green, blue) { var rgbNumber = new Number((red << 16) | (green << 8) | blue); var hexString = rgbNumber.toString(16); var missingZeros = 6 - hexString.length; var resultBuilder = ['#']; for (var i = 0; i < missingZeros; i++) { resultBuilder.push('0'); } resultBuilder.push(hexString); return resultBuilder.join(''); }; // ... # If set, the button is filled with a solid background. + "alpha": 3.14, # The fraction of this color that should be applied to the pixel. That is, the final pixel color is defined by the equation: `pixel color = alpha * (this color) + (1.0 - alpha) * (background color)` This means that a value of 1.0 corresponds to a solid color, whereas a value of 0.0 corresponds to a completely transparent color. This uses a wrapper message rather than a simple float scalar so that it is possible to distinguish between a default value and the value being unset. If omitted, this color object is rendered as a solid color (as if the alpha value had been explicitly given a value of 1.0). + "blue": 3.14, # The amount of blue in the color as a value in the interval [0, 1]. + "green": 3.14, # The amount of green in the color as a value in the interval [0, 1]. + "red": 3.14, # The amount of red in the color as a value in the interval [0, 1]. + }, + "disabled": True or False, # If `true`, the button is displayed in a disabled state and doesn't respond to user actions. + "icon": { # The icon image. + "altText": "A String", # The description of the icon, used for accessibility. The default value is provided if you don't specify one. + "iconUrl": "A String", # The icon specified by a URL. + "imageType": "A String", # The crop style applied to the image. In some cases, applying a `CIRCLE` crop causes the image to be drawn larger than a standard icon. + "knownIcon": "A String", # The icon specified by the string name of a list of known icons. + }, + "onClick": { # Represents the response to an `onClick` event. # The action to perform when the button is clicked. + "action": { # An action that describes the behavior when the form is submitted. For example, an Apps Script can be invoked to handle the form. # If specified, an action is triggered by this `onClick`. + "function": "A String", # Apps Script function to invoke when the containing element is clicked/activated. + "loadIndicator": "A String", # Specifies the loading indicator that the action displays while making the call to the action. + "parameters": [ # List of action parameters. + { # List of string parameters to supply when the action method is invoked. For example, consider three snooze buttons: snooze now, snooze 1 day, snooze next week. You might use action method = snooze(), passing the snooze type and snooze time in the list of string parameters. + "key": "A String", # The name of the parameter for the action script. + "value": "A String", # The value of the parameter. + }, + ], + "persistValues": True or False, # Indicates whether form values persist after the action. The default value is `false`. If `true`, form values remain after the action is triggered. When using [LoadIndicator.NONE](workspace/add-ons/reference/rpc/google.apps.card.v1#loadindicator) for actions, `persist_values` = `true`is recommended, as it ensures that any changes made by the user after form or on change actions are sent to the server are not overwritten by the response. If `false`, the form values are cleared when the action is triggered. When `persist_values` is set to `false`, it is strongly recommended that the card use [LoadIndicator.SPINNER](workspace/add-ons/reference/rpc/google.apps.card.v1#loadindicator) for all actions, as this locks the UI to ensure no changes are made by the user while the action is being processed. Not supported by Google Chat apps. + }, + "card": # Object with schema name: GoogleAppsCardV1Card # A new card is pushed to the card stack after clicking if specified. + "openDynamicLinkAction": { # An action that describes the behavior when the form is submitted. For example, an Apps Script can be invoked to handle the form. # An add-on triggers this action when the action needs to open a link. This differs from the `open_link` above in that this needs to talk to server to get the link. Thus some preparation work is required for web client to do before the open link action response comes back. + "function": "A String", # Apps Script function to invoke when the containing element is clicked/activated. + "loadIndicator": "A String", # Specifies the loading indicator that the action displays while making the call to the action. + "parameters": [ # List of action parameters. + { # List of string parameters to supply when the action method is invoked. For example, consider three snooze buttons: snooze now, snooze 1 day, snooze next week. You might use action method = snooze(), passing the snooze type and snooze time in the list of string parameters. + "key": "A String", # The name of the parameter for the action script. + "value": "A String", # The value of the parameter. + }, + ], + "persistValues": True or False, # Indicates whether form values persist after the action. The default value is `false`. If `true`, form values remain after the action is triggered. When using [LoadIndicator.NONE](workspace/add-ons/reference/rpc/google.apps.card.v1#loadindicator) for actions, `persist_values` = `true`is recommended, as it ensures that any changes made by the user after form or on change actions are sent to the server are not overwritten by the response. If `false`, the form values are cleared when the action is triggered. When `persist_values` is set to `false`, it is strongly recommended that the card use [LoadIndicator.SPINNER](workspace/add-ons/reference/rpc/google.apps.card.v1#loadindicator) for all actions, as this locks the UI to ensure no changes are made by the user while the action is being processed. Not supported by Google Chat apps. + }, + "openLink": { # Represents an `onClick` event that opens a hyperlink. # If specified, this `onClick` triggers an open link action. + "onClose": "A String", # Whether the client forgets about a link after opening it, or observes it until the window closes. Not supported by Chat apps. + "openAs": "A String", # How to open a link. Not supported by Chat apps. + "url": "A String", # The URL to open. + }, + }, + "text": "A String", # The text of the button. + }, + }, + "header": { # Represents a card header. # The header of the card. A header usually contains a title and an image. + "imageAltText": "A String", # The alternative text of this image which is used for accessibility. + "imageType": "A String", # The image's type. + "imageUrl": "A String", # The URL of the image in the card header. + "subtitle": "A String", # The subtitle of the card header. + "title": "A String", # Required. The title of the card header. The header has a fixed height: if both a title and subtitle are specified, each takes up one line. If only the title is specified, it takes up both lines. + }, + "name": "A String", # Name of the card. Used as a card identifier in card navigation. + "peekCardHeader": { # Represents a card header. # When displaying contextual content, the peek card header acts as a placeholder so that the user can navigate forward between the homepage cards and the contextual cards. Not supported by Google Chat apps. + "imageAltText": "A String", # The alternative text of this image which is used for accessibility. + "imageType": "A String", # The image's type. + "imageUrl": "A String", # The URL of the image in the card header. + "subtitle": "A String", # The subtitle of the card header. + "title": "A String", # Required. The title of the card header. The header has a fixed height: if both a title and subtitle are specified, each takes up one line. If only the title is specified, it takes up both lines. + }, + "sections": [ # Sections are separated by a line divider. + { # A section contains a collection of widgets that are rendered vertically in the order that they are specified. Across all platforms, cards have a narrow fixed width, so there is currently no need for layout properties, for example, float. + "collapsible": True or False, # Indicates whether this section is collapsible. If a section is collapsible, the description must be given. + "header": "A String", # The header of the section. Formatted text is supported. + "uncollapsibleWidgetsCount": 42, # The number of uncollapsible widgets. For example, when a section contains five widgets and the `uncollapsibleWidgetsCount` is set to `2`, the first two widgets are always shown and the last three are collapsed as default. The `uncollapsibleWidgetsCount` is taken into account only when `collapsible` is `true`. + "widgets": [ # A section must contain at least 1 widget. + { # A widget is a UI element that presents texts, images, etc. + "buttonList": { # A list of buttons layed out horizontally. # A list of buttons. For example, the following JSON creates two buttons. The first is a filled text button and the second is an image button that opens a link: ``` "buttonList": { "buttons": [ "button": { "text": "Edit", "Color": { "Red": 255 "Green": 255 "Blue": 255 } "disabled": true }, "button": { "icon": { "knownIcon": "INVITE" "altText": "check calendar" }, "onClick": { "openLink": { "url": "https://example.com/calendar" } } }, ] } ``` + "buttons": [ # An array of buttons. + { # A button. Can be a text button or an image button. + "altText": "A String", # The alternative text used for accessibility. Has no effect when an icon is set; use `icon.alt_text` instead. + "color": { # Represents a color in the RGBA color space. This representation is designed for simplicity of conversion to/from color representations in various languages over compactness. For example, the fields of this representation can be trivially provided to the constructor of `java.awt.Color` in Java; it can also be trivially provided to UIColor's `+colorWithRed:green:blue:alpha` method in iOS; and, with just a little work, it can be easily formatted into a CSS `rgba()` string in JavaScript. This reference page doesn't carry information about the absolute color space that should be used to interpret the RGB value (e.g. sRGB, Adobe RGB, DCI-P3, BT.2020, etc.). By default, applications should assume the sRGB color space. When color equality needs to be decided, implementations, unless documented otherwise, treat two colors as equal if all their red, green, blue, and alpha values each differ by at most 1e-5. Example (Java): import com.google.type.Color; // ... public static java.awt.Color fromProto(Color protocolor) { float alpha = protocolor.hasAlpha() ? protocolor.getAlpha().getValue() : 1.0; return new java.awt.Color( protocolor.getRed(), protocolor.getGreen(), protocolor.getBlue(), alpha); } public static Color toProto(java.awt.Color color) { float red = (float) color.getRed(); float green = (float) color.getGreen(); float blue = (float) color.getBlue(); float denominator = 255.0; Color.Builder resultBuilder = Color .newBuilder() .setRed(red / denominator) .setGreen(green / denominator) .setBlue(blue / denominator); int alpha = color.getAlpha(); if (alpha != 255) { result.setAlpha( FloatValue .newBuilder() .setValue(((float) alpha) / denominator) .build()); } return resultBuilder.build(); } // ... Example (iOS / Obj-C): // ... static UIColor* fromProto(Color* protocolor) { float red = [protocolor red]; float green = [protocolor green]; float blue = [protocolor blue]; FloatValue* alpha_wrapper = [protocolor alpha]; float alpha = 1.0; if (alpha_wrapper != nil) { alpha = [alpha_wrapper value]; } return [UIColor colorWithRed:red green:green blue:blue alpha:alpha]; } static Color* toProto(UIColor* color) { CGFloat red, green, blue, alpha; if (![color getRed:&red green:&green blue:&blue alpha:&alpha]) { return nil; } Color* result = [[Color alloc] init]; [result setRed:red]; [result setGreen:green]; [result setBlue:blue]; if (alpha <= 0.9999) { [result setAlpha:floatWrapperWithValue(alpha)]; } [result autorelease]; return result; } // ... Example (JavaScript): // ... var protoToCssColor = function(rgb_color) { var redFrac = rgb_color.red || 0.0; var greenFrac = rgb_color.green || 0.0; var blueFrac = rgb_color.blue || 0.0; var red = Math.floor(redFrac * 255); var green = Math.floor(greenFrac * 255); var blue = Math.floor(blueFrac * 255); if (!('alpha' in rgb_color)) { return rgbToCssColor(red, green, blue); } var alphaFrac = rgb_color.alpha.value || 0.0; var rgbParams = [red, green, blue].join(','); return ['rgba(', rgbParams, ',', alphaFrac, ')'].join(''); }; var rgbToCssColor = function(red, green, blue) { var rgbNumber = new Number((red << 16) | (green << 8) | blue); var hexString = rgbNumber.toString(16); var missingZeros = 6 - hexString.length; var resultBuilder = ['#']; for (var i = 0; i < missingZeros; i++) { resultBuilder.push('0'); } resultBuilder.push(hexString); return resultBuilder.join(''); }; // ... # If set, the button is filled with a solid background. + "alpha": 3.14, # The fraction of this color that should be applied to the pixel. That is, the final pixel color is defined by the equation: `pixel color = alpha * (this color) + (1.0 - alpha) * (background color)` This means that a value of 1.0 corresponds to a solid color, whereas a value of 0.0 corresponds to a completely transparent color. This uses a wrapper message rather than a simple float scalar so that it is possible to distinguish between a default value and the value being unset. If omitted, this color object is rendered as a solid color (as if the alpha value had been explicitly given a value of 1.0). + "blue": 3.14, # The amount of blue in the color as a value in the interval [0, 1]. + "green": 3.14, # The amount of green in the color as a value in the interval [0, 1]. + "red": 3.14, # The amount of red in the color as a value in the interval [0, 1]. + }, + "disabled": True or False, # If `true`, the button is displayed in a disabled state and doesn't respond to user actions. + "icon": { # The icon image. + "altText": "A String", # The description of the icon, used for accessibility. The default value is provided if you don't specify one. + "iconUrl": "A String", # The icon specified by a URL. + "imageType": "A String", # The crop style applied to the image. In some cases, applying a `CIRCLE` crop causes the image to be drawn larger than a standard icon. + "knownIcon": "A String", # The icon specified by the string name of a list of known icons. + }, + "onClick": { # Represents the response to an `onClick` event. # The action to perform when the button is clicked. + "action": { # An action that describes the behavior when the form is submitted. For example, an Apps Script can be invoked to handle the form. # If specified, an action is triggered by this `onClick`. + "function": "A String", # Apps Script function to invoke when the containing element is clicked/activated. + "loadIndicator": "A String", # Specifies the loading indicator that the action displays while making the call to the action. + "parameters": [ # List of action parameters. + { # List of string parameters to supply when the action method is invoked. For example, consider three snooze buttons: snooze now, snooze 1 day, snooze next week. You might use action method = snooze(), passing the snooze type and snooze time in the list of string parameters. + "key": "A String", # The name of the parameter for the action script. + "value": "A String", # The value of the parameter. + }, + ], + "persistValues": True or False, # Indicates whether form values persist after the action. The default value is `false`. If `true`, form values remain after the action is triggered. When using [LoadIndicator.NONE](workspace/add-ons/reference/rpc/google.apps.card.v1#loadindicator) for actions, `persist_values` = `true`is recommended, as it ensures that any changes made by the user after form or on change actions are sent to the server are not overwritten by the response. If `false`, the form values are cleared when the action is triggered. When `persist_values` is set to `false`, it is strongly recommended that the card use [LoadIndicator.SPINNER](workspace/add-ons/reference/rpc/google.apps.card.v1#loadindicator) for all actions, as this locks the UI to ensure no changes are made by the user while the action is being processed. Not supported by Google Chat apps. + }, + "card": # Object with schema name: GoogleAppsCardV1Card # A new card is pushed to the card stack after clicking if specified. + "openDynamicLinkAction": { # An action that describes the behavior when the form is submitted. For example, an Apps Script can be invoked to handle the form. # An add-on triggers this action when the action needs to open a link. This differs from the `open_link` above in that this needs to talk to server to get the link. Thus some preparation work is required for web client to do before the open link action response comes back. + "function": "A String", # Apps Script function to invoke when the containing element is clicked/activated. + "loadIndicator": "A String", # Specifies the loading indicator that the action displays while making the call to the action. + "parameters": [ # List of action parameters. + { # List of string parameters to supply when the action method is invoked. For example, consider three snooze buttons: snooze now, snooze 1 day, snooze next week. You might use action method = snooze(), passing the snooze type and snooze time in the list of string parameters. + "key": "A String", # The name of the parameter for the action script. + "value": "A String", # The value of the parameter. + }, + ], + "persistValues": True or False, # Indicates whether form values persist after the action. The default value is `false`. If `true`, form values remain after the action is triggered. When using [LoadIndicator.NONE](workspace/add-ons/reference/rpc/google.apps.card.v1#loadindicator) for actions, `persist_values` = `true`is recommended, as it ensures that any changes made by the user after form or on change actions are sent to the server are not overwritten by the response. If `false`, the form values are cleared when the action is triggered. When `persist_values` is set to `false`, it is strongly recommended that the card use [LoadIndicator.SPINNER](workspace/add-ons/reference/rpc/google.apps.card.v1#loadindicator) for all actions, as this locks the UI to ensure no changes are made by the user while the action is being processed. Not supported by Google Chat apps. + }, + "openLink": { # Represents an `onClick` event that opens a hyperlink. # If specified, this `onClick` triggers an open link action. + "onClose": "A String", # Whether the client forgets about a link after opening it, or observes it until the window closes. Not supported by Chat apps. + "openAs": "A String", # How to open a link. Not supported by Chat apps. + "url": "A String", # The URL to open. + }, + }, + "text": "A String", # The text of the button. + }, + ], + }, + "dateTimePicker": { # The widget that lets users to specify a date and time. Not supported by Google Chat apps. # Displays a selection/input widget for date/time. For example, the following JSON creates a date/time picker for an appointment time: ``` "date_time_picker": { "name": "appointment_time", "label": "Book your appointment at:", "type": "DateTimePickerType.DATE_AND_TIME", "valueMsEpoch": "796435200000" } ``` + "label": "A String", # The label for the field that displays to the user. + "name": "A String", # The name of the text input that's used in `formInput`, and uniquely identifies this input. + "onChangeAction": { # An action that describes the behavior when the form is submitted. For example, an Apps Script can be invoked to handle the form. # Triggered when the user clicks Save or Clear from the date/time picker dialog. This is only triggered if the value changed as a result of the Save/Clear operation. + "function": "A String", # Apps Script function to invoke when the containing element is clicked/activated. + "loadIndicator": "A String", # Specifies the loading indicator that the action displays while making the call to the action. + "parameters": [ # List of action parameters. + { # List of string parameters to supply when the action method is invoked. For example, consider three snooze buttons: snooze now, snooze 1 day, snooze next week. You might use action method = snooze(), passing the snooze type and snooze time in the list of string parameters. + "key": "A String", # The name of the parameter for the action script. + "value": "A String", # The value of the parameter. + }, + ], + "persistValues": True or False, # Indicates whether form values persist after the action. The default value is `false`. If `true`, form values remain after the action is triggered. When using [LoadIndicator.NONE](workspace/add-ons/reference/rpc/google.apps.card.v1#loadindicator) for actions, `persist_values` = `true`is recommended, as it ensures that any changes made by the user after form or on change actions are sent to the server are not overwritten by the response. If `false`, the form values are cleared when the action is triggered. When `persist_values` is set to `false`, it is strongly recommended that the card use [LoadIndicator.SPINNER](workspace/add-ons/reference/rpc/google.apps.card.v1#loadindicator) for all actions, as this locks the UI to ensure no changes are made by the user while the action is being processed. Not supported by Google Chat apps. + }, + "timezoneOffsetDate": 42, # The number representing the time zone offset from UTC, in minutes. If set, the `value_ms_epoch` is displayed in the specified time zone. If not set, it uses the user's time zone setting on the client side. + "type": "A String", # The type of the date/time picker. + "valueMsEpoch": "A String", # The value to display as the default value before user input or previous user input. It is represented in milliseconds (Epoch time). For `DATE_AND_TIME` type, the full epoch value is used. For `DATE_ONLY` type, only date of the epoch time is used. For `TIME_ONLY` type, only time of the epoch time is used. For example, you can set epoch time to `3 * 60 * 60 * 1000` to represent 3am. + }, + "decoratedText": { # A widget that displays text with optional decorations such as a label above or below the text, an icon in front of the text, a selection widget or a button after the text. # Displays a decorated text item in this widget. For example, the following JSON creates a decorated text widget showing email address: ``` "decoratedText": { "icon": { "knownIcon": "EMAIL" }, "topLabel": "Email Address", "content": "sasha@example.com", "bottomLabel": "This is a new Email address!", "switchWidget": { "name": "has_send_welcome_email_to_sasha", "selected": false, "controlType": "ControlType.CHECKBOX" } } ``` + "bottomLabel": "A String", # The formatted text label that shows below the main text. + "button": { # A button. Can be a text button or an image button. # A button that can be clicked to trigger an action. + "altText": "A String", # The alternative text used for accessibility. Has no effect when an icon is set; use `icon.alt_text` instead. + "color": { # Represents a color in the RGBA color space. This representation is designed for simplicity of conversion to/from color representations in various languages over compactness. For example, the fields of this representation can be trivially provided to the constructor of `java.awt.Color` in Java; it can also be trivially provided to UIColor's `+colorWithRed:green:blue:alpha` method in iOS; and, with just a little work, it can be easily formatted into a CSS `rgba()` string in JavaScript. This reference page doesn't carry information about the absolute color space that should be used to interpret the RGB value (e.g. sRGB, Adobe RGB, DCI-P3, BT.2020, etc.). By default, applications should assume the sRGB color space. When color equality needs to be decided, implementations, unless documented otherwise, treat two colors as equal if all their red, green, blue, and alpha values each differ by at most 1e-5. Example (Java): import com.google.type.Color; // ... public static java.awt.Color fromProto(Color protocolor) { float alpha = protocolor.hasAlpha() ? protocolor.getAlpha().getValue() : 1.0; return new java.awt.Color( protocolor.getRed(), protocolor.getGreen(), protocolor.getBlue(), alpha); } public static Color toProto(java.awt.Color color) { float red = (float) color.getRed(); float green = (float) color.getGreen(); float blue = (float) color.getBlue(); float denominator = 255.0; Color.Builder resultBuilder = Color .newBuilder() .setRed(red / denominator) .setGreen(green / denominator) .setBlue(blue / denominator); int alpha = color.getAlpha(); if (alpha != 255) { result.setAlpha( FloatValue .newBuilder() .setValue(((float) alpha) / denominator) .build()); } return resultBuilder.build(); } // ... Example (iOS / Obj-C): // ... static UIColor* fromProto(Color* protocolor) { float red = [protocolor red]; float green = [protocolor green]; float blue = [protocolor blue]; FloatValue* alpha_wrapper = [protocolor alpha]; float alpha = 1.0; if (alpha_wrapper != nil) { alpha = [alpha_wrapper value]; } return [UIColor colorWithRed:red green:green blue:blue alpha:alpha]; } static Color* toProto(UIColor* color) { CGFloat red, green, blue, alpha; if (![color getRed:&red green:&green blue:&blue alpha:&alpha]) { return nil; } Color* result = [[Color alloc] init]; [result setRed:red]; [result setGreen:green]; [result setBlue:blue]; if (alpha <= 0.9999) { [result setAlpha:floatWrapperWithValue(alpha)]; } [result autorelease]; return result; } // ... Example (JavaScript): // ... var protoToCssColor = function(rgb_color) { var redFrac = rgb_color.red || 0.0; var greenFrac = rgb_color.green || 0.0; var blueFrac = rgb_color.blue || 0.0; var red = Math.floor(redFrac * 255); var green = Math.floor(greenFrac * 255); var blue = Math.floor(blueFrac * 255); if (!('alpha' in rgb_color)) { return rgbToCssColor(red, green, blue); } var alphaFrac = rgb_color.alpha.value || 0.0; var rgbParams = [red, green, blue].join(','); return ['rgba(', rgbParams, ',', alphaFrac, ')'].join(''); }; var rgbToCssColor = function(red, green, blue) { var rgbNumber = new Number((red << 16) | (green << 8) | blue); var hexString = rgbNumber.toString(16); var missingZeros = 6 - hexString.length; var resultBuilder = ['#']; for (var i = 0; i < missingZeros; i++) { resultBuilder.push('0'); } resultBuilder.push(hexString); return resultBuilder.join(''); }; // ... # If set, the button is filled with a solid background. + "alpha": 3.14, # The fraction of this color that should be applied to the pixel. That is, the final pixel color is defined by the equation: `pixel color = alpha * (this color) + (1.0 - alpha) * (background color)` This means that a value of 1.0 corresponds to a solid color, whereas a value of 0.0 corresponds to a completely transparent color. This uses a wrapper message rather than a simple float scalar so that it is possible to distinguish between a default value and the value being unset. If omitted, this color object is rendered as a solid color (as if the alpha value had been explicitly given a value of 1.0). + "blue": 3.14, # The amount of blue in the color as a value in the interval [0, 1]. + "green": 3.14, # The amount of green in the color as a value in the interval [0, 1]. + "red": 3.14, # The amount of red in the color as a value in the interval [0, 1]. + }, + "disabled": True or False, # If `true`, the button is displayed in a disabled state and doesn't respond to user actions. + "icon": { # The icon image. + "altText": "A String", # The description of the icon, used for accessibility. The default value is provided if you don't specify one. + "iconUrl": "A String", # The icon specified by a URL. + "imageType": "A String", # The crop style applied to the image. In some cases, applying a `CIRCLE` crop causes the image to be drawn larger than a standard icon. + "knownIcon": "A String", # The icon specified by the string name of a list of known icons. + }, + "onClick": { # Represents the response to an `onClick` event. # The action to perform when the button is clicked. + "action": { # An action that describes the behavior when the form is submitted. For example, an Apps Script can be invoked to handle the form. # If specified, an action is triggered by this `onClick`. + "function": "A String", # Apps Script function to invoke when the containing element is clicked/activated. + "loadIndicator": "A String", # Specifies the loading indicator that the action displays while making the call to the action. + "parameters": [ # List of action parameters. + { # List of string parameters to supply when the action method is invoked. For example, consider three snooze buttons: snooze now, snooze 1 day, snooze next week. You might use action method = snooze(), passing the snooze type and snooze time in the list of string parameters. + "key": "A String", # The name of the parameter for the action script. + "value": "A String", # The value of the parameter. + }, + ], + "persistValues": True or False, # Indicates whether form values persist after the action. The default value is `false`. If `true`, form values remain after the action is triggered. When using [LoadIndicator.NONE](workspace/add-ons/reference/rpc/google.apps.card.v1#loadindicator) for actions, `persist_values` = `true`is recommended, as it ensures that any changes made by the user after form or on change actions are sent to the server are not overwritten by the response. If `false`, the form values are cleared when the action is triggered. When `persist_values` is set to `false`, it is strongly recommended that the card use [LoadIndicator.SPINNER](workspace/add-ons/reference/rpc/google.apps.card.v1#loadindicator) for all actions, as this locks the UI to ensure no changes are made by the user while the action is being processed. Not supported by Google Chat apps. + }, + "card": # Object with schema name: GoogleAppsCardV1Card # A new card is pushed to the card stack after clicking if specified. + "openDynamicLinkAction": { # An action that describes the behavior when the form is submitted. For example, an Apps Script can be invoked to handle the form. # An add-on triggers this action when the action needs to open a link. This differs from the `open_link` above in that this needs to talk to server to get the link. Thus some preparation work is required for web client to do before the open link action response comes back. + "function": "A String", # Apps Script function to invoke when the containing element is clicked/activated. + "loadIndicator": "A String", # Specifies the loading indicator that the action displays while making the call to the action. + "parameters": [ # List of action parameters. + { # List of string parameters to supply when the action method is invoked. For example, consider three snooze buttons: snooze now, snooze 1 day, snooze next week. You might use action method = snooze(), passing the snooze type and snooze time in the list of string parameters. + "key": "A String", # The name of the parameter for the action script. + "value": "A String", # The value of the parameter. + }, + ], + "persistValues": True or False, # Indicates whether form values persist after the action. The default value is `false`. If `true`, form values remain after the action is triggered. When using [LoadIndicator.NONE](workspace/add-ons/reference/rpc/google.apps.card.v1#loadindicator) for actions, `persist_values` = `true`is recommended, as it ensures that any changes made by the user after form or on change actions are sent to the server are not overwritten by the response. If `false`, the form values are cleared when the action is triggered. When `persist_values` is set to `false`, it is strongly recommended that the card use [LoadIndicator.SPINNER](workspace/add-ons/reference/rpc/google.apps.card.v1#loadindicator) for all actions, as this locks the UI to ensure no changes are made by the user while the action is being processed. Not supported by Google Chat apps. + }, + "openLink": { # Represents an `onClick` event that opens a hyperlink. # If specified, this `onClick` triggers an open link action. + "onClose": "A String", # Whether the client forgets about a link after opening it, or observes it until the window closes. Not supported by Chat apps. + "openAs": "A String", # How to open a link. Not supported by Chat apps. + "url": "A String", # The URL to open. + }, + }, + "text": "A String", # The text of the button. + }, + "endIcon": { # An icon displayed after the text. + "altText": "A String", # The description of the icon, used for accessibility. The default value is provided if you don't specify one. + "iconUrl": "A String", # The icon specified by a URL. + "imageType": "A String", # The crop style applied to the image. In some cases, applying a `CIRCLE` crop causes the image to be drawn larger than a standard icon. + "knownIcon": "A String", # The icon specified by the string name of a list of known icons. + }, + "icon": { # Deprecated in favor of start_icon. + "altText": "A String", # The description of the icon, used for accessibility. The default value is provided if you don't specify one. + "iconUrl": "A String", # The icon specified by a URL. + "imageType": "A String", # The crop style applied to the image. In some cases, applying a `CIRCLE` crop causes the image to be drawn larger than a standard icon. + "knownIcon": "A String", # The icon specified by the string name of a list of known icons. + }, + "onClick": { # Represents the response to an `onClick` event. # Only the top and bottom label and content region are clickable. + "action": { # An action that describes the behavior when the form is submitted. For example, an Apps Script can be invoked to handle the form. # If specified, an action is triggered by this `onClick`. + "function": "A String", # Apps Script function to invoke when the containing element is clicked/activated. + "loadIndicator": "A String", # Specifies the loading indicator that the action displays while making the call to the action. + "parameters": [ # List of action parameters. + { # List of string parameters to supply when the action method is invoked. For example, consider three snooze buttons: snooze now, snooze 1 day, snooze next week. You might use action method = snooze(), passing the snooze type and snooze time in the list of string parameters. + "key": "A String", # The name of the parameter for the action script. + "value": "A String", # The value of the parameter. + }, + ], + "persistValues": True or False, # Indicates whether form values persist after the action. The default value is `false`. If `true`, form values remain after the action is triggered. When using [LoadIndicator.NONE](workspace/add-ons/reference/rpc/google.apps.card.v1#loadindicator) for actions, `persist_values` = `true`is recommended, as it ensures that any changes made by the user after form or on change actions are sent to the server are not overwritten by the response. If `false`, the form values are cleared when the action is triggered. When `persist_values` is set to `false`, it is strongly recommended that the card use [LoadIndicator.SPINNER](workspace/add-ons/reference/rpc/google.apps.card.v1#loadindicator) for all actions, as this locks the UI to ensure no changes are made by the user while the action is being processed. Not supported by Google Chat apps. + }, + "card": # Object with schema name: GoogleAppsCardV1Card # A new card is pushed to the card stack after clicking if specified. + "openDynamicLinkAction": { # An action that describes the behavior when the form is submitted. For example, an Apps Script can be invoked to handle the form. # An add-on triggers this action when the action needs to open a link. This differs from the `open_link` above in that this needs to talk to server to get the link. Thus some preparation work is required for web client to do before the open link action response comes back. + "function": "A String", # Apps Script function to invoke when the containing element is clicked/activated. + "loadIndicator": "A String", # Specifies the loading indicator that the action displays while making the call to the action. + "parameters": [ # List of action parameters. + { # List of string parameters to supply when the action method is invoked. For example, consider three snooze buttons: snooze now, snooze 1 day, snooze next week. You might use action method = snooze(), passing the snooze type and snooze time in the list of string parameters. + "key": "A String", # The name of the parameter for the action script. + "value": "A String", # The value of the parameter. + }, + ], + "persistValues": True or False, # Indicates whether form values persist after the action. The default value is `false`. If `true`, form values remain after the action is triggered. When using [LoadIndicator.NONE](workspace/add-ons/reference/rpc/google.apps.card.v1#loadindicator) for actions, `persist_values` = `true`is recommended, as it ensures that any changes made by the user after form or on change actions are sent to the server are not overwritten by the response. If `false`, the form values are cleared when the action is triggered. When `persist_values` is set to `false`, it is strongly recommended that the card use [LoadIndicator.SPINNER](workspace/add-ons/reference/rpc/google.apps.card.v1#loadindicator) for all actions, as this locks the UI to ensure no changes are made by the user while the action is being processed. Not supported by Google Chat apps. + }, + "openLink": { # Represents an `onClick` event that opens a hyperlink. # If specified, this `onClick` triggers an open link action. + "onClose": "A String", # Whether the client forgets about a link after opening it, or observes it until the window closes. Not supported by Chat apps. + "openAs": "A String", # How to open a link. Not supported by Chat apps. + "url": "A String", # The URL to open. + }, + }, + "startIcon": { # The icon displayed in front of the text. + "altText": "A String", # The description of the icon, used for accessibility. The default value is provided if you don't specify one. + "iconUrl": "A String", # The icon specified by a URL. + "imageType": "A String", # The crop style applied to the image. In some cases, applying a `CIRCLE` crop causes the image to be drawn larger than a standard icon. + "knownIcon": "A String", # The icon specified by the string name of a list of known icons. + }, + "switchControl": { # Either a toggle-style switch or a checkbox. # A switch widget can be clicked to change its state or trigger an action. + "controlType": "A String", # The control type, either switch or checkbox. + "name": "A String", # The name of the switch widget that's used in `formInput`. + "onChangeAction": { # An action that describes the behavior when the form is submitted. For example, an Apps Script can be invoked to handle the form. # The action when the switch state is changed. + "function": "A String", # Apps Script function to invoke when the containing element is clicked/activated. + "loadIndicator": "A String", # Specifies the loading indicator that the action displays while making the call to the action. + "parameters": [ # List of action parameters. + { # List of string parameters to supply when the action method is invoked. For example, consider three snooze buttons: snooze now, snooze 1 day, snooze next week. You might use action method = snooze(), passing the snooze type and snooze time in the list of string parameters. + "key": "A String", # The name of the parameter for the action script. + "value": "A String", # The value of the parameter. + }, + ], + "persistValues": True or False, # Indicates whether form values persist after the action. The default value is `false`. If `true`, form values remain after the action is triggered. When using [LoadIndicator.NONE](workspace/add-ons/reference/rpc/google.apps.card.v1#loadindicator) for actions, `persist_values` = `true`is recommended, as it ensures that any changes made by the user after form or on change actions are sent to the server are not overwritten by the response. If `false`, the form values are cleared when the action is triggered. When `persist_values` is set to `false`, it is strongly recommended that the card use [LoadIndicator.SPINNER](workspace/add-ons/reference/rpc/google.apps.card.v1#loadindicator) for all actions, as this locks the UI to ensure no changes are made by the user while the action is being processed. Not supported by Google Chat apps. + }, + "selected": True or False, # If the switch is selected. + "value": "A String", # The value is what is passed back in the callback. + }, + "text": "A String", # Required. The main widget formatted text. See Text formatting for details. + "topLabel": "A String", # The formatted text label that shows above the main text. + "wrapText": True or False, # The wrap text setting. If `true`, the text is wrapped and displayed in multiline. Otherwise, the text is truncated. + }, + "divider": { # A divider that appears in between widgets. # Displays a divider. For example, the following JSON creates a divider: ``` "divider": { } ``` + }, + "grid": { # Represents a Grid widget that displays items in a configurable grid layout. # Displays a grid with a collection of items. For example, the following JSON creates a 2 column grid with a single item: ``` "grid": { "title": "A fine collection of items", "numColumns": 2, "borderStyle": { "type": "STROKE", "cornerRadius": 4.0 }, "items": [ "image": { "imageUri": "https://www.example.com/image.png", "cropStyle": { "type": "SQUARE" }, "borderStyle": { "type": "STROKE" } }, "title": "An item", "textAlignment": "CENTER" ], "onClick": { "openLink": { "url":"https://www.example.com" } } } ``` + "borderStyle": { # Represents the complete border style applied to widgets. # The border style to apply to each grid item. + "cornerRadius": 42, # The corner radius for the border. + "strokeColor": { # Represents a color in the RGBA color space. This representation is designed for simplicity of conversion to/from color representations in various languages over compactness. For example, the fields of this representation can be trivially provided to the constructor of `java.awt.Color` in Java; it can also be trivially provided to UIColor's `+colorWithRed:green:blue:alpha` method in iOS; and, with just a little work, it can be easily formatted into a CSS `rgba()` string in JavaScript. This reference page doesn't carry information about the absolute color space that should be used to interpret the RGB value (e.g. sRGB, Adobe RGB, DCI-P3, BT.2020, etc.). By default, applications should assume the sRGB color space. When color equality needs to be decided, implementations, unless documented otherwise, treat two colors as equal if all their red, green, blue, and alpha values each differ by at most 1e-5. Example (Java): import com.google.type.Color; // ... public static java.awt.Color fromProto(Color protocolor) { float alpha = protocolor.hasAlpha() ? protocolor.getAlpha().getValue() : 1.0; return new java.awt.Color( protocolor.getRed(), protocolor.getGreen(), protocolor.getBlue(), alpha); } public static Color toProto(java.awt.Color color) { float red = (float) color.getRed(); float green = (float) color.getGreen(); float blue = (float) color.getBlue(); float denominator = 255.0; Color.Builder resultBuilder = Color .newBuilder() .setRed(red / denominator) .setGreen(green / denominator) .setBlue(blue / denominator); int alpha = color.getAlpha(); if (alpha != 255) { result.setAlpha( FloatValue .newBuilder() .setValue(((float) alpha) / denominator) .build()); } return resultBuilder.build(); } // ... Example (iOS / Obj-C): // ... static UIColor* fromProto(Color* protocolor) { float red = [protocolor red]; float green = [protocolor green]; float blue = [protocolor blue]; FloatValue* alpha_wrapper = [protocolor alpha]; float alpha = 1.0; if (alpha_wrapper != nil) { alpha = [alpha_wrapper value]; } return [UIColor colorWithRed:red green:green blue:blue alpha:alpha]; } static Color* toProto(UIColor* color) { CGFloat red, green, blue, alpha; if (![color getRed:&red green:&green blue:&blue alpha:&alpha]) { return nil; } Color* result = [[Color alloc] init]; [result setRed:red]; [result setGreen:green]; [result setBlue:blue]; if (alpha <= 0.9999) { [result setAlpha:floatWrapperWithValue(alpha)]; } [result autorelease]; return result; } // ... Example (JavaScript): // ... var protoToCssColor = function(rgb_color) { var redFrac = rgb_color.red || 0.0; var greenFrac = rgb_color.green || 0.0; var blueFrac = rgb_color.blue || 0.0; var red = Math.floor(redFrac * 255); var green = Math.floor(greenFrac * 255); var blue = Math.floor(blueFrac * 255); if (!('alpha' in rgb_color)) { return rgbToCssColor(red, green, blue); } var alphaFrac = rgb_color.alpha.value || 0.0; var rgbParams = [red, green, blue].join(','); return ['rgba(', rgbParams, ',', alphaFrac, ')'].join(''); }; var rgbToCssColor = function(red, green, blue) { var rgbNumber = new Number((red << 16) | (green << 8) | blue); var hexString = rgbNumber.toString(16); var missingZeros = 6 - hexString.length; var resultBuilder = ['#']; for (var i = 0; i < missingZeros; i++) { resultBuilder.push('0'); } resultBuilder.push(hexString); return resultBuilder.join(''); }; // ... # The colors to use when the type is `BORDER_TYPE_STROKE`. + "alpha": 3.14, # The fraction of this color that should be applied to the pixel. That is, the final pixel color is defined by the equation: `pixel color = alpha * (this color) + (1.0 - alpha) * (background color)` This means that a value of 1.0 corresponds to a solid color, whereas a value of 0.0 corresponds to a completely transparent color. This uses a wrapper message rather than a simple float scalar so that it is possible to distinguish between a default value and the value being unset. If omitted, this color object is rendered as a solid color (as if the alpha value had been explicitly given a value of 1.0). + "blue": 3.14, # The amount of blue in the color as a value in the interval [0, 1]. + "green": 3.14, # The amount of green in the color as a value in the interval [0, 1]. + "red": 3.14, # The amount of red in the color as a value in the interval [0, 1]. + }, + "type": "A String", # The border type. + }, + "columnCount": 42, # The number of columns to display in the grid. A default value is used if this field isn't specified, and that default value is different depending on where the grid is shown (dialog versus companion). + "items": [ # The items to display in the grid. + { # Represents a single item in the grid layout. + "id": "A String", # A user-specified identifier for this grid item. This identifier is returned in the parent Grid's onClick callback parameters. + "image": { # Represents an image. # The image that displays in the grid item. + "altText": "A String", # The accessibility label for the image. + "borderStyle": { # Represents the complete border style applied to widgets. # The border style to apply to the image. + "cornerRadius": 42, # The corner radius for the border. + "strokeColor": { # Represents a color in the RGBA color space. This representation is designed for simplicity of conversion to/from color representations in various languages over compactness. For example, the fields of this representation can be trivially provided to the constructor of `java.awt.Color` in Java; it can also be trivially provided to UIColor's `+colorWithRed:green:blue:alpha` method in iOS; and, with just a little work, it can be easily formatted into a CSS `rgba()` string in JavaScript. This reference page doesn't carry information about the absolute color space that should be used to interpret the RGB value (e.g. sRGB, Adobe RGB, DCI-P3, BT.2020, etc.). By default, applications should assume the sRGB color space. When color equality needs to be decided, implementations, unless documented otherwise, treat two colors as equal if all their red, green, blue, and alpha values each differ by at most 1e-5. Example (Java): import com.google.type.Color; // ... public static java.awt.Color fromProto(Color protocolor) { float alpha = protocolor.hasAlpha() ? protocolor.getAlpha().getValue() : 1.0; return new java.awt.Color( protocolor.getRed(), protocolor.getGreen(), protocolor.getBlue(), alpha); } public static Color toProto(java.awt.Color color) { float red = (float) color.getRed(); float green = (float) color.getGreen(); float blue = (float) color.getBlue(); float denominator = 255.0; Color.Builder resultBuilder = Color .newBuilder() .setRed(red / denominator) .setGreen(green / denominator) .setBlue(blue / denominator); int alpha = color.getAlpha(); if (alpha != 255) { result.setAlpha( FloatValue .newBuilder() .setValue(((float) alpha) / denominator) .build()); } return resultBuilder.build(); } // ... Example (iOS / Obj-C): // ... static UIColor* fromProto(Color* protocolor) { float red = [protocolor red]; float green = [protocolor green]; float blue = [protocolor blue]; FloatValue* alpha_wrapper = [protocolor alpha]; float alpha = 1.0; if (alpha_wrapper != nil) { alpha = [alpha_wrapper value]; } return [UIColor colorWithRed:red green:green blue:blue alpha:alpha]; } static Color* toProto(UIColor* color) { CGFloat red, green, blue, alpha; if (![color getRed:&red green:&green blue:&blue alpha:&alpha]) { return nil; } Color* result = [[Color alloc] init]; [result setRed:red]; [result setGreen:green]; [result setBlue:blue]; if (alpha <= 0.9999) { [result setAlpha:floatWrapperWithValue(alpha)]; } [result autorelease]; return result; } // ... Example (JavaScript): // ... var protoToCssColor = function(rgb_color) { var redFrac = rgb_color.red || 0.0; var greenFrac = rgb_color.green || 0.0; var blueFrac = rgb_color.blue || 0.0; var red = Math.floor(redFrac * 255); var green = Math.floor(greenFrac * 255); var blue = Math.floor(blueFrac * 255); if (!('alpha' in rgb_color)) { return rgbToCssColor(red, green, blue); } var alphaFrac = rgb_color.alpha.value || 0.0; var rgbParams = [red, green, blue].join(','); return ['rgba(', rgbParams, ',', alphaFrac, ')'].join(''); }; var rgbToCssColor = function(red, green, blue) { var rgbNumber = new Number((red << 16) | (green << 8) | blue); var hexString = rgbNumber.toString(16); var missingZeros = 6 - hexString.length; var resultBuilder = ['#']; for (var i = 0; i < missingZeros; i++) { resultBuilder.push('0'); } resultBuilder.push(hexString); return resultBuilder.join(''); }; // ... # The colors to use when the type is `BORDER_TYPE_STROKE`. + "alpha": 3.14, # The fraction of this color that should be applied to the pixel. That is, the final pixel color is defined by the equation: `pixel color = alpha * (this color) + (1.0 - alpha) * (background color)` This means that a value of 1.0 corresponds to a solid color, whereas a value of 0.0 corresponds to a completely transparent color. This uses a wrapper message rather than a simple float scalar so that it is possible to distinguish between a default value and the value being unset. If omitted, this color object is rendered as a solid color (as if the alpha value had been explicitly given a value of 1.0). + "blue": 3.14, # The amount of blue in the color as a value in the interval [0, 1]. + "green": 3.14, # The amount of green in the color as a value in the interval [0, 1]. + "red": 3.14, # The amount of red in the color as a value in the interval [0, 1]. + }, + "type": "A String", # The border type. + }, + "cropStyle": { # Represents the crop style applied to an image. # The crop style to apply to the image. + "aspectRatio": 3.14, # The aspect ratio to use if the crop type is `RECTANGLE_CUSTOM`. + "type": "A String", # The crop type. + }, + "imageUri": "A String", # The image URL. + }, + "layout": "A String", # The layout to use for the grid item. + "subtitle": "A String", # The grid item's subtitle. + "textAlignment": "A String", # The horizontal alignment of the grid item's text. + "title": "A String", # The grid item's title. + }, + ], + "onClick": { # Represents the response to an `onClick` event. # This callback is reused by each individual grid item, but with the item's identifier and index in the items list added to the callback's parameters. + "action": { # An action that describes the behavior when the form is submitted. For example, an Apps Script can be invoked to handle the form. # If specified, an action is triggered by this `onClick`. + "function": "A String", # Apps Script function to invoke when the containing element is clicked/activated. + "loadIndicator": "A String", # Specifies the loading indicator that the action displays while making the call to the action. + "parameters": [ # List of action parameters. + { # List of string parameters to supply when the action method is invoked. For example, consider three snooze buttons: snooze now, snooze 1 day, snooze next week. You might use action method = snooze(), passing the snooze type and snooze time in the list of string parameters. + "key": "A String", # The name of the parameter for the action script. + "value": "A String", # The value of the parameter. + }, + ], + "persistValues": True or False, # Indicates whether form values persist after the action. The default value is `false`. If `true`, form values remain after the action is triggered. When using [LoadIndicator.NONE](workspace/add-ons/reference/rpc/google.apps.card.v1#loadindicator) for actions, `persist_values` = `true`is recommended, as it ensures that any changes made by the user after form or on change actions are sent to the server are not overwritten by the response. If `false`, the form values are cleared when the action is triggered. When `persist_values` is set to `false`, it is strongly recommended that the card use [LoadIndicator.SPINNER](workspace/add-ons/reference/rpc/google.apps.card.v1#loadindicator) for all actions, as this locks the UI to ensure no changes are made by the user while the action is being processed. Not supported by Google Chat apps. + }, + "card": # Object with schema name: GoogleAppsCardV1Card # A new card is pushed to the card stack after clicking if specified. + "openDynamicLinkAction": { # An action that describes the behavior when the form is submitted. For example, an Apps Script can be invoked to handle the form. # An add-on triggers this action when the action needs to open a link. This differs from the `open_link` above in that this needs to talk to server to get the link. Thus some preparation work is required for web client to do before the open link action response comes back. + "function": "A String", # Apps Script function to invoke when the containing element is clicked/activated. + "loadIndicator": "A String", # Specifies the loading indicator that the action displays while making the call to the action. + "parameters": [ # List of action parameters. + { # List of string parameters to supply when the action method is invoked. For example, consider three snooze buttons: snooze now, snooze 1 day, snooze next week. You might use action method = snooze(), passing the snooze type and snooze time in the list of string parameters. + "key": "A String", # The name of the parameter for the action script. + "value": "A String", # The value of the parameter. + }, + ], + "persistValues": True or False, # Indicates whether form values persist after the action. The default value is `false`. If `true`, form values remain after the action is triggered. When using [LoadIndicator.NONE](workspace/add-ons/reference/rpc/google.apps.card.v1#loadindicator) for actions, `persist_values` = `true`is recommended, as it ensures that any changes made by the user after form or on change actions are sent to the server are not overwritten by the response. If `false`, the form values are cleared when the action is triggered. When `persist_values` is set to `false`, it is strongly recommended that the card use [LoadIndicator.SPINNER](workspace/add-ons/reference/rpc/google.apps.card.v1#loadindicator) for all actions, as this locks the UI to ensure no changes are made by the user while the action is being processed. Not supported by Google Chat apps. + }, + "openLink": { # Represents an `onClick` event that opens a hyperlink. # If specified, this `onClick` triggers an open link action. + "onClose": "A String", # Whether the client forgets about a link after opening it, or observes it until the window closes. Not supported by Chat apps. + "openAs": "A String", # How to open a link. Not supported by Chat apps. + "url": "A String", # The URL to open. + }, + }, + "title": "A String", # The text that displays in the grid header. + }, + "horizontalAlignment": "A String", # The horizontal alignment of this widget. + "image": { # An image that is specified by a URL and can have an `onClick` action. # Displays an image in this widget. For example, the following JSON creates an image with alternative text: ``` "image": { "imageUrl": "https://example.com/sasha.png" "altText": "Avatar for Sasha" } ``` + "altText": "A String", # The alternative text of this image, used for accessibility. + "imageUrl": "A String", # An image URL. + "onClick": { # Represents the response to an `onClick` event. # The action triggered by an `onClick` event. + "action": { # An action that describes the behavior when the form is submitted. For example, an Apps Script can be invoked to handle the form. # If specified, an action is triggered by this `onClick`. + "function": "A String", # Apps Script function to invoke when the containing element is clicked/activated. + "loadIndicator": "A String", # Specifies the loading indicator that the action displays while making the call to the action. + "parameters": [ # List of action parameters. + { # List of string parameters to supply when the action method is invoked. For example, consider three snooze buttons: snooze now, snooze 1 day, snooze next week. You might use action method = snooze(), passing the snooze type and snooze time in the list of string parameters. + "key": "A String", # The name of the parameter for the action script. + "value": "A String", # The value of the parameter. + }, + ], + "persistValues": True or False, # Indicates whether form values persist after the action. The default value is `false`. If `true`, form values remain after the action is triggered. When using [LoadIndicator.NONE](workspace/add-ons/reference/rpc/google.apps.card.v1#loadindicator) for actions, `persist_values` = `true`is recommended, as it ensures that any changes made by the user after form or on change actions are sent to the server are not overwritten by the response. If `false`, the form values are cleared when the action is triggered. When `persist_values` is set to `false`, it is strongly recommended that the card use [LoadIndicator.SPINNER](workspace/add-ons/reference/rpc/google.apps.card.v1#loadindicator) for all actions, as this locks the UI to ensure no changes are made by the user while the action is being processed. Not supported by Google Chat apps. + }, + "card": # Object with schema name: GoogleAppsCardV1Card # A new card is pushed to the card stack after clicking if specified. + "openDynamicLinkAction": { # An action that describes the behavior when the form is submitted. For example, an Apps Script can be invoked to handle the form. # An add-on triggers this action when the action needs to open a link. This differs from the `open_link` above in that this needs to talk to server to get the link. Thus some preparation work is required for web client to do before the open link action response comes back. + "function": "A String", # Apps Script function to invoke when the containing element is clicked/activated. + "loadIndicator": "A String", # Specifies the loading indicator that the action displays while making the call to the action. + "parameters": [ # List of action parameters. + { # List of string parameters to supply when the action method is invoked. For example, consider three snooze buttons: snooze now, snooze 1 day, snooze next week. You might use action method = snooze(), passing the snooze type and snooze time in the list of string parameters. + "key": "A String", # The name of the parameter for the action script. + "value": "A String", # The value of the parameter. + }, + ], + "persistValues": True or False, # Indicates whether form values persist after the action. The default value is `false`. If `true`, form values remain after the action is triggered. When using [LoadIndicator.NONE](workspace/add-ons/reference/rpc/google.apps.card.v1#loadindicator) for actions, `persist_values` = `true`is recommended, as it ensures that any changes made by the user after form or on change actions are sent to the server are not overwritten by the response. If `false`, the form values are cleared when the action is triggered. When `persist_values` is set to `false`, it is strongly recommended that the card use [LoadIndicator.SPINNER](workspace/add-ons/reference/rpc/google.apps.card.v1#loadindicator) for all actions, as this locks the UI to ensure no changes are made by the user while the action is being processed. Not supported by Google Chat apps. + }, + "openLink": { # Represents an `onClick` event that opens a hyperlink. # If specified, this `onClick` triggers an open link action. + "onClose": "A String", # Whether the client forgets about a link after opening it, or observes it until the window closes. Not supported by Chat apps. + "openAs": "A String", # How to open a link. Not supported by Chat apps. + "url": "A String", # The URL to open. + }, + }, + }, + "selectionInput": { # A widget that creates a UI item with options for users to select. For example, a dropdown menu. # Displays a switch control in this widget. For example, the following JSON creates a dropdown selection for size: ``` "switchControl": { "name": "size", "label": "Size" "type": "SelectionType.DROPDOWN", "items": [ { "text": "S", "value": "small", "selected": false }, { "text": "M", "value": "medium", "selected": true }, { "text": "L", "value": "large", "selected": false }, { "text": "XL", "value": "extra_large", "selected": false } ] } ``` + "items": [ # An array of the selected items. + { # A selectable item in the switch control. + "selected": True or False, # If more than one item is selected for `RADIO_BUTTON` and `DROPDOWN`, the first selected item is treated as selected and the ones after are ignored. + "text": "A String", # The text to be displayed. + "value": "A String", # The value associated with this item. The client should use this as a form input value. + }, + ], + "label": "A String", # The label displayed ahead of the switch control. + "name": "A String", # The name of the text input which is used in `formInput`. + "onChangeAction": { # An action that describes the behavior when the form is submitted. For example, an Apps Script can be invoked to handle the form. # If specified, the form is submitted when the selection changes. If not specified, you must specify a separate button. + "function": "A String", # Apps Script function to invoke when the containing element is clicked/activated. + "loadIndicator": "A String", # Specifies the loading indicator that the action displays while making the call to the action. + "parameters": [ # List of action parameters. + { # List of string parameters to supply when the action method is invoked. For example, consider three snooze buttons: snooze now, snooze 1 day, snooze next week. You might use action method = snooze(), passing the snooze type and snooze time in the list of string parameters. + "key": "A String", # The name of the parameter for the action script. + "value": "A String", # The value of the parameter. + }, + ], + "persistValues": True or False, # Indicates whether form values persist after the action. The default value is `false`. If `true`, form values remain after the action is triggered. When using [LoadIndicator.NONE](workspace/add-ons/reference/rpc/google.apps.card.v1#loadindicator) for actions, `persist_values` = `true`is recommended, as it ensures that any changes made by the user after form or on change actions are sent to the server are not overwritten by the response. If `false`, the form values are cleared when the action is triggered. When `persist_values` is set to `false`, it is strongly recommended that the card use [LoadIndicator.SPINNER](workspace/add-ons/reference/rpc/google.apps.card.v1#loadindicator) for all actions, as this locks the UI to ensure no changes are made by the user while the action is being processed. Not supported by Google Chat apps. + }, + "type": "A String", # The type of the selection. + }, + "textInput": { # A text input is a UI item where users can input text. A text input can also have an onChange action and suggestions. # Displays a text input in this widget. For example, the following JSON creates a text input for mail address: ``` "textInput": { "name": "mailing_address", "label": "Mailing Address" } ``` As another example, the following JSON creates a text input for programming language with static suggestions: ``` "textInput": { "name": "preferred_programing_language", "label": "Preferred Language", "initialSuggestions": { "items": [ { "text": "C++" }, { "text": "Java" }, { "text": "JavaScript" }, { "text": "Python" } ] } } ``` + "autoCompleteAction": { # An action that describes the behavior when the form is submitted. For example, an Apps Script can be invoked to handle the form. # The refresh function that returns suggestions based on the user's input text. If the callback is not specified, autocomplete is done in client side based on the initial suggestion items. + "function": "A String", # Apps Script function to invoke when the containing element is clicked/activated. + "loadIndicator": "A String", # Specifies the loading indicator that the action displays while making the call to the action. + "parameters": [ # List of action parameters. + { # List of string parameters to supply when the action method is invoked. For example, consider three snooze buttons: snooze now, snooze 1 day, snooze next week. You might use action method = snooze(), passing the snooze type and snooze time in the list of string parameters. + "key": "A String", # The name of the parameter for the action script. + "value": "A String", # The value of the parameter. + }, + ], + "persistValues": True or False, # Indicates whether form values persist after the action. The default value is `false`. If `true`, form values remain after the action is triggered. When using [LoadIndicator.NONE](workspace/add-ons/reference/rpc/google.apps.card.v1#loadindicator) for actions, `persist_values` = `true`is recommended, as it ensures that any changes made by the user after form or on change actions are sent to the server are not overwritten by the response. If `false`, the form values are cleared when the action is triggered. When `persist_values` is set to `false`, it is strongly recommended that the card use [LoadIndicator.SPINNER](workspace/add-ons/reference/rpc/google.apps.card.v1#loadindicator) for all actions, as this locks the UI to ensure no changes are made by the user while the action is being processed. Not supported by Google Chat apps. + }, + "hintText": "A String", # The hint text. + "initialSuggestions": { # A container wrapping elements necessary for showing suggestion items used in text input autocomplete. # The initial suggestions made before any user input. + "items": [ # A list of suggestions used for autocomplete recommendations. + { # A suggestion item. + "text": "A String", # The suggested autocomplete result. + }, + ], + }, + "label": "A String", # At least one of label and hintText must be specified. + "name": "A String", # The name of the text input which is used in `formInput`. + "onChangeAction": { # An action that describes the behavior when the form is submitted. For example, an Apps Script can be invoked to handle the form. # The onChange action, for example, invoke a function. + "function": "A String", # Apps Script function to invoke when the containing element is clicked/activated. + "loadIndicator": "A String", # Specifies the loading indicator that the action displays while making the call to the action. + "parameters": [ # List of action parameters. + { # List of string parameters to supply when the action method is invoked. For example, consider three snooze buttons: snooze now, snooze 1 day, snooze next week. You might use action method = snooze(), passing the snooze type and snooze time in the list of string parameters. + "key": "A String", # The name of the parameter for the action script. + "value": "A String", # The value of the parameter. + }, + ], + "persistValues": True or False, # Indicates whether form values persist after the action. The default value is `false`. If `true`, form values remain after the action is triggered. When using [LoadIndicator.NONE](workspace/add-ons/reference/rpc/google.apps.card.v1#loadindicator) for actions, `persist_values` = `true`is recommended, as it ensures that any changes made by the user after form or on change actions are sent to the server are not overwritten by the response. If `false`, the form values are cleared when the action is triggered. When `persist_values` is set to `false`, it is strongly recommended that the card use [LoadIndicator.SPINNER](workspace/add-ons/reference/rpc/google.apps.card.v1#loadindicator) for all actions, as this locks the UI to ensure no changes are made by the user while the action is being processed. Not supported by Google Chat apps. + }, + "type": "A String", # The style of the text, for example, a single line or multiple lines. + "value": "A String", # The default value when there is no input from the user. + }, + "textParagraph": { # A paragraph of text that supports formatting. See [Text formatting](workspace/add-ons/concepts/widgets#text_formatting) for details. # Displays a text paragraph in this widget. For example, the following JSON creates a bolded text: ``` "textParagraph": { "text": " *bold text*" } ``` + "text": "A String", # The text that's shown in the widget. + }, + }, + ], + }, + ], + }, + "cardId": "A String", # Required for `cardsV2` messages. Chat app-specified identifier for this widget. Scoped within a message. + }, + ], "createTime": "A String", # Output only. The time at which the message was created in Google Chat server. "fallbackText": "A String", # A plain-text description of the message's cards, used when the actual cards cannot be displayed (e.g. mobile notifications). "lastUpdateTime": "A String", # Output only. The time at which the message was last edited by a user. If the message has never been edited, this field is empty. @@ -1630,8 +2678,12 @@

Method Details

"displayName": "A String", # The space's display name. For direct messages between humans, this field might be empty. "name": "A String", # Resource name of the space. Format: spaces/{space} "singleUserBotDm": True or False, # Output only. Whether the space is a DM between a Chat app and a single human. + "spaceDetails": { # Details about the space including description and rules. # Details about the space including description and rules. + "description": "A String", # Optional. A description of the space. It could describe the space's discussion topic, functional purpose, or participants. + "guidelines": "A String", # Optional. The space's rules, expectations, and etiquette. + }, "threaded": True or False, # Output only. Whether messages are threaded in this space. - "type": "A String", # Output only. Deprecated: Use `single_user_bot_dm` or `space_type` (developer preview) instead. The type of a space. + "type": "A String", # Output only. Deprecated: Use `singleUserBotDm` or `spaceType` (developer preview) instead. The type of a space. }, "text": "A String", # Plain-text body of the message. The first link to an image, video, web page, or other preview-able item generates a preview chip. "thread": { # A thread in Google Chat. # The thread the message belongs to. diff --git a/docs/dyn/chat_v1.dms.html b/docs/dyn/chat_v1.dms.html index cdf940d7f15..2233630a532 100644 --- a/docs/dyn/chat_v1.dms.html +++ b/docs/dyn/chat_v1.dms.html @@ -840,6 +840,528 @@

Method Details

], }, ], + "cardsV2": [ # Richly formatted and interactive cards that display UI elements and editable widgets, such as: - Formatted text - Buttons - Clickable images - Checkboxes - Radio buttons - Input widgets. Cards are usually displayed below the text-body of a Chat message, but can situationally appear other places, such as [dialogs](https://developers.google.com/chat/how-tos/dialogs). The `cardId` is a unique identifier among cards in the same message and for identifying user input values. Currently supported widgets include: - `TextParagraph` - `DecoratedText` - `Image` - `ButtonList` + { # Widgets for Chat apps to specify. + "card": { # A card is a UI element that can contain UI widgets such as text and images. For more information, see Cards . For example, the following JSON creates a card that has a header with the name, position, icons, and link for a contact, followed by a section with contact information like email and phone number. ``` { "header": { "title": "Sasha", "subtitle": "Software Engineer", "imageStyle": "ImageStyle.AVATAR", "imageUrl": "https://example.com/sasha.png", "imageAltText": "Avatar for Sasha" }, "sections" : [ { "header": "Contact Info", "widgets": [ { "decorated_text": { "icon": { "knownIcon": "EMAIL" }, "content": "sasha@example.com" } }, { "decoratedText": { "icon": { "knownIcon": "PERSON" }, "content": "Online" } }, { "decoratedText": { "icon": { "knownIcon": "PHONE" }, "content": "+1 (555) 555-1234" } }, { "buttons": [ { "textButton": { "text": "Share", }, "onClick": { "openLink": { "url": "https://example.com/share" } } }, { "textButton": { "text": "Edit", }, "onClick": { "action": { "function": "goToView", "parameters": [ { "key": "viewType", "value": "EDIT" } ], "loadIndicator": "LoadIndicator.SPINNER" } } } ] } ], "collapsible": true, "uncollapsibleWidgetsCount": 3 } ], "cardActions": [ { "actionLabel": "Send Feedback", "onClick": { "openLink": { "url": "https://example.com/feedback" } } } ], "name": "contact-card-K3wB6arF2H9L" } ``` # Card proto that allows Chat apps to specify UI elements and editable widgets. + "cardActions": [ # The card's actions. Actions are added to the card's generated toolbar menu. For example, the following JSON constructs a card action menu with Settings and Send Feedback options: ``` "card_actions": [ { "actionLabel": "Settings", "onClick": { "action": { "functionName": "goToView", "parameters": [ { "key": "viewType", "value": "SETTING" } ], "loadIndicator": "LoadIndicator.SPINNER" } } }, { "actionLabel": "Send Feedback", "onClick": { "openLink": { "url": "https://example.com/feedback" } } } ] ``` + { # A card action is the action associated with the card. For example, an invoice card might include actions such as delete invoice, email invoice, or open the invoice in a browser. + "actionLabel": "A String", # The label that displays as the action menu item. + "onClick": { # Represents the response to an `onClick` event. # The `onClick` action for this action item. + "action": { # An action that describes the behavior when the form is submitted. For example, an Apps Script can be invoked to handle the form. # If specified, an action is triggered by this `onClick`. + "function": "A String", # Apps Script function to invoke when the containing element is clicked/activated. + "loadIndicator": "A String", # Specifies the loading indicator that the action displays while making the call to the action. + "parameters": [ # List of action parameters. + { # List of string parameters to supply when the action method is invoked. For example, consider three snooze buttons: snooze now, snooze 1 day, snooze next week. You might use action method = snooze(), passing the snooze type and snooze time in the list of string parameters. + "key": "A String", # The name of the parameter for the action script. + "value": "A String", # The value of the parameter. + }, + ], + "persistValues": True or False, # Indicates whether form values persist after the action. The default value is `false`. If `true`, form values remain after the action is triggered. When using [LoadIndicator.NONE](workspace/add-ons/reference/rpc/google.apps.card.v1#loadindicator) for actions, `persist_values` = `true`is recommended, as it ensures that any changes made by the user after form or on change actions are sent to the server are not overwritten by the response. If `false`, the form values are cleared when the action is triggered. When `persist_values` is set to `false`, it is strongly recommended that the card use [LoadIndicator.SPINNER](workspace/add-ons/reference/rpc/google.apps.card.v1#loadindicator) for all actions, as this locks the UI to ensure no changes are made by the user while the action is being processed. Not supported by Google Chat apps. + }, + "card": # Object with schema name: GoogleAppsCardV1Card # A new card is pushed to the card stack after clicking if specified. + "openDynamicLinkAction": { # An action that describes the behavior when the form is submitted. For example, an Apps Script can be invoked to handle the form. # An add-on triggers this action when the action needs to open a link. This differs from the `open_link` above in that this needs to talk to server to get the link. Thus some preparation work is required for web client to do before the open link action response comes back. + "function": "A String", # Apps Script function to invoke when the containing element is clicked/activated. + "loadIndicator": "A String", # Specifies the loading indicator that the action displays while making the call to the action. + "parameters": [ # List of action parameters. + { # List of string parameters to supply when the action method is invoked. For example, consider three snooze buttons: snooze now, snooze 1 day, snooze next week. You might use action method = snooze(), passing the snooze type and snooze time in the list of string parameters. + "key": "A String", # The name of the parameter for the action script. + "value": "A String", # The value of the parameter. + }, + ], + "persistValues": True or False, # Indicates whether form values persist after the action. The default value is `false`. If `true`, form values remain after the action is triggered. When using [LoadIndicator.NONE](workspace/add-ons/reference/rpc/google.apps.card.v1#loadindicator) for actions, `persist_values` = `true`is recommended, as it ensures that any changes made by the user after form or on change actions are sent to the server are not overwritten by the response. If `false`, the form values are cleared when the action is triggered. When `persist_values` is set to `false`, it is strongly recommended that the card use [LoadIndicator.SPINNER](workspace/add-ons/reference/rpc/google.apps.card.v1#loadindicator) for all actions, as this locks the UI to ensure no changes are made by the user while the action is being processed. Not supported by Google Chat apps. + }, + "openLink": { # Represents an `onClick` event that opens a hyperlink. # If specified, this `onClick` triggers an open link action. + "onClose": "A String", # Whether the client forgets about a link after opening it, or observes it until the window closes. Not supported by Chat apps. + "openAs": "A String", # How to open a link. Not supported by Chat apps. + "url": "A String", # The URL to open. + }, + }, + }, + ], + "displayStyle": "A String", # The `peekCardHeader` display style for. Not supported by Google Chat apps. + "fixedFooter": { # A persistent (sticky) footer that is added to the bottom of the card. # The fixed footer shown at the bottom of this card. + "primaryButton": { # A button. Can be a text button or an image button. # The primary button of the fixed footer. The button must be a text button with text and color set. + "altText": "A String", # The alternative text used for accessibility. Has no effect when an icon is set; use `icon.alt_text` instead. + "color": { # Represents a color in the RGBA color space. This representation is designed for simplicity of conversion to/from color representations in various languages over compactness. For example, the fields of this representation can be trivially provided to the constructor of `java.awt.Color` in Java; it can also be trivially provided to UIColor's `+colorWithRed:green:blue:alpha` method in iOS; and, with just a little work, it can be easily formatted into a CSS `rgba()` string in JavaScript. This reference page doesn't carry information about the absolute color space that should be used to interpret the RGB value (e.g. sRGB, Adobe RGB, DCI-P3, BT.2020, etc.). By default, applications should assume the sRGB color space. When color equality needs to be decided, implementations, unless documented otherwise, treat two colors as equal if all their red, green, blue, and alpha values each differ by at most 1e-5. Example (Java): import com.google.type.Color; // ... public static java.awt.Color fromProto(Color protocolor) { float alpha = protocolor.hasAlpha() ? protocolor.getAlpha().getValue() : 1.0; return new java.awt.Color( protocolor.getRed(), protocolor.getGreen(), protocolor.getBlue(), alpha); } public static Color toProto(java.awt.Color color) { float red = (float) color.getRed(); float green = (float) color.getGreen(); float blue = (float) color.getBlue(); float denominator = 255.0; Color.Builder resultBuilder = Color .newBuilder() .setRed(red / denominator) .setGreen(green / denominator) .setBlue(blue / denominator); int alpha = color.getAlpha(); if (alpha != 255) { result.setAlpha( FloatValue .newBuilder() .setValue(((float) alpha) / denominator) .build()); } return resultBuilder.build(); } // ... Example (iOS / Obj-C): // ... static UIColor* fromProto(Color* protocolor) { float red = [protocolor red]; float green = [protocolor green]; float blue = [protocolor blue]; FloatValue* alpha_wrapper = [protocolor alpha]; float alpha = 1.0; if (alpha_wrapper != nil) { alpha = [alpha_wrapper value]; } return [UIColor colorWithRed:red green:green blue:blue alpha:alpha]; } static Color* toProto(UIColor* color) { CGFloat red, green, blue, alpha; if (![color getRed:&red green:&green blue:&blue alpha:&alpha]) { return nil; } Color* result = [[Color alloc] init]; [result setRed:red]; [result setGreen:green]; [result setBlue:blue]; if (alpha <= 0.9999) { [result setAlpha:floatWrapperWithValue(alpha)]; } [result autorelease]; return result; } // ... Example (JavaScript): // ... var protoToCssColor = function(rgb_color) { var redFrac = rgb_color.red || 0.0; var greenFrac = rgb_color.green || 0.0; var blueFrac = rgb_color.blue || 0.0; var red = Math.floor(redFrac * 255); var green = Math.floor(greenFrac * 255); var blue = Math.floor(blueFrac * 255); if (!('alpha' in rgb_color)) { return rgbToCssColor(red, green, blue); } var alphaFrac = rgb_color.alpha.value || 0.0; var rgbParams = [red, green, blue].join(','); return ['rgba(', rgbParams, ',', alphaFrac, ')'].join(''); }; var rgbToCssColor = function(red, green, blue) { var rgbNumber = new Number((red << 16) | (green << 8) | blue); var hexString = rgbNumber.toString(16); var missingZeros = 6 - hexString.length; var resultBuilder = ['#']; for (var i = 0; i < missingZeros; i++) { resultBuilder.push('0'); } resultBuilder.push(hexString); return resultBuilder.join(''); }; // ... # If set, the button is filled with a solid background. + "alpha": 3.14, # The fraction of this color that should be applied to the pixel. That is, the final pixel color is defined by the equation: `pixel color = alpha * (this color) + (1.0 - alpha) * (background color)` This means that a value of 1.0 corresponds to a solid color, whereas a value of 0.0 corresponds to a completely transparent color. This uses a wrapper message rather than a simple float scalar so that it is possible to distinguish between a default value and the value being unset. If omitted, this color object is rendered as a solid color (as if the alpha value had been explicitly given a value of 1.0). + "blue": 3.14, # The amount of blue in the color as a value in the interval [0, 1]. + "green": 3.14, # The amount of green in the color as a value in the interval [0, 1]. + "red": 3.14, # The amount of red in the color as a value in the interval [0, 1]. + }, + "disabled": True or False, # If `true`, the button is displayed in a disabled state and doesn't respond to user actions. + "icon": { # The icon image. + "altText": "A String", # The description of the icon, used for accessibility. The default value is provided if you don't specify one. + "iconUrl": "A String", # The icon specified by a URL. + "imageType": "A String", # The crop style applied to the image. In some cases, applying a `CIRCLE` crop causes the image to be drawn larger than a standard icon. + "knownIcon": "A String", # The icon specified by the string name of a list of known icons. + }, + "onClick": { # Represents the response to an `onClick` event. # The action to perform when the button is clicked. + "action": { # An action that describes the behavior when the form is submitted. For example, an Apps Script can be invoked to handle the form. # If specified, an action is triggered by this `onClick`. + "function": "A String", # Apps Script function to invoke when the containing element is clicked/activated. + "loadIndicator": "A String", # Specifies the loading indicator that the action displays while making the call to the action. + "parameters": [ # List of action parameters. + { # List of string parameters to supply when the action method is invoked. For example, consider three snooze buttons: snooze now, snooze 1 day, snooze next week. You might use action method = snooze(), passing the snooze type and snooze time in the list of string parameters. + "key": "A String", # The name of the parameter for the action script. + "value": "A String", # The value of the parameter. + }, + ], + "persistValues": True or False, # Indicates whether form values persist after the action. The default value is `false`. If `true`, form values remain after the action is triggered. When using [LoadIndicator.NONE](workspace/add-ons/reference/rpc/google.apps.card.v1#loadindicator) for actions, `persist_values` = `true`is recommended, as it ensures that any changes made by the user after form or on change actions are sent to the server are not overwritten by the response. If `false`, the form values are cleared when the action is triggered. When `persist_values` is set to `false`, it is strongly recommended that the card use [LoadIndicator.SPINNER](workspace/add-ons/reference/rpc/google.apps.card.v1#loadindicator) for all actions, as this locks the UI to ensure no changes are made by the user while the action is being processed. Not supported by Google Chat apps. + }, + "card": # Object with schema name: GoogleAppsCardV1Card # A new card is pushed to the card stack after clicking if specified. + "openDynamicLinkAction": { # An action that describes the behavior when the form is submitted. For example, an Apps Script can be invoked to handle the form. # An add-on triggers this action when the action needs to open a link. This differs from the `open_link` above in that this needs to talk to server to get the link. Thus some preparation work is required for web client to do before the open link action response comes back. + "function": "A String", # Apps Script function to invoke when the containing element is clicked/activated. + "loadIndicator": "A String", # Specifies the loading indicator that the action displays while making the call to the action. + "parameters": [ # List of action parameters. + { # List of string parameters to supply when the action method is invoked. For example, consider three snooze buttons: snooze now, snooze 1 day, snooze next week. You might use action method = snooze(), passing the snooze type and snooze time in the list of string parameters. + "key": "A String", # The name of the parameter for the action script. + "value": "A String", # The value of the parameter. + }, + ], + "persistValues": True or False, # Indicates whether form values persist after the action. The default value is `false`. If `true`, form values remain after the action is triggered. When using [LoadIndicator.NONE](workspace/add-ons/reference/rpc/google.apps.card.v1#loadindicator) for actions, `persist_values` = `true`is recommended, as it ensures that any changes made by the user after form or on change actions are sent to the server are not overwritten by the response. If `false`, the form values are cleared when the action is triggered. When `persist_values` is set to `false`, it is strongly recommended that the card use [LoadIndicator.SPINNER](workspace/add-ons/reference/rpc/google.apps.card.v1#loadindicator) for all actions, as this locks the UI to ensure no changes are made by the user while the action is being processed. Not supported by Google Chat apps. + }, + "openLink": { # Represents an `onClick` event that opens a hyperlink. # If specified, this `onClick` triggers an open link action. + "onClose": "A String", # Whether the client forgets about a link after opening it, or observes it until the window closes. Not supported by Chat apps. + "openAs": "A String", # How to open a link. Not supported by Chat apps. + "url": "A String", # The URL to open. + }, + }, + "text": "A String", # The text of the button. + }, + "secondaryButton": { # A button. Can be a text button or an image button. # The secondary button of the fixed footer. The button must be a text button with text and color set. `primaryButton` must be set if `secondaryButton` is set. + "altText": "A String", # The alternative text used for accessibility. Has no effect when an icon is set; use `icon.alt_text` instead. + "color": { # Represents a color in the RGBA color space. This representation is designed for simplicity of conversion to/from color representations in various languages over compactness. For example, the fields of this representation can be trivially provided to the constructor of `java.awt.Color` in Java; it can also be trivially provided to UIColor's `+colorWithRed:green:blue:alpha` method in iOS; and, with just a little work, it can be easily formatted into a CSS `rgba()` string in JavaScript. This reference page doesn't carry information about the absolute color space that should be used to interpret the RGB value (e.g. sRGB, Adobe RGB, DCI-P3, BT.2020, etc.). By default, applications should assume the sRGB color space. When color equality needs to be decided, implementations, unless documented otherwise, treat two colors as equal if all their red, green, blue, and alpha values each differ by at most 1e-5. Example (Java): import com.google.type.Color; // ... public static java.awt.Color fromProto(Color protocolor) { float alpha = protocolor.hasAlpha() ? protocolor.getAlpha().getValue() : 1.0; return new java.awt.Color( protocolor.getRed(), protocolor.getGreen(), protocolor.getBlue(), alpha); } public static Color toProto(java.awt.Color color) { float red = (float) color.getRed(); float green = (float) color.getGreen(); float blue = (float) color.getBlue(); float denominator = 255.0; Color.Builder resultBuilder = Color .newBuilder() .setRed(red / denominator) .setGreen(green / denominator) .setBlue(blue / denominator); int alpha = color.getAlpha(); if (alpha != 255) { result.setAlpha( FloatValue .newBuilder() .setValue(((float) alpha) / denominator) .build()); } return resultBuilder.build(); } // ... Example (iOS / Obj-C): // ... static UIColor* fromProto(Color* protocolor) { float red = [protocolor red]; float green = [protocolor green]; float blue = [protocolor blue]; FloatValue* alpha_wrapper = [protocolor alpha]; float alpha = 1.0; if (alpha_wrapper != nil) { alpha = [alpha_wrapper value]; } return [UIColor colorWithRed:red green:green blue:blue alpha:alpha]; } static Color* toProto(UIColor* color) { CGFloat red, green, blue, alpha; if (![color getRed:&red green:&green blue:&blue alpha:&alpha]) { return nil; } Color* result = [[Color alloc] init]; [result setRed:red]; [result setGreen:green]; [result setBlue:blue]; if (alpha <= 0.9999) { [result setAlpha:floatWrapperWithValue(alpha)]; } [result autorelease]; return result; } // ... Example (JavaScript): // ... var protoToCssColor = function(rgb_color) { var redFrac = rgb_color.red || 0.0; var greenFrac = rgb_color.green || 0.0; var blueFrac = rgb_color.blue || 0.0; var red = Math.floor(redFrac * 255); var green = Math.floor(greenFrac * 255); var blue = Math.floor(blueFrac * 255); if (!('alpha' in rgb_color)) { return rgbToCssColor(red, green, blue); } var alphaFrac = rgb_color.alpha.value || 0.0; var rgbParams = [red, green, blue].join(','); return ['rgba(', rgbParams, ',', alphaFrac, ')'].join(''); }; var rgbToCssColor = function(red, green, blue) { var rgbNumber = new Number((red << 16) | (green << 8) | blue); var hexString = rgbNumber.toString(16); var missingZeros = 6 - hexString.length; var resultBuilder = ['#']; for (var i = 0; i < missingZeros; i++) { resultBuilder.push('0'); } resultBuilder.push(hexString); return resultBuilder.join(''); }; // ... # If set, the button is filled with a solid background. + "alpha": 3.14, # The fraction of this color that should be applied to the pixel. That is, the final pixel color is defined by the equation: `pixel color = alpha * (this color) + (1.0 - alpha) * (background color)` This means that a value of 1.0 corresponds to a solid color, whereas a value of 0.0 corresponds to a completely transparent color. This uses a wrapper message rather than a simple float scalar so that it is possible to distinguish between a default value and the value being unset. If omitted, this color object is rendered as a solid color (as if the alpha value had been explicitly given a value of 1.0). + "blue": 3.14, # The amount of blue in the color as a value in the interval [0, 1]. + "green": 3.14, # The amount of green in the color as a value in the interval [0, 1]. + "red": 3.14, # The amount of red in the color as a value in the interval [0, 1]. + }, + "disabled": True or False, # If `true`, the button is displayed in a disabled state and doesn't respond to user actions. + "icon": { # The icon image. + "altText": "A String", # The description of the icon, used for accessibility. The default value is provided if you don't specify one. + "iconUrl": "A String", # The icon specified by a URL. + "imageType": "A String", # The crop style applied to the image. In some cases, applying a `CIRCLE` crop causes the image to be drawn larger than a standard icon. + "knownIcon": "A String", # The icon specified by the string name of a list of known icons. + }, + "onClick": { # Represents the response to an `onClick` event. # The action to perform when the button is clicked. + "action": { # An action that describes the behavior when the form is submitted. For example, an Apps Script can be invoked to handle the form. # If specified, an action is triggered by this `onClick`. + "function": "A String", # Apps Script function to invoke when the containing element is clicked/activated. + "loadIndicator": "A String", # Specifies the loading indicator that the action displays while making the call to the action. + "parameters": [ # List of action parameters. + { # List of string parameters to supply when the action method is invoked. For example, consider three snooze buttons: snooze now, snooze 1 day, snooze next week. You might use action method = snooze(), passing the snooze type and snooze time in the list of string parameters. + "key": "A String", # The name of the parameter for the action script. + "value": "A String", # The value of the parameter. + }, + ], + "persistValues": True or False, # Indicates whether form values persist after the action. The default value is `false`. If `true`, form values remain after the action is triggered. When using [LoadIndicator.NONE](workspace/add-ons/reference/rpc/google.apps.card.v1#loadindicator) for actions, `persist_values` = `true`is recommended, as it ensures that any changes made by the user after form or on change actions are sent to the server are not overwritten by the response. If `false`, the form values are cleared when the action is triggered. When `persist_values` is set to `false`, it is strongly recommended that the card use [LoadIndicator.SPINNER](workspace/add-ons/reference/rpc/google.apps.card.v1#loadindicator) for all actions, as this locks the UI to ensure no changes are made by the user while the action is being processed. Not supported by Google Chat apps. + }, + "card": # Object with schema name: GoogleAppsCardV1Card # A new card is pushed to the card stack after clicking if specified. + "openDynamicLinkAction": { # An action that describes the behavior when the form is submitted. For example, an Apps Script can be invoked to handle the form. # An add-on triggers this action when the action needs to open a link. This differs from the `open_link` above in that this needs to talk to server to get the link. Thus some preparation work is required for web client to do before the open link action response comes back. + "function": "A String", # Apps Script function to invoke when the containing element is clicked/activated. + "loadIndicator": "A String", # Specifies the loading indicator that the action displays while making the call to the action. + "parameters": [ # List of action parameters. + { # List of string parameters to supply when the action method is invoked. For example, consider three snooze buttons: snooze now, snooze 1 day, snooze next week. You might use action method = snooze(), passing the snooze type and snooze time in the list of string parameters. + "key": "A String", # The name of the parameter for the action script. + "value": "A String", # The value of the parameter. + }, + ], + "persistValues": True or False, # Indicates whether form values persist after the action. The default value is `false`. If `true`, form values remain after the action is triggered. When using [LoadIndicator.NONE](workspace/add-ons/reference/rpc/google.apps.card.v1#loadindicator) for actions, `persist_values` = `true`is recommended, as it ensures that any changes made by the user after form or on change actions are sent to the server are not overwritten by the response. If `false`, the form values are cleared when the action is triggered. When `persist_values` is set to `false`, it is strongly recommended that the card use [LoadIndicator.SPINNER](workspace/add-ons/reference/rpc/google.apps.card.v1#loadindicator) for all actions, as this locks the UI to ensure no changes are made by the user while the action is being processed. Not supported by Google Chat apps. + }, + "openLink": { # Represents an `onClick` event that opens a hyperlink. # If specified, this `onClick` triggers an open link action. + "onClose": "A String", # Whether the client forgets about a link after opening it, or observes it until the window closes. Not supported by Chat apps. + "openAs": "A String", # How to open a link. Not supported by Chat apps. + "url": "A String", # The URL to open. + }, + }, + "text": "A String", # The text of the button. + }, + }, + "header": { # Represents a card header. # The header of the card. A header usually contains a title and an image. + "imageAltText": "A String", # The alternative text of this image which is used for accessibility. + "imageType": "A String", # The image's type. + "imageUrl": "A String", # The URL of the image in the card header. + "subtitle": "A String", # The subtitle of the card header. + "title": "A String", # Required. The title of the card header. The header has a fixed height: if both a title and subtitle are specified, each takes up one line. If only the title is specified, it takes up both lines. + }, + "name": "A String", # Name of the card. Used as a card identifier in card navigation. + "peekCardHeader": { # Represents a card header. # When displaying contextual content, the peek card header acts as a placeholder so that the user can navigate forward between the homepage cards and the contextual cards. Not supported by Google Chat apps. + "imageAltText": "A String", # The alternative text of this image which is used for accessibility. + "imageType": "A String", # The image's type. + "imageUrl": "A String", # The URL of the image in the card header. + "subtitle": "A String", # The subtitle of the card header. + "title": "A String", # Required. The title of the card header. The header has a fixed height: if both a title and subtitle are specified, each takes up one line. If only the title is specified, it takes up both lines. + }, + "sections": [ # Sections are separated by a line divider. + { # A section contains a collection of widgets that are rendered vertically in the order that they are specified. Across all platforms, cards have a narrow fixed width, so there is currently no need for layout properties, for example, float. + "collapsible": True or False, # Indicates whether this section is collapsible. If a section is collapsible, the description must be given. + "header": "A String", # The header of the section. Formatted text is supported. + "uncollapsibleWidgetsCount": 42, # The number of uncollapsible widgets. For example, when a section contains five widgets and the `uncollapsibleWidgetsCount` is set to `2`, the first two widgets are always shown and the last three are collapsed as default. The `uncollapsibleWidgetsCount` is taken into account only when `collapsible` is `true`. + "widgets": [ # A section must contain at least 1 widget. + { # A widget is a UI element that presents texts, images, etc. + "buttonList": { # A list of buttons layed out horizontally. # A list of buttons. For example, the following JSON creates two buttons. The first is a filled text button and the second is an image button that opens a link: ``` "buttonList": { "buttons": [ "button": { "text": "Edit", "Color": { "Red": 255 "Green": 255 "Blue": 255 } "disabled": true }, "button": { "icon": { "knownIcon": "INVITE" "altText": "check calendar" }, "onClick": { "openLink": { "url": "https://example.com/calendar" } } }, ] } ``` + "buttons": [ # An array of buttons. + { # A button. Can be a text button or an image button. + "altText": "A String", # The alternative text used for accessibility. Has no effect when an icon is set; use `icon.alt_text` instead. + "color": { # Represents a color in the RGBA color space. This representation is designed for simplicity of conversion to/from color representations in various languages over compactness. For example, the fields of this representation can be trivially provided to the constructor of `java.awt.Color` in Java; it can also be trivially provided to UIColor's `+colorWithRed:green:blue:alpha` method in iOS; and, with just a little work, it can be easily formatted into a CSS `rgba()` string in JavaScript. This reference page doesn't carry information about the absolute color space that should be used to interpret the RGB value (e.g. sRGB, Adobe RGB, DCI-P3, BT.2020, etc.). By default, applications should assume the sRGB color space. When color equality needs to be decided, implementations, unless documented otherwise, treat two colors as equal if all their red, green, blue, and alpha values each differ by at most 1e-5. Example (Java): import com.google.type.Color; // ... public static java.awt.Color fromProto(Color protocolor) { float alpha = protocolor.hasAlpha() ? protocolor.getAlpha().getValue() : 1.0; return new java.awt.Color( protocolor.getRed(), protocolor.getGreen(), protocolor.getBlue(), alpha); } public static Color toProto(java.awt.Color color) { float red = (float) color.getRed(); float green = (float) color.getGreen(); float blue = (float) color.getBlue(); float denominator = 255.0; Color.Builder resultBuilder = Color .newBuilder() .setRed(red / denominator) .setGreen(green / denominator) .setBlue(blue / denominator); int alpha = color.getAlpha(); if (alpha != 255) { result.setAlpha( FloatValue .newBuilder() .setValue(((float) alpha) / denominator) .build()); } return resultBuilder.build(); } // ... Example (iOS / Obj-C): // ... static UIColor* fromProto(Color* protocolor) { float red = [protocolor red]; float green = [protocolor green]; float blue = [protocolor blue]; FloatValue* alpha_wrapper = [protocolor alpha]; float alpha = 1.0; if (alpha_wrapper != nil) { alpha = [alpha_wrapper value]; } return [UIColor colorWithRed:red green:green blue:blue alpha:alpha]; } static Color* toProto(UIColor* color) { CGFloat red, green, blue, alpha; if (![color getRed:&red green:&green blue:&blue alpha:&alpha]) { return nil; } Color* result = [[Color alloc] init]; [result setRed:red]; [result setGreen:green]; [result setBlue:blue]; if (alpha <= 0.9999) { [result setAlpha:floatWrapperWithValue(alpha)]; } [result autorelease]; return result; } // ... Example (JavaScript): // ... var protoToCssColor = function(rgb_color) { var redFrac = rgb_color.red || 0.0; var greenFrac = rgb_color.green || 0.0; var blueFrac = rgb_color.blue || 0.0; var red = Math.floor(redFrac * 255); var green = Math.floor(greenFrac * 255); var blue = Math.floor(blueFrac * 255); if (!('alpha' in rgb_color)) { return rgbToCssColor(red, green, blue); } var alphaFrac = rgb_color.alpha.value || 0.0; var rgbParams = [red, green, blue].join(','); return ['rgba(', rgbParams, ',', alphaFrac, ')'].join(''); }; var rgbToCssColor = function(red, green, blue) { var rgbNumber = new Number((red << 16) | (green << 8) | blue); var hexString = rgbNumber.toString(16); var missingZeros = 6 - hexString.length; var resultBuilder = ['#']; for (var i = 0; i < missingZeros; i++) { resultBuilder.push('0'); } resultBuilder.push(hexString); return resultBuilder.join(''); }; // ... # If set, the button is filled with a solid background. + "alpha": 3.14, # The fraction of this color that should be applied to the pixel. That is, the final pixel color is defined by the equation: `pixel color = alpha * (this color) + (1.0 - alpha) * (background color)` This means that a value of 1.0 corresponds to a solid color, whereas a value of 0.0 corresponds to a completely transparent color. This uses a wrapper message rather than a simple float scalar so that it is possible to distinguish between a default value and the value being unset. If omitted, this color object is rendered as a solid color (as if the alpha value had been explicitly given a value of 1.0). + "blue": 3.14, # The amount of blue in the color as a value in the interval [0, 1]. + "green": 3.14, # The amount of green in the color as a value in the interval [0, 1]. + "red": 3.14, # The amount of red in the color as a value in the interval [0, 1]. + }, + "disabled": True or False, # If `true`, the button is displayed in a disabled state and doesn't respond to user actions. + "icon": { # The icon image. + "altText": "A String", # The description of the icon, used for accessibility. The default value is provided if you don't specify one. + "iconUrl": "A String", # The icon specified by a URL. + "imageType": "A String", # The crop style applied to the image. In some cases, applying a `CIRCLE` crop causes the image to be drawn larger than a standard icon. + "knownIcon": "A String", # The icon specified by the string name of a list of known icons. + }, + "onClick": { # Represents the response to an `onClick` event. # The action to perform when the button is clicked. + "action": { # An action that describes the behavior when the form is submitted. For example, an Apps Script can be invoked to handle the form. # If specified, an action is triggered by this `onClick`. + "function": "A String", # Apps Script function to invoke when the containing element is clicked/activated. + "loadIndicator": "A String", # Specifies the loading indicator that the action displays while making the call to the action. + "parameters": [ # List of action parameters. + { # List of string parameters to supply when the action method is invoked. For example, consider three snooze buttons: snooze now, snooze 1 day, snooze next week. You might use action method = snooze(), passing the snooze type and snooze time in the list of string parameters. + "key": "A String", # The name of the parameter for the action script. + "value": "A String", # The value of the parameter. + }, + ], + "persistValues": True or False, # Indicates whether form values persist after the action. The default value is `false`. If `true`, form values remain after the action is triggered. When using [LoadIndicator.NONE](workspace/add-ons/reference/rpc/google.apps.card.v1#loadindicator) for actions, `persist_values` = `true`is recommended, as it ensures that any changes made by the user after form or on change actions are sent to the server are not overwritten by the response. If `false`, the form values are cleared when the action is triggered. When `persist_values` is set to `false`, it is strongly recommended that the card use [LoadIndicator.SPINNER](workspace/add-ons/reference/rpc/google.apps.card.v1#loadindicator) for all actions, as this locks the UI to ensure no changes are made by the user while the action is being processed. Not supported by Google Chat apps. + }, + "card": # Object with schema name: GoogleAppsCardV1Card # A new card is pushed to the card stack after clicking if specified. + "openDynamicLinkAction": { # An action that describes the behavior when the form is submitted. For example, an Apps Script can be invoked to handle the form. # An add-on triggers this action when the action needs to open a link. This differs from the `open_link` above in that this needs to talk to server to get the link. Thus some preparation work is required for web client to do before the open link action response comes back. + "function": "A String", # Apps Script function to invoke when the containing element is clicked/activated. + "loadIndicator": "A String", # Specifies the loading indicator that the action displays while making the call to the action. + "parameters": [ # List of action parameters. + { # List of string parameters to supply when the action method is invoked. For example, consider three snooze buttons: snooze now, snooze 1 day, snooze next week. You might use action method = snooze(), passing the snooze type and snooze time in the list of string parameters. + "key": "A String", # The name of the parameter for the action script. + "value": "A String", # The value of the parameter. + }, + ], + "persistValues": True or False, # Indicates whether form values persist after the action. The default value is `false`. If `true`, form values remain after the action is triggered. When using [LoadIndicator.NONE](workspace/add-ons/reference/rpc/google.apps.card.v1#loadindicator) for actions, `persist_values` = `true`is recommended, as it ensures that any changes made by the user after form or on change actions are sent to the server are not overwritten by the response. If `false`, the form values are cleared when the action is triggered. When `persist_values` is set to `false`, it is strongly recommended that the card use [LoadIndicator.SPINNER](workspace/add-ons/reference/rpc/google.apps.card.v1#loadindicator) for all actions, as this locks the UI to ensure no changes are made by the user while the action is being processed. Not supported by Google Chat apps. + }, + "openLink": { # Represents an `onClick` event that opens a hyperlink. # If specified, this `onClick` triggers an open link action. + "onClose": "A String", # Whether the client forgets about a link after opening it, or observes it until the window closes. Not supported by Chat apps. + "openAs": "A String", # How to open a link. Not supported by Chat apps. + "url": "A String", # The URL to open. + }, + }, + "text": "A String", # The text of the button. + }, + ], + }, + "dateTimePicker": { # The widget that lets users to specify a date and time. Not supported by Google Chat apps. # Displays a selection/input widget for date/time. For example, the following JSON creates a date/time picker for an appointment time: ``` "date_time_picker": { "name": "appointment_time", "label": "Book your appointment at:", "type": "DateTimePickerType.DATE_AND_TIME", "valueMsEpoch": "796435200000" } ``` + "label": "A String", # The label for the field that displays to the user. + "name": "A String", # The name of the text input that's used in `formInput`, and uniquely identifies this input. + "onChangeAction": { # An action that describes the behavior when the form is submitted. For example, an Apps Script can be invoked to handle the form. # Triggered when the user clicks Save or Clear from the date/time picker dialog. This is only triggered if the value changed as a result of the Save/Clear operation. + "function": "A String", # Apps Script function to invoke when the containing element is clicked/activated. + "loadIndicator": "A String", # Specifies the loading indicator that the action displays while making the call to the action. + "parameters": [ # List of action parameters. + { # List of string parameters to supply when the action method is invoked. For example, consider three snooze buttons: snooze now, snooze 1 day, snooze next week. You might use action method = snooze(), passing the snooze type and snooze time in the list of string parameters. + "key": "A String", # The name of the parameter for the action script. + "value": "A String", # The value of the parameter. + }, + ], + "persistValues": True or False, # Indicates whether form values persist after the action. The default value is `false`. If `true`, form values remain after the action is triggered. When using [LoadIndicator.NONE](workspace/add-ons/reference/rpc/google.apps.card.v1#loadindicator) for actions, `persist_values` = `true`is recommended, as it ensures that any changes made by the user after form or on change actions are sent to the server are not overwritten by the response. If `false`, the form values are cleared when the action is triggered. When `persist_values` is set to `false`, it is strongly recommended that the card use [LoadIndicator.SPINNER](workspace/add-ons/reference/rpc/google.apps.card.v1#loadindicator) for all actions, as this locks the UI to ensure no changes are made by the user while the action is being processed. Not supported by Google Chat apps. + }, + "timezoneOffsetDate": 42, # The number representing the time zone offset from UTC, in minutes. If set, the `value_ms_epoch` is displayed in the specified time zone. If not set, it uses the user's time zone setting on the client side. + "type": "A String", # The type of the date/time picker. + "valueMsEpoch": "A String", # The value to display as the default value before user input or previous user input. It is represented in milliseconds (Epoch time). For `DATE_AND_TIME` type, the full epoch value is used. For `DATE_ONLY` type, only date of the epoch time is used. For `TIME_ONLY` type, only time of the epoch time is used. For example, you can set epoch time to `3 * 60 * 60 * 1000` to represent 3am. + }, + "decoratedText": { # A widget that displays text with optional decorations such as a label above or below the text, an icon in front of the text, a selection widget or a button after the text. # Displays a decorated text item in this widget. For example, the following JSON creates a decorated text widget showing email address: ``` "decoratedText": { "icon": { "knownIcon": "EMAIL" }, "topLabel": "Email Address", "content": "sasha@example.com", "bottomLabel": "This is a new Email address!", "switchWidget": { "name": "has_send_welcome_email_to_sasha", "selected": false, "controlType": "ControlType.CHECKBOX" } } ``` + "bottomLabel": "A String", # The formatted text label that shows below the main text. + "button": { # A button. Can be a text button or an image button. # A button that can be clicked to trigger an action. + "altText": "A String", # The alternative text used for accessibility. Has no effect when an icon is set; use `icon.alt_text` instead. + "color": { # Represents a color in the RGBA color space. This representation is designed for simplicity of conversion to/from color representations in various languages over compactness. For example, the fields of this representation can be trivially provided to the constructor of `java.awt.Color` in Java; it can also be trivially provided to UIColor's `+colorWithRed:green:blue:alpha` method in iOS; and, with just a little work, it can be easily formatted into a CSS `rgba()` string in JavaScript. This reference page doesn't carry information about the absolute color space that should be used to interpret the RGB value (e.g. sRGB, Adobe RGB, DCI-P3, BT.2020, etc.). By default, applications should assume the sRGB color space. When color equality needs to be decided, implementations, unless documented otherwise, treat two colors as equal if all their red, green, blue, and alpha values each differ by at most 1e-5. Example (Java): import com.google.type.Color; // ... public static java.awt.Color fromProto(Color protocolor) { float alpha = protocolor.hasAlpha() ? protocolor.getAlpha().getValue() : 1.0; return new java.awt.Color( protocolor.getRed(), protocolor.getGreen(), protocolor.getBlue(), alpha); } public static Color toProto(java.awt.Color color) { float red = (float) color.getRed(); float green = (float) color.getGreen(); float blue = (float) color.getBlue(); float denominator = 255.0; Color.Builder resultBuilder = Color .newBuilder() .setRed(red / denominator) .setGreen(green / denominator) .setBlue(blue / denominator); int alpha = color.getAlpha(); if (alpha != 255) { result.setAlpha( FloatValue .newBuilder() .setValue(((float) alpha) / denominator) .build()); } return resultBuilder.build(); } // ... Example (iOS / Obj-C): // ... static UIColor* fromProto(Color* protocolor) { float red = [protocolor red]; float green = [protocolor green]; float blue = [protocolor blue]; FloatValue* alpha_wrapper = [protocolor alpha]; float alpha = 1.0; if (alpha_wrapper != nil) { alpha = [alpha_wrapper value]; } return [UIColor colorWithRed:red green:green blue:blue alpha:alpha]; } static Color* toProto(UIColor* color) { CGFloat red, green, blue, alpha; if (![color getRed:&red green:&green blue:&blue alpha:&alpha]) { return nil; } Color* result = [[Color alloc] init]; [result setRed:red]; [result setGreen:green]; [result setBlue:blue]; if (alpha <= 0.9999) { [result setAlpha:floatWrapperWithValue(alpha)]; } [result autorelease]; return result; } // ... Example (JavaScript): // ... var protoToCssColor = function(rgb_color) { var redFrac = rgb_color.red || 0.0; var greenFrac = rgb_color.green || 0.0; var blueFrac = rgb_color.blue || 0.0; var red = Math.floor(redFrac * 255); var green = Math.floor(greenFrac * 255); var blue = Math.floor(blueFrac * 255); if (!('alpha' in rgb_color)) { return rgbToCssColor(red, green, blue); } var alphaFrac = rgb_color.alpha.value || 0.0; var rgbParams = [red, green, blue].join(','); return ['rgba(', rgbParams, ',', alphaFrac, ')'].join(''); }; var rgbToCssColor = function(red, green, blue) { var rgbNumber = new Number((red << 16) | (green << 8) | blue); var hexString = rgbNumber.toString(16); var missingZeros = 6 - hexString.length; var resultBuilder = ['#']; for (var i = 0; i < missingZeros; i++) { resultBuilder.push('0'); } resultBuilder.push(hexString); return resultBuilder.join(''); }; // ... # If set, the button is filled with a solid background. + "alpha": 3.14, # The fraction of this color that should be applied to the pixel. That is, the final pixel color is defined by the equation: `pixel color = alpha * (this color) + (1.0 - alpha) * (background color)` This means that a value of 1.0 corresponds to a solid color, whereas a value of 0.0 corresponds to a completely transparent color. This uses a wrapper message rather than a simple float scalar so that it is possible to distinguish between a default value and the value being unset. If omitted, this color object is rendered as a solid color (as if the alpha value had been explicitly given a value of 1.0). + "blue": 3.14, # The amount of blue in the color as a value in the interval [0, 1]. + "green": 3.14, # The amount of green in the color as a value in the interval [0, 1]. + "red": 3.14, # The amount of red in the color as a value in the interval [0, 1]. + }, + "disabled": True or False, # If `true`, the button is displayed in a disabled state and doesn't respond to user actions. + "icon": { # The icon image. + "altText": "A String", # The description of the icon, used for accessibility. The default value is provided if you don't specify one. + "iconUrl": "A String", # The icon specified by a URL. + "imageType": "A String", # The crop style applied to the image. In some cases, applying a `CIRCLE` crop causes the image to be drawn larger than a standard icon. + "knownIcon": "A String", # The icon specified by the string name of a list of known icons. + }, + "onClick": { # Represents the response to an `onClick` event. # The action to perform when the button is clicked. + "action": { # An action that describes the behavior when the form is submitted. For example, an Apps Script can be invoked to handle the form. # If specified, an action is triggered by this `onClick`. + "function": "A String", # Apps Script function to invoke when the containing element is clicked/activated. + "loadIndicator": "A String", # Specifies the loading indicator that the action displays while making the call to the action. + "parameters": [ # List of action parameters. + { # List of string parameters to supply when the action method is invoked. For example, consider three snooze buttons: snooze now, snooze 1 day, snooze next week. You might use action method = snooze(), passing the snooze type and snooze time in the list of string parameters. + "key": "A String", # The name of the parameter for the action script. + "value": "A String", # The value of the parameter. + }, + ], + "persistValues": True or False, # Indicates whether form values persist after the action. The default value is `false`. If `true`, form values remain after the action is triggered. When using [LoadIndicator.NONE](workspace/add-ons/reference/rpc/google.apps.card.v1#loadindicator) for actions, `persist_values` = `true`is recommended, as it ensures that any changes made by the user after form or on change actions are sent to the server are not overwritten by the response. If `false`, the form values are cleared when the action is triggered. When `persist_values` is set to `false`, it is strongly recommended that the card use [LoadIndicator.SPINNER](workspace/add-ons/reference/rpc/google.apps.card.v1#loadindicator) for all actions, as this locks the UI to ensure no changes are made by the user while the action is being processed. Not supported by Google Chat apps. + }, + "card": # Object with schema name: GoogleAppsCardV1Card # A new card is pushed to the card stack after clicking if specified. + "openDynamicLinkAction": { # An action that describes the behavior when the form is submitted. For example, an Apps Script can be invoked to handle the form. # An add-on triggers this action when the action needs to open a link. This differs from the `open_link` above in that this needs to talk to server to get the link. Thus some preparation work is required for web client to do before the open link action response comes back. + "function": "A String", # Apps Script function to invoke when the containing element is clicked/activated. + "loadIndicator": "A String", # Specifies the loading indicator that the action displays while making the call to the action. + "parameters": [ # List of action parameters. + { # List of string parameters to supply when the action method is invoked. For example, consider three snooze buttons: snooze now, snooze 1 day, snooze next week. You might use action method = snooze(), passing the snooze type and snooze time in the list of string parameters. + "key": "A String", # The name of the parameter for the action script. + "value": "A String", # The value of the parameter. + }, + ], + "persistValues": True or False, # Indicates whether form values persist after the action. The default value is `false`. If `true`, form values remain after the action is triggered. When using [LoadIndicator.NONE](workspace/add-ons/reference/rpc/google.apps.card.v1#loadindicator) for actions, `persist_values` = `true`is recommended, as it ensures that any changes made by the user after form or on change actions are sent to the server are not overwritten by the response. If `false`, the form values are cleared when the action is triggered. When `persist_values` is set to `false`, it is strongly recommended that the card use [LoadIndicator.SPINNER](workspace/add-ons/reference/rpc/google.apps.card.v1#loadindicator) for all actions, as this locks the UI to ensure no changes are made by the user while the action is being processed. Not supported by Google Chat apps. + }, + "openLink": { # Represents an `onClick` event that opens a hyperlink. # If specified, this `onClick` triggers an open link action. + "onClose": "A String", # Whether the client forgets about a link after opening it, or observes it until the window closes. Not supported by Chat apps. + "openAs": "A String", # How to open a link. Not supported by Chat apps. + "url": "A String", # The URL to open. + }, + }, + "text": "A String", # The text of the button. + }, + "endIcon": { # An icon displayed after the text. + "altText": "A String", # The description of the icon, used for accessibility. The default value is provided if you don't specify one. + "iconUrl": "A String", # The icon specified by a URL. + "imageType": "A String", # The crop style applied to the image. In some cases, applying a `CIRCLE` crop causes the image to be drawn larger than a standard icon. + "knownIcon": "A String", # The icon specified by the string name of a list of known icons. + }, + "icon": { # Deprecated in favor of start_icon. + "altText": "A String", # The description of the icon, used for accessibility. The default value is provided if you don't specify one. + "iconUrl": "A String", # The icon specified by a URL. + "imageType": "A String", # The crop style applied to the image. In some cases, applying a `CIRCLE` crop causes the image to be drawn larger than a standard icon. + "knownIcon": "A String", # The icon specified by the string name of a list of known icons. + }, + "onClick": { # Represents the response to an `onClick` event. # Only the top and bottom label and content region are clickable. + "action": { # An action that describes the behavior when the form is submitted. For example, an Apps Script can be invoked to handle the form. # If specified, an action is triggered by this `onClick`. + "function": "A String", # Apps Script function to invoke when the containing element is clicked/activated. + "loadIndicator": "A String", # Specifies the loading indicator that the action displays while making the call to the action. + "parameters": [ # List of action parameters. + { # List of string parameters to supply when the action method is invoked. For example, consider three snooze buttons: snooze now, snooze 1 day, snooze next week. You might use action method = snooze(), passing the snooze type and snooze time in the list of string parameters. + "key": "A String", # The name of the parameter for the action script. + "value": "A String", # The value of the parameter. + }, + ], + "persistValues": True or False, # Indicates whether form values persist after the action. The default value is `false`. If `true`, form values remain after the action is triggered. When using [LoadIndicator.NONE](workspace/add-ons/reference/rpc/google.apps.card.v1#loadindicator) for actions, `persist_values` = `true`is recommended, as it ensures that any changes made by the user after form or on change actions are sent to the server are not overwritten by the response. If `false`, the form values are cleared when the action is triggered. When `persist_values` is set to `false`, it is strongly recommended that the card use [LoadIndicator.SPINNER](workspace/add-ons/reference/rpc/google.apps.card.v1#loadindicator) for all actions, as this locks the UI to ensure no changes are made by the user while the action is being processed. Not supported by Google Chat apps. + }, + "card": # Object with schema name: GoogleAppsCardV1Card # A new card is pushed to the card stack after clicking if specified. + "openDynamicLinkAction": { # An action that describes the behavior when the form is submitted. For example, an Apps Script can be invoked to handle the form. # An add-on triggers this action when the action needs to open a link. This differs from the `open_link` above in that this needs to talk to server to get the link. Thus some preparation work is required for web client to do before the open link action response comes back. + "function": "A String", # Apps Script function to invoke when the containing element is clicked/activated. + "loadIndicator": "A String", # Specifies the loading indicator that the action displays while making the call to the action. + "parameters": [ # List of action parameters. + { # List of string parameters to supply when the action method is invoked. For example, consider three snooze buttons: snooze now, snooze 1 day, snooze next week. You might use action method = snooze(), passing the snooze type and snooze time in the list of string parameters. + "key": "A String", # The name of the parameter for the action script. + "value": "A String", # The value of the parameter. + }, + ], + "persistValues": True or False, # Indicates whether form values persist after the action. The default value is `false`. If `true`, form values remain after the action is triggered. When using [LoadIndicator.NONE](workspace/add-ons/reference/rpc/google.apps.card.v1#loadindicator) for actions, `persist_values` = `true`is recommended, as it ensures that any changes made by the user after form or on change actions are sent to the server are not overwritten by the response. If `false`, the form values are cleared when the action is triggered. When `persist_values` is set to `false`, it is strongly recommended that the card use [LoadIndicator.SPINNER](workspace/add-ons/reference/rpc/google.apps.card.v1#loadindicator) for all actions, as this locks the UI to ensure no changes are made by the user while the action is being processed. Not supported by Google Chat apps. + }, + "openLink": { # Represents an `onClick` event that opens a hyperlink. # If specified, this `onClick` triggers an open link action. + "onClose": "A String", # Whether the client forgets about a link after opening it, or observes it until the window closes. Not supported by Chat apps. + "openAs": "A String", # How to open a link. Not supported by Chat apps. + "url": "A String", # The URL to open. + }, + }, + "startIcon": { # The icon displayed in front of the text. + "altText": "A String", # The description of the icon, used for accessibility. The default value is provided if you don't specify one. + "iconUrl": "A String", # The icon specified by a URL. + "imageType": "A String", # The crop style applied to the image. In some cases, applying a `CIRCLE` crop causes the image to be drawn larger than a standard icon. + "knownIcon": "A String", # The icon specified by the string name of a list of known icons. + }, + "switchControl": { # Either a toggle-style switch or a checkbox. # A switch widget can be clicked to change its state or trigger an action. + "controlType": "A String", # The control type, either switch or checkbox. + "name": "A String", # The name of the switch widget that's used in `formInput`. + "onChangeAction": { # An action that describes the behavior when the form is submitted. For example, an Apps Script can be invoked to handle the form. # The action when the switch state is changed. + "function": "A String", # Apps Script function to invoke when the containing element is clicked/activated. + "loadIndicator": "A String", # Specifies the loading indicator that the action displays while making the call to the action. + "parameters": [ # List of action parameters. + { # List of string parameters to supply when the action method is invoked. For example, consider three snooze buttons: snooze now, snooze 1 day, snooze next week. You might use action method = snooze(), passing the snooze type and snooze time in the list of string parameters. + "key": "A String", # The name of the parameter for the action script. + "value": "A String", # The value of the parameter. + }, + ], + "persistValues": True or False, # Indicates whether form values persist after the action. The default value is `false`. If `true`, form values remain after the action is triggered. When using [LoadIndicator.NONE](workspace/add-ons/reference/rpc/google.apps.card.v1#loadindicator) for actions, `persist_values` = `true`is recommended, as it ensures that any changes made by the user after form or on change actions are sent to the server are not overwritten by the response. If `false`, the form values are cleared when the action is triggered. When `persist_values` is set to `false`, it is strongly recommended that the card use [LoadIndicator.SPINNER](workspace/add-ons/reference/rpc/google.apps.card.v1#loadindicator) for all actions, as this locks the UI to ensure no changes are made by the user while the action is being processed. Not supported by Google Chat apps. + }, + "selected": True or False, # If the switch is selected. + "value": "A String", # The value is what is passed back in the callback. + }, + "text": "A String", # Required. The main widget formatted text. See Text formatting for details. + "topLabel": "A String", # The formatted text label that shows above the main text. + "wrapText": True or False, # The wrap text setting. If `true`, the text is wrapped and displayed in multiline. Otherwise, the text is truncated. + }, + "divider": { # A divider that appears in between widgets. # Displays a divider. For example, the following JSON creates a divider: ``` "divider": { } ``` + }, + "grid": { # Represents a Grid widget that displays items in a configurable grid layout. # Displays a grid with a collection of items. For example, the following JSON creates a 2 column grid with a single item: ``` "grid": { "title": "A fine collection of items", "numColumns": 2, "borderStyle": { "type": "STROKE", "cornerRadius": 4.0 }, "items": [ "image": { "imageUri": "https://www.example.com/image.png", "cropStyle": { "type": "SQUARE" }, "borderStyle": { "type": "STROKE" } }, "title": "An item", "textAlignment": "CENTER" ], "onClick": { "openLink": { "url":"https://www.example.com" } } } ``` + "borderStyle": { # Represents the complete border style applied to widgets. # The border style to apply to each grid item. + "cornerRadius": 42, # The corner radius for the border. + "strokeColor": { # Represents a color in the RGBA color space. This representation is designed for simplicity of conversion to/from color representations in various languages over compactness. For example, the fields of this representation can be trivially provided to the constructor of `java.awt.Color` in Java; it can also be trivially provided to UIColor's `+colorWithRed:green:blue:alpha` method in iOS; and, with just a little work, it can be easily formatted into a CSS `rgba()` string in JavaScript. This reference page doesn't carry information about the absolute color space that should be used to interpret the RGB value (e.g. sRGB, Adobe RGB, DCI-P3, BT.2020, etc.). By default, applications should assume the sRGB color space. When color equality needs to be decided, implementations, unless documented otherwise, treat two colors as equal if all their red, green, blue, and alpha values each differ by at most 1e-5. Example (Java): import com.google.type.Color; // ... public static java.awt.Color fromProto(Color protocolor) { float alpha = protocolor.hasAlpha() ? protocolor.getAlpha().getValue() : 1.0; return new java.awt.Color( protocolor.getRed(), protocolor.getGreen(), protocolor.getBlue(), alpha); } public static Color toProto(java.awt.Color color) { float red = (float) color.getRed(); float green = (float) color.getGreen(); float blue = (float) color.getBlue(); float denominator = 255.0; Color.Builder resultBuilder = Color .newBuilder() .setRed(red / denominator) .setGreen(green / denominator) .setBlue(blue / denominator); int alpha = color.getAlpha(); if (alpha != 255) { result.setAlpha( FloatValue .newBuilder() .setValue(((float) alpha) / denominator) .build()); } return resultBuilder.build(); } // ... Example (iOS / Obj-C): // ... static UIColor* fromProto(Color* protocolor) { float red = [protocolor red]; float green = [protocolor green]; float blue = [protocolor blue]; FloatValue* alpha_wrapper = [protocolor alpha]; float alpha = 1.0; if (alpha_wrapper != nil) { alpha = [alpha_wrapper value]; } return [UIColor colorWithRed:red green:green blue:blue alpha:alpha]; } static Color* toProto(UIColor* color) { CGFloat red, green, blue, alpha; if (![color getRed:&red green:&green blue:&blue alpha:&alpha]) { return nil; } Color* result = [[Color alloc] init]; [result setRed:red]; [result setGreen:green]; [result setBlue:blue]; if (alpha <= 0.9999) { [result setAlpha:floatWrapperWithValue(alpha)]; } [result autorelease]; return result; } // ... Example (JavaScript): // ... var protoToCssColor = function(rgb_color) { var redFrac = rgb_color.red || 0.0; var greenFrac = rgb_color.green || 0.0; var blueFrac = rgb_color.blue || 0.0; var red = Math.floor(redFrac * 255); var green = Math.floor(greenFrac * 255); var blue = Math.floor(blueFrac * 255); if (!('alpha' in rgb_color)) { return rgbToCssColor(red, green, blue); } var alphaFrac = rgb_color.alpha.value || 0.0; var rgbParams = [red, green, blue].join(','); return ['rgba(', rgbParams, ',', alphaFrac, ')'].join(''); }; var rgbToCssColor = function(red, green, blue) { var rgbNumber = new Number((red << 16) | (green << 8) | blue); var hexString = rgbNumber.toString(16); var missingZeros = 6 - hexString.length; var resultBuilder = ['#']; for (var i = 0; i < missingZeros; i++) { resultBuilder.push('0'); } resultBuilder.push(hexString); return resultBuilder.join(''); }; // ... # The colors to use when the type is `BORDER_TYPE_STROKE`. + "alpha": 3.14, # The fraction of this color that should be applied to the pixel. That is, the final pixel color is defined by the equation: `pixel color = alpha * (this color) + (1.0 - alpha) * (background color)` This means that a value of 1.0 corresponds to a solid color, whereas a value of 0.0 corresponds to a completely transparent color. This uses a wrapper message rather than a simple float scalar so that it is possible to distinguish between a default value and the value being unset. If omitted, this color object is rendered as a solid color (as if the alpha value had been explicitly given a value of 1.0). + "blue": 3.14, # The amount of blue in the color as a value in the interval [0, 1]. + "green": 3.14, # The amount of green in the color as a value in the interval [0, 1]. + "red": 3.14, # The amount of red in the color as a value in the interval [0, 1]. + }, + "type": "A String", # The border type. + }, + "columnCount": 42, # The number of columns to display in the grid. A default value is used if this field isn't specified, and that default value is different depending on where the grid is shown (dialog versus companion). + "items": [ # The items to display in the grid. + { # Represents a single item in the grid layout. + "id": "A String", # A user-specified identifier for this grid item. This identifier is returned in the parent Grid's onClick callback parameters. + "image": { # Represents an image. # The image that displays in the grid item. + "altText": "A String", # The accessibility label for the image. + "borderStyle": { # Represents the complete border style applied to widgets. # The border style to apply to the image. + "cornerRadius": 42, # The corner radius for the border. + "strokeColor": { # Represents a color in the RGBA color space. This representation is designed for simplicity of conversion to/from color representations in various languages over compactness. For example, the fields of this representation can be trivially provided to the constructor of `java.awt.Color` in Java; it can also be trivially provided to UIColor's `+colorWithRed:green:blue:alpha` method in iOS; and, with just a little work, it can be easily formatted into a CSS `rgba()` string in JavaScript. This reference page doesn't carry information about the absolute color space that should be used to interpret the RGB value (e.g. sRGB, Adobe RGB, DCI-P3, BT.2020, etc.). By default, applications should assume the sRGB color space. When color equality needs to be decided, implementations, unless documented otherwise, treat two colors as equal if all their red, green, blue, and alpha values each differ by at most 1e-5. Example (Java): import com.google.type.Color; // ... public static java.awt.Color fromProto(Color protocolor) { float alpha = protocolor.hasAlpha() ? protocolor.getAlpha().getValue() : 1.0; return new java.awt.Color( protocolor.getRed(), protocolor.getGreen(), protocolor.getBlue(), alpha); } public static Color toProto(java.awt.Color color) { float red = (float) color.getRed(); float green = (float) color.getGreen(); float blue = (float) color.getBlue(); float denominator = 255.0; Color.Builder resultBuilder = Color .newBuilder() .setRed(red / denominator) .setGreen(green / denominator) .setBlue(blue / denominator); int alpha = color.getAlpha(); if (alpha != 255) { result.setAlpha( FloatValue .newBuilder() .setValue(((float) alpha) / denominator) .build()); } return resultBuilder.build(); } // ... Example (iOS / Obj-C): // ... static UIColor* fromProto(Color* protocolor) { float red = [protocolor red]; float green = [protocolor green]; float blue = [protocolor blue]; FloatValue* alpha_wrapper = [protocolor alpha]; float alpha = 1.0; if (alpha_wrapper != nil) { alpha = [alpha_wrapper value]; } return [UIColor colorWithRed:red green:green blue:blue alpha:alpha]; } static Color* toProto(UIColor* color) { CGFloat red, green, blue, alpha; if (![color getRed:&red green:&green blue:&blue alpha:&alpha]) { return nil; } Color* result = [[Color alloc] init]; [result setRed:red]; [result setGreen:green]; [result setBlue:blue]; if (alpha <= 0.9999) { [result setAlpha:floatWrapperWithValue(alpha)]; } [result autorelease]; return result; } // ... Example (JavaScript): // ... var protoToCssColor = function(rgb_color) { var redFrac = rgb_color.red || 0.0; var greenFrac = rgb_color.green || 0.0; var blueFrac = rgb_color.blue || 0.0; var red = Math.floor(redFrac * 255); var green = Math.floor(greenFrac * 255); var blue = Math.floor(blueFrac * 255); if (!('alpha' in rgb_color)) { return rgbToCssColor(red, green, blue); } var alphaFrac = rgb_color.alpha.value || 0.0; var rgbParams = [red, green, blue].join(','); return ['rgba(', rgbParams, ',', alphaFrac, ')'].join(''); }; var rgbToCssColor = function(red, green, blue) { var rgbNumber = new Number((red << 16) | (green << 8) | blue); var hexString = rgbNumber.toString(16); var missingZeros = 6 - hexString.length; var resultBuilder = ['#']; for (var i = 0; i < missingZeros; i++) { resultBuilder.push('0'); } resultBuilder.push(hexString); return resultBuilder.join(''); }; // ... # The colors to use when the type is `BORDER_TYPE_STROKE`. + "alpha": 3.14, # The fraction of this color that should be applied to the pixel. That is, the final pixel color is defined by the equation: `pixel color = alpha * (this color) + (1.0 - alpha) * (background color)` This means that a value of 1.0 corresponds to a solid color, whereas a value of 0.0 corresponds to a completely transparent color. This uses a wrapper message rather than a simple float scalar so that it is possible to distinguish between a default value and the value being unset. If omitted, this color object is rendered as a solid color (as if the alpha value had been explicitly given a value of 1.0). + "blue": 3.14, # The amount of blue in the color as a value in the interval [0, 1]. + "green": 3.14, # The amount of green in the color as a value in the interval [0, 1]. + "red": 3.14, # The amount of red in the color as a value in the interval [0, 1]. + }, + "type": "A String", # The border type. + }, + "cropStyle": { # Represents the crop style applied to an image. # The crop style to apply to the image. + "aspectRatio": 3.14, # The aspect ratio to use if the crop type is `RECTANGLE_CUSTOM`. + "type": "A String", # The crop type. + }, + "imageUri": "A String", # The image URL. + }, + "layout": "A String", # The layout to use for the grid item. + "subtitle": "A String", # The grid item's subtitle. + "textAlignment": "A String", # The horizontal alignment of the grid item's text. + "title": "A String", # The grid item's title. + }, + ], + "onClick": { # Represents the response to an `onClick` event. # This callback is reused by each individual grid item, but with the item's identifier and index in the items list added to the callback's parameters. + "action": { # An action that describes the behavior when the form is submitted. For example, an Apps Script can be invoked to handle the form. # If specified, an action is triggered by this `onClick`. + "function": "A String", # Apps Script function to invoke when the containing element is clicked/activated. + "loadIndicator": "A String", # Specifies the loading indicator that the action displays while making the call to the action. + "parameters": [ # List of action parameters. + { # List of string parameters to supply when the action method is invoked. For example, consider three snooze buttons: snooze now, snooze 1 day, snooze next week. You might use action method = snooze(), passing the snooze type and snooze time in the list of string parameters. + "key": "A String", # The name of the parameter for the action script. + "value": "A String", # The value of the parameter. + }, + ], + "persistValues": True or False, # Indicates whether form values persist after the action. The default value is `false`. If `true`, form values remain after the action is triggered. When using [LoadIndicator.NONE](workspace/add-ons/reference/rpc/google.apps.card.v1#loadindicator) for actions, `persist_values` = `true`is recommended, as it ensures that any changes made by the user after form or on change actions are sent to the server are not overwritten by the response. If `false`, the form values are cleared when the action is triggered. When `persist_values` is set to `false`, it is strongly recommended that the card use [LoadIndicator.SPINNER](workspace/add-ons/reference/rpc/google.apps.card.v1#loadindicator) for all actions, as this locks the UI to ensure no changes are made by the user while the action is being processed. Not supported by Google Chat apps. + }, + "card": # Object with schema name: GoogleAppsCardV1Card # A new card is pushed to the card stack after clicking if specified. + "openDynamicLinkAction": { # An action that describes the behavior when the form is submitted. For example, an Apps Script can be invoked to handle the form. # An add-on triggers this action when the action needs to open a link. This differs from the `open_link` above in that this needs to talk to server to get the link. Thus some preparation work is required for web client to do before the open link action response comes back. + "function": "A String", # Apps Script function to invoke when the containing element is clicked/activated. + "loadIndicator": "A String", # Specifies the loading indicator that the action displays while making the call to the action. + "parameters": [ # List of action parameters. + { # List of string parameters to supply when the action method is invoked. For example, consider three snooze buttons: snooze now, snooze 1 day, snooze next week. You might use action method = snooze(), passing the snooze type and snooze time in the list of string parameters. + "key": "A String", # The name of the parameter for the action script. + "value": "A String", # The value of the parameter. + }, + ], + "persistValues": True or False, # Indicates whether form values persist after the action. The default value is `false`. If `true`, form values remain after the action is triggered. When using [LoadIndicator.NONE](workspace/add-ons/reference/rpc/google.apps.card.v1#loadindicator) for actions, `persist_values` = `true`is recommended, as it ensures that any changes made by the user after form or on change actions are sent to the server are not overwritten by the response. If `false`, the form values are cleared when the action is triggered. When `persist_values` is set to `false`, it is strongly recommended that the card use [LoadIndicator.SPINNER](workspace/add-ons/reference/rpc/google.apps.card.v1#loadindicator) for all actions, as this locks the UI to ensure no changes are made by the user while the action is being processed. Not supported by Google Chat apps. + }, + "openLink": { # Represents an `onClick` event that opens a hyperlink. # If specified, this `onClick` triggers an open link action. + "onClose": "A String", # Whether the client forgets about a link after opening it, or observes it until the window closes. Not supported by Chat apps. + "openAs": "A String", # How to open a link. Not supported by Chat apps. + "url": "A String", # The URL to open. + }, + }, + "title": "A String", # The text that displays in the grid header. + }, + "horizontalAlignment": "A String", # The horizontal alignment of this widget. + "image": { # An image that is specified by a URL and can have an `onClick` action. # Displays an image in this widget. For example, the following JSON creates an image with alternative text: ``` "image": { "imageUrl": "https://example.com/sasha.png" "altText": "Avatar for Sasha" } ``` + "altText": "A String", # The alternative text of this image, used for accessibility. + "imageUrl": "A String", # An image URL. + "onClick": { # Represents the response to an `onClick` event. # The action triggered by an `onClick` event. + "action": { # An action that describes the behavior when the form is submitted. For example, an Apps Script can be invoked to handle the form. # If specified, an action is triggered by this `onClick`. + "function": "A String", # Apps Script function to invoke when the containing element is clicked/activated. + "loadIndicator": "A String", # Specifies the loading indicator that the action displays while making the call to the action. + "parameters": [ # List of action parameters. + { # List of string parameters to supply when the action method is invoked. For example, consider three snooze buttons: snooze now, snooze 1 day, snooze next week. You might use action method = snooze(), passing the snooze type and snooze time in the list of string parameters. + "key": "A String", # The name of the parameter for the action script. + "value": "A String", # The value of the parameter. + }, + ], + "persistValues": True or False, # Indicates whether form values persist after the action. The default value is `false`. If `true`, form values remain after the action is triggered. When using [LoadIndicator.NONE](workspace/add-ons/reference/rpc/google.apps.card.v1#loadindicator) for actions, `persist_values` = `true`is recommended, as it ensures that any changes made by the user after form or on change actions are sent to the server are not overwritten by the response. If `false`, the form values are cleared when the action is triggered. When `persist_values` is set to `false`, it is strongly recommended that the card use [LoadIndicator.SPINNER](workspace/add-ons/reference/rpc/google.apps.card.v1#loadindicator) for all actions, as this locks the UI to ensure no changes are made by the user while the action is being processed. Not supported by Google Chat apps. + }, + "card": # Object with schema name: GoogleAppsCardV1Card # A new card is pushed to the card stack after clicking if specified. + "openDynamicLinkAction": { # An action that describes the behavior when the form is submitted. For example, an Apps Script can be invoked to handle the form. # An add-on triggers this action when the action needs to open a link. This differs from the `open_link` above in that this needs to talk to server to get the link. Thus some preparation work is required for web client to do before the open link action response comes back. + "function": "A String", # Apps Script function to invoke when the containing element is clicked/activated. + "loadIndicator": "A String", # Specifies the loading indicator that the action displays while making the call to the action. + "parameters": [ # List of action parameters. + { # List of string parameters to supply when the action method is invoked. For example, consider three snooze buttons: snooze now, snooze 1 day, snooze next week. You might use action method = snooze(), passing the snooze type and snooze time in the list of string parameters. + "key": "A String", # The name of the parameter for the action script. + "value": "A String", # The value of the parameter. + }, + ], + "persistValues": True or False, # Indicates whether form values persist after the action. The default value is `false`. If `true`, form values remain after the action is triggered. When using [LoadIndicator.NONE](workspace/add-ons/reference/rpc/google.apps.card.v1#loadindicator) for actions, `persist_values` = `true`is recommended, as it ensures that any changes made by the user after form or on change actions are sent to the server are not overwritten by the response. If `false`, the form values are cleared when the action is triggered. When `persist_values` is set to `false`, it is strongly recommended that the card use [LoadIndicator.SPINNER](workspace/add-ons/reference/rpc/google.apps.card.v1#loadindicator) for all actions, as this locks the UI to ensure no changes are made by the user while the action is being processed. Not supported by Google Chat apps. + }, + "openLink": { # Represents an `onClick` event that opens a hyperlink. # If specified, this `onClick` triggers an open link action. + "onClose": "A String", # Whether the client forgets about a link after opening it, or observes it until the window closes. Not supported by Chat apps. + "openAs": "A String", # How to open a link. Not supported by Chat apps. + "url": "A String", # The URL to open. + }, + }, + }, + "selectionInput": { # A widget that creates a UI item with options for users to select. For example, a dropdown menu. # Displays a switch control in this widget. For example, the following JSON creates a dropdown selection for size: ``` "switchControl": { "name": "size", "label": "Size" "type": "SelectionType.DROPDOWN", "items": [ { "text": "S", "value": "small", "selected": false }, { "text": "M", "value": "medium", "selected": true }, { "text": "L", "value": "large", "selected": false }, { "text": "XL", "value": "extra_large", "selected": false } ] } ``` + "items": [ # An array of the selected items. + { # A selectable item in the switch control. + "selected": True or False, # If more than one item is selected for `RADIO_BUTTON` and `DROPDOWN`, the first selected item is treated as selected and the ones after are ignored. + "text": "A String", # The text to be displayed. + "value": "A String", # The value associated with this item. The client should use this as a form input value. + }, + ], + "label": "A String", # The label displayed ahead of the switch control. + "name": "A String", # The name of the text input which is used in `formInput`. + "onChangeAction": { # An action that describes the behavior when the form is submitted. For example, an Apps Script can be invoked to handle the form. # If specified, the form is submitted when the selection changes. If not specified, you must specify a separate button. + "function": "A String", # Apps Script function to invoke when the containing element is clicked/activated. + "loadIndicator": "A String", # Specifies the loading indicator that the action displays while making the call to the action. + "parameters": [ # List of action parameters. + { # List of string parameters to supply when the action method is invoked. For example, consider three snooze buttons: snooze now, snooze 1 day, snooze next week. You might use action method = snooze(), passing the snooze type and snooze time in the list of string parameters. + "key": "A String", # The name of the parameter for the action script. + "value": "A String", # The value of the parameter. + }, + ], + "persistValues": True or False, # Indicates whether form values persist after the action. The default value is `false`. If `true`, form values remain after the action is triggered. When using [LoadIndicator.NONE](workspace/add-ons/reference/rpc/google.apps.card.v1#loadindicator) for actions, `persist_values` = `true`is recommended, as it ensures that any changes made by the user after form or on change actions are sent to the server are not overwritten by the response. If `false`, the form values are cleared when the action is triggered. When `persist_values` is set to `false`, it is strongly recommended that the card use [LoadIndicator.SPINNER](workspace/add-ons/reference/rpc/google.apps.card.v1#loadindicator) for all actions, as this locks the UI to ensure no changes are made by the user while the action is being processed. Not supported by Google Chat apps. + }, + "type": "A String", # The type of the selection. + }, + "textInput": { # A text input is a UI item where users can input text. A text input can also have an onChange action and suggestions. # Displays a text input in this widget. For example, the following JSON creates a text input for mail address: ``` "textInput": { "name": "mailing_address", "label": "Mailing Address" } ``` As another example, the following JSON creates a text input for programming language with static suggestions: ``` "textInput": { "name": "preferred_programing_language", "label": "Preferred Language", "initialSuggestions": { "items": [ { "text": "C++" }, { "text": "Java" }, { "text": "JavaScript" }, { "text": "Python" } ] } } ``` + "autoCompleteAction": { # An action that describes the behavior when the form is submitted. For example, an Apps Script can be invoked to handle the form. # The refresh function that returns suggestions based on the user's input text. If the callback is not specified, autocomplete is done in client side based on the initial suggestion items. + "function": "A String", # Apps Script function to invoke when the containing element is clicked/activated. + "loadIndicator": "A String", # Specifies the loading indicator that the action displays while making the call to the action. + "parameters": [ # List of action parameters. + { # List of string parameters to supply when the action method is invoked. For example, consider three snooze buttons: snooze now, snooze 1 day, snooze next week. You might use action method = snooze(), passing the snooze type and snooze time in the list of string parameters. + "key": "A String", # The name of the parameter for the action script. + "value": "A String", # The value of the parameter. + }, + ], + "persistValues": True or False, # Indicates whether form values persist after the action. The default value is `false`. If `true`, form values remain after the action is triggered. When using [LoadIndicator.NONE](workspace/add-ons/reference/rpc/google.apps.card.v1#loadindicator) for actions, `persist_values` = `true`is recommended, as it ensures that any changes made by the user after form or on change actions are sent to the server are not overwritten by the response. If `false`, the form values are cleared when the action is triggered. When `persist_values` is set to `false`, it is strongly recommended that the card use [LoadIndicator.SPINNER](workspace/add-ons/reference/rpc/google.apps.card.v1#loadindicator) for all actions, as this locks the UI to ensure no changes are made by the user while the action is being processed. Not supported by Google Chat apps. + }, + "hintText": "A String", # The hint text. + "initialSuggestions": { # A container wrapping elements necessary for showing suggestion items used in text input autocomplete. # The initial suggestions made before any user input. + "items": [ # A list of suggestions used for autocomplete recommendations. + { # A suggestion item. + "text": "A String", # The suggested autocomplete result. + }, + ], + }, + "label": "A String", # At least one of label and hintText must be specified. + "name": "A String", # The name of the text input which is used in `formInput`. + "onChangeAction": { # An action that describes the behavior when the form is submitted. For example, an Apps Script can be invoked to handle the form. # The onChange action, for example, invoke a function. + "function": "A String", # Apps Script function to invoke when the containing element is clicked/activated. + "loadIndicator": "A String", # Specifies the loading indicator that the action displays while making the call to the action. + "parameters": [ # List of action parameters. + { # List of string parameters to supply when the action method is invoked. For example, consider three snooze buttons: snooze now, snooze 1 day, snooze next week. You might use action method = snooze(), passing the snooze type and snooze time in the list of string parameters. + "key": "A String", # The name of the parameter for the action script. + "value": "A String", # The value of the parameter. + }, + ], + "persistValues": True or False, # Indicates whether form values persist after the action. The default value is `false`. If `true`, form values remain after the action is triggered. When using [LoadIndicator.NONE](workspace/add-ons/reference/rpc/google.apps.card.v1#loadindicator) for actions, `persist_values` = `true`is recommended, as it ensures that any changes made by the user after form or on change actions are sent to the server are not overwritten by the response. If `false`, the form values are cleared when the action is triggered. When `persist_values` is set to `false`, it is strongly recommended that the card use [LoadIndicator.SPINNER](workspace/add-ons/reference/rpc/google.apps.card.v1#loadindicator) for all actions, as this locks the UI to ensure no changes are made by the user while the action is being processed. Not supported by Google Chat apps. + }, + "type": "A String", # The style of the text, for example, a single line or multiple lines. + "value": "A String", # The default value when there is no input from the user. + }, + "textParagraph": { # A paragraph of text that supports formatting. See [Text formatting](workspace/add-ons/concepts/widgets#text_formatting) for details. # Displays a text paragraph in this widget. For example, the following JSON creates a bolded text: ``` "textParagraph": { "text": " *bold text*" } ``` + "text": "A String", # The text that's shown in the widget. + }, + }, + ], + }, + ], + }, + "cardId": "A String", # Required for `cardsV2` messages. Chat app-specified identifier for this widget. Scoped within a message. + }, + ], "createTime": "A String", # Output only. The time at which the message was created in Google Chat server. "fallbackText": "A String", # A plain-text description of the message's cards, used when the actual cards cannot be displayed (e.g. mobile notifications). "lastUpdateTime": "A String", # Output only. The time at which the message was last edited by a user. If the message has never been edited, this field is empty. @@ -861,8 +1383,12 @@

Method Details

"displayName": "A String", # The space's display name. For direct messages between humans, this field might be empty. "name": "A String", # Resource name of the space. Format: spaces/{space} "singleUserBotDm": True or False, # Output only. Whether the space is a DM between a Chat app and a single human. + "spaceDetails": { # Details about the space including description and rules. # Details about the space including description and rules. + "description": "A String", # Optional. A description of the space. It could describe the space's discussion topic, functional purpose, or participants. + "guidelines": "A String", # Optional. The space's rules, expectations, and etiquette. + }, "threaded": True or False, # Output only. Whether messages are threaded in this space. - "type": "A String", # Output only. Deprecated: Use `single_user_bot_dm` or `space_type` (developer preview) instead. The type of a space. + "type": "A String", # Output only. Deprecated: Use `singleUserBotDm` or `spaceType` (developer preview) instead. The type of a space. }, "text": "A String", # Plain-text body of the message. The first link to an image, video, web page, or other preview-able item generates a preview chip. "thread": { # A thread in Google Chat. # The thread the message belongs to. @@ -1611,10 +2137,532 @@

Method Details

"textParagraph": { # A paragraph of text. Formatted text supported. # Display a text paragraph in this widget. "text": "A String", }, - }, - ], - }, - ], + }, + ], + }, + ], + }, + ], + "cardsV2": [ # Richly formatted and interactive cards that display UI elements and editable widgets, such as: - Formatted text - Buttons - Clickable images - Checkboxes - Radio buttons - Input widgets. Cards are usually displayed below the text-body of a Chat message, but can situationally appear other places, such as [dialogs](https://developers.google.com/chat/how-tos/dialogs). The `cardId` is a unique identifier among cards in the same message and for identifying user input values. Currently supported widgets include: - `TextParagraph` - `DecoratedText` - `Image` - `ButtonList` + { # Widgets for Chat apps to specify. + "card": { # A card is a UI element that can contain UI widgets such as text and images. For more information, see Cards . For example, the following JSON creates a card that has a header with the name, position, icons, and link for a contact, followed by a section with contact information like email and phone number. ``` { "header": { "title": "Sasha", "subtitle": "Software Engineer", "imageStyle": "ImageStyle.AVATAR", "imageUrl": "https://example.com/sasha.png", "imageAltText": "Avatar for Sasha" }, "sections" : [ { "header": "Contact Info", "widgets": [ { "decorated_text": { "icon": { "knownIcon": "EMAIL" }, "content": "sasha@example.com" } }, { "decoratedText": { "icon": { "knownIcon": "PERSON" }, "content": "Online" } }, { "decoratedText": { "icon": { "knownIcon": "PHONE" }, "content": "+1 (555) 555-1234" } }, { "buttons": [ { "textButton": { "text": "Share", }, "onClick": { "openLink": { "url": "https://example.com/share" } } }, { "textButton": { "text": "Edit", }, "onClick": { "action": { "function": "goToView", "parameters": [ { "key": "viewType", "value": "EDIT" } ], "loadIndicator": "LoadIndicator.SPINNER" } } } ] } ], "collapsible": true, "uncollapsibleWidgetsCount": 3 } ], "cardActions": [ { "actionLabel": "Send Feedback", "onClick": { "openLink": { "url": "https://example.com/feedback" } } } ], "name": "contact-card-K3wB6arF2H9L" } ``` # Card proto that allows Chat apps to specify UI elements and editable widgets. + "cardActions": [ # The card's actions. Actions are added to the card's generated toolbar menu. For example, the following JSON constructs a card action menu with Settings and Send Feedback options: ``` "card_actions": [ { "actionLabel": "Settings", "onClick": { "action": { "functionName": "goToView", "parameters": [ { "key": "viewType", "value": "SETTING" } ], "loadIndicator": "LoadIndicator.SPINNER" } } }, { "actionLabel": "Send Feedback", "onClick": { "openLink": { "url": "https://example.com/feedback" } } } ] ``` + { # A card action is the action associated with the card. For example, an invoice card might include actions such as delete invoice, email invoice, or open the invoice in a browser. + "actionLabel": "A String", # The label that displays as the action menu item. + "onClick": { # Represents the response to an `onClick` event. # The `onClick` action for this action item. + "action": { # An action that describes the behavior when the form is submitted. For example, an Apps Script can be invoked to handle the form. # If specified, an action is triggered by this `onClick`. + "function": "A String", # Apps Script function to invoke when the containing element is clicked/activated. + "loadIndicator": "A String", # Specifies the loading indicator that the action displays while making the call to the action. + "parameters": [ # List of action parameters. + { # List of string parameters to supply when the action method is invoked. For example, consider three snooze buttons: snooze now, snooze 1 day, snooze next week. You might use action method = snooze(), passing the snooze type and snooze time in the list of string parameters. + "key": "A String", # The name of the parameter for the action script. + "value": "A String", # The value of the parameter. + }, + ], + "persistValues": True or False, # Indicates whether form values persist after the action. The default value is `false`. If `true`, form values remain after the action is triggered. When using [LoadIndicator.NONE](workspace/add-ons/reference/rpc/google.apps.card.v1#loadindicator) for actions, `persist_values` = `true`is recommended, as it ensures that any changes made by the user after form or on change actions are sent to the server are not overwritten by the response. If `false`, the form values are cleared when the action is triggered. When `persist_values` is set to `false`, it is strongly recommended that the card use [LoadIndicator.SPINNER](workspace/add-ons/reference/rpc/google.apps.card.v1#loadindicator) for all actions, as this locks the UI to ensure no changes are made by the user while the action is being processed. Not supported by Google Chat apps. + }, + "card": # Object with schema name: GoogleAppsCardV1Card # A new card is pushed to the card stack after clicking if specified. + "openDynamicLinkAction": { # An action that describes the behavior when the form is submitted. For example, an Apps Script can be invoked to handle the form. # An add-on triggers this action when the action needs to open a link. This differs from the `open_link` above in that this needs to talk to server to get the link. Thus some preparation work is required for web client to do before the open link action response comes back. + "function": "A String", # Apps Script function to invoke when the containing element is clicked/activated. + "loadIndicator": "A String", # Specifies the loading indicator that the action displays while making the call to the action. + "parameters": [ # List of action parameters. + { # List of string parameters to supply when the action method is invoked. For example, consider three snooze buttons: snooze now, snooze 1 day, snooze next week. You might use action method = snooze(), passing the snooze type and snooze time in the list of string parameters. + "key": "A String", # The name of the parameter for the action script. + "value": "A String", # The value of the parameter. + }, + ], + "persistValues": True or False, # Indicates whether form values persist after the action. The default value is `false`. If `true`, form values remain after the action is triggered. When using [LoadIndicator.NONE](workspace/add-ons/reference/rpc/google.apps.card.v1#loadindicator) for actions, `persist_values` = `true`is recommended, as it ensures that any changes made by the user after form or on change actions are sent to the server are not overwritten by the response. If `false`, the form values are cleared when the action is triggered. When `persist_values` is set to `false`, it is strongly recommended that the card use [LoadIndicator.SPINNER](workspace/add-ons/reference/rpc/google.apps.card.v1#loadindicator) for all actions, as this locks the UI to ensure no changes are made by the user while the action is being processed. Not supported by Google Chat apps. + }, + "openLink": { # Represents an `onClick` event that opens a hyperlink. # If specified, this `onClick` triggers an open link action. + "onClose": "A String", # Whether the client forgets about a link after opening it, or observes it until the window closes. Not supported by Chat apps. + "openAs": "A String", # How to open a link. Not supported by Chat apps. + "url": "A String", # The URL to open. + }, + }, + }, + ], + "displayStyle": "A String", # The `peekCardHeader` display style for. Not supported by Google Chat apps. + "fixedFooter": { # A persistent (sticky) footer that is added to the bottom of the card. # The fixed footer shown at the bottom of this card. + "primaryButton": { # A button. Can be a text button or an image button. # The primary button of the fixed footer. The button must be a text button with text and color set. + "altText": "A String", # The alternative text used for accessibility. Has no effect when an icon is set; use `icon.alt_text` instead. + "color": { # Represents a color in the RGBA color space. This representation is designed for simplicity of conversion to/from color representations in various languages over compactness. For example, the fields of this representation can be trivially provided to the constructor of `java.awt.Color` in Java; it can also be trivially provided to UIColor's `+colorWithRed:green:blue:alpha` method in iOS; and, with just a little work, it can be easily formatted into a CSS `rgba()` string in JavaScript. This reference page doesn't carry information about the absolute color space that should be used to interpret the RGB value (e.g. sRGB, Adobe RGB, DCI-P3, BT.2020, etc.). By default, applications should assume the sRGB color space. When color equality needs to be decided, implementations, unless documented otherwise, treat two colors as equal if all their red, green, blue, and alpha values each differ by at most 1e-5. Example (Java): import com.google.type.Color; // ... public static java.awt.Color fromProto(Color protocolor) { float alpha = protocolor.hasAlpha() ? protocolor.getAlpha().getValue() : 1.0; return new java.awt.Color( protocolor.getRed(), protocolor.getGreen(), protocolor.getBlue(), alpha); } public static Color toProto(java.awt.Color color) { float red = (float) color.getRed(); float green = (float) color.getGreen(); float blue = (float) color.getBlue(); float denominator = 255.0; Color.Builder resultBuilder = Color .newBuilder() .setRed(red / denominator) .setGreen(green / denominator) .setBlue(blue / denominator); int alpha = color.getAlpha(); if (alpha != 255) { result.setAlpha( FloatValue .newBuilder() .setValue(((float) alpha) / denominator) .build()); } return resultBuilder.build(); } // ... Example (iOS / Obj-C): // ... static UIColor* fromProto(Color* protocolor) { float red = [protocolor red]; float green = [protocolor green]; float blue = [protocolor blue]; FloatValue* alpha_wrapper = [protocolor alpha]; float alpha = 1.0; if (alpha_wrapper != nil) { alpha = [alpha_wrapper value]; } return [UIColor colorWithRed:red green:green blue:blue alpha:alpha]; } static Color* toProto(UIColor* color) { CGFloat red, green, blue, alpha; if (![color getRed:&red green:&green blue:&blue alpha:&alpha]) { return nil; } Color* result = [[Color alloc] init]; [result setRed:red]; [result setGreen:green]; [result setBlue:blue]; if (alpha <= 0.9999) { [result setAlpha:floatWrapperWithValue(alpha)]; } [result autorelease]; return result; } // ... Example (JavaScript): // ... var protoToCssColor = function(rgb_color) { var redFrac = rgb_color.red || 0.0; var greenFrac = rgb_color.green || 0.0; var blueFrac = rgb_color.blue || 0.0; var red = Math.floor(redFrac * 255); var green = Math.floor(greenFrac * 255); var blue = Math.floor(blueFrac * 255); if (!('alpha' in rgb_color)) { return rgbToCssColor(red, green, blue); } var alphaFrac = rgb_color.alpha.value || 0.0; var rgbParams = [red, green, blue].join(','); return ['rgba(', rgbParams, ',', alphaFrac, ')'].join(''); }; var rgbToCssColor = function(red, green, blue) { var rgbNumber = new Number((red << 16) | (green << 8) | blue); var hexString = rgbNumber.toString(16); var missingZeros = 6 - hexString.length; var resultBuilder = ['#']; for (var i = 0; i < missingZeros; i++) { resultBuilder.push('0'); } resultBuilder.push(hexString); return resultBuilder.join(''); }; // ... # If set, the button is filled with a solid background. + "alpha": 3.14, # The fraction of this color that should be applied to the pixel. That is, the final pixel color is defined by the equation: `pixel color = alpha * (this color) + (1.0 - alpha) * (background color)` This means that a value of 1.0 corresponds to a solid color, whereas a value of 0.0 corresponds to a completely transparent color. This uses a wrapper message rather than a simple float scalar so that it is possible to distinguish between a default value and the value being unset. If omitted, this color object is rendered as a solid color (as if the alpha value had been explicitly given a value of 1.0). + "blue": 3.14, # The amount of blue in the color as a value in the interval [0, 1]. + "green": 3.14, # The amount of green in the color as a value in the interval [0, 1]. + "red": 3.14, # The amount of red in the color as a value in the interval [0, 1]. + }, + "disabled": True or False, # If `true`, the button is displayed in a disabled state and doesn't respond to user actions. + "icon": { # The icon image. + "altText": "A String", # The description of the icon, used for accessibility. The default value is provided if you don't specify one. + "iconUrl": "A String", # The icon specified by a URL. + "imageType": "A String", # The crop style applied to the image. In some cases, applying a `CIRCLE` crop causes the image to be drawn larger than a standard icon. + "knownIcon": "A String", # The icon specified by the string name of a list of known icons. + }, + "onClick": { # Represents the response to an `onClick` event. # The action to perform when the button is clicked. + "action": { # An action that describes the behavior when the form is submitted. For example, an Apps Script can be invoked to handle the form. # If specified, an action is triggered by this `onClick`. + "function": "A String", # Apps Script function to invoke when the containing element is clicked/activated. + "loadIndicator": "A String", # Specifies the loading indicator that the action displays while making the call to the action. + "parameters": [ # List of action parameters. + { # List of string parameters to supply when the action method is invoked. For example, consider three snooze buttons: snooze now, snooze 1 day, snooze next week. You might use action method = snooze(), passing the snooze type and snooze time in the list of string parameters. + "key": "A String", # The name of the parameter for the action script. + "value": "A String", # The value of the parameter. + }, + ], + "persistValues": True or False, # Indicates whether form values persist after the action. The default value is `false`. If `true`, form values remain after the action is triggered. When using [LoadIndicator.NONE](workspace/add-ons/reference/rpc/google.apps.card.v1#loadindicator) for actions, `persist_values` = `true`is recommended, as it ensures that any changes made by the user after form or on change actions are sent to the server are not overwritten by the response. If `false`, the form values are cleared when the action is triggered. When `persist_values` is set to `false`, it is strongly recommended that the card use [LoadIndicator.SPINNER](workspace/add-ons/reference/rpc/google.apps.card.v1#loadindicator) for all actions, as this locks the UI to ensure no changes are made by the user while the action is being processed. Not supported by Google Chat apps. + }, + "card": # Object with schema name: GoogleAppsCardV1Card # A new card is pushed to the card stack after clicking if specified. + "openDynamicLinkAction": { # An action that describes the behavior when the form is submitted. For example, an Apps Script can be invoked to handle the form. # An add-on triggers this action when the action needs to open a link. This differs from the `open_link` above in that this needs to talk to server to get the link. Thus some preparation work is required for web client to do before the open link action response comes back. + "function": "A String", # Apps Script function to invoke when the containing element is clicked/activated. + "loadIndicator": "A String", # Specifies the loading indicator that the action displays while making the call to the action. + "parameters": [ # List of action parameters. + { # List of string parameters to supply when the action method is invoked. For example, consider three snooze buttons: snooze now, snooze 1 day, snooze next week. You might use action method = snooze(), passing the snooze type and snooze time in the list of string parameters. + "key": "A String", # The name of the parameter for the action script. + "value": "A String", # The value of the parameter. + }, + ], + "persistValues": True or False, # Indicates whether form values persist after the action. The default value is `false`. If `true`, form values remain after the action is triggered. When using [LoadIndicator.NONE](workspace/add-ons/reference/rpc/google.apps.card.v1#loadindicator) for actions, `persist_values` = `true`is recommended, as it ensures that any changes made by the user after form or on change actions are sent to the server are not overwritten by the response. If `false`, the form values are cleared when the action is triggered. When `persist_values` is set to `false`, it is strongly recommended that the card use [LoadIndicator.SPINNER](workspace/add-ons/reference/rpc/google.apps.card.v1#loadindicator) for all actions, as this locks the UI to ensure no changes are made by the user while the action is being processed. Not supported by Google Chat apps. + }, + "openLink": { # Represents an `onClick` event that opens a hyperlink. # If specified, this `onClick` triggers an open link action. + "onClose": "A String", # Whether the client forgets about a link after opening it, or observes it until the window closes. Not supported by Chat apps. + "openAs": "A String", # How to open a link. Not supported by Chat apps. + "url": "A String", # The URL to open. + }, + }, + "text": "A String", # The text of the button. + }, + "secondaryButton": { # A button. Can be a text button or an image button. # The secondary button of the fixed footer. The button must be a text button with text and color set. `primaryButton` must be set if `secondaryButton` is set. + "altText": "A String", # The alternative text used for accessibility. Has no effect when an icon is set; use `icon.alt_text` instead. + "color": { # Represents a color in the RGBA color space. This representation is designed for simplicity of conversion to/from color representations in various languages over compactness. For example, the fields of this representation can be trivially provided to the constructor of `java.awt.Color` in Java; it can also be trivially provided to UIColor's `+colorWithRed:green:blue:alpha` method in iOS; and, with just a little work, it can be easily formatted into a CSS `rgba()` string in JavaScript. This reference page doesn't carry information about the absolute color space that should be used to interpret the RGB value (e.g. sRGB, Adobe RGB, DCI-P3, BT.2020, etc.). By default, applications should assume the sRGB color space. When color equality needs to be decided, implementations, unless documented otherwise, treat two colors as equal if all their red, green, blue, and alpha values each differ by at most 1e-5. Example (Java): import com.google.type.Color; // ... public static java.awt.Color fromProto(Color protocolor) { float alpha = protocolor.hasAlpha() ? protocolor.getAlpha().getValue() : 1.0; return new java.awt.Color( protocolor.getRed(), protocolor.getGreen(), protocolor.getBlue(), alpha); } public static Color toProto(java.awt.Color color) { float red = (float) color.getRed(); float green = (float) color.getGreen(); float blue = (float) color.getBlue(); float denominator = 255.0; Color.Builder resultBuilder = Color .newBuilder() .setRed(red / denominator) .setGreen(green / denominator) .setBlue(blue / denominator); int alpha = color.getAlpha(); if (alpha != 255) { result.setAlpha( FloatValue .newBuilder() .setValue(((float) alpha) / denominator) .build()); } return resultBuilder.build(); } // ... Example (iOS / Obj-C): // ... static UIColor* fromProto(Color* protocolor) { float red = [protocolor red]; float green = [protocolor green]; float blue = [protocolor blue]; FloatValue* alpha_wrapper = [protocolor alpha]; float alpha = 1.0; if (alpha_wrapper != nil) { alpha = [alpha_wrapper value]; } return [UIColor colorWithRed:red green:green blue:blue alpha:alpha]; } static Color* toProto(UIColor* color) { CGFloat red, green, blue, alpha; if (![color getRed:&red green:&green blue:&blue alpha:&alpha]) { return nil; } Color* result = [[Color alloc] init]; [result setRed:red]; [result setGreen:green]; [result setBlue:blue]; if (alpha <= 0.9999) { [result setAlpha:floatWrapperWithValue(alpha)]; } [result autorelease]; return result; } // ... Example (JavaScript): // ... var protoToCssColor = function(rgb_color) { var redFrac = rgb_color.red || 0.0; var greenFrac = rgb_color.green || 0.0; var blueFrac = rgb_color.blue || 0.0; var red = Math.floor(redFrac * 255); var green = Math.floor(greenFrac * 255); var blue = Math.floor(blueFrac * 255); if (!('alpha' in rgb_color)) { return rgbToCssColor(red, green, blue); } var alphaFrac = rgb_color.alpha.value || 0.0; var rgbParams = [red, green, blue].join(','); return ['rgba(', rgbParams, ',', alphaFrac, ')'].join(''); }; var rgbToCssColor = function(red, green, blue) { var rgbNumber = new Number((red << 16) | (green << 8) | blue); var hexString = rgbNumber.toString(16); var missingZeros = 6 - hexString.length; var resultBuilder = ['#']; for (var i = 0; i < missingZeros; i++) { resultBuilder.push('0'); } resultBuilder.push(hexString); return resultBuilder.join(''); }; // ... # If set, the button is filled with a solid background. + "alpha": 3.14, # The fraction of this color that should be applied to the pixel. That is, the final pixel color is defined by the equation: `pixel color = alpha * (this color) + (1.0 - alpha) * (background color)` This means that a value of 1.0 corresponds to a solid color, whereas a value of 0.0 corresponds to a completely transparent color. This uses a wrapper message rather than a simple float scalar so that it is possible to distinguish between a default value and the value being unset. If omitted, this color object is rendered as a solid color (as if the alpha value had been explicitly given a value of 1.0). + "blue": 3.14, # The amount of blue in the color as a value in the interval [0, 1]. + "green": 3.14, # The amount of green in the color as a value in the interval [0, 1]. + "red": 3.14, # The amount of red in the color as a value in the interval [0, 1]. + }, + "disabled": True or False, # If `true`, the button is displayed in a disabled state and doesn't respond to user actions. + "icon": { # The icon image. + "altText": "A String", # The description of the icon, used for accessibility. The default value is provided if you don't specify one. + "iconUrl": "A String", # The icon specified by a URL. + "imageType": "A String", # The crop style applied to the image. In some cases, applying a `CIRCLE` crop causes the image to be drawn larger than a standard icon. + "knownIcon": "A String", # The icon specified by the string name of a list of known icons. + }, + "onClick": { # Represents the response to an `onClick` event. # The action to perform when the button is clicked. + "action": { # An action that describes the behavior when the form is submitted. For example, an Apps Script can be invoked to handle the form. # If specified, an action is triggered by this `onClick`. + "function": "A String", # Apps Script function to invoke when the containing element is clicked/activated. + "loadIndicator": "A String", # Specifies the loading indicator that the action displays while making the call to the action. + "parameters": [ # List of action parameters. + { # List of string parameters to supply when the action method is invoked. For example, consider three snooze buttons: snooze now, snooze 1 day, snooze next week. You might use action method = snooze(), passing the snooze type and snooze time in the list of string parameters. + "key": "A String", # The name of the parameter for the action script. + "value": "A String", # The value of the parameter. + }, + ], + "persistValues": True or False, # Indicates whether form values persist after the action. The default value is `false`. If `true`, form values remain after the action is triggered. When using [LoadIndicator.NONE](workspace/add-ons/reference/rpc/google.apps.card.v1#loadindicator) for actions, `persist_values` = `true`is recommended, as it ensures that any changes made by the user after form or on change actions are sent to the server are not overwritten by the response. If `false`, the form values are cleared when the action is triggered. When `persist_values` is set to `false`, it is strongly recommended that the card use [LoadIndicator.SPINNER](workspace/add-ons/reference/rpc/google.apps.card.v1#loadindicator) for all actions, as this locks the UI to ensure no changes are made by the user while the action is being processed. Not supported by Google Chat apps. + }, + "card": # Object with schema name: GoogleAppsCardV1Card # A new card is pushed to the card stack after clicking if specified. + "openDynamicLinkAction": { # An action that describes the behavior when the form is submitted. For example, an Apps Script can be invoked to handle the form. # An add-on triggers this action when the action needs to open a link. This differs from the `open_link` above in that this needs to talk to server to get the link. Thus some preparation work is required for web client to do before the open link action response comes back. + "function": "A String", # Apps Script function to invoke when the containing element is clicked/activated. + "loadIndicator": "A String", # Specifies the loading indicator that the action displays while making the call to the action. + "parameters": [ # List of action parameters. + { # List of string parameters to supply when the action method is invoked. For example, consider three snooze buttons: snooze now, snooze 1 day, snooze next week. You might use action method = snooze(), passing the snooze type and snooze time in the list of string parameters. + "key": "A String", # The name of the parameter for the action script. + "value": "A String", # The value of the parameter. + }, + ], + "persistValues": True or False, # Indicates whether form values persist after the action. The default value is `false`. If `true`, form values remain after the action is triggered. When using [LoadIndicator.NONE](workspace/add-ons/reference/rpc/google.apps.card.v1#loadindicator) for actions, `persist_values` = `true`is recommended, as it ensures that any changes made by the user after form or on change actions are sent to the server are not overwritten by the response. If `false`, the form values are cleared when the action is triggered. When `persist_values` is set to `false`, it is strongly recommended that the card use [LoadIndicator.SPINNER](workspace/add-ons/reference/rpc/google.apps.card.v1#loadindicator) for all actions, as this locks the UI to ensure no changes are made by the user while the action is being processed. Not supported by Google Chat apps. + }, + "openLink": { # Represents an `onClick` event that opens a hyperlink. # If specified, this `onClick` triggers an open link action. + "onClose": "A String", # Whether the client forgets about a link after opening it, or observes it until the window closes. Not supported by Chat apps. + "openAs": "A String", # How to open a link. Not supported by Chat apps. + "url": "A String", # The URL to open. + }, + }, + "text": "A String", # The text of the button. + }, + }, + "header": { # Represents a card header. # The header of the card. A header usually contains a title and an image. + "imageAltText": "A String", # The alternative text of this image which is used for accessibility. + "imageType": "A String", # The image's type. + "imageUrl": "A String", # The URL of the image in the card header. + "subtitle": "A String", # The subtitle of the card header. + "title": "A String", # Required. The title of the card header. The header has a fixed height: if both a title and subtitle are specified, each takes up one line. If only the title is specified, it takes up both lines. + }, + "name": "A String", # Name of the card. Used as a card identifier in card navigation. + "peekCardHeader": { # Represents a card header. # When displaying contextual content, the peek card header acts as a placeholder so that the user can navigate forward between the homepage cards and the contextual cards. Not supported by Google Chat apps. + "imageAltText": "A String", # The alternative text of this image which is used for accessibility. + "imageType": "A String", # The image's type. + "imageUrl": "A String", # The URL of the image in the card header. + "subtitle": "A String", # The subtitle of the card header. + "title": "A String", # Required. The title of the card header. The header has a fixed height: if both a title and subtitle are specified, each takes up one line. If only the title is specified, it takes up both lines. + }, + "sections": [ # Sections are separated by a line divider. + { # A section contains a collection of widgets that are rendered vertically in the order that they are specified. Across all platforms, cards have a narrow fixed width, so there is currently no need for layout properties, for example, float. + "collapsible": True or False, # Indicates whether this section is collapsible. If a section is collapsible, the description must be given. + "header": "A String", # The header of the section. Formatted text is supported. + "uncollapsibleWidgetsCount": 42, # The number of uncollapsible widgets. For example, when a section contains five widgets and the `uncollapsibleWidgetsCount` is set to `2`, the first two widgets are always shown and the last three are collapsed as default. The `uncollapsibleWidgetsCount` is taken into account only when `collapsible` is `true`. + "widgets": [ # A section must contain at least 1 widget. + { # A widget is a UI element that presents texts, images, etc. + "buttonList": { # A list of buttons layed out horizontally. # A list of buttons. For example, the following JSON creates two buttons. The first is a filled text button and the second is an image button that opens a link: ``` "buttonList": { "buttons": [ "button": { "text": "Edit", "Color": { "Red": 255 "Green": 255 "Blue": 255 } "disabled": true }, "button": { "icon": { "knownIcon": "INVITE" "altText": "check calendar" }, "onClick": { "openLink": { "url": "https://example.com/calendar" } } }, ] } ``` + "buttons": [ # An array of buttons. + { # A button. Can be a text button or an image button. + "altText": "A String", # The alternative text used for accessibility. Has no effect when an icon is set; use `icon.alt_text` instead. + "color": { # Represents a color in the RGBA color space. This representation is designed for simplicity of conversion to/from color representations in various languages over compactness. For example, the fields of this representation can be trivially provided to the constructor of `java.awt.Color` in Java; it can also be trivially provided to UIColor's `+colorWithRed:green:blue:alpha` method in iOS; and, with just a little work, it can be easily formatted into a CSS `rgba()` string in JavaScript. This reference page doesn't carry information about the absolute color space that should be used to interpret the RGB value (e.g. sRGB, Adobe RGB, DCI-P3, BT.2020, etc.). By default, applications should assume the sRGB color space. When color equality needs to be decided, implementations, unless documented otherwise, treat two colors as equal if all their red, green, blue, and alpha values each differ by at most 1e-5. Example (Java): import com.google.type.Color; // ... public static java.awt.Color fromProto(Color protocolor) { float alpha = protocolor.hasAlpha() ? protocolor.getAlpha().getValue() : 1.0; return new java.awt.Color( protocolor.getRed(), protocolor.getGreen(), protocolor.getBlue(), alpha); } public static Color toProto(java.awt.Color color) { float red = (float) color.getRed(); float green = (float) color.getGreen(); float blue = (float) color.getBlue(); float denominator = 255.0; Color.Builder resultBuilder = Color .newBuilder() .setRed(red / denominator) .setGreen(green / denominator) .setBlue(blue / denominator); int alpha = color.getAlpha(); if (alpha != 255) { result.setAlpha( FloatValue .newBuilder() .setValue(((float) alpha) / denominator) .build()); } return resultBuilder.build(); } // ... Example (iOS / Obj-C): // ... static UIColor* fromProto(Color* protocolor) { float red = [protocolor red]; float green = [protocolor green]; float blue = [protocolor blue]; FloatValue* alpha_wrapper = [protocolor alpha]; float alpha = 1.0; if (alpha_wrapper != nil) { alpha = [alpha_wrapper value]; } return [UIColor colorWithRed:red green:green blue:blue alpha:alpha]; } static Color* toProto(UIColor* color) { CGFloat red, green, blue, alpha; if (![color getRed:&red green:&green blue:&blue alpha:&alpha]) { return nil; } Color* result = [[Color alloc] init]; [result setRed:red]; [result setGreen:green]; [result setBlue:blue]; if (alpha <= 0.9999) { [result setAlpha:floatWrapperWithValue(alpha)]; } [result autorelease]; return result; } // ... Example (JavaScript): // ... var protoToCssColor = function(rgb_color) { var redFrac = rgb_color.red || 0.0; var greenFrac = rgb_color.green || 0.0; var blueFrac = rgb_color.blue || 0.0; var red = Math.floor(redFrac * 255); var green = Math.floor(greenFrac * 255); var blue = Math.floor(blueFrac * 255); if (!('alpha' in rgb_color)) { return rgbToCssColor(red, green, blue); } var alphaFrac = rgb_color.alpha.value || 0.0; var rgbParams = [red, green, blue].join(','); return ['rgba(', rgbParams, ',', alphaFrac, ')'].join(''); }; var rgbToCssColor = function(red, green, blue) { var rgbNumber = new Number((red << 16) | (green << 8) | blue); var hexString = rgbNumber.toString(16); var missingZeros = 6 - hexString.length; var resultBuilder = ['#']; for (var i = 0; i < missingZeros; i++) { resultBuilder.push('0'); } resultBuilder.push(hexString); return resultBuilder.join(''); }; // ... # If set, the button is filled with a solid background. + "alpha": 3.14, # The fraction of this color that should be applied to the pixel. That is, the final pixel color is defined by the equation: `pixel color = alpha * (this color) + (1.0 - alpha) * (background color)` This means that a value of 1.0 corresponds to a solid color, whereas a value of 0.0 corresponds to a completely transparent color. This uses a wrapper message rather than a simple float scalar so that it is possible to distinguish between a default value and the value being unset. If omitted, this color object is rendered as a solid color (as if the alpha value had been explicitly given a value of 1.0). + "blue": 3.14, # The amount of blue in the color as a value in the interval [0, 1]. + "green": 3.14, # The amount of green in the color as a value in the interval [0, 1]. + "red": 3.14, # The amount of red in the color as a value in the interval [0, 1]. + }, + "disabled": True or False, # If `true`, the button is displayed in a disabled state and doesn't respond to user actions. + "icon": { # The icon image. + "altText": "A String", # The description of the icon, used for accessibility. The default value is provided if you don't specify one. + "iconUrl": "A String", # The icon specified by a URL. + "imageType": "A String", # The crop style applied to the image. In some cases, applying a `CIRCLE` crop causes the image to be drawn larger than a standard icon. + "knownIcon": "A String", # The icon specified by the string name of a list of known icons. + }, + "onClick": { # Represents the response to an `onClick` event. # The action to perform when the button is clicked. + "action": { # An action that describes the behavior when the form is submitted. For example, an Apps Script can be invoked to handle the form. # If specified, an action is triggered by this `onClick`. + "function": "A String", # Apps Script function to invoke when the containing element is clicked/activated. + "loadIndicator": "A String", # Specifies the loading indicator that the action displays while making the call to the action. + "parameters": [ # List of action parameters. + { # List of string parameters to supply when the action method is invoked. For example, consider three snooze buttons: snooze now, snooze 1 day, snooze next week. You might use action method = snooze(), passing the snooze type and snooze time in the list of string parameters. + "key": "A String", # The name of the parameter for the action script. + "value": "A String", # The value of the parameter. + }, + ], + "persistValues": True or False, # Indicates whether form values persist after the action. The default value is `false`. If `true`, form values remain after the action is triggered. When using [LoadIndicator.NONE](workspace/add-ons/reference/rpc/google.apps.card.v1#loadindicator) for actions, `persist_values` = `true`is recommended, as it ensures that any changes made by the user after form or on change actions are sent to the server are not overwritten by the response. If `false`, the form values are cleared when the action is triggered. When `persist_values` is set to `false`, it is strongly recommended that the card use [LoadIndicator.SPINNER](workspace/add-ons/reference/rpc/google.apps.card.v1#loadindicator) for all actions, as this locks the UI to ensure no changes are made by the user while the action is being processed. Not supported by Google Chat apps. + }, + "card": # Object with schema name: GoogleAppsCardV1Card # A new card is pushed to the card stack after clicking if specified. + "openDynamicLinkAction": { # An action that describes the behavior when the form is submitted. For example, an Apps Script can be invoked to handle the form. # An add-on triggers this action when the action needs to open a link. This differs from the `open_link` above in that this needs to talk to server to get the link. Thus some preparation work is required for web client to do before the open link action response comes back. + "function": "A String", # Apps Script function to invoke when the containing element is clicked/activated. + "loadIndicator": "A String", # Specifies the loading indicator that the action displays while making the call to the action. + "parameters": [ # List of action parameters. + { # List of string parameters to supply when the action method is invoked. For example, consider three snooze buttons: snooze now, snooze 1 day, snooze next week. You might use action method = snooze(), passing the snooze type and snooze time in the list of string parameters. + "key": "A String", # The name of the parameter for the action script. + "value": "A String", # The value of the parameter. + }, + ], + "persistValues": True or False, # Indicates whether form values persist after the action. The default value is `false`. If `true`, form values remain after the action is triggered. When using [LoadIndicator.NONE](workspace/add-ons/reference/rpc/google.apps.card.v1#loadindicator) for actions, `persist_values` = `true`is recommended, as it ensures that any changes made by the user after form or on change actions are sent to the server are not overwritten by the response. If `false`, the form values are cleared when the action is triggered. When `persist_values` is set to `false`, it is strongly recommended that the card use [LoadIndicator.SPINNER](workspace/add-ons/reference/rpc/google.apps.card.v1#loadindicator) for all actions, as this locks the UI to ensure no changes are made by the user while the action is being processed. Not supported by Google Chat apps. + }, + "openLink": { # Represents an `onClick` event that opens a hyperlink. # If specified, this `onClick` triggers an open link action. + "onClose": "A String", # Whether the client forgets about a link after opening it, or observes it until the window closes. Not supported by Chat apps. + "openAs": "A String", # How to open a link. Not supported by Chat apps. + "url": "A String", # The URL to open. + }, + }, + "text": "A String", # The text of the button. + }, + ], + }, + "dateTimePicker": { # The widget that lets users to specify a date and time. Not supported by Google Chat apps. # Displays a selection/input widget for date/time. For example, the following JSON creates a date/time picker for an appointment time: ``` "date_time_picker": { "name": "appointment_time", "label": "Book your appointment at:", "type": "DateTimePickerType.DATE_AND_TIME", "valueMsEpoch": "796435200000" } ``` + "label": "A String", # The label for the field that displays to the user. + "name": "A String", # The name of the text input that's used in `formInput`, and uniquely identifies this input. + "onChangeAction": { # An action that describes the behavior when the form is submitted. For example, an Apps Script can be invoked to handle the form. # Triggered when the user clicks Save or Clear from the date/time picker dialog. This is only triggered if the value changed as a result of the Save/Clear operation. + "function": "A String", # Apps Script function to invoke when the containing element is clicked/activated. + "loadIndicator": "A String", # Specifies the loading indicator that the action displays while making the call to the action. + "parameters": [ # List of action parameters. + { # List of string parameters to supply when the action method is invoked. For example, consider three snooze buttons: snooze now, snooze 1 day, snooze next week. You might use action method = snooze(), passing the snooze type and snooze time in the list of string parameters. + "key": "A String", # The name of the parameter for the action script. + "value": "A String", # The value of the parameter. + }, + ], + "persistValues": True or False, # Indicates whether form values persist after the action. The default value is `false`. If `true`, form values remain after the action is triggered. When using [LoadIndicator.NONE](workspace/add-ons/reference/rpc/google.apps.card.v1#loadindicator) for actions, `persist_values` = `true`is recommended, as it ensures that any changes made by the user after form or on change actions are sent to the server are not overwritten by the response. If `false`, the form values are cleared when the action is triggered. When `persist_values` is set to `false`, it is strongly recommended that the card use [LoadIndicator.SPINNER](workspace/add-ons/reference/rpc/google.apps.card.v1#loadindicator) for all actions, as this locks the UI to ensure no changes are made by the user while the action is being processed. Not supported by Google Chat apps. + }, + "timezoneOffsetDate": 42, # The number representing the time zone offset from UTC, in minutes. If set, the `value_ms_epoch` is displayed in the specified time zone. If not set, it uses the user's time zone setting on the client side. + "type": "A String", # The type of the date/time picker. + "valueMsEpoch": "A String", # The value to display as the default value before user input or previous user input. It is represented in milliseconds (Epoch time). For `DATE_AND_TIME` type, the full epoch value is used. For `DATE_ONLY` type, only date of the epoch time is used. For `TIME_ONLY` type, only time of the epoch time is used. For example, you can set epoch time to `3 * 60 * 60 * 1000` to represent 3am. + }, + "decoratedText": { # A widget that displays text with optional decorations such as a label above or below the text, an icon in front of the text, a selection widget or a button after the text. # Displays a decorated text item in this widget. For example, the following JSON creates a decorated text widget showing email address: ``` "decoratedText": { "icon": { "knownIcon": "EMAIL" }, "topLabel": "Email Address", "content": "sasha@example.com", "bottomLabel": "This is a new Email address!", "switchWidget": { "name": "has_send_welcome_email_to_sasha", "selected": false, "controlType": "ControlType.CHECKBOX" } } ``` + "bottomLabel": "A String", # The formatted text label that shows below the main text. + "button": { # A button. Can be a text button or an image button. # A button that can be clicked to trigger an action. + "altText": "A String", # The alternative text used for accessibility. Has no effect when an icon is set; use `icon.alt_text` instead. + "color": { # Represents a color in the RGBA color space. This representation is designed for simplicity of conversion to/from color representations in various languages over compactness. For example, the fields of this representation can be trivially provided to the constructor of `java.awt.Color` in Java; it can also be trivially provided to UIColor's `+colorWithRed:green:blue:alpha` method in iOS; and, with just a little work, it can be easily formatted into a CSS `rgba()` string in JavaScript. This reference page doesn't carry information about the absolute color space that should be used to interpret the RGB value (e.g. sRGB, Adobe RGB, DCI-P3, BT.2020, etc.). By default, applications should assume the sRGB color space. When color equality needs to be decided, implementations, unless documented otherwise, treat two colors as equal if all their red, green, blue, and alpha values each differ by at most 1e-5. Example (Java): import com.google.type.Color; // ... public static java.awt.Color fromProto(Color protocolor) { float alpha = protocolor.hasAlpha() ? protocolor.getAlpha().getValue() : 1.0; return new java.awt.Color( protocolor.getRed(), protocolor.getGreen(), protocolor.getBlue(), alpha); } public static Color toProto(java.awt.Color color) { float red = (float) color.getRed(); float green = (float) color.getGreen(); float blue = (float) color.getBlue(); float denominator = 255.0; Color.Builder resultBuilder = Color .newBuilder() .setRed(red / denominator) .setGreen(green / denominator) .setBlue(blue / denominator); int alpha = color.getAlpha(); if (alpha != 255) { result.setAlpha( FloatValue .newBuilder() .setValue(((float) alpha) / denominator) .build()); } return resultBuilder.build(); } // ... Example (iOS / Obj-C): // ... static UIColor* fromProto(Color* protocolor) { float red = [protocolor red]; float green = [protocolor green]; float blue = [protocolor blue]; FloatValue* alpha_wrapper = [protocolor alpha]; float alpha = 1.0; if (alpha_wrapper != nil) { alpha = [alpha_wrapper value]; } return [UIColor colorWithRed:red green:green blue:blue alpha:alpha]; } static Color* toProto(UIColor* color) { CGFloat red, green, blue, alpha; if (![color getRed:&red green:&green blue:&blue alpha:&alpha]) { return nil; } Color* result = [[Color alloc] init]; [result setRed:red]; [result setGreen:green]; [result setBlue:blue]; if (alpha <= 0.9999) { [result setAlpha:floatWrapperWithValue(alpha)]; } [result autorelease]; return result; } // ... Example (JavaScript): // ... var protoToCssColor = function(rgb_color) { var redFrac = rgb_color.red || 0.0; var greenFrac = rgb_color.green || 0.0; var blueFrac = rgb_color.blue || 0.0; var red = Math.floor(redFrac * 255); var green = Math.floor(greenFrac * 255); var blue = Math.floor(blueFrac * 255); if (!('alpha' in rgb_color)) { return rgbToCssColor(red, green, blue); } var alphaFrac = rgb_color.alpha.value || 0.0; var rgbParams = [red, green, blue].join(','); return ['rgba(', rgbParams, ',', alphaFrac, ')'].join(''); }; var rgbToCssColor = function(red, green, blue) { var rgbNumber = new Number((red << 16) | (green << 8) | blue); var hexString = rgbNumber.toString(16); var missingZeros = 6 - hexString.length; var resultBuilder = ['#']; for (var i = 0; i < missingZeros; i++) { resultBuilder.push('0'); } resultBuilder.push(hexString); return resultBuilder.join(''); }; // ... # If set, the button is filled with a solid background. + "alpha": 3.14, # The fraction of this color that should be applied to the pixel. That is, the final pixel color is defined by the equation: `pixel color = alpha * (this color) + (1.0 - alpha) * (background color)` This means that a value of 1.0 corresponds to a solid color, whereas a value of 0.0 corresponds to a completely transparent color. This uses a wrapper message rather than a simple float scalar so that it is possible to distinguish between a default value and the value being unset. If omitted, this color object is rendered as a solid color (as if the alpha value had been explicitly given a value of 1.0). + "blue": 3.14, # The amount of blue in the color as a value in the interval [0, 1]. + "green": 3.14, # The amount of green in the color as a value in the interval [0, 1]. + "red": 3.14, # The amount of red in the color as a value in the interval [0, 1]. + }, + "disabled": True or False, # If `true`, the button is displayed in a disabled state and doesn't respond to user actions. + "icon": { # The icon image. + "altText": "A String", # The description of the icon, used for accessibility. The default value is provided if you don't specify one. + "iconUrl": "A String", # The icon specified by a URL. + "imageType": "A String", # The crop style applied to the image. In some cases, applying a `CIRCLE` crop causes the image to be drawn larger than a standard icon. + "knownIcon": "A String", # The icon specified by the string name of a list of known icons. + }, + "onClick": { # Represents the response to an `onClick` event. # The action to perform when the button is clicked. + "action": { # An action that describes the behavior when the form is submitted. For example, an Apps Script can be invoked to handle the form. # If specified, an action is triggered by this `onClick`. + "function": "A String", # Apps Script function to invoke when the containing element is clicked/activated. + "loadIndicator": "A String", # Specifies the loading indicator that the action displays while making the call to the action. + "parameters": [ # List of action parameters. + { # List of string parameters to supply when the action method is invoked. For example, consider three snooze buttons: snooze now, snooze 1 day, snooze next week. You might use action method = snooze(), passing the snooze type and snooze time in the list of string parameters. + "key": "A String", # The name of the parameter for the action script. + "value": "A String", # The value of the parameter. + }, + ], + "persistValues": True or False, # Indicates whether form values persist after the action. The default value is `false`. If `true`, form values remain after the action is triggered. When using [LoadIndicator.NONE](workspace/add-ons/reference/rpc/google.apps.card.v1#loadindicator) for actions, `persist_values` = `true`is recommended, as it ensures that any changes made by the user after form or on change actions are sent to the server are not overwritten by the response. If `false`, the form values are cleared when the action is triggered. When `persist_values` is set to `false`, it is strongly recommended that the card use [LoadIndicator.SPINNER](workspace/add-ons/reference/rpc/google.apps.card.v1#loadindicator) for all actions, as this locks the UI to ensure no changes are made by the user while the action is being processed. Not supported by Google Chat apps. + }, + "card": # Object with schema name: GoogleAppsCardV1Card # A new card is pushed to the card stack after clicking if specified. + "openDynamicLinkAction": { # An action that describes the behavior when the form is submitted. For example, an Apps Script can be invoked to handle the form. # An add-on triggers this action when the action needs to open a link. This differs from the `open_link` above in that this needs to talk to server to get the link. Thus some preparation work is required for web client to do before the open link action response comes back. + "function": "A String", # Apps Script function to invoke when the containing element is clicked/activated. + "loadIndicator": "A String", # Specifies the loading indicator that the action displays while making the call to the action. + "parameters": [ # List of action parameters. + { # List of string parameters to supply when the action method is invoked. For example, consider three snooze buttons: snooze now, snooze 1 day, snooze next week. You might use action method = snooze(), passing the snooze type and snooze time in the list of string parameters. + "key": "A String", # The name of the parameter for the action script. + "value": "A String", # The value of the parameter. + }, + ], + "persistValues": True or False, # Indicates whether form values persist after the action. The default value is `false`. If `true`, form values remain after the action is triggered. When using [LoadIndicator.NONE](workspace/add-ons/reference/rpc/google.apps.card.v1#loadindicator) for actions, `persist_values` = `true`is recommended, as it ensures that any changes made by the user after form or on change actions are sent to the server are not overwritten by the response. If `false`, the form values are cleared when the action is triggered. When `persist_values` is set to `false`, it is strongly recommended that the card use [LoadIndicator.SPINNER](workspace/add-ons/reference/rpc/google.apps.card.v1#loadindicator) for all actions, as this locks the UI to ensure no changes are made by the user while the action is being processed. Not supported by Google Chat apps. + }, + "openLink": { # Represents an `onClick` event that opens a hyperlink. # If specified, this `onClick` triggers an open link action. + "onClose": "A String", # Whether the client forgets about a link after opening it, or observes it until the window closes. Not supported by Chat apps. + "openAs": "A String", # How to open a link. Not supported by Chat apps. + "url": "A String", # The URL to open. + }, + }, + "text": "A String", # The text of the button. + }, + "endIcon": { # An icon displayed after the text. + "altText": "A String", # The description of the icon, used for accessibility. The default value is provided if you don't specify one. + "iconUrl": "A String", # The icon specified by a URL. + "imageType": "A String", # The crop style applied to the image. In some cases, applying a `CIRCLE` crop causes the image to be drawn larger than a standard icon. + "knownIcon": "A String", # The icon specified by the string name of a list of known icons. + }, + "icon": { # Deprecated in favor of start_icon. + "altText": "A String", # The description of the icon, used for accessibility. The default value is provided if you don't specify one. + "iconUrl": "A String", # The icon specified by a URL. + "imageType": "A String", # The crop style applied to the image. In some cases, applying a `CIRCLE` crop causes the image to be drawn larger than a standard icon. + "knownIcon": "A String", # The icon specified by the string name of a list of known icons. + }, + "onClick": { # Represents the response to an `onClick` event. # Only the top and bottom label and content region are clickable. + "action": { # An action that describes the behavior when the form is submitted. For example, an Apps Script can be invoked to handle the form. # If specified, an action is triggered by this `onClick`. + "function": "A String", # Apps Script function to invoke when the containing element is clicked/activated. + "loadIndicator": "A String", # Specifies the loading indicator that the action displays while making the call to the action. + "parameters": [ # List of action parameters. + { # List of string parameters to supply when the action method is invoked. For example, consider three snooze buttons: snooze now, snooze 1 day, snooze next week. You might use action method = snooze(), passing the snooze type and snooze time in the list of string parameters. + "key": "A String", # The name of the parameter for the action script. + "value": "A String", # The value of the parameter. + }, + ], + "persistValues": True or False, # Indicates whether form values persist after the action. The default value is `false`. If `true`, form values remain after the action is triggered. When using [LoadIndicator.NONE](workspace/add-ons/reference/rpc/google.apps.card.v1#loadindicator) for actions, `persist_values` = `true`is recommended, as it ensures that any changes made by the user after form or on change actions are sent to the server are not overwritten by the response. If `false`, the form values are cleared when the action is triggered. When `persist_values` is set to `false`, it is strongly recommended that the card use [LoadIndicator.SPINNER](workspace/add-ons/reference/rpc/google.apps.card.v1#loadindicator) for all actions, as this locks the UI to ensure no changes are made by the user while the action is being processed. Not supported by Google Chat apps. + }, + "card": # Object with schema name: GoogleAppsCardV1Card # A new card is pushed to the card stack after clicking if specified. + "openDynamicLinkAction": { # An action that describes the behavior when the form is submitted. For example, an Apps Script can be invoked to handle the form. # An add-on triggers this action when the action needs to open a link. This differs from the `open_link` above in that this needs to talk to server to get the link. Thus some preparation work is required for web client to do before the open link action response comes back. + "function": "A String", # Apps Script function to invoke when the containing element is clicked/activated. + "loadIndicator": "A String", # Specifies the loading indicator that the action displays while making the call to the action. + "parameters": [ # List of action parameters. + { # List of string parameters to supply when the action method is invoked. For example, consider three snooze buttons: snooze now, snooze 1 day, snooze next week. You might use action method = snooze(), passing the snooze type and snooze time in the list of string parameters. + "key": "A String", # The name of the parameter for the action script. + "value": "A String", # The value of the parameter. + }, + ], + "persistValues": True or False, # Indicates whether form values persist after the action. The default value is `false`. If `true`, form values remain after the action is triggered. When using [LoadIndicator.NONE](workspace/add-ons/reference/rpc/google.apps.card.v1#loadindicator) for actions, `persist_values` = `true`is recommended, as it ensures that any changes made by the user after form or on change actions are sent to the server are not overwritten by the response. If `false`, the form values are cleared when the action is triggered. When `persist_values` is set to `false`, it is strongly recommended that the card use [LoadIndicator.SPINNER](workspace/add-ons/reference/rpc/google.apps.card.v1#loadindicator) for all actions, as this locks the UI to ensure no changes are made by the user while the action is being processed. Not supported by Google Chat apps. + }, + "openLink": { # Represents an `onClick` event that opens a hyperlink. # If specified, this `onClick` triggers an open link action. + "onClose": "A String", # Whether the client forgets about a link after opening it, or observes it until the window closes. Not supported by Chat apps. + "openAs": "A String", # How to open a link. Not supported by Chat apps. + "url": "A String", # The URL to open. + }, + }, + "startIcon": { # The icon displayed in front of the text. + "altText": "A String", # The description of the icon, used for accessibility. The default value is provided if you don't specify one. + "iconUrl": "A String", # The icon specified by a URL. + "imageType": "A String", # The crop style applied to the image. In some cases, applying a `CIRCLE` crop causes the image to be drawn larger than a standard icon. + "knownIcon": "A String", # The icon specified by the string name of a list of known icons. + }, + "switchControl": { # Either a toggle-style switch or a checkbox. # A switch widget can be clicked to change its state or trigger an action. + "controlType": "A String", # The control type, either switch or checkbox. + "name": "A String", # The name of the switch widget that's used in `formInput`. + "onChangeAction": { # An action that describes the behavior when the form is submitted. For example, an Apps Script can be invoked to handle the form. # The action when the switch state is changed. + "function": "A String", # Apps Script function to invoke when the containing element is clicked/activated. + "loadIndicator": "A String", # Specifies the loading indicator that the action displays while making the call to the action. + "parameters": [ # List of action parameters. + { # List of string parameters to supply when the action method is invoked. For example, consider three snooze buttons: snooze now, snooze 1 day, snooze next week. You might use action method = snooze(), passing the snooze type and snooze time in the list of string parameters. + "key": "A String", # The name of the parameter for the action script. + "value": "A String", # The value of the parameter. + }, + ], + "persistValues": True or False, # Indicates whether form values persist after the action. The default value is `false`. If `true`, form values remain after the action is triggered. When using [LoadIndicator.NONE](workspace/add-ons/reference/rpc/google.apps.card.v1#loadindicator) for actions, `persist_values` = `true`is recommended, as it ensures that any changes made by the user after form or on change actions are sent to the server are not overwritten by the response. If `false`, the form values are cleared when the action is triggered. When `persist_values` is set to `false`, it is strongly recommended that the card use [LoadIndicator.SPINNER](workspace/add-ons/reference/rpc/google.apps.card.v1#loadindicator) for all actions, as this locks the UI to ensure no changes are made by the user while the action is being processed. Not supported by Google Chat apps. + }, + "selected": True or False, # If the switch is selected. + "value": "A String", # The value is what is passed back in the callback. + }, + "text": "A String", # Required. The main widget formatted text. See Text formatting for details. + "topLabel": "A String", # The formatted text label that shows above the main text. + "wrapText": True or False, # The wrap text setting. If `true`, the text is wrapped and displayed in multiline. Otherwise, the text is truncated. + }, + "divider": { # A divider that appears in between widgets. # Displays a divider. For example, the following JSON creates a divider: ``` "divider": { } ``` + }, + "grid": { # Represents a Grid widget that displays items in a configurable grid layout. # Displays a grid with a collection of items. For example, the following JSON creates a 2 column grid with a single item: ``` "grid": { "title": "A fine collection of items", "numColumns": 2, "borderStyle": { "type": "STROKE", "cornerRadius": 4.0 }, "items": [ "image": { "imageUri": "https://www.example.com/image.png", "cropStyle": { "type": "SQUARE" }, "borderStyle": { "type": "STROKE" } }, "title": "An item", "textAlignment": "CENTER" ], "onClick": { "openLink": { "url":"https://www.example.com" } } } ``` + "borderStyle": { # Represents the complete border style applied to widgets. # The border style to apply to each grid item. + "cornerRadius": 42, # The corner radius for the border. + "strokeColor": { # Represents a color in the RGBA color space. This representation is designed for simplicity of conversion to/from color representations in various languages over compactness. For example, the fields of this representation can be trivially provided to the constructor of `java.awt.Color` in Java; it can also be trivially provided to UIColor's `+colorWithRed:green:blue:alpha` method in iOS; and, with just a little work, it can be easily formatted into a CSS `rgba()` string in JavaScript. This reference page doesn't carry information about the absolute color space that should be used to interpret the RGB value (e.g. sRGB, Adobe RGB, DCI-P3, BT.2020, etc.). By default, applications should assume the sRGB color space. When color equality needs to be decided, implementations, unless documented otherwise, treat two colors as equal if all their red, green, blue, and alpha values each differ by at most 1e-5. Example (Java): import com.google.type.Color; // ... public static java.awt.Color fromProto(Color protocolor) { float alpha = protocolor.hasAlpha() ? protocolor.getAlpha().getValue() : 1.0; return new java.awt.Color( protocolor.getRed(), protocolor.getGreen(), protocolor.getBlue(), alpha); } public static Color toProto(java.awt.Color color) { float red = (float) color.getRed(); float green = (float) color.getGreen(); float blue = (float) color.getBlue(); float denominator = 255.0; Color.Builder resultBuilder = Color .newBuilder() .setRed(red / denominator) .setGreen(green / denominator) .setBlue(blue / denominator); int alpha = color.getAlpha(); if (alpha != 255) { result.setAlpha( FloatValue .newBuilder() .setValue(((float) alpha) / denominator) .build()); } return resultBuilder.build(); } // ... Example (iOS / Obj-C): // ... static UIColor* fromProto(Color* protocolor) { float red = [protocolor red]; float green = [protocolor green]; float blue = [protocolor blue]; FloatValue* alpha_wrapper = [protocolor alpha]; float alpha = 1.0; if (alpha_wrapper != nil) { alpha = [alpha_wrapper value]; } return [UIColor colorWithRed:red green:green blue:blue alpha:alpha]; } static Color* toProto(UIColor* color) { CGFloat red, green, blue, alpha; if (![color getRed:&red green:&green blue:&blue alpha:&alpha]) { return nil; } Color* result = [[Color alloc] init]; [result setRed:red]; [result setGreen:green]; [result setBlue:blue]; if (alpha <= 0.9999) { [result setAlpha:floatWrapperWithValue(alpha)]; } [result autorelease]; return result; } // ... Example (JavaScript): // ... var protoToCssColor = function(rgb_color) { var redFrac = rgb_color.red || 0.0; var greenFrac = rgb_color.green || 0.0; var blueFrac = rgb_color.blue || 0.0; var red = Math.floor(redFrac * 255); var green = Math.floor(greenFrac * 255); var blue = Math.floor(blueFrac * 255); if (!('alpha' in rgb_color)) { return rgbToCssColor(red, green, blue); } var alphaFrac = rgb_color.alpha.value || 0.0; var rgbParams = [red, green, blue].join(','); return ['rgba(', rgbParams, ',', alphaFrac, ')'].join(''); }; var rgbToCssColor = function(red, green, blue) { var rgbNumber = new Number((red << 16) | (green << 8) | blue); var hexString = rgbNumber.toString(16); var missingZeros = 6 - hexString.length; var resultBuilder = ['#']; for (var i = 0; i < missingZeros; i++) { resultBuilder.push('0'); } resultBuilder.push(hexString); return resultBuilder.join(''); }; // ... # The colors to use when the type is `BORDER_TYPE_STROKE`. + "alpha": 3.14, # The fraction of this color that should be applied to the pixel. That is, the final pixel color is defined by the equation: `pixel color = alpha * (this color) + (1.0 - alpha) * (background color)` This means that a value of 1.0 corresponds to a solid color, whereas a value of 0.0 corresponds to a completely transparent color. This uses a wrapper message rather than a simple float scalar so that it is possible to distinguish between a default value and the value being unset. If omitted, this color object is rendered as a solid color (as if the alpha value had been explicitly given a value of 1.0). + "blue": 3.14, # The amount of blue in the color as a value in the interval [0, 1]. + "green": 3.14, # The amount of green in the color as a value in the interval [0, 1]. + "red": 3.14, # The amount of red in the color as a value in the interval [0, 1]. + }, + "type": "A String", # The border type. + }, + "columnCount": 42, # The number of columns to display in the grid. A default value is used if this field isn't specified, and that default value is different depending on where the grid is shown (dialog versus companion). + "items": [ # The items to display in the grid. + { # Represents a single item in the grid layout. + "id": "A String", # A user-specified identifier for this grid item. This identifier is returned in the parent Grid's onClick callback parameters. + "image": { # Represents an image. # The image that displays in the grid item. + "altText": "A String", # The accessibility label for the image. + "borderStyle": { # Represents the complete border style applied to widgets. # The border style to apply to the image. + "cornerRadius": 42, # The corner radius for the border. + "strokeColor": { # Represents a color in the RGBA color space. This representation is designed for simplicity of conversion to/from color representations in various languages over compactness. For example, the fields of this representation can be trivially provided to the constructor of `java.awt.Color` in Java; it can also be trivially provided to UIColor's `+colorWithRed:green:blue:alpha` method in iOS; and, with just a little work, it can be easily formatted into a CSS `rgba()` string in JavaScript. This reference page doesn't carry information about the absolute color space that should be used to interpret the RGB value (e.g. sRGB, Adobe RGB, DCI-P3, BT.2020, etc.). By default, applications should assume the sRGB color space. When color equality needs to be decided, implementations, unless documented otherwise, treat two colors as equal if all their red, green, blue, and alpha values each differ by at most 1e-5. Example (Java): import com.google.type.Color; // ... public static java.awt.Color fromProto(Color protocolor) { float alpha = protocolor.hasAlpha() ? protocolor.getAlpha().getValue() : 1.0; return new java.awt.Color( protocolor.getRed(), protocolor.getGreen(), protocolor.getBlue(), alpha); } public static Color toProto(java.awt.Color color) { float red = (float) color.getRed(); float green = (float) color.getGreen(); float blue = (float) color.getBlue(); float denominator = 255.0; Color.Builder resultBuilder = Color .newBuilder() .setRed(red / denominator) .setGreen(green / denominator) .setBlue(blue / denominator); int alpha = color.getAlpha(); if (alpha != 255) { result.setAlpha( FloatValue .newBuilder() .setValue(((float) alpha) / denominator) .build()); } return resultBuilder.build(); } // ... Example (iOS / Obj-C): // ... static UIColor* fromProto(Color* protocolor) { float red = [protocolor red]; float green = [protocolor green]; float blue = [protocolor blue]; FloatValue* alpha_wrapper = [protocolor alpha]; float alpha = 1.0; if (alpha_wrapper != nil) { alpha = [alpha_wrapper value]; } return [UIColor colorWithRed:red green:green blue:blue alpha:alpha]; } static Color* toProto(UIColor* color) { CGFloat red, green, blue, alpha; if (![color getRed:&red green:&green blue:&blue alpha:&alpha]) { return nil; } Color* result = [[Color alloc] init]; [result setRed:red]; [result setGreen:green]; [result setBlue:blue]; if (alpha <= 0.9999) { [result setAlpha:floatWrapperWithValue(alpha)]; } [result autorelease]; return result; } // ... Example (JavaScript): // ... var protoToCssColor = function(rgb_color) { var redFrac = rgb_color.red || 0.0; var greenFrac = rgb_color.green || 0.0; var blueFrac = rgb_color.blue || 0.0; var red = Math.floor(redFrac * 255); var green = Math.floor(greenFrac * 255); var blue = Math.floor(blueFrac * 255); if (!('alpha' in rgb_color)) { return rgbToCssColor(red, green, blue); } var alphaFrac = rgb_color.alpha.value || 0.0; var rgbParams = [red, green, blue].join(','); return ['rgba(', rgbParams, ',', alphaFrac, ')'].join(''); }; var rgbToCssColor = function(red, green, blue) { var rgbNumber = new Number((red << 16) | (green << 8) | blue); var hexString = rgbNumber.toString(16); var missingZeros = 6 - hexString.length; var resultBuilder = ['#']; for (var i = 0; i < missingZeros; i++) { resultBuilder.push('0'); } resultBuilder.push(hexString); return resultBuilder.join(''); }; // ... # The colors to use when the type is `BORDER_TYPE_STROKE`. + "alpha": 3.14, # The fraction of this color that should be applied to the pixel. That is, the final pixel color is defined by the equation: `pixel color = alpha * (this color) + (1.0 - alpha) * (background color)` This means that a value of 1.0 corresponds to a solid color, whereas a value of 0.0 corresponds to a completely transparent color. This uses a wrapper message rather than a simple float scalar so that it is possible to distinguish between a default value and the value being unset. If omitted, this color object is rendered as a solid color (as if the alpha value had been explicitly given a value of 1.0). + "blue": 3.14, # The amount of blue in the color as a value in the interval [0, 1]. + "green": 3.14, # The amount of green in the color as a value in the interval [0, 1]. + "red": 3.14, # The amount of red in the color as a value in the interval [0, 1]. + }, + "type": "A String", # The border type. + }, + "cropStyle": { # Represents the crop style applied to an image. # The crop style to apply to the image. + "aspectRatio": 3.14, # The aspect ratio to use if the crop type is `RECTANGLE_CUSTOM`. + "type": "A String", # The crop type. + }, + "imageUri": "A String", # The image URL. + }, + "layout": "A String", # The layout to use for the grid item. + "subtitle": "A String", # The grid item's subtitle. + "textAlignment": "A String", # The horizontal alignment of the grid item's text. + "title": "A String", # The grid item's title. + }, + ], + "onClick": { # Represents the response to an `onClick` event. # This callback is reused by each individual grid item, but with the item's identifier and index in the items list added to the callback's parameters. + "action": { # An action that describes the behavior when the form is submitted. For example, an Apps Script can be invoked to handle the form. # If specified, an action is triggered by this `onClick`. + "function": "A String", # Apps Script function to invoke when the containing element is clicked/activated. + "loadIndicator": "A String", # Specifies the loading indicator that the action displays while making the call to the action. + "parameters": [ # List of action parameters. + { # List of string parameters to supply when the action method is invoked. For example, consider three snooze buttons: snooze now, snooze 1 day, snooze next week. You might use action method = snooze(), passing the snooze type and snooze time in the list of string parameters. + "key": "A String", # The name of the parameter for the action script. + "value": "A String", # The value of the parameter. + }, + ], + "persistValues": True or False, # Indicates whether form values persist after the action. The default value is `false`. If `true`, form values remain after the action is triggered. When using [LoadIndicator.NONE](workspace/add-ons/reference/rpc/google.apps.card.v1#loadindicator) for actions, `persist_values` = `true`is recommended, as it ensures that any changes made by the user after form or on change actions are sent to the server are not overwritten by the response. If `false`, the form values are cleared when the action is triggered. When `persist_values` is set to `false`, it is strongly recommended that the card use [LoadIndicator.SPINNER](workspace/add-ons/reference/rpc/google.apps.card.v1#loadindicator) for all actions, as this locks the UI to ensure no changes are made by the user while the action is being processed. Not supported by Google Chat apps. + }, + "card": # Object with schema name: GoogleAppsCardV1Card # A new card is pushed to the card stack after clicking if specified. + "openDynamicLinkAction": { # An action that describes the behavior when the form is submitted. For example, an Apps Script can be invoked to handle the form. # An add-on triggers this action when the action needs to open a link. This differs from the `open_link` above in that this needs to talk to server to get the link. Thus some preparation work is required for web client to do before the open link action response comes back. + "function": "A String", # Apps Script function to invoke when the containing element is clicked/activated. + "loadIndicator": "A String", # Specifies the loading indicator that the action displays while making the call to the action. + "parameters": [ # List of action parameters. + { # List of string parameters to supply when the action method is invoked. For example, consider three snooze buttons: snooze now, snooze 1 day, snooze next week. You might use action method = snooze(), passing the snooze type and snooze time in the list of string parameters. + "key": "A String", # The name of the parameter for the action script. + "value": "A String", # The value of the parameter. + }, + ], + "persistValues": True or False, # Indicates whether form values persist after the action. The default value is `false`. If `true`, form values remain after the action is triggered. When using [LoadIndicator.NONE](workspace/add-ons/reference/rpc/google.apps.card.v1#loadindicator) for actions, `persist_values` = `true`is recommended, as it ensures that any changes made by the user after form or on change actions are sent to the server are not overwritten by the response. If `false`, the form values are cleared when the action is triggered. When `persist_values` is set to `false`, it is strongly recommended that the card use [LoadIndicator.SPINNER](workspace/add-ons/reference/rpc/google.apps.card.v1#loadindicator) for all actions, as this locks the UI to ensure no changes are made by the user while the action is being processed. Not supported by Google Chat apps. + }, + "openLink": { # Represents an `onClick` event that opens a hyperlink. # If specified, this `onClick` triggers an open link action. + "onClose": "A String", # Whether the client forgets about a link after opening it, or observes it until the window closes. Not supported by Chat apps. + "openAs": "A String", # How to open a link. Not supported by Chat apps. + "url": "A String", # The URL to open. + }, + }, + "title": "A String", # The text that displays in the grid header. + }, + "horizontalAlignment": "A String", # The horizontal alignment of this widget. + "image": { # An image that is specified by a URL and can have an `onClick` action. # Displays an image in this widget. For example, the following JSON creates an image with alternative text: ``` "image": { "imageUrl": "https://example.com/sasha.png" "altText": "Avatar for Sasha" } ``` + "altText": "A String", # The alternative text of this image, used for accessibility. + "imageUrl": "A String", # An image URL. + "onClick": { # Represents the response to an `onClick` event. # The action triggered by an `onClick` event. + "action": { # An action that describes the behavior when the form is submitted. For example, an Apps Script can be invoked to handle the form. # If specified, an action is triggered by this `onClick`. + "function": "A String", # Apps Script function to invoke when the containing element is clicked/activated. + "loadIndicator": "A String", # Specifies the loading indicator that the action displays while making the call to the action. + "parameters": [ # List of action parameters. + { # List of string parameters to supply when the action method is invoked. For example, consider three snooze buttons: snooze now, snooze 1 day, snooze next week. You might use action method = snooze(), passing the snooze type and snooze time in the list of string parameters. + "key": "A String", # The name of the parameter for the action script. + "value": "A String", # The value of the parameter. + }, + ], + "persistValues": True or False, # Indicates whether form values persist after the action. The default value is `false`. If `true`, form values remain after the action is triggered. When using [LoadIndicator.NONE](workspace/add-ons/reference/rpc/google.apps.card.v1#loadindicator) for actions, `persist_values` = `true`is recommended, as it ensures that any changes made by the user after form or on change actions are sent to the server are not overwritten by the response. If `false`, the form values are cleared when the action is triggered. When `persist_values` is set to `false`, it is strongly recommended that the card use [LoadIndicator.SPINNER](workspace/add-ons/reference/rpc/google.apps.card.v1#loadindicator) for all actions, as this locks the UI to ensure no changes are made by the user while the action is being processed. Not supported by Google Chat apps. + }, + "card": # Object with schema name: GoogleAppsCardV1Card # A new card is pushed to the card stack after clicking if specified. + "openDynamicLinkAction": { # An action that describes the behavior when the form is submitted. For example, an Apps Script can be invoked to handle the form. # An add-on triggers this action when the action needs to open a link. This differs from the `open_link` above in that this needs to talk to server to get the link. Thus some preparation work is required for web client to do before the open link action response comes back. + "function": "A String", # Apps Script function to invoke when the containing element is clicked/activated. + "loadIndicator": "A String", # Specifies the loading indicator that the action displays while making the call to the action. + "parameters": [ # List of action parameters. + { # List of string parameters to supply when the action method is invoked. For example, consider three snooze buttons: snooze now, snooze 1 day, snooze next week. You might use action method = snooze(), passing the snooze type and snooze time in the list of string parameters. + "key": "A String", # The name of the parameter for the action script. + "value": "A String", # The value of the parameter. + }, + ], + "persistValues": True or False, # Indicates whether form values persist after the action. The default value is `false`. If `true`, form values remain after the action is triggered. When using [LoadIndicator.NONE](workspace/add-ons/reference/rpc/google.apps.card.v1#loadindicator) for actions, `persist_values` = `true`is recommended, as it ensures that any changes made by the user after form or on change actions are sent to the server are not overwritten by the response. If `false`, the form values are cleared when the action is triggered. When `persist_values` is set to `false`, it is strongly recommended that the card use [LoadIndicator.SPINNER](workspace/add-ons/reference/rpc/google.apps.card.v1#loadindicator) for all actions, as this locks the UI to ensure no changes are made by the user while the action is being processed. Not supported by Google Chat apps. + }, + "openLink": { # Represents an `onClick` event that opens a hyperlink. # If specified, this `onClick` triggers an open link action. + "onClose": "A String", # Whether the client forgets about a link after opening it, or observes it until the window closes. Not supported by Chat apps. + "openAs": "A String", # How to open a link. Not supported by Chat apps. + "url": "A String", # The URL to open. + }, + }, + }, + "selectionInput": { # A widget that creates a UI item with options for users to select. For example, a dropdown menu. # Displays a switch control in this widget. For example, the following JSON creates a dropdown selection for size: ``` "switchControl": { "name": "size", "label": "Size" "type": "SelectionType.DROPDOWN", "items": [ { "text": "S", "value": "small", "selected": false }, { "text": "M", "value": "medium", "selected": true }, { "text": "L", "value": "large", "selected": false }, { "text": "XL", "value": "extra_large", "selected": false } ] } ``` + "items": [ # An array of the selected items. + { # A selectable item in the switch control. + "selected": True or False, # If more than one item is selected for `RADIO_BUTTON` and `DROPDOWN`, the first selected item is treated as selected and the ones after are ignored. + "text": "A String", # The text to be displayed. + "value": "A String", # The value associated with this item. The client should use this as a form input value. + }, + ], + "label": "A String", # The label displayed ahead of the switch control. + "name": "A String", # The name of the text input which is used in `formInput`. + "onChangeAction": { # An action that describes the behavior when the form is submitted. For example, an Apps Script can be invoked to handle the form. # If specified, the form is submitted when the selection changes. If not specified, you must specify a separate button. + "function": "A String", # Apps Script function to invoke when the containing element is clicked/activated. + "loadIndicator": "A String", # Specifies the loading indicator that the action displays while making the call to the action. + "parameters": [ # List of action parameters. + { # List of string parameters to supply when the action method is invoked. For example, consider three snooze buttons: snooze now, snooze 1 day, snooze next week. You might use action method = snooze(), passing the snooze type and snooze time in the list of string parameters. + "key": "A String", # The name of the parameter for the action script. + "value": "A String", # The value of the parameter. + }, + ], + "persistValues": True or False, # Indicates whether form values persist after the action. The default value is `false`. If `true`, form values remain after the action is triggered. When using [LoadIndicator.NONE](workspace/add-ons/reference/rpc/google.apps.card.v1#loadindicator) for actions, `persist_values` = `true`is recommended, as it ensures that any changes made by the user after form or on change actions are sent to the server are not overwritten by the response. If `false`, the form values are cleared when the action is triggered. When `persist_values` is set to `false`, it is strongly recommended that the card use [LoadIndicator.SPINNER](workspace/add-ons/reference/rpc/google.apps.card.v1#loadindicator) for all actions, as this locks the UI to ensure no changes are made by the user while the action is being processed. Not supported by Google Chat apps. + }, + "type": "A String", # The type of the selection. + }, + "textInput": { # A text input is a UI item where users can input text. A text input can also have an onChange action and suggestions. # Displays a text input in this widget. For example, the following JSON creates a text input for mail address: ``` "textInput": { "name": "mailing_address", "label": "Mailing Address" } ``` As another example, the following JSON creates a text input for programming language with static suggestions: ``` "textInput": { "name": "preferred_programing_language", "label": "Preferred Language", "initialSuggestions": { "items": [ { "text": "C++" }, { "text": "Java" }, { "text": "JavaScript" }, { "text": "Python" } ] } } ``` + "autoCompleteAction": { # An action that describes the behavior when the form is submitted. For example, an Apps Script can be invoked to handle the form. # The refresh function that returns suggestions based on the user's input text. If the callback is not specified, autocomplete is done in client side based on the initial suggestion items. + "function": "A String", # Apps Script function to invoke when the containing element is clicked/activated. + "loadIndicator": "A String", # Specifies the loading indicator that the action displays while making the call to the action. + "parameters": [ # List of action parameters. + { # List of string parameters to supply when the action method is invoked. For example, consider three snooze buttons: snooze now, snooze 1 day, snooze next week. You might use action method = snooze(), passing the snooze type and snooze time in the list of string parameters. + "key": "A String", # The name of the parameter for the action script. + "value": "A String", # The value of the parameter. + }, + ], + "persistValues": True or False, # Indicates whether form values persist after the action. The default value is `false`. If `true`, form values remain after the action is triggered. When using [LoadIndicator.NONE](workspace/add-ons/reference/rpc/google.apps.card.v1#loadindicator) for actions, `persist_values` = `true`is recommended, as it ensures that any changes made by the user after form or on change actions are sent to the server are not overwritten by the response. If `false`, the form values are cleared when the action is triggered. When `persist_values` is set to `false`, it is strongly recommended that the card use [LoadIndicator.SPINNER](workspace/add-ons/reference/rpc/google.apps.card.v1#loadindicator) for all actions, as this locks the UI to ensure no changes are made by the user while the action is being processed. Not supported by Google Chat apps. + }, + "hintText": "A String", # The hint text. + "initialSuggestions": { # A container wrapping elements necessary for showing suggestion items used in text input autocomplete. # The initial suggestions made before any user input. + "items": [ # A list of suggestions used for autocomplete recommendations. + { # A suggestion item. + "text": "A String", # The suggested autocomplete result. + }, + ], + }, + "label": "A String", # At least one of label and hintText must be specified. + "name": "A String", # The name of the text input which is used in `formInput`. + "onChangeAction": { # An action that describes the behavior when the form is submitted. For example, an Apps Script can be invoked to handle the form. # The onChange action, for example, invoke a function. + "function": "A String", # Apps Script function to invoke when the containing element is clicked/activated. + "loadIndicator": "A String", # Specifies the loading indicator that the action displays while making the call to the action. + "parameters": [ # List of action parameters. + { # List of string parameters to supply when the action method is invoked. For example, consider three snooze buttons: snooze now, snooze 1 day, snooze next week. You might use action method = snooze(), passing the snooze type and snooze time in the list of string parameters. + "key": "A String", # The name of the parameter for the action script. + "value": "A String", # The value of the parameter. + }, + ], + "persistValues": True or False, # Indicates whether form values persist after the action. The default value is `false`. If `true`, form values remain after the action is triggered. When using [LoadIndicator.NONE](workspace/add-ons/reference/rpc/google.apps.card.v1#loadindicator) for actions, `persist_values` = `true`is recommended, as it ensures that any changes made by the user after form or on change actions are sent to the server are not overwritten by the response. If `false`, the form values are cleared when the action is triggered. When `persist_values` is set to `false`, it is strongly recommended that the card use [LoadIndicator.SPINNER](workspace/add-ons/reference/rpc/google.apps.card.v1#loadindicator) for all actions, as this locks the UI to ensure no changes are made by the user while the action is being processed. Not supported by Google Chat apps. + }, + "type": "A String", # The style of the text, for example, a single line or multiple lines. + "value": "A String", # The default value when there is no input from the user. + }, + "textParagraph": { # A paragraph of text that supports formatting. See [Text formatting](workspace/add-ons/concepts/widgets#text_formatting) for details. # Displays a text paragraph in this widget. For example, the following JSON creates a bolded text: ``` "textParagraph": { "text": " *bold text*" } ``` + "text": "A String", # The text that's shown in the widget. + }, + }, + ], + }, + ], + }, + "cardId": "A String", # Required for `cardsV2` messages. Chat app-specified identifier for this widget. Scoped within a message. }, ], "createTime": "A String", # Output only. The time at which the message was created in Google Chat server. @@ -1638,8 +2686,12 @@

Method Details

"displayName": "A String", # The space's display name. For direct messages between humans, this field might be empty. "name": "A String", # Resource name of the space. Format: spaces/{space} "singleUserBotDm": True or False, # Output only. Whether the space is a DM between a Chat app and a single human. + "spaceDetails": { # Details about the space including description and rules. # Details about the space including description and rules. + "description": "A String", # Optional. A description of the space. It could describe the space's discussion topic, functional purpose, or participants. + "guidelines": "A String", # Optional. The space's rules, expectations, and etiquette. + }, "threaded": True or False, # Output only. Whether messages are threaded in this space. - "type": "A String", # Output only. Deprecated: Use `single_user_bot_dm` or `space_type` (developer preview) instead. The type of a space. + "type": "A String", # Output only. Deprecated: Use `singleUserBotDm` or `spaceType` (developer preview) instead. The type of a space. }, "text": "A String", # Plain-text body of the message. The first link to an image, video, web page, or other preview-able item generates a preview chip. "thread": { # A thread in Google Chat. # The thread the message belongs to. @@ -2394,6 +3446,528 @@

Method Details

], }, ], + "cardsV2": [ # Richly formatted and interactive cards that display UI elements and editable widgets, such as: - Formatted text - Buttons - Clickable images - Checkboxes - Radio buttons - Input widgets. Cards are usually displayed below the text-body of a Chat message, but can situationally appear other places, such as [dialogs](https://developers.google.com/chat/how-tos/dialogs). The `cardId` is a unique identifier among cards in the same message and for identifying user input values. Currently supported widgets include: - `TextParagraph` - `DecoratedText` - `Image` - `ButtonList` + { # Widgets for Chat apps to specify. + "card": { # A card is a UI element that can contain UI widgets such as text and images. For more information, see Cards . For example, the following JSON creates a card that has a header with the name, position, icons, and link for a contact, followed by a section with contact information like email and phone number. ``` { "header": { "title": "Sasha", "subtitle": "Software Engineer", "imageStyle": "ImageStyle.AVATAR", "imageUrl": "https://example.com/sasha.png", "imageAltText": "Avatar for Sasha" }, "sections" : [ { "header": "Contact Info", "widgets": [ { "decorated_text": { "icon": { "knownIcon": "EMAIL" }, "content": "sasha@example.com" } }, { "decoratedText": { "icon": { "knownIcon": "PERSON" }, "content": "Online" } }, { "decoratedText": { "icon": { "knownIcon": "PHONE" }, "content": "+1 (555) 555-1234" } }, { "buttons": [ { "textButton": { "text": "Share", }, "onClick": { "openLink": { "url": "https://example.com/share" } } }, { "textButton": { "text": "Edit", }, "onClick": { "action": { "function": "goToView", "parameters": [ { "key": "viewType", "value": "EDIT" } ], "loadIndicator": "LoadIndicator.SPINNER" } } } ] } ], "collapsible": true, "uncollapsibleWidgetsCount": 3 } ], "cardActions": [ { "actionLabel": "Send Feedback", "onClick": { "openLink": { "url": "https://example.com/feedback" } } } ], "name": "contact-card-K3wB6arF2H9L" } ``` # Card proto that allows Chat apps to specify UI elements and editable widgets. + "cardActions": [ # The card's actions. Actions are added to the card's generated toolbar menu. For example, the following JSON constructs a card action menu with Settings and Send Feedback options: ``` "card_actions": [ { "actionLabel": "Settings", "onClick": { "action": { "functionName": "goToView", "parameters": [ { "key": "viewType", "value": "SETTING" } ], "loadIndicator": "LoadIndicator.SPINNER" } } }, { "actionLabel": "Send Feedback", "onClick": { "openLink": { "url": "https://example.com/feedback" } } } ] ``` + { # A card action is the action associated with the card. For example, an invoice card might include actions such as delete invoice, email invoice, or open the invoice in a browser. + "actionLabel": "A String", # The label that displays as the action menu item. + "onClick": { # Represents the response to an `onClick` event. # The `onClick` action for this action item. + "action": { # An action that describes the behavior when the form is submitted. For example, an Apps Script can be invoked to handle the form. # If specified, an action is triggered by this `onClick`. + "function": "A String", # Apps Script function to invoke when the containing element is clicked/activated. + "loadIndicator": "A String", # Specifies the loading indicator that the action displays while making the call to the action. + "parameters": [ # List of action parameters. + { # List of string parameters to supply when the action method is invoked. For example, consider three snooze buttons: snooze now, snooze 1 day, snooze next week. You might use action method = snooze(), passing the snooze type and snooze time in the list of string parameters. + "key": "A String", # The name of the parameter for the action script. + "value": "A String", # The value of the parameter. + }, + ], + "persistValues": True or False, # Indicates whether form values persist after the action. The default value is `false`. If `true`, form values remain after the action is triggered. When using [LoadIndicator.NONE](workspace/add-ons/reference/rpc/google.apps.card.v1#loadindicator) for actions, `persist_values` = `true`is recommended, as it ensures that any changes made by the user after form or on change actions are sent to the server are not overwritten by the response. If `false`, the form values are cleared when the action is triggered. When `persist_values` is set to `false`, it is strongly recommended that the card use [LoadIndicator.SPINNER](workspace/add-ons/reference/rpc/google.apps.card.v1#loadindicator) for all actions, as this locks the UI to ensure no changes are made by the user while the action is being processed. Not supported by Google Chat apps. + }, + "card": # Object with schema name: GoogleAppsCardV1Card # A new card is pushed to the card stack after clicking if specified. + "openDynamicLinkAction": { # An action that describes the behavior when the form is submitted. For example, an Apps Script can be invoked to handle the form. # An add-on triggers this action when the action needs to open a link. This differs from the `open_link` above in that this needs to talk to server to get the link. Thus some preparation work is required for web client to do before the open link action response comes back. + "function": "A String", # Apps Script function to invoke when the containing element is clicked/activated. + "loadIndicator": "A String", # Specifies the loading indicator that the action displays while making the call to the action. + "parameters": [ # List of action parameters. + { # List of string parameters to supply when the action method is invoked. For example, consider three snooze buttons: snooze now, snooze 1 day, snooze next week. You might use action method = snooze(), passing the snooze type and snooze time in the list of string parameters. + "key": "A String", # The name of the parameter for the action script. + "value": "A String", # The value of the parameter. + }, + ], + "persistValues": True or False, # Indicates whether form values persist after the action. The default value is `false`. If `true`, form values remain after the action is triggered. When using [LoadIndicator.NONE](workspace/add-ons/reference/rpc/google.apps.card.v1#loadindicator) for actions, `persist_values` = `true`is recommended, as it ensures that any changes made by the user after form or on change actions are sent to the server are not overwritten by the response. If `false`, the form values are cleared when the action is triggered. When `persist_values` is set to `false`, it is strongly recommended that the card use [LoadIndicator.SPINNER](workspace/add-ons/reference/rpc/google.apps.card.v1#loadindicator) for all actions, as this locks the UI to ensure no changes are made by the user while the action is being processed. Not supported by Google Chat apps. + }, + "openLink": { # Represents an `onClick` event that opens a hyperlink. # If specified, this `onClick` triggers an open link action. + "onClose": "A String", # Whether the client forgets about a link after opening it, or observes it until the window closes. Not supported by Chat apps. + "openAs": "A String", # How to open a link. Not supported by Chat apps. + "url": "A String", # The URL to open. + }, + }, + }, + ], + "displayStyle": "A String", # The `peekCardHeader` display style for. Not supported by Google Chat apps. + "fixedFooter": { # A persistent (sticky) footer that is added to the bottom of the card. # The fixed footer shown at the bottom of this card. + "primaryButton": { # A button. Can be a text button or an image button. # The primary button of the fixed footer. The button must be a text button with text and color set. + "altText": "A String", # The alternative text used for accessibility. Has no effect when an icon is set; use `icon.alt_text` instead. + "color": { # Represents a color in the RGBA color space. This representation is designed for simplicity of conversion to/from color representations in various languages over compactness. For example, the fields of this representation can be trivially provided to the constructor of `java.awt.Color` in Java; it can also be trivially provided to UIColor's `+colorWithRed:green:blue:alpha` method in iOS; and, with just a little work, it can be easily formatted into a CSS `rgba()` string in JavaScript. This reference page doesn't carry information about the absolute color space that should be used to interpret the RGB value (e.g. sRGB, Adobe RGB, DCI-P3, BT.2020, etc.). By default, applications should assume the sRGB color space. When color equality needs to be decided, implementations, unless documented otherwise, treat two colors as equal if all their red, green, blue, and alpha values each differ by at most 1e-5. Example (Java): import com.google.type.Color; // ... public static java.awt.Color fromProto(Color protocolor) { float alpha = protocolor.hasAlpha() ? protocolor.getAlpha().getValue() : 1.0; return new java.awt.Color( protocolor.getRed(), protocolor.getGreen(), protocolor.getBlue(), alpha); } public static Color toProto(java.awt.Color color) { float red = (float) color.getRed(); float green = (float) color.getGreen(); float blue = (float) color.getBlue(); float denominator = 255.0; Color.Builder resultBuilder = Color .newBuilder() .setRed(red / denominator) .setGreen(green / denominator) .setBlue(blue / denominator); int alpha = color.getAlpha(); if (alpha != 255) { result.setAlpha( FloatValue .newBuilder() .setValue(((float) alpha) / denominator) .build()); } return resultBuilder.build(); } // ... Example (iOS / Obj-C): // ... static UIColor* fromProto(Color* protocolor) { float red = [protocolor red]; float green = [protocolor green]; float blue = [protocolor blue]; FloatValue* alpha_wrapper = [protocolor alpha]; float alpha = 1.0; if (alpha_wrapper != nil) { alpha = [alpha_wrapper value]; } return [UIColor colorWithRed:red green:green blue:blue alpha:alpha]; } static Color* toProto(UIColor* color) { CGFloat red, green, blue, alpha; if (![color getRed:&red green:&green blue:&blue alpha:&alpha]) { return nil; } Color* result = [[Color alloc] init]; [result setRed:red]; [result setGreen:green]; [result setBlue:blue]; if (alpha <= 0.9999) { [result setAlpha:floatWrapperWithValue(alpha)]; } [result autorelease]; return result; } // ... Example (JavaScript): // ... var protoToCssColor = function(rgb_color) { var redFrac = rgb_color.red || 0.0; var greenFrac = rgb_color.green || 0.0; var blueFrac = rgb_color.blue || 0.0; var red = Math.floor(redFrac * 255); var green = Math.floor(greenFrac * 255); var blue = Math.floor(blueFrac * 255); if (!('alpha' in rgb_color)) { return rgbToCssColor(red, green, blue); } var alphaFrac = rgb_color.alpha.value || 0.0; var rgbParams = [red, green, blue].join(','); return ['rgba(', rgbParams, ',', alphaFrac, ')'].join(''); }; var rgbToCssColor = function(red, green, blue) { var rgbNumber = new Number((red << 16) | (green << 8) | blue); var hexString = rgbNumber.toString(16); var missingZeros = 6 - hexString.length; var resultBuilder = ['#']; for (var i = 0; i < missingZeros; i++) { resultBuilder.push('0'); } resultBuilder.push(hexString); return resultBuilder.join(''); }; // ... # If set, the button is filled with a solid background. + "alpha": 3.14, # The fraction of this color that should be applied to the pixel. That is, the final pixel color is defined by the equation: `pixel color = alpha * (this color) + (1.0 - alpha) * (background color)` This means that a value of 1.0 corresponds to a solid color, whereas a value of 0.0 corresponds to a completely transparent color. This uses a wrapper message rather than a simple float scalar so that it is possible to distinguish between a default value and the value being unset. If omitted, this color object is rendered as a solid color (as if the alpha value had been explicitly given a value of 1.0). + "blue": 3.14, # The amount of blue in the color as a value in the interval [0, 1]. + "green": 3.14, # The amount of green in the color as a value in the interval [0, 1]. + "red": 3.14, # The amount of red in the color as a value in the interval [0, 1]. + }, + "disabled": True or False, # If `true`, the button is displayed in a disabled state and doesn't respond to user actions. + "icon": { # The icon image. + "altText": "A String", # The description of the icon, used for accessibility. The default value is provided if you don't specify one. + "iconUrl": "A String", # The icon specified by a URL. + "imageType": "A String", # The crop style applied to the image. In some cases, applying a `CIRCLE` crop causes the image to be drawn larger than a standard icon. + "knownIcon": "A String", # The icon specified by the string name of a list of known icons. + }, + "onClick": { # Represents the response to an `onClick` event. # The action to perform when the button is clicked. + "action": { # An action that describes the behavior when the form is submitted. For example, an Apps Script can be invoked to handle the form. # If specified, an action is triggered by this `onClick`. + "function": "A String", # Apps Script function to invoke when the containing element is clicked/activated. + "loadIndicator": "A String", # Specifies the loading indicator that the action displays while making the call to the action. + "parameters": [ # List of action parameters. + { # List of string parameters to supply when the action method is invoked. For example, consider three snooze buttons: snooze now, snooze 1 day, snooze next week. You might use action method = snooze(), passing the snooze type and snooze time in the list of string parameters. + "key": "A String", # The name of the parameter for the action script. + "value": "A String", # The value of the parameter. + }, + ], + "persistValues": True or False, # Indicates whether form values persist after the action. The default value is `false`. If `true`, form values remain after the action is triggered. When using [LoadIndicator.NONE](workspace/add-ons/reference/rpc/google.apps.card.v1#loadindicator) for actions, `persist_values` = `true`is recommended, as it ensures that any changes made by the user after form or on change actions are sent to the server are not overwritten by the response. If `false`, the form values are cleared when the action is triggered. When `persist_values` is set to `false`, it is strongly recommended that the card use [LoadIndicator.SPINNER](workspace/add-ons/reference/rpc/google.apps.card.v1#loadindicator) for all actions, as this locks the UI to ensure no changes are made by the user while the action is being processed. Not supported by Google Chat apps. + }, + "card": # Object with schema name: GoogleAppsCardV1Card # A new card is pushed to the card stack after clicking if specified. + "openDynamicLinkAction": { # An action that describes the behavior when the form is submitted. For example, an Apps Script can be invoked to handle the form. # An add-on triggers this action when the action needs to open a link. This differs from the `open_link` above in that this needs to talk to server to get the link. Thus some preparation work is required for web client to do before the open link action response comes back. + "function": "A String", # Apps Script function to invoke when the containing element is clicked/activated. + "loadIndicator": "A String", # Specifies the loading indicator that the action displays while making the call to the action. + "parameters": [ # List of action parameters. + { # List of string parameters to supply when the action method is invoked. For example, consider three snooze buttons: snooze now, snooze 1 day, snooze next week. You might use action method = snooze(), passing the snooze type and snooze time in the list of string parameters. + "key": "A String", # The name of the parameter for the action script. + "value": "A String", # The value of the parameter. + }, + ], + "persistValues": True or False, # Indicates whether form values persist after the action. The default value is `false`. If `true`, form values remain after the action is triggered. When using [LoadIndicator.NONE](workspace/add-ons/reference/rpc/google.apps.card.v1#loadindicator) for actions, `persist_values` = `true`is recommended, as it ensures that any changes made by the user after form or on change actions are sent to the server are not overwritten by the response. If `false`, the form values are cleared when the action is triggered. When `persist_values` is set to `false`, it is strongly recommended that the card use [LoadIndicator.SPINNER](workspace/add-ons/reference/rpc/google.apps.card.v1#loadindicator) for all actions, as this locks the UI to ensure no changes are made by the user while the action is being processed. Not supported by Google Chat apps. + }, + "openLink": { # Represents an `onClick` event that opens a hyperlink. # If specified, this `onClick` triggers an open link action. + "onClose": "A String", # Whether the client forgets about a link after opening it, or observes it until the window closes. Not supported by Chat apps. + "openAs": "A String", # How to open a link. Not supported by Chat apps. + "url": "A String", # The URL to open. + }, + }, + "text": "A String", # The text of the button. + }, + "secondaryButton": { # A button. Can be a text button or an image button. # The secondary button of the fixed footer. The button must be a text button with text and color set. `primaryButton` must be set if `secondaryButton` is set. + "altText": "A String", # The alternative text used for accessibility. Has no effect when an icon is set; use `icon.alt_text` instead. + "color": { # Represents a color in the RGBA color space. This representation is designed for simplicity of conversion to/from color representations in various languages over compactness. For example, the fields of this representation can be trivially provided to the constructor of `java.awt.Color` in Java; it can also be trivially provided to UIColor's `+colorWithRed:green:blue:alpha` method in iOS; and, with just a little work, it can be easily formatted into a CSS `rgba()` string in JavaScript. This reference page doesn't carry information about the absolute color space that should be used to interpret the RGB value (e.g. sRGB, Adobe RGB, DCI-P3, BT.2020, etc.). By default, applications should assume the sRGB color space. When color equality needs to be decided, implementations, unless documented otherwise, treat two colors as equal if all their red, green, blue, and alpha values each differ by at most 1e-5. Example (Java): import com.google.type.Color; // ... public static java.awt.Color fromProto(Color protocolor) { float alpha = protocolor.hasAlpha() ? protocolor.getAlpha().getValue() : 1.0; return new java.awt.Color( protocolor.getRed(), protocolor.getGreen(), protocolor.getBlue(), alpha); } public static Color toProto(java.awt.Color color) { float red = (float) color.getRed(); float green = (float) color.getGreen(); float blue = (float) color.getBlue(); float denominator = 255.0; Color.Builder resultBuilder = Color .newBuilder() .setRed(red / denominator) .setGreen(green / denominator) .setBlue(blue / denominator); int alpha = color.getAlpha(); if (alpha != 255) { result.setAlpha( FloatValue .newBuilder() .setValue(((float) alpha) / denominator) .build()); } return resultBuilder.build(); } // ... Example (iOS / Obj-C): // ... static UIColor* fromProto(Color* protocolor) { float red = [protocolor red]; float green = [protocolor green]; float blue = [protocolor blue]; FloatValue* alpha_wrapper = [protocolor alpha]; float alpha = 1.0; if (alpha_wrapper != nil) { alpha = [alpha_wrapper value]; } return [UIColor colorWithRed:red green:green blue:blue alpha:alpha]; } static Color* toProto(UIColor* color) { CGFloat red, green, blue, alpha; if (![color getRed:&red green:&green blue:&blue alpha:&alpha]) { return nil; } Color* result = [[Color alloc] init]; [result setRed:red]; [result setGreen:green]; [result setBlue:blue]; if (alpha <= 0.9999) { [result setAlpha:floatWrapperWithValue(alpha)]; } [result autorelease]; return result; } // ... Example (JavaScript): // ... var protoToCssColor = function(rgb_color) { var redFrac = rgb_color.red || 0.0; var greenFrac = rgb_color.green || 0.0; var blueFrac = rgb_color.blue || 0.0; var red = Math.floor(redFrac * 255); var green = Math.floor(greenFrac * 255); var blue = Math.floor(blueFrac * 255); if (!('alpha' in rgb_color)) { return rgbToCssColor(red, green, blue); } var alphaFrac = rgb_color.alpha.value || 0.0; var rgbParams = [red, green, blue].join(','); return ['rgba(', rgbParams, ',', alphaFrac, ')'].join(''); }; var rgbToCssColor = function(red, green, blue) { var rgbNumber = new Number((red << 16) | (green << 8) | blue); var hexString = rgbNumber.toString(16); var missingZeros = 6 - hexString.length; var resultBuilder = ['#']; for (var i = 0; i < missingZeros; i++) { resultBuilder.push('0'); } resultBuilder.push(hexString); return resultBuilder.join(''); }; // ... # If set, the button is filled with a solid background. + "alpha": 3.14, # The fraction of this color that should be applied to the pixel. That is, the final pixel color is defined by the equation: `pixel color = alpha * (this color) + (1.0 - alpha) * (background color)` This means that a value of 1.0 corresponds to a solid color, whereas a value of 0.0 corresponds to a completely transparent color. This uses a wrapper message rather than a simple float scalar so that it is possible to distinguish between a default value and the value being unset. If omitted, this color object is rendered as a solid color (as if the alpha value had been explicitly given a value of 1.0). + "blue": 3.14, # The amount of blue in the color as a value in the interval [0, 1]. + "green": 3.14, # The amount of green in the color as a value in the interval [0, 1]. + "red": 3.14, # The amount of red in the color as a value in the interval [0, 1]. + }, + "disabled": True or False, # If `true`, the button is displayed in a disabled state and doesn't respond to user actions. + "icon": { # The icon image. + "altText": "A String", # The description of the icon, used for accessibility. The default value is provided if you don't specify one. + "iconUrl": "A String", # The icon specified by a URL. + "imageType": "A String", # The crop style applied to the image. In some cases, applying a `CIRCLE` crop causes the image to be drawn larger than a standard icon. + "knownIcon": "A String", # The icon specified by the string name of a list of known icons. + }, + "onClick": { # Represents the response to an `onClick` event. # The action to perform when the button is clicked. + "action": { # An action that describes the behavior when the form is submitted. For example, an Apps Script can be invoked to handle the form. # If specified, an action is triggered by this `onClick`. + "function": "A String", # Apps Script function to invoke when the containing element is clicked/activated. + "loadIndicator": "A String", # Specifies the loading indicator that the action displays while making the call to the action. + "parameters": [ # List of action parameters. + { # List of string parameters to supply when the action method is invoked. For example, consider three snooze buttons: snooze now, snooze 1 day, snooze next week. You might use action method = snooze(), passing the snooze type and snooze time in the list of string parameters. + "key": "A String", # The name of the parameter for the action script. + "value": "A String", # The value of the parameter. + }, + ], + "persistValues": True or False, # Indicates whether form values persist after the action. The default value is `false`. If `true`, form values remain after the action is triggered. When using [LoadIndicator.NONE](workspace/add-ons/reference/rpc/google.apps.card.v1#loadindicator) for actions, `persist_values` = `true`is recommended, as it ensures that any changes made by the user after form or on change actions are sent to the server are not overwritten by the response. If `false`, the form values are cleared when the action is triggered. When `persist_values` is set to `false`, it is strongly recommended that the card use [LoadIndicator.SPINNER](workspace/add-ons/reference/rpc/google.apps.card.v1#loadindicator) for all actions, as this locks the UI to ensure no changes are made by the user while the action is being processed. Not supported by Google Chat apps. + }, + "card": # Object with schema name: GoogleAppsCardV1Card # A new card is pushed to the card stack after clicking if specified. + "openDynamicLinkAction": { # An action that describes the behavior when the form is submitted. For example, an Apps Script can be invoked to handle the form. # An add-on triggers this action when the action needs to open a link. This differs from the `open_link` above in that this needs to talk to server to get the link. Thus some preparation work is required for web client to do before the open link action response comes back. + "function": "A String", # Apps Script function to invoke when the containing element is clicked/activated. + "loadIndicator": "A String", # Specifies the loading indicator that the action displays while making the call to the action. + "parameters": [ # List of action parameters. + { # List of string parameters to supply when the action method is invoked. For example, consider three snooze buttons: snooze now, snooze 1 day, snooze next week. You might use action method = snooze(), passing the snooze type and snooze time in the list of string parameters. + "key": "A String", # The name of the parameter for the action script. + "value": "A String", # The value of the parameter. + }, + ], + "persistValues": True or False, # Indicates whether form values persist after the action. The default value is `false`. If `true`, form values remain after the action is triggered. When using [LoadIndicator.NONE](workspace/add-ons/reference/rpc/google.apps.card.v1#loadindicator) for actions, `persist_values` = `true`is recommended, as it ensures that any changes made by the user after form or on change actions are sent to the server are not overwritten by the response. If `false`, the form values are cleared when the action is triggered. When `persist_values` is set to `false`, it is strongly recommended that the card use [LoadIndicator.SPINNER](workspace/add-ons/reference/rpc/google.apps.card.v1#loadindicator) for all actions, as this locks the UI to ensure no changes are made by the user while the action is being processed. Not supported by Google Chat apps. + }, + "openLink": { # Represents an `onClick` event that opens a hyperlink. # If specified, this `onClick` triggers an open link action. + "onClose": "A String", # Whether the client forgets about a link after opening it, or observes it until the window closes. Not supported by Chat apps. + "openAs": "A String", # How to open a link. Not supported by Chat apps. + "url": "A String", # The URL to open. + }, + }, + "text": "A String", # The text of the button. + }, + }, + "header": { # Represents a card header. # The header of the card. A header usually contains a title and an image. + "imageAltText": "A String", # The alternative text of this image which is used for accessibility. + "imageType": "A String", # The image's type. + "imageUrl": "A String", # The URL of the image in the card header. + "subtitle": "A String", # The subtitle of the card header. + "title": "A String", # Required. The title of the card header. The header has a fixed height: if both a title and subtitle are specified, each takes up one line. If only the title is specified, it takes up both lines. + }, + "name": "A String", # Name of the card. Used as a card identifier in card navigation. + "peekCardHeader": { # Represents a card header. # When displaying contextual content, the peek card header acts as a placeholder so that the user can navigate forward between the homepage cards and the contextual cards. Not supported by Google Chat apps. + "imageAltText": "A String", # The alternative text of this image which is used for accessibility. + "imageType": "A String", # The image's type. + "imageUrl": "A String", # The URL of the image in the card header. + "subtitle": "A String", # The subtitle of the card header. + "title": "A String", # Required. The title of the card header. The header has a fixed height: if both a title and subtitle are specified, each takes up one line. If only the title is specified, it takes up both lines. + }, + "sections": [ # Sections are separated by a line divider. + { # A section contains a collection of widgets that are rendered vertically in the order that they are specified. Across all platforms, cards have a narrow fixed width, so there is currently no need for layout properties, for example, float. + "collapsible": True or False, # Indicates whether this section is collapsible. If a section is collapsible, the description must be given. + "header": "A String", # The header of the section. Formatted text is supported. + "uncollapsibleWidgetsCount": 42, # The number of uncollapsible widgets. For example, when a section contains five widgets and the `uncollapsibleWidgetsCount` is set to `2`, the first two widgets are always shown and the last three are collapsed as default. The `uncollapsibleWidgetsCount` is taken into account only when `collapsible` is `true`. + "widgets": [ # A section must contain at least 1 widget. + { # A widget is a UI element that presents texts, images, etc. + "buttonList": { # A list of buttons layed out horizontally. # A list of buttons. For example, the following JSON creates two buttons. The first is a filled text button and the second is an image button that opens a link: ``` "buttonList": { "buttons": [ "button": { "text": "Edit", "Color": { "Red": 255 "Green": 255 "Blue": 255 } "disabled": true }, "button": { "icon": { "knownIcon": "INVITE" "altText": "check calendar" }, "onClick": { "openLink": { "url": "https://example.com/calendar" } } }, ] } ``` + "buttons": [ # An array of buttons. + { # A button. Can be a text button or an image button. + "altText": "A String", # The alternative text used for accessibility. Has no effect when an icon is set; use `icon.alt_text` instead. + "color": { # Represents a color in the RGBA color space. This representation is designed for simplicity of conversion to/from color representations in various languages over compactness. For example, the fields of this representation can be trivially provided to the constructor of `java.awt.Color` in Java; it can also be trivially provided to UIColor's `+colorWithRed:green:blue:alpha` method in iOS; and, with just a little work, it can be easily formatted into a CSS `rgba()` string in JavaScript. This reference page doesn't carry information about the absolute color space that should be used to interpret the RGB value (e.g. sRGB, Adobe RGB, DCI-P3, BT.2020, etc.). By default, applications should assume the sRGB color space. When color equality needs to be decided, implementations, unless documented otherwise, treat two colors as equal if all their red, green, blue, and alpha values each differ by at most 1e-5. Example (Java): import com.google.type.Color; // ... public static java.awt.Color fromProto(Color protocolor) { float alpha = protocolor.hasAlpha() ? protocolor.getAlpha().getValue() : 1.0; return new java.awt.Color( protocolor.getRed(), protocolor.getGreen(), protocolor.getBlue(), alpha); } public static Color toProto(java.awt.Color color) { float red = (float) color.getRed(); float green = (float) color.getGreen(); float blue = (float) color.getBlue(); float denominator = 255.0; Color.Builder resultBuilder = Color .newBuilder() .setRed(red / denominator) .setGreen(green / denominator) .setBlue(blue / denominator); int alpha = color.getAlpha(); if (alpha != 255) { result.setAlpha( FloatValue .newBuilder() .setValue(((float) alpha) / denominator) .build()); } return resultBuilder.build(); } // ... Example (iOS / Obj-C): // ... static UIColor* fromProto(Color* protocolor) { float red = [protocolor red]; float green = [protocolor green]; float blue = [protocolor blue]; FloatValue* alpha_wrapper = [protocolor alpha]; float alpha = 1.0; if (alpha_wrapper != nil) { alpha = [alpha_wrapper value]; } return [UIColor colorWithRed:red green:green blue:blue alpha:alpha]; } static Color* toProto(UIColor* color) { CGFloat red, green, blue, alpha; if (![color getRed:&red green:&green blue:&blue alpha:&alpha]) { return nil; } Color* result = [[Color alloc] init]; [result setRed:red]; [result setGreen:green]; [result setBlue:blue]; if (alpha <= 0.9999) { [result setAlpha:floatWrapperWithValue(alpha)]; } [result autorelease]; return result; } // ... Example (JavaScript): // ... var protoToCssColor = function(rgb_color) { var redFrac = rgb_color.red || 0.0; var greenFrac = rgb_color.green || 0.0; var blueFrac = rgb_color.blue || 0.0; var red = Math.floor(redFrac * 255); var green = Math.floor(greenFrac * 255); var blue = Math.floor(blueFrac * 255); if (!('alpha' in rgb_color)) { return rgbToCssColor(red, green, blue); } var alphaFrac = rgb_color.alpha.value || 0.0; var rgbParams = [red, green, blue].join(','); return ['rgba(', rgbParams, ',', alphaFrac, ')'].join(''); }; var rgbToCssColor = function(red, green, blue) { var rgbNumber = new Number((red << 16) | (green << 8) | blue); var hexString = rgbNumber.toString(16); var missingZeros = 6 - hexString.length; var resultBuilder = ['#']; for (var i = 0; i < missingZeros; i++) { resultBuilder.push('0'); } resultBuilder.push(hexString); return resultBuilder.join(''); }; // ... # If set, the button is filled with a solid background. + "alpha": 3.14, # The fraction of this color that should be applied to the pixel. That is, the final pixel color is defined by the equation: `pixel color = alpha * (this color) + (1.0 - alpha) * (background color)` This means that a value of 1.0 corresponds to a solid color, whereas a value of 0.0 corresponds to a completely transparent color. This uses a wrapper message rather than a simple float scalar so that it is possible to distinguish between a default value and the value being unset. If omitted, this color object is rendered as a solid color (as if the alpha value had been explicitly given a value of 1.0). + "blue": 3.14, # The amount of blue in the color as a value in the interval [0, 1]. + "green": 3.14, # The amount of green in the color as a value in the interval [0, 1]. + "red": 3.14, # The amount of red in the color as a value in the interval [0, 1]. + }, + "disabled": True or False, # If `true`, the button is displayed in a disabled state and doesn't respond to user actions. + "icon": { # The icon image. + "altText": "A String", # The description of the icon, used for accessibility. The default value is provided if you don't specify one. + "iconUrl": "A String", # The icon specified by a URL. + "imageType": "A String", # The crop style applied to the image. In some cases, applying a `CIRCLE` crop causes the image to be drawn larger than a standard icon. + "knownIcon": "A String", # The icon specified by the string name of a list of known icons. + }, + "onClick": { # Represents the response to an `onClick` event. # The action to perform when the button is clicked. + "action": { # An action that describes the behavior when the form is submitted. For example, an Apps Script can be invoked to handle the form. # If specified, an action is triggered by this `onClick`. + "function": "A String", # Apps Script function to invoke when the containing element is clicked/activated. + "loadIndicator": "A String", # Specifies the loading indicator that the action displays while making the call to the action. + "parameters": [ # List of action parameters. + { # List of string parameters to supply when the action method is invoked. For example, consider three snooze buttons: snooze now, snooze 1 day, snooze next week. You might use action method = snooze(), passing the snooze type and snooze time in the list of string parameters. + "key": "A String", # The name of the parameter for the action script. + "value": "A String", # The value of the parameter. + }, + ], + "persistValues": True or False, # Indicates whether form values persist after the action. The default value is `false`. If `true`, form values remain after the action is triggered. When using [LoadIndicator.NONE](workspace/add-ons/reference/rpc/google.apps.card.v1#loadindicator) for actions, `persist_values` = `true`is recommended, as it ensures that any changes made by the user after form or on change actions are sent to the server are not overwritten by the response. If `false`, the form values are cleared when the action is triggered. When `persist_values` is set to `false`, it is strongly recommended that the card use [LoadIndicator.SPINNER](workspace/add-ons/reference/rpc/google.apps.card.v1#loadindicator) for all actions, as this locks the UI to ensure no changes are made by the user while the action is being processed. Not supported by Google Chat apps. + }, + "card": # Object with schema name: GoogleAppsCardV1Card # A new card is pushed to the card stack after clicking if specified. + "openDynamicLinkAction": { # An action that describes the behavior when the form is submitted. For example, an Apps Script can be invoked to handle the form. # An add-on triggers this action when the action needs to open a link. This differs from the `open_link` above in that this needs to talk to server to get the link. Thus some preparation work is required for web client to do before the open link action response comes back. + "function": "A String", # Apps Script function to invoke when the containing element is clicked/activated. + "loadIndicator": "A String", # Specifies the loading indicator that the action displays while making the call to the action. + "parameters": [ # List of action parameters. + { # List of string parameters to supply when the action method is invoked. For example, consider three snooze buttons: snooze now, snooze 1 day, snooze next week. You might use action method = snooze(), passing the snooze type and snooze time in the list of string parameters. + "key": "A String", # The name of the parameter for the action script. + "value": "A String", # The value of the parameter. + }, + ], + "persistValues": True or False, # Indicates whether form values persist after the action. The default value is `false`. If `true`, form values remain after the action is triggered. When using [LoadIndicator.NONE](workspace/add-ons/reference/rpc/google.apps.card.v1#loadindicator) for actions, `persist_values` = `true`is recommended, as it ensures that any changes made by the user after form or on change actions are sent to the server are not overwritten by the response. If `false`, the form values are cleared when the action is triggered. When `persist_values` is set to `false`, it is strongly recommended that the card use [LoadIndicator.SPINNER](workspace/add-ons/reference/rpc/google.apps.card.v1#loadindicator) for all actions, as this locks the UI to ensure no changes are made by the user while the action is being processed. Not supported by Google Chat apps. + }, + "openLink": { # Represents an `onClick` event that opens a hyperlink. # If specified, this `onClick` triggers an open link action. + "onClose": "A String", # Whether the client forgets about a link after opening it, or observes it until the window closes. Not supported by Chat apps. + "openAs": "A String", # How to open a link. Not supported by Chat apps. + "url": "A String", # The URL to open. + }, + }, + "text": "A String", # The text of the button. + }, + ], + }, + "dateTimePicker": { # The widget that lets users to specify a date and time. Not supported by Google Chat apps. # Displays a selection/input widget for date/time. For example, the following JSON creates a date/time picker for an appointment time: ``` "date_time_picker": { "name": "appointment_time", "label": "Book your appointment at:", "type": "DateTimePickerType.DATE_AND_TIME", "valueMsEpoch": "796435200000" } ``` + "label": "A String", # The label for the field that displays to the user. + "name": "A String", # The name of the text input that's used in `formInput`, and uniquely identifies this input. + "onChangeAction": { # An action that describes the behavior when the form is submitted. For example, an Apps Script can be invoked to handle the form. # Triggered when the user clicks Save or Clear from the date/time picker dialog. This is only triggered if the value changed as a result of the Save/Clear operation. + "function": "A String", # Apps Script function to invoke when the containing element is clicked/activated. + "loadIndicator": "A String", # Specifies the loading indicator that the action displays while making the call to the action. + "parameters": [ # List of action parameters. + { # List of string parameters to supply when the action method is invoked. For example, consider three snooze buttons: snooze now, snooze 1 day, snooze next week. You might use action method = snooze(), passing the snooze type and snooze time in the list of string parameters. + "key": "A String", # The name of the parameter for the action script. + "value": "A String", # The value of the parameter. + }, + ], + "persistValues": True or False, # Indicates whether form values persist after the action. The default value is `false`. If `true`, form values remain after the action is triggered. When using [LoadIndicator.NONE](workspace/add-ons/reference/rpc/google.apps.card.v1#loadindicator) for actions, `persist_values` = `true`is recommended, as it ensures that any changes made by the user after form or on change actions are sent to the server are not overwritten by the response. If `false`, the form values are cleared when the action is triggered. When `persist_values` is set to `false`, it is strongly recommended that the card use [LoadIndicator.SPINNER](workspace/add-ons/reference/rpc/google.apps.card.v1#loadindicator) for all actions, as this locks the UI to ensure no changes are made by the user while the action is being processed. Not supported by Google Chat apps. + }, + "timezoneOffsetDate": 42, # The number representing the time zone offset from UTC, in minutes. If set, the `value_ms_epoch` is displayed in the specified time zone. If not set, it uses the user's time zone setting on the client side. + "type": "A String", # The type of the date/time picker. + "valueMsEpoch": "A String", # The value to display as the default value before user input or previous user input. It is represented in milliseconds (Epoch time). For `DATE_AND_TIME` type, the full epoch value is used. For `DATE_ONLY` type, only date of the epoch time is used. For `TIME_ONLY` type, only time of the epoch time is used. For example, you can set epoch time to `3 * 60 * 60 * 1000` to represent 3am. + }, + "decoratedText": { # A widget that displays text with optional decorations such as a label above or below the text, an icon in front of the text, a selection widget or a button after the text. # Displays a decorated text item in this widget. For example, the following JSON creates a decorated text widget showing email address: ``` "decoratedText": { "icon": { "knownIcon": "EMAIL" }, "topLabel": "Email Address", "content": "sasha@example.com", "bottomLabel": "This is a new Email address!", "switchWidget": { "name": "has_send_welcome_email_to_sasha", "selected": false, "controlType": "ControlType.CHECKBOX" } } ``` + "bottomLabel": "A String", # The formatted text label that shows below the main text. + "button": { # A button. Can be a text button or an image button. # A button that can be clicked to trigger an action. + "altText": "A String", # The alternative text used for accessibility. Has no effect when an icon is set; use `icon.alt_text` instead. + "color": { # Represents a color in the RGBA color space. This representation is designed for simplicity of conversion to/from color representations in various languages over compactness. For example, the fields of this representation can be trivially provided to the constructor of `java.awt.Color` in Java; it can also be trivially provided to UIColor's `+colorWithRed:green:blue:alpha` method in iOS; and, with just a little work, it can be easily formatted into a CSS `rgba()` string in JavaScript. This reference page doesn't carry information about the absolute color space that should be used to interpret the RGB value (e.g. sRGB, Adobe RGB, DCI-P3, BT.2020, etc.). By default, applications should assume the sRGB color space. When color equality needs to be decided, implementations, unless documented otherwise, treat two colors as equal if all their red, green, blue, and alpha values each differ by at most 1e-5. Example (Java): import com.google.type.Color; // ... public static java.awt.Color fromProto(Color protocolor) { float alpha = protocolor.hasAlpha() ? protocolor.getAlpha().getValue() : 1.0; return new java.awt.Color( protocolor.getRed(), protocolor.getGreen(), protocolor.getBlue(), alpha); } public static Color toProto(java.awt.Color color) { float red = (float) color.getRed(); float green = (float) color.getGreen(); float blue = (float) color.getBlue(); float denominator = 255.0; Color.Builder resultBuilder = Color .newBuilder() .setRed(red / denominator) .setGreen(green / denominator) .setBlue(blue / denominator); int alpha = color.getAlpha(); if (alpha != 255) { result.setAlpha( FloatValue .newBuilder() .setValue(((float) alpha) / denominator) .build()); } return resultBuilder.build(); } // ... Example (iOS / Obj-C): // ... static UIColor* fromProto(Color* protocolor) { float red = [protocolor red]; float green = [protocolor green]; float blue = [protocolor blue]; FloatValue* alpha_wrapper = [protocolor alpha]; float alpha = 1.0; if (alpha_wrapper != nil) { alpha = [alpha_wrapper value]; } return [UIColor colorWithRed:red green:green blue:blue alpha:alpha]; } static Color* toProto(UIColor* color) { CGFloat red, green, blue, alpha; if (![color getRed:&red green:&green blue:&blue alpha:&alpha]) { return nil; } Color* result = [[Color alloc] init]; [result setRed:red]; [result setGreen:green]; [result setBlue:blue]; if (alpha <= 0.9999) { [result setAlpha:floatWrapperWithValue(alpha)]; } [result autorelease]; return result; } // ... Example (JavaScript): // ... var protoToCssColor = function(rgb_color) { var redFrac = rgb_color.red || 0.0; var greenFrac = rgb_color.green || 0.0; var blueFrac = rgb_color.blue || 0.0; var red = Math.floor(redFrac * 255); var green = Math.floor(greenFrac * 255); var blue = Math.floor(blueFrac * 255); if (!('alpha' in rgb_color)) { return rgbToCssColor(red, green, blue); } var alphaFrac = rgb_color.alpha.value || 0.0; var rgbParams = [red, green, blue].join(','); return ['rgba(', rgbParams, ',', alphaFrac, ')'].join(''); }; var rgbToCssColor = function(red, green, blue) { var rgbNumber = new Number((red << 16) | (green << 8) | blue); var hexString = rgbNumber.toString(16); var missingZeros = 6 - hexString.length; var resultBuilder = ['#']; for (var i = 0; i < missingZeros; i++) { resultBuilder.push('0'); } resultBuilder.push(hexString); return resultBuilder.join(''); }; // ... # If set, the button is filled with a solid background. + "alpha": 3.14, # The fraction of this color that should be applied to the pixel. That is, the final pixel color is defined by the equation: `pixel color = alpha * (this color) + (1.0 - alpha) * (background color)` This means that a value of 1.0 corresponds to a solid color, whereas a value of 0.0 corresponds to a completely transparent color. This uses a wrapper message rather than a simple float scalar so that it is possible to distinguish between a default value and the value being unset. If omitted, this color object is rendered as a solid color (as if the alpha value had been explicitly given a value of 1.0). + "blue": 3.14, # The amount of blue in the color as a value in the interval [0, 1]. + "green": 3.14, # The amount of green in the color as a value in the interval [0, 1]. + "red": 3.14, # The amount of red in the color as a value in the interval [0, 1]. + }, + "disabled": True or False, # If `true`, the button is displayed in a disabled state and doesn't respond to user actions. + "icon": { # The icon image. + "altText": "A String", # The description of the icon, used for accessibility. The default value is provided if you don't specify one. + "iconUrl": "A String", # The icon specified by a URL. + "imageType": "A String", # The crop style applied to the image. In some cases, applying a `CIRCLE` crop causes the image to be drawn larger than a standard icon. + "knownIcon": "A String", # The icon specified by the string name of a list of known icons. + }, + "onClick": { # Represents the response to an `onClick` event. # The action to perform when the button is clicked. + "action": { # An action that describes the behavior when the form is submitted. For example, an Apps Script can be invoked to handle the form. # If specified, an action is triggered by this `onClick`. + "function": "A String", # Apps Script function to invoke when the containing element is clicked/activated. + "loadIndicator": "A String", # Specifies the loading indicator that the action displays while making the call to the action. + "parameters": [ # List of action parameters. + { # List of string parameters to supply when the action method is invoked. For example, consider three snooze buttons: snooze now, snooze 1 day, snooze next week. You might use action method = snooze(), passing the snooze type and snooze time in the list of string parameters. + "key": "A String", # The name of the parameter for the action script. + "value": "A String", # The value of the parameter. + }, + ], + "persistValues": True or False, # Indicates whether form values persist after the action. The default value is `false`. If `true`, form values remain after the action is triggered. When using [LoadIndicator.NONE](workspace/add-ons/reference/rpc/google.apps.card.v1#loadindicator) for actions, `persist_values` = `true`is recommended, as it ensures that any changes made by the user after form or on change actions are sent to the server are not overwritten by the response. If `false`, the form values are cleared when the action is triggered. When `persist_values` is set to `false`, it is strongly recommended that the card use [LoadIndicator.SPINNER](workspace/add-ons/reference/rpc/google.apps.card.v1#loadindicator) for all actions, as this locks the UI to ensure no changes are made by the user while the action is being processed. Not supported by Google Chat apps. + }, + "card": # Object with schema name: GoogleAppsCardV1Card # A new card is pushed to the card stack after clicking if specified. + "openDynamicLinkAction": { # An action that describes the behavior when the form is submitted. For example, an Apps Script can be invoked to handle the form. # An add-on triggers this action when the action needs to open a link. This differs from the `open_link` above in that this needs to talk to server to get the link. Thus some preparation work is required for web client to do before the open link action response comes back. + "function": "A String", # Apps Script function to invoke when the containing element is clicked/activated. + "loadIndicator": "A String", # Specifies the loading indicator that the action displays while making the call to the action. + "parameters": [ # List of action parameters. + { # List of string parameters to supply when the action method is invoked. For example, consider three snooze buttons: snooze now, snooze 1 day, snooze next week. You might use action method = snooze(), passing the snooze type and snooze time in the list of string parameters. + "key": "A String", # The name of the parameter for the action script. + "value": "A String", # The value of the parameter. + }, + ], + "persistValues": True or False, # Indicates whether form values persist after the action. The default value is `false`. If `true`, form values remain after the action is triggered. When using [LoadIndicator.NONE](workspace/add-ons/reference/rpc/google.apps.card.v1#loadindicator) for actions, `persist_values` = `true`is recommended, as it ensures that any changes made by the user after form or on change actions are sent to the server are not overwritten by the response. If `false`, the form values are cleared when the action is triggered. When `persist_values` is set to `false`, it is strongly recommended that the card use [LoadIndicator.SPINNER](workspace/add-ons/reference/rpc/google.apps.card.v1#loadindicator) for all actions, as this locks the UI to ensure no changes are made by the user while the action is being processed. Not supported by Google Chat apps. + }, + "openLink": { # Represents an `onClick` event that opens a hyperlink. # If specified, this `onClick` triggers an open link action. + "onClose": "A String", # Whether the client forgets about a link after opening it, or observes it until the window closes. Not supported by Chat apps. + "openAs": "A String", # How to open a link. Not supported by Chat apps. + "url": "A String", # The URL to open. + }, + }, + "text": "A String", # The text of the button. + }, + "endIcon": { # An icon displayed after the text. + "altText": "A String", # The description of the icon, used for accessibility. The default value is provided if you don't specify one. + "iconUrl": "A String", # The icon specified by a URL. + "imageType": "A String", # The crop style applied to the image. In some cases, applying a `CIRCLE` crop causes the image to be drawn larger than a standard icon. + "knownIcon": "A String", # The icon specified by the string name of a list of known icons. + }, + "icon": { # Deprecated in favor of start_icon. + "altText": "A String", # The description of the icon, used for accessibility. The default value is provided if you don't specify one. + "iconUrl": "A String", # The icon specified by a URL. + "imageType": "A String", # The crop style applied to the image. In some cases, applying a `CIRCLE` crop causes the image to be drawn larger than a standard icon. + "knownIcon": "A String", # The icon specified by the string name of a list of known icons. + }, + "onClick": { # Represents the response to an `onClick` event. # Only the top and bottom label and content region are clickable. + "action": { # An action that describes the behavior when the form is submitted. For example, an Apps Script can be invoked to handle the form. # If specified, an action is triggered by this `onClick`. + "function": "A String", # Apps Script function to invoke when the containing element is clicked/activated. + "loadIndicator": "A String", # Specifies the loading indicator that the action displays while making the call to the action. + "parameters": [ # List of action parameters. + { # List of string parameters to supply when the action method is invoked. For example, consider three snooze buttons: snooze now, snooze 1 day, snooze next week. You might use action method = snooze(), passing the snooze type and snooze time in the list of string parameters. + "key": "A String", # The name of the parameter for the action script. + "value": "A String", # The value of the parameter. + }, + ], + "persistValues": True or False, # Indicates whether form values persist after the action. The default value is `false`. If `true`, form values remain after the action is triggered. When using [LoadIndicator.NONE](workspace/add-ons/reference/rpc/google.apps.card.v1#loadindicator) for actions, `persist_values` = `true`is recommended, as it ensures that any changes made by the user after form or on change actions are sent to the server are not overwritten by the response. If `false`, the form values are cleared when the action is triggered. When `persist_values` is set to `false`, it is strongly recommended that the card use [LoadIndicator.SPINNER](workspace/add-ons/reference/rpc/google.apps.card.v1#loadindicator) for all actions, as this locks the UI to ensure no changes are made by the user while the action is being processed. Not supported by Google Chat apps. + }, + "card": # Object with schema name: GoogleAppsCardV1Card # A new card is pushed to the card stack after clicking if specified. + "openDynamicLinkAction": { # An action that describes the behavior when the form is submitted. For example, an Apps Script can be invoked to handle the form. # An add-on triggers this action when the action needs to open a link. This differs from the `open_link` above in that this needs to talk to server to get the link. Thus some preparation work is required for web client to do before the open link action response comes back. + "function": "A String", # Apps Script function to invoke when the containing element is clicked/activated. + "loadIndicator": "A String", # Specifies the loading indicator that the action displays while making the call to the action. + "parameters": [ # List of action parameters. + { # List of string parameters to supply when the action method is invoked. For example, consider three snooze buttons: snooze now, snooze 1 day, snooze next week. You might use action method = snooze(), passing the snooze type and snooze time in the list of string parameters. + "key": "A String", # The name of the parameter for the action script. + "value": "A String", # The value of the parameter. + }, + ], + "persistValues": True or False, # Indicates whether form values persist after the action. The default value is `false`. If `true`, form values remain after the action is triggered. When using [LoadIndicator.NONE](workspace/add-ons/reference/rpc/google.apps.card.v1#loadindicator) for actions, `persist_values` = `true`is recommended, as it ensures that any changes made by the user after form or on change actions are sent to the server are not overwritten by the response. If `false`, the form values are cleared when the action is triggered. When `persist_values` is set to `false`, it is strongly recommended that the card use [LoadIndicator.SPINNER](workspace/add-ons/reference/rpc/google.apps.card.v1#loadindicator) for all actions, as this locks the UI to ensure no changes are made by the user while the action is being processed. Not supported by Google Chat apps. + }, + "openLink": { # Represents an `onClick` event that opens a hyperlink. # If specified, this `onClick` triggers an open link action. + "onClose": "A String", # Whether the client forgets about a link after opening it, or observes it until the window closes. Not supported by Chat apps. + "openAs": "A String", # How to open a link. Not supported by Chat apps. + "url": "A String", # The URL to open. + }, + }, + "startIcon": { # The icon displayed in front of the text. + "altText": "A String", # The description of the icon, used for accessibility. The default value is provided if you don't specify one. + "iconUrl": "A String", # The icon specified by a URL. + "imageType": "A String", # The crop style applied to the image. In some cases, applying a `CIRCLE` crop causes the image to be drawn larger than a standard icon. + "knownIcon": "A String", # The icon specified by the string name of a list of known icons. + }, + "switchControl": { # Either a toggle-style switch or a checkbox. # A switch widget can be clicked to change its state or trigger an action. + "controlType": "A String", # The control type, either switch or checkbox. + "name": "A String", # The name of the switch widget that's used in `formInput`. + "onChangeAction": { # An action that describes the behavior when the form is submitted. For example, an Apps Script can be invoked to handle the form. # The action when the switch state is changed. + "function": "A String", # Apps Script function to invoke when the containing element is clicked/activated. + "loadIndicator": "A String", # Specifies the loading indicator that the action displays while making the call to the action. + "parameters": [ # List of action parameters. + { # List of string parameters to supply when the action method is invoked. For example, consider three snooze buttons: snooze now, snooze 1 day, snooze next week. You might use action method = snooze(), passing the snooze type and snooze time in the list of string parameters. + "key": "A String", # The name of the parameter for the action script. + "value": "A String", # The value of the parameter. + }, + ], + "persistValues": True or False, # Indicates whether form values persist after the action. The default value is `false`. If `true`, form values remain after the action is triggered. When using [LoadIndicator.NONE](workspace/add-ons/reference/rpc/google.apps.card.v1#loadindicator) for actions, `persist_values` = `true`is recommended, as it ensures that any changes made by the user after form or on change actions are sent to the server are not overwritten by the response. If `false`, the form values are cleared when the action is triggered. When `persist_values` is set to `false`, it is strongly recommended that the card use [LoadIndicator.SPINNER](workspace/add-ons/reference/rpc/google.apps.card.v1#loadindicator) for all actions, as this locks the UI to ensure no changes are made by the user while the action is being processed. Not supported by Google Chat apps. + }, + "selected": True or False, # If the switch is selected. + "value": "A String", # The value is what is passed back in the callback. + }, + "text": "A String", # Required. The main widget formatted text. See Text formatting for details. + "topLabel": "A String", # The formatted text label that shows above the main text. + "wrapText": True or False, # The wrap text setting. If `true`, the text is wrapped and displayed in multiline. Otherwise, the text is truncated. + }, + "divider": { # A divider that appears in between widgets. # Displays a divider. For example, the following JSON creates a divider: ``` "divider": { } ``` + }, + "grid": { # Represents a Grid widget that displays items in a configurable grid layout. # Displays a grid with a collection of items. For example, the following JSON creates a 2 column grid with a single item: ``` "grid": { "title": "A fine collection of items", "numColumns": 2, "borderStyle": { "type": "STROKE", "cornerRadius": 4.0 }, "items": [ "image": { "imageUri": "https://www.example.com/image.png", "cropStyle": { "type": "SQUARE" }, "borderStyle": { "type": "STROKE" } }, "title": "An item", "textAlignment": "CENTER" ], "onClick": { "openLink": { "url":"https://www.example.com" } } } ``` + "borderStyle": { # Represents the complete border style applied to widgets. # The border style to apply to each grid item. + "cornerRadius": 42, # The corner radius for the border. + "strokeColor": { # Represents a color in the RGBA color space. This representation is designed for simplicity of conversion to/from color representations in various languages over compactness. For example, the fields of this representation can be trivially provided to the constructor of `java.awt.Color` in Java; it can also be trivially provided to UIColor's `+colorWithRed:green:blue:alpha` method in iOS; and, with just a little work, it can be easily formatted into a CSS `rgba()` string in JavaScript. This reference page doesn't carry information about the absolute color space that should be used to interpret the RGB value (e.g. sRGB, Adobe RGB, DCI-P3, BT.2020, etc.). By default, applications should assume the sRGB color space. When color equality needs to be decided, implementations, unless documented otherwise, treat two colors as equal if all their red, green, blue, and alpha values each differ by at most 1e-5. Example (Java): import com.google.type.Color; // ... public static java.awt.Color fromProto(Color protocolor) { float alpha = protocolor.hasAlpha() ? protocolor.getAlpha().getValue() : 1.0; return new java.awt.Color( protocolor.getRed(), protocolor.getGreen(), protocolor.getBlue(), alpha); } public static Color toProto(java.awt.Color color) { float red = (float) color.getRed(); float green = (float) color.getGreen(); float blue = (float) color.getBlue(); float denominator = 255.0; Color.Builder resultBuilder = Color .newBuilder() .setRed(red / denominator) .setGreen(green / denominator) .setBlue(blue / denominator); int alpha = color.getAlpha(); if (alpha != 255) { result.setAlpha( FloatValue .newBuilder() .setValue(((float) alpha) / denominator) .build()); } return resultBuilder.build(); } // ... Example (iOS / Obj-C): // ... static UIColor* fromProto(Color* protocolor) { float red = [protocolor red]; float green = [protocolor green]; float blue = [protocolor blue]; FloatValue* alpha_wrapper = [protocolor alpha]; float alpha = 1.0; if (alpha_wrapper != nil) { alpha = [alpha_wrapper value]; } return [UIColor colorWithRed:red green:green blue:blue alpha:alpha]; } static Color* toProto(UIColor* color) { CGFloat red, green, blue, alpha; if (![color getRed:&red green:&green blue:&blue alpha:&alpha]) { return nil; } Color* result = [[Color alloc] init]; [result setRed:red]; [result setGreen:green]; [result setBlue:blue]; if (alpha <= 0.9999) { [result setAlpha:floatWrapperWithValue(alpha)]; } [result autorelease]; return result; } // ... Example (JavaScript): // ... var protoToCssColor = function(rgb_color) { var redFrac = rgb_color.red || 0.0; var greenFrac = rgb_color.green || 0.0; var blueFrac = rgb_color.blue || 0.0; var red = Math.floor(redFrac * 255); var green = Math.floor(greenFrac * 255); var blue = Math.floor(blueFrac * 255); if (!('alpha' in rgb_color)) { return rgbToCssColor(red, green, blue); } var alphaFrac = rgb_color.alpha.value || 0.0; var rgbParams = [red, green, blue].join(','); return ['rgba(', rgbParams, ',', alphaFrac, ')'].join(''); }; var rgbToCssColor = function(red, green, blue) { var rgbNumber = new Number((red << 16) | (green << 8) | blue); var hexString = rgbNumber.toString(16); var missingZeros = 6 - hexString.length; var resultBuilder = ['#']; for (var i = 0; i < missingZeros; i++) { resultBuilder.push('0'); } resultBuilder.push(hexString); return resultBuilder.join(''); }; // ... # The colors to use when the type is `BORDER_TYPE_STROKE`. + "alpha": 3.14, # The fraction of this color that should be applied to the pixel. That is, the final pixel color is defined by the equation: `pixel color = alpha * (this color) + (1.0 - alpha) * (background color)` This means that a value of 1.0 corresponds to a solid color, whereas a value of 0.0 corresponds to a completely transparent color. This uses a wrapper message rather than a simple float scalar so that it is possible to distinguish between a default value and the value being unset. If omitted, this color object is rendered as a solid color (as if the alpha value had been explicitly given a value of 1.0). + "blue": 3.14, # The amount of blue in the color as a value in the interval [0, 1]. + "green": 3.14, # The amount of green in the color as a value in the interval [0, 1]. + "red": 3.14, # The amount of red in the color as a value in the interval [0, 1]. + }, + "type": "A String", # The border type. + }, + "columnCount": 42, # The number of columns to display in the grid. A default value is used if this field isn't specified, and that default value is different depending on where the grid is shown (dialog versus companion). + "items": [ # The items to display in the grid. + { # Represents a single item in the grid layout. + "id": "A String", # A user-specified identifier for this grid item. This identifier is returned in the parent Grid's onClick callback parameters. + "image": { # Represents an image. # The image that displays in the grid item. + "altText": "A String", # The accessibility label for the image. + "borderStyle": { # Represents the complete border style applied to widgets. # The border style to apply to the image. + "cornerRadius": 42, # The corner radius for the border. + "strokeColor": { # Represents a color in the RGBA color space. This representation is designed for simplicity of conversion to/from color representations in various languages over compactness. For example, the fields of this representation can be trivially provided to the constructor of `java.awt.Color` in Java; it can also be trivially provided to UIColor's `+colorWithRed:green:blue:alpha` method in iOS; and, with just a little work, it can be easily formatted into a CSS `rgba()` string in JavaScript. This reference page doesn't carry information about the absolute color space that should be used to interpret the RGB value (e.g. sRGB, Adobe RGB, DCI-P3, BT.2020, etc.). By default, applications should assume the sRGB color space. When color equality needs to be decided, implementations, unless documented otherwise, treat two colors as equal if all their red, green, blue, and alpha values each differ by at most 1e-5. Example (Java): import com.google.type.Color; // ... public static java.awt.Color fromProto(Color protocolor) { float alpha = protocolor.hasAlpha() ? protocolor.getAlpha().getValue() : 1.0; return new java.awt.Color( protocolor.getRed(), protocolor.getGreen(), protocolor.getBlue(), alpha); } public static Color toProto(java.awt.Color color) { float red = (float) color.getRed(); float green = (float) color.getGreen(); float blue = (float) color.getBlue(); float denominator = 255.0; Color.Builder resultBuilder = Color .newBuilder() .setRed(red / denominator) .setGreen(green / denominator) .setBlue(blue / denominator); int alpha = color.getAlpha(); if (alpha != 255) { result.setAlpha( FloatValue .newBuilder() .setValue(((float) alpha) / denominator) .build()); } return resultBuilder.build(); } // ... Example (iOS / Obj-C): // ... static UIColor* fromProto(Color* protocolor) { float red = [protocolor red]; float green = [protocolor green]; float blue = [protocolor blue]; FloatValue* alpha_wrapper = [protocolor alpha]; float alpha = 1.0; if (alpha_wrapper != nil) { alpha = [alpha_wrapper value]; } return [UIColor colorWithRed:red green:green blue:blue alpha:alpha]; } static Color* toProto(UIColor* color) { CGFloat red, green, blue, alpha; if (![color getRed:&red green:&green blue:&blue alpha:&alpha]) { return nil; } Color* result = [[Color alloc] init]; [result setRed:red]; [result setGreen:green]; [result setBlue:blue]; if (alpha <= 0.9999) { [result setAlpha:floatWrapperWithValue(alpha)]; } [result autorelease]; return result; } // ... Example (JavaScript): // ... var protoToCssColor = function(rgb_color) { var redFrac = rgb_color.red || 0.0; var greenFrac = rgb_color.green || 0.0; var blueFrac = rgb_color.blue || 0.0; var red = Math.floor(redFrac * 255); var green = Math.floor(greenFrac * 255); var blue = Math.floor(blueFrac * 255); if (!('alpha' in rgb_color)) { return rgbToCssColor(red, green, blue); } var alphaFrac = rgb_color.alpha.value || 0.0; var rgbParams = [red, green, blue].join(','); return ['rgba(', rgbParams, ',', alphaFrac, ')'].join(''); }; var rgbToCssColor = function(red, green, blue) { var rgbNumber = new Number((red << 16) | (green << 8) | blue); var hexString = rgbNumber.toString(16); var missingZeros = 6 - hexString.length; var resultBuilder = ['#']; for (var i = 0; i < missingZeros; i++) { resultBuilder.push('0'); } resultBuilder.push(hexString); return resultBuilder.join(''); }; // ... # The colors to use when the type is `BORDER_TYPE_STROKE`. + "alpha": 3.14, # The fraction of this color that should be applied to the pixel. That is, the final pixel color is defined by the equation: `pixel color = alpha * (this color) + (1.0 - alpha) * (background color)` This means that a value of 1.0 corresponds to a solid color, whereas a value of 0.0 corresponds to a completely transparent color. This uses a wrapper message rather than a simple float scalar so that it is possible to distinguish between a default value and the value being unset. If omitted, this color object is rendered as a solid color (as if the alpha value had been explicitly given a value of 1.0). + "blue": 3.14, # The amount of blue in the color as a value in the interval [0, 1]. + "green": 3.14, # The amount of green in the color as a value in the interval [0, 1]. + "red": 3.14, # The amount of red in the color as a value in the interval [0, 1]. + }, + "type": "A String", # The border type. + }, + "cropStyle": { # Represents the crop style applied to an image. # The crop style to apply to the image. + "aspectRatio": 3.14, # The aspect ratio to use if the crop type is `RECTANGLE_CUSTOM`. + "type": "A String", # The crop type. + }, + "imageUri": "A String", # The image URL. + }, + "layout": "A String", # The layout to use for the grid item. + "subtitle": "A String", # The grid item's subtitle. + "textAlignment": "A String", # The horizontal alignment of the grid item's text. + "title": "A String", # The grid item's title. + }, + ], + "onClick": { # Represents the response to an `onClick` event. # This callback is reused by each individual grid item, but with the item's identifier and index in the items list added to the callback's parameters. + "action": { # An action that describes the behavior when the form is submitted. For example, an Apps Script can be invoked to handle the form. # If specified, an action is triggered by this `onClick`. + "function": "A String", # Apps Script function to invoke when the containing element is clicked/activated. + "loadIndicator": "A String", # Specifies the loading indicator that the action displays while making the call to the action. + "parameters": [ # List of action parameters. + { # List of string parameters to supply when the action method is invoked. For example, consider three snooze buttons: snooze now, snooze 1 day, snooze next week. You might use action method = snooze(), passing the snooze type and snooze time in the list of string parameters. + "key": "A String", # The name of the parameter for the action script. + "value": "A String", # The value of the parameter. + }, + ], + "persistValues": True or False, # Indicates whether form values persist after the action. The default value is `false`. If `true`, form values remain after the action is triggered. When using [LoadIndicator.NONE](workspace/add-ons/reference/rpc/google.apps.card.v1#loadindicator) for actions, `persist_values` = `true`is recommended, as it ensures that any changes made by the user after form or on change actions are sent to the server are not overwritten by the response. If `false`, the form values are cleared when the action is triggered. When `persist_values` is set to `false`, it is strongly recommended that the card use [LoadIndicator.SPINNER](workspace/add-ons/reference/rpc/google.apps.card.v1#loadindicator) for all actions, as this locks the UI to ensure no changes are made by the user while the action is being processed. Not supported by Google Chat apps. + }, + "card": # Object with schema name: GoogleAppsCardV1Card # A new card is pushed to the card stack after clicking if specified. + "openDynamicLinkAction": { # An action that describes the behavior when the form is submitted. For example, an Apps Script can be invoked to handle the form. # An add-on triggers this action when the action needs to open a link. This differs from the `open_link` above in that this needs to talk to server to get the link. Thus some preparation work is required for web client to do before the open link action response comes back. + "function": "A String", # Apps Script function to invoke when the containing element is clicked/activated. + "loadIndicator": "A String", # Specifies the loading indicator that the action displays while making the call to the action. + "parameters": [ # List of action parameters. + { # List of string parameters to supply when the action method is invoked. For example, consider three snooze buttons: snooze now, snooze 1 day, snooze next week. You might use action method = snooze(), passing the snooze type and snooze time in the list of string parameters. + "key": "A String", # The name of the parameter for the action script. + "value": "A String", # The value of the parameter. + }, + ], + "persistValues": True or False, # Indicates whether form values persist after the action. The default value is `false`. If `true`, form values remain after the action is triggered. When using [LoadIndicator.NONE](workspace/add-ons/reference/rpc/google.apps.card.v1#loadindicator) for actions, `persist_values` = `true`is recommended, as it ensures that any changes made by the user after form or on change actions are sent to the server are not overwritten by the response. If `false`, the form values are cleared when the action is triggered. When `persist_values` is set to `false`, it is strongly recommended that the card use [LoadIndicator.SPINNER](workspace/add-ons/reference/rpc/google.apps.card.v1#loadindicator) for all actions, as this locks the UI to ensure no changes are made by the user while the action is being processed. Not supported by Google Chat apps. + }, + "openLink": { # Represents an `onClick` event that opens a hyperlink. # If specified, this `onClick` triggers an open link action. + "onClose": "A String", # Whether the client forgets about a link after opening it, or observes it until the window closes. Not supported by Chat apps. + "openAs": "A String", # How to open a link. Not supported by Chat apps. + "url": "A String", # The URL to open. + }, + }, + "title": "A String", # The text that displays in the grid header. + }, + "horizontalAlignment": "A String", # The horizontal alignment of this widget. + "image": { # An image that is specified by a URL and can have an `onClick` action. # Displays an image in this widget. For example, the following JSON creates an image with alternative text: ``` "image": { "imageUrl": "https://example.com/sasha.png" "altText": "Avatar for Sasha" } ``` + "altText": "A String", # The alternative text of this image, used for accessibility. + "imageUrl": "A String", # An image URL. + "onClick": { # Represents the response to an `onClick` event. # The action triggered by an `onClick` event. + "action": { # An action that describes the behavior when the form is submitted. For example, an Apps Script can be invoked to handle the form. # If specified, an action is triggered by this `onClick`. + "function": "A String", # Apps Script function to invoke when the containing element is clicked/activated. + "loadIndicator": "A String", # Specifies the loading indicator that the action displays while making the call to the action. + "parameters": [ # List of action parameters. + { # List of string parameters to supply when the action method is invoked. For example, consider three snooze buttons: snooze now, snooze 1 day, snooze next week. You might use action method = snooze(), passing the snooze type and snooze time in the list of string parameters. + "key": "A String", # The name of the parameter for the action script. + "value": "A String", # The value of the parameter. + }, + ], + "persistValues": True or False, # Indicates whether form values persist after the action. The default value is `false`. If `true`, form values remain after the action is triggered. When using [LoadIndicator.NONE](workspace/add-ons/reference/rpc/google.apps.card.v1#loadindicator) for actions, `persist_values` = `true`is recommended, as it ensures that any changes made by the user after form or on change actions are sent to the server are not overwritten by the response. If `false`, the form values are cleared when the action is triggered. When `persist_values` is set to `false`, it is strongly recommended that the card use [LoadIndicator.SPINNER](workspace/add-ons/reference/rpc/google.apps.card.v1#loadindicator) for all actions, as this locks the UI to ensure no changes are made by the user while the action is being processed. Not supported by Google Chat apps. + }, + "card": # Object with schema name: GoogleAppsCardV1Card # A new card is pushed to the card stack after clicking if specified. + "openDynamicLinkAction": { # An action that describes the behavior when the form is submitted. For example, an Apps Script can be invoked to handle the form. # An add-on triggers this action when the action needs to open a link. This differs from the `open_link` above in that this needs to talk to server to get the link. Thus some preparation work is required for web client to do before the open link action response comes back. + "function": "A String", # Apps Script function to invoke when the containing element is clicked/activated. + "loadIndicator": "A String", # Specifies the loading indicator that the action displays while making the call to the action. + "parameters": [ # List of action parameters. + { # List of string parameters to supply when the action method is invoked. For example, consider three snooze buttons: snooze now, snooze 1 day, snooze next week. You might use action method = snooze(), passing the snooze type and snooze time in the list of string parameters. + "key": "A String", # The name of the parameter for the action script. + "value": "A String", # The value of the parameter. + }, + ], + "persistValues": True or False, # Indicates whether form values persist after the action. The default value is `false`. If `true`, form values remain after the action is triggered. When using [LoadIndicator.NONE](workspace/add-ons/reference/rpc/google.apps.card.v1#loadindicator) for actions, `persist_values` = `true`is recommended, as it ensures that any changes made by the user after form or on change actions are sent to the server are not overwritten by the response. If `false`, the form values are cleared when the action is triggered. When `persist_values` is set to `false`, it is strongly recommended that the card use [LoadIndicator.SPINNER](workspace/add-ons/reference/rpc/google.apps.card.v1#loadindicator) for all actions, as this locks the UI to ensure no changes are made by the user while the action is being processed. Not supported by Google Chat apps. + }, + "openLink": { # Represents an `onClick` event that opens a hyperlink. # If specified, this `onClick` triggers an open link action. + "onClose": "A String", # Whether the client forgets about a link after opening it, or observes it until the window closes. Not supported by Chat apps. + "openAs": "A String", # How to open a link. Not supported by Chat apps. + "url": "A String", # The URL to open. + }, + }, + }, + "selectionInput": { # A widget that creates a UI item with options for users to select. For example, a dropdown menu. # Displays a switch control in this widget. For example, the following JSON creates a dropdown selection for size: ``` "switchControl": { "name": "size", "label": "Size" "type": "SelectionType.DROPDOWN", "items": [ { "text": "S", "value": "small", "selected": false }, { "text": "M", "value": "medium", "selected": true }, { "text": "L", "value": "large", "selected": false }, { "text": "XL", "value": "extra_large", "selected": false } ] } ``` + "items": [ # An array of the selected items. + { # A selectable item in the switch control. + "selected": True or False, # If more than one item is selected for `RADIO_BUTTON` and `DROPDOWN`, the first selected item is treated as selected and the ones after are ignored. + "text": "A String", # The text to be displayed. + "value": "A String", # The value associated with this item. The client should use this as a form input value. + }, + ], + "label": "A String", # The label displayed ahead of the switch control. + "name": "A String", # The name of the text input which is used in `formInput`. + "onChangeAction": { # An action that describes the behavior when the form is submitted. For example, an Apps Script can be invoked to handle the form. # If specified, the form is submitted when the selection changes. If not specified, you must specify a separate button. + "function": "A String", # Apps Script function to invoke when the containing element is clicked/activated. + "loadIndicator": "A String", # Specifies the loading indicator that the action displays while making the call to the action. + "parameters": [ # List of action parameters. + { # List of string parameters to supply when the action method is invoked. For example, consider three snooze buttons: snooze now, snooze 1 day, snooze next week. You might use action method = snooze(), passing the snooze type and snooze time in the list of string parameters. + "key": "A String", # The name of the parameter for the action script. + "value": "A String", # The value of the parameter. + }, + ], + "persistValues": True or False, # Indicates whether form values persist after the action. The default value is `false`. If `true`, form values remain after the action is triggered. When using [LoadIndicator.NONE](workspace/add-ons/reference/rpc/google.apps.card.v1#loadindicator) for actions, `persist_values` = `true`is recommended, as it ensures that any changes made by the user after form or on change actions are sent to the server are not overwritten by the response. If `false`, the form values are cleared when the action is triggered. When `persist_values` is set to `false`, it is strongly recommended that the card use [LoadIndicator.SPINNER](workspace/add-ons/reference/rpc/google.apps.card.v1#loadindicator) for all actions, as this locks the UI to ensure no changes are made by the user while the action is being processed. Not supported by Google Chat apps. + }, + "type": "A String", # The type of the selection. + }, + "textInput": { # A text input is a UI item where users can input text. A text input can also have an onChange action and suggestions. # Displays a text input in this widget. For example, the following JSON creates a text input for mail address: ``` "textInput": { "name": "mailing_address", "label": "Mailing Address" } ``` As another example, the following JSON creates a text input for programming language with static suggestions: ``` "textInput": { "name": "preferred_programing_language", "label": "Preferred Language", "initialSuggestions": { "items": [ { "text": "C++" }, { "text": "Java" }, { "text": "JavaScript" }, { "text": "Python" } ] } } ``` + "autoCompleteAction": { # An action that describes the behavior when the form is submitted. For example, an Apps Script can be invoked to handle the form. # The refresh function that returns suggestions based on the user's input text. If the callback is not specified, autocomplete is done in client side based on the initial suggestion items. + "function": "A String", # Apps Script function to invoke when the containing element is clicked/activated. + "loadIndicator": "A String", # Specifies the loading indicator that the action displays while making the call to the action. + "parameters": [ # List of action parameters. + { # List of string parameters to supply when the action method is invoked. For example, consider three snooze buttons: snooze now, snooze 1 day, snooze next week. You might use action method = snooze(), passing the snooze type and snooze time in the list of string parameters. + "key": "A String", # The name of the parameter for the action script. + "value": "A String", # The value of the parameter. + }, + ], + "persistValues": True or False, # Indicates whether form values persist after the action. The default value is `false`. If `true`, form values remain after the action is triggered. When using [LoadIndicator.NONE](workspace/add-ons/reference/rpc/google.apps.card.v1#loadindicator) for actions, `persist_values` = `true`is recommended, as it ensures that any changes made by the user after form or on change actions are sent to the server are not overwritten by the response. If `false`, the form values are cleared when the action is triggered. When `persist_values` is set to `false`, it is strongly recommended that the card use [LoadIndicator.SPINNER](workspace/add-ons/reference/rpc/google.apps.card.v1#loadindicator) for all actions, as this locks the UI to ensure no changes are made by the user while the action is being processed. Not supported by Google Chat apps. + }, + "hintText": "A String", # The hint text. + "initialSuggestions": { # A container wrapping elements necessary for showing suggestion items used in text input autocomplete. # The initial suggestions made before any user input. + "items": [ # A list of suggestions used for autocomplete recommendations. + { # A suggestion item. + "text": "A String", # The suggested autocomplete result. + }, + ], + }, + "label": "A String", # At least one of label and hintText must be specified. + "name": "A String", # The name of the text input which is used in `formInput`. + "onChangeAction": { # An action that describes the behavior when the form is submitted. For example, an Apps Script can be invoked to handle the form. # The onChange action, for example, invoke a function. + "function": "A String", # Apps Script function to invoke when the containing element is clicked/activated. + "loadIndicator": "A String", # Specifies the loading indicator that the action displays while making the call to the action. + "parameters": [ # List of action parameters. + { # List of string parameters to supply when the action method is invoked. For example, consider three snooze buttons: snooze now, snooze 1 day, snooze next week. You might use action method = snooze(), passing the snooze type and snooze time in the list of string parameters. + "key": "A String", # The name of the parameter for the action script. + "value": "A String", # The value of the parameter. + }, + ], + "persistValues": True or False, # Indicates whether form values persist after the action. The default value is `false`. If `true`, form values remain after the action is triggered. When using [LoadIndicator.NONE](workspace/add-ons/reference/rpc/google.apps.card.v1#loadindicator) for actions, `persist_values` = `true`is recommended, as it ensures that any changes made by the user after form or on change actions are sent to the server are not overwritten by the response. If `false`, the form values are cleared when the action is triggered. When `persist_values` is set to `false`, it is strongly recommended that the card use [LoadIndicator.SPINNER](workspace/add-ons/reference/rpc/google.apps.card.v1#loadindicator) for all actions, as this locks the UI to ensure no changes are made by the user while the action is being processed. Not supported by Google Chat apps. + }, + "type": "A String", # The style of the text, for example, a single line or multiple lines. + "value": "A String", # The default value when there is no input from the user. + }, + "textParagraph": { # A paragraph of text that supports formatting. See [Text formatting](workspace/add-ons/concepts/widgets#text_formatting) for details. # Displays a text paragraph in this widget. For example, the following JSON creates a bolded text: ``` "textParagraph": { "text": " *bold text*" } ``` + "text": "A String", # The text that's shown in the widget. + }, + }, + ], + }, + ], + }, + "cardId": "A String", # Required for `cardsV2` messages. Chat app-specified identifier for this widget. Scoped within a message. + }, + ], "createTime": "A String", # Output only. The time at which the message was created in Google Chat server. "fallbackText": "A String", # A plain-text description of the message's cards, used when the actual cards cannot be displayed (e.g. mobile notifications). "lastUpdateTime": "A String", # Output only. The time at which the message was last edited by a user. If the message has never been edited, this field is empty. @@ -2415,8 +3989,12 @@

Method Details

"displayName": "A String", # The space's display name. For direct messages between humans, this field might be empty. "name": "A String", # Resource name of the space. Format: spaces/{space} "singleUserBotDm": True or False, # Output only. Whether the space is a DM between a Chat app and a single human. + "spaceDetails": { # Details about the space including description and rules. # Details about the space including description and rules. + "description": "A String", # Optional. A description of the space. It could describe the space's discussion topic, functional purpose, or participants. + "guidelines": "A String", # Optional. The space's rules, expectations, and etiquette. + }, "threaded": True or False, # Output only. Whether messages are threaded in this space. - "type": "A String", # Output only. Deprecated: Use `single_user_bot_dm` or `space_type` (developer preview) instead. The type of a space. + "type": "A String", # Output only. Deprecated: Use `singleUserBotDm` or `spaceType` (developer preview) instead. The type of a space. }, "text": "A String", # Plain-text body of the message. The first link to an image, video, web page, or other preview-able item generates a preview chip. "thread": { # A thread in Google Chat. # The thread the message belongs to. @@ -3171,6 +4749,528 @@

Method Details

], }, ], + "cardsV2": [ # Richly formatted and interactive cards that display UI elements and editable widgets, such as: - Formatted text - Buttons - Clickable images - Checkboxes - Radio buttons - Input widgets. Cards are usually displayed below the text-body of a Chat message, but can situationally appear other places, such as [dialogs](https://developers.google.com/chat/how-tos/dialogs). The `cardId` is a unique identifier among cards in the same message and for identifying user input values. Currently supported widgets include: - `TextParagraph` - `DecoratedText` - `Image` - `ButtonList` + { # Widgets for Chat apps to specify. + "card": { # A card is a UI element that can contain UI widgets such as text and images. For more information, see Cards . For example, the following JSON creates a card that has a header with the name, position, icons, and link for a contact, followed by a section with contact information like email and phone number. ``` { "header": { "title": "Sasha", "subtitle": "Software Engineer", "imageStyle": "ImageStyle.AVATAR", "imageUrl": "https://example.com/sasha.png", "imageAltText": "Avatar for Sasha" }, "sections" : [ { "header": "Contact Info", "widgets": [ { "decorated_text": { "icon": { "knownIcon": "EMAIL" }, "content": "sasha@example.com" } }, { "decoratedText": { "icon": { "knownIcon": "PERSON" }, "content": "Online" } }, { "decoratedText": { "icon": { "knownIcon": "PHONE" }, "content": "+1 (555) 555-1234" } }, { "buttons": [ { "textButton": { "text": "Share", }, "onClick": { "openLink": { "url": "https://example.com/share" } } }, { "textButton": { "text": "Edit", }, "onClick": { "action": { "function": "goToView", "parameters": [ { "key": "viewType", "value": "EDIT" } ], "loadIndicator": "LoadIndicator.SPINNER" } } } ] } ], "collapsible": true, "uncollapsibleWidgetsCount": 3 } ], "cardActions": [ { "actionLabel": "Send Feedback", "onClick": { "openLink": { "url": "https://example.com/feedback" } } } ], "name": "contact-card-K3wB6arF2H9L" } ``` # Card proto that allows Chat apps to specify UI elements and editable widgets. + "cardActions": [ # The card's actions. Actions are added to the card's generated toolbar menu. For example, the following JSON constructs a card action menu with Settings and Send Feedback options: ``` "card_actions": [ { "actionLabel": "Settings", "onClick": { "action": { "functionName": "goToView", "parameters": [ { "key": "viewType", "value": "SETTING" } ], "loadIndicator": "LoadIndicator.SPINNER" } } }, { "actionLabel": "Send Feedback", "onClick": { "openLink": { "url": "https://example.com/feedback" } } } ] ``` + { # A card action is the action associated with the card. For example, an invoice card might include actions such as delete invoice, email invoice, or open the invoice in a browser. + "actionLabel": "A String", # The label that displays as the action menu item. + "onClick": { # Represents the response to an `onClick` event. # The `onClick` action for this action item. + "action": { # An action that describes the behavior when the form is submitted. For example, an Apps Script can be invoked to handle the form. # If specified, an action is triggered by this `onClick`. + "function": "A String", # Apps Script function to invoke when the containing element is clicked/activated. + "loadIndicator": "A String", # Specifies the loading indicator that the action displays while making the call to the action. + "parameters": [ # List of action parameters. + { # List of string parameters to supply when the action method is invoked. For example, consider three snooze buttons: snooze now, snooze 1 day, snooze next week. You might use action method = snooze(), passing the snooze type and snooze time in the list of string parameters. + "key": "A String", # The name of the parameter for the action script. + "value": "A String", # The value of the parameter. + }, + ], + "persistValues": True or False, # Indicates whether form values persist after the action. The default value is `false`. If `true`, form values remain after the action is triggered. When using [LoadIndicator.NONE](workspace/add-ons/reference/rpc/google.apps.card.v1#loadindicator) for actions, `persist_values` = `true`is recommended, as it ensures that any changes made by the user after form or on change actions are sent to the server are not overwritten by the response. If `false`, the form values are cleared when the action is triggered. When `persist_values` is set to `false`, it is strongly recommended that the card use [LoadIndicator.SPINNER](workspace/add-ons/reference/rpc/google.apps.card.v1#loadindicator) for all actions, as this locks the UI to ensure no changes are made by the user while the action is being processed. Not supported by Google Chat apps. + }, + "card": # Object with schema name: GoogleAppsCardV1Card # A new card is pushed to the card stack after clicking if specified. + "openDynamicLinkAction": { # An action that describes the behavior when the form is submitted. For example, an Apps Script can be invoked to handle the form. # An add-on triggers this action when the action needs to open a link. This differs from the `open_link` above in that this needs to talk to server to get the link. Thus some preparation work is required for web client to do before the open link action response comes back. + "function": "A String", # Apps Script function to invoke when the containing element is clicked/activated. + "loadIndicator": "A String", # Specifies the loading indicator that the action displays while making the call to the action. + "parameters": [ # List of action parameters. + { # List of string parameters to supply when the action method is invoked. For example, consider three snooze buttons: snooze now, snooze 1 day, snooze next week. You might use action method = snooze(), passing the snooze type and snooze time in the list of string parameters. + "key": "A String", # The name of the parameter for the action script. + "value": "A String", # The value of the parameter. + }, + ], + "persistValues": True or False, # Indicates whether form values persist after the action. The default value is `false`. If `true`, form values remain after the action is triggered. When using [LoadIndicator.NONE](workspace/add-ons/reference/rpc/google.apps.card.v1#loadindicator) for actions, `persist_values` = `true`is recommended, as it ensures that any changes made by the user after form or on change actions are sent to the server are not overwritten by the response. If `false`, the form values are cleared when the action is triggered. When `persist_values` is set to `false`, it is strongly recommended that the card use [LoadIndicator.SPINNER](workspace/add-ons/reference/rpc/google.apps.card.v1#loadindicator) for all actions, as this locks the UI to ensure no changes are made by the user while the action is being processed. Not supported by Google Chat apps. + }, + "openLink": { # Represents an `onClick` event that opens a hyperlink. # If specified, this `onClick` triggers an open link action. + "onClose": "A String", # Whether the client forgets about a link after opening it, or observes it until the window closes. Not supported by Chat apps. + "openAs": "A String", # How to open a link. Not supported by Chat apps. + "url": "A String", # The URL to open. + }, + }, + }, + ], + "displayStyle": "A String", # The `peekCardHeader` display style for. Not supported by Google Chat apps. + "fixedFooter": { # A persistent (sticky) footer that is added to the bottom of the card. # The fixed footer shown at the bottom of this card. + "primaryButton": { # A button. Can be a text button or an image button. # The primary button of the fixed footer. The button must be a text button with text and color set. + "altText": "A String", # The alternative text used for accessibility. Has no effect when an icon is set; use `icon.alt_text` instead. + "color": { # Represents a color in the RGBA color space. This representation is designed for simplicity of conversion to/from color representations in various languages over compactness. For example, the fields of this representation can be trivially provided to the constructor of `java.awt.Color` in Java; it can also be trivially provided to UIColor's `+colorWithRed:green:blue:alpha` method in iOS; and, with just a little work, it can be easily formatted into a CSS `rgba()` string in JavaScript. This reference page doesn't carry information about the absolute color space that should be used to interpret the RGB value (e.g. sRGB, Adobe RGB, DCI-P3, BT.2020, etc.). By default, applications should assume the sRGB color space. When color equality needs to be decided, implementations, unless documented otherwise, treat two colors as equal if all their red, green, blue, and alpha values each differ by at most 1e-5. Example (Java): import com.google.type.Color; // ... public static java.awt.Color fromProto(Color protocolor) { float alpha = protocolor.hasAlpha() ? protocolor.getAlpha().getValue() : 1.0; return new java.awt.Color( protocolor.getRed(), protocolor.getGreen(), protocolor.getBlue(), alpha); } public static Color toProto(java.awt.Color color) { float red = (float) color.getRed(); float green = (float) color.getGreen(); float blue = (float) color.getBlue(); float denominator = 255.0; Color.Builder resultBuilder = Color .newBuilder() .setRed(red / denominator) .setGreen(green / denominator) .setBlue(blue / denominator); int alpha = color.getAlpha(); if (alpha != 255) { result.setAlpha( FloatValue .newBuilder() .setValue(((float) alpha) / denominator) .build()); } return resultBuilder.build(); } // ... Example (iOS / Obj-C): // ... static UIColor* fromProto(Color* protocolor) { float red = [protocolor red]; float green = [protocolor green]; float blue = [protocolor blue]; FloatValue* alpha_wrapper = [protocolor alpha]; float alpha = 1.0; if (alpha_wrapper != nil) { alpha = [alpha_wrapper value]; } return [UIColor colorWithRed:red green:green blue:blue alpha:alpha]; } static Color* toProto(UIColor* color) { CGFloat red, green, blue, alpha; if (![color getRed:&red green:&green blue:&blue alpha:&alpha]) { return nil; } Color* result = [[Color alloc] init]; [result setRed:red]; [result setGreen:green]; [result setBlue:blue]; if (alpha <= 0.9999) { [result setAlpha:floatWrapperWithValue(alpha)]; } [result autorelease]; return result; } // ... Example (JavaScript): // ... var protoToCssColor = function(rgb_color) { var redFrac = rgb_color.red || 0.0; var greenFrac = rgb_color.green || 0.0; var blueFrac = rgb_color.blue || 0.0; var red = Math.floor(redFrac * 255); var green = Math.floor(greenFrac * 255); var blue = Math.floor(blueFrac * 255); if (!('alpha' in rgb_color)) { return rgbToCssColor(red, green, blue); } var alphaFrac = rgb_color.alpha.value || 0.0; var rgbParams = [red, green, blue].join(','); return ['rgba(', rgbParams, ',', alphaFrac, ')'].join(''); }; var rgbToCssColor = function(red, green, blue) { var rgbNumber = new Number((red << 16) | (green << 8) | blue); var hexString = rgbNumber.toString(16); var missingZeros = 6 - hexString.length; var resultBuilder = ['#']; for (var i = 0; i < missingZeros; i++) { resultBuilder.push('0'); } resultBuilder.push(hexString); return resultBuilder.join(''); }; // ... # If set, the button is filled with a solid background. + "alpha": 3.14, # The fraction of this color that should be applied to the pixel. That is, the final pixel color is defined by the equation: `pixel color = alpha * (this color) + (1.0 - alpha) * (background color)` This means that a value of 1.0 corresponds to a solid color, whereas a value of 0.0 corresponds to a completely transparent color. This uses a wrapper message rather than a simple float scalar so that it is possible to distinguish between a default value and the value being unset. If omitted, this color object is rendered as a solid color (as if the alpha value had been explicitly given a value of 1.0). + "blue": 3.14, # The amount of blue in the color as a value in the interval [0, 1]. + "green": 3.14, # The amount of green in the color as a value in the interval [0, 1]. + "red": 3.14, # The amount of red in the color as a value in the interval [0, 1]. + }, + "disabled": True or False, # If `true`, the button is displayed in a disabled state and doesn't respond to user actions. + "icon": { # The icon image. + "altText": "A String", # The description of the icon, used for accessibility. The default value is provided if you don't specify one. + "iconUrl": "A String", # The icon specified by a URL. + "imageType": "A String", # The crop style applied to the image. In some cases, applying a `CIRCLE` crop causes the image to be drawn larger than a standard icon. + "knownIcon": "A String", # The icon specified by the string name of a list of known icons. + }, + "onClick": { # Represents the response to an `onClick` event. # The action to perform when the button is clicked. + "action": { # An action that describes the behavior when the form is submitted. For example, an Apps Script can be invoked to handle the form. # If specified, an action is triggered by this `onClick`. + "function": "A String", # Apps Script function to invoke when the containing element is clicked/activated. + "loadIndicator": "A String", # Specifies the loading indicator that the action displays while making the call to the action. + "parameters": [ # List of action parameters. + { # List of string parameters to supply when the action method is invoked. For example, consider three snooze buttons: snooze now, snooze 1 day, snooze next week. You might use action method = snooze(), passing the snooze type and snooze time in the list of string parameters. + "key": "A String", # The name of the parameter for the action script. + "value": "A String", # The value of the parameter. + }, + ], + "persistValues": True or False, # Indicates whether form values persist after the action. The default value is `false`. If `true`, form values remain after the action is triggered. When using [LoadIndicator.NONE](workspace/add-ons/reference/rpc/google.apps.card.v1#loadindicator) for actions, `persist_values` = `true`is recommended, as it ensures that any changes made by the user after form or on change actions are sent to the server are not overwritten by the response. If `false`, the form values are cleared when the action is triggered. When `persist_values` is set to `false`, it is strongly recommended that the card use [LoadIndicator.SPINNER](workspace/add-ons/reference/rpc/google.apps.card.v1#loadindicator) for all actions, as this locks the UI to ensure no changes are made by the user while the action is being processed. Not supported by Google Chat apps. + }, + "card": # Object with schema name: GoogleAppsCardV1Card # A new card is pushed to the card stack after clicking if specified. + "openDynamicLinkAction": { # An action that describes the behavior when the form is submitted. For example, an Apps Script can be invoked to handle the form. # An add-on triggers this action when the action needs to open a link. This differs from the `open_link` above in that this needs to talk to server to get the link. Thus some preparation work is required for web client to do before the open link action response comes back. + "function": "A String", # Apps Script function to invoke when the containing element is clicked/activated. + "loadIndicator": "A String", # Specifies the loading indicator that the action displays while making the call to the action. + "parameters": [ # List of action parameters. + { # List of string parameters to supply when the action method is invoked. For example, consider three snooze buttons: snooze now, snooze 1 day, snooze next week. You might use action method = snooze(), passing the snooze type and snooze time in the list of string parameters. + "key": "A String", # The name of the parameter for the action script. + "value": "A String", # The value of the parameter. + }, + ], + "persistValues": True or False, # Indicates whether form values persist after the action. The default value is `false`. If `true`, form values remain after the action is triggered. When using [LoadIndicator.NONE](workspace/add-ons/reference/rpc/google.apps.card.v1#loadindicator) for actions, `persist_values` = `true`is recommended, as it ensures that any changes made by the user after form or on change actions are sent to the server are not overwritten by the response. If `false`, the form values are cleared when the action is triggered. When `persist_values` is set to `false`, it is strongly recommended that the card use [LoadIndicator.SPINNER](workspace/add-ons/reference/rpc/google.apps.card.v1#loadindicator) for all actions, as this locks the UI to ensure no changes are made by the user while the action is being processed. Not supported by Google Chat apps. + }, + "openLink": { # Represents an `onClick` event that opens a hyperlink. # If specified, this `onClick` triggers an open link action. + "onClose": "A String", # Whether the client forgets about a link after opening it, or observes it until the window closes. Not supported by Chat apps. + "openAs": "A String", # How to open a link. Not supported by Chat apps. + "url": "A String", # The URL to open. + }, + }, + "text": "A String", # The text of the button. + }, + "secondaryButton": { # A button. Can be a text button or an image button. # The secondary button of the fixed footer. The button must be a text button with text and color set. `primaryButton` must be set if `secondaryButton` is set. + "altText": "A String", # The alternative text used for accessibility. Has no effect when an icon is set; use `icon.alt_text` instead. + "color": { # Represents a color in the RGBA color space. This representation is designed for simplicity of conversion to/from color representations in various languages over compactness. For example, the fields of this representation can be trivially provided to the constructor of `java.awt.Color` in Java; it can also be trivially provided to UIColor's `+colorWithRed:green:blue:alpha` method in iOS; and, with just a little work, it can be easily formatted into a CSS `rgba()` string in JavaScript. This reference page doesn't carry information about the absolute color space that should be used to interpret the RGB value (e.g. sRGB, Adobe RGB, DCI-P3, BT.2020, etc.). By default, applications should assume the sRGB color space. When color equality needs to be decided, implementations, unless documented otherwise, treat two colors as equal if all their red, green, blue, and alpha values each differ by at most 1e-5. Example (Java): import com.google.type.Color; // ... public static java.awt.Color fromProto(Color protocolor) { float alpha = protocolor.hasAlpha() ? protocolor.getAlpha().getValue() : 1.0; return new java.awt.Color( protocolor.getRed(), protocolor.getGreen(), protocolor.getBlue(), alpha); } public static Color toProto(java.awt.Color color) { float red = (float) color.getRed(); float green = (float) color.getGreen(); float blue = (float) color.getBlue(); float denominator = 255.0; Color.Builder resultBuilder = Color .newBuilder() .setRed(red / denominator) .setGreen(green / denominator) .setBlue(blue / denominator); int alpha = color.getAlpha(); if (alpha != 255) { result.setAlpha( FloatValue .newBuilder() .setValue(((float) alpha) / denominator) .build()); } return resultBuilder.build(); } // ... Example (iOS / Obj-C): // ... static UIColor* fromProto(Color* protocolor) { float red = [protocolor red]; float green = [protocolor green]; float blue = [protocolor blue]; FloatValue* alpha_wrapper = [protocolor alpha]; float alpha = 1.0; if (alpha_wrapper != nil) { alpha = [alpha_wrapper value]; } return [UIColor colorWithRed:red green:green blue:blue alpha:alpha]; } static Color* toProto(UIColor* color) { CGFloat red, green, blue, alpha; if (![color getRed:&red green:&green blue:&blue alpha:&alpha]) { return nil; } Color* result = [[Color alloc] init]; [result setRed:red]; [result setGreen:green]; [result setBlue:blue]; if (alpha <= 0.9999) { [result setAlpha:floatWrapperWithValue(alpha)]; } [result autorelease]; return result; } // ... Example (JavaScript): // ... var protoToCssColor = function(rgb_color) { var redFrac = rgb_color.red || 0.0; var greenFrac = rgb_color.green || 0.0; var blueFrac = rgb_color.blue || 0.0; var red = Math.floor(redFrac * 255); var green = Math.floor(greenFrac * 255); var blue = Math.floor(blueFrac * 255); if (!('alpha' in rgb_color)) { return rgbToCssColor(red, green, blue); } var alphaFrac = rgb_color.alpha.value || 0.0; var rgbParams = [red, green, blue].join(','); return ['rgba(', rgbParams, ',', alphaFrac, ')'].join(''); }; var rgbToCssColor = function(red, green, blue) { var rgbNumber = new Number((red << 16) | (green << 8) | blue); var hexString = rgbNumber.toString(16); var missingZeros = 6 - hexString.length; var resultBuilder = ['#']; for (var i = 0; i < missingZeros; i++) { resultBuilder.push('0'); } resultBuilder.push(hexString); return resultBuilder.join(''); }; // ... # If set, the button is filled with a solid background. + "alpha": 3.14, # The fraction of this color that should be applied to the pixel. That is, the final pixel color is defined by the equation: `pixel color = alpha * (this color) + (1.0 - alpha) * (background color)` This means that a value of 1.0 corresponds to a solid color, whereas a value of 0.0 corresponds to a completely transparent color. This uses a wrapper message rather than a simple float scalar so that it is possible to distinguish between a default value and the value being unset. If omitted, this color object is rendered as a solid color (as if the alpha value had been explicitly given a value of 1.0). + "blue": 3.14, # The amount of blue in the color as a value in the interval [0, 1]. + "green": 3.14, # The amount of green in the color as a value in the interval [0, 1]. + "red": 3.14, # The amount of red in the color as a value in the interval [0, 1]. + }, + "disabled": True or False, # If `true`, the button is displayed in a disabled state and doesn't respond to user actions. + "icon": { # The icon image. + "altText": "A String", # The description of the icon, used for accessibility. The default value is provided if you don't specify one. + "iconUrl": "A String", # The icon specified by a URL. + "imageType": "A String", # The crop style applied to the image. In some cases, applying a `CIRCLE` crop causes the image to be drawn larger than a standard icon. + "knownIcon": "A String", # The icon specified by the string name of a list of known icons. + }, + "onClick": { # Represents the response to an `onClick` event. # The action to perform when the button is clicked. + "action": { # An action that describes the behavior when the form is submitted. For example, an Apps Script can be invoked to handle the form. # If specified, an action is triggered by this `onClick`. + "function": "A String", # Apps Script function to invoke when the containing element is clicked/activated. + "loadIndicator": "A String", # Specifies the loading indicator that the action displays while making the call to the action. + "parameters": [ # List of action parameters. + { # List of string parameters to supply when the action method is invoked. For example, consider three snooze buttons: snooze now, snooze 1 day, snooze next week. You might use action method = snooze(), passing the snooze type and snooze time in the list of string parameters. + "key": "A String", # The name of the parameter for the action script. + "value": "A String", # The value of the parameter. + }, + ], + "persistValues": True or False, # Indicates whether form values persist after the action. The default value is `false`. If `true`, form values remain after the action is triggered. When using [LoadIndicator.NONE](workspace/add-ons/reference/rpc/google.apps.card.v1#loadindicator) for actions, `persist_values` = `true`is recommended, as it ensures that any changes made by the user after form or on change actions are sent to the server are not overwritten by the response. If `false`, the form values are cleared when the action is triggered. When `persist_values` is set to `false`, it is strongly recommended that the card use [LoadIndicator.SPINNER](workspace/add-ons/reference/rpc/google.apps.card.v1#loadindicator) for all actions, as this locks the UI to ensure no changes are made by the user while the action is being processed. Not supported by Google Chat apps. + }, + "card": # Object with schema name: GoogleAppsCardV1Card # A new card is pushed to the card stack after clicking if specified. + "openDynamicLinkAction": { # An action that describes the behavior when the form is submitted. For example, an Apps Script can be invoked to handle the form. # An add-on triggers this action when the action needs to open a link. This differs from the `open_link` above in that this needs to talk to server to get the link. Thus some preparation work is required for web client to do before the open link action response comes back. + "function": "A String", # Apps Script function to invoke when the containing element is clicked/activated. + "loadIndicator": "A String", # Specifies the loading indicator that the action displays while making the call to the action. + "parameters": [ # List of action parameters. + { # List of string parameters to supply when the action method is invoked. For example, consider three snooze buttons: snooze now, snooze 1 day, snooze next week. You might use action method = snooze(), passing the snooze type and snooze time in the list of string parameters. + "key": "A String", # The name of the parameter for the action script. + "value": "A String", # The value of the parameter. + }, + ], + "persistValues": True or False, # Indicates whether form values persist after the action. The default value is `false`. If `true`, form values remain after the action is triggered. When using [LoadIndicator.NONE](workspace/add-ons/reference/rpc/google.apps.card.v1#loadindicator) for actions, `persist_values` = `true`is recommended, as it ensures that any changes made by the user after form or on change actions are sent to the server are not overwritten by the response. If `false`, the form values are cleared when the action is triggered. When `persist_values` is set to `false`, it is strongly recommended that the card use [LoadIndicator.SPINNER](workspace/add-ons/reference/rpc/google.apps.card.v1#loadindicator) for all actions, as this locks the UI to ensure no changes are made by the user while the action is being processed. Not supported by Google Chat apps. + }, + "openLink": { # Represents an `onClick` event that opens a hyperlink. # If specified, this `onClick` triggers an open link action. + "onClose": "A String", # Whether the client forgets about a link after opening it, or observes it until the window closes. Not supported by Chat apps. + "openAs": "A String", # How to open a link. Not supported by Chat apps. + "url": "A String", # The URL to open. + }, + }, + "text": "A String", # The text of the button. + }, + }, + "header": { # Represents a card header. # The header of the card. A header usually contains a title and an image. + "imageAltText": "A String", # The alternative text of this image which is used for accessibility. + "imageType": "A String", # The image's type. + "imageUrl": "A String", # The URL of the image in the card header. + "subtitle": "A String", # The subtitle of the card header. + "title": "A String", # Required. The title of the card header. The header has a fixed height: if both a title and subtitle are specified, each takes up one line. If only the title is specified, it takes up both lines. + }, + "name": "A String", # Name of the card. Used as a card identifier in card navigation. + "peekCardHeader": { # Represents a card header. # When displaying contextual content, the peek card header acts as a placeholder so that the user can navigate forward between the homepage cards and the contextual cards. Not supported by Google Chat apps. + "imageAltText": "A String", # The alternative text of this image which is used for accessibility. + "imageType": "A String", # The image's type. + "imageUrl": "A String", # The URL of the image in the card header. + "subtitle": "A String", # The subtitle of the card header. + "title": "A String", # Required. The title of the card header. The header has a fixed height: if both a title and subtitle are specified, each takes up one line. If only the title is specified, it takes up both lines. + }, + "sections": [ # Sections are separated by a line divider. + { # A section contains a collection of widgets that are rendered vertically in the order that they are specified. Across all platforms, cards have a narrow fixed width, so there is currently no need for layout properties, for example, float. + "collapsible": True or False, # Indicates whether this section is collapsible. If a section is collapsible, the description must be given. + "header": "A String", # The header of the section. Formatted text is supported. + "uncollapsibleWidgetsCount": 42, # The number of uncollapsible widgets. For example, when a section contains five widgets and the `uncollapsibleWidgetsCount` is set to `2`, the first two widgets are always shown and the last three are collapsed as default. The `uncollapsibleWidgetsCount` is taken into account only when `collapsible` is `true`. + "widgets": [ # A section must contain at least 1 widget. + { # A widget is a UI element that presents texts, images, etc. + "buttonList": { # A list of buttons layed out horizontally. # A list of buttons. For example, the following JSON creates two buttons. The first is a filled text button and the second is an image button that opens a link: ``` "buttonList": { "buttons": [ "button": { "text": "Edit", "Color": { "Red": 255 "Green": 255 "Blue": 255 } "disabled": true }, "button": { "icon": { "knownIcon": "INVITE" "altText": "check calendar" }, "onClick": { "openLink": { "url": "https://example.com/calendar" } } }, ] } ``` + "buttons": [ # An array of buttons. + { # A button. Can be a text button or an image button. + "altText": "A String", # The alternative text used for accessibility. Has no effect when an icon is set; use `icon.alt_text` instead. + "color": { # Represents a color in the RGBA color space. This representation is designed for simplicity of conversion to/from color representations in various languages over compactness. For example, the fields of this representation can be trivially provided to the constructor of `java.awt.Color` in Java; it can also be trivially provided to UIColor's `+colorWithRed:green:blue:alpha` method in iOS; and, with just a little work, it can be easily formatted into a CSS `rgba()` string in JavaScript. This reference page doesn't carry information about the absolute color space that should be used to interpret the RGB value (e.g. sRGB, Adobe RGB, DCI-P3, BT.2020, etc.). By default, applications should assume the sRGB color space. When color equality needs to be decided, implementations, unless documented otherwise, treat two colors as equal if all their red, green, blue, and alpha values each differ by at most 1e-5. Example (Java): import com.google.type.Color; // ... public static java.awt.Color fromProto(Color protocolor) { float alpha = protocolor.hasAlpha() ? protocolor.getAlpha().getValue() : 1.0; return new java.awt.Color( protocolor.getRed(), protocolor.getGreen(), protocolor.getBlue(), alpha); } public static Color toProto(java.awt.Color color) { float red = (float) color.getRed(); float green = (float) color.getGreen(); float blue = (float) color.getBlue(); float denominator = 255.0; Color.Builder resultBuilder = Color .newBuilder() .setRed(red / denominator) .setGreen(green / denominator) .setBlue(blue / denominator); int alpha = color.getAlpha(); if (alpha != 255) { result.setAlpha( FloatValue .newBuilder() .setValue(((float) alpha) / denominator) .build()); } return resultBuilder.build(); } // ... Example (iOS / Obj-C): // ... static UIColor* fromProto(Color* protocolor) { float red = [protocolor red]; float green = [protocolor green]; float blue = [protocolor blue]; FloatValue* alpha_wrapper = [protocolor alpha]; float alpha = 1.0; if (alpha_wrapper != nil) { alpha = [alpha_wrapper value]; } return [UIColor colorWithRed:red green:green blue:blue alpha:alpha]; } static Color* toProto(UIColor* color) { CGFloat red, green, blue, alpha; if (![color getRed:&red green:&green blue:&blue alpha:&alpha]) { return nil; } Color* result = [[Color alloc] init]; [result setRed:red]; [result setGreen:green]; [result setBlue:blue]; if (alpha <= 0.9999) { [result setAlpha:floatWrapperWithValue(alpha)]; } [result autorelease]; return result; } // ... Example (JavaScript): // ... var protoToCssColor = function(rgb_color) { var redFrac = rgb_color.red || 0.0; var greenFrac = rgb_color.green || 0.0; var blueFrac = rgb_color.blue || 0.0; var red = Math.floor(redFrac * 255); var green = Math.floor(greenFrac * 255); var blue = Math.floor(blueFrac * 255); if (!('alpha' in rgb_color)) { return rgbToCssColor(red, green, blue); } var alphaFrac = rgb_color.alpha.value || 0.0; var rgbParams = [red, green, blue].join(','); return ['rgba(', rgbParams, ',', alphaFrac, ')'].join(''); }; var rgbToCssColor = function(red, green, blue) { var rgbNumber = new Number((red << 16) | (green << 8) | blue); var hexString = rgbNumber.toString(16); var missingZeros = 6 - hexString.length; var resultBuilder = ['#']; for (var i = 0; i < missingZeros; i++) { resultBuilder.push('0'); } resultBuilder.push(hexString); return resultBuilder.join(''); }; // ... # If set, the button is filled with a solid background. + "alpha": 3.14, # The fraction of this color that should be applied to the pixel. That is, the final pixel color is defined by the equation: `pixel color = alpha * (this color) + (1.0 - alpha) * (background color)` This means that a value of 1.0 corresponds to a solid color, whereas a value of 0.0 corresponds to a completely transparent color. This uses a wrapper message rather than a simple float scalar so that it is possible to distinguish between a default value and the value being unset. If omitted, this color object is rendered as a solid color (as if the alpha value had been explicitly given a value of 1.0). + "blue": 3.14, # The amount of blue in the color as a value in the interval [0, 1]. + "green": 3.14, # The amount of green in the color as a value in the interval [0, 1]. + "red": 3.14, # The amount of red in the color as a value in the interval [0, 1]. + }, + "disabled": True or False, # If `true`, the button is displayed in a disabled state and doesn't respond to user actions. + "icon": { # The icon image. + "altText": "A String", # The description of the icon, used for accessibility. The default value is provided if you don't specify one. + "iconUrl": "A String", # The icon specified by a URL. + "imageType": "A String", # The crop style applied to the image. In some cases, applying a `CIRCLE` crop causes the image to be drawn larger than a standard icon. + "knownIcon": "A String", # The icon specified by the string name of a list of known icons. + }, + "onClick": { # Represents the response to an `onClick` event. # The action to perform when the button is clicked. + "action": { # An action that describes the behavior when the form is submitted. For example, an Apps Script can be invoked to handle the form. # If specified, an action is triggered by this `onClick`. + "function": "A String", # Apps Script function to invoke when the containing element is clicked/activated. + "loadIndicator": "A String", # Specifies the loading indicator that the action displays while making the call to the action. + "parameters": [ # List of action parameters. + { # List of string parameters to supply when the action method is invoked. For example, consider three snooze buttons: snooze now, snooze 1 day, snooze next week. You might use action method = snooze(), passing the snooze type and snooze time in the list of string parameters. + "key": "A String", # The name of the parameter for the action script. + "value": "A String", # The value of the parameter. + }, + ], + "persistValues": True or False, # Indicates whether form values persist after the action. The default value is `false`. If `true`, form values remain after the action is triggered. When using [LoadIndicator.NONE](workspace/add-ons/reference/rpc/google.apps.card.v1#loadindicator) for actions, `persist_values` = `true`is recommended, as it ensures that any changes made by the user after form or on change actions are sent to the server are not overwritten by the response. If `false`, the form values are cleared when the action is triggered. When `persist_values` is set to `false`, it is strongly recommended that the card use [LoadIndicator.SPINNER](workspace/add-ons/reference/rpc/google.apps.card.v1#loadindicator) for all actions, as this locks the UI to ensure no changes are made by the user while the action is being processed. Not supported by Google Chat apps. + }, + "card": # Object with schema name: GoogleAppsCardV1Card # A new card is pushed to the card stack after clicking if specified. + "openDynamicLinkAction": { # An action that describes the behavior when the form is submitted. For example, an Apps Script can be invoked to handle the form. # An add-on triggers this action when the action needs to open a link. This differs from the `open_link` above in that this needs to talk to server to get the link. Thus some preparation work is required for web client to do before the open link action response comes back. + "function": "A String", # Apps Script function to invoke when the containing element is clicked/activated. + "loadIndicator": "A String", # Specifies the loading indicator that the action displays while making the call to the action. + "parameters": [ # List of action parameters. + { # List of string parameters to supply when the action method is invoked. For example, consider three snooze buttons: snooze now, snooze 1 day, snooze next week. You might use action method = snooze(), passing the snooze type and snooze time in the list of string parameters. + "key": "A String", # The name of the parameter for the action script. + "value": "A String", # The value of the parameter. + }, + ], + "persistValues": True or False, # Indicates whether form values persist after the action. The default value is `false`. If `true`, form values remain after the action is triggered. When using [LoadIndicator.NONE](workspace/add-ons/reference/rpc/google.apps.card.v1#loadindicator) for actions, `persist_values` = `true`is recommended, as it ensures that any changes made by the user after form or on change actions are sent to the server are not overwritten by the response. If `false`, the form values are cleared when the action is triggered. When `persist_values` is set to `false`, it is strongly recommended that the card use [LoadIndicator.SPINNER](workspace/add-ons/reference/rpc/google.apps.card.v1#loadindicator) for all actions, as this locks the UI to ensure no changes are made by the user while the action is being processed. Not supported by Google Chat apps. + }, + "openLink": { # Represents an `onClick` event that opens a hyperlink. # If specified, this `onClick` triggers an open link action. + "onClose": "A String", # Whether the client forgets about a link after opening it, or observes it until the window closes. Not supported by Chat apps. + "openAs": "A String", # How to open a link. Not supported by Chat apps. + "url": "A String", # The URL to open. + }, + }, + "text": "A String", # The text of the button. + }, + ], + }, + "dateTimePicker": { # The widget that lets users to specify a date and time. Not supported by Google Chat apps. # Displays a selection/input widget for date/time. For example, the following JSON creates a date/time picker for an appointment time: ``` "date_time_picker": { "name": "appointment_time", "label": "Book your appointment at:", "type": "DateTimePickerType.DATE_AND_TIME", "valueMsEpoch": "796435200000" } ``` + "label": "A String", # The label for the field that displays to the user. + "name": "A String", # The name of the text input that's used in `formInput`, and uniquely identifies this input. + "onChangeAction": { # An action that describes the behavior when the form is submitted. For example, an Apps Script can be invoked to handle the form. # Triggered when the user clicks Save or Clear from the date/time picker dialog. This is only triggered if the value changed as a result of the Save/Clear operation. + "function": "A String", # Apps Script function to invoke when the containing element is clicked/activated. + "loadIndicator": "A String", # Specifies the loading indicator that the action displays while making the call to the action. + "parameters": [ # List of action parameters. + { # List of string parameters to supply when the action method is invoked. For example, consider three snooze buttons: snooze now, snooze 1 day, snooze next week. You might use action method = snooze(), passing the snooze type and snooze time in the list of string parameters. + "key": "A String", # The name of the parameter for the action script. + "value": "A String", # The value of the parameter. + }, + ], + "persistValues": True or False, # Indicates whether form values persist after the action. The default value is `false`. If `true`, form values remain after the action is triggered. When using [LoadIndicator.NONE](workspace/add-ons/reference/rpc/google.apps.card.v1#loadindicator) for actions, `persist_values` = `true`is recommended, as it ensures that any changes made by the user after form or on change actions are sent to the server are not overwritten by the response. If `false`, the form values are cleared when the action is triggered. When `persist_values` is set to `false`, it is strongly recommended that the card use [LoadIndicator.SPINNER](workspace/add-ons/reference/rpc/google.apps.card.v1#loadindicator) for all actions, as this locks the UI to ensure no changes are made by the user while the action is being processed. Not supported by Google Chat apps. + }, + "timezoneOffsetDate": 42, # The number representing the time zone offset from UTC, in minutes. If set, the `value_ms_epoch` is displayed in the specified time zone. If not set, it uses the user's time zone setting on the client side. + "type": "A String", # The type of the date/time picker. + "valueMsEpoch": "A String", # The value to display as the default value before user input or previous user input. It is represented in milliseconds (Epoch time). For `DATE_AND_TIME` type, the full epoch value is used. For `DATE_ONLY` type, only date of the epoch time is used. For `TIME_ONLY` type, only time of the epoch time is used. For example, you can set epoch time to `3 * 60 * 60 * 1000` to represent 3am. + }, + "decoratedText": { # A widget that displays text with optional decorations such as a label above or below the text, an icon in front of the text, a selection widget or a button after the text. # Displays a decorated text item in this widget. For example, the following JSON creates a decorated text widget showing email address: ``` "decoratedText": { "icon": { "knownIcon": "EMAIL" }, "topLabel": "Email Address", "content": "sasha@example.com", "bottomLabel": "This is a new Email address!", "switchWidget": { "name": "has_send_welcome_email_to_sasha", "selected": false, "controlType": "ControlType.CHECKBOX" } } ``` + "bottomLabel": "A String", # The formatted text label that shows below the main text. + "button": { # A button. Can be a text button or an image button. # A button that can be clicked to trigger an action. + "altText": "A String", # The alternative text used for accessibility. Has no effect when an icon is set; use `icon.alt_text` instead. + "color": { # Represents a color in the RGBA color space. This representation is designed for simplicity of conversion to/from color representations in various languages over compactness. For example, the fields of this representation can be trivially provided to the constructor of `java.awt.Color` in Java; it can also be trivially provided to UIColor's `+colorWithRed:green:blue:alpha` method in iOS; and, with just a little work, it can be easily formatted into a CSS `rgba()` string in JavaScript. This reference page doesn't carry information about the absolute color space that should be used to interpret the RGB value (e.g. sRGB, Adobe RGB, DCI-P3, BT.2020, etc.). By default, applications should assume the sRGB color space. When color equality needs to be decided, implementations, unless documented otherwise, treat two colors as equal if all their red, green, blue, and alpha values each differ by at most 1e-5. Example (Java): import com.google.type.Color; // ... public static java.awt.Color fromProto(Color protocolor) { float alpha = protocolor.hasAlpha() ? protocolor.getAlpha().getValue() : 1.0; return new java.awt.Color( protocolor.getRed(), protocolor.getGreen(), protocolor.getBlue(), alpha); } public static Color toProto(java.awt.Color color) { float red = (float) color.getRed(); float green = (float) color.getGreen(); float blue = (float) color.getBlue(); float denominator = 255.0; Color.Builder resultBuilder = Color .newBuilder() .setRed(red / denominator) .setGreen(green / denominator) .setBlue(blue / denominator); int alpha = color.getAlpha(); if (alpha != 255) { result.setAlpha( FloatValue .newBuilder() .setValue(((float) alpha) / denominator) .build()); } return resultBuilder.build(); } // ... Example (iOS / Obj-C): // ... static UIColor* fromProto(Color* protocolor) { float red = [protocolor red]; float green = [protocolor green]; float blue = [protocolor blue]; FloatValue* alpha_wrapper = [protocolor alpha]; float alpha = 1.0; if (alpha_wrapper != nil) { alpha = [alpha_wrapper value]; } return [UIColor colorWithRed:red green:green blue:blue alpha:alpha]; } static Color* toProto(UIColor* color) { CGFloat red, green, blue, alpha; if (![color getRed:&red green:&green blue:&blue alpha:&alpha]) { return nil; } Color* result = [[Color alloc] init]; [result setRed:red]; [result setGreen:green]; [result setBlue:blue]; if (alpha <= 0.9999) { [result setAlpha:floatWrapperWithValue(alpha)]; } [result autorelease]; return result; } // ... Example (JavaScript): // ... var protoToCssColor = function(rgb_color) { var redFrac = rgb_color.red || 0.0; var greenFrac = rgb_color.green || 0.0; var blueFrac = rgb_color.blue || 0.0; var red = Math.floor(redFrac * 255); var green = Math.floor(greenFrac * 255); var blue = Math.floor(blueFrac * 255); if (!('alpha' in rgb_color)) { return rgbToCssColor(red, green, blue); } var alphaFrac = rgb_color.alpha.value || 0.0; var rgbParams = [red, green, blue].join(','); return ['rgba(', rgbParams, ',', alphaFrac, ')'].join(''); }; var rgbToCssColor = function(red, green, blue) { var rgbNumber = new Number((red << 16) | (green << 8) | blue); var hexString = rgbNumber.toString(16); var missingZeros = 6 - hexString.length; var resultBuilder = ['#']; for (var i = 0; i < missingZeros; i++) { resultBuilder.push('0'); } resultBuilder.push(hexString); return resultBuilder.join(''); }; // ... # If set, the button is filled with a solid background. + "alpha": 3.14, # The fraction of this color that should be applied to the pixel. That is, the final pixel color is defined by the equation: `pixel color = alpha * (this color) + (1.0 - alpha) * (background color)` This means that a value of 1.0 corresponds to a solid color, whereas a value of 0.0 corresponds to a completely transparent color. This uses a wrapper message rather than a simple float scalar so that it is possible to distinguish between a default value and the value being unset. If omitted, this color object is rendered as a solid color (as if the alpha value had been explicitly given a value of 1.0). + "blue": 3.14, # The amount of blue in the color as a value in the interval [0, 1]. + "green": 3.14, # The amount of green in the color as a value in the interval [0, 1]. + "red": 3.14, # The amount of red in the color as a value in the interval [0, 1]. + }, + "disabled": True or False, # If `true`, the button is displayed in a disabled state and doesn't respond to user actions. + "icon": { # The icon image. + "altText": "A String", # The description of the icon, used for accessibility. The default value is provided if you don't specify one. + "iconUrl": "A String", # The icon specified by a URL. + "imageType": "A String", # The crop style applied to the image. In some cases, applying a `CIRCLE` crop causes the image to be drawn larger than a standard icon. + "knownIcon": "A String", # The icon specified by the string name of a list of known icons. + }, + "onClick": { # Represents the response to an `onClick` event. # The action to perform when the button is clicked. + "action": { # An action that describes the behavior when the form is submitted. For example, an Apps Script can be invoked to handle the form. # If specified, an action is triggered by this `onClick`. + "function": "A String", # Apps Script function to invoke when the containing element is clicked/activated. + "loadIndicator": "A String", # Specifies the loading indicator that the action displays while making the call to the action. + "parameters": [ # List of action parameters. + { # List of string parameters to supply when the action method is invoked. For example, consider three snooze buttons: snooze now, snooze 1 day, snooze next week. You might use action method = snooze(), passing the snooze type and snooze time in the list of string parameters. + "key": "A String", # The name of the parameter for the action script. + "value": "A String", # The value of the parameter. + }, + ], + "persistValues": True or False, # Indicates whether form values persist after the action. The default value is `false`. If `true`, form values remain after the action is triggered. When using [LoadIndicator.NONE](workspace/add-ons/reference/rpc/google.apps.card.v1#loadindicator) for actions, `persist_values` = `true`is recommended, as it ensures that any changes made by the user after form or on change actions are sent to the server are not overwritten by the response. If `false`, the form values are cleared when the action is triggered. When `persist_values` is set to `false`, it is strongly recommended that the card use [LoadIndicator.SPINNER](workspace/add-ons/reference/rpc/google.apps.card.v1#loadindicator) for all actions, as this locks the UI to ensure no changes are made by the user while the action is being processed. Not supported by Google Chat apps. + }, + "card": # Object with schema name: GoogleAppsCardV1Card # A new card is pushed to the card stack after clicking if specified. + "openDynamicLinkAction": { # An action that describes the behavior when the form is submitted. For example, an Apps Script can be invoked to handle the form. # An add-on triggers this action when the action needs to open a link. This differs from the `open_link` above in that this needs to talk to server to get the link. Thus some preparation work is required for web client to do before the open link action response comes back. + "function": "A String", # Apps Script function to invoke when the containing element is clicked/activated. + "loadIndicator": "A String", # Specifies the loading indicator that the action displays while making the call to the action. + "parameters": [ # List of action parameters. + { # List of string parameters to supply when the action method is invoked. For example, consider three snooze buttons: snooze now, snooze 1 day, snooze next week. You might use action method = snooze(), passing the snooze type and snooze time in the list of string parameters. + "key": "A String", # The name of the parameter for the action script. + "value": "A String", # The value of the parameter. + }, + ], + "persistValues": True or False, # Indicates whether form values persist after the action. The default value is `false`. If `true`, form values remain after the action is triggered. When using [LoadIndicator.NONE](workspace/add-ons/reference/rpc/google.apps.card.v1#loadindicator) for actions, `persist_values` = `true`is recommended, as it ensures that any changes made by the user after form or on change actions are sent to the server are not overwritten by the response. If `false`, the form values are cleared when the action is triggered. When `persist_values` is set to `false`, it is strongly recommended that the card use [LoadIndicator.SPINNER](workspace/add-ons/reference/rpc/google.apps.card.v1#loadindicator) for all actions, as this locks the UI to ensure no changes are made by the user while the action is being processed. Not supported by Google Chat apps. + }, + "openLink": { # Represents an `onClick` event that opens a hyperlink. # If specified, this `onClick` triggers an open link action. + "onClose": "A String", # Whether the client forgets about a link after opening it, or observes it until the window closes. Not supported by Chat apps. + "openAs": "A String", # How to open a link. Not supported by Chat apps. + "url": "A String", # The URL to open. + }, + }, + "text": "A String", # The text of the button. + }, + "endIcon": { # An icon displayed after the text. + "altText": "A String", # The description of the icon, used for accessibility. The default value is provided if you don't specify one. + "iconUrl": "A String", # The icon specified by a URL. + "imageType": "A String", # The crop style applied to the image. In some cases, applying a `CIRCLE` crop causes the image to be drawn larger than a standard icon. + "knownIcon": "A String", # The icon specified by the string name of a list of known icons. + }, + "icon": { # Deprecated in favor of start_icon. + "altText": "A String", # The description of the icon, used for accessibility. The default value is provided if you don't specify one. + "iconUrl": "A String", # The icon specified by a URL. + "imageType": "A String", # The crop style applied to the image. In some cases, applying a `CIRCLE` crop causes the image to be drawn larger than a standard icon. + "knownIcon": "A String", # The icon specified by the string name of a list of known icons. + }, + "onClick": { # Represents the response to an `onClick` event. # Only the top and bottom label and content region are clickable. + "action": { # An action that describes the behavior when the form is submitted. For example, an Apps Script can be invoked to handle the form. # If specified, an action is triggered by this `onClick`. + "function": "A String", # Apps Script function to invoke when the containing element is clicked/activated. + "loadIndicator": "A String", # Specifies the loading indicator that the action displays while making the call to the action. + "parameters": [ # List of action parameters. + { # List of string parameters to supply when the action method is invoked. For example, consider three snooze buttons: snooze now, snooze 1 day, snooze next week. You might use action method = snooze(), passing the snooze type and snooze time in the list of string parameters. + "key": "A String", # The name of the parameter for the action script. + "value": "A String", # The value of the parameter. + }, + ], + "persistValues": True or False, # Indicates whether form values persist after the action. The default value is `false`. If `true`, form values remain after the action is triggered. When using [LoadIndicator.NONE](workspace/add-ons/reference/rpc/google.apps.card.v1#loadindicator) for actions, `persist_values` = `true`is recommended, as it ensures that any changes made by the user after form or on change actions are sent to the server are not overwritten by the response. If `false`, the form values are cleared when the action is triggered. When `persist_values` is set to `false`, it is strongly recommended that the card use [LoadIndicator.SPINNER](workspace/add-ons/reference/rpc/google.apps.card.v1#loadindicator) for all actions, as this locks the UI to ensure no changes are made by the user while the action is being processed. Not supported by Google Chat apps. + }, + "card": # Object with schema name: GoogleAppsCardV1Card # A new card is pushed to the card stack after clicking if specified. + "openDynamicLinkAction": { # An action that describes the behavior when the form is submitted. For example, an Apps Script can be invoked to handle the form. # An add-on triggers this action when the action needs to open a link. This differs from the `open_link` above in that this needs to talk to server to get the link. Thus some preparation work is required for web client to do before the open link action response comes back. + "function": "A String", # Apps Script function to invoke when the containing element is clicked/activated. + "loadIndicator": "A String", # Specifies the loading indicator that the action displays while making the call to the action. + "parameters": [ # List of action parameters. + { # List of string parameters to supply when the action method is invoked. For example, consider three snooze buttons: snooze now, snooze 1 day, snooze next week. You might use action method = snooze(), passing the snooze type and snooze time in the list of string parameters. + "key": "A String", # The name of the parameter for the action script. + "value": "A String", # The value of the parameter. + }, + ], + "persistValues": True or False, # Indicates whether form values persist after the action. The default value is `false`. If `true`, form values remain after the action is triggered. When using [LoadIndicator.NONE](workspace/add-ons/reference/rpc/google.apps.card.v1#loadindicator) for actions, `persist_values` = `true`is recommended, as it ensures that any changes made by the user after form or on change actions are sent to the server are not overwritten by the response. If `false`, the form values are cleared when the action is triggered. When `persist_values` is set to `false`, it is strongly recommended that the card use [LoadIndicator.SPINNER](workspace/add-ons/reference/rpc/google.apps.card.v1#loadindicator) for all actions, as this locks the UI to ensure no changes are made by the user while the action is being processed. Not supported by Google Chat apps. + }, + "openLink": { # Represents an `onClick` event that opens a hyperlink. # If specified, this `onClick` triggers an open link action. + "onClose": "A String", # Whether the client forgets about a link after opening it, or observes it until the window closes. Not supported by Chat apps. + "openAs": "A String", # How to open a link. Not supported by Chat apps. + "url": "A String", # The URL to open. + }, + }, + "startIcon": { # The icon displayed in front of the text. + "altText": "A String", # The description of the icon, used for accessibility. The default value is provided if you don't specify one. + "iconUrl": "A String", # The icon specified by a URL. + "imageType": "A String", # The crop style applied to the image. In some cases, applying a `CIRCLE` crop causes the image to be drawn larger than a standard icon. + "knownIcon": "A String", # The icon specified by the string name of a list of known icons. + }, + "switchControl": { # Either a toggle-style switch or a checkbox. # A switch widget can be clicked to change its state or trigger an action. + "controlType": "A String", # The control type, either switch or checkbox. + "name": "A String", # The name of the switch widget that's used in `formInput`. + "onChangeAction": { # An action that describes the behavior when the form is submitted. For example, an Apps Script can be invoked to handle the form. # The action when the switch state is changed. + "function": "A String", # Apps Script function to invoke when the containing element is clicked/activated. + "loadIndicator": "A String", # Specifies the loading indicator that the action displays while making the call to the action. + "parameters": [ # List of action parameters. + { # List of string parameters to supply when the action method is invoked. For example, consider three snooze buttons: snooze now, snooze 1 day, snooze next week. You might use action method = snooze(), passing the snooze type and snooze time in the list of string parameters. + "key": "A String", # The name of the parameter for the action script. + "value": "A String", # The value of the parameter. + }, + ], + "persistValues": True or False, # Indicates whether form values persist after the action. The default value is `false`. If `true`, form values remain after the action is triggered. When using [LoadIndicator.NONE](workspace/add-ons/reference/rpc/google.apps.card.v1#loadindicator) for actions, `persist_values` = `true`is recommended, as it ensures that any changes made by the user after form or on change actions are sent to the server are not overwritten by the response. If `false`, the form values are cleared when the action is triggered. When `persist_values` is set to `false`, it is strongly recommended that the card use [LoadIndicator.SPINNER](workspace/add-ons/reference/rpc/google.apps.card.v1#loadindicator) for all actions, as this locks the UI to ensure no changes are made by the user while the action is being processed. Not supported by Google Chat apps. + }, + "selected": True or False, # If the switch is selected. + "value": "A String", # The value is what is passed back in the callback. + }, + "text": "A String", # Required. The main widget formatted text. See Text formatting for details. + "topLabel": "A String", # The formatted text label that shows above the main text. + "wrapText": True or False, # The wrap text setting. If `true`, the text is wrapped and displayed in multiline. Otherwise, the text is truncated. + }, + "divider": { # A divider that appears in between widgets. # Displays a divider. For example, the following JSON creates a divider: ``` "divider": { } ``` + }, + "grid": { # Represents a Grid widget that displays items in a configurable grid layout. # Displays a grid with a collection of items. For example, the following JSON creates a 2 column grid with a single item: ``` "grid": { "title": "A fine collection of items", "numColumns": 2, "borderStyle": { "type": "STROKE", "cornerRadius": 4.0 }, "items": [ "image": { "imageUri": "https://www.example.com/image.png", "cropStyle": { "type": "SQUARE" }, "borderStyle": { "type": "STROKE" } }, "title": "An item", "textAlignment": "CENTER" ], "onClick": { "openLink": { "url":"https://www.example.com" } } } ``` + "borderStyle": { # Represents the complete border style applied to widgets. # The border style to apply to each grid item. + "cornerRadius": 42, # The corner radius for the border. + "strokeColor": { # Represents a color in the RGBA color space. This representation is designed for simplicity of conversion to/from color representations in various languages over compactness. For example, the fields of this representation can be trivially provided to the constructor of `java.awt.Color` in Java; it can also be trivially provided to UIColor's `+colorWithRed:green:blue:alpha` method in iOS; and, with just a little work, it can be easily formatted into a CSS `rgba()` string in JavaScript. This reference page doesn't carry information about the absolute color space that should be used to interpret the RGB value (e.g. sRGB, Adobe RGB, DCI-P3, BT.2020, etc.). By default, applications should assume the sRGB color space. When color equality needs to be decided, implementations, unless documented otherwise, treat two colors as equal if all their red, green, blue, and alpha values each differ by at most 1e-5. Example (Java): import com.google.type.Color; // ... public static java.awt.Color fromProto(Color protocolor) { float alpha = protocolor.hasAlpha() ? protocolor.getAlpha().getValue() : 1.0; return new java.awt.Color( protocolor.getRed(), protocolor.getGreen(), protocolor.getBlue(), alpha); } public static Color toProto(java.awt.Color color) { float red = (float) color.getRed(); float green = (float) color.getGreen(); float blue = (float) color.getBlue(); float denominator = 255.0; Color.Builder resultBuilder = Color .newBuilder() .setRed(red / denominator) .setGreen(green / denominator) .setBlue(blue / denominator); int alpha = color.getAlpha(); if (alpha != 255) { result.setAlpha( FloatValue .newBuilder() .setValue(((float) alpha) / denominator) .build()); } return resultBuilder.build(); } // ... Example (iOS / Obj-C): // ... static UIColor* fromProto(Color* protocolor) { float red = [protocolor red]; float green = [protocolor green]; float blue = [protocolor blue]; FloatValue* alpha_wrapper = [protocolor alpha]; float alpha = 1.0; if (alpha_wrapper != nil) { alpha = [alpha_wrapper value]; } return [UIColor colorWithRed:red green:green blue:blue alpha:alpha]; } static Color* toProto(UIColor* color) { CGFloat red, green, blue, alpha; if (![color getRed:&red green:&green blue:&blue alpha:&alpha]) { return nil; } Color* result = [[Color alloc] init]; [result setRed:red]; [result setGreen:green]; [result setBlue:blue]; if (alpha <= 0.9999) { [result setAlpha:floatWrapperWithValue(alpha)]; } [result autorelease]; return result; } // ... Example (JavaScript): // ... var protoToCssColor = function(rgb_color) { var redFrac = rgb_color.red || 0.0; var greenFrac = rgb_color.green || 0.0; var blueFrac = rgb_color.blue || 0.0; var red = Math.floor(redFrac * 255); var green = Math.floor(greenFrac * 255); var blue = Math.floor(blueFrac * 255); if (!('alpha' in rgb_color)) { return rgbToCssColor(red, green, blue); } var alphaFrac = rgb_color.alpha.value || 0.0; var rgbParams = [red, green, blue].join(','); return ['rgba(', rgbParams, ',', alphaFrac, ')'].join(''); }; var rgbToCssColor = function(red, green, blue) { var rgbNumber = new Number((red << 16) | (green << 8) | blue); var hexString = rgbNumber.toString(16); var missingZeros = 6 - hexString.length; var resultBuilder = ['#']; for (var i = 0; i < missingZeros; i++) { resultBuilder.push('0'); } resultBuilder.push(hexString); return resultBuilder.join(''); }; // ... # The colors to use when the type is `BORDER_TYPE_STROKE`. + "alpha": 3.14, # The fraction of this color that should be applied to the pixel. That is, the final pixel color is defined by the equation: `pixel color = alpha * (this color) + (1.0 - alpha) * (background color)` This means that a value of 1.0 corresponds to a solid color, whereas a value of 0.0 corresponds to a completely transparent color. This uses a wrapper message rather than a simple float scalar so that it is possible to distinguish between a default value and the value being unset. If omitted, this color object is rendered as a solid color (as if the alpha value had been explicitly given a value of 1.0). + "blue": 3.14, # The amount of blue in the color as a value in the interval [0, 1]. + "green": 3.14, # The amount of green in the color as a value in the interval [0, 1]. + "red": 3.14, # The amount of red in the color as a value in the interval [0, 1]. + }, + "type": "A String", # The border type. + }, + "columnCount": 42, # The number of columns to display in the grid. A default value is used if this field isn't specified, and that default value is different depending on where the grid is shown (dialog versus companion). + "items": [ # The items to display in the grid. + { # Represents a single item in the grid layout. + "id": "A String", # A user-specified identifier for this grid item. This identifier is returned in the parent Grid's onClick callback parameters. + "image": { # Represents an image. # The image that displays in the grid item. + "altText": "A String", # The accessibility label for the image. + "borderStyle": { # Represents the complete border style applied to widgets. # The border style to apply to the image. + "cornerRadius": 42, # The corner radius for the border. + "strokeColor": { # Represents a color in the RGBA color space. This representation is designed for simplicity of conversion to/from color representations in various languages over compactness. For example, the fields of this representation can be trivially provided to the constructor of `java.awt.Color` in Java; it can also be trivially provided to UIColor's `+colorWithRed:green:blue:alpha` method in iOS; and, with just a little work, it can be easily formatted into a CSS `rgba()` string in JavaScript. This reference page doesn't carry information about the absolute color space that should be used to interpret the RGB value (e.g. sRGB, Adobe RGB, DCI-P3, BT.2020, etc.). By default, applications should assume the sRGB color space. When color equality needs to be decided, implementations, unless documented otherwise, treat two colors as equal if all their red, green, blue, and alpha values each differ by at most 1e-5. Example (Java): import com.google.type.Color; // ... public static java.awt.Color fromProto(Color protocolor) { float alpha = protocolor.hasAlpha() ? protocolor.getAlpha().getValue() : 1.0; return new java.awt.Color( protocolor.getRed(), protocolor.getGreen(), protocolor.getBlue(), alpha); } public static Color toProto(java.awt.Color color) { float red = (float) color.getRed(); float green = (float) color.getGreen(); float blue = (float) color.getBlue(); float denominator = 255.0; Color.Builder resultBuilder = Color .newBuilder() .setRed(red / denominator) .setGreen(green / denominator) .setBlue(blue / denominator); int alpha = color.getAlpha(); if (alpha != 255) { result.setAlpha( FloatValue .newBuilder() .setValue(((float) alpha) / denominator) .build()); } return resultBuilder.build(); } // ... Example (iOS / Obj-C): // ... static UIColor* fromProto(Color* protocolor) { float red = [protocolor red]; float green = [protocolor green]; float blue = [protocolor blue]; FloatValue* alpha_wrapper = [protocolor alpha]; float alpha = 1.0; if (alpha_wrapper != nil) { alpha = [alpha_wrapper value]; } return [UIColor colorWithRed:red green:green blue:blue alpha:alpha]; } static Color* toProto(UIColor* color) { CGFloat red, green, blue, alpha; if (![color getRed:&red green:&green blue:&blue alpha:&alpha]) { return nil; } Color* result = [[Color alloc] init]; [result setRed:red]; [result setGreen:green]; [result setBlue:blue]; if (alpha <= 0.9999) { [result setAlpha:floatWrapperWithValue(alpha)]; } [result autorelease]; return result; } // ... Example (JavaScript): // ... var protoToCssColor = function(rgb_color) { var redFrac = rgb_color.red || 0.0; var greenFrac = rgb_color.green || 0.0; var blueFrac = rgb_color.blue || 0.0; var red = Math.floor(redFrac * 255); var green = Math.floor(greenFrac * 255); var blue = Math.floor(blueFrac * 255); if (!('alpha' in rgb_color)) { return rgbToCssColor(red, green, blue); } var alphaFrac = rgb_color.alpha.value || 0.0; var rgbParams = [red, green, blue].join(','); return ['rgba(', rgbParams, ',', alphaFrac, ')'].join(''); }; var rgbToCssColor = function(red, green, blue) { var rgbNumber = new Number((red << 16) | (green << 8) | blue); var hexString = rgbNumber.toString(16); var missingZeros = 6 - hexString.length; var resultBuilder = ['#']; for (var i = 0; i < missingZeros; i++) { resultBuilder.push('0'); } resultBuilder.push(hexString); return resultBuilder.join(''); }; // ... # The colors to use when the type is `BORDER_TYPE_STROKE`. + "alpha": 3.14, # The fraction of this color that should be applied to the pixel. That is, the final pixel color is defined by the equation: `pixel color = alpha * (this color) + (1.0 - alpha) * (background color)` This means that a value of 1.0 corresponds to a solid color, whereas a value of 0.0 corresponds to a completely transparent color. This uses a wrapper message rather than a simple float scalar so that it is possible to distinguish between a default value and the value being unset. If omitted, this color object is rendered as a solid color (as if the alpha value had been explicitly given a value of 1.0). + "blue": 3.14, # The amount of blue in the color as a value in the interval [0, 1]. + "green": 3.14, # The amount of green in the color as a value in the interval [0, 1]. + "red": 3.14, # The amount of red in the color as a value in the interval [0, 1]. + }, + "type": "A String", # The border type. + }, + "cropStyle": { # Represents the crop style applied to an image. # The crop style to apply to the image. + "aspectRatio": 3.14, # The aspect ratio to use if the crop type is `RECTANGLE_CUSTOM`. + "type": "A String", # The crop type. + }, + "imageUri": "A String", # The image URL. + }, + "layout": "A String", # The layout to use for the grid item. + "subtitle": "A String", # The grid item's subtitle. + "textAlignment": "A String", # The horizontal alignment of the grid item's text. + "title": "A String", # The grid item's title. + }, + ], + "onClick": { # Represents the response to an `onClick` event. # This callback is reused by each individual grid item, but with the item's identifier and index in the items list added to the callback's parameters. + "action": { # An action that describes the behavior when the form is submitted. For example, an Apps Script can be invoked to handle the form. # If specified, an action is triggered by this `onClick`. + "function": "A String", # Apps Script function to invoke when the containing element is clicked/activated. + "loadIndicator": "A String", # Specifies the loading indicator that the action displays while making the call to the action. + "parameters": [ # List of action parameters. + { # List of string parameters to supply when the action method is invoked. For example, consider three snooze buttons: snooze now, snooze 1 day, snooze next week. You might use action method = snooze(), passing the snooze type and snooze time in the list of string parameters. + "key": "A String", # The name of the parameter for the action script. + "value": "A String", # The value of the parameter. + }, + ], + "persistValues": True or False, # Indicates whether form values persist after the action. The default value is `false`. If `true`, form values remain after the action is triggered. When using [LoadIndicator.NONE](workspace/add-ons/reference/rpc/google.apps.card.v1#loadindicator) for actions, `persist_values` = `true`is recommended, as it ensures that any changes made by the user after form or on change actions are sent to the server are not overwritten by the response. If `false`, the form values are cleared when the action is triggered. When `persist_values` is set to `false`, it is strongly recommended that the card use [LoadIndicator.SPINNER](workspace/add-ons/reference/rpc/google.apps.card.v1#loadindicator) for all actions, as this locks the UI to ensure no changes are made by the user while the action is being processed. Not supported by Google Chat apps. + }, + "card": # Object with schema name: GoogleAppsCardV1Card # A new card is pushed to the card stack after clicking if specified. + "openDynamicLinkAction": { # An action that describes the behavior when the form is submitted. For example, an Apps Script can be invoked to handle the form. # An add-on triggers this action when the action needs to open a link. This differs from the `open_link` above in that this needs to talk to server to get the link. Thus some preparation work is required for web client to do before the open link action response comes back. + "function": "A String", # Apps Script function to invoke when the containing element is clicked/activated. + "loadIndicator": "A String", # Specifies the loading indicator that the action displays while making the call to the action. + "parameters": [ # List of action parameters. + { # List of string parameters to supply when the action method is invoked. For example, consider three snooze buttons: snooze now, snooze 1 day, snooze next week. You might use action method = snooze(), passing the snooze type and snooze time in the list of string parameters. + "key": "A String", # The name of the parameter for the action script. + "value": "A String", # The value of the parameter. + }, + ], + "persistValues": True or False, # Indicates whether form values persist after the action. The default value is `false`. If `true`, form values remain after the action is triggered. When using [LoadIndicator.NONE](workspace/add-ons/reference/rpc/google.apps.card.v1#loadindicator) for actions, `persist_values` = `true`is recommended, as it ensures that any changes made by the user after form or on change actions are sent to the server are not overwritten by the response. If `false`, the form values are cleared when the action is triggered. When `persist_values` is set to `false`, it is strongly recommended that the card use [LoadIndicator.SPINNER](workspace/add-ons/reference/rpc/google.apps.card.v1#loadindicator) for all actions, as this locks the UI to ensure no changes are made by the user while the action is being processed. Not supported by Google Chat apps. + }, + "openLink": { # Represents an `onClick` event that opens a hyperlink. # If specified, this `onClick` triggers an open link action. + "onClose": "A String", # Whether the client forgets about a link after opening it, or observes it until the window closes. Not supported by Chat apps. + "openAs": "A String", # How to open a link. Not supported by Chat apps. + "url": "A String", # The URL to open. + }, + }, + "title": "A String", # The text that displays in the grid header. + }, + "horizontalAlignment": "A String", # The horizontal alignment of this widget. + "image": { # An image that is specified by a URL and can have an `onClick` action. # Displays an image in this widget. For example, the following JSON creates an image with alternative text: ``` "image": { "imageUrl": "https://example.com/sasha.png" "altText": "Avatar for Sasha" } ``` + "altText": "A String", # The alternative text of this image, used for accessibility. + "imageUrl": "A String", # An image URL. + "onClick": { # Represents the response to an `onClick` event. # The action triggered by an `onClick` event. + "action": { # An action that describes the behavior when the form is submitted. For example, an Apps Script can be invoked to handle the form. # If specified, an action is triggered by this `onClick`. + "function": "A String", # Apps Script function to invoke when the containing element is clicked/activated. + "loadIndicator": "A String", # Specifies the loading indicator that the action displays while making the call to the action. + "parameters": [ # List of action parameters. + { # List of string parameters to supply when the action method is invoked. For example, consider three snooze buttons: snooze now, snooze 1 day, snooze next week. You might use action method = snooze(), passing the snooze type and snooze time in the list of string parameters. + "key": "A String", # The name of the parameter for the action script. + "value": "A String", # The value of the parameter. + }, + ], + "persistValues": True or False, # Indicates whether form values persist after the action. The default value is `false`. If `true`, form values remain after the action is triggered. When using [LoadIndicator.NONE](workspace/add-ons/reference/rpc/google.apps.card.v1#loadindicator) for actions, `persist_values` = `true`is recommended, as it ensures that any changes made by the user after form or on change actions are sent to the server are not overwritten by the response. If `false`, the form values are cleared when the action is triggered. When `persist_values` is set to `false`, it is strongly recommended that the card use [LoadIndicator.SPINNER](workspace/add-ons/reference/rpc/google.apps.card.v1#loadindicator) for all actions, as this locks the UI to ensure no changes are made by the user while the action is being processed. Not supported by Google Chat apps. + }, + "card": # Object with schema name: GoogleAppsCardV1Card # A new card is pushed to the card stack after clicking if specified. + "openDynamicLinkAction": { # An action that describes the behavior when the form is submitted. For example, an Apps Script can be invoked to handle the form. # An add-on triggers this action when the action needs to open a link. This differs from the `open_link` above in that this needs to talk to server to get the link. Thus some preparation work is required for web client to do before the open link action response comes back. + "function": "A String", # Apps Script function to invoke when the containing element is clicked/activated. + "loadIndicator": "A String", # Specifies the loading indicator that the action displays while making the call to the action. + "parameters": [ # List of action parameters. + { # List of string parameters to supply when the action method is invoked. For example, consider three snooze buttons: snooze now, snooze 1 day, snooze next week. You might use action method = snooze(), passing the snooze type and snooze time in the list of string parameters. + "key": "A String", # The name of the parameter for the action script. + "value": "A String", # The value of the parameter. + }, + ], + "persistValues": True or False, # Indicates whether form values persist after the action. The default value is `false`. If `true`, form values remain after the action is triggered. When using [LoadIndicator.NONE](workspace/add-ons/reference/rpc/google.apps.card.v1#loadindicator) for actions, `persist_values` = `true`is recommended, as it ensures that any changes made by the user after form or on change actions are sent to the server are not overwritten by the response. If `false`, the form values are cleared when the action is triggered. When `persist_values` is set to `false`, it is strongly recommended that the card use [LoadIndicator.SPINNER](workspace/add-ons/reference/rpc/google.apps.card.v1#loadindicator) for all actions, as this locks the UI to ensure no changes are made by the user while the action is being processed. Not supported by Google Chat apps. + }, + "openLink": { # Represents an `onClick` event that opens a hyperlink. # If specified, this `onClick` triggers an open link action. + "onClose": "A String", # Whether the client forgets about a link after opening it, or observes it until the window closes. Not supported by Chat apps. + "openAs": "A String", # How to open a link. Not supported by Chat apps. + "url": "A String", # The URL to open. + }, + }, + }, + "selectionInput": { # A widget that creates a UI item with options for users to select. For example, a dropdown menu. # Displays a switch control in this widget. For example, the following JSON creates a dropdown selection for size: ``` "switchControl": { "name": "size", "label": "Size" "type": "SelectionType.DROPDOWN", "items": [ { "text": "S", "value": "small", "selected": false }, { "text": "M", "value": "medium", "selected": true }, { "text": "L", "value": "large", "selected": false }, { "text": "XL", "value": "extra_large", "selected": false } ] } ``` + "items": [ # An array of the selected items. + { # A selectable item in the switch control. + "selected": True or False, # If more than one item is selected for `RADIO_BUTTON` and `DROPDOWN`, the first selected item is treated as selected and the ones after are ignored. + "text": "A String", # The text to be displayed. + "value": "A String", # The value associated with this item. The client should use this as a form input value. + }, + ], + "label": "A String", # The label displayed ahead of the switch control. + "name": "A String", # The name of the text input which is used in `formInput`. + "onChangeAction": { # An action that describes the behavior when the form is submitted. For example, an Apps Script can be invoked to handle the form. # If specified, the form is submitted when the selection changes. If not specified, you must specify a separate button. + "function": "A String", # Apps Script function to invoke when the containing element is clicked/activated. + "loadIndicator": "A String", # Specifies the loading indicator that the action displays while making the call to the action. + "parameters": [ # List of action parameters. + { # List of string parameters to supply when the action method is invoked. For example, consider three snooze buttons: snooze now, snooze 1 day, snooze next week. You might use action method = snooze(), passing the snooze type and snooze time in the list of string parameters. + "key": "A String", # The name of the parameter for the action script. + "value": "A String", # The value of the parameter. + }, + ], + "persistValues": True or False, # Indicates whether form values persist after the action. The default value is `false`. If `true`, form values remain after the action is triggered. When using [LoadIndicator.NONE](workspace/add-ons/reference/rpc/google.apps.card.v1#loadindicator) for actions, `persist_values` = `true`is recommended, as it ensures that any changes made by the user after form or on change actions are sent to the server are not overwritten by the response. If `false`, the form values are cleared when the action is triggered. When `persist_values` is set to `false`, it is strongly recommended that the card use [LoadIndicator.SPINNER](workspace/add-ons/reference/rpc/google.apps.card.v1#loadindicator) for all actions, as this locks the UI to ensure no changes are made by the user while the action is being processed. Not supported by Google Chat apps. + }, + "type": "A String", # The type of the selection. + }, + "textInput": { # A text input is a UI item where users can input text. A text input can also have an onChange action and suggestions. # Displays a text input in this widget. For example, the following JSON creates a text input for mail address: ``` "textInput": { "name": "mailing_address", "label": "Mailing Address" } ``` As another example, the following JSON creates a text input for programming language with static suggestions: ``` "textInput": { "name": "preferred_programing_language", "label": "Preferred Language", "initialSuggestions": { "items": [ { "text": "C++" }, { "text": "Java" }, { "text": "JavaScript" }, { "text": "Python" } ] } } ``` + "autoCompleteAction": { # An action that describes the behavior when the form is submitted. For example, an Apps Script can be invoked to handle the form. # The refresh function that returns suggestions based on the user's input text. If the callback is not specified, autocomplete is done in client side based on the initial suggestion items. + "function": "A String", # Apps Script function to invoke when the containing element is clicked/activated. + "loadIndicator": "A String", # Specifies the loading indicator that the action displays while making the call to the action. + "parameters": [ # List of action parameters. + { # List of string parameters to supply when the action method is invoked. For example, consider three snooze buttons: snooze now, snooze 1 day, snooze next week. You might use action method = snooze(), passing the snooze type and snooze time in the list of string parameters. + "key": "A String", # The name of the parameter for the action script. + "value": "A String", # The value of the parameter. + }, + ], + "persistValues": True or False, # Indicates whether form values persist after the action. The default value is `false`. If `true`, form values remain after the action is triggered. When using [LoadIndicator.NONE](workspace/add-ons/reference/rpc/google.apps.card.v1#loadindicator) for actions, `persist_values` = `true`is recommended, as it ensures that any changes made by the user after form or on change actions are sent to the server are not overwritten by the response. If `false`, the form values are cleared when the action is triggered. When `persist_values` is set to `false`, it is strongly recommended that the card use [LoadIndicator.SPINNER](workspace/add-ons/reference/rpc/google.apps.card.v1#loadindicator) for all actions, as this locks the UI to ensure no changes are made by the user while the action is being processed. Not supported by Google Chat apps. + }, + "hintText": "A String", # The hint text. + "initialSuggestions": { # A container wrapping elements necessary for showing suggestion items used in text input autocomplete. # The initial suggestions made before any user input. + "items": [ # A list of suggestions used for autocomplete recommendations. + { # A suggestion item. + "text": "A String", # The suggested autocomplete result. + }, + ], + }, + "label": "A String", # At least one of label and hintText must be specified. + "name": "A String", # The name of the text input which is used in `formInput`. + "onChangeAction": { # An action that describes the behavior when the form is submitted. For example, an Apps Script can be invoked to handle the form. # The onChange action, for example, invoke a function. + "function": "A String", # Apps Script function to invoke when the containing element is clicked/activated. + "loadIndicator": "A String", # Specifies the loading indicator that the action displays while making the call to the action. + "parameters": [ # List of action parameters. + { # List of string parameters to supply when the action method is invoked. For example, consider three snooze buttons: snooze now, snooze 1 day, snooze next week. You might use action method = snooze(), passing the snooze type and snooze time in the list of string parameters. + "key": "A String", # The name of the parameter for the action script. + "value": "A String", # The value of the parameter. + }, + ], + "persistValues": True or False, # Indicates whether form values persist after the action. The default value is `false`. If `true`, form values remain after the action is triggered. When using [LoadIndicator.NONE](workspace/add-ons/reference/rpc/google.apps.card.v1#loadindicator) for actions, `persist_values` = `true`is recommended, as it ensures that any changes made by the user after form or on change actions are sent to the server are not overwritten by the response. If `false`, the form values are cleared when the action is triggered. When `persist_values` is set to `false`, it is strongly recommended that the card use [LoadIndicator.SPINNER](workspace/add-ons/reference/rpc/google.apps.card.v1#loadindicator) for all actions, as this locks the UI to ensure no changes are made by the user while the action is being processed. Not supported by Google Chat apps. + }, + "type": "A String", # The style of the text, for example, a single line or multiple lines. + "value": "A String", # The default value when there is no input from the user. + }, + "textParagraph": { # A paragraph of text that supports formatting. See [Text formatting](workspace/add-ons/concepts/widgets#text_formatting) for details. # Displays a text paragraph in this widget. For example, the following JSON creates a bolded text: ``` "textParagraph": { "text": " *bold text*" } ``` + "text": "A String", # The text that's shown in the widget. + }, + }, + ], + }, + ], + }, + "cardId": "A String", # Required for `cardsV2` messages. Chat app-specified identifier for this widget. Scoped within a message. + }, + ], "createTime": "A String", # Output only. The time at which the message was created in Google Chat server. "fallbackText": "A String", # A plain-text description of the message's cards, used when the actual cards cannot be displayed (e.g. mobile notifications). "lastUpdateTime": "A String", # Output only. The time at which the message was last edited by a user. If the message has never been edited, this field is empty. @@ -3192,8 +5292,12 @@

Method Details

"displayName": "A String", # The space's display name. For direct messages between humans, this field might be empty. "name": "A String", # Resource name of the space. Format: spaces/{space} "singleUserBotDm": True or False, # Output only. Whether the space is a DM between a Chat app and a single human. + "spaceDetails": { # Details about the space including description and rules. # Details about the space including description and rules. + "description": "A String", # Optional. A description of the space. It could describe the space's discussion topic, functional purpose, or participants. + "guidelines": "A String", # Optional. The space's rules, expectations, and etiquette. + }, "threaded": True or False, # Output only. Whether messages are threaded in this space. - "type": "A String", # Output only. Deprecated: Use `single_user_bot_dm` or `space_type` (developer preview) instead. The type of a space. + "type": "A String", # Output only. Deprecated: Use `singleUserBotDm` or `spaceType` (developer preview) instead. The type of a space. }, "text": "A String", # Plain-text body of the message. The first link to an image, video, web page, or other preview-able item generates a preview chip. "thread": { # A thread in Google Chat. # The thread the message belongs to. diff --git a/docs/dyn/chat_v1.rooms.conversations.html b/docs/dyn/chat_v1.rooms.conversations.html index 4c5e55f2445..b3aa174396b 100644 --- a/docs/dyn/chat_v1.rooms.conversations.html +++ b/docs/dyn/chat_v1.rooms.conversations.html @@ -832,6 +832,528 @@

Method Details

], }, ], + "cardsV2": [ # Richly formatted and interactive cards that display UI elements and editable widgets, such as: - Formatted text - Buttons - Clickable images - Checkboxes - Radio buttons - Input widgets. Cards are usually displayed below the text-body of a Chat message, but can situationally appear other places, such as [dialogs](https://developers.google.com/chat/how-tos/dialogs). The `cardId` is a unique identifier among cards in the same message and for identifying user input values. Currently supported widgets include: - `TextParagraph` - `DecoratedText` - `Image` - `ButtonList` + { # Widgets for Chat apps to specify. + "card": { # A card is a UI element that can contain UI widgets such as text and images. For more information, see Cards . For example, the following JSON creates a card that has a header with the name, position, icons, and link for a contact, followed by a section with contact information like email and phone number. ``` { "header": { "title": "Sasha", "subtitle": "Software Engineer", "imageStyle": "ImageStyle.AVATAR", "imageUrl": "https://example.com/sasha.png", "imageAltText": "Avatar for Sasha" }, "sections" : [ { "header": "Contact Info", "widgets": [ { "decorated_text": { "icon": { "knownIcon": "EMAIL" }, "content": "sasha@example.com" } }, { "decoratedText": { "icon": { "knownIcon": "PERSON" }, "content": "Online" } }, { "decoratedText": { "icon": { "knownIcon": "PHONE" }, "content": "+1 (555) 555-1234" } }, { "buttons": [ { "textButton": { "text": "Share", }, "onClick": { "openLink": { "url": "https://example.com/share" } } }, { "textButton": { "text": "Edit", }, "onClick": { "action": { "function": "goToView", "parameters": [ { "key": "viewType", "value": "EDIT" } ], "loadIndicator": "LoadIndicator.SPINNER" } } } ] } ], "collapsible": true, "uncollapsibleWidgetsCount": 3 } ], "cardActions": [ { "actionLabel": "Send Feedback", "onClick": { "openLink": { "url": "https://example.com/feedback" } } } ], "name": "contact-card-K3wB6arF2H9L" } ``` # Card proto that allows Chat apps to specify UI elements and editable widgets. + "cardActions": [ # The card's actions. Actions are added to the card's generated toolbar menu. For example, the following JSON constructs a card action menu with Settings and Send Feedback options: ``` "card_actions": [ { "actionLabel": "Settings", "onClick": { "action": { "functionName": "goToView", "parameters": [ { "key": "viewType", "value": "SETTING" } ], "loadIndicator": "LoadIndicator.SPINNER" } } }, { "actionLabel": "Send Feedback", "onClick": { "openLink": { "url": "https://example.com/feedback" } } } ] ``` + { # A card action is the action associated with the card. For example, an invoice card might include actions such as delete invoice, email invoice, or open the invoice in a browser. + "actionLabel": "A String", # The label that displays as the action menu item. + "onClick": { # Represents the response to an `onClick` event. # The `onClick` action for this action item. + "action": { # An action that describes the behavior when the form is submitted. For example, an Apps Script can be invoked to handle the form. # If specified, an action is triggered by this `onClick`. + "function": "A String", # Apps Script function to invoke when the containing element is clicked/activated. + "loadIndicator": "A String", # Specifies the loading indicator that the action displays while making the call to the action. + "parameters": [ # List of action parameters. + { # List of string parameters to supply when the action method is invoked. For example, consider three snooze buttons: snooze now, snooze 1 day, snooze next week. You might use action method = snooze(), passing the snooze type and snooze time in the list of string parameters. + "key": "A String", # The name of the parameter for the action script. + "value": "A String", # The value of the parameter. + }, + ], + "persistValues": True or False, # Indicates whether form values persist after the action. The default value is `false`. If `true`, form values remain after the action is triggered. When using [LoadIndicator.NONE](workspace/add-ons/reference/rpc/google.apps.card.v1#loadindicator) for actions, `persist_values` = `true`is recommended, as it ensures that any changes made by the user after form or on change actions are sent to the server are not overwritten by the response. If `false`, the form values are cleared when the action is triggered. When `persist_values` is set to `false`, it is strongly recommended that the card use [LoadIndicator.SPINNER](workspace/add-ons/reference/rpc/google.apps.card.v1#loadindicator) for all actions, as this locks the UI to ensure no changes are made by the user while the action is being processed. Not supported by Google Chat apps. + }, + "card": # Object with schema name: GoogleAppsCardV1Card # A new card is pushed to the card stack after clicking if specified. + "openDynamicLinkAction": { # An action that describes the behavior when the form is submitted. For example, an Apps Script can be invoked to handle the form. # An add-on triggers this action when the action needs to open a link. This differs from the `open_link` above in that this needs to talk to server to get the link. Thus some preparation work is required for web client to do before the open link action response comes back. + "function": "A String", # Apps Script function to invoke when the containing element is clicked/activated. + "loadIndicator": "A String", # Specifies the loading indicator that the action displays while making the call to the action. + "parameters": [ # List of action parameters. + { # List of string parameters to supply when the action method is invoked. For example, consider three snooze buttons: snooze now, snooze 1 day, snooze next week. You might use action method = snooze(), passing the snooze type and snooze time in the list of string parameters. + "key": "A String", # The name of the parameter for the action script. + "value": "A String", # The value of the parameter. + }, + ], + "persistValues": True or False, # Indicates whether form values persist after the action. The default value is `false`. If `true`, form values remain after the action is triggered. When using [LoadIndicator.NONE](workspace/add-ons/reference/rpc/google.apps.card.v1#loadindicator) for actions, `persist_values` = `true`is recommended, as it ensures that any changes made by the user after form or on change actions are sent to the server are not overwritten by the response. If `false`, the form values are cleared when the action is triggered. When `persist_values` is set to `false`, it is strongly recommended that the card use [LoadIndicator.SPINNER](workspace/add-ons/reference/rpc/google.apps.card.v1#loadindicator) for all actions, as this locks the UI to ensure no changes are made by the user while the action is being processed. Not supported by Google Chat apps. + }, + "openLink": { # Represents an `onClick` event that opens a hyperlink. # If specified, this `onClick` triggers an open link action. + "onClose": "A String", # Whether the client forgets about a link after opening it, or observes it until the window closes. Not supported by Chat apps. + "openAs": "A String", # How to open a link. Not supported by Chat apps. + "url": "A String", # The URL to open. + }, + }, + }, + ], + "displayStyle": "A String", # The `peekCardHeader` display style for. Not supported by Google Chat apps. + "fixedFooter": { # A persistent (sticky) footer that is added to the bottom of the card. # The fixed footer shown at the bottom of this card. + "primaryButton": { # A button. Can be a text button or an image button. # The primary button of the fixed footer. The button must be a text button with text and color set. + "altText": "A String", # The alternative text used for accessibility. Has no effect when an icon is set; use `icon.alt_text` instead. + "color": { # Represents a color in the RGBA color space. This representation is designed for simplicity of conversion to/from color representations in various languages over compactness. For example, the fields of this representation can be trivially provided to the constructor of `java.awt.Color` in Java; it can also be trivially provided to UIColor's `+colorWithRed:green:blue:alpha` method in iOS; and, with just a little work, it can be easily formatted into a CSS `rgba()` string in JavaScript. This reference page doesn't carry information about the absolute color space that should be used to interpret the RGB value (e.g. sRGB, Adobe RGB, DCI-P3, BT.2020, etc.). By default, applications should assume the sRGB color space. When color equality needs to be decided, implementations, unless documented otherwise, treat two colors as equal if all their red, green, blue, and alpha values each differ by at most 1e-5. Example (Java): import com.google.type.Color; // ... public static java.awt.Color fromProto(Color protocolor) { float alpha = protocolor.hasAlpha() ? protocolor.getAlpha().getValue() : 1.0; return new java.awt.Color( protocolor.getRed(), protocolor.getGreen(), protocolor.getBlue(), alpha); } public static Color toProto(java.awt.Color color) { float red = (float) color.getRed(); float green = (float) color.getGreen(); float blue = (float) color.getBlue(); float denominator = 255.0; Color.Builder resultBuilder = Color .newBuilder() .setRed(red / denominator) .setGreen(green / denominator) .setBlue(blue / denominator); int alpha = color.getAlpha(); if (alpha != 255) { result.setAlpha( FloatValue .newBuilder() .setValue(((float) alpha) / denominator) .build()); } return resultBuilder.build(); } // ... Example (iOS / Obj-C): // ... static UIColor* fromProto(Color* protocolor) { float red = [protocolor red]; float green = [protocolor green]; float blue = [protocolor blue]; FloatValue* alpha_wrapper = [protocolor alpha]; float alpha = 1.0; if (alpha_wrapper != nil) { alpha = [alpha_wrapper value]; } return [UIColor colorWithRed:red green:green blue:blue alpha:alpha]; } static Color* toProto(UIColor* color) { CGFloat red, green, blue, alpha; if (![color getRed:&red green:&green blue:&blue alpha:&alpha]) { return nil; } Color* result = [[Color alloc] init]; [result setRed:red]; [result setGreen:green]; [result setBlue:blue]; if (alpha <= 0.9999) { [result setAlpha:floatWrapperWithValue(alpha)]; } [result autorelease]; return result; } // ... Example (JavaScript): // ... var protoToCssColor = function(rgb_color) { var redFrac = rgb_color.red || 0.0; var greenFrac = rgb_color.green || 0.0; var blueFrac = rgb_color.blue || 0.0; var red = Math.floor(redFrac * 255); var green = Math.floor(greenFrac * 255); var blue = Math.floor(blueFrac * 255); if (!('alpha' in rgb_color)) { return rgbToCssColor(red, green, blue); } var alphaFrac = rgb_color.alpha.value || 0.0; var rgbParams = [red, green, blue].join(','); return ['rgba(', rgbParams, ',', alphaFrac, ')'].join(''); }; var rgbToCssColor = function(red, green, blue) { var rgbNumber = new Number((red << 16) | (green << 8) | blue); var hexString = rgbNumber.toString(16); var missingZeros = 6 - hexString.length; var resultBuilder = ['#']; for (var i = 0; i < missingZeros; i++) { resultBuilder.push('0'); } resultBuilder.push(hexString); return resultBuilder.join(''); }; // ... # If set, the button is filled with a solid background. + "alpha": 3.14, # The fraction of this color that should be applied to the pixel. That is, the final pixel color is defined by the equation: `pixel color = alpha * (this color) + (1.0 - alpha) * (background color)` This means that a value of 1.0 corresponds to a solid color, whereas a value of 0.0 corresponds to a completely transparent color. This uses a wrapper message rather than a simple float scalar so that it is possible to distinguish between a default value and the value being unset. If omitted, this color object is rendered as a solid color (as if the alpha value had been explicitly given a value of 1.0). + "blue": 3.14, # The amount of blue in the color as a value in the interval [0, 1]. + "green": 3.14, # The amount of green in the color as a value in the interval [0, 1]. + "red": 3.14, # The amount of red in the color as a value in the interval [0, 1]. + }, + "disabled": True or False, # If `true`, the button is displayed in a disabled state and doesn't respond to user actions. + "icon": { # The icon image. + "altText": "A String", # The description of the icon, used for accessibility. The default value is provided if you don't specify one. + "iconUrl": "A String", # The icon specified by a URL. + "imageType": "A String", # The crop style applied to the image. In some cases, applying a `CIRCLE` crop causes the image to be drawn larger than a standard icon. + "knownIcon": "A String", # The icon specified by the string name of a list of known icons. + }, + "onClick": { # Represents the response to an `onClick` event. # The action to perform when the button is clicked. + "action": { # An action that describes the behavior when the form is submitted. For example, an Apps Script can be invoked to handle the form. # If specified, an action is triggered by this `onClick`. + "function": "A String", # Apps Script function to invoke when the containing element is clicked/activated. + "loadIndicator": "A String", # Specifies the loading indicator that the action displays while making the call to the action. + "parameters": [ # List of action parameters. + { # List of string parameters to supply when the action method is invoked. For example, consider three snooze buttons: snooze now, snooze 1 day, snooze next week. You might use action method = snooze(), passing the snooze type and snooze time in the list of string parameters. + "key": "A String", # The name of the parameter for the action script. + "value": "A String", # The value of the parameter. + }, + ], + "persistValues": True or False, # Indicates whether form values persist after the action. The default value is `false`. If `true`, form values remain after the action is triggered. When using [LoadIndicator.NONE](workspace/add-ons/reference/rpc/google.apps.card.v1#loadindicator) for actions, `persist_values` = `true`is recommended, as it ensures that any changes made by the user after form or on change actions are sent to the server are not overwritten by the response. If `false`, the form values are cleared when the action is triggered. When `persist_values` is set to `false`, it is strongly recommended that the card use [LoadIndicator.SPINNER](workspace/add-ons/reference/rpc/google.apps.card.v1#loadindicator) for all actions, as this locks the UI to ensure no changes are made by the user while the action is being processed. Not supported by Google Chat apps. + }, + "card": # Object with schema name: GoogleAppsCardV1Card # A new card is pushed to the card stack after clicking if specified. + "openDynamicLinkAction": { # An action that describes the behavior when the form is submitted. For example, an Apps Script can be invoked to handle the form. # An add-on triggers this action when the action needs to open a link. This differs from the `open_link` above in that this needs to talk to server to get the link. Thus some preparation work is required for web client to do before the open link action response comes back. + "function": "A String", # Apps Script function to invoke when the containing element is clicked/activated. + "loadIndicator": "A String", # Specifies the loading indicator that the action displays while making the call to the action. + "parameters": [ # List of action parameters. + { # List of string parameters to supply when the action method is invoked. For example, consider three snooze buttons: snooze now, snooze 1 day, snooze next week. You might use action method = snooze(), passing the snooze type and snooze time in the list of string parameters. + "key": "A String", # The name of the parameter for the action script. + "value": "A String", # The value of the parameter. + }, + ], + "persistValues": True or False, # Indicates whether form values persist after the action. The default value is `false`. If `true`, form values remain after the action is triggered. When using [LoadIndicator.NONE](workspace/add-ons/reference/rpc/google.apps.card.v1#loadindicator) for actions, `persist_values` = `true`is recommended, as it ensures that any changes made by the user after form or on change actions are sent to the server are not overwritten by the response. If `false`, the form values are cleared when the action is triggered. When `persist_values` is set to `false`, it is strongly recommended that the card use [LoadIndicator.SPINNER](workspace/add-ons/reference/rpc/google.apps.card.v1#loadindicator) for all actions, as this locks the UI to ensure no changes are made by the user while the action is being processed. Not supported by Google Chat apps. + }, + "openLink": { # Represents an `onClick` event that opens a hyperlink. # If specified, this `onClick` triggers an open link action. + "onClose": "A String", # Whether the client forgets about a link after opening it, or observes it until the window closes. Not supported by Chat apps. + "openAs": "A String", # How to open a link. Not supported by Chat apps. + "url": "A String", # The URL to open. + }, + }, + "text": "A String", # The text of the button. + }, + "secondaryButton": { # A button. Can be a text button or an image button. # The secondary button of the fixed footer. The button must be a text button with text and color set. `primaryButton` must be set if `secondaryButton` is set. + "altText": "A String", # The alternative text used for accessibility. Has no effect when an icon is set; use `icon.alt_text` instead. + "color": { # Represents a color in the RGBA color space. This representation is designed for simplicity of conversion to/from color representations in various languages over compactness. For example, the fields of this representation can be trivially provided to the constructor of `java.awt.Color` in Java; it can also be trivially provided to UIColor's `+colorWithRed:green:blue:alpha` method in iOS; and, with just a little work, it can be easily formatted into a CSS `rgba()` string in JavaScript. This reference page doesn't carry information about the absolute color space that should be used to interpret the RGB value (e.g. sRGB, Adobe RGB, DCI-P3, BT.2020, etc.). By default, applications should assume the sRGB color space. When color equality needs to be decided, implementations, unless documented otherwise, treat two colors as equal if all their red, green, blue, and alpha values each differ by at most 1e-5. Example (Java): import com.google.type.Color; // ... public static java.awt.Color fromProto(Color protocolor) { float alpha = protocolor.hasAlpha() ? protocolor.getAlpha().getValue() : 1.0; return new java.awt.Color( protocolor.getRed(), protocolor.getGreen(), protocolor.getBlue(), alpha); } public static Color toProto(java.awt.Color color) { float red = (float) color.getRed(); float green = (float) color.getGreen(); float blue = (float) color.getBlue(); float denominator = 255.0; Color.Builder resultBuilder = Color .newBuilder() .setRed(red / denominator) .setGreen(green / denominator) .setBlue(blue / denominator); int alpha = color.getAlpha(); if (alpha != 255) { result.setAlpha( FloatValue .newBuilder() .setValue(((float) alpha) / denominator) .build()); } return resultBuilder.build(); } // ... Example (iOS / Obj-C): // ... static UIColor* fromProto(Color* protocolor) { float red = [protocolor red]; float green = [protocolor green]; float blue = [protocolor blue]; FloatValue* alpha_wrapper = [protocolor alpha]; float alpha = 1.0; if (alpha_wrapper != nil) { alpha = [alpha_wrapper value]; } return [UIColor colorWithRed:red green:green blue:blue alpha:alpha]; } static Color* toProto(UIColor* color) { CGFloat red, green, blue, alpha; if (![color getRed:&red green:&green blue:&blue alpha:&alpha]) { return nil; } Color* result = [[Color alloc] init]; [result setRed:red]; [result setGreen:green]; [result setBlue:blue]; if (alpha <= 0.9999) { [result setAlpha:floatWrapperWithValue(alpha)]; } [result autorelease]; return result; } // ... Example (JavaScript): // ... var protoToCssColor = function(rgb_color) { var redFrac = rgb_color.red || 0.0; var greenFrac = rgb_color.green || 0.0; var blueFrac = rgb_color.blue || 0.0; var red = Math.floor(redFrac * 255); var green = Math.floor(greenFrac * 255); var blue = Math.floor(blueFrac * 255); if (!('alpha' in rgb_color)) { return rgbToCssColor(red, green, blue); } var alphaFrac = rgb_color.alpha.value || 0.0; var rgbParams = [red, green, blue].join(','); return ['rgba(', rgbParams, ',', alphaFrac, ')'].join(''); }; var rgbToCssColor = function(red, green, blue) { var rgbNumber = new Number((red << 16) | (green << 8) | blue); var hexString = rgbNumber.toString(16); var missingZeros = 6 - hexString.length; var resultBuilder = ['#']; for (var i = 0; i < missingZeros; i++) { resultBuilder.push('0'); } resultBuilder.push(hexString); return resultBuilder.join(''); }; // ... # If set, the button is filled with a solid background. + "alpha": 3.14, # The fraction of this color that should be applied to the pixel. That is, the final pixel color is defined by the equation: `pixel color = alpha * (this color) + (1.0 - alpha) * (background color)` This means that a value of 1.0 corresponds to a solid color, whereas a value of 0.0 corresponds to a completely transparent color. This uses a wrapper message rather than a simple float scalar so that it is possible to distinguish between a default value and the value being unset. If omitted, this color object is rendered as a solid color (as if the alpha value had been explicitly given a value of 1.0). + "blue": 3.14, # The amount of blue in the color as a value in the interval [0, 1]. + "green": 3.14, # The amount of green in the color as a value in the interval [0, 1]. + "red": 3.14, # The amount of red in the color as a value in the interval [0, 1]. + }, + "disabled": True or False, # If `true`, the button is displayed in a disabled state and doesn't respond to user actions. + "icon": { # The icon image. + "altText": "A String", # The description of the icon, used for accessibility. The default value is provided if you don't specify one. + "iconUrl": "A String", # The icon specified by a URL. + "imageType": "A String", # The crop style applied to the image. In some cases, applying a `CIRCLE` crop causes the image to be drawn larger than a standard icon. + "knownIcon": "A String", # The icon specified by the string name of a list of known icons. + }, + "onClick": { # Represents the response to an `onClick` event. # The action to perform when the button is clicked. + "action": { # An action that describes the behavior when the form is submitted. For example, an Apps Script can be invoked to handle the form. # If specified, an action is triggered by this `onClick`. + "function": "A String", # Apps Script function to invoke when the containing element is clicked/activated. + "loadIndicator": "A String", # Specifies the loading indicator that the action displays while making the call to the action. + "parameters": [ # List of action parameters. + { # List of string parameters to supply when the action method is invoked. For example, consider three snooze buttons: snooze now, snooze 1 day, snooze next week. You might use action method = snooze(), passing the snooze type and snooze time in the list of string parameters. + "key": "A String", # The name of the parameter for the action script. + "value": "A String", # The value of the parameter. + }, + ], + "persistValues": True or False, # Indicates whether form values persist after the action. The default value is `false`. If `true`, form values remain after the action is triggered. When using [LoadIndicator.NONE](workspace/add-ons/reference/rpc/google.apps.card.v1#loadindicator) for actions, `persist_values` = `true`is recommended, as it ensures that any changes made by the user after form or on change actions are sent to the server are not overwritten by the response. If `false`, the form values are cleared when the action is triggered. When `persist_values` is set to `false`, it is strongly recommended that the card use [LoadIndicator.SPINNER](workspace/add-ons/reference/rpc/google.apps.card.v1#loadindicator) for all actions, as this locks the UI to ensure no changes are made by the user while the action is being processed. Not supported by Google Chat apps. + }, + "card": # Object with schema name: GoogleAppsCardV1Card # A new card is pushed to the card stack after clicking if specified. + "openDynamicLinkAction": { # An action that describes the behavior when the form is submitted. For example, an Apps Script can be invoked to handle the form. # An add-on triggers this action when the action needs to open a link. This differs from the `open_link` above in that this needs to talk to server to get the link. Thus some preparation work is required for web client to do before the open link action response comes back. + "function": "A String", # Apps Script function to invoke when the containing element is clicked/activated. + "loadIndicator": "A String", # Specifies the loading indicator that the action displays while making the call to the action. + "parameters": [ # List of action parameters. + { # List of string parameters to supply when the action method is invoked. For example, consider three snooze buttons: snooze now, snooze 1 day, snooze next week. You might use action method = snooze(), passing the snooze type and snooze time in the list of string parameters. + "key": "A String", # The name of the parameter for the action script. + "value": "A String", # The value of the parameter. + }, + ], + "persistValues": True or False, # Indicates whether form values persist after the action. The default value is `false`. If `true`, form values remain after the action is triggered. When using [LoadIndicator.NONE](workspace/add-ons/reference/rpc/google.apps.card.v1#loadindicator) for actions, `persist_values` = `true`is recommended, as it ensures that any changes made by the user after form or on change actions are sent to the server are not overwritten by the response. If `false`, the form values are cleared when the action is triggered. When `persist_values` is set to `false`, it is strongly recommended that the card use [LoadIndicator.SPINNER](workspace/add-ons/reference/rpc/google.apps.card.v1#loadindicator) for all actions, as this locks the UI to ensure no changes are made by the user while the action is being processed. Not supported by Google Chat apps. + }, + "openLink": { # Represents an `onClick` event that opens a hyperlink. # If specified, this `onClick` triggers an open link action. + "onClose": "A String", # Whether the client forgets about a link after opening it, or observes it until the window closes. Not supported by Chat apps. + "openAs": "A String", # How to open a link. Not supported by Chat apps. + "url": "A String", # The URL to open. + }, + }, + "text": "A String", # The text of the button. + }, + }, + "header": { # Represents a card header. # The header of the card. A header usually contains a title and an image. + "imageAltText": "A String", # The alternative text of this image which is used for accessibility. + "imageType": "A String", # The image's type. + "imageUrl": "A String", # The URL of the image in the card header. + "subtitle": "A String", # The subtitle of the card header. + "title": "A String", # Required. The title of the card header. The header has a fixed height: if both a title and subtitle are specified, each takes up one line. If only the title is specified, it takes up both lines. + }, + "name": "A String", # Name of the card. Used as a card identifier in card navigation. + "peekCardHeader": { # Represents a card header. # When displaying contextual content, the peek card header acts as a placeholder so that the user can navigate forward between the homepage cards and the contextual cards. Not supported by Google Chat apps. + "imageAltText": "A String", # The alternative text of this image which is used for accessibility. + "imageType": "A String", # The image's type. + "imageUrl": "A String", # The URL of the image in the card header. + "subtitle": "A String", # The subtitle of the card header. + "title": "A String", # Required. The title of the card header. The header has a fixed height: if both a title and subtitle are specified, each takes up one line. If only the title is specified, it takes up both lines. + }, + "sections": [ # Sections are separated by a line divider. + { # A section contains a collection of widgets that are rendered vertically in the order that they are specified. Across all platforms, cards have a narrow fixed width, so there is currently no need for layout properties, for example, float. + "collapsible": True or False, # Indicates whether this section is collapsible. If a section is collapsible, the description must be given. + "header": "A String", # The header of the section. Formatted text is supported. + "uncollapsibleWidgetsCount": 42, # The number of uncollapsible widgets. For example, when a section contains five widgets and the `uncollapsibleWidgetsCount` is set to `2`, the first two widgets are always shown and the last three are collapsed as default. The `uncollapsibleWidgetsCount` is taken into account only when `collapsible` is `true`. + "widgets": [ # A section must contain at least 1 widget. + { # A widget is a UI element that presents texts, images, etc. + "buttonList": { # A list of buttons layed out horizontally. # A list of buttons. For example, the following JSON creates two buttons. The first is a filled text button and the second is an image button that opens a link: ``` "buttonList": { "buttons": [ "button": { "text": "Edit", "Color": { "Red": 255 "Green": 255 "Blue": 255 } "disabled": true }, "button": { "icon": { "knownIcon": "INVITE" "altText": "check calendar" }, "onClick": { "openLink": { "url": "https://example.com/calendar" } } }, ] } ``` + "buttons": [ # An array of buttons. + { # A button. Can be a text button or an image button. + "altText": "A String", # The alternative text used for accessibility. Has no effect when an icon is set; use `icon.alt_text` instead. + "color": { # Represents a color in the RGBA color space. This representation is designed for simplicity of conversion to/from color representations in various languages over compactness. For example, the fields of this representation can be trivially provided to the constructor of `java.awt.Color` in Java; it can also be trivially provided to UIColor's `+colorWithRed:green:blue:alpha` method in iOS; and, with just a little work, it can be easily formatted into a CSS `rgba()` string in JavaScript. This reference page doesn't carry information about the absolute color space that should be used to interpret the RGB value (e.g. sRGB, Adobe RGB, DCI-P3, BT.2020, etc.). By default, applications should assume the sRGB color space. When color equality needs to be decided, implementations, unless documented otherwise, treat two colors as equal if all their red, green, blue, and alpha values each differ by at most 1e-5. Example (Java): import com.google.type.Color; // ... public static java.awt.Color fromProto(Color protocolor) { float alpha = protocolor.hasAlpha() ? protocolor.getAlpha().getValue() : 1.0; return new java.awt.Color( protocolor.getRed(), protocolor.getGreen(), protocolor.getBlue(), alpha); } public static Color toProto(java.awt.Color color) { float red = (float) color.getRed(); float green = (float) color.getGreen(); float blue = (float) color.getBlue(); float denominator = 255.0; Color.Builder resultBuilder = Color .newBuilder() .setRed(red / denominator) .setGreen(green / denominator) .setBlue(blue / denominator); int alpha = color.getAlpha(); if (alpha != 255) { result.setAlpha( FloatValue .newBuilder() .setValue(((float) alpha) / denominator) .build()); } return resultBuilder.build(); } // ... Example (iOS / Obj-C): // ... static UIColor* fromProto(Color* protocolor) { float red = [protocolor red]; float green = [protocolor green]; float blue = [protocolor blue]; FloatValue* alpha_wrapper = [protocolor alpha]; float alpha = 1.0; if (alpha_wrapper != nil) { alpha = [alpha_wrapper value]; } return [UIColor colorWithRed:red green:green blue:blue alpha:alpha]; } static Color* toProto(UIColor* color) { CGFloat red, green, blue, alpha; if (![color getRed:&red green:&green blue:&blue alpha:&alpha]) { return nil; } Color* result = [[Color alloc] init]; [result setRed:red]; [result setGreen:green]; [result setBlue:blue]; if (alpha <= 0.9999) { [result setAlpha:floatWrapperWithValue(alpha)]; } [result autorelease]; return result; } // ... Example (JavaScript): // ... var protoToCssColor = function(rgb_color) { var redFrac = rgb_color.red || 0.0; var greenFrac = rgb_color.green || 0.0; var blueFrac = rgb_color.blue || 0.0; var red = Math.floor(redFrac * 255); var green = Math.floor(greenFrac * 255); var blue = Math.floor(blueFrac * 255); if (!('alpha' in rgb_color)) { return rgbToCssColor(red, green, blue); } var alphaFrac = rgb_color.alpha.value || 0.0; var rgbParams = [red, green, blue].join(','); return ['rgba(', rgbParams, ',', alphaFrac, ')'].join(''); }; var rgbToCssColor = function(red, green, blue) { var rgbNumber = new Number((red << 16) | (green << 8) | blue); var hexString = rgbNumber.toString(16); var missingZeros = 6 - hexString.length; var resultBuilder = ['#']; for (var i = 0; i < missingZeros; i++) { resultBuilder.push('0'); } resultBuilder.push(hexString); return resultBuilder.join(''); }; // ... # If set, the button is filled with a solid background. + "alpha": 3.14, # The fraction of this color that should be applied to the pixel. That is, the final pixel color is defined by the equation: `pixel color = alpha * (this color) + (1.0 - alpha) * (background color)` This means that a value of 1.0 corresponds to a solid color, whereas a value of 0.0 corresponds to a completely transparent color. This uses a wrapper message rather than a simple float scalar so that it is possible to distinguish between a default value and the value being unset. If omitted, this color object is rendered as a solid color (as if the alpha value had been explicitly given a value of 1.0). + "blue": 3.14, # The amount of blue in the color as a value in the interval [0, 1]. + "green": 3.14, # The amount of green in the color as a value in the interval [0, 1]. + "red": 3.14, # The amount of red in the color as a value in the interval [0, 1]. + }, + "disabled": True or False, # If `true`, the button is displayed in a disabled state and doesn't respond to user actions. + "icon": { # The icon image. + "altText": "A String", # The description of the icon, used for accessibility. The default value is provided if you don't specify one. + "iconUrl": "A String", # The icon specified by a URL. + "imageType": "A String", # The crop style applied to the image. In some cases, applying a `CIRCLE` crop causes the image to be drawn larger than a standard icon. + "knownIcon": "A String", # The icon specified by the string name of a list of known icons. + }, + "onClick": { # Represents the response to an `onClick` event. # The action to perform when the button is clicked. + "action": { # An action that describes the behavior when the form is submitted. For example, an Apps Script can be invoked to handle the form. # If specified, an action is triggered by this `onClick`. + "function": "A String", # Apps Script function to invoke when the containing element is clicked/activated. + "loadIndicator": "A String", # Specifies the loading indicator that the action displays while making the call to the action. + "parameters": [ # List of action parameters. + { # List of string parameters to supply when the action method is invoked. For example, consider three snooze buttons: snooze now, snooze 1 day, snooze next week. You might use action method = snooze(), passing the snooze type and snooze time in the list of string parameters. + "key": "A String", # The name of the parameter for the action script. + "value": "A String", # The value of the parameter. + }, + ], + "persistValues": True or False, # Indicates whether form values persist after the action. The default value is `false`. If `true`, form values remain after the action is triggered. When using [LoadIndicator.NONE](workspace/add-ons/reference/rpc/google.apps.card.v1#loadindicator) for actions, `persist_values` = `true`is recommended, as it ensures that any changes made by the user after form or on change actions are sent to the server are not overwritten by the response. If `false`, the form values are cleared when the action is triggered. When `persist_values` is set to `false`, it is strongly recommended that the card use [LoadIndicator.SPINNER](workspace/add-ons/reference/rpc/google.apps.card.v1#loadindicator) for all actions, as this locks the UI to ensure no changes are made by the user while the action is being processed. Not supported by Google Chat apps. + }, + "card": # Object with schema name: GoogleAppsCardV1Card # A new card is pushed to the card stack after clicking if specified. + "openDynamicLinkAction": { # An action that describes the behavior when the form is submitted. For example, an Apps Script can be invoked to handle the form. # An add-on triggers this action when the action needs to open a link. This differs from the `open_link` above in that this needs to talk to server to get the link. Thus some preparation work is required for web client to do before the open link action response comes back. + "function": "A String", # Apps Script function to invoke when the containing element is clicked/activated. + "loadIndicator": "A String", # Specifies the loading indicator that the action displays while making the call to the action. + "parameters": [ # List of action parameters. + { # List of string parameters to supply when the action method is invoked. For example, consider three snooze buttons: snooze now, snooze 1 day, snooze next week. You might use action method = snooze(), passing the snooze type and snooze time in the list of string parameters. + "key": "A String", # The name of the parameter for the action script. + "value": "A String", # The value of the parameter. + }, + ], + "persistValues": True or False, # Indicates whether form values persist after the action. The default value is `false`. If `true`, form values remain after the action is triggered. When using [LoadIndicator.NONE](workspace/add-ons/reference/rpc/google.apps.card.v1#loadindicator) for actions, `persist_values` = `true`is recommended, as it ensures that any changes made by the user after form or on change actions are sent to the server are not overwritten by the response. If `false`, the form values are cleared when the action is triggered. When `persist_values` is set to `false`, it is strongly recommended that the card use [LoadIndicator.SPINNER](workspace/add-ons/reference/rpc/google.apps.card.v1#loadindicator) for all actions, as this locks the UI to ensure no changes are made by the user while the action is being processed. Not supported by Google Chat apps. + }, + "openLink": { # Represents an `onClick` event that opens a hyperlink. # If specified, this `onClick` triggers an open link action. + "onClose": "A String", # Whether the client forgets about a link after opening it, or observes it until the window closes. Not supported by Chat apps. + "openAs": "A String", # How to open a link. Not supported by Chat apps. + "url": "A String", # The URL to open. + }, + }, + "text": "A String", # The text of the button. + }, + ], + }, + "dateTimePicker": { # The widget that lets users to specify a date and time. Not supported by Google Chat apps. # Displays a selection/input widget for date/time. For example, the following JSON creates a date/time picker for an appointment time: ``` "date_time_picker": { "name": "appointment_time", "label": "Book your appointment at:", "type": "DateTimePickerType.DATE_AND_TIME", "valueMsEpoch": "796435200000" } ``` + "label": "A String", # The label for the field that displays to the user. + "name": "A String", # The name of the text input that's used in `formInput`, and uniquely identifies this input. + "onChangeAction": { # An action that describes the behavior when the form is submitted. For example, an Apps Script can be invoked to handle the form. # Triggered when the user clicks Save or Clear from the date/time picker dialog. This is only triggered if the value changed as a result of the Save/Clear operation. + "function": "A String", # Apps Script function to invoke when the containing element is clicked/activated. + "loadIndicator": "A String", # Specifies the loading indicator that the action displays while making the call to the action. + "parameters": [ # List of action parameters. + { # List of string parameters to supply when the action method is invoked. For example, consider three snooze buttons: snooze now, snooze 1 day, snooze next week. You might use action method = snooze(), passing the snooze type and snooze time in the list of string parameters. + "key": "A String", # The name of the parameter for the action script. + "value": "A String", # The value of the parameter. + }, + ], + "persistValues": True or False, # Indicates whether form values persist after the action. The default value is `false`. If `true`, form values remain after the action is triggered. When using [LoadIndicator.NONE](workspace/add-ons/reference/rpc/google.apps.card.v1#loadindicator) for actions, `persist_values` = `true`is recommended, as it ensures that any changes made by the user after form or on change actions are sent to the server are not overwritten by the response. If `false`, the form values are cleared when the action is triggered. When `persist_values` is set to `false`, it is strongly recommended that the card use [LoadIndicator.SPINNER](workspace/add-ons/reference/rpc/google.apps.card.v1#loadindicator) for all actions, as this locks the UI to ensure no changes are made by the user while the action is being processed. Not supported by Google Chat apps. + }, + "timezoneOffsetDate": 42, # The number representing the time zone offset from UTC, in minutes. If set, the `value_ms_epoch` is displayed in the specified time zone. If not set, it uses the user's time zone setting on the client side. + "type": "A String", # The type of the date/time picker. + "valueMsEpoch": "A String", # The value to display as the default value before user input or previous user input. It is represented in milliseconds (Epoch time). For `DATE_AND_TIME` type, the full epoch value is used. For `DATE_ONLY` type, only date of the epoch time is used. For `TIME_ONLY` type, only time of the epoch time is used. For example, you can set epoch time to `3 * 60 * 60 * 1000` to represent 3am. + }, + "decoratedText": { # A widget that displays text with optional decorations such as a label above or below the text, an icon in front of the text, a selection widget or a button after the text. # Displays a decorated text item in this widget. For example, the following JSON creates a decorated text widget showing email address: ``` "decoratedText": { "icon": { "knownIcon": "EMAIL" }, "topLabel": "Email Address", "content": "sasha@example.com", "bottomLabel": "This is a new Email address!", "switchWidget": { "name": "has_send_welcome_email_to_sasha", "selected": false, "controlType": "ControlType.CHECKBOX" } } ``` + "bottomLabel": "A String", # The formatted text label that shows below the main text. + "button": { # A button. Can be a text button or an image button. # A button that can be clicked to trigger an action. + "altText": "A String", # The alternative text used for accessibility. Has no effect when an icon is set; use `icon.alt_text` instead. + "color": { # Represents a color in the RGBA color space. This representation is designed for simplicity of conversion to/from color representations in various languages over compactness. For example, the fields of this representation can be trivially provided to the constructor of `java.awt.Color` in Java; it can also be trivially provided to UIColor's `+colorWithRed:green:blue:alpha` method in iOS; and, with just a little work, it can be easily formatted into a CSS `rgba()` string in JavaScript. This reference page doesn't carry information about the absolute color space that should be used to interpret the RGB value (e.g. sRGB, Adobe RGB, DCI-P3, BT.2020, etc.). By default, applications should assume the sRGB color space. When color equality needs to be decided, implementations, unless documented otherwise, treat two colors as equal if all their red, green, blue, and alpha values each differ by at most 1e-5. Example (Java): import com.google.type.Color; // ... public static java.awt.Color fromProto(Color protocolor) { float alpha = protocolor.hasAlpha() ? protocolor.getAlpha().getValue() : 1.0; return new java.awt.Color( protocolor.getRed(), protocolor.getGreen(), protocolor.getBlue(), alpha); } public static Color toProto(java.awt.Color color) { float red = (float) color.getRed(); float green = (float) color.getGreen(); float blue = (float) color.getBlue(); float denominator = 255.0; Color.Builder resultBuilder = Color .newBuilder() .setRed(red / denominator) .setGreen(green / denominator) .setBlue(blue / denominator); int alpha = color.getAlpha(); if (alpha != 255) { result.setAlpha( FloatValue .newBuilder() .setValue(((float) alpha) / denominator) .build()); } return resultBuilder.build(); } // ... Example (iOS / Obj-C): // ... static UIColor* fromProto(Color* protocolor) { float red = [protocolor red]; float green = [protocolor green]; float blue = [protocolor blue]; FloatValue* alpha_wrapper = [protocolor alpha]; float alpha = 1.0; if (alpha_wrapper != nil) { alpha = [alpha_wrapper value]; } return [UIColor colorWithRed:red green:green blue:blue alpha:alpha]; } static Color* toProto(UIColor* color) { CGFloat red, green, blue, alpha; if (![color getRed:&red green:&green blue:&blue alpha:&alpha]) { return nil; } Color* result = [[Color alloc] init]; [result setRed:red]; [result setGreen:green]; [result setBlue:blue]; if (alpha <= 0.9999) { [result setAlpha:floatWrapperWithValue(alpha)]; } [result autorelease]; return result; } // ... Example (JavaScript): // ... var protoToCssColor = function(rgb_color) { var redFrac = rgb_color.red || 0.0; var greenFrac = rgb_color.green || 0.0; var blueFrac = rgb_color.blue || 0.0; var red = Math.floor(redFrac * 255); var green = Math.floor(greenFrac * 255); var blue = Math.floor(blueFrac * 255); if (!('alpha' in rgb_color)) { return rgbToCssColor(red, green, blue); } var alphaFrac = rgb_color.alpha.value || 0.0; var rgbParams = [red, green, blue].join(','); return ['rgba(', rgbParams, ',', alphaFrac, ')'].join(''); }; var rgbToCssColor = function(red, green, blue) { var rgbNumber = new Number((red << 16) | (green << 8) | blue); var hexString = rgbNumber.toString(16); var missingZeros = 6 - hexString.length; var resultBuilder = ['#']; for (var i = 0; i < missingZeros; i++) { resultBuilder.push('0'); } resultBuilder.push(hexString); return resultBuilder.join(''); }; // ... # If set, the button is filled with a solid background. + "alpha": 3.14, # The fraction of this color that should be applied to the pixel. That is, the final pixel color is defined by the equation: `pixel color = alpha * (this color) + (1.0 - alpha) * (background color)` This means that a value of 1.0 corresponds to a solid color, whereas a value of 0.0 corresponds to a completely transparent color. This uses a wrapper message rather than a simple float scalar so that it is possible to distinguish between a default value and the value being unset. If omitted, this color object is rendered as a solid color (as if the alpha value had been explicitly given a value of 1.0). + "blue": 3.14, # The amount of blue in the color as a value in the interval [0, 1]. + "green": 3.14, # The amount of green in the color as a value in the interval [0, 1]. + "red": 3.14, # The amount of red in the color as a value in the interval [0, 1]. + }, + "disabled": True or False, # If `true`, the button is displayed in a disabled state and doesn't respond to user actions. + "icon": { # The icon image. + "altText": "A String", # The description of the icon, used for accessibility. The default value is provided if you don't specify one. + "iconUrl": "A String", # The icon specified by a URL. + "imageType": "A String", # The crop style applied to the image. In some cases, applying a `CIRCLE` crop causes the image to be drawn larger than a standard icon. + "knownIcon": "A String", # The icon specified by the string name of a list of known icons. + }, + "onClick": { # Represents the response to an `onClick` event. # The action to perform when the button is clicked. + "action": { # An action that describes the behavior when the form is submitted. For example, an Apps Script can be invoked to handle the form. # If specified, an action is triggered by this `onClick`. + "function": "A String", # Apps Script function to invoke when the containing element is clicked/activated. + "loadIndicator": "A String", # Specifies the loading indicator that the action displays while making the call to the action. + "parameters": [ # List of action parameters. + { # List of string parameters to supply when the action method is invoked. For example, consider three snooze buttons: snooze now, snooze 1 day, snooze next week. You might use action method = snooze(), passing the snooze type and snooze time in the list of string parameters. + "key": "A String", # The name of the parameter for the action script. + "value": "A String", # The value of the parameter. + }, + ], + "persistValues": True or False, # Indicates whether form values persist after the action. The default value is `false`. If `true`, form values remain after the action is triggered. When using [LoadIndicator.NONE](workspace/add-ons/reference/rpc/google.apps.card.v1#loadindicator) for actions, `persist_values` = `true`is recommended, as it ensures that any changes made by the user after form or on change actions are sent to the server are not overwritten by the response. If `false`, the form values are cleared when the action is triggered. When `persist_values` is set to `false`, it is strongly recommended that the card use [LoadIndicator.SPINNER](workspace/add-ons/reference/rpc/google.apps.card.v1#loadindicator) for all actions, as this locks the UI to ensure no changes are made by the user while the action is being processed. Not supported by Google Chat apps. + }, + "card": # Object with schema name: GoogleAppsCardV1Card # A new card is pushed to the card stack after clicking if specified. + "openDynamicLinkAction": { # An action that describes the behavior when the form is submitted. For example, an Apps Script can be invoked to handle the form. # An add-on triggers this action when the action needs to open a link. This differs from the `open_link` above in that this needs to talk to server to get the link. Thus some preparation work is required for web client to do before the open link action response comes back. + "function": "A String", # Apps Script function to invoke when the containing element is clicked/activated. + "loadIndicator": "A String", # Specifies the loading indicator that the action displays while making the call to the action. + "parameters": [ # List of action parameters. + { # List of string parameters to supply when the action method is invoked. For example, consider three snooze buttons: snooze now, snooze 1 day, snooze next week. You might use action method = snooze(), passing the snooze type and snooze time in the list of string parameters. + "key": "A String", # The name of the parameter for the action script. + "value": "A String", # The value of the parameter. + }, + ], + "persistValues": True or False, # Indicates whether form values persist after the action. The default value is `false`. If `true`, form values remain after the action is triggered. When using [LoadIndicator.NONE](workspace/add-ons/reference/rpc/google.apps.card.v1#loadindicator) for actions, `persist_values` = `true`is recommended, as it ensures that any changes made by the user after form or on change actions are sent to the server are not overwritten by the response. If `false`, the form values are cleared when the action is triggered. When `persist_values` is set to `false`, it is strongly recommended that the card use [LoadIndicator.SPINNER](workspace/add-ons/reference/rpc/google.apps.card.v1#loadindicator) for all actions, as this locks the UI to ensure no changes are made by the user while the action is being processed. Not supported by Google Chat apps. + }, + "openLink": { # Represents an `onClick` event that opens a hyperlink. # If specified, this `onClick` triggers an open link action. + "onClose": "A String", # Whether the client forgets about a link after opening it, or observes it until the window closes. Not supported by Chat apps. + "openAs": "A String", # How to open a link. Not supported by Chat apps. + "url": "A String", # The URL to open. + }, + }, + "text": "A String", # The text of the button. + }, + "endIcon": { # An icon displayed after the text. + "altText": "A String", # The description of the icon, used for accessibility. The default value is provided if you don't specify one. + "iconUrl": "A String", # The icon specified by a URL. + "imageType": "A String", # The crop style applied to the image. In some cases, applying a `CIRCLE` crop causes the image to be drawn larger than a standard icon. + "knownIcon": "A String", # The icon specified by the string name of a list of known icons. + }, + "icon": { # Deprecated in favor of start_icon. + "altText": "A String", # The description of the icon, used for accessibility. The default value is provided if you don't specify one. + "iconUrl": "A String", # The icon specified by a URL. + "imageType": "A String", # The crop style applied to the image. In some cases, applying a `CIRCLE` crop causes the image to be drawn larger than a standard icon. + "knownIcon": "A String", # The icon specified by the string name of a list of known icons. + }, + "onClick": { # Represents the response to an `onClick` event. # Only the top and bottom label and content region are clickable. + "action": { # An action that describes the behavior when the form is submitted. For example, an Apps Script can be invoked to handle the form. # If specified, an action is triggered by this `onClick`. + "function": "A String", # Apps Script function to invoke when the containing element is clicked/activated. + "loadIndicator": "A String", # Specifies the loading indicator that the action displays while making the call to the action. + "parameters": [ # List of action parameters. + { # List of string parameters to supply when the action method is invoked. For example, consider three snooze buttons: snooze now, snooze 1 day, snooze next week. You might use action method = snooze(), passing the snooze type and snooze time in the list of string parameters. + "key": "A String", # The name of the parameter for the action script. + "value": "A String", # The value of the parameter. + }, + ], + "persistValues": True or False, # Indicates whether form values persist after the action. The default value is `false`. If `true`, form values remain after the action is triggered. When using [LoadIndicator.NONE](workspace/add-ons/reference/rpc/google.apps.card.v1#loadindicator) for actions, `persist_values` = `true`is recommended, as it ensures that any changes made by the user after form or on change actions are sent to the server are not overwritten by the response. If `false`, the form values are cleared when the action is triggered. When `persist_values` is set to `false`, it is strongly recommended that the card use [LoadIndicator.SPINNER](workspace/add-ons/reference/rpc/google.apps.card.v1#loadindicator) for all actions, as this locks the UI to ensure no changes are made by the user while the action is being processed. Not supported by Google Chat apps. + }, + "card": # Object with schema name: GoogleAppsCardV1Card # A new card is pushed to the card stack after clicking if specified. + "openDynamicLinkAction": { # An action that describes the behavior when the form is submitted. For example, an Apps Script can be invoked to handle the form. # An add-on triggers this action when the action needs to open a link. This differs from the `open_link` above in that this needs to talk to server to get the link. Thus some preparation work is required for web client to do before the open link action response comes back. + "function": "A String", # Apps Script function to invoke when the containing element is clicked/activated. + "loadIndicator": "A String", # Specifies the loading indicator that the action displays while making the call to the action. + "parameters": [ # List of action parameters. + { # List of string parameters to supply when the action method is invoked. For example, consider three snooze buttons: snooze now, snooze 1 day, snooze next week. You might use action method = snooze(), passing the snooze type and snooze time in the list of string parameters. + "key": "A String", # The name of the parameter for the action script. + "value": "A String", # The value of the parameter. + }, + ], + "persistValues": True or False, # Indicates whether form values persist after the action. The default value is `false`. If `true`, form values remain after the action is triggered. When using [LoadIndicator.NONE](workspace/add-ons/reference/rpc/google.apps.card.v1#loadindicator) for actions, `persist_values` = `true`is recommended, as it ensures that any changes made by the user after form or on change actions are sent to the server are not overwritten by the response. If `false`, the form values are cleared when the action is triggered. When `persist_values` is set to `false`, it is strongly recommended that the card use [LoadIndicator.SPINNER](workspace/add-ons/reference/rpc/google.apps.card.v1#loadindicator) for all actions, as this locks the UI to ensure no changes are made by the user while the action is being processed. Not supported by Google Chat apps. + }, + "openLink": { # Represents an `onClick` event that opens a hyperlink. # If specified, this `onClick` triggers an open link action. + "onClose": "A String", # Whether the client forgets about a link after opening it, or observes it until the window closes. Not supported by Chat apps. + "openAs": "A String", # How to open a link. Not supported by Chat apps. + "url": "A String", # The URL to open. + }, + }, + "startIcon": { # The icon displayed in front of the text. + "altText": "A String", # The description of the icon, used for accessibility. The default value is provided if you don't specify one. + "iconUrl": "A String", # The icon specified by a URL. + "imageType": "A String", # The crop style applied to the image. In some cases, applying a `CIRCLE` crop causes the image to be drawn larger than a standard icon. + "knownIcon": "A String", # The icon specified by the string name of a list of known icons. + }, + "switchControl": { # Either a toggle-style switch or a checkbox. # A switch widget can be clicked to change its state or trigger an action. + "controlType": "A String", # The control type, either switch or checkbox. + "name": "A String", # The name of the switch widget that's used in `formInput`. + "onChangeAction": { # An action that describes the behavior when the form is submitted. For example, an Apps Script can be invoked to handle the form. # The action when the switch state is changed. + "function": "A String", # Apps Script function to invoke when the containing element is clicked/activated. + "loadIndicator": "A String", # Specifies the loading indicator that the action displays while making the call to the action. + "parameters": [ # List of action parameters. + { # List of string parameters to supply when the action method is invoked. For example, consider three snooze buttons: snooze now, snooze 1 day, snooze next week. You might use action method = snooze(), passing the snooze type and snooze time in the list of string parameters. + "key": "A String", # The name of the parameter for the action script. + "value": "A String", # The value of the parameter. + }, + ], + "persistValues": True or False, # Indicates whether form values persist after the action. The default value is `false`. If `true`, form values remain after the action is triggered. When using [LoadIndicator.NONE](workspace/add-ons/reference/rpc/google.apps.card.v1#loadindicator) for actions, `persist_values` = `true`is recommended, as it ensures that any changes made by the user after form or on change actions are sent to the server are not overwritten by the response. If `false`, the form values are cleared when the action is triggered. When `persist_values` is set to `false`, it is strongly recommended that the card use [LoadIndicator.SPINNER](workspace/add-ons/reference/rpc/google.apps.card.v1#loadindicator) for all actions, as this locks the UI to ensure no changes are made by the user while the action is being processed. Not supported by Google Chat apps. + }, + "selected": True or False, # If the switch is selected. + "value": "A String", # The value is what is passed back in the callback. + }, + "text": "A String", # Required. The main widget formatted text. See Text formatting for details. + "topLabel": "A String", # The formatted text label that shows above the main text. + "wrapText": True or False, # The wrap text setting. If `true`, the text is wrapped and displayed in multiline. Otherwise, the text is truncated. + }, + "divider": { # A divider that appears in between widgets. # Displays a divider. For example, the following JSON creates a divider: ``` "divider": { } ``` + }, + "grid": { # Represents a Grid widget that displays items in a configurable grid layout. # Displays a grid with a collection of items. For example, the following JSON creates a 2 column grid with a single item: ``` "grid": { "title": "A fine collection of items", "numColumns": 2, "borderStyle": { "type": "STROKE", "cornerRadius": 4.0 }, "items": [ "image": { "imageUri": "https://www.example.com/image.png", "cropStyle": { "type": "SQUARE" }, "borderStyle": { "type": "STROKE" } }, "title": "An item", "textAlignment": "CENTER" ], "onClick": { "openLink": { "url":"https://www.example.com" } } } ``` + "borderStyle": { # Represents the complete border style applied to widgets. # The border style to apply to each grid item. + "cornerRadius": 42, # The corner radius for the border. + "strokeColor": { # Represents a color in the RGBA color space. This representation is designed for simplicity of conversion to/from color representations in various languages over compactness. For example, the fields of this representation can be trivially provided to the constructor of `java.awt.Color` in Java; it can also be trivially provided to UIColor's `+colorWithRed:green:blue:alpha` method in iOS; and, with just a little work, it can be easily formatted into a CSS `rgba()` string in JavaScript. This reference page doesn't carry information about the absolute color space that should be used to interpret the RGB value (e.g. sRGB, Adobe RGB, DCI-P3, BT.2020, etc.). By default, applications should assume the sRGB color space. When color equality needs to be decided, implementations, unless documented otherwise, treat two colors as equal if all their red, green, blue, and alpha values each differ by at most 1e-5. Example (Java): import com.google.type.Color; // ... public static java.awt.Color fromProto(Color protocolor) { float alpha = protocolor.hasAlpha() ? protocolor.getAlpha().getValue() : 1.0; return new java.awt.Color( protocolor.getRed(), protocolor.getGreen(), protocolor.getBlue(), alpha); } public static Color toProto(java.awt.Color color) { float red = (float) color.getRed(); float green = (float) color.getGreen(); float blue = (float) color.getBlue(); float denominator = 255.0; Color.Builder resultBuilder = Color .newBuilder() .setRed(red / denominator) .setGreen(green / denominator) .setBlue(blue / denominator); int alpha = color.getAlpha(); if (alpha != 255) { result.setAlpha( FloatValue .newBuilder() .setValue(((float) alpha) / denominator) .build()); } return resultBuilder.build(); } // ... Example (iOS / Obj-C): // ... static UIColor* fromProto(Color* protocolor) { float red = [protocolor red]; float green = [protocolor green]; float blue = [protocolor blue]; FloatValue* alpha_wrapper = [protocolor alpha]; float alpha = 1.0; if (alpha_wrapper != nil) { alpha = [alpha_wrapper value]; } return [UIColor colorWithRed:red green:green blue:blue alpha:alpha]; } static Color* toProto(UIColor* color) { CGFloat red, green, blue, alpha; if (![color getRed:&red green:&green blue:&blue alpha:&alpha]) { return nil; } Color* result = [[Color alloc] init]; [result setRed:red]; [result setGreen:green]; [result setBlue:blue]; if (alpha <= 0.9999) { [result setAlpha:floatWrapperWithValue(alpha)]; } [result autorelease]; return result; } // ... Example (JavaScript): // ... var protoToCssColor = function(rgb_color) { var redFrac = rgb_color.red || 0.0; var greenFrac = rgb_color.green || 0.0; var blueFrac = rgb_color.blue || 0.0; var red = Math.floor(redFrac * 255); var green = Math.floor(greenFrac * 255); var blue = Math.floor(blueFrac * 255); if (!('alpha' in rgb_color)) { return rgbToCssColor(red, green, blue); } var alphaFrac = rgb_color.alpha.value || 0.0; var rgbParams = [red, green, blue].join(','); return ['rgba(', rgbParams, ',', alphaFrac, ')'].join(''); }; var rgbToCssColor = function(red, green, blue) { var rgbNumber = new Number((red << 16) | (green << 8) | blue); var hexString = rgbNumber.toString(16); var missingZeros = 6 - hexString.length; var resultBuilder = ['#']; for (var i = 0; i < missingZeros; i++) { resultBuilder.push('0'); } resultBuilder.push(hexString); return resultBuilder.join(''); }; // ... # The colors to use when the type is `BORDER_TYPE_STROKE`. + "alpha": 3.14, # The fraction of this color that should be applied to the pixel. That is, the final pixel color is defined by the equation: `pixel color = alpha * (this color) + (1.0 - alpha) * (background color)` This means that a value of 1.0 corresponds to a solid color, whereas a value of 0.0 corresponds to a completely transparent color. This uses a wrapper message rather than a simple float scalar so that it is possible to distinguish between a default value and the value being unset. If omitted, this color object is rendered as a solid color (as if the alpha value had been explicitly given a value of 1.0). + "blue": 3.14, # The amount of blue in the color as a value in the interval [0, 1]. + "green": 3.14, # The amount of green in the color as a value in the interval [0, 1]. + "red": 3.14, # The amount of red in the color as a value in the interval [0, 1]. + }, + "type": "A String", # The border type. + }, + "columnCount": 42, # The number of columns to display in the grid. A default value is used if this field isn't specified, and that default value is different depending on where the grid is shown (dialog versus companion). + "items": [ # The items to display in the grid. + { # Represents a single item in the grid layout. + "id": "A String", # A user-specified identifier for this grid item. This identifier is returned in the parent Grid's onClick callback parameters. + "image": { # Represents an image. # The image that displays in the grid item. + "altText": "A String", # The accessibility label for the image. + "borderStyle": { # Represents the complete border style applied to widgets. # The border style to apply to the image. + "cornerRadius": 42, # The corner radius for the border. + "strokeColor": { # Represents a color in the RGBA color space. This representation is designed for simplicity of conversion to/from color representations in various languages over compactness. For example, the fields of this representation can be trivially provided to the constructor of `java.awt.Color` in Java; it can also be trivially provided to UIColor's `+colorWithRed:green:blue:alpha` method in iOS; and, with just a little work, it can be easily formatted into a CSS `rgba()` string in JavaScript. This reference page doesn't carry information about the absolute color space that should be used to interpret the RGB value (e.g. sRGB, Adobe RGB, DCI-P3, BT.2020, etc.). By default, applications should assume the sRGB color space. When color equality needs to be decided, implementations, unless documented otherwise, treat two colors as equal if all their red, green, blue, and alpha values each differ by at most 1e-5. Example (Java): import com.google.type.Color; // ... public static java.awt.Color fromProto(Color protocolor) { float alpha = protocolor.hasAlpha() ? protocolor.getAlpha().getValue() : 1.0; return new java.awt.Color( protocolor.getRed(), protocolor.getGreen(), protocolor.getBlue(), alpha); } public static Color toProto(java.awt.Color color) { float red = (float) color.getRed(); float green = (float) color.getGreen(); float blue = (float) color.getBlue(); float denominator = 255.0; Color.Builder resultBuilder = Color .newBuilder() .setRed(red / denominator) .setGreen(green / denominator) .setBlue(blue / denominator); int alpha = color.getAlpha(); if (alpha != 255) { result.setAlpha( FloatValue .newBuilder() .setValue(((float) alpha) / denominator) .build()); } return resultBuilder.build(); } // ... Example (iOS / Obj-C): // ... static UIColor* fromProto(Color* protocolor) { float red = [protocolor red]; float green = [protocolor green]; float blue = [protocolor blue]; FloatValue* alpha_wrapper = [protocolor alpha]; float alpha = 1.0; if (alpha_wrapper != nil) { alpha = [alpha_wrapper value]; } return [UIColor colorWithRed:red green:green blue:blue alpha:alpha]; } static Color* toProto(UIColor* color) { CGFloat red, green, blue, alpha; if (![color getRed:&red green:&green blue:&blue alpha:&alpha]) { return nil; } Color* result = [[Color alloc] init]; [result setRed:red]; [result setGreen:green]; [result setBlue:blue]; if (alpha <= 0.9999) { [result setAlpha:floatWrapperWithValue(alpha)]; } [result autorelease]; return result; } // ... Example (JavaScript): // ... var protoToCssColor = function(rgb_color) { var redFrac = rgb_color.red || 0.0; var greenFrac = rgb_color.green || 0.0; var blueFrac = rgb_color.blue || 0.0; var red = Math.floor(redFrac * 255); var green = Math.floor(greenFrac * 255); var blue = Math.floor(blueFrac * 255); if (!('alpha' in rgb_color)) { return rgbToCssColor(red, green, blue); } var alphaFrac = rgb_color.alpha.value || 0.0; var rgbParams = [red, green, blue].join(','); return ['rgba(', rgbParams, ',', alphaFrac, ')'].join(''); }; var rgbToCssColor = function(red, green, blue) { var rgbNumber = new Number((red << 16) | (green << 8) | blue); var hexString = rgbNumber.toString(16); var missingZeros = 6 - hexString.length; var resultBuilder = ['#']; for (var i = 0; i < missingZeros; i++) { resultBuilder.push('0'); } resultBuilder.push(hexString); return resultBuilder.join(''); }; // ... # The colors to use when the type is `BORDER_TYPE_STROKE`. + "alpha": 3.14, # The fraction of this color that should be applied to the pixel. That is, the final pixel color is defined by the equation: `pixel color = alpha * (this color) + (1.0 - alpha) * (background color)` This means that a value of 1.0 corresponds to a solid color, whereas a value of 0.0 corresponds to a completely transparent color. This uses a wrapper message rather than a simple float scalar so that it is possible to distinguish between a default value and the value being unset. If omitted, this color object is rendered as a solid color (as if the alpha value had been explicitly given a value of 1.0). + "blue": 3.14, # The amount of blue in the color as a value in the interval [0, 1]. + "green": 3.14, # The amount of green in the color as a value in the interval [0, 1]. + "red": 3.14, # The amount of red in the color as a value in the interval [0, 1]. + }, + "type": "A String", # The border type. + }, + "cropStyle": { # Represents the crop style applied to an image. # The crop style to apply to the image. + "aspectRatio": 3.14, # The aspect ratio to use if the crop type is `RECTANGLE_CUSTOM`. + "type": "A String", # The crop type. + }, + "imageUri": "A String", # The image URL. + }, + "layout": "A String", # The layout to use for the grid item. + "subtitle": "A String", # The grid item's subtitle. + "textAlignment": "A String", # The horizontal alignment of the grid item's text. + "title": "A String", # The grid item's title. + }, + ], + "onClick": { # Represents the response to an `onClick` event. # This callback is reused by each individual grid item, but with the item's identifier and index in the items list added to the callback's parameters. + "action": { # An action that describes the behavior when the form is submitted. For example, an Apps Script can be invoked to handle the form. # If specified, an action is triggered by this `onClick`. + "function": "A String", # Apps Script function to invoke when the containing element is clicked/activated. + "loadIndicator": "A String", # Specifies the loading indicator that the action displays while making the call to the action. + "parameters": [ # List of action parameters. + { # List of string parameters to supply when the action method is invoked. For example, consider three snooze buttons: snooze now, snooze 1 day, snooze next week. You might use action method = snooze(), passing the snooze type and snooze time in the list of string parameters. + "key": "A String", # The name of the parameter for the action script. + "value": "A String", # The value of the parameter. + }, + ], + "persistValues": True or False, # Indicates whether form values persist after the action. The default value is `false`. If `true`, form values remain after the action is triggered. When using [LoadIndicator.NONE](workspace/add-ons/reference/rpc/google.apps.card.v1#loadindicator) for actions, `persist_values` = `true`is recommended, as it ensures that any changes made by the user after form or on change actions are sent to the server are not overwritten by the response. If `false`, the form values are cleared when the action is triggered. When `persist_values` is set to `false`, it is strongly recommended that the card use [LoadIndicator.SPINNER](workspace/add-ons/reference/rpc/google.apps.card.v1#loadindicator) for all actions, as this locks the UI to ensure no changes are made by the user while the action is being processed. Not supported by Google Chat apps. + }, + "card": # Object with schema name: GoogleAppsCardV1Card # A new card is pushed to the card stack after clicking if specified. + "openDynamicLinkAction": { # An action that describes the behavior when the form is submitted. For example, an Apps Script can be invoked to handle the form. # An add-on triggers this action when the action needs to open a link. This differs from the `open_link` above in that this needs to talk to server to get the link. Thus some preparation work is required for web client to do before the open link action response comes back. + "function": "A String", # Apps Script function to invoke when the containing element is clicked/activated. + "loadIndicator": "A String", # Specifies the loading indicator that the action displays while making the call to the action. + "parameters": [ # List of action parameters. + { # List of string parameters to supply when the action method is invoked. For example, consider three snooze buttons: snooze now, snooze 1 day, snooze next week. You might use action method = snooze(), passing the snooze type and snooze time in the list of string parameters. + "key": "A String", # The name of the parameter for the action script. + "value": "A String", # The value of the parameter. + }, + ], + "persistValues": True or False, # Indicates whether form values persist after the action. The default value is `false`. If `true`, form values remain after the action is triggered. When using [LoadIndicator.NONE](workspace/add-ons/reference/rpc/google.apps.card.v1#loadindicator) for actions, `persist_values` = `true`is recommended, as it ensures that any changes made by the user after form or on change actions are sent to the server are not overwritten by the response. If `false`, the form values are cleared when the action is triggered. When `persist_values` is set to `false`, it is strongly recommended that the card use [LoadIndicator.SPINNER](workspace/add-ons/reference/rpc/google.apps.card.v1#loadindicator) for all actions, as this locks the UI to ensure no changes are made by the user while the action is being processed. Not supported by Google Chat apps. + }, + "openLink": { # Represents an `onClick` event that opens a hyperlink. # If specified, this `onClick` triggers an open link action. + "onClose": "A String", # Whether the client forgets about a link after opening it, or observes it until the window closes. Not supported by Chat apps. + "openAs": "A String", # How to open a link. Not supported by Chat apps. + "url": "A String", # The URL to open. + }, + }, + "title": "A String", # The text that displays in the grid header. + }, + "horizontalAlignment": "A String", # The horizontal alignment of this widget. + "image": { # An image that is specified by a URL and can have an `onClick` action. # Displays an image in this widget. For example, the following JSON creates an image with alternative text: ``` "image": { "imageUrl": "https://example.com/sasha.png" "altText": "Avatar for Sasha" } ``` + "altText": "A String", # The alternative text of this image, used for accessibility. + "imageUrl": "A String", # An image URL. + "onClick": { # Represents the response to an `onClick` event. # The action triggered by an `onClick` event. + "action": { # An action that describes the behavior when the form is submitted. For example, an Apps Script can be invoked to handle the form. # If specified, an action is triggered by this `onClick`. + "function": "A String", # Apps Script function to invoke when the containing element is clicked/activated. + "loadIndicator": "A String", # Specifies the loading indicator that the action displays while making the call to the action. + "parameters": [ # List of action parameters. + { # List of string parameters to supply when the action method is invoked. For example, consider three snooze buttons: snooze now, snooze 1 day, snooze next week. You might use action method = snooze(), passing the snooze type and snooze time in the list of string parameters. + "key": "A String", # The name of the parameter for the action script. + "value": "A String", # The value of the parameter. + }, + ], + "persistValues": True or False, # Indicates whether form values persist after the action. The default value is `false`. If `true`, form values remain after the action is triggered. When using [LoadIndicator.NONE](workspace/add-ons/reference/rpc/google.apps.card.v1#loadindicator) for actions, `persist_values` = `true`is recommended, as it ensures that any changes made by the user after form or on change actions are sent to the server are not overwritten by the response. If `false`, the form values are cleared when the action is triggered. When `persist_values` is set to `false`, it is strongly recommended that the card use [LoadIndicator.SPINNER](workspace/add-ons/reference/rpc/google.apps.card.v1#loadindicator) for all actions, as this locks the UI to ensure no changes are made by the user while the action is being processed. Not supported by Google Chat apps. + }, + "card": # Object with schema name: GoogleAppsCardV1Card # A new card is pushed to the card stack after clicking if specified. + "openDynamicLinkAction": { # An action that describes the behavior when the form is submitted. For example, an Apps Script can be invoked to handle the form. # An add-on triggers this action when the action needs to open a link. This differs from the `open_link` above in that this needs to talk to server to get the link. Thus some preparation work is required for web client to do before the open link action response comes back. + "function": "A String", # Apps Script function to invoke when the containing element is clicked/activated. + "loadIndicator": "A String", # Specifies the loading indicator that the action displays while making the call to the action. + "parameters": [ # List of action parameters. + { # List of string parameters to supply when the action method is invoked. For example, consider three snooze buttons: snooze now, snooze 1 day, snooze next week. You might use action method = snooze(), passing the snooze type and snooze time in the list of string parameters. + "key": "A String", # The name of the parameter for the action script. + "value": "A String", # The value of the parameter. + }, + ], + "persistValues": True or False, # Indicates whether form values persist after the action. The default value is `false`. If `true`, form values remain after the action is triggered. When using [LoadIndicator.NONE](workspace/add-ons/reference/rpc/google.apps.card.v1#loadindicator) for actions, `persist_values` = `true`is recommended, as it ensures that any changes made by the user after form or on change actions are sent to the server are not overwritten by the response. If `false`, the form values are cleared when the action is triggered. When `persist_values` is set to `false`, it is strongly recommended that the card use [LoadIndicator.SPINNER](workspace/add-ons/reference/rpc/google.apps.card.v1#loadindicator) for all actions, as this locks the UI to ensure no changes are made by the user while the action is being processed. Not supported by Google Chat apps. + }, + "openLink": { # Represents an `onClick` event that opens a hyperlink. # If specified, this `onClick` triggers an open link action. + "onClose": "A String", # Whether the client forgets about a link after opening it, or observes it until the window closes. Not supported by Chat apps. + "openAs": "A String", # How to open a link. Not supported by Chat apps. + "url": "A String", # The URL to open. + }, + }, + }, + "selectionInput": { # A widget that creates a UI item with options for users to select. For example, a dropdown menu. # Displays a switch control in this widget. For example, the following JSON creates a dropdown selection for size: ``` "switchControl": { "name": "size", "label": "Size" "type": "SelectionType.DROPDOWN", "items": [ { "text": "S", "value": "small", "selected": false }, { "text": "M", "value": "medium", "selected": true }, { "text": "L", "value": "large", "selected": false }, { "text": "XL", "value": "extra_large", "selected": false } ] } ``` + "items": [ # An array of the selected items. + { # A selectable item in the switch control. + "selected": True or False, # If more than one item is selected for `RADIO_BUTTON` and `DROPDOWN`, the first selected item is treated as selected and the ones after are ignored. + "text": "A String", # The text to be displayed. + "value": "A String", # The value associated with this item. The client should use this as a form input value. + }, + ], + "label": "A String", # The label displayed ahead of the switch control. + "name": "A String", # The name of the text input which is used in `formInput`. + "onChangeAction": { # An action that describes the behavior when the form is submitted. For example, an Apps Script can be invoked to handle the form. # If specified, the form is submitted when the selection changes. If not specified, you must specify a separate button. + "function": "A String", # Apps Script function to invoke when the containing element is clicked/activated. + "loadIndicator": "A String", # Specifies the loading indicator that the action displays while making the call to the action. + "parameters": [ # List of action parameters. + { # List of string parameters to supply when the action method is invoked. For example, consider three snooze buttons: snooze now, snooze 1 day, snooze next week. You might use action method = snooze(), passing the snooze type and snooze time in the list of string parameters. + "key": "A String", # The name of the parameter for the action script. + "value": "A String", # The value of the parameter. + }, + ], + "persistValues": True or False, # Indicates whether form values persist after the action. The default value is `false`. If `true`, form values remain after the action is triggered. When using [LoadIndicator.NONE](workspace/add-ons/reference/rpc/google.apps.card.v1#loadindicator) for actions, `persist_values` = `true`is recommended, as it ensures that any changes made by the user after form or on change actions are sent to the server are not overwritten by the response. If `false`, the form values are cleared when the action is triggered. When `persist_values` is set to `false`, it is strongly recommended that the card use [LoadIndicator.SPINNER](workspace/add-ons/reference/rpc/google.apps.card.v1#loadindicator) for all actions, as this locks the UI to ensure no changes are made by the user while the action is being processed. Not supported by Google Chat apps. + }, + "type": "A String", # The type of the selection. + }, + "textInput": { # A text input is a UI item where users can input text. A text input can also have an onChange action and suggestions. # Displays a text input in this widget. For example, the following JSON creates a text input for mail address: ``` "textInput": { "name": "mailing_address", "label": "Mailing Address" } ``` As another example, the following JSON creates a text input for programming language with static suggestions: ``` "textInput": { "name": "preferred_programing_language", "label": "Preferred Language", "initialSuggestions": { "items": [ { "text": "C++" }, { "text": "Java" }, { "text": "JavaScript" }, { "text": "Python" } ] } } ``` + "autoCompleteAction": { # An action that describes the behavior when the form is submitted. For example, an Apps Script can be invoked to handle the form. # The refresh function that returns suggestions based on the user's input text. If the callback is not specified, autocomplete is done in client side based on the initial suggestion items. + "function": "A String", # Apps Script function to invoke when the containing element is clicked/activated. + "loadIndicator": "A String", # Specifies the loading indicator that the action displays while making the call to the action. + "parameters": [ # List of action parameters. + { # List of string parameters to supply when the action method is invoked. For example, consider three snooze buttons: snooze now, snooze 1 day, snooze next week. You might use action method = snooze(), passing the snooze type and snooze time in the list of string parameters. + "key": "A String", # The name of the parameter for the action script. + "value": "A String", # The value of the parameter. + }, + ], + "persistValues": True or False, # Indicates whether form values persist after the action. The default value is `false`. If `true`, form values remain after the action is triggered. When using [LoadIndicator.NONE](workspace/add-ons/reference/rpc/google.apps.card.v1#loadindicator) for actions, `persist_values` = `true`is recommended, as it ensures that any changes made by the user after form or on change actions are sent to the server are not overwritten by the response. If `false`, the form values are cleared when the action is triggered. When `persist_values` is set to `false`, it is strongly recommended that the card use [LoadIndicator.SPINNER](workspace/add-ons/reference/rpc/google.apps.card.v1#loadindicator) for all actions, as this locks the UI to ensure no changes are made by the user while the action is being processed. Not supported by Google Chat apps. + }, + "hintText": "A String", # The hint text. + "initialSuggestions": { # A container wrapping elements necessary for showing suggestion items used in text input autocomplete. # The initial suggestions made before any user input. + "items": [ # A list of suggestions used for autocomplete recommendations. + { # A suggestion item. + "text": "A String", # The suggested autocomplete result. + }, + ], + }, + "label": "A String", # At least one of label and hintText must be specified. + "name": "A String", # The name of the text input which is used in `formInput`. + "onChangeAction": { # An action that describes the behavior when the form is submitted. For example, an Apps Script can be invoked to handle the form. # The onChange action, for example, invoke a function. + "function": "A String", # Apps Script function to invoke when the containing element is clicked/activated. + "loadIndicator": "A String", # Specifies the loading indicator that the action displays while making the call to the action. + "parameters": [ # List of action parameters. + { # List of string parameters to supply when the action method is invoked. For example, consider three snooze buttons: snooze now, snooze 1 day, snooze next week. You might use action method = snooze(), passing the snooze type and snooze time in the list of string parameters. + "key": "A String", # The name of the parameter for the action script. + "value": "A String", # The value of the parameter. + }, + ], + "persistValues": True or False, # Indicates whether form values persist after the action. The default value is `false`. If `true`, form values remain after the action is triggered. When using [LoadIndicator.NONE](workspace/add-ons/reference/rpc/google.apps.card.v1#loadindicator) for actions, `persist_values` = `true`is recommended, as it ensures that any changes made by the user after form or on change actions are sent to the server are not overwritten by the response. If `false`, the form values are cleared when the action is triggered. When `persist_values` is set to `false`, it is strongly recommended that the card use [LoadIndicator.SPINNER](workspace/add-ons/reference/rpc/google.apps.card.v1#loadindicator) for all actions, as this locks the UI to ensure no changes are made by the user while the action is being processed. Not supported by Google Chat apps. + }, + "type": "A String", # The style of the text, for example, a single line or multiple lines. + "value": "A String", # The default value when there is no input from the user. + }, + "textParagraph": { # A paragraph of text that supports formatting. See [Text formatting](workspace/add-ons/concepts/widgets#text_formatting) for details. # Displays a text paragraph in this widget. For example, the following JSON creates a bolded text: ``` "textParagraph": { "text": " *bold text*" } ``` + "text": "A String", # The text that's shown in the widget. + }, + }, + ], + }, + ], + }, + "cardId": "A String", # Required for `cardsV2` messages. Chat app-specified identifier for this widget. Scoped within a message. + }, + ], "createTime": "A String", # Output only. The time at which the message was created in Google Chat server. "fallbackText": "A String", # A plain-text description of the message's cards, used when the actual cards cannot be displayed (e.g. mobile notifications). "lastUpdateTime": "A String", # Output only. The time at which the message was last edited by a user. If the message has never been edited, this field is empty. @@ -853,8 +1375,12 @@

Method Details

"displayName": "A String", # The space's display name. For direct messages between humans, this field might be empty. "name": "A String", # Resource name of the space. Format: spaces/{space} "singleUserBotDm": True or False, # Output only. Whether the space is a DM between a Chat app and a single human. + "spaceDetails": { # Details about the space including description and rules. # Details about the space including description and rules. + "description": "A String", # Optional. A description of the space. It could describe the space's discussion topic, functional purpose, or participants. + "guidelines": "A String", # Optional. The space's rules, expectations, and etiquette. + }, "threaded": True or False, # Output only. Whether messages are threaded in this space. - "type": "A String", # Output only. Deprecated: Use `single_user_bot_dm` or `space_type` (developer preview) instead. The type of a space. + "type": "A String", # Output only. Deprecated: Use `singleUserBotDm` or `spaceType` (developer preview) instead. The type of a space. }, "text": "A String", # Plain-text body of the message. The first link to an image, video, web page, or other preview-able item generates a preview chip. "thread": { # A thread in Google Chat. # The thread the message belongs to. @@ -1609,6 +2135,528 @@

Method Details

], }, ], + "cardsV2": [ # Richly formatted and interactive cards that display UI elements and editable widgets, such as: - Formatted text - Buttons - Clickable images - Checkboxes - Radio buttons - Input widgets. Cards are usually displayed below the text-body of a Chat message, but can situationally appear other places, such as [dialogs](https://developers.google.com/chat/how-tos/dialogs). The `cardId` is a unique identifier among cards in the same message and for identifying user input values. Currently supported widgets include: - `TextParagraph` - `DecoratedText` - `Image` - `ButtonList` + { # Widgets for Chat apps to specify. + "card": { # A card is a UI element that can contain UI widgets such as text and images. For more information, see Cards . For example, the following JSON creates a card that has a header with the name, position, icons, and link for a contact, followed by a section with contact information like email and phone number. ``` { "header": { "title": "Sasha", "subtitle": "Software Engineer", "imageStyle": "ImageStyle.AVATAR", "imageUrl": "https://example.com/sasha.png", "imageAltText": "Avatar for Sasha" }, "sections" : [ { "header": "Contact Info", "widgets": [ { "decorated_text": { "icon": { "knownIcon": "EMAIL" }, "content": "sasha@example.com" } }, { "decoratedText": { "icon": { "knownIcon": "PERSON" }, "content": "Online" } }, { "decoratedText": { "icon": { "knownIcon": "PHONE" }, "content": "+1 (555) 555-1234" } }, { "buttons": [ { "textButton": { "text": "Share", }, "onClick": { "openLink": { "url": "https://example.com/share" } } }, { "textButton": { "text": "Edit", }, "onClick": { "action": { "function": "goToView", "parameters": [ { "key": "viewType", "value": "EDIT" } ], "loadIndicator": "LoadIndicator.SPINNER" } } } ] } ], "collapsible": true, "uncollapsibleWidgetsCount": 3 } ], "cardActions": [ { "actionLabel": "Send Feedback", "onClick": { "openLink": { "url": "https://example.com/feedback" } } } ], "name": "contact-card-K3wB6arF2H9L" } ``` # Card proto that allows Chat apps to specify UI elements and editable widgets. + "cardActions": [ # The card's actions. Actions are added to the card's generated toolbar menu. For example, the following JSON constructs a card action menu with Settings and Send Feedback options: ``` "card_actions": [ { "actionLabel": "Settings", "onClick": { "action": { "functionName": "goToView", "parameters": [ { "key": "viewType", "value": "SETTING" } ], "loadIndicator": "LoadIndicator.SPINNER" } } }, { "actionLabel": "Send Feedback", "onClick": { "openLink": { "url": "https://example.com/feedback" } } } ] ``` + { # A card action is the action associated with the card. For example, an invoice card might include actions such as delete invoice, email invoice, or open the invoice in a browser. + "actionLabel": "A String", # The label that displays as the action menu item. + "onClick": { # Represents the response to an `onClick` event. # The `onClick` action for this action item. + "action": { # An action that describes the behavior when the form is submitted. For example, an Apps Script can be invoked to handle the form. # If specified, an action is triggered by this `onClick`. + "function": "A String", # Apps Script function to invoke when the containing element is clicked/activated. + "loadIndicator": "A String", # Specifies the loading indicator that the action displays while making the call to the action. + "parameters": [ # List of action parameters. + { # List of string parameters to supply when the action method is invoked. For example, consider three snooze buttons: snooze now, snooze 1 day, snooze next week. You might use action method = snooze(), passing the snooze type and snooze time in the list of string parameters. + "key": "A String", # The name of the parameter for the action script. + "value": "A String", # The value of the parameter. + }, + ], + "persistValues": True or False, # Indicates whether form values persist after the action. The default value is `false`. If `true`, form values remain after the action is triggered. When using [LoadIndicator.NONE](workspace/add-ons/reference/rpc/google.apps.card.v1#loadindicator) for actions, `persist_values` = `true`is recommended, as it ensures that any changes made by the user after form or on change actions are sent to the server are not overwritten by the response. If `false`, the form values are cleared when the action is triggered. When `persist_values` is set to `false`, it is strongly recommended that the card use [LoadIndicator.SPINNER](workspace/add-ons/reference/rpc/google.apps.card.v1#loadindicator) for all actions, as this locks the UI to ensure no changes are made by the user while the action is being processed. Not supported by Google Chat apps. + }, + "card": # Object with schema name: GoogleAppsCardV1Card # A new card is pushed to the card stack after clicking if specified. + "openDynamicLinkAction": { # An action that describes the behavior when the form is submitted. For example, an Apps Script can be invoked to handle the form. # An add-on triggers this action when the action needs to open a link. This differs from the `open_link` above in that this needs to talk to server to get the link. Thus some preparation work is required for web client to do before the open link action response comes back. + "function": "A String", # Apps Script function to invoke when the containing element is clicked/activated. + "loadIndicator": "A String", # Specifies the loading indicator that the action displays while making the call to the action. + "parameters": [ # List of action parameters. + { # List of string parameters to supply when the action method is invoked. For example, consider three snooze buttons: snooze now, snooze 1 day, snooze next week. You might use action method = snooze(), passing the snooze type and snooze time in the list of string parameters. + "key": "A String", # The name of the parameter for the action script. + "value": "A String", # The value of the parameter. + }, + ], + "persistValues": True or False, # Indicates whether form values persist after the action. The default value is `false`. If `true`, form values remain after the action is triggered. When using [LoadIndicator.NONE](workspace/add-ons/reference/rpc/google.apps.card.v1#loadindicator) for actions, `persist_values` = `true`is recommended, as it ensures that any changes made by the user after form or on change actions are sent to the server are not overwritten by the response. If `false`, the form values are cleared when the action is triggered. When `persist_values` is set to `false`, it is strongly recommended that the card use [LoadIndicator.SPINNER](workspace/add-ons/reference/rpc/google.apps.card.v1#loadindicator) for all actions, as this locks the UI to ensure no changes are made by the user while the action is being processed. Not supported by Google Chat apps. + }, + "openLink": { # Represents an `onClick` event that opens a hyperlink. # If specified, this `onClick` triggers an open link action. + "onClose": "A String", # Whether the client forgets about a link after opening it, or observes it until the window closes. Not supported by Chat apps. + "openAs": "A String", # How to open a link. Not supported by Chat apps. + "url": "A String", # The URL to open. + }, + }, + }, + ], + "displayStyle": "A String", # The `peekCardHeader` display style for. Not supported by Google Chat apps. + "fixedFooter": { # A persistent (sticky) footer that is added to the bottom of the card. # The fixed footer shown at the bottom of this card. + "primaryButton": { # A button. Can be a text button or an image button. # The primary button of the fixed footer. The button must be a text button with text and color set. + "altText": "A String", # The alternative text used for accessibility. Has no effect when an icon is set; use `icon.alt_text` instead. + "color": { # Represents a color in the RGBA color space. This representation is designed for simplicity of conversion to/from color representations in various languages over compactness. For example, the fields of this representation can be trivially provided to the constructor of `java.awt.Color` in Java; it can also be trivially provided to UIColor's `+colorWithRed:green:blue:alpha` method in iOS; and, with just a little work, it can be easily formatted into a CSS `rgba()` string in JavaScript. This reference page doesn't carry information about the absolute color space that should be used to interpret the RGB value (e.g. sRGB, Adobe RGB, DCI-P3, BT.2020, etc.). By default, applications should assume the sRGB color space. When color equality needs to be decided, implementations, unless documented otherwise, treat two colors as equal if all their red, green, blue, and alpha values each differ by at most 1e-5. Example (Java): import com.google.type.Color; // ... public static java.awt.Color fromProto(Color protocolor) { float alpha = protocolor.hasAlpha() ? protocolor.getAlpha().getValue() : 1.0; return new java.awt.Color( protocolor.getRed(), protocolor.getGreen(), protocolor.getBlue(), alpha); } public static Color toProto(java.awt.Color color) { float red = (float) color.getRed(); float green = (float) color.getGreen(); float blue = (float) color.getBlue(); float denominator = 255.0; Color.Builder resultBuilder = Color .newBuilder() .setRed(red / denominator) .setGreen(green / denominator) .setBlue(blue / denominator); int alpha = color.getAlpha(); if (alpha != 255) { result.setAlpha( FloatValue .newBuilder() .setValue(((float) alpha) / denominator) .build()); } return resultBuilder.build(); } // ... Example (iOS / Obj-C): // ... static UIColor* fromProto(Color* protocolor) { float red = [protocolor red]; float green = [protocolor green]; float blue = [protocolor blue]; FloatValue* alpha_wrapper = [protocolor alpha]; float alpha = 1.0; if (alpha_wrapper != nil) { alpha = [alpha_wrapper value]; } return [UIColor colorWithRed:red green:green blue:blue alpha:alpha]; } static Color* toProto(UIColor* color) { CGFloat red, green, blue, alpha; if (![color getRed:&red green:&green blue:&blue alpha:&alpha]) { return nil; } Color* result = [[Color alloc] init]; [result setRed:red]; [result setGreen:green]; [result setBlue:blue]; if (alpha <= 0.9999) { [result setAlpha:floatWrapperWithValue(alpha)]; } [result autorelease]; return result; } // ... Example (JavaScript): // ... var protoToCssColor = function(rgb_color) { var redFrac = rgb_color.red || 0.0; var greenFrac = rgb_color.green || 0.0; var blueFrac = rgb_color.blue || 0.0; var red = Math.floor(redFrac * 255); var green = Math.floor(greenFrac * 255); var blue = Math.floor(blueFrac * 255); if (!('alpha' in rgb_color)) { return rgbToCssColor(red, green, blue); } var alphaFrac = rgb_color.alpha.value || 0.0; var rgbParams = [red, green, blue].join(','); return ['rgba(', rgbParams, ',', alphaFrac, ')'].join(''); }; var rgbToCssColor = function(red, green, blue) { var rgbNumber = new Number((red << 16) | (green << 8) | blue); var hexString = rgbNumber.toString(16); var missingZeros = 6 - hexString.length; var resultBuilder = ['#']; for (var i = 0; i < missingZeros; i++) { resultBuilder.push('0'); } resultBuilder.push(hexString); return resultBuilder.join(''); }; // ... # If set, the button is filled with a solid background. + "alpha": 3.14, # The fraction of this color that should be applied to the pixel. That is, the final pixel color is defined by the equation: `pixel color = alpha * (this color) + (1.0 - alpha) * (background color)` This means that a value of 1.0 corresponds to a solid color, whereas a value of 0.0 corresponds to a completely transparent color. This uses a wrapper message rather than a simple float scalar so that it is possible to distinguish between a default value and the value being unset. If omitted, this color object is rendered as a solid color (as if the alpha value had been explicitly given a value of 1.0). + "blue": 3.14, # The amount of blue in the color as a value in the interval [0, 1]. + "green": 3.14, # The amount of green in the color as a value in the interval [0, 1]. + "red": 3.14, # The amount of red in the color as a value in the interval [0, 1]. + }, + "disabled": True or False, # If `true`, the button is displayed in a disabled state and doesn't respond to user actions. + "icon": { # The icon image. + "altText": "A String", # The description of the icon, used for accessibility. The default value is provided if you don't specify one. + "iconUrl": "A String", # The icon specified by a URL. + "imageType": "A String", # The crop style applied to the image. In some cases, applying a `CIRCLE` crop causes the image to be drawn larger than a standard icon. + "knownIcon": "A String", # The icon specified by the string name of a list of known icons. + }, + "onClick": { # Represents the response to an `onClick` event. # The action to perform when the button is clicked. + "action": { # An action that describes the behavior when the form is submitted. For example, an Apps Script can be invoked to handle the form. # If specified, an action is triggered by this `onClick`. + "function": "A String", # Apps Script function to invoke when the containing element is clicked/activated. + "loadIndicator": "A String", # Specifies the loading indicator that the action displays while making the call to the action. + "parameters": [ # List of action parameters. + { # List of string parameters to supply when the action method is invoked. For example, consider three snooze buttons: snooze now, snooze 1 day, snooze next week. You might use action method = snooze(), passing the snooze type and snooze time in the list of string parameters. + "key": "A String", # The name of the parameter for the action script. + "value": "A String", # The value of the parameter. + }, + ], + "persistValues": True or False, # Indicates whether form values persist after the action. The default value is `false`. If `true`, form values remain after the action is triggered. When using [LoadIndicator.NONE](workspace/add-ons/reference/rpc/google.apps.card.v1#loadindicator) for actions, `persist_values` = `true`is recommended, as it ensures that any changes made by the user after form or on change actions are sent to the server are not overwritten by the response. If `false`, the form values are cleared when the action is triggered. When `persist_values` is set to `false`, it is strongly recommended that the card use [LoadIndicator.SPINNER](workspace/add-ons/reference/rpc/google.apps.card.v1#loadindicator) for all actions, as this locks the UI to ensure no changes are made by the user while the action is being processed. Not supported by Google Chat apps. + }, + "card": # Object with schema name: GoogleAppsCardV1Card # A new card is pushed to the card stack after clicking if specified. + "openDynamicLinkAction": { # An action that describes the behavior when the form is submitted. For example, an Apps Script can be invoked to handle the form. # An add-on triggers this action when the action needs to open a link. This differs from the `open_link` above in that this needs to talk to server to get the link. Thus some preparation work is required for web client to do before the open link action response comes back. + "function": "A String", # Apps Script function to invoke when the containing element is clicked/activated. + "loadIndicator": "A String", # Specifies the loading indicator that the action displays while making the call to the action. + "parameters": [ # List of action parameters. + { # List of string parameters to supply when the action method is invoked. For example, consider three snooze buttons: snooze now, snooze 1 day, snooze next week. You might use action method = snooze(), passing the snooze type and snooze time in the list of string parameters. + "key": "A String", # The name of the parameter for the action script. + "value": "A String", # The value of the parameter. + }, + ], + "persistValues": True or False, # Indicates whether form values persist after the action. The default value is `false`. If `true`, form values remain after the action is triggered. When using [LoadIndicator.NONE](workspace/add-ons/reference/rpc/google.apps.card.v1#loadindicator) for actions, `persist_values` = `true`is recommended, as it ensures that any changes made by the user after form or on change actions are sent to the server are not overwritten by the response. If `false`, the form values are cleared when the action is triggered. When `persist_values` is set to `false`, it is strongly recommended that the card use [LoadIndicator.SPINNER](workspace/add-ons/reference/rpc/google.apps.card.v1#loadindicator) for all actions, as this locks the UI to ensure no changes are made by the user while the action is being processed. Not supported by Google Chat apps. + }, + "openLink": { # Represents an `onClick` event that opens a hyperlink. # If specified, this `onClick` triggers an open link action. + "onClose": "A String", # Whether the client forgets about a link after opening it, or observes it until the window closes. Not supported by Chat apps. + "openAs": "A String", # How to open a link. Not supported by Chat apps. + "url": "A String", # The URL to open. + }, + }, + "text": "A String", # The text of the button. + }, + "secondaryButton": { # A button. Can be a text button or an image button. # The secondary button of the fixed footer. The button must be a text button with text and color set. `primaryButton` must be set if `secondaryButton` is set. + "altText": "A String", # The alternative text used for accessibility. Has no effect when an icon is set; use `icon.alt_text` instead. + "color": { # Represents a color in the RGBA color space. This representation is designed for simplicity of conversion to/from color representations in various languages over compactness. For example, the fields of this representation can be trivially provided to the constructor of `java.awt.Color` in Java; it can also be trivially provided to UIColor's `+colorWithRed:green:blue:alpha` method in iOS; and, with just a little work, it can be easily formatted into a CSS `rgba()` string in JavaScript. This reference page doesn't carry information about the absolute color space that should be used to interpret the RGB value (e.g. sRGB, Adobe RGB, DCI-P3, BT.2020, etc.). By default, applications should assume the sRGB color space. When color equality needs to be decided, implementations, unless documented otherwise, treat two colors as equal if all their red, green, blue, and alpha values each differ by at most 1e-5. Example (Java): import com.google.type.Color; // ... public static java.awt.Color fromProto(Color protocolor) { float alpha = protocolor.hasAlpha() ? protocolor.getAlpha().getValue() : 1.0; return new java.awt.Color( protocolor.getRed(), protocolor.getGreen(), protocolor.getBlue(), alpha); } public static Color toProto(java.awt.Color color) { float red = (float) color.getRed(); float green = (float) color.getGreen(); float blue = (float) color.getBlue(); float denominator = 255.0; Color.Builder resultBuilder = Color .newBuilder() .setRed(red / denominator) .setGreen(green / denominator) .setBlue(blue / denominator); int alpha = color.getAlpha(); if (alpha != 255) { result.setAlpha( FloatValue .newBuilder() .setValue(((float) alpha) / denominator) .build()); } return resultBuilder.build(); } // ... Example (iOS / Obj-C): // ... static UIColor* fromProto(Color* protocolor) { float red = [protocolor red]; float green = [protocolor green]; float blue = [protocolor blue]; FloatValue* alpha_wrapper = [protocolor alpha]; float alpha = 1.0; if (alpha_wrapper != nil) { alpha = [alpha_wrapper value]; } return [UIColor colorWithRed:red green:green blue:blue alpha:alpha]; } static Color* toProto(UIColor* color) { CGFloat red, green, blue, alpha; if (![color getRed:&red green:&green blue:&blue alpha:&alpha]) { return nil; } Color* result = [[Color alloc] init]; [result setRed:red]; [result setGreen:green]; [result setBlue:blue]; if (alpha <= 0.9999) { [result setAlpha:floatWrapperWithValue(alpha)]; } [result autorelease]; return result; } // ... Example (JavaScript): // ... var protoToCssColor = function(rgb_color) { var redFrac = rgb_color.red || 0.0; var greenFrac = rgb_color.green || 0.0; var blueFrac = rgb_color.blue || 0.0; var red = Math.floor(redFrac * 255); var green = Math.floor(greenFrac * 255); var blue = Math.floor(blueFrac * 255); if (!('alpha' in rgb_color)) { return rgbToCssColor(red, green, blue); } var alphaFrac = rgb_color.alpha.value || 0.0; var rgbParams = [red, green, blue].join(','); return ['rgba(', rgbParams, ',', alphaFrac, ')'].join(''); }; var rgbToCssColor = function(red, green, blue) { var rgbNumber = new Number((red << 16) | (green << 8) | blue); var hexString = rgbNumber.toString(16); var missingZeros = 6 - hexString.length; var resultBuilder = ['#']; for (var i = 0; i < missingZeros; i++) { resultBuilder.push('0'); } resultBuilder.push(hexString); return resultBuilder.join(''); }; // ... # If set, the button is filled with a solid background. + "alpha": 3.14, # The fraction of this color that should be applied to the pixel. That is, the final pixel color is defined by the equation: `pixel color = alpha * (this color) + (1.0 - alpha) * (background color)` This means that a value of 1.0 corresponds to a solid color, whereas a value of 0.0 corresponds to a completely transparent color. This uses a wrapper message rather than a simple float scalar so that it is possible to distinguish between a default value and the value being unset. If omitted, this color object is rendered as a solid color (as if the alpha value had been explicitly given a value of 1.0). + "blue": 3.14, # The amount of blue in the color as a value in the interval [0, 1]. + "green": 3.14, # The amount of green in the color as a value in the interval [0, 1]. + "red": 3.14, # The amount of red in the color as a value in the interval [0, 1]. + }, + "disabled": True or False, # If `true`, the button is displayed in a disabled state and doesn't respond to user actions. + "icon": { # The icon image. + "altText": "A String", # The description of the icon, used for accessibility. The default value is provided if you don't specify one. + "iconUrl": "A String", # The icon specified by a URL. + "imageType": "A String", # The crop style applied to the image. In some cases, applying a `CIRCLE` crop causes the image to be drawn larger than a standard icon. + "knownIcon": "A String", # The icon specified by the string name of a list of known icons. + }, + "onClick": { # Represents the response to an `onClick` event. # The action to perform when the button is clicked. + "action": { # An action that describes the behavior when the form is submitted. For example, an Apps Script can be invoked to handle the form. # If specified, an action is triggered by this `onClick`. + "function": "A String", # Apps Script function to invoke when the containing element is clicked/activated. + "loadIndicator": "A String", # Specifies the loading indicator that the action displays while making the call to the action. + "parameters": [ # List of action parameters. + { # List of string parameters to supply when the action method is invoked. For example, consider three snooze buttons: snooze now, snooze 1 day, snooze next week. You might use action method = snooze(), passing the snooze type and snooze time in the list of string parameters. + "key": "A String", # The name of the parameter for the action script. + "value": "A String", # The value of the parameter. + }, + ], + "persistValues": True or False, # Indicates whether form values persist after the action. The default value is `false`. If `true`, form values remain after the action is triggered. When using [LoadIndicator.NONE](workspace/add-ons/reference/rpc/google.apps.card.v1#loadindicator) for actions, `persist_values` = `true`is recommended, as it ensures that any changes made by the user after form or on change actions are sent to the server are not overwritten by the response. If `false`, the form values are cleared when the action is triggered. When `persist_values` is set to `false`, it is strongly recommended that the card use [LoadIndicator.SPINNER](workspace/add-ons/reference/rpc/google.apps.card.v1#loadindicator) for all actions, as this locks the UI to ensure no changes are made by the user while the action is being processed. Not supported by Google Chat apps. + }, + "card": # Object with schema name: GoogleAppsCardV1Card # A new card is pushed to the card stack after clicking if specified. + "openDynamicLinkAction": { # An action that describes the behavior when the form is submitted. For example, an Apps Script can be invoked to handle the form. # An add-on triggers this action when the action needs to open a link. This differs from the `open_link` above in that this needs to talk to server to get the link. Thus some preparation work is required for web client to do before the open link action response comes back. + "function": "A String", # Apps Script function to invoke when the containing element is clicked/activated. + "loadIndicator": "A String", # Specifies the loading indicator that the action displays while making the call to the action. + "parameters": [ # List of action parameters. + { # List of string parameters to supply when the action method is invoked. For example, consider three snooze buttons: snooze now, snooze 1 day, snooze next week. You might use action method = snooze(), passing the snooze type and snooze time in the list of string parameters. + "key": "A String", # The name of the parameter for the action script. + "value": "A String", # The value of the parameter. + }, + ], + "persistValues": True or False, # Indicates whether form values persist after the action. The default value is `false`. If `true`, form values remain after the action is triggered. When using [LoadIndicator.NONE](workspace/add-ons/reference/rpc/google.apps.card.v1#loadindicator) for actions, `persist_values` = `true`is recommended, as it ensures that any changes made by the user after form or on change actions are sent to the server are not overwritten by the response. If `false`, the form values are cleared when the action is triggered. When `persist_values` is set to `false`, it is strongly recommended that the card use [LoadIndicator.SPINNER](workspace/add-ons/reference/rpc/google.apps.card.v1#loadindicator) for all actions, as this locks the UI to ensure no changes are made by the user while the action is being processed. Not supported by Google Chat apps. + }, + "openLink": { # Represents an `onClick` event that opens a hyperlink. # If specified, this `onClick` triggers an open link action. + "onClose": "A String", # Whether the client forgets about a link after opening it, or observes it until the window closes. Not supported by Chat apps. + "openAs": "A String", # How to open a link. Not supported by Chat apps. + "url": "A String", # The URL to open. + }, + }, + "text": "A String", # The text of the button. + }, + }, + "header": { # Represents a card header. # The header of the card. A header usually contains a title and an image. + "imageAltText": "A String", # The alternative text of this image which is used for accessibility. + "imageType": "A String", # The image's type. + "imageUrl": "A String", # The URL of the image in the card header. + "subtitle": "A String", # The subtitle of the card header. + "title": "A String", # Required. The title of the card header. The header has a fixed height: if both a title and subtitle are specified, each takes up one line. If only the title is specified, it takes up both lines. + }, + "name": "A String", # Name of the card. Used as a card identifier in card navigation. + "peekCardHeader": { # Represents a card header. # When displaying contextual content, the peek card header acts as a placeholder so that the user can navigate forward between the homepage cards and the contextual cards. Not supported by Google Chat apps. + "imageAltText": "A String", # The alternative text of this image which is used for accessibility. + "imageType": "A String", # The image's type. + "imageUrl": "A String", # The URL of the image in the card header. + "subtitle": "A String", # The subtitle of the card header. + "title": "A String", # Required. The title of the card header. The header has a fixed height: if both a title and subtitle are specified, each takes up one line. If only the title is specified, it takes up both lines. + }, + "sections": [ # Sections are separated by a line divider. + { # A section contains a collection of widgets that are rendered vertically in the order that they are specified. Across all platforms, cards have a narrow fixed width, so there is currently no need for layout properties, for example, float. + "collapsible": True or False, # Indicates whether this section is collapsible. If a section is collapsible, the description must be given. + "header": "A String", # The header of the section. Formatted text is supported. + "uncollapsibleWidgetsCount": 42, # The number of uncollapsible widgets. For example, when a section contains five widgets and the `uncollapsibleWidgetsCount` is set to `2`, the first two widgets are always shown and the last three are collapsed as default. The `uncollapsibleWidgetsCount` is taken into account only when `collapsible` is `true`. + "widgets": [ # A section must contain at least 1 widget. + { # A widget is a UI element that presents texts, images, etc. + "buttonList": { # A list of buttons layed out horizontally. # A list of buttons. For example, the following JSON creates two buttons. The first is a filled text button and the second is an image button that opens a link: ``` "buttonList": { "buttons": [ "button": { "text": "Edit", "Color": { "Red": 255 "Green": 255 "Blue": 255 } "disabled": true }, "button": { "icon": { "knownIcon": "INVITE" "altText": "check calendar" }, "onClick": { "openLink": { "url": "https://example.com/calendar" } } }, ] } ``` + "buttons": [ # An array of buttons. + { # A button. Can be a text button or an image button. + "altText": "A String", # The alternative text used for accessibility. Has no effect when an icon is set; use `icon.alt_text` instead. + "color": { # Represents a color in the RGBA color space. This representation is designed for simplicity of conversion to/from color representations in various languages over compactness. For example, the fields of this representation can be trivially provided to the constructor of `java.awt.Color` in Java; it can also be trivially provided to UIColor's `+colorWithRed:green:blue:alpha` method in iOS; and, with just a little work, it can be easily formatted into a CSS `rgba()` string in JavaScript. This reference page doesn't carry information about the absolute color space that should be used to interpret the RGB value (e.g. sRGB, Adobe RGB, DCI-P3, BT.2020, etc.). By default, applications should assume the sRGB color space. When color equality needs to be decided, implementations, unless documented otherwise, treat two colors as equal if all their red, green, blue, and alpha values each differ by at most 1e-5. Example (Java): import com.google.type.Color; // ... public static java.awt.Color fromProto(Color protocolor) { float alpha = protocolor.hasAlpha() ? protocolor.getAlpha().getValue() : 1.0; return new java.awt.Color( protocolor.getRed(), protocolor.getGreen(), protocolor.getBlue(), alpha); } public static Color toProto(java.awt.Color color) { float red = (float) color.getRed(); float green = (float) color.getGreen(); float blue = (float) color.getBlue(); float denominator = 255.0; Color.Builder resultBuilder = Color .newBuilder() .setRed(red / denominator) .setGreen(green / denominator) .setBlue(blue / denominator); int alpha = color.getAlpha(); if (alpha != 255) { result.setAlpha( FloatValue .newBuilder() .setValue(((float) alpha) / denominator) .build()); } return resultBuilder.build(); } // ... Example (iOS / Obj-C): // ... static UIColor* fromProto(Color* protocolor) { float red = [protocolor red]; float green = [protocolor green]; float blue = [protocolor blue]; FloatValue* alpha_wrapper = [protocolor alpha]; float alpha = 1.0; if (alpha_wrapper != nil) { alpha = [alpha_wrapper value]; } return [UIColor colorWithRed:red green:green blue:blue alpha:alpha]; } static Color* toProto(UIColor* color) { CGFloat red, green, blue, alpha; if (![color getRed:&red green:&green blue:&blue alpha:&alpha]) { return nil; } Color* result = [[Color alloc] init]; [result setRed:red]; [result setGreen:green]; [result setBlue:blue]; if (alpha <= 0.9999) { [result setAlpha:floatWrapperWithValue(alpha)]; } [result autorelease]; return result; } // ... Example (JavaScript): // ... var protoToCssColor = function(rgb_color) { var redFrac = rgb_color.red || 0.0; var greenFrac = rgb_color.green || 0.0; var blueFrac = rgb_color.blue || 0.0; var red = Math.floor(redFrac * 255); var green = Math.floor(greenFrac * 255); var blue = Math.floor(blueFrac * 255); if (!('alpha' in rgb_color)) { return rgbToCssColor(red, green, blue); } var alphaFrac = rgb_color.alpha.value || 0.0; var rgbParams = [red, green, blue].join(','); return ['rgba(', rgbParams, ',', alphaFrac, ')'].join(''); }; var rgbToCssColor = function(red, green, blue) { var rgbNumber = new Number((red << 16) | (green << 8) | blue); var hexString = rgbNumber.toString(16); var missingZeros = 6 - hexString.length; var resultBuilder = ['#']; for (var i = 0; i < missingZeros; i++) { resultBuilder.push('0'); } resultBuilder.push(hexString); return resultBuilder.join(''); }; // ... # If set, the button is filled with a solid background. + "alpha": 3.14, # The fraction of this color that should be applied to the pixel. That is, the final pixel color is defined by the equation: `pixel color = alpha * (this color) + (1.0 - alpha) * (background color)` This means that a value of 1.0 corresponds to a solid color, whereas a value of 0.0 corresponds to a completely transparent color. This uses a wrapper message rather than a simple float scalar so that it is possible to distinguish between a default value and the value being unset. If omitted, this color object is rendered as a solid color (as if the alpha value had been explicitly given a value of 1.0). + "blue": 3.14, # The amount of blue in the color as a value in the interval [0, 1]. + "green": 3.14, # The amount of green in the color as a value in the interval [0, 1]. + "red": 3.14, # The amount of red in the color as a value in the interval [0, 1]. + }, + "disabled": True or False, # If `true`, the button is displayed in a disabled state and doesn't respond to user actions. + "icon": { # The icon image. + "altText": "A String", # The description of the icon, used for accessibility. The default value is provided if you don't specify one. + "iconUrl": "A String", # The icon specified by a URL. + "imageType": "A String", # The crop style applied to the image. In some cases, applying a `CIRCLE` crop causes the image to be drawn larger than a standard icon. + "knownIcon": "A String", # The icon specified by the string name of a list of known icons. + }, + "onClick": { # Represents the response to an `onClick` event. # The action to perform when the button is clicked. + "action": { # An action that describes the behavior when the form is submitted. For example, an Apps Script can be invoked to handle the form. # If specified, an action is triggered by this `onClick`. + "function": "A String", # Apps Script function to invoke when the containing element is clicked/activated. + "loadIndicator": "A String", # Specifies the loading indicator that the action displays while making the call to the action. + "parameters": [ # List of action parameters. + { # List of string parameters to supply when the action method is invoked. For example, consider three snooze buttons: snooze now, snooze 1 day, snooze next week. You might use action method = snooze(), passing the snooze type and snooze time in the list of string parameters. + "key": "A String", # The name of the parameter for the action script. + "value": "A String", # The value of the parameter. + }, + ], + "persistValues": True or False, # Indicates whether form values persist after the action. The default value is `false`. If `true`, form values remain after the action is triggered. When using [LoadIndicator.NONE](workspace/add-ons/reference/rpc/google.apps.card.v1#loadindicator) for actions, `persist_values` = `true`is recommended, as it ensures that any changes made by the user after form or on change actions are sent to the server are not overwritten by the response. If `false`, the form values are cleared when the action is triggered. When `persist_values` is set to `false`, it is strongly recommended that the card use [LoadIndicator.SPINNER](workspace/add-ons/reference/rpc/google.apps.card.v1#loadindicator) for all actions, as this locks the UI to ensure no changes are made by the user while the action is being processed. Not supported by Google Chat apps. + }, + "card": # Object with schema name: GoogleAppsCardV1Card # A new card is pushed to the card stack after clicking if specified. + "openDynamicLinkAction": { # An action that describes the behavior when the form is submitted. For example, an Apps Script can be invoked to handle the form. # An add-on triggers this action when the action needs to open a link. This differs from the `open_link` above in that this needs to talk to server to get the link. Thus some preparation work is required for web client to do before the open link action response comes back. + "function": "A String", # Apps Script function to invoke when the containing element is clicked/activated. + "loadIndicator": "A String", # Specifies the loading indicator that the action displays while making the call to the action. + "parameters": [ # List of action parameters. + { # List of string parameters to supply when the action method is invoked. For example, consider three snooze buttons: snooze now, snooze 1 day, snooze next week. You might use action method = snooze(), passing the snooze type and snooze time in the list of string parameters. + "key": "A String", # The name of the parameter for the action script. + "value": "A String", # The value of the parameter. + }, + ], + "persistValues": True or False, # Indicates whether form values persist after the action. The default value is `false`. If `true`, form values remain after the action is triggered. When using [LoadIndicator.NONE](workspace/add-ons/reference/rpc/google.apps.card.v1#loadindicator) for actions, `persist_values` = `true`is recommended, as it ensures that any changes made by the user after form or on change actions are sent to the server are not overwritten by the response. If `false`, the form values are cleared when the action is triggered. When `persist_values` is set to `false`, it is strongly recommended that the card use [LoadIndicator.SPINNER](workspace/add-ons/reference/rpc/google.apps.card.v1#loadindicator) for all actions, as this locks the UI to ensure no changes are made by the user while the action is being processed. Not supported by Google Chat apps. + }, + "openLink": { # Represents an `onClick` event that opens a hyperlink. # If specified, this `onClick` triggers an open link action. + "onClose": "A String", # Whether the client forgets about a link after opening it, or observes it until the window closes. Not supported by Chat apps. + "openAs": "A String", # How to open a link. Not supported by Chat apps. + "url": "A String", # The URL to open. + }, + }, + "text": "A String", # The text of the button. + }, + ], + }, + "dateTimePicker": { # The widget that lets users to specify a date and time. Not supported by Google Chat apps. # Displays a selection/input widget for date/time. For example, the following JSON creates a date/time picker for an appointment time: ``` "date_time_picker": { "name": "appointment_time", "label": "Book your appointment at:", "type": "DateTimePickerType.DATE_AND_TIME", "valueMsEpoch": "796435200000" } ``` + "label": "A String", # The label for the field that displays to the user. + "name": "A String", # The name of the text input that's used in `formInput`, and uniquely identifies this input. + "onChangeAction": { # An action that describes the behavior when the form is submitted. For example, an Apps Script can be invoked to handle the form. # Triggered when the user clicks Save or Clear from the date/time picker dialog. This is only triggered if the value changed as a result of the Save/Clear operation. + "function": "A String", # Apps Script function to invoke when the containing element is clicked/activated. + "loadIndicator": "A String", # Specifies the loading indicator that the action displays while making the call to the action. + "parameters": [ # List of action parameters. + { # List of string parameters to supply when the action method is invoked. For example, consider three snooze buttons: snooze now, snooze 1 day, snooze next week. You might use action method = snooze(), passing the snooze type and snooze time in the list of string parameters. + "key": "A String", # The name of the parameter for the action script. + "value": "A String", # The value of the parameter. + }, + ], + "persistValues": True or False, # Indicates whether form values persist after the action. The default value is `false`. If `true`, form values remain after the action is triggered. When using [LoadIndicator.NONE](workspace/add-ons/reference/rpc/google.apps.card.v1#loadindicator) for actions, `persist_values` = `true`is recommended, as it ensures that any changes made by the user after form or on change actions are sent to the server are not overwritten by the response. If `false`, the form values are cleared when the action is triggered. When `persist_values` is set to `false`, it is strongly recommended that the card use [LoadIndicator.SPINNER](workspace/add-ons/reference/rpc/google.apps.card.v1#loadindicator) for all actions, as this locks the UI to ensure no changes are made by the user while the action is being processed. Not supported by Google Chat apps. + }, + "timezoneOffsetDate": 42, # The number representing the time zone offset from UTC, in minutes. If set, the `value_ms_epoch` is displayed in the specified time zone. If not set, it uses the user's time zone setting on the client side. + "type": "A String", # The type of the date/time picker. + "valueMsEpoch": "A String", # The value to display as the default value before user input or previous user input. It is represented in milliseconds (Epoch time). For `DATE_AND_TIME` type, the full epoch value is used. For `DATE_ONLY` type, only date of the epoch time is used. For `TIME_ONLY` type, only time of the epoch time is used. For example, you can set epoch time to `3 * 60 * 60 * 1000` to represent 3am. + }, + "decoratedText": { # A widget that displays text with optional decorations such as a label above or below the text, an icon in front of the text, a selection widget or a button after the text. # Displays a decorated text item in this widget. For example, the following JSON creates a decorated text widget showing email address: ``` "decoratedText": { "icon": { "knownIcon": "EMAIL" }, "topLabel": "Email Address", "content": "sasha@example.com", "bottomLabel": "This is a new Email address!", "switchWidget": { "name": "has_send_welcome_email_to_sasha", "selected": false, "controlType": "ControlType.CHECKBOX" } } ``` + "bottomLabel": "A String", # The formatted text label that shows below the main text. + "button": { # A button. Can be a text button or an image button. # A button that can be clicked to trigger an action. + "altText": "A String", # The alternative text used for accessibility. Has no effect when an icon is set; use `icon.alt_text` instead. + "color": { # Represents a color in the RGBA color space. This representation is designed for simplicity of conversion to/from color representations in various languages over compactness. For example, the fields of this representation can be trivially provided to the constructor of `java.awt.Color` in Java; it can also be trivially provided to UIColor's `+colorWithRed:green:blue:alpha` method in iOS; and, with just a little work, it can be easily formatted into a CSS `rgba()` string in JavaScript. This reference page doesn't carry information about the absolute color space that should be used to interpret the RGB value (e.g. sRGB, Adobe RGB, DCI-P3, BT.2020, etc.). By default, applications should assume the sRGB color space. When color equality needs to be decided, implementations, unless documented otherwise, treat two colors as equal if all their red, green, blue, and alpha values each differ by at most 1e-5. Example (Java): import com.google.type.Color; // ... public static java.awt.Color fromProto(Color protocolor) { float alpha = protocolor.hasAlpha() ? protocolor.getAlpha().getValue() : 1.0; return new java.awt.Color( protocolor.getRed(), protocolor.getGreen(), protocolor.getBlue(), alpha); } public static Color toProto(java.awt.Color color) { float red = (float) color.getRed(); float green = (float) color.getGreen(); float blue = (float) color.getBlue(); float denominator = 255.0; Color.Builder resultBuilder = Color .newBuilder() .setRed(red / denominator) .setGreen(green / denominator) .setBlue(blue / denominator); int alpha = color.getAlpha(); if (alpha != 255) { result.setAlpha( FloatValue .newBuilder() .setValue(((float) alpha) / denominator) .build()); } return resultBuilder.build(); } // ... Example (iOS / Obj-C): // ... static UIColor* fromProto(Color* protocolor) { float red = [protocolor red]; float green = [protocolor green]; float blue = [protocolor blue]; FloatValue* alpha_wrapper = [protocolor alpha]; float alpha = 1.0; if (alpha_wrapper != nil) { alpha = [alpha_wrapper value]; } return [UIColor colorWithRed:red green:green blue:blue alpha:alpha]; } static Color* toProto(UIColor* color) { CGFloat red, green, blue, alpha; if (![color getRed:&red green:&green blue:&blue alpha:&alpha]) { return nil; } Color* result = [[Color alloc] init]; [result setRed:red]; [result setGreen:green]; [result setBlue:blue]; if (alpha <= 0.9999) { [result setAlpha:floatWrapperWithValue(alpha)]; } [result autorelease]; return result; } // ... Example (JavaScript): // ... var protoToCssColor = function(rgb_color) { var redFrac = rgb_color.red || 0.0; var greenFrac = rgb_color.green || 0.0; var blueFrac = rgb_color.blue || 0.0; var red = Math.floor(redFrac * 255); var green = Math.floor(greenFrac * 255); var blue = Math.floor(blueFrac * 255); if (!('alpha' in rgb_color)) { return rgbToCssColor(red, green, blue); } var alphaFrac = rgb_color.alpha.value || 0.0; var rgbParams = [red, green, blue].join(','); return ['rgba(', rgbParams, ',', alphaFrac, ')'].join(''); }; var rgbToCssColor = function(red, green, blue) { var rgbNumber = new Number((red << 16) | (green << 8) | blue); var hexString = rgbNumber.toString(16); var missingZeros = 6 - hexString.length; var resultBuilder = ['#']; for (var i = 0; i < missingZeros; i++) { resultBuilder.push('0'); } resultBuilder.push(hexString); return resultBuilder.join(''); }; // ... # If set, the button is filled with a solid background. + "alpha": 3.14, # The fraction of this color that should be applied to the pixel. That is, the final pixel color is defined by the equation: `pixel color = alpha * (this color) + (1.0 - alpha) * (background color)` This means that a value of 1.0 corresponds to a solid color, whereas a value of 0.0 corresponds to a completely transparent color. This uses a wrapper message rather than a simple float scalar so that it is possible to distinguish between a default value and the value being unset. If omitted, this color object is rendered as a solid color (as if the alpha value had been explicitly given a value of 1.0). + "blue": 3.14, # The amount of blue in the color as a value in the interval [0, 1]. + "green": 3.14, # The amount of green in the color as a value in the interval [0, 1]. + "red": 3.14, # The amount of red in the color as a value in the interval [0, 1]. + }, + "disabled": True or False, # If `true`, the button is displayed in a disabled state and doesn't respond to user actions. + "icon": { # The icon image. + "altText": "A String", # The description of the icon, used for accessibility. The default value is provided if you don't specify one. + "iconUrl": "A String", # The icon specified by a URL. + "imageType": "A String", # The crop style applied to the image. In some cases, applying a `CIRCLE` crop causes the image to be drawn larger than a standard icon. + "knownIcon": "A String", # The icon specified by the string name of a list of known icons. + }, + "onClick": { # Represents the response to an `onClick` event. # The action to perform when the button is clicked. + "action": { # An action that describes the behavior when the form is submitted. For example, an Apps Script can be invoked to handle the form. # If specified, an action is triggered by this `onClick`. + "function": "A String", # Apps Script function to invoke when the containing element is clicked/activated. + "loadIndicator": "A String", # Specifies the loading indicator that the action displays while making the call to the action. + "parameters": [ # List of action parameters. + { # List of string parameters to supply when the action method is invoked. For example, consider three snooze buttons: snooze now, snooze 1 day, snooze next week. You might use action method = snooze(), passing the snooze type and snooze time in the list of string parameters. + "key": "A String", # The name of the parameter for the action script. + "value": "A String", # The value of the parameter. + }, + ], + "persistValues": True or False, # Indicates whether form values persist after the action. The default value is `false`. If `true`, form values remain after the action is triggered. When using [LoadIndicator.NONE](workspace/add-ons/reference/rpc/google.apps.card.v1#loadindicator) for actions, `persist_values` = `true`is recommended, as it ensures that any changes made by the user after form or on change actions are sent to the server are not overwritten by the response. If `false`, the form values are cleared when the action is triggered. When `persist_values` is set to `false`, it is strongly recommended that the card use [LoadIndicator.SPINNER](workspace/add-ons/reference/rpc/google.apps.card.v1#loadindicator) for all actions, as this locks the UI to ensure no changes are made by the user while the action is being processed. Not supported by Google Chat apps. + }, + "card": # Object with schema name: GoogleAppsCardV1Card # A new card is pushed to the card stack after clicking if specified. + "openDynamicLinkAction": { # An action that describes the behavior when the form is submitted. For example, an Apps Script can be invoked to handle the form. # An add-on triggers this action when the action needs to open a link. This differs from the `open_link` above in that this needs to talk to server to get the link. Thus some preparation work is required for web client to do before the open link action response comes back. + "function": "A String", # Apps Script function to invoke when the containing element is clicked/activated. + "loadIndicator": "A String", # Specifies the loading indicator that the action displays while making the call to the action. + "parameters": [ # List of action parameters. + { # List of string parameters to supply when the action method is invoked. For example, consider three snooze buttons: snooze now, snooze 1 day, snooze next week. You might use action method = snooze(), passing the snooze type and snooze time in the list of string parameters. + "key": "A String", # The name of the parameter for the action script. + "value": "A String", # The value of the parameter. + }, + ], + "persistValues": True or False, # Indicates whether form values persist after the action. The default value is `false`. If `true`, form values remain after the action is triggered. When using [LoadIndicator.NONE](workspace/add-ons/reference/rpc/google.apps.card.v1#loadindicator) for actions, `persist_values` = `true`is recommended, as it ensures that any changes made by the user after form or on change actions are sent to the server are not overwritten by the response. If `false`, the form values are cleared when the action is triggered. When `persist_values` is set to `false`, it is strongly recommended that the card use [LoadIndicator.SPINNER](workspace/add-ons/reference/rpc/google.apps.card.v1#loadindicator) for all actions, as this locks the UI to ensure no changes are made by the user while the action is being processed. Not supported by Google Chat apps. + }, + "openLink": { # Represents an `onClick` event that opens a hyperlink. # If specified, this `onClick` triggers an open link action. + "onClose": "A String", # Whether the client forgets about a link after opening it, or observes it until the window closes. Not supported by Chat apps. + "openAs": "A String", # How to open a link. Not supported by Chat apps. + "url": "A String", # The URL to open. + }, + }, + "text": "A String", # The text of the button. + }, + "endIcon": { # An icon displayed after the text. + "altText": "A String", # The description of the icon, used for accessibility. The default value is provided if you don't specify one. + "iconUrl": "A String", # The icon specified by a URL. + "imageType": "A String", # The crop style applied to the image. In some cases, applying a `CIRCLE` crop causes the image to be drawn larger than a standard icon. + "knownIcon": "A String", # The icon specified by the string name of a list of known icons. + }, + "icon": { # Deprecated in favor of start_icon. + "altText": "A String", # The description of the icon, used for accessibility. The default value is provided if you don't specify one. + "iconUrl": "A String", # The icon specified by a URL. + "imageType": "A String", # The crop style applied to the image. In some cases, applying a `CIRCLE` crop causes the image to be drawn larger than a standard icon. + "knownIcon": "A String", # The icon specified by the string name of a list of known icons. + }, + "onClick": { # Represents the response to an `onClick` event. # Only the top and bottom label and content region are clickable. + "action": { # An action that describes the behavior when the form is submitted. For example, an Apps Script can be invoked to handle the form. # If specified, an action is triggered by this `onClick`. + "function": "A String", # Apps Script function to invoke when the containing element is clicked/activated. + "loadIndicator": "A String", # Specifies the loading indicator that the action displays while making the call to the action. + "parameters": [ # List of action parameters. + { # List of string parameters to supply when the action method is invoked. For example, consider three snooze buttons: snooze now, snooze 1 day, snooze next week. You might use action method = snooze(), passing the snooze type and snooze time in the list of string parameters. + "key": "A String", # The name of the parameter for the action script. + "value": "A String", # The value of the parameter. + }, + ], + "persistValues": True or False, # Indicates whether form values persist after the action. The default value is `false`. If `true`, form values remain after the action is triggered. When using [LoadIndicator.NONE](workspace/add-ons/reference/rpc/google.apps.card.v1#loadindicator) for actions, `persist_values` = `true`is recommended, as it ensures that any changes made by the user after form or on change actions are sent to the server are not overwritten by the response. If `false`, the form values are cleared when the action is triggered. When `persist_values` is set to `false`, it is strongly recommended that the card use [LoadIndicator.SPINNER](workspace/add-ons/reference/rpc/google.apps.card.v1#loadindicator) for all actions, as this locks the UI to ensure no changes are made by the user while the action is being processed. Not supported by Google Chat apps. + }, + "card": # Object with schema name: GoogleAppsCardV1Card # A new card is pushed to the card stack after clicking if specified. + "openDynamicLinkAction": { # An action that describes the behavior when the form is submitted. For example, an Apps Script can be invoked to handle the form. # An add-on triggers this action when the action needs to open a link. This differs from the `open_link` above in that this needs to talk to server to get the link. Thus some preparation work is required for web client to do before the open link action response comes back. + "function": "A String", # Apps Script function to invoke when the containing element is clicked/activated. + "loadIndicator": "A String", # Specifies the loading indicator that the action displays while making the call to the action. + "parameters": [ # List of action parameters. + { # List of string parameters to supply when the action method is invoked. For example, consider three snooze buttons: snooze now, snooze 1 day, snooze next week. You might use action method = snooze(), passing the snooze type and snooze time in the list of string parameters. + "key": "A String", # The name of the parameter for the action script. + "value": "A String", # The value of the parameter. + }, + ], + "persistValues": True or False, # Indicates whether form values persist after the action. The default value is `false`. If `true`, form values remain after the action is triggered. When using [LoadIndicator.NONE](workspace/add-ons/reference/rpc/google.apps.card.v1#loadindicator) for actions, `persist_values` = `true`is recommended, as it ensures that any changes made by the user after form or on change actions are sent to the server are not overwritten by the response. If `false`, the form values are cleared when the action is triggered. When `persist_values` is set to `false`, it is strongly recommended that the card use [LoadIndicator.SPINNER](workspace/add-ons/reference/rpc/google.apps.card.v1#loadindicator) for all actions, as this locks the UI to ensure no changes are made by the user while the action is being processed. Not supported by Google Chat apps. + }, + "openLink": { # Represents an `onClick` event that opens a hyperlink. # If specified, this `onClick` triggers an open link action. + "onClose": "A String", # Whether the client forgets about a link after opening it, or observes it until the window closes. Not supported by Chat apps. + "openAs": "A String", # How to open a link. Not supported by Chat apps. + "url": "A String", # The URL to open. + }, + }, + "startIcon": { # The icon displayed in front of the text. + "altText": "A String", # The description of the icon, used for accessibility. The default value is provided if you don't specify one. + "iconUrl": "A String", # The icon specified by a URL. + "imageType": "A String", # The crop style applied to the image. In some cases, applying a `CIRCLE` crop causes the image to be drawn larger than a standard icon. + "knownIcon": "A String", # The icon specified by the string name of a list of known icons. + }, + "switchControl": { # Either a toggle-style switch or a checkbox. # A switch widget can be clicked to change its state or trigger an action. + "controlType": "A String", # The control type, either switch or checkbox. + "name": "A String", # The name of the switch widget that's used in `formInput`. + "onChangeAction": { # An action that describes the behavior when the form is submitted. For example, an Apps Script can be invoked to handle the form. # The action when the switch state is changed. + "function": "A String", # Apps Script function to invoke when the containing element is clicked/activated. + "loadIndicator": "A String", # Specifies the loading indicator that the action displays while making the call to the action. + "parameters": [ # List of action parameters. + { # List of string parameters to supply when the action method is invoked. For example, consider three snooze buttons: snooze now, snooze 1 day, snooze next week. You might use action method = snooze(), passing the snooze type and snooze time in the list of string parameters. + "key": "A String", # The name of the parameter for the action script. + "value": "A String", # The value of the parameter. + }, + ], + "persistValues": True or False, # Indicates whether form values persist after the action. The default value is `false`. If `true`, form values remain after the action is triggered. When using [LoadIndicator.NONE](workspace/add-ons/reference/rpc/google.apps.card.v1#loadindicator) for actions, `persist_values` = `true`is recommended, as it ensures that any changes made by the user after form or on change actions are sent to the server are not overwritten by the response. If `false`, the form values are cleared when the action is triggered. When `persist_values` is set to `false`, it is strongly recommended that the card use [LoadIndicator.SPINNER](workspace/add-ons/reference/rpc/google.apps.card.v1#loadindicator) for all actions, as this locks the UI to ensure no changes are made by the user while the action is being processed. Not supported by Google Chat apps. + }, + "selected": True or False, # If the switch is selected. + "value": "A String", # The value is what is passed back in the callback. + }, + "text": "A String", # Required. The main widget formatted text. See Text formatting for details. + "topLabel": "A String", # The formatted text label that shows above the main text. + "wrapText": True or False, # The wrap text setting. If `true`, the text is wrapped and displayed in multiline. Otherwise, the text is truncated. + }, + "divider": { # A divider that appears in between widgets. # Displays a divider. For example, the following JSON creates a divider: ``` "divider": { } ``` + }, + "grid": { # Represents a Grid widget that displays items in a configurable grid layout. # Displays a grid with a collection of items. For example, the following JSON creates a 2 column grid with a single item: ``` "grid": { "title": "A fine collection of items", "numColumns": 2, "borderStyle": { "type": "STROKE", "cornerRadius": 4.0 }, "items": [ "image": { "imageUri": "https://www.example.com/image.png", "cropStyle": { "type": "SQUARE" }, "borderStyle": { "type": "STROKE" } }, "title": "An item", "textAlignment": "CENTER" ], "onClick": { "openLink": { "url":"https://www.example.com" } } } ``` + "borderStyle": { # Represents the complete border style applied to widgets. # The border style to apply to each grid item. + "cornerRadius": 42, # The corner radius for the border. + "strokeColor": { # Represents a color in the RGBA color space. This representation is designed for simplicity of conversion to/from color representations in various languages over compactness. For example, the fields of this representation can be trivially provided to the constructor of `java.awt.Color` in Java; it can also be trivially provided to UIColor's `+colorWithRed:green:blue:alpha` method in iOS; and, with just a little work, it can be easily formatted into a CSS `rgba()` string in JavaScript. This reference page doesn't carry information about the absolute color space that should be used to interpret the RGB value (e.g. sRGB, Adobe RGB, DCI-P3, BT.2020, etc.). By default, applications should assume the sRGB color space. When color equality needs to be decided, implementations, unless documented otherwise, treat two colors as equal if all their red, green, blue, and alpha values each differ by at most 1e-5. Example (Java): import com.google.type.Color; // ... public static java.awt.Color fromProto(Color protocolor) { float alpha = protocolor.hasAlpha() ? protocolor.getAlpha().getValue() : 1.0; return new java.awt.Color( protocolor.getRed(), protocolor.getGreen(), protocolor.getBlue(), alpha); } public static Color toProto(java.awt.Color color) { float red = (float) color.getRed(); float green = (float) color.getGreen(); float blue = (float) color.getBlue(); float denominator = 255.0; Color.Builder resultBuilder = Color .newBuilder() .setRed(red / denominator) .setGreen(green / denominator) .setBlue(blue / denominator); int alpha = color.getAlpha(); if (alpha != 255) { result.setAlpha( FloatValue .newBuilder() .setValue(((float) alpha) / denominator) .build()); } return resultBuilder.build(); } // ... Example (iOS / Obj-C): // ... static UIColor* fromProto(Color* protocolor) { float red = [protocolor red]; float green = [protocolor green]; float blue = [protocolor blue]; FloatValue* alpha_wrapper = [protocolor alpha]; float alpha = 1.0; if (alpha_wrapper != nil) { alpha = [alpha_wrapper value]; } return [UIColor colorWithRed:red green:green blue:blue alpha:alpha]; } static Color* toProto(UIColor* color) { CGFloat red, green, blue, alpha; if (![color getRed:&red green:&green blue:&blue alpha:&alpha]) { return nil; } Color* result = [[Color alloc] init]; [result setRed:red]; [result setGreen:green]; [result setBlue:blue]; if (alpha <= 0.9999) { [result setAlpha:floatWrapperWithValue(alpha)]; } [result autorelease]; return result; } // ... Example (JavaScript): // ... var protoToCssColor = function(rgb_color) { var redFrac = rgb_color.red || 0.0; var greenFrac = rgb_color.green || 0.0; var blueFrac = rgb_color.blue || 0.0; var red = Math.floor(redFrac * 255); var green = Math.floor(greenFrac * 255); var blue = Math.floor(blueFrac * 255); if (!('alpha' in rgb_color)) { return rgbToCssColor(red, green, blue); } var alphaFrac = rgb_color.alpha.value || 0.0; var rgbParams = [red, green, blue].join(','); return ['rgba(', rgbParams, ',', alphaFrac, ')'].join(''); }; var rgbToCssColor = function(red, green, blue) { var rgbNumber = new Number((red << 16) | (green << 8) | blue); var hexString = rgbNumber.toString(16); var missingZeros = 6 - hexString.length; var resultBuilder = ['#']; for (var i = 0; i < missingZeros; i++) { resultBuilder.push('0'); } resultBuilder.push(hexString); return resultBuilder.join(''); }; // ... # The colors to use when the type is `BORDER_TYPE_STROKE`. + "alpha": 3.14, # The fraction of this color that should be applied to the pixel. That is, the final pixel color is defined by the equation: `pixel color = alpha * (this color) + (1.0 - alpha) * (background color)` This means that a value of 1.0 corresponds to a solid color, whereas a value of 0.0 corresponds to a completely transparent color. This uses a wrapper message rather than a simple float scalar so that it is possible to distinguish between a default value and the value being unset. If omitted, this color object is rendered as a solid color (as if the alpha value had been explicitly given a value of 1.0). + "blue": 3.14, # The amount of blue in the color as a value in the interval [0, 1]. + "green": 3.14, # The amount of green in the color as a value in the interval [0, 1]. + "red": 3.14, # The amount of red in the color as a value in the interval [0, 1]. + }, + "type": "A String", # The border type. + }, + "columnCount": 42, # The number of columns to display in the grid. A default value is used if this field isn't specified, and that default value is different depending on where the grid is shown (dialog versus companion). + "items": [ # The items to display in the grid. + { # Represents a single item in the grid layout. + "id": "A String", # A user-specified identifier for this grid item. This identifier is returned in the parent Grid's onClick callback parameters. + "image": { # Represents an image. # The image that displays in the grid item. + "altText": "A String", # The accessibility label for the image. + "borderStyle": { # Represents the complete border style applied to widgets. # The border style to apply to the image. + "cornerRadius": 42, # The corner radius for the border. + "strokeColor": { # Represents a color in the RGBA color space. This representation is designed for simplicity of conversion to/from color representations in various languages over compactness. For example, the fields of this representation can be trivially provided to the constructor of `java.awt.Color` in Java; it can also be trivially provided to UIColor's `+colorWithRed:green:blue:alpha` method in iOS; and, with just a little work, it can be easily formatted into a CSS `rgba()` string in JavaScript. This reference page doesn't carry information about the absolute color space that should be used to interpret the RGB value (e.g. sRGB, Adobe RGB, DCI-P3, BT.2020, etc.). By default, applications should assume the sRGB color space. When color equality needs to be decided, implementations, unless documented otherwise, treat two colors as equal if all their red, green, blue, and alpha values each differ by at most 1e-5. Example (Java): import com.google.type.Color; // ... public static java.awt.Color fromProto(Color protocolor) { float alpha = protocolor.hasAlpha() ? protocolor.getAlpha().getValue() : 1.0; return new java.awt.Color( protocolor.getRed(), protocolor.getGreen(), protocolor.getBlue(), alpha); } public static Color toProto(java.awt.Color color) { float red = (float) color.getRed(); float green = (float) color.getGreen(); float blue = (float) color.getBlue(); float denominator = 255.0; Color.Builder resultBuilder = Color .newBuilder() .setRed(red / denominator) .setGreen(green / denominator) .setBlue(blue / denominator); int alpha = color.getAlpha(); if (alpha != 255) { result.setAlpha( FloatValue .newBuilder() .setValue(((float) alpha) / denominator) .build()); } return resultBuilder.build(); } // ... Example (iOS / Obj-C): // ... static UIColor* fromProto(Color* protocolor) { float red = [protocolor red]; float green = [protocolor green]; float blue = [protocolor blue]; FloatValue* alpha_wrapper = [protocolor alpha]; float alpha = 1.0; if (alpha_wrapper != nil) { alpha = [alpha_wrapper value]; } return [UIColor colorWithRed:red green:green blue:blue alpha:alpha]; } static Color* toProto(UIColor* color) { CGFloat red, green, blue, alpha; if (![color getRed:&red green:&green blue:&blue alpha:&alpha]) { return nil; } Color* result = [[Color alloc] init]; [result setRed:red]; [result setGreen:green]; [result setBlue:blue]; if (alpha <= 0.9999) { [result setAlpha:floatWrapperWithValue(alpha)]; } [result autorelease]; return result; } // ... Example (JavaScript): // ... var protoToCssColor = function(rgb_color) { var redFrac = rgb_color.red || 0.0; var greenFrac = rgb_color.green || 0.0; var blueFrac = rgb_color.blue || 0.0; var red = Math.floor(redFrac * 255); var green = Math.floor(greenFrac * 255); var blue = Math.floor(blueFrac * 255); if (!('alpha' in rgb_color)) { return rgbToCssColor(red, green, blue); } var alphaFrac = rgb_color.alpha.value || 0.0; var rgbParams = [red, green, blue].join(','); return ['rgba(', rgbParams, ',', alphaFrac, ')'].join(''); }; var rgbToCssColor = function(red, green, blue) { var rgbNumber = new Number((red << 16) | (green << 8) | blue); var hexString = rgbNumber.toString(16); var missingZeros = 6 - hexString.length; var resultBuilder = ['#']; for (var i = 0; i < missingZeros; i++) { resultBuilder.push('0'); } resultBuilder.push(hexString); return resultBuilder.join(''); }; // ... # The colors to use when the type is `BORDER_TYPE_STROKE`. + "alpha": 3.14, # The fraction of this color that should be applied to the pixel. That is, the final pixel color is defined by the equation: `pixel color = alpha * (this color) + (1.0 - alpha) * (background color)` This means that a value of 1.0 corresponds to a solid color, whereas a value of 0.0 corresponds to a completely transparent color. This uses a wrapper message rather than a simple float scalar so that it is possible to distinguish between a default value and the value being unset. If omitted, this color object is rendered as a solid color (as if the alpha value had been explicitly given a value of 1.0). + "blue": 3.14, # The amount of blue in the color as a value in the interval [0, 1]. + "green": 3.14, # The amount of green in the color as a value in the interval [0, 1]. + "red": 3.14, # The amount of red in the color as a value in the interval [0, 1]. + }, + "type": "A String", # The border type. + }, + "cropStyle": { # Represents the crop style applied to an image. # The crop style to apply to the image. + "aspectRatio": 3.14, # The aspect ratio to use if the crop type is `RECTANGLE_CUSTOM`. + "type": "A String", # The crop type. + }, + "imageUri": "A String", # The image URL. + }, + "layout": "A String", # The layout to use for the grid item. + "subtitle": "A String", # The grid item's subtitle. + "textAlignment": "A String", # The horizontal alignment of the grid item's text. + "title": "A String", # The grid item's title. + }, + ], + "onClick": { # Represents the response to an `onClick` event. # This callback is reused by each individual grid item, but with the item's identifier and index in the items list added to the callback's parameters. + "action": { # An action that describes the behavior when the form is submitted. For example, an Apps Script can be invoked to handle the form. # If specified, an action is triggered by this `onClick`. + "function": "A String", # Apps Script function to invoke when the containing element is clicked/activated. + "loadIndicator": "A String", # Specifies the loading indicator that the action displays while making the call to the action. + "parameters": [ # List of action parameters. + { # List of string parameters to supply when the action method is invoked. For example, consider three snooze buttons: snooze now, snooze 1 day, snooze next week. You might use action method = snooze(), passing the snooze type and snooze time in the list of string parameters. + "key": "A String", # The name of the parameter for the action script. + "value": "A String", # The value of the parameter. + }, + ], + "persistValues": True or False, # Indicates whether form values persist after the action. The default value is `false`. If `true`, form values remain after the action is triggered. When using [LoadIndicator.NONE](workspace/add-ons/reference/rpc/google.apps.card.v1#loadindicator) for actions, `persist_values` = `true`is recommended, as it ensures that any changes made by the user after form or on change actions are sent to the server are not overwritten by the response. If `false`, the form values are cleared when the action is triggered. When `persist_values` is set to `false`, it is strongly recommended that the card use [LoadIndicator.SPINNER](workspace/add-ons/reference/rpc/google.apps.card.v1#loadindicator) for all actions, as this locks the UI to ensure no changes are made by the user while the action is being processed. Not supported by Google Chat apps. + }, + "card": # Object with schema name: GoogleAppsCardV1Card # A new card is pushed to the card stack after clicking if specified. + "openDynamicLinkAction": { # An action that describes the behavior when the form is submitted. For example, an Apps Script can be invoked to handle the form. # An add-on triggers this action when the action needs to open a link. This differs from the `open_link` above in that this needs to talk to server to get the link. Thus some preparation work is required for web client to do before the open link action response comes back. + "function": "A String", # Apps Script function to invoke when the containing element is clicked/activated. + "loadIndicator": "A String", # Specifies the loading indicator that the action displays while making the call to the action. + "parameters": [ # List of action parameters. + { # List of string parameters to supply when the action method is invoked. For example, consider three snooze buttons: snooze now, snooze 1 day, snooze next week. You might use action method = snooze(), passing the snooze type and snooze time in the list of string parameters. + "key": "A String", # The name of the parameter for the action script. + "value": "A String", # The value of the parameter. + }, + ], + "persistValues": True or False, # Indicates whether form values persist after the action. The default value is `false`. If `true`, form values remain after the action is triggered. When using [LoadIndicator.NONE](workspace/add-ons/reference/rpc/google.apps.card.v1#loadindicator) for actions, `persist_values` = `true`is recommended, as it ensures that any changes made by the user after form or on change actions are sent to the server are not overwritten by the response. If `false`, the form values are cleared when the action is triggered. When `persist_values` is set to `false`, it is strongly recommended that the card use [LoadIndicator.SPINNER](workspace/add-ons/reference/rpc/google.apps.card.v1#loadindicator) for all actions, as this locks the UI to ensure no changes are made by the user while the action is being processed. Not supported by Google Chat apps. + }, + "openLink": { # Represents an `onClick` event that opens a hyperlink. # If specified, this `onClick` triggers an open link action. + "onClose": "A String", # Whether the client forgets about a link after opening it, or observes it until the window closes. Not supported by Chat apps. + "openAs": "A String", # How to open a link. Not supported by Chat apps. + "url": "A String", # The URL to open. + }, + }, + "title": "A String", # The text that displays in the grid header. + }, + "horizontalAlignment": "A String", # The horizontal alignment of this widget. + "image": { # An image that is specified by a URL and can have an `onClick` action. # Displays an image in this widget. For example, the following JSON creates an image with alternative text: ``` "image": { "imageUrl": "https://example.com/sasha.png" "altText": "Avatar for Sasha" } ``` + "altText": "A String", # The alternative text of this image, used for accessibility. + "imageUrl": "A String", # An image URL. + "onClick": { # Represents the response to an `onClick` event. # The action triggered by an `onClick` event. + "action": { # An action that describes the behavior when the form is submitted. For example, an Apps Script can be invoked to handle the form. # If specified, an action is triggered by this `onClick`. + "function": "A String", # Apps Script function to invoke when the containing element is clicked/activated. + "loadIndicator": "A String", # Specifies the loading indicator that the action displays while making the call to the action. + "parameters": [ # List of action parameters. + { # List of string parameters to supply when the action method is invoked. For example, consider three snooze buttons: snooze now, snooze 1 day, snooze next week. You might use action method = snooze(), passing the snooze type and snooze time in the list of string parameters. + "key": "A String", # The name of the parameter for the action script. + "value": "A String", # The value of the parameter. + }, + ], + "persistValues": True or False, # Indicates whether form values persist after the action. The default value is `false`. If `true`, form values remain after the action is triggered. When using [LoadIndicator.NONE](workspace/add-ons/reference/rpc/google.apps.card.v1#loadindicator) for actions, `persist_values` = `true`is recommended, as it ensures that any changes made by the user after form or on change actions are sent to the server are not overwritten by the response. If `false`, the form values are cleared when the action is triggered. When `persist_values` is set to `false`, it is strongly recommended that the card use [LoadIndicator.SPINNER](workspace/add-ons/reference/rpc/google.apps.card.v1#loadindicator) for all actions, as this locks the UI to ensure no changes are made by the user while the action is being processed. Not supported by Google Chat apps. + }, + "card": # Object with schema name: GoogleAppsCardV1Card # A new card is pushed to the card stack after clicking if specified. + "openDynamicLinkAction": { # An action that describes the behavior when the form is submitted. For example, an Apps Script can be invoked to handle the form. # An add-on triggers this action when the action needs to open a link. This differs from the `open_link` above in that this needs to talk to server to get the link. Thus some preparation work is required for web client to do before the open link action response comes back. + "function": "A String", # Apps Script function to invoke when the containing element is clicked/activated. + "loadIndicator": "A String", # Specifies the loading indicator that the action displays while making the call to the action. + "parameters": [ # List of action parameters. + { # List of string parameters to supply when the action method is invoked. For example, consider three snooze buttons: snooze now, snooze 1 day, snooze next week. You might use action method = snooze(), passing the snooze type and snooze time in the list of string parameters. + "key": "A String", # The name of the parameter for the action script. + "value": "A String", # The value of the parameter. + }, + ], + "persistValues": True or False, # Indicates whether form values persist after the action. The default value is `false`. If `true`, form values remain after the action is triggered. When using [LoadIndicator.NONE](workspace/add-ons/reference/rpc/google.apps.card.v1#loadindicator) for actions, `persist_values` = `true`is recommended, as it ensures that any changes made by the user after form or on change actions are sent to the server are not overwritten by the response. If `false`, the form values are cleared when the action is triggered. When `persist_values` is set to `false`, it is strongly recommended that the card use [LoadIndicator.SPINNER](workspace/add-ons/reference/rpc/google.apps.card.v1#loadindicator) for all actions, as this locks the UI to ensure no changes are made by the user while the action is being processed. Not supported by Google Chat apps. + }, + "openLink": { # Represents an `onClick` event that opens a hyperlink. # If specified, this `onClick` triggers an open link action. + "onClose": "A String", # Whether the client forgets about a link after opening it, or observes it until the window closes. Not supported by Chat apps. + "openAs": "A String", # How to open a link. Not supported by Chat apps. + "url": "A String", # The URL to open. + }, + }, + }, + "selectionInput": { # A widget that creates a UI item with options for users to select. For example, a dropdown menu. # Displays a switch control in this widget. For example, the following JSON creates a dropdown selection for size: ``` "switchControl": { "name": "size", "label": "Size" "type": "SelectionType.DROPDOWN", "items": [ { "text": "S", "value": "small", "selected": false }, { "text": "M", "value": "medium", "selected": true }, { "text": "L", "value": "large", "selected": false }, { "text": "XL", "value": "extra_large", "selected": false } ] } ``` + "items": [ # An array of the selected items. + { # A selectable item in the switch control. + "selected": True or False, # If more than one item is selected for `RADIO_BUTTON` and `DROPDOWN`, the first selected item is treated as selected and the ones after are ignored. + "text": "A String", # The text to be displayed. + "value": "A String", # The value associated with this item. The client should use this as a form input value. + }, + ], + "label": "A String", # The label displayed ahead of the switch control. + "name": "A String", # The name of the text input which is used in `formInput`. + "onChangeAction": { # An action that describes the behavior when the form is submitted. For example, an Apps Script can be invoked to handle the form. # If specified, the form is submitted when the selection changes. If not specified, you must specify a separate button. + "function": "A String", # Apps Script function to invoke when the containing element is clicked/activated. + "loadIndicator": "A String", # Specifies the loading indicator that the action displays while making the call to the action. + "parameters": [ # List of action parameters. + { # List of string parameters to supply when the action method is invoked. For example, consider three snooze buttons: snooze now, snooze 1 day, snooze next week. You might use action method = snooze(), passing the snooze type and snooze time in the list of string parameters. + "key": "A String", # The name of the parameter for the action script. + "value": "A String", # The value of the parameter. + }, + ], + "persistValues": True or False, # Indicates whether form values persist after the action. The default value is `false`. If `true`, form values remain after the action is triggered. When using [LoadIndicator.NONE](workspace/add-ons/reference/rpc/google.apps.card.v1#loadindicator) for actions, `persist_values` = `true`is recommended, as it ensures that any changes made by the user after form or on change actions are sent to the server are not overwritten by the response. If `false`, the form values are cleared when the action is triggered. When `persist_values` is set to `false`, it is strongly recommended that the card use [LoadIndicator.SPINNER](workspace/add-ons/reference/rpc/google.apps.card.v1#loadindicator) for all actions, as this locks the UI to ensure no changes are made by the user while the action is being processed. Not supported by Google Chat apps. + }, + "type": "A String", # The type of the selection. + }, + "textInput": { # A text input is a UI item where users can input text. A text input can also have an onChange action and suggestions. # Displays a text input in this widget. For example, the following JSON creates a text input for mail address: ``` "textInput": { "name": "mailing_address", "label": "Mailing Address" } ``` As another example, the following JSON creates a text input for programming language with static suggestions: ``` "textInput": { "name": "preferred_programing_language", "label": "Preferred Language", "initialSuggestions": { "items": [ { "text": "C++" }, { "text": "Java" }, { "text": "JavaScript" }, { "text": "Python" } ] } } ``` + "autoCompleteAction": { # An action that describes the behavior when the form is submitted. For example, an Apps Script can be invoked to handle the form. # The refresh function that returns suggestions based on the user's input text. If the callback is not specified, autocomplete is done in client side based on the initial suggestion items. + "function": "A String", # Apps Script function to invoke when the containing element is clicked/activated. + "loadIndicator": "A String", # Specifies the loading indicator that the action displays while making the call to the action. + "parameters": [ # List of action parameters. + { # List of string parameters to supply when the action method is invoked. For example, consider three snooze buttons: snooze now, snooze 1 day, snooze next week. You might use action method = snooze(), passing the snooze type and snooze time in the list of string parameters. + "key": "A String", # The name of the parameter for the action script. + "value": "A String", # The value of the parameter. + }, + ], + "persistValues": True or False, # Indicates whether form values persist after the action. The default value is `false`. If `true`, form values remain after the action is triggered. When using [LoadIndicator.NONE](workspace/add-ons/reference/rpc/google.apps.card.v1#loadindicator) for actions, `persist_values` = `true`is recommended, as it ensures that any changes made by the user after form or on change actions are sent to the server are not overwritten by the response. If `false`, the form values are cleared when the action is triggered. When `persist_values` is set to `false`, it is strongly recommended that the card use [LoadIndicator.SPINNER](workspace/add-ons/reference/rpc/google.apps.card.v1#loadindicator) for all actions, as this locks the UI to ensure no changes are made by the user while the action is being processed. Not supported by Google Chat apps. + }, + "hintText": "A String", # The hint text. + "initialSuggestions": { # A container wrapping elements necessary for showing suggestion items used in text input autocomplete. # The initial suggestions made before any user input. + "items": [ # A list of suggestions used for autocomplete recommendations. + { # A suggestion item. + "text": "A String", # The suggested autocomplete result. + }, + ], + }, + "label": "A String", # At least one of label and hintText must be specified. + "name": "A String", # The name of the text input which is used in `formInput`. + "onChangeAction": { # An action that describes the behavior when the form is submitted. For example, an Apps Script can be invoked to handle the form. # The onChange action, for example, invoke a function. + "function": "A String", # Apps Script function to invoke when the containing element is clicked/activated. + "loadIndicator": "A String", # Specifies the loading indicator that the action displays while making the call to the action. + "parameters": [ # List of action parameters. + { # List of string parameters to supply when the action method is invoked. For example, consider three snooze buttons: snooze now, snooze 1 day, snooze next week. You might use action method = snooze(), passing the snooze type and snooze time in the list of string parameters. + "key": "A String", # The name of the parameter for the action script. + "value": "A String", # The value of the parameter. + }, + ], + "persistValues": True or False, # Indicates whether form values persist after the action. The default value is `false`. If `true`, form values remain after the action is triggered. When using [LoadIndicator.NONE](workspace/add-ons/reference/rpc/google.apps.card.v1#loadindicator) for actions, `persist_values` = `true`is recommended, as it ensures that any changes made by the user after form or on change actions are sent to the server are not overwritten by the response. If `false`, the form values are cleared when the action is triggered. When `persist_values` is set to `false`, it is strongly recommended that the card use [LoadIndicator.SPINNER](workspace/add-ons/reference/rpc/google.apps.card.v1#loadindicator) for all actions, as this locks the UI to ensure no changes are made by the user while the action is being processed. Not supported by Google Chat apps. + }, + "type": "A String", # The style of the text, for example, a single line or multiple lines. + "value": "A String", # The default value when there is no input from the user. + }, + "textParagraph": { # A paragraph of text that supports formatting. See [Text formatting](workspace/add-ons/concepts/widgets#text_formatting) for details. # Displays a text paragraph in this widget. For example, the following JSON creates a bolded text: ``` "textParagraph": { "text": " *bold text*" } ``` + "text": "A String", # The text that's shown in the widget. + }, + }, + ], + }, + ], + }, + "cardId": "A String", # Required for `cardsV2` messages. Chat app-specified identifier for this widget. Scoped within a message. + }, + ], "createTime": "A String", # Output only. The time at which the message was created in Google Chat server. "fallbackText": "A String", # A plain-text description of the message's cards, used when the actual cards cannot be displayed (e.g. mobile notifications). "lastUpdateTime": "A String", # Output only. The time at which the message was last edited by a user. If the message has never been edited, this field is empty. @@ -1630,8 +2678,12 @@

Method Details

"displayName": "A String", # The space's display name. For direct messages between humans, this field might be empty. "name": "A String", # Resource name of the space. Format: spaces/{space} "singleUserBotDm": True or False, # Output only. Whether the space is a DM between a Chat app and a single human. + "spaceDetails": { # Details about the space including description and rules. # Details about the space including description and rules. + "description": "A String", # Optional. A description of the space. It could describe the space's discussion topic, functional purpose, or participants. + "guidelines": "A String", # Optional. The space's rules, expectations, and etiquette. + }, "threaded": True or False, # Output only. Whether messages are threaded in this space. - "type": "A String", # Output only. Deprecated: Use `single_user_bot_dm` or `space_type` (developer preview) instead. The type of a space. + "type": "A String", # Output only. Deprecated: Use `singleUserBotDm` or `spaceType` (developer preview) instead. The type of a space. }, "text": "A String", # Plain-text body of the message. The first link to an image, video, web page, or other preview-able item generates a preview chip. "thread": { # A thread in Google Chat. # The thread the message belongs to. diff --git a/docs/dyn/chat_v1.rooms.html b/docs/dyn/chat_v1.rooms.html index 873c35fe83c..b263d3e7d9d 100644 --- a/docs/dyn/chat_v1.rooms.html +++ b/docs/dyn/chat_v1.rooms.html @@ -840,6 +840,528 @@

Method Details

], }, ], + "cardsV2": [ # Richly formatted and interactive cards that display UI elements and editable widgets, such as: - Formatted text - Buttons - Clickable images - Checkboxes - Radio buttons - Input widgets. Cards are usually displayed below the text-body of a Chat message, but can situationally appear other places, such as [dialogs](https://developers.google.com/chat/how-tos/dialogs). The `cardId` is a unique identifier among cards in the same message and for identifying user input values. Currently supported widgets include: - `TextParagraph` - `DecoratedText` - `Image` - `ButtonList` + { # Widgets for Chat apps to specify. + "card": { # A card is a UI element that can contain UI widgets such as text and images. For more information, see Cards . For example, the following JSON creates a card that has a header with the name, position, icons, and link for a contact, followed by a section with contact information like email and phone number. ``` { "header": { "title": "Sasha", "subtitle": "Software Engineer", "imageStyle": "ImageStyle.AVATAR", "imageUrl": "https://example.com/sasha.png", "imageAltText": "Avatar for Sasha" }, "sections" : [ { "header": "Contact Info", "widgets": [ { "decorated_text": { "icon": { "knownIcon": "EMAIL" }, "content": "sasha@example.com" } }, { "decoratedText": { "icon": { "knownIcon": "PERSON" }, "content": "Online" } }, { "decoratedText": { "icon": { "knownIcon": "PHONE" }, "content": "+1 (555) 555-1234" } }, { "buttons": [ { "textButton": { "text": "Share", }, "onClick": { "openLink": { "url": "https://example.com/share" } } }, { "textButton": { "text": "Edit", }, "onClick": { "action": { "function": "goToView", "parameters": [ { "key": "viewType", "value": "EDIT" } ], "loadIndicator": "LoadIndicator.SPINNER" } } } ] } ], "collapsible": true, "uncollapsibleWidgetsCount": 3 } ], "cardActions": [ { "actionLabel": "Send Feedback", "onClick": { "openLink": { "url": "https://example.com/feedback" } } } ], "name": "contact-card-K3wB6arF2H9L" } ``` # Card proto that allows Chat apps to specify UI elements and editable widgets. + "cardActions": [ # The card's actions. Actions are added to the card's generated toolbar menu. For example, the following JSON constructs a card action menu with Settings and Send Feedback options: ``` "card_actions": [ { "actionLabel": "Settings", "onClick": { "action": { "functionName": "goToView", "parameters": [ { "key": "viewType", "value": "SETTING" } ], "loadIndicator": "LoadIndicator.SPINNER" } } }, { "actionLabel": "Send Feedback", "onClick": { "openLink": { "url": "https://example.com/feedback" } } } ] ``` + { # A card action is the action associated with the card. For example, an invoice card might include actions such as delete invoice, email invoice, or open the invoice in a browser. + "actionLabel": "A String", # The label that displays as the action menu item. + "onClick": { # Represents the response to an `onClick` event. # The `onClick` action for this action item. + "action": { # An action that describes the behavior when the form is submitted. For example, an Apps Script can be invoked to handle the form. # If specified, an action is triggered by this `onClick`. + "function": "A String", # Apps Script function to invoke when the containing element is clicked/activated. + "loadIndicator": "A String", # Specifies the loading indicator that the action displays while making the call to the action. + "parameters": [ # List of action parameters. + { # List of string parameters to supply when the action method is invoked. For example, consider three snooze buttons: snooze now, snooze 1 day, snooze next week. You might use action method = snooze(), passing the snooze type and snooze time in the list of string parameters. + "key": "A String", # The name of the parameter for the action script. + "value": "A String", # The value of the parameter. + }, + ], + "persistValues": True or False, # Indicates whether form values persist after the action. The default value is `false`. If `true`, form values remain after the action is triggered. When using [LoadIndicator.NONE](workspace/add-ons/reference/rpc/google.apps.card.v1#loadindicator) for actions, `persist_values` = `true`is recommended, as it ensures that any changes made by the user after form or on change actions are sent to the server are not overwritten by the response. If `false`, the form values are cleared when the action is triggered. When `persist_values` is set to `false`, it is strongly recommended that the card use [LoadIndicator.SPINNER](workspace/add-ons/reference/rpc/google.apps.card.v1#loadindicator) for all actions, as this locks the UI to ensure no changes are made by the user while the action is being processed. Not supported by Google Chat apps. + }, + "card": # Object with schema name: GoogleAppsCardV1Card # A new card is pushed to the card stack after clicking if specified. + "openDynamicLinkAction": { # An action that describes the behavior when the form is submitted. For example, an Apps Script can be invoked to handle the form. # An add-on triggers this action when the action needs to open a link. This differs from the `open_link` above in that this needs to talk to server to get the link. Thus some preparation work is required for web client to do before the open link action response comes back. + "function": "A String", # Apps Script function to invoke when the containing element is clicked/activated. + "loadIndicator": "A String", # Specifies the loading indicator that the action displays while making the call to the action. + "parameters": [ # List of action parameters. + { # List of string parameters to supply when the action method is invoked. For example, consider three snooze buttons: snooze now, snooze 1 day, snooze next week. You might use action method = snooze(), passing the snooze type and snooze time in the list of string parameters. + "key": "A String", # The name of the parameter for the action script. + "value": "A String", # The value of the parameter. + }, + ], + "persistValues": True or False, # Indicates whether form values persist after the action. The default value is `false`. If `true`, form values remain after the action is triggered. When using [LoadIndicator.NONE](workspace/add-ons/reference/rpc/google.apps.card.v1#loadindicator) for actions, `persist_values` = `true`is recommended, as it ensures that any changes made by the user after form or on change actions are sent to the server are not overwritten by the response. If `false`, the form values are cleared when the action is triggered. When `persist_values` is set to `false`, it is strongly recommended that the card use [LoadIndicator.SPINNER](workspace/add-ons/reference/rpc/google.apps.card.v1#loadindicator) for all actions, as this locks the UI to ensure no changes are made by the user while the action is being processed. Not supported by Google Chat apps. + }, + "openLink": { # Represents an `onClick` event that opens a hyperlink. # If specified, this `onClick` triggers an open link action. + "onClose": "A String", # Whether the client forgets about a link after opening it, or observes it until the window closes. Not supported by Chat apps. + "openAs": "A String", # How to open a link. Not supported by Chat apps. + "url": "A String", # The URL to open. + }, + }, + }, + ], + "displayStyle": "A String", # The `peekCardHeader` display style for. Not supported by Google Chat apps. + "fixedFooter": { # A persistent (sticky) footer that is added to the bottom of the card. # The fixed footer shown at the bottom of this card. + "primaryButton": { # A button. Can be a text button or an image button. # The primary button of the fixed footer. The button must be a text button with text and color set. + "altText": "A String", # The alternative text used for accessibility. Has no effect when an icon is set; use `icon.alt_text` instead. + "color": { # Represents a color in the RGBA color space. This representation is designed for simplicity of conversion to/from color representations in various languages over compactness. For example, the fields of this representation can be trivially provided to the constructor of `java.awt.Color` in Java; it can also be trivially provided to UIColor's `+colorWithRed:green:blue:alpha` method in iOS; and, with just a little work, it can be easily formatted into a CSS `rgba()` string in JavaScript. This reference page doesn't carry information about the absolute color space that should be used to interpret the RGB value (e.g. sRGB, Adobe RGB, DCI-P3, BT.2020, etc.). By default, applications should assume the sRGB color space. When color equality needs to be decided, implementations, unless documented otherwise, treat two colors as equal if all their red, green, blue, and alpha values each differ by at most 1e-5. Example (Java): import com.google.type.Color; // ... public static java.awt.Color fromProto(Color protocolor) { float alpha = protocolor.hasAlpha() ? protocolor.getAlpha().getValue() : 1.0; return new java.awt.Color( protocolor.getRed(), protocolor.getGreen(), protocolor.getBlue(), alpha); } public static Color toProto(java.awt.Color color) { float red = (float) color.getRed(); float green = (float) color.getGreen(); float blue = (float) color.getBlue(); float denominator = 255.0; Color.Builder resultBuilder = Color .newBuilder() .setRed(red / denominator) .setGreen(green / denominator) .setBlue(blue / denominator); int alpha = color.getAlpha(); if (alpha != 255) { result.setAlpha( FloatValue .newBuilder() .setValue(((float) alpha) / denominator) .build()); } return resultBuilder.build(); } // ... Example (iOS / Obj-C): // ... static UIColor* fromProto(Color* protocolor) { float red = [protocolor red]; float green = [protocolor green]; float blue = [protocolor blue]; FloatValue* alpha_wrapper = [protocolor alpha]; float alpha = 1.0; if (alpha_wrapper != nil) { alpha = [alpha_wrapper value]; } return [UIColor colorWithRed:red green:green blue:blue alpha:alpha]; } static Color* toProto(UIColor* color) { CGFloat red, green, blue, alpha; if (![color getRed:&red green:&green blue:&blue alpha:&alpha]) { return nil; } Color* result = [[Color alloc] init]; [result setRed:red]; [result setGreen:green]; [result setBlue:blue]; if (alpha <= 0.9999) { [result setAlpha:floatWrapperWithValue(alpha)]; } [result autorelease]; return result; } // ... Example (JavaScript): // ... var protoToCssColor = function(rgb_color) { var redFrac = rgb_color.red || 0.0; var greenFrac = rgb_color.green || 0.0; var blueFrac = rgb_color.blue || 0.0; var red = Math.floor(redFrac * 255); var green = Math.floor(greenFrac * 255); var blue = Math.floor(blueFrac * 255); if (!('alpha' in rgb_color)) { return rgbToCssColor(red, green, blue); } var alphaFrac = rgb_color.alpha.value || 0.0; var rgbParams = [red, green, blue].join(','); return ['rgba(', rgbParams, ',', alphaFrac, ')'].join(''); }; var rgbToCssColor = function(red, green, blue) { var rgbNumber = new Number((red << 16) | (green << 8) | blue); var hexString = rgbNumber.toString(16); var missingZeros = 6 - hexString.length; var resultBuilder = ['#']; for (var i = 0; i < missingZeros; i++) { resultBuilder.push('0'); } resultBuilder.push(hexString); return resultBuilder.join(''); }; // ... # If set, the button is filled with a solid background. + "alpha": 3.14, # The fraction of this color that should be applied to the pixel. That is, the final pixel color is defined by the equation: `pixel color = alpha * (this color) + (1.0 - alpha) * (background color)` This means that a value of 1.0 corresponds to a solid color, whereas a value of 0.0 corresponds to a completely transparent color. This uses a wrapper message rather than a simple float scalar so that it is possible to distinguish between a default value and the value being unset. If omitted, this color object is rendered as a solid color (as if the alpha value had been explicitly given a value of 1.0). + "blue": 3.14, # The amount of blue in the color as a value in the interval [0, 1]. + "green": 3.14, # The amount of green in the color as a value in the interval [0, 1]. + "red": 3.14, # The amount of red in the color as a value in the interval [0, 1]. + }, + "disabled": True or False, # If `true`, the button is displayed in a disabled state and doesn't respond to user actions. + "icon": { # The icon image. + "altText": "A String", # The description of the icon, used for accessibility. The default value is provided if you don't specify one. + "iconUrl": "A String", # The icon specified by a URL. + "imageType": "A String", # The crop style applied to the image. In some cases, applying a `CIRCLE` crop causes the image to be drawn larger than a standard icon. + "knownIcon": "A String", # The icon specified by the string name of a list of known icons. + }, + "onClick": { # Represents the response to an `onClick` event. # The action to perform when the button is clicked. + "action": { # An action that describes the behavior when the form is submitted. For example, an Apps Script can be invoked to handle the form. # If specified, an action is triggered by this `onClick`. + "function": "A String", # Apps Script function to invoke when the containing element is clicked/activated. + "loadIndicator": "A String", # Specifies the loading indicator that the action displays while making the call to the action. + "parameters": [ # List of action parameters. + { # List of string parameters to supply when the action method is invoked. For example, consider three snooze buttons: snooze now, snooze 1 day, snooze next week. You might use action method = snooze(), passing the snooze type and snooze time in the list of string parameters. + "key": "A String", # The name of the parameter for the action script. + "value": "A String", # The value of the parameter. + }, + ], + "persistValues": True or False, # Indicates whether form values persist after the action. The default value is `false`. If `true`, form values remain after the action is triggered. When using [LoadIndicator.NONE](workspace/add-ons/reference/rpc/google.apps.card.v1#loadindicator) for actions, `persist_values` = `true`is recommended, as it ensures that any changes made by the user after form or on change actions are sent to the server are not overwritten by the response. If `false`, the form values are cleared when the action is triggered. When `persist_values` is set to `false`, it is strongly recommended that the card use [LoadIndicator.SPINNER](workspace/add-ons/reference/rpc/google.apps.card.v1#loadindicator) for all actions, as this locks the UI to ensure no changes are made by the user while the action is being processed. Not supported by Google Chat apps. + }, + "card": # Object with schema name: GoogleAppsCardV1Card # A new card is pushed to the card stack after clicking if specified. + "openDynamicLinkAction": { # An action that describes the behavior when the form is submitted. For example, an Apps Script can be invoked to handle the form. # An add-on triggers this action when the action needs to open a link. This differs from the `open_link` above in that this needs to talk to server to get the link. Thus some preparation work is required for web client to do before the open link action response comes back. + "function": "A String", # Apps Script function to invoke when the containing element is clicked/activated. + "loadIndicator": "A String", # Specifies the loading indicator that the action displays while making the call to the action. + "parameters": [ # List of action parameters. + { # List of string parameters to supply when the action method is invoked. For example, consider three snooze buttons: snooze now, snooze 1 day, snooze next week. You might use action method = snooze(), passing the snooze type and snooze time in the list of string parameters. + "key": "A String", # The name of the parameter for the action script. + "value": "A String", # The value of the parameter. + }, + ], + "persistValues": True or False, # Indicates whether form values persist after the action. The default value is `false`. If `true`, form values remain after the action is triggered. When using [LoadIndicator.NONE](workspace/add-ons/reference/rpc/google.apps.card.v1#loadindicator) for actions, `persist_values` = `true`is recommended, as it ensures that any changes made by the user after form or on change actions are sent to the server are not overwritten by the response. If `false`, the form values are cleared when the action is triggered. When `persist_values` is set to `false`, it is strongly recommended that the card use [LoadIndicator.SPINNER](workspace/add-ons/reference/rpc/google.apps.card.v1#loadindicator) for all actions, as this locks the UI to ensure no changes are made by the user while the action is being processed. Not supported by Google Chat apps. + }, + "openLink": { # Represents an `onClick` event that opens a hyperlink. # If specified, this `onClick` triggers an open link action. + "onClose": "A String", # Whether the client forgets about a link after opening it, or observes it until the window closes. Not supported by Chat apps. + "openAs": "A String", # How to open a link. Not supported by Chat apps. + "url": "A String", # The URL to open. + }, + }, + "text": "A String", # The text of the button. + }, + "secondaryButton": { # A button. Can be a text button or an image button. # The secondary button of the fixed footer. The button must be a text button with text and color set. `primaryButton` must be set if `secondaryButton` is set. + "altText": "A String", # The alternative text used for accessibility. Has no effect when an icon is set; use `icon.alt_text` instead. + "color": { # Represents a color in the RGBA color space. This representation is designed for simplicity of conversion to/from color representations in various languages over compactness. For example, the fields of this representation can be trivially provided to the constructor of `java.awt.Color` in Java; it can also be trivially provided to UIColor's `+colorWithRed:green:blue:alpha` method in iOS; and, with just a little work, it can be easily formatted into a CSS `rgba()` string in JavaScript. This reference page doesn't carry information about the absolute color space that should be used to interpret the RGB value (e.g. sRGB, Adobe RGB, DCI-P3, BT.2020, etc.). By default, applications should assume the sRGB color space. When color equality needs to be decided, implementations, unless documented otherwise, treat two colors as equal if all their red, green, blue, and alpha values each differ by at most 1e-5. Example (Java): import com.google.type.Color; // ... public static java.awt.Color fromProto(Color protocolor) { float alpha = protocolor.hasAlpha() ? protocolor.getAlpha().getValue() : 1.0; return new java.awt.Color( protocolor.getRed(), protocolor.getGreen(), protocolor.getBlue(), alpha); } public static Color toProto(java.awt.Color color) { float red = (float) color.getRed(); float green = (float) color.getGreen(); float blue = (float) color.getBlue(); float denominator = 255.0; Color.Builder resultBuilder = Color .newBuilder() .setRed(red / denominator) .setGreen(green / denominator) .setBlue(blue / denominator); int alpha = color.getAlpha(); if (alpha != 255) { result.setAlpha( FloatValue .newBuilder() .setValue(((float) alpha) / denominator) .build()); } return resultBuilder.build(); } // ... Example (iOS / Obj-C): // ... static UIColor* fromProto(Color* protocolor) { float red = [protocolor red]; float green = [protocolor green]; float blue = [protocolor blue]; FloatValue* alpha_wrapper = [protocolor alpha]; float alpha = 1.0; if (alpha_wrapper != nil) { alpha = [alpha_wrapper value]; } return [UIColor colorWithRed:red green:green blue:blue alpha:alpha]; } static Color* toProto(UIColor* color) { CGFloat red, green, blue, alpha; if (![color getRed:&red green:&green blue:&blue alpha:&alpha]) { return nil; } Color* result = [[Color alloc] init]; [result setRed:red]; [result setGreen:green]; [result setBlue:blue]; if (alpha <= 0.9999) { [result setAlpha:floatWrapperWithValue(alpha)]; } [result autorelease]; return result; } // ... Example (JavaScript): // ... var protoToCssColor = function(rgb_color) { var redFrac = rgb_color.red || 0.0; var greenFrac = rgb_color.green || 0.0; var blueFrac = rgb_color.blue || 0.0; var red = Math.floor(redFrac * 255); var green = Math.floor(greenFrac * 255); var blue = Math.floor(blueFrac * 255); if (!('alpha' in rgb_color)) { return rgbToCssColor(red, green, blue); } var alphaFrac = rgb_color.alpha.value || 0.0; var rgbParams = [red, green, blue].join(','); return ['rgba(', rgbParams, ',', alphaFrac, ')'].join(''); }; var rgbToCssColor = function(red, green, blue) { var rgbNumber = new Number((red << 16) | (green << 8) | blue); var hexString = rgbNumber.toString(16); var missingZeros = 6 - hexString.length; var resultBuilder = ['#']; for (var i = 0; i < missingZeros; i++) { resultBuilder.push('0'); } resultBuilder.push(hexString); return resultBuilder.join(''); }; // ... # If set, the button is filled with a solid background. + "alpha": 3.14, # The fraction of this color that should be applied to the pixel. That is, the final pixel color is defined by the equation: `pixel color = alpha * (this color) + (1.0 - alpha) * (background color)` This means that a value of 1.0 corresponds to a solid color, whereas a value of 0.0 corresponds to a completely transparent color. This uses a wrapper message rather than a simple float scalar so that it is possible to distinguish between a default value and the value being unset. If omitted, this color object is rendered as a solid color (as if the alpha value had been explicitly given a value of 1.0). + "blue": 3.14, # The amount of blue in the color as a value in the interval [0, 1]. + "green": 3.14, # The amount of green in the color as a value in the interval [0, 1]. + "red": 3.14, # The amount of red in the color as a value in the interval [0, 1]. + }, + "disabled": True or False, # If `true`, the button is displayed in a disabled state and doesn't respond to user actions. + "icon": { # The icon image. + "altText": "A String", # The description of the icon, used for accessibility. The default value is provided if you don't specify one. + "iconUrl": "A String", # The icon specified by a URL. + "imageType": "A String", # The crop style applied to the image. In some cases, applying a `CIRCLE` crop causes the image to be drawn larger than a standard icon. + "knownIcon": "A String", # The icon specified by the string name of a list of known icons. + }, + "onClick": { # Represents the response to an `onClick` event. # The action to perform when the button is clicked. + "action": { # An action that describes the behavior when the form is submitted. For example, an Apps Script can be invoked to handle the form. # If specified, an action is triggered by this `onClick`. + "function": "A String", # Apps Script function to invoke when the containing element is clicked/activated. + "loadIndicator": "A String", # Specifies the loading indicator that the action displays while making the call to the action. + "parameters": [ # List of action parameters. + { # List of string parameters to supply when the action method is invoked. For example, consider three snooze buttons: snooze now, snooze 1 day, snooze next week. You might use action method = snooze(), passing the snooze type and snooze time in the list of string parameters. + "key": "A String", # The name of the parameter for the action script. + "value": "A String", # The value of the parameter. + }, + ], + "persistValues": True or False, # Indicates whether form values persist after the action. The default value is `false`. If `true`, form values remain after the action is triggered. When using [LoadIndicator.NONE](workspace/add-ons/reference/rpc/google.apps.card.v1#loadindicator) for actions, `persist_values` = `true`is recommended, as it ensures that any changes made by the user after form or on change actions are sent to the server are not overwritten by the response. If `false`, the form values are cleared when the action is triggered. When `persist_values` is set to `false`, it is strongly recommended that the card use [LoadIndicator.SPINNER](workspace/add-ons/reference/rpc/google.apps.card.v1#loadindicator) for all actions, as this locks the UI to ensure no changes are made by the user while the action is being processed. Not supported by Google Chat apps. + }, + "card": # Object with schema name: GoogleAppsCardV1Card # A new card is pushed to the card stack after clicking if specified. + "openDynamicLinkAction": { # An action that describes the behavior when the form is submitted. For example, an Apps Script can be invoked to handle the form. # An add-on triggers this action when the action needs to open a link. This differs from the `open_link` above in that this needs to talk to server to get the link. Thus some preparation work is required for web client to do before the open link action response comes back. + "function": "A String", # Apps Script function to invoke when the containing element is clicked/activated. + "loadIndicator": "A String", # Specifies the loading indicator that the action displays while making the call to the action. + "parameters": [ # List of action parameters. + { # List of string parameters to supply when the action method is invoked. For example, consider three snooze buttons: snooze now, snooze 1 day, snooze next week. You might use action method = snooze(), passing the snooze type and snooze time in the list of string parameters. + "key": "A String", # The name of the parameter for the action script. + "value": "A String", # The value of the parameter. + }, + ], + "persistValues": True or False, # Indicates whether form values persist after the action. The default value is `false`. If `true`, form values remain after the action is triggered. When using [LoadIndicator.NONE](workspace/add-ons/reference/rpc/google.apps.card.v1#loadindicator) for actions, `persist_values` = `true`is recommended, as it ensures that any changes made by the user after form or on change actions are sent to the server are not overwritten by the response. If `false`, the form values are cleared when the action is triggered. When `persist_values` is set to `false`, it is strongly recommended that the card use [LoadIndicator.SPINNER](workspace/add-ons/reference/rpc/google.apps.card.v1#loadindicator) for all actions, as this locks the UI to ensure no changes are made by the user while the action is being processed. Not supported by Google Chat apps. + }, + "openLink": { # Represents an `onClick` event that opens a hyperlink. # If specified, this `onClick` triggers an open link action. + "onClose": "A String", # Whether the client forgets about a link after opening it, or observes it until the window closes. Not supported by Chat apps. + "openAs": "A String", # How to open a link. Not supported by Chat apps. + "url": "A String", # The URL to open. + }, + }, + "text": "A String", # The text of the button. + }, + }, + "header": { # Represents a card header. # The header of the card. A header usually contains a title and an image. + "imageAltText": "A String", # The alternative text of this image which is used for accessibility. + "imageType": "A String", # The image's type. + "imageUrl": "A String", # The URL of the image in the card header. + "subtitle": "A String", # The subtitle of the card header. + "title": "A String", # Required. The title of the card header. The header has a fixed height: if both a title and subtitle are specified, each takes up one line. If only the title is specified, it takes up both lines. + }, + "name": "A String", # Name of the card. Used as a card identifier in card navigation. + "peekCardHeader": { # Represents a card header. # When displaying contextual content, the peek card header acts as a placeholder so that the user can navigate forward between the homepage cards and the contextual cards. Not supported by Google Chat apps. + "imageAltText": "A String", # The alternative text of this image which is used for accessibility. + "imageType": "A String", # The image's type. + "imageUrl": "A String", # The URL of the image in the card header. + "subtitle": "A String", # The subtitle of the card header. + "title": "A String", # Required. The title of the card header. The header has a fixed height: if both a title and subtitle are specified, each takes up one line. If only the title is specified, it takes up both lines. + }, + "sections": [ # Sections are separated by a line divider. + { # A section contains a collection of widgets that are rendered vertically in the order that they are specified. Across all platforms, cards have a narrow fixed width, so there is currently no need for layout properties, for example, float. + "collapsible": True or False, # Indicates whether this section is collapsible. If a section is collapsible, the description must be given. + "header": "A String", # The header of the section. Formatted text is supported. + "uncollapsibleWidgetsCount": 42, # The number of uncollapsible widgets. For example, when a section contains five widgets and the `uncollapsibleWidgetsCount` is set to `2`, the first two widgets are always shown and the last three are collapsed as default. The `uncollapsibleWidgetsCount` is taken into account only when `collapsible` is `true`. + "widgets": [ # A section must contain at least 1 widget. + { # A widget is a UI element that presents texts, images, etc. + "buttonList": { # A list of buttons layed out horizontally. # A list of buttons. For example, the following JSON creates two buttons. The first is a filled text button and the second is an image button that opens a link: ``` "buttonList": { "buttons": [ "button": { "text": "Edit", "Color": { "Red": 255 "Green": 255 "Blue": 255 } "disabled": true }, "button": { "icon": { "knownIcon": "INVITE" "altText": "check calendar" }, "onClick": { "openLink": { "url": "https://example.com/calendar" } } }, ] } ``` + "buttons": [ # An array of buttons. + { # A button. Can be a text button or an image button. + "altText": "A String", # The alternative text used for accessibility. Has no effect when an icon is set; use `icon.alt_text` instead. + "color": { # Represents a color in the RGBA color space. This representation is designed for simplicity of conversion to/from color representations in various languages over compactness. For example, the fields of this representation can be trivially provided to the constructor of `java.awt.Color` in Java; it can also be trivially provided to UIColor's `+colorWithRed:green:blue:alpha` method in iOS; and, with just a little work, it can be easily formatted into a CSS `rgba()` string in JavaScript. This reference page doesn't carry information about the absolute color space that should be used to interpret the RGB value (e.g. sRGB, Adobe RGB, DCI-P3, BT.2020, etc.). By default, applications should assume the sRGB color space. When color equality needs to be decided, implementations, unless documented otherwise, treat two colors as equal if all their red, green, blue, and alpha values each differ by at most 1e-5. Example (Java): import com.google.type.Color; // ... public static java.awt.Color fromProto(Color protocolor) { float alpha = protocolor.hasAlpha() ? protocolor.getAlpha().getValue() : 1.0; return new java.awt.Color( protocolor.getRed(), protocolor.getGreen(), protocolor.getBlue(), alpha); } public static Color toProto(java.awt.Color color) { float red = (float) color.getRed(); float green = (float) color.getGreen(); float blue = (float) color.getBlue(); float denominator = 255.0; Color.Builder resultBuilder = Color .newBuilder() .setRed(red / denominator) .setGreen(green / denominator) .setBlue(blue / denominator); int alpha = color.getAlpha(); if (alpha != 255) { result.setAlpha( FloatValue .newBuilder() .setValue(((float) alpha) / denominator) .build()); } return resultBuilder.build(); } // ... Example (iOS / Obj-C): // ... static UIColor* fromProto(Color* protocolor) { float red = [protocolor red]; float green = [protocolor green]; float blue = [protocolor blue]; FloatValue* alpha_wrapper = [protocolor alpha]; float alpha = 1.0; if (alpha_wrapper != nil) { alpha = [alpha_wrapper value]; } return [UIColor colorWithRed:red green:green blue:blue alpha:alpha]; } static Color* toProto(UIColor* color) { CGFloat red, green, blue, alpha; if (![color getRed:&red green:&green blue:&blue alpha:&alpha]) { return nil; } Color* result = [[Color alloc] init]; [result setRed:red]; [result setGreen:green]; [result setBlue:blue]; if (alpha <= 0.9999) { [result setAlpha:floatWrapperWithValue(alpha)]; } [result autorelease]; return result; } // ... Example (JavaScript): // ... var protoToCssColor = function(rgb_color) { var redFrac = rgb_color.red || 0.0; var greenFrac = rgb_color.green || 0.0; var blueFrac = rgb_color.blue || 0.0; var red = Math.floor(redFrac * 255); var green = Math.floor(greenFrac * 255); var blue = Math.floor(blueFrac * 255); if (!('alpha' in rgb_color)) { return rgbToCssColor(red, green, blue); } var alphaFrac = rgb_color.alpha.value || 0.0; var rgbParams = [red, green, blue].join(','); return ['rgba(', rgbParams, ',', alphaFrac, ')'].join(''); }; var rgbToCssColor = function(red, green, blue) { var rgbNumber = new Number((red << 16) | (green << 8) | blue); var hexString = rgbNumber.toString(16); var missingZeros = 6 - hexString.length; var resultBuilder = ['#']; for (var i = 0; i < missingZeros; i++) { resultBuilder.push('0'); } resultBuilder.push(hexString); return resultBuilder.join(''); }; // ... # If set, the button is filled with a solid background. + "alpha": 3.14, # The fraction of this color that should be applied to the pixel. That is, the final pixel color is defined by the equation: `pixel color = alpha * (this color) + (1.0 - alpha) * (background color)` This means that a value of 1.0 corresponds to a solid color, whereas a value of 0.0 corresponds to a completely transparent color. This uses a wrapper message rather than a simple float scalar so that it is possible to distinguish between a default value and the value being unset. If omitted, this color object is rendered as a solid color (as if the alpha value had been explicitly given a value of 1.0). + "blue": 3.14, # The amount of blue in the color as a value in the interval [0, 1]. + "green": 3.14, # The amount of green in the color as a value in the interval [0, 1]. + "red": 3.14, # The amount of red in the color as a value in the interval [0, 1]. + }, + "disabled": True or False, # If `true`, the button is displayed in a disabled state and doesn't respond to user actions. + "icon": { # The icon image. + "altText": "A String", # The description of the icon, used for accessibility. The default value is provided if you don't specify one. + "iconUrl": "A String", # The icon specified by a URL. + "imageType": "A String", # The crop style applied to the image. In some cases, applying a `CIRCLE` crop causes the image to be drawn larger than a standard icon. + "knownIcon": "A String", # The icon specified by the string name of a list of known icons. + }, + "onClick": { # Represents the response to an `onClick` event. # The action to perform when the button is clicked. + "action": { # An action that describes the behavior when the form is submitted. For example, an Apps Script can be invoked to handle the form. # If specified, an action is triggered by this `onClick`. + "function": "A String", # Apps Script function to invoke when the containing element is clicked/activated. + "loadIndicator": "A String", # Specifies the loading indicator that the action displays while making the call to the action. + "parameters": [ # List of action parameters. + { # List of string parameters to supply when the action method is invoked. For example, consider three snooze buttons: snooze now, snooze 1 day, snooze next week. You might use action method = snooze(), passing the snooze type and snooze time in the list of string parameters. + "key": "A String", # The name of the parameter for the action script. + "value": "A String", # The value of the parameter. + }, + ], + "persistValues": True or False, # Indicates whether form values persist after the action. The default value is `false`. If `true`, form values remain after the action is triggered. When using [LoadIndicator.NONE](workspace/add-ons/reference/rpc/google.apps.card.v1#loadindicator) for actions, `persist_values` = `true`is recommended, as it ensures that any changes made by the user after form or on change actions are sent to the server are not overwritten by the response. If `false`, the form values are cleared when the action is triggered. When `persist_values` is set to `false`, it is strongly recommended that the card use [LoadIndicator.SPINNER](workspace/add-ons/reference/rpc/google.apps.card.v1#loadindicator) for all actions, as this locks the UI to ensure no changes are made by the user while the action is being processed. Not supported by Google Chat apps. + }, + "card": # Object with schema name: GoogleAppsCardV1Card # A new card is pushed to the card stack after clicking if specified. + "openDynamicLinkAction": { # An action that describes the behavior when the form is submitted. For example, an Apps Script can be invoked to handle the form. # An add-on triggers this action when the action needs to open a link. This differs from the `open_link` above in that this needs to talk to server to get the link. Thus some preparation work is required for web client to do before the open link action response comes back. + "function": "A String", # Apps Script function to invoke when the containing element is clicked/activated. + "loadIndicator": "A String", # Specifies the loading indicator that the action displays while making the call to the action. + "parameters": [ # List of action parameters. + { # List of string parameters to supply when the action method is invoked. For example, consider three snooze buttons: snooze now, snooze 1 day, snooze next week. You might use action method = snooze(), passing the snooze type and snooze time in the list of string parameters. + "key": "A String", # The name of the parameter for the action script. + "value": "A String", # The value of the parameter. + }, + ], + "persistValues": True or False, # Indicates whether form values persist after the action. The default value is `false`. If `true`, form values remain after the action is triggered. When using [LoadIndicator.NONE](workspace/add-ons/reference/rpc/google.apps.card.v1#loadindicator) for actions, `persist_values` = `true`is recommended, as it ensures that any changes made by the user after form or on change actions are sent to the server are not overwritten by the response. If `false`, the form values are cleared when the action is triggered. When `persist_values` is set to `false`, it is strongly recommended that the card use [LoadIndicator.SPINNER](workspace/add-ons/reference/rpc/google.apps.card.v1#loadindicator) for all actions, as this locks the UI to ensure no changes are made by the user while the action is being processed. Not supported by Google Chat apps. + }, + "openLink": { # Represents an `onClick` event that opens a hyperlink. # If specified, this `onClick` triggers an open link action. + "onClose": "A String", # Whether the client forgets about a link after opening it, or observes it until the window closes. Not supported by Chat apps. + "openAs": "A String", # How to open a link. Not supported by Chat apps. + "url": "A String", # The URL to open. + }, + }, + "text": "A String", # The text of the button. + }, + ], + }, + "dateTimePicker": { # The widget that lets users to specify a date and time. Not supported by Google Chat apps. # Displays a selection/input widget for date/time. For example, the following JSON creates a date/time picker for an appointment time: ``` "date_time_picker": { "name": "appointment_time", "label": "Book your appointment at:", "type": "DateTimePickerType.DATE_AND_TIME", "valueMsEpoch": "796435200000" } ``` + "label": "A String", # The label for the field that displays to the user. + "name": "A String", # The name of the text input that's used in `formInput`, and uniquely identifies this input. + "onChangeAction": { # An action that describes the behavior when the form is submitted. For example, an Apps Script can be invoked to handle the form. # Triggered when the user clicks Save or Clear from the date/time picker dialog. This is only triggered if the value changed as a result of the Save/Clear operation. + "function": "A String", # Apps Script function to invoke when the containing element is clicked/activated. + "loadIndicator": "A String", # Specifies the loading indicator that the action displays while making the call to the action. + "parameters": [ # List of action parameters. + { # List of string parameters to supply when the action method is invoked. For example, consider three snooze buttons: snooze now, snooze 1 day, snooze next week. You might use action method = snooze(), passing the snooze type and snooze time in the list of string parameters. + "key": "A String", # The name of the parameter for the action script. + "value": "A String", # The value of the parameter. + }, + ], + "persistValues": True or False, # Indicates whether form values persist after the action. The default value is `false`. If `true`, form values remain after the action is triggered. When using [LoadIndicator.NONE](workspace/add-ons/reference/rpc/google.apps.card.v1#loadindicator) for actions, `persist_values` = `true`is recommended, as it ensures that any changes made by the user after form or on change actions are sent to the server are not overwritten by the response. If `false`, the form values are cleared when the action is triggered. When `persist_values` is set to `false`, it is strongly recommended that the card use [LoadIndicator.SPINNER](workspace/add-ons/reference/rpc/google.apps.card.v1#loadindicator) for all actions, as this locks the UI to ensure no changes are made by the user while the action is being processed. Not supported by Google Chat apps. + }, + "timezoneOffsetDate": 42, # The number representing the time zone offset from UTC, in minutes. If set, the `value_ms_epoch` is displayed in the specified time zone. If not set, it uses the user's time zone setting on the client side. + "type": "A String", # The type of the date/time picker. + "valueMsEpoch": "A String", # The value to display as the default value before user input or previous user input. It is represented in milliseconds (Epoch time). For `DATE_AND_TIME` type, the full epoch value is used. For `DATE_ONLY` type, only date of the epoch time is used. For `TIME_ONLY` type, only time of the epoch time is used. For example, you can set epoch time to `3 * 60 * 60 * 1000` to represent 3am. + }, + "decoratedText": { # A widget that displays text with optional decorations such as a label above or below the text, an icon in front of the text, a selection widget or a button after the text. # Displays a decorated text item in this widget. For example, the following JSON creates a decorated text widget showing email address: ``` "decoratedText": { "icon": { "knownIcon": "EMAIL" }, "topLabel": "Email Address", "content": "sasha@example.com", "bottomLabel": "This is a new Email address!", "switchWidget": { "name": "has_send_welcome_email_to_sasha", "selected": false, "controlType": "ControlType.CHECKBOX" } } ``` + "bottomLabel": "A String", # The formatted text label that shows below the main text. + "button": { # A button. Can be a text button or an image button. # A button that can be clicked to trigger an action. + "altText": "A String", # The alternative text used for accessibility. Has no effect when an icon is set; use `icon.alt_text` instead. + "color": { # Represents a color in the RGBA color space. This representation is designed for simplicity of conversion to/from color representations in various languages over compactness. For example, the fields of this representation can be trivially provided to the constructor of `java.awt.Color` in Java; it can also be trivially provided to UIColor's `+colorWithRed:green:blue:alpha` method in iOS; and, with just a little work, it can be easily formatted into a CSS `rgba()` string in JavaScript. This reference page doesn't carry information about the absolute color space that should be used to interpret the RGB value (e.g. sRGB, Adobe RGB, DCI-P3, BT.2020, etc.). By default, applications should assume the sRGB color space. When color equality needs to be decided, implementations, unless documented otherwise, treat two colors as equal if all their red, green, blue, and alpha values each differ by at most 1e-5. Example (Java): import com.google.type.Color; // ... public static java.awt.Color fromProto(Color protocolor) { float alpha = protocolor.hasAlpha() ? protocolor.getAlpha().getValue() : 1.0; return new java.awt.Color( protocolor.getRed(), protocolor.getGreen(), protocolor.getBlue(), alpha); } public static Color toProto(java.awt.Color color) { float red = (float) color.getRed(); float green = (float) color.getGreen(); float blue = (float) color.getBlue(); float denominator = 255.0; Color.Builder resultBuilder = Color .newBuilder() .setRed(red / denominator) .setGreen(green / denominator) .setBlue(blue / denominator); int alpha = color.getAlpha(); if (alpha != 255) { result.setAlpha( FloatValue .newBuilder() .setValue(((float) alpha) / denominator) .build()); } return resultBuilder.build(); } // ... Example (iOS / Obj-C): // ... static UIColor* fromProto(Color* protocolor) { float red = [protocolor red]; float green = [protocolor green]; float blue = [protocolor blue]; FloatValue* alpha_wrapper = [protocolor alpha]; float alpha = 1.0; if (alpha_wrapper != nil) { alpha = [alpha_wrapper value]; } return [UIColor colorWithRed:red green:green blue:blue alpha:alpha]; } static Color* toProto(UIColor* color) { CGFloat red, green, blue, alpha; if (![color getRed:&red green:&green blue:&blue alpha:&alpha]) { return nil; } Color* result = [[Color alloc] init]; [result setRed:red]; [result setGreen:green]; [result setBlue:blue]; if (alpha <= 0.9999) { [result setAlpha:floatWrapperWithValue(alpha)]; } [result autorelease]; return result; } // ... Example (JavaScript): // ... var protoToCssColor = function(rgb_color) { var redFrac = rgb_color.red || 0.0; var greenFrac = rgb_color.green || 0.0; var blueFrac = rgb_color.blue || 0.0; var red = Math.floor(redFrac * 255); var green = Math.floor(greenFrac * 255); var blue = Math.floor(blueFrac * 255); if (!('alpha' in rgb_color)) { return rgbToCssColor(red, green, blue); } var alphaFrac = rgb_color.alpha.value || 0.0; var rgbParams = [red, green, blue].join(','); return ['rgba(', rgbParams, ',', alphaFrac, ')'].join(''); }; var rgbToCssColor = function(red, green, blue) { var rgbNumber = new Number((red << 16) | (green << 8) | blue); var hexString = rgbNumber.toString(16); var missingZeros = 6 - hexString.length; var resultBuilder = ['#']; for (var i = 0; i < missingZeros; i++) { resultBuilder.push('0'); } resultBuilder.push(hexString); return resultBuilder.join(''); }; // ... # If set, the button is filled with a solid background. + "alpha": 3.14, # The fraction of this color that should be applied to the pixel. That is, the final pixel color is defined by the equation: `pixel color = alpha * (this color) + (1.0 - alpha) * (background color)` This means that a value of 1.0 corresponds to a solid color, whereas a value of 0.0 corresponds to a completely transparent color. This uses a wrapper message rather than a simple float scalar so that it is possible to distinguish between a default value and the value being unset. If omitted, this color object is rendered as a solid color (as if the alpha value had been explicitly given a value of 1.0). + "blue": 3.14, # The amount of blue in the color as a value in the interval [0, 1]. + "green": 3.14, # The amount of green in the color as a value in the interval [0, 1]. + "red": 3.14, # The amount of red in the color as a value in the interval [0, 1]. + }, + "disabled": True or False, # If `true`, the button is displayed in a disabled state and doesn't respond to user actions. + "icon": { # The icon image. + "altText": "A String", # The description of the icon, used for accessibility. The default value is provided if you don't specify one. + "iconUrl": "A String", # The icon specified by a URL. + "imageType": "A String", # The crop style applied to the image. In some cases, applying a `CIRCLE` crop causes the image to be drawn larger than a standard icon. + "knownIcon": "A String", # The icon specified by the string name of a list of known icons. + }, + "onClick": { # Represents the response to an `onClick` event. # The action to perform when the button is clicked. + "action": { # An action that describes the behavior when the form is submitted. For example, an Apps Script can be invoked to handle the form. # If specified, an action is triggered by this `onClick`. + "function": "A String", # Apps Script function to invoke when the containing element is clicked/activated. + "loadIndicator": "A String", # Specifies the loading indicator that the action displays while making the call to the action. + "parameters": [ # List of action parameters. + { # List of string parameters to supply when the action method is invoked. For example, consider three snooze buttons: snooze now, snooze 1 day, snooze next week. You might use action method = snooze(), passing the snooze type and snooze time in the list of string parameters. + "key": "A String", # The name of the parameter for the action script. + "value": "A String", # The value of the parameter. + }, + ], + "persistValues": True or False, # Indicates whether form values persist after the action. The default value is `false`. If `true`, form values remain after the action is triggered. When using [LoadIndicator.NONE](workspace/add-ons/reference/rpc/google.apps.card.v1#loadindicator) for actions, `persist_values` = `true`is recommended, as it ensures that any changes made by the user after form or on change actions are sent to the server are not overwritten by the response. If `false`, the form values are cleared when the action is triggered. When `persist_values` is set to `false`, it is strongly recommended that the card use [LoadIndicator.SPINNER](workspace/add-ons/reference/rpc/google.apps.card.v1#loadindicator) for all actions, as this locks the UI to ensure no changes are made by the user while the action is being processed. Not supported by Google Chat apps. + }, + "card": # Object with schema name: GoogleAppsCardV1Card # A new card is pushed to the card stack after clicking if specified. + "openDynamicLinkAction": { # An action that describes the behavior when the form is submitted. For example, an Apps Script can be invoked to handle the form. # An add-on triggers this action when the action needs to open a link. This differs from the `open_link` above in that this needs to talk to server to get the link. Thus some preparation work is required for web client to do before the open link action response comes back. + "function": "A String", # Apps Script function to invoke when the containing element is clicked/activated. + "loadIndicator": "A String", # Specifies the loading indicator that the action displays while making the call to the action. + "parameters": [ # List of action parameters. + { # List of string parameters to supply when the action method is invoked. For example, consider three snooze buttons: snooze now, snooze 1 day, snooze next week. You might use action method = snooze(), passing the snooze type and snooze time in the list of string parameters. + "key": "A String", # The name of the parameter for the action script. + "value": "A String", # The value of the parameter. + }, + ], + "persistValues": True or False, # Indicates whether form values persist after the action. The default value is `false`. If `true`, form values remain after the action is triggered. When using [LoadIndicator.NONE](workspace/add-ons/reference/rpc/google.apps.card.v1#loadindicator) for actions, `persist_values` = `true`is recommended, as it ensures that any changes made by the user after form or on change actions are sent to the server are not overwritten by the response. If `false`, the form values are cleared when the action is triggered. When `persist_values` is set to `false`, it is strongly recommended that the card use [LoadIndicator.SPINNER](workspace/add-ons/reference/rpc/google.apps.card.v1#loadindicator) for all actions, as this locks the UI to ensure no changes are made by the user while the action is being processed. Not supported by Google Chat apps. + }, + "openLink": { # Represents an `onClick` event that opens a hyperlink. # If specified, this `onClick` triggers an open link action. + "onClose": "A String", # Whether the client forgets about a link after opening it, or observes it until the window closes. Not supported by Chat apps. + "openAs": "A String", # How to open a link. Not supported by Chat apps. + "url": "A String", # The URL to open. + }, + }, + "text": "A String", # The text of the button. + }, + "endIcon": { # An icon displayed after the text. + "altText": "A String", # The description of the icon, used for accessibility. The default value is provided if you don't specify one. + "iconUrl": "A String", # The icon specified by a URL. + "imageType": "A String", # The crop style applied to the image. In some cases, applying a `CIRCLE` crop causes the image to be drawn larger than a standard icon. + "knownIcon": "A String", # The icon specified by the string name of a list of known icons. + }, + "icon": { # Deprecated in favor of start_icon. + "altText": "A String", # The description of the icon, used for accessibility. The default value is provided if you don't specify one. + "iconUrl": "A String", # The icon specified by a URL. + "imageType": "A String", # The crop style applied to the image. In some cases, applying a `CIRCLE` crop causes the image to be drawn larger than a standard icon. + "knownIcon": "A String", # The icon specified by the string name of a list of known icons. + }, + "onClick": { # Represents the response to an `onClick` event. # Only the top and bottom label and content region are clickable. + "action": { # An action that describes the behavior when the form is submitted. For example, an Apps Script can be invoked to handle the form. # If specified, an action is triggered by this `onClick`. + "function": "A String", # Apps Script function to invoke when the containing element is clicked/activated. + "loadIndicator": "A String", # Specifies the loading indicator that the action displays while making the call to the action. + "parameters": [ # List of action parameters. + { # List of string parameters to supply when the action method is invoked. For example, consider three snooze buttons: snooze now, snooze 1 day, snooze next week. You might use action method = snooze(), passing the snooze type and snooze time in the list of string parameters. + "key": "A String", # The name of the parameter for the action script. + "value": "A String", # The value of the parameter. + }, + ], + "persistValues": True or False, # Indicates whether form values persist after the action. The default value is `false`. If `true`, form values remain after the action is triggered. When using [LoadIndicator.NONE](workspace/add-ons/reference/rpc/google.apps.card.v1#loadindicator) for actions, `persist_values` = `true`is recommended, as it ensures that any changes made by the user after form or on change actions are sent to the server are not overwritten by the response. If `false`, the form values are cleared when the action is triggered. When `persist_values` is set to `false`, it is strongly recommended that the card use [LoadIndicator.SPINNER](workspace/add-ons/reference/rpc/google.apps.card.v1#loadindicator) for all actions, as this locks the UI to ensure no changes are made by the user while the action is being processed. Not supported by Google Chat apps. + }, + "card": # Object with schema name: GoogleAppsCardV1Card # A new card is pushed to the card stack after clicking if specified. + "openDynamicLinkAction": { # An action that describes the behavior when the form is submitted. For example, an Apps Script can be invoked to handle the form. # An add-on triggers this action when the action needs to open a link. This differs from the `open_link` above in that this needs to talk to server to get the link. Thus some preparation work is required for web client to do before the open link action response comes back. + "function": "A String", # Apps Script function to invoke when the containing element is clicked/activated. + "loadIndicator": "A String", # Specifies the loading indicator that the action displays while making the call to the action. + "parameters": [ # List of action parameters. + { # List of string parameters to supply when the action method is invoked. For example, consider three snooze buttons: snooze now, snooze 1 day, snooze next week. You might use action method = snooze(), passing the snooze type and snooze time in the list of string parameters. + "key": "A String", # The name of the parameter for the action script. + "value": "A String", # The value of the parameter. + }, + ], + "persistValues": True or False, # Indicates whether form values persist after the action. The default value is `false`. If `true`, form values remain after the action is triggered. When using [LoadIndicator.NONE](workspace/add-ons/reference/rpc/google.apps.card.v1#loadindicator) for actions, `persist_values` = `true`is recommended, as it ensures that any changes made by the user after form or on change actions are sent to the server are not overwritten by the response. If `false`, the form values are cleared when the action is triggered. When `persist_values` is set to `false`, it is strongly recommended that the card use [LoadIndicator.SPINNER](workspace/add-ons/reference/rpc/google.apps.card.v1#loadindicator) for all actions, as this locks the UI to ensure no changes are made by the user while the action is being processed. Not supported by Google Chat apps. + }, + "openLink": { # Represents an `onClick` event that opens a hyperlink. # If specified, this `onClick` triggers an open link action. + "onClose": "A String", # Whether the client forgets about a link after opening it, or observes it until the window closes. Not supported by Chat apps. + "openAs": "A String", # How to open a link. Not supported by Chat apps. + "url": "A String", # The URL to open. + }, + }, + "startIcon": { # The icon displayed in front of the text. + "altText": "A String", # The description of the icon, used for accessibility. The default value is provided if you don't specify one. + "iconUrl": "A String", # The icon specified by a URL. + "imageType": "A String", # The crop style applied to the image. In some cases, applying a `CIRCLE` crop causes the image to be drawn larger than a standard icon. + "knownIcon": "A String", # The icon specified by the string name of a list of known icons. + }, + "switchControl": { # Either a toggle-style switch or a checkbox. # A switch widget can be clicked to change its state or trigger an action. + "controlType": "A String", # The control type, either switch or checkbox. + "name": "A String", # The name of the switch widget that's used in `formInput`. + "onChangeAction": { # An action that describes the behavior when the form is submitted. For example, an Apps Script can be invoked to handle the form. # The action when the switch state is changed. + "function": "A String", # Apps Script function to invoke when the containing element is clicked/activated. + "loadIndicator": "A String", # Specifies the loading indicator that the action displays while making the call to the action. + "parameters": [ # List of action parameters. + { # List of string parameters to supply when the action method is invoked. For example, consider three snooze buttons: snooze now, snooze 1 day, snooze next week. You might use action method = snooze(), passing the snooze type and snooze time in the list of string parameters. + "key": "A String", # The name of the parameter for the action script. + "value": "A String", # The value of the parameter. + }, + ], + "persistValues": True or False, # Indicates whether form values persist after the action. The default value is `false`. If `true`, form values remain after the action is triggered. When using [LoadIndicator.NONE](workspace/add-ons/reference/rpc/google.apps.card.v1#loadindicator) for actions, `persist_values` = `true`is recommended, as it ensures that any changes made by the user after form or on change actions are sent to the server are not overwritten by the response. If `false`, the form values are cleared when the action is triggered. When `persist_values` is set to `false`, it is strongly recommended that the card use [LoadIndicator.SPINNER](workspace/add-ons/reference/rpc/google.apps.card.v1#loadindicator) for all actions, as this locks the UI to ensure no changes are made by the user while the action is being processed. Not supported by Google Chat apps. + }, + "selected": True or False, # If the switch is selected. + "value": "A String", # The value is what is passed back in the callback. + }, + "text": "A String", # Required. The main widget formatted text. See Text formatting for details. + "topLabel": "A String", # The formatted text label that shows above the main text. + "wrapText": True or False, # The wrap text setting. If `true`, the text is wrapped and displayed in multiline. Otherwise, the text is truncated. + }, + "divider": { # A divider that appears in between widgets. # Displays a divider. For example, the following JSON creates a divider: ``` "divider": { } ``` + }, + "grid": { # Represents a Grid widget that displays items in a configurable grid layout. # Displays a grid with a collection of items. For example, the following JSON creates a 2 column grid with a single item: ``` "grid": { "title": "A fine collection of items", "numColumns": 2, "borderStyle": { "type": "STROKE", "cornerRadius": 4.0 }, "items": [ "image": { "imageUri": "https://www.example.com/image.png", "cropStyle": { "type": "SQUARE" }, "borderStyle": { "type": "STROKE" } }, "title": "An item", "textAlignment": "CENTER" ], "onClick": { "openLink": { "url":"https://www.example.com" } } } ``` + "borderStyle": { # Represents the complete border style applied to widgets. # The border style to apply to each grid item. + "cornerRadius": 42, # The corner radius for the border. + "strokeColor": { # Represents a color in the RGBA color space. This representation is designed for simplicity of conversion to/from color representations in various languages over compactness. For example, the fields of this representation can be trivially provided to the constructor of `java.awt.Color` in Java; it can also be trivially provided to UIColor's `+colorWithRed:green:blue:alpha` method in iOS; and, with just a little work, it can be easily formatted into a CSS `rgba()` string in JavaScript. This reference page doesn't carry information about the absolute color space that should be used to interpret the RGB value (e.g. sRGB, Adobe RGB, DCI-P3, BT.2020, etc.). By default, applications should assume the sRGB color space. When color equality needs to be decided, implementations, unless documented otherwise, treat two colors as equal if all their red, green, blue, and alpha values each differ by at most 1e-5. Example (Java): import com.google.type.Color; // ... public static java.awt.Color fromProto(Color protocolor) { float alpha = protocolor.hasAlpha() ? protocolor.getAlpha().getValue() : 1.0; return new java.awt.Color( protocolor.getRed(), protocolor.getGreen(), protocolor.getBlue(), alpha); } public static Color toProto(java.awt.Color color) { float red = (float) color.getRed(); float green = (float) color.getGreen(); float blue = (float) color.getBlue(); float denominator = 255.0; Color.Builder resultBuilder = Color .newBuilder() .setRed(red / denominator) .setGreen(green / denominator) .setBlue(blue / denominator); int alpha = color.getAlpha(); if (alpha != 255) { result.setAlpha( FloatValue .newBuilder() .setValue(((float) alpha) / denominator) .build()); } return resultBuilder.build(); } // ... Example (iOS / Obj-C): // ... static UIColor* fromProto(Color* protocolor) { float red = [protocolor red]; float green = [protocolor green]; float blue = [protocolor blue]; FloatValue* alpha_wrapper = [protocolor alpha]; float alpha = 1.0; if (alpha_wrapper != nil) { alpha = [alpha_wrapper value]; } return [UIColor colorWithRed:red green:green blue:blue alpha:alpha]; } static Color* toProto(UIColor* color) { CGFloat red, green, blue, alpha; if (![color getRed:&red green:&green blue:&blue alpha:&alpha]) { return nil; } Color* result = [[Color alloc] init]; [result setRed:red]; [result setGreen:green]; [result setBlue:blue]; if (alpha <= 0.9999) { [result setAlpha:floatWrapperWithValue(alpha)]; } [result autorelease]; return result; } // ... Example (JavaScript): // ... var protoToCssColor = function(rgb_color) { var redFrac = rgb_color.red || 0.0; var greenFrac = rgb_color.green || 0.0; var blueFrac = rgb_color.blue || 0.0; var red = Math.floor(redFrac * 255); var green = Math.floor(greenFrac * 255); var blue = Math.floor(blueFrac * 255); if (!('alpha' in rgb_color)) { return rgbToCssColor(red, green, blue); } var alphaFrac = rgb_color.alpha.value || 0.0; var rgbParams = [red, green, blue].join(','); return ['rgba(', rgbParams, ',', alphaFrac, ')'].join(''); }; var rgbToCssColor = function(red, green, blue) { var rgbNumber = new Number((red << 16) | (green << 8) | blue); var hexString = rgbNumber.toString(16); var missingZeros = 6 - hexString.length; var resultBuilder = ['#']; for (var i = 0; i < missingZeros; i++) { resultBuilder.push('0'); } resultBuilder.push(hexString); return resultBuilder.join(''); }; // ... # The colors to use when the type is `BORDER_TYPE_STROKE`. + "alpha": 3.14, # The fraction of this color that should be applied to the pixel. That is, the final pixel color is defined by the equation: `pixel color = alpha * (this color) + (1.0 - alpha) * (background color)` This means that a value of 1.0 corresponds to a solid color, whereas a value of 0.0 corresponds to a completely transparent color. This uses a wrapper message rather than a simple float scalar so that it is possible to distinguish between a default value and the value being unset. If omitted, this color object is rendered as a solid color (as if the alpha value had been explicitly given a value of 1.0). + "blue": 3.14, # The amount of blue in the color as a value in the interval [0, 1]. + "green": 3.14, # The amount of green in the color as a value in the interval [0, 1]. + "red": 3.14, # The amount of red in the color as a value in the interval [0, 1]. + }, + "type": "A String", # The border type. + }, + "columnCount": 42, # The number of columns to display in the grid. A default value is used if this field isn't specified, and that default value is different depending on where the grid is shown (dialog versus companion). + "items": [ # The items to display in the grid. + { # Represents a single item in the grid layout. + "id": "A String", # A user-specified identifier for this grid item. This identifier is returned in the parent Grid's onClick callback parameters. + "image": { # Represents an image. # The image that displays in the grid item. + "altText": "A String", # The accessibility label for the image. + "borderStyle": { # Represents the complete border style applied to widgets. # The border style to apply to the image. + "cornerRadius": 42, # The corner radius for the border. + "strokeColor": { # Represents a color in the RGBA color space. This representation is designed for simplicity of conversion to/from color representations in various languages over compactness. For example, the fields of this representation can be trivially provided to the constructor of `java.awt.Color` in Java; it can also be trivially provided to UIColor's `+colorWithRed:green:blue:alpha` method in iOS; and, with just a little work, it can be easily formatted into a CSS `rgba()` string in JavaScript. This reference page doesn't carry information about the absolute color space that should be used to interpret the RGB value (e.g. sRGB, Adobe RGB, DCI-P3, BT.2020, etc.). By default, applications should assume the sRGB color space. When color equality needs to be decided, implementations, unless documented otherwise, treat two colors as equal if all their red, green, blue, and alpha values each differ by at most 1e-5. Example (Java): import com.google.type.Color; // ... public static java.awt.Color fromProto(Color protocolor) { float alpha = protocolor.hasAlpha() ? protocolor.getAlpha().getValue() : 1.0; return new java.awt.Color( protocolor.getRed(), protocolor.getGreen(), protocolor.getBlue(), alpha); } public static Color toProto(java.awt.Color color) { float red = (float) color.getRed(); float green = (float) color.getGreen(); float blue = (float) color.getBlue(); float denominator = 255.0; Color.Builder resultBuilder = Color .newBuilder() .setRed(red / denominator) .setGreen(green / denominator) .setBlue(blue / denominator); int alpha = color.getAlpha(); if (alpha != 255) { result.setAlpha( FloatValue .newBuilder() .setValue(((float) alpha) / denominator) .build()); } return resultBuilder.build(); } // ... Example (iOS / Obj-C): // ... static UIColor* fromProto(Color* protocolor) { float red = [protocolor red]; float green = [protocolor green]; float blue = [protocolor blue]; FloatValue* alpha_wrapper = [protocolor alpha]; float alpha = 1.0; if (alpha_wrapper != nil) { alpha = [alpha_wrapper value]; } return [UIColor colorWithRed:red green:green blue:blue alpha:alpha]; } static Color* toProto(UIColor* color) { CGFloat red, green, blue, alpha; if (![color getRed:&red green:&green blue:&blue alpha:&alpha]) { return nil; } Color* result = [[Color alloc] init]; [result setRed:red]; [result setGreen:green]; [result setBlue:blue]; if (alpha <= 0.9999) { [result setAlpha:floatWrapperWithValue(alpha)]; } [result autorelease]; return result; } // ... Example (JavaScript): // ... var protoToCssColor = function(rgb_color) { var redFrac = rgb_color.red || 0.0; var greenFrac = rgb_color.green || 0.0; var blueFrac = rgb_color.blue || 0.0; var red = Math.floor(redFrac * 255); var green = Math.floor(greenFrac * 255); var blue = Math.floor(blueFrac * 255); if (!('alpha' in rgb_color)) { return rgbToCssColor(red, green, blue); } var alphaFrac = rgb_color.alpha.value || 0.0; var rgbParams = [red, green, blue].join(','); return ['rgba(', rgbParams, ',', alphaFrac, ')'].join(''); }; var rgbToCssColor = function(red, green, blue) { var rgbNumber = new Number((red << 16) | (green << 8) | blue); var hexString = rgbNumber.toString(16); var missingZeros = 6 - hexString.length; var resultBuilder = ['#']; for (var i = 0; i < missingZeros; i++) { resultBuilder.push('0'); } resultBuilder.push(hexString); return resultBuilder.join(''); }; // ... # The colors to use when the type is `BORDER_TYPE_STROKE`. + "alpha": 3.14, # The fraction of this color that should be applied to the pixel. That is, the final pixel color is defined by the equation: `pixel color = alpha * (this color) + (1.0 - alpha) * (background color)` This means that a value of 1.0 corresponds to a solid color, whereas a value of 0.0 corresponds to a completely transparent color. This uses a wrapper message rather than a simple float scalar so that it is possible to distinguish between a default value and the value being unset. If omitted, this color object is rendered as a solid color (as if the alpha value had been explicitly given a value of 1.0). + "blue": 3.14, # The amount of blue in the color as a value in the interval [0, 1]. + "green": 3.14, # The amount of green in the color as a value in the interval [0, 1]. + "red": 3.14, # The amount of red in the color as a value in the interval [0, 1]. + }, + "type": "A String", # The border type. + }, + "cropStyle": { # Represents the crop style applied to an image. # The crop style to apply to the image. + "aspectRatio": 3.14, # The aspect ratio to use if the crop type is `RECTANGLE_CUSTOM`. + "type": "A String", # The crop type. + }, + "imageUri": "A String", # The image URL. + }, + "layout": "A String", # The layout to use for the grid item. + "subtitle": "A String", # The grid item's subtitle. + "textAlignment": "A String", # The horizontal alignment of the grid item's text. + "title": "A String", # The grid item's title. + }, + ], + "onClick": { # Represents the response to an `onClick` event. # This callback is reused by each individual grid item, but with the item's identifier and index in the items list added to the callback's parameters. + "action": { # An action that describes the behavior when the form is submitted. For example, an Apps Script can be invoked to handle the form. # If specified, an action is triggered by this `onClick`. + "function": "A String", # Apps Script function to invoke when the containing element is clicked/activated. + "loadIndicator": "A String", # Specifies the loading indicator that the action displays while making the call to the action. + "parameters": [ # List of action parameters. + { # List of string parameters to supply when the action method is invoked. For example, consider three snooze buttons: snooze now, snooze 1 day, snooze next week. You might use action method = snooze(), passing the snooze type and snooze time in the list of string parameters. + "key": "A String", # The name of the parameter for the action script. + "value": "A String", # The value of the parameter. + }, + ], + "persistValues": True or False, # Indicates whether form values persist after the action. The default value is `false`. If `true`, form values remain after the action is triggered. When using [LoadIndicator.NONE](workspace/add-ons/reference/rpc/google.apps.card.v1#loadindicator) for actions, `persist_values` = `true`is recommended, as it ensures that any changes made by the user after form or on change actions are sent to the server are not overwritten by the response. If `false`, the form values are cleared when the action is triggered. When `persist_values` is set to `false`, it is strongly recommended that the card use [LoadIndicator.SPINNER](workspace/add-ons/reference/rpc/google.apps.card.v1#loadindicator) for all actions, as this locks the UI to ensure no changes are made by the user while the action is being processed. Not supported by Google Chat apps. + }, + "card": # Object with schema name: GoogleAppsCardV1Card # A new card is pushed to the card stack after clicking if specified. + "openDynamicLinkAction": { # An action that describes the behavior when the form is submitted. For example, an Apps Script can be invoked to handle the form. # An add-on triggers this action when the action needs to open a link. This differs from the `open_link` above in that this needs to talk to server to get the link. Thus some preparation work is required for web client to do before the open link action response comes back. + "function": "A String", # Apps Script function to invoke when the containing element is clicked/activated. + "loadIndicator": "A String", # Specifies the loading indicator that the action displays while making the call to the action. + "parameters": [ # List of action parameters. + { # List of string parameters to supply when the action method is invoked. For example, consider three snooze buttons: snooze now, snooze 1 day, snooze next week. You might use action method = snooze(), passing the snooze type and snooze time in the list of string parameters. + "key": "A String", # The name of the parameter for the action script. + "value": "A String", # The value of the parameter. + }, + ], + "persistValues": True or False, # Indicates whether form values persist after the action. The default value is `false`. If `true`, form values remain after the action is triggered. When using [LoadIndicator.NONE](workspace/add-ons/reference/rpc/google.apps.card.v1#loadindicator) for actions, `persist_values` = `true`is recommended, as it ensures that any changes made by the user after form or on change actions are sent to the server are not overwritten by the response. If `false`, the form values are cleared when the action is triggered. When `persist_values` is set to `false`, it is strongly recommended that the card use [LoadIndicator.SPINNER](workspace/add-ons/reference/rpc/google.apps.card.v1#loadindicator) for all actions, as this locks the UI to ensure no changes are made by the user while the action is being processed. Not supported by Google Chat apps. + }, + "openLink": { # Represents an `onClick` event that opens a hyperlink. # If specified, this `onClick` triggers an open link action. + "onClose": "A String", # Whether the client forgets about a link after opening it, or observes it until the window closes. Not supported by Chat apps. + "openAs": "A String", # How to open a link. Not supported by Chat apps. + "url": "A String", # The URL to open. + }, + }, + "title": "A String", # The text that displays in the grid header. + }, + "horizontalAlignment": "A String", # The horizontal alignment of this widget. + "image": { # An image that is specified by a URL and can have an `onClick` action. # Displays an image in this widget. For example, the following JSON creates an image with alternative text: ``` "image": { "imageUrl": "https://example.com/sasha.png" "altText": "Avatar for Sasha" } ``` + "altText": "A String", # The alternative text of this image, used for accessibility. + "imageUrl": "A String", # An image URL. + "onClick": { # Represents the response to an `onClick` event. # The action triggered by an `onClick` event. + "action": { # An action that describes the behavior when the form is submitted. For example, an Apps Script can be invoked to handle the form. # If specified, an action is triggered by this `onClick`. + "function": "A String", # Apps Script function to invoke when the containing element is clicked/activated. + "loadIndicator": "A String", # Specifies the loading indicator that the action displays while making the call to the action. + "parameters": [ # List of action parameters. + { # List of string parameters to supply when the action method is invoked. For example, consider three snooze buttons: snooze now, snooze 1 day, snooze next week. You might use action method = snooze(), passing the snooze type and snooze time in the list of string parameters. + "key": "A String", # The name of the parameter for the action script. + "value": "A String", # The value of the parameter. + }, + ], + "persistValues": True or False, # Indicates whether form values persist after the action. The default value is `false`. If `true`, form values remain after the action is triggered. When using [LoadIndicator.NONE](workspace/add-ons/reference/rpc/google.apps.card.v1#loadindicator) for actions, `persist_values` = `true`is recommended, as it ensures that any changes made by the user after form or on change actions are sent to the server are not overwritten by the response. If `false`, the form values are cleared when the action is triggered. When `persist_values` is set to `false`, it is strongly recommended that the card use [LoadIndicator.SPINNER](workspace/add-ons/reference/rpc/google.apps.card.v1#loadindicator) for all actions, as this locks the UI to ensure no changes are made by the user while the action is being processed. Not supported by Google Chat apps. + }, + "card": # Object with schema name: GoogleAppsCardV1Card # A new card is pushed to the card stack after clicking if specified. + "openDynamicLinkAction": { # An action that describes the behavior when the form is submitted. For example, an Apps Script can be invoked to handle the form. # An add-on triggers this action when the action needs to open a link. This differs from the `open_link` above in that this needs to talk to server to get the link. Thus some preparation work is required for web client to do before the open link action response comes back. + "function": "A String", # Apps Script function to invoke when the containing element is clicked/activated. + "loadIndicator": "A String", # Specifies the loading indicator that the action displays while making the call to the action. + "parameters": [ # List of action parameters. + { # List of string parameters to supply when the action method is invoked. For example, consider three snooze buttons: snooze now, snooze 1 day, snooze next week. You might use action method = snooze(), passing the snooze type and snooze time in the list of string parameters. + "key": "A String", # The name of the parameter for the action script. + "value": "A String", # The value of the parameter. + }, + ], + "persistValues": True or False, # Indicates whether form values persist after the action. The default value is `false`. If `true`, form values remain after the action is triggered. When using [LoadIndicator.NONE](workspace/add-ons/reference/rpc/google.apps.card.v1#loadindicator) for actions, `persist_values` = `true`is recommended, as it ensures that any changes made by the user after form or on change actions are sent to the server are not overwritten by the response. If `false`, the form values are cleared when the action is triggered. When `persist_values` is set to `false`, it is strongly recommended that the card use [LoadIndicator.SPINNER](workspace/add-ons/reference/rpc/google.apps.card.v1#loadindicator) for all actions, as this locks the UI to ensure no changes are made by the user while the action is being processed. Not supported by Google Chat apps. + }, + "openLink": { # Represents an `onClick` event that opens a hyperlink. # If specified, this `onClick` triggers an open link action. + "onClose": "A String", # Whether the client forgets about a link after opening it, or observes it until the window closes. Not supported by Chat apps. + "openAs": "A String", # How to open a link. Not supported by Chat apps. + "url": "A String", # The URL to open. + }, + }, + }, + "selectionInput": { # A widget that creates a UI item with options for users to select. For example, a dropdown menu. # Displays a switch control in this widget. For example, the following JSON creates a dropdown selection for size: ``` "switchControl": { "name": "size", "label": "Size" "type": "SelectionType.DROPDOWN", "items": [ { "text": "S", "value": "small", "selected": false }, { "text": "M", "value": "medium", "selected": true }, { "text": "L", "value": "large", "selected": false }, { "text": "XL", "value": "extra_large", "selected": false } ] } ``` + "items": [ # An array of the selected items. + { # A selectable item in the switch control. + "selected": True or False, # If more than one item is selected for `RADIO_BUTTON` and `DROPDOWN`, the first selected item is treated as selected and the ones after are ignored. + "text": "A String", # The text to be displayed. + "value": "A String", # The value associated with this item. The client should use this as a form input value. + }, + ], + "label": "A String", # The label displayed ahead of the switch control. + "name": "A String", # The name of the text input which is used in `formInput`. + "onChangeAction": { # An action that describes the behavior when the form is submitted. For example, an Apps Script can be invoked to handle the form. # If specified, the form is submitted when the selection changes. If not specified, you must specify a separate button. + "function": "A String", # Apps Script function to invoke when the containing element is clicked/activated. + "loadIndicator": "A String", # Specifies the loading indicator that the action displays while making the call to the action. + "parameters": [ # List of action parameters. + { # List of string parameters to supply when the action method is invoked. For example, consider three snooze buttons: snooze now, snooze 1 day, snooze next week. You might use action method = snooze(), passing the snooze type and snooze time in the list of string parameters. + "key": "A String", # The name of the parameter for the action script. + "value": "A String", # The value of the parameter. + }, + ], + "persistValues": True or False, # Indicates whether form values persist after the action. The default value is `false`. If `true`, form values remain after the action is triggered. When using [LoadIndicator.NONE](workspace/add-ons/reference/rpc/google.apps.card.v1#loadindicator) for actions, `persist_values` = `true`is recommended, as it ensures that any changes made by the user after form or on change actions are sent to the server are not overwritten by the response. If `false`, the form values are cleared when the action is triggered. When `persist_values` is set to `false`, it is strongly recommended that the card use [LoadIndicator.SPINNER](workspace/add-ons/reference/rpc/google.apps.card.v1#loadindicator) for all actions, as this locks the UI to ensure no changes are made by the user while the action is being processed. Not supported by Google Chat apps. + }, + "type": "A String", # The type of the selection. + }, + "textInput": { # A text input is a UI item where users can input text. A text input can also have an onChange action and suggestions. # Displays a text input in this widget. For example, the following JSON creates a text input for mail address: ``` "textInput": { "name": "mailing_address", "label": "Mailing Address" } ``` As another example, the following JSON creates a text input for programming language with static suggestions: ``` "textInput": { "name": "preferred_programing_language", "label": "Preferred Language", "initialSuggestions": { "items": [ { "text": "C++" }, { "text": "Java" }, { "text": "JavaScript" }, { "text": "Python" } ] } } ``` + "autoCompleteAction": { # An action that describes the behavior when the form is submitted. For example, an Apps Script can be invoked to handle the form. # The refresh function that returns suggestions based on the user's input text. If the callback is not specified, autocomplete is done in client side based on the initial suggestion items. + "function": "A String", # Apps Script function to invoke when the containing element is clicked/activated. + "loadIndicator": "A String", # Specifies the loading indicator that the action displays while making the call to the action. + "parameters": [ # List of action parameters. + { # List of string parameters to supply when the action method is invoked. For example, consider three snooze buttons: snooze now, snooze 1 day, snooze next week. You might use action method = snooze(), passing the snooze type and snooze time in the list of string parameters. + "key": "A String", # The name of the parameter for the action script. + "value": "A String", # The value of the parameter. + }, + ], + "persistValues": True or False, # Indicates whether form values persist after the action. The default value is `false`. If `true`, form values remain after the action is triggered. When using [LoadIndicator.NONE](workspace/add-ons/reference/rpc/google.apps.card.v1#loadindicator) for actions, `persist_values` = `true`is recommended, as it ensures that any changes made by the user after form or on change actions are sent to the server are not overwritten by the response. If `false`, the form values are cleared when the action is triggered. When `persist_values` is set to `false`, it is strongly recommended that the card use [LoadIndicator.SPINNER](workspace/add-ons/reference/rpc/google.apps.card.v1#loadindicator) for all actions, as this locks the UI to ensure no changes are made by the user while the action is being processed. Not supported by Google Chat apps. + }, + "hintText": "A String", # The hint text. + "initialSuggestions": { # A container wrapping elements necessary for showing suggestion items used in text input autocomplete. # The initial suggestions made before any user input. + "items": [ # A list of suggestions used for autocomplete recommendations. + { # A suggestion item. + "text": "A String", # The suggested autocomplete result. + }, + ], + }, + "label": "A String", # At least one of label and hintText must be specified. + "name": "A String", # The name of the text input which is used in `formInput`. + "onChangeAction": { # An action that describes the behavior when the form is submitted. For example, an Apps Script can be invoked to handle the form. # The onChange action, for example, invoke a function. + "function": "A String", # Apps Script function to invoke when the containing element is clicked/activated. + "loadIndicator": "A String", # Specifies the loading indicator that the action displays while making the call to the action. + "parameters": [ # List of action parameters. + { # List of string parameters to supply when the action method is invoked. For example, consider three snooze buttons: snooze now, snooze 1 day, snooze next week. You might use action method = snooze(), passing the snooze type and snooze time in the list of string parameters. + "key": "A String", # The name of the parameter for the action script. + "value": "A String", # The value of the parameter. + }, + ], + "persistValues": True or False, # Indicates whether form values persist after the action. The default value is `false`. If `true`, form values remain after the action is triggered. When using [LoadIndicator.NONE](workspace/add-ons/reference/rpc/google.apps.card.v1#loadindicator) for actions, `persist_values` = `true`is recommended, as it ensures that any changes made by the user after form or on change actions are sent to the server are not overwritten by the response. If `false`, the form values are cleared when the action is triggered. When `persist_values` is set to `false`, it is strongly recommended that the card use [LoadIndicator.SPINNER](workspace/add-ons/reference/rpc/google.apps.card.v1#loadindicator) for all actions, as this locks the UI to ensure no changes are made by the user while the action is being processed. Not supported by Google Chat apps. + }, + "type": "A String", # The style of the text, for example, a single line or multiple lines. + "value": "A String", # The default value when there is no input from the user. + }, + "textParagraph": { # A paragraph of text that supports formatting. See [Text formatting](workspace/add-ons/concepts/widgets#text_formatting) for details. # Displays a text paragraph in this widget. For example, the following JSON creates a bolded text: ``` "textParagraph": { "text": " *bold text*" } ``` + "text": "A String", # The text that's shown in the widget. + }, + }, + ], + }, + ], + }, + "cardId": "A String", # Required for `cardsV2` messages. Chat app-specified identifier for this widget. Scoped within a message. + }, + ], "createTime": "A String", # Output only. The time at which the message was created in Google Chat server. "fallbackText": "A String", # A plain-text description of the message's cards, used when the actual cards cannot be displayed (e.g. mobile notifications). "lastUpdateTime": "A String", # Output only. The time at which the message was last edited by a user. If the message has never been edited, this field is empty. @@ -861,8 +1383,12 @@

Method Details

"displayName": "A String", # The space's display name. For direct messages between humans, this field might be empty. "name": "A String", # Resource name of the space. Format: spaces/{space} "singleUserBotDm": True or False, # Output only. Whether the space is a DM between a Chat app and a single human. + "spaceDetails": { # Details about the space including description and rules. # Details about the space including description and rules. + "description": "A String", # Optional. A description of the space. It could describe the space's discussion topic, functional purpose, or participants. + "guidelines": "A String", # Optional. The space's rules, expectations, and etiquette. + }, "threaded": True or False, # Output only. Whether messages are threaded in this space. - "type": "A String", # Output only. Deprecated: Use `single_user_bot_dm` or `space_type` (developer preview) instead. The type of a space. + "type": "A String", # Output only. Deprecated: Use `singleUserBotDm` or `spaceType` (developer preview) instead. The type of a space. }, "text": "A String", # Plain-text body of the message. The first link to an image, video, web page, or other preview-able item generates a preview chip. "thread": { # A thread in Google Chat. # The thread the message belongs to. @@ -1611,10 +2137,532 @@

Method Details

"textParagraph": { # A paragraph of text. Formatted text supported. # Display a text paragraph in this widget. "text": "A String", }, - }, - ], - }, - ], + }, + ], + }, + ], + }, + ], + "cardsV2": [ # Richly formatted and interactive cards that display UI elements and editable widgets, such as: - Formatted text - Buttons - Clickable images - Checkboxes - Radio buttons - Input widgets. Cards are usually displayed below the text-body of a Chat message, but can situationally appear other places, such as [dialogs](https://developers.google.com/chat/how-tos/dialogs). The `cardId` is a unique identifier among cards in the same message and for identifying user input values. Currently supported widgets include: - `TextParagraph` - `DecoratedText` - `Image` - `ButtonList` + { # Widgets for Chat apps to specify. + "card": { # A card is a UI element that can contain UI widgets such as text and images. For more information, see Cards . For example, the following JSON creates a card that has a header with the name, position, icons, and link for a contact, followed by a section with contact information like email and phone number. ``` { "header": { "title": "Sasha", "subtitle": "Software Engineer", "imageStyle": "ImageStyle.AVATAR", "imageUrl": "https://example.com/sasha.png", "imageAltText": "Avatar for Sasha" }, "sections" : [ { "header": "Contact Info", "widgets": [ { "decorated_text": { "icon": { "knownIcon": "EMAIL" }, "content": "sasha@example.com" } }, { "decoratedText": { "icon": { "knownIcon": "PERSON" }, "content": "Online" } }, { "decoratedText": { "icon": { "knownIcon": "PHONE" }, "content": "+1 (555) 555-1234" } }, { "buttons": [ { "textButton": { "text": "Share", }, "onClick": { "openLink": { "url": "https://example.com/share" } } }, { "textButton": { "text": "Edit", }, "onClick": { "action": { "function": "goToView", "parameters": [ { "key": "viewType", "value": "EDIT" } ], "loadIndicator": "LoadIndicator.SPINNER" } } } ] } ], "collapsible": true, "uncollapsibleWidgetsCount": 3 } ], "cardActions": [ { "actionLabel": "Send Feedback", "onClick": { "openLink": { "url": "https://example.com/feedback" } } } ], "name": "contact-card-K3wB6arF2H9L" } ``` # Card proto that allows Chat apps to specify UI elements and editable widgets. + "cardActions": [ # The card's actions. Actions are added to the card's generated toolbar menu. For example, the following JSON constructs a card action menu with Settings and Send Feedback options: ``` "card_actions": [ { "actionLabel": "Settings", "onClick": { "action": { "functionName": "goToView", "parameters": [ { "key": "viewType", "value": "SETTING" } ], "loadIndicator": "LoadIndicator.SPINNER" } } }, { "actionLabel": "Send Feedback", "onClick": { "openLink": { "url": "https://example.com/feedback" } } } ] ``` + { # A card action is the action associated with the card. For example, an invoice card might include actions such as delete invoice, email invoice, or open the invoice in a browser. + "actionLabel": "A String", # The label that displays as the action menu item. + "onClick": { # Represents the response to an `onClick` event. # The `onClick` action for this action item. + "action": { # An action that describes the behavior when the form is submitted. For example, an Apps Script can be invoked to handle the form. # If specified, an action is triggered by this `onClick`. + "function": "A String", # Apps Script function to invoke when the containing element is clicked/activated. + "loadIndicator": "A String", # Specifies the loading indicator that the action displays while making the call to the action. + "parameters": [ # List of action parameters. + { # List of string parameters to supply when the action method is invoked. For example, consider three snooze buttons: snooze now, snooze 1 day, snooze next week. You might use action method = snooze(), passing the snooze type and snooze time in the list of string parameters. + "key": "A String", # The name of the parameter for the action script. + "value": "A String", # The value of the parameter. + }, + ], + "persistValues": True or False, # Indicates whether form values persist after the action. The default value is `false`. If `true`, form values remain after the action is triggered. When using [LoadIndicator.NONE](workspace/add-ons/reference/rpc/google.apps.card.v1#loadindicator) for actions, `persist_values` = `true`is recommended, as it ensures that any changes made by the user after form or on change actions are sent to the server are not overwritten by the response. If `false`, the form values are cleared when the action is triggered. When `persist_values` is set to `false`, it is strongly recommended that the card use [LoadIndicator.SPINNER](workspace/add-ons/reference/rpc/google.apps.card.v1#loadindicator) for all actions, as this locks the UI to ensure no changes are made by the user while the action is being processed. Not supported by Google Chat apps. + }, + "card": # Object with schema name: GoogleAppsCardV1Card # A new card is pushed to the card stack after clicking if specified. + "openDynamicLinkAction": { # An action that describes the behavior when the form is submitted. For example, an Apps Script can be invoked to handle the form. # An add-on triggers this action when the action needs to open a link. This differs from the `open_link` above in that this needs to talk to server to get the link. Thus some preparation work is required for web client to do before the open link action response comes back. + "function": "A String", # Apps Script function to invoke when the containing element is clicked/activated. + "loadIndicator": "A String", # Specifies the loading indicator that the action displays while making the call to the action. + "parameters": [ # List of action parameters. + { # List of string parameters to supply when the action method is invoked. For example, consider three snooze buttons: snooze now, snooze 1 day, snooze next week. You might use action method = snooze(), passing the snooze type and snooze time in the list of string parameters. + "key": "A String", # The name of the parameter for the action script. + "value": "A String", # The value of the parameter. + }, + ], + "persistValues": True or False, # Indicates whether form values persist after the action. The default value is `false`. If `true`, form values remain after the action is triggered. When using [LoadIndicator.NONE](workspace/add-ons/reference/rpc/google.apps.card.v1#loadindicator) for actions, `persist_values` = `true`is recommended, as it ensures that any changes made by the user after form or on change actions are sent to the server are not overwritten by the response. If `false`, the form values are cleared when the action is triggered. When `persist_values` is set to `false`, it is strongly recommended that the card use [LoadIndicator.SPINNER](workspace/add-ons/reference/rpc/google.apps.card.v1#loadindicator) for all actions, as this locks the UI to ensure no changes are made by the user while the action is being processed. Not supported by Google Chat apps. + }, + "openLink": { # Represents an `onClick` event that opens a hyperlink. # If specified, this `onClick` triggers an open link action. + "onClose": "A String", # Whether the client forgets about a link after opening it, or observes it until the window closes. Not supported by Chat apps. + "openAs": "A String", # How to open a link. Not supported by Chat apps. + "url": "A String", # The URL to open. + }, + }, + }, + ], + "displayStyle": "A String", # The `peekCardHeader` display style for. Not supported by Google Chat apps. + "fixedFooter": { # A persistent (sticky) footer that is added to the bottom of the card. # The fixed footer shown at the bottom of this card. + "primaryButton": { # A button. Can be a text button or an image button. # The primary button of the fixed footer. The button must be a text button with text and color set. + "altText": "A String", # The alternative text used for accessibility. Has no effect when an icon is set; use `icon.alt_text` instead. + "color": { # Represents a color in the RGBA color space. This representation is designed for simplicity of conversion to/from color representations in various languages over compactness. For example, the fields of this representation can be trivially provided to the constructor of `java.awt.Color` in Java; it can also be trivially provided to UIColor's `+colorWithRed:green:blue:alpha` method in iOS; and, with just a little work, it can be easily formatted into a CSS `rgba()` string in JavaScript. This reference page doesn't carry information about the absolute color space that should be used to interpret the RGB value (e.g. sRGB, Adobe RGB, DCI-P3, BT.2020, etc.). By default, applications should assume the sRGB color space. When color equality needs to be decided, implementations, unless documented otherwise, treat two colors as equal if all their red, green, blue, and alpha values each differ by at most 1e-5. Example (Java): import com.google.type.Color; // ... public static java.awt.Color fromProto(Color protocolor) { float alpha = protocolor.hasAlpha() ? protocolor.getAlpha().getValue() : 1.0; return new java.awt.Color( protocolor.getRed(), protocolor.getGreen(), protocolor.getBlue(), alpha); } public static Color toProto(java.awt.Color color) { float red = (float) color.getRed(); float green = (float) color.getGreen(); float blue = (float) color.getBlue(); float denominator = 255.0; Color.Builder resultBuilder = Color .newBuilder() .setRed(red / denominator) .setGreen(green / denominator) .setBlue(blue / denominator); int alpha = color.getAlpha(); if (alpha != 255) { result.setAlpha( FloatValue .newBuilder() .setValue(((float) alpha) / denominator) .build()); } return resultBuilder.build(); } // ... Example (iOS / Obj-C): // ... static UIColor* fromProto(Color* protocolor) { float red = [protocolor red]; float green = [protocolor green]; float blue = [protocolor blue]; FloatValue* alpha_wrapper = [protocolor alpha]; float alpha = 1.0; if (alpha_wrapper != nil) { alpha = [alpha_wrapper value]; } return [UIColor colorWithRed:red green:green blue:blue alpha:alpha]; } static Color* toProto(UIColor* color) { CGFloat red, green, blue, alpha; if (![color getRed:&red green:&green blue:&blue alpha:&alpha]) { return nil; } Color* result = [[Color alloc] init]; [result setRed:red]; [result setGreen:green]; [result setBlue:blue]; if (alpha <= 0.9999) { [result setAlpha:floatWrapperWithValue(alpha)]; } [result autorelease]; return result; } // ... Example (JavaScript): // ... var protoToCssColor = function(rgb_color) { var redFrac = rgb_color.red || 0.0; var greenFrac = rgb_color.green || 0.0; var blueFrac = rgb_color.blue || 0.0; var red = Math.floor(redFrac * 255); var green = Math.floor(greenFrac * 255); var blue = Math.floor(blueFrac * 255); if (!('alpha' in rgb_color)) { return rgbToCssColor(red, green, blue); } var alphaFrac = rgb_color.alpha.value || 0.0; var rgbParams = [red, green, blue].join(','); return ['rgba(', rgbParams, ',', alphaFrac, ')'].join(''); }; var rgbToCssColor = function(red, green, blue) { var rgbNumber = new Number((red << 16) | (green << 8) | blue); var hexString = rgbNumber.toString(16); var missingZeros = 6 - hexString.length; var resultBuilder = ['#']; for (var i = 0; i < missingZeros; i++) { resultBuilder.push('0'); } resultBuilder.push(hexString); return resultBuilder.join(''); }; // ... # If set, the button is filled with a solid background. + "alpha": 3.14, # The fraction of this color that should be applied to the pixel. That is, the final pixel color is defined by the equation: `pixel color = alpha * (this color) + (1.0 - alpha) * (background color)` This means that a value of 1.0 corresponds to a solid color, whereas a value of 0.0 corresponds to a completely transparent color. This uses a wrapper message rather than a simple float scalar so that it is possible to distinguish between a default value and the value being unset. If omitted, this color object is rendered as a solid color (as if the alpha value had been explicitly given a value of 1.0). + "blue": 3.14, # The amount of blue in the color as a value in the interval [0, 1]. + "green": 3.14, # The amount of green in the color as a value in the interval [0, 1]. + "red": 3.14, # The amount of red in the color as a value in the interval [0, 1]. + }, + "disabled": True or False, # If `true`, the button is displayed in a disabled state and doesn't respond to user actions. + "icon": { # The icon image. + "altText": "A String", # The description of the icon, used for accessibility. The default value is provided if you don't specify one. + "iconUrl": "A String", # The icon specified by a URL. + "imageType": "A String", # The crop style applied to the image. In some cases, applying a `CIRCLE` crop causes the image to be drawn larger than a standard icon. + "knownIcon": "A String", # The icon specified by the string name of a list of known icons. + }, + "onClick": { # Represents the response to an `onClick` event. # The action to perform when the button is clicked. + "action": { # An action that describes the behavior when the form is submitted. For example, an Apps Script can be invoked to handle the form. # If specified, an action is triggered by this `onClick`. + "function": "A String", # Apps Script function to invoke when the containing element is clicked/activated. + "loadIndicator": "A String", # Specifies the loading indicator that the action displays while making the call to the action. + "parameters": [ # List of action parameters. + { # List of string parameters to supply when the action method is invoked. For example, consider three snooze buttons: snooze now, snooze 1 day, snooze next week. You might use action method = snooze(), passing the snooze type and snooze time in the list of string parameters. + "key": "A String", # The name of the parameter for the action script. + "value": "A String", # The value of the parameter. + }, + ], + "persistValues": True or False, # Indicates whether form values persist after the action. The default value is `false`. If `true`, form values remain after the action is triggered. When using [LoadIndicator.NONE](workspace/add-ons/reference/rpc/google.apps.card.v1#loadindicator) for actions, `persist_values` = `true`is recommended, as it ensures that any changes made by the user after form or on change actions are sent to the server are not overwritten by the response. If `false`, the form values are cleared when the action is triggered. When `persist_values` is set to `false`, it is strongly recommended that the card use [LoadIndicator.SPINNER](workspace/add-ons/reference/rpc/google.apps.card.v1#loadindicator) for all actions, as this locks the UI to ensure no changes are made by the user while the action is being processed. Not supported by Google Chat apps. + }, + "card": # Object with schema name: GoogleAppsCardV1Card # A new card is pushed to the card stack after clicking if specified. + "openDynamicLinkAction": { # An action that describes the behavior when the form is submitted. For example, an Apps Script can be invoked to handle the form. # An add-on triggers this action when the action needs to open a link. This differs from the `open_link` above in that this needs to talk to server to get the link. Thus some preparation work is required for web client to do before the open link action response comes back. + "function": "A String", # Apps Script function to invoke when the containing element is clicked/activated. + "loadIndicator": "A String", # Specifies the loading indicator that the action displays while making the call to the action. + "parameters": [ # List of action parameters. + { # List of string parameters to supply when the action method is invoked. For example, consider three snooze buttons: snooze now, snooze 1 day, snooze next week. You might use action method = snooze(), passing the snooze type and snooze time in the list of string parameters. + "key": "A String", # The name of the parameter for the action script. + "value": "A String", # The value of the parameter. + }, + ], + "persistValues": True or False, # Indicates whether form values persist after the action. The default value is `false`. If `true`, form values remain after the action is triggered. When using [LoadIndicator.NONE](workspace/add-ons/reference/rpc/google.apps.card.v1#loadindicator) for actions, `persist_values` = `true`is recommended, as it ensures that any changes made by the user after form or on change actions are sent to the server are not overwritten by the response. If `false`, the form values are cleared when the action is triggered. When `persist_values` is set to `false`, it is strongly recommended that the card use [LoadIndicator.SPINNER](workspace/add-ons/reference/rpc/google.apps.card.v1#loadindicator) for all actions, as this locks the UI to ensure no changes are made by the user while the action is being processed. Not supported by Google Chat apps. + }, + "openLink": { # Represents an `onClick` event that opens a hyperlink. # If specified, this `onClick` triggers an open link action. + "onClose": "A String", # Whether the client forgets about a link after opening it, or observes it until the window closes. Not supported by Chat apps. + "openAs": "A String", # How to open a link. Not supported by Chat apps. + "url": "A String", # The URL to open. + }, + }, + "text": "A String", # The text of the button. + }, + "secondaryButton": { # A button. Can be a text button or an image button. # The secondary button of the fixed footer. The button must be a text button with text and color set. `primaryButton` must be set if `secondaryButton` is set. + "altText": "A String", # The alternative text used for accessibility. Has no effect when an icon is set; use `icon.alt_text` instead. + "color": { # Represents a color in the RGBA color space. This representation is designed for simplicity of conversion to/from color representations in various languages over compactness. For example, the fields of this representation can be trivially provided to the constructor of `java.awt.Color` in Java; it can also be trivially provided to UIColor's `+colorWithRed:green:blue:alpha` method in iOS; and, with just a little work, it can be easily formatted into a CSS `rgba()` string in JavaScript. This reference page doesn't carry information about the absolute color space that should be used to interpret the RGB value (e.g. sRGB, Adobe RGB, DCI-P3, BT.2020, etc.). By default, applications should assume the sRGB color space. When color equality needs to be decided, implementations, unless documented otherwise, treat two colors as equal if all their red, green, blue, and alpha values each differ by at most 1e-5. Example (Java): import com.google.type.Color; // ... public static java.awt.Color fromProto(Color protocolor) { float alpha = protocolor.hasAlpha() ? protocolor.getAlpha().getValue() : 1.0; return new java.awt.Color( protocolor.getRed(), protocolor.getGreen(), protocolor.getBlue(), alpha); } public static Color toProto(java.awt.Color color) { float red = (float) color.getRed(); float green = (float) color.getGreen(); float blue = (float) color.getBlue(); float denominator = 255.0; Color.Builder resultBuilder = Color .newBuilder() .setRed(red / denominator) .setGreen(green / denominator) .setBlue(blue / denominator); int alpha = color.getAlpha(); if (alpha != 255) { result.setAlpha( FloatValue .newBuilder() .setValue(((float) alpha) / denominator) .build()); } return resultBuilder.build(); } // ... Example (iOS / Obj-C): // ... static UIColor* fromProto(Color* protocolor) { float red = [protocolor red]; float green = [protocolor green]; float blue = [protocolor blue]; FloatValue* alpha_wrapper = [protocolor alpha]; float alpha = 1.0; if (alpha_wrapper != nil) { alpha = [alpha_wrapper value]; } return [UIColor colorWithRed:red green:green blue:blue alpha:alpha]; } static Color* toProto(UIColor* color) { CGFloat red, green, blue, alpha; if (![color getRed:&red green:&green blue:&blue alpha:&alpha]) { return nil; } Color* result = [[Color alloc] init]; [result setRed:red]; [result setGreen:green]; [result setBlue:blue]; if (alpha <= 0.9999) { [result setAlpha:floatWrapperWithValue(alpha)]; } [result autorelease]; return result; } // ... Example (JavaScript): // ... var protoToCssColor = function(rgb_color) { var redFrac = rgb_color.red || 0.0; var greenFrac = rgb_color.green || 0.0; var blueFrac = rgb_color.blue || 0.0; var red = Math.floor(redFrac * 255); var green = Math.floor(greenFrac * 255); var blue = Math.floor(blueFrac * 255); if (!('alpha' in rgb_color)) { return rgbToCssColor(red, green, blue); } var alphaFrac = rgb_color.alpha.value || 0.0; var rgbParams = [red, green, blue].join(','); return ['rgba(', rgbParams, ',', alphaFrac, ')'].join(''); }; var rgbToCssColor = function(red, green, blue) { var rgbNumber = new Number((red << 16) | (green << 8) | blue); var hexString = rgbNumber.toString(16); var missingZeros = 6 - hexString.length; var resultBuilder = ['#']; for (var i = 0; i < missingZeros; i++) { resultBuilder.push('0'); } resultBuilder.push(hexString); return resultBuilder.join(''); }; // ... # If set, the button is filled with a solid background. + "alpha": 3.14, # The fraction of this color that should be applied to the pixel. That is, the final pixel color is defined by the equation: `pixel color = alpha * (this color) + (1.0 - alpha) * (background color)` This means that a value of 1.0 corresponds to a solid color, whereas a value of 0.0 corresponds to a completely transparent color. This uses a wrapper message rather than a simple float scalar so that it is possible to distinguish between a default value and the value being unset. If omitted, this color object is rendered as a solid color (as if the alpha value had been explicitly given a value of 1.0). + "blue": 3.14, # The amount of blue in the color as a value in the interval [0, 1]. + "green": 3.14, # The amount of green in the color as a value in the interval [0, 1]. + "red": 3.14, # The amount of red in the color as a value in the interval [0, 1]. + }, + "disabled": True or False, # If `true`, the button is displayed in a disabled state and doesn't respond to user actions. + "icon": { # The icon image. + "altText": "A String", # The description of the icon, used for accessibility. The default value is provided if you don't specify one. + "iconUrl": "A String", # The icon specified by a URL. + "imageType": "A String", # The crop style applied to the image. In some cases, applying a `CIRCLE` crop causes the image to be drawn larger than a standard icon. + "knownIcon": "A String", # The icon specified by the string name of a list of known icons. + }, + "onClick": { # Represents the response to an `onClick` event. # The action to perform when the button is clicked. + "action": { # An action that describes the behavior when the form is submitted. For example, an Apps Script can be invoked to handle the form. # If specified, an action is triggered by this `onClick`. + "function": "A String", # Apps Script function to invoke when the containing element is clicked/activated. + "loadIndicator": "A String", # Specifies the loading indicator that the action displays while making the call to the action. + "parameters": [ # List of action parameters. + { # List of string parameters to supply when the action method is invoked. For example, consider three snooze buttons: snooze now, snooze 1 day, snooze next week. You might use action method = snooze(), passing the snooze type and snooze time in the list of string parameters. + "key": "A String", # The name of the parameter for the action script. + "value": "A String", # The value of the parameter. + }, + ], + "persistValues": True or False, # Indicates whether form values persist after the action. The default value is `false`. If `true`, form values remain after the action is triggered. When using [LoadIndicator.NONE](workspace/add-ons/reference/rpc/google.apps.card.v1#loadindicator) for actions, `persist_values` = `true`is recommended, as it ensures that any changes made by the user after form or on change actions are sent to the server are not overwritten by the response. If `false`, the form values are cleared when the action is triggered. When `persist_values` is set to `false`, it is strongly recommended that the card use [LoadIndicator.SPINNER](workspace/add-ons/reference/rpc/google.apps.card.v1#loadindicator) for all actions, as this locks the UI to ensure no changes are made by the user while the action is being processed. Not supported by Google Chat apps. + }, + "card": # Object with schema name: GoogleAppsCardV1Card # A new card is pushed to the card stack after clicking if specified. + "openDynamicLinkAction": { # An action that describes the behavior when the form is submitted. For example, an Apps Script can be invoked to handle the form. # An add-on triggers this action when the action needs to open a link. This differs from the `open_link` above in that this needs to talk to server to get the link. Thus some preparation work is required for web client to do before the open link action response comes back. + "function": "A String", # Apps Script function to invoke when the containing element is clicked/activated. + "loadIndicator": "A String", # Specifies the loading indicator that the action displays while making the call to the action. + "parameters": [ # List of action parameters. + { # List of string parameters to supply when the action method is invoked. For example, consider three snooze buttons: snooze now, snooze 1 day, snooze next week. You might use action method = snooze(), passing the snooze type and snooze time in the list of string parameters. + "key": "A String", # The name of the parameter for the action script. + "value": "A String", # The value of the parameter. + }, + ], + "persistValues": True or False, # Indicates whether form values persist after the action. The default value is `false`. If `true`, form values remain after the action is triggered. When using [LoadIndicator.NONE](workspace/add-ons/reference/rpc/google.apps.card.v1#loadindicator) for actions, `persist_values` = `true`is recommended, as it ensures that any changes made by the user after form or on change actions are sent to the server are not overwritten by the response. If `false`, the form values are cleared when the action is triggered. When `persist_values` is set to `false`, it is strongly recommended that the card use [LoadIndicator.SPINNER](workspace/add-ons/reference/rpc/google.apps.card.v1#loadindicator) for all actions, as this locks the UI to ensure no changes are made by the user while the action is being processed. Not supported by Google Chat apps. + }, + "openLink": { # Represents an `onClick` event that opens a hyperlink. # If specified, this `onClick` triggers an open link action. + "onClose": "A String", # Whether the client forgets about a link after opening it, or observes it until the window closes. Not supported by Chat apps. + "openAs": "A String", # How to open a link. Not supported by Chat apps. + "url": "A String", # The URL to open. + }, + }, + "text": "A String", # The text of the button. + }, + }, + "header": { # Represents a card header. # The header of the card. A header usually contains a title and an image. + "imageAltText": "A String", # The alternative text of this image which is used for accessibility. + "imageType": "A String", # The image's type. + "imageUrl": "A String", # The URL of the image in the card header. + "subtitle": "A String", # The subtitle of the card header. + "title": "A String", # Required. The title of the card header. The header has a fixed height: if both a title and subtitle are specified, each takes up one line. If only the title is specified, it takes up both lines. + }, + "name": "A String", # Name of the card. Used as a card identifier in card navigation. + "peekCardHeader": { # Represents a card header. # When displaying contextual content, the peek card header acts as a placeholder so that the user can navigate forward between the homepage cards and the contextual cards. Not supported by Google Chat apps. + "imageAltText": "A String", # The alternative text of this image which is used for accessibility. + "imageType": "A String", # The image's type. + "imageUrl": "A String", # The URL of the image in the card header. + "subtitle": "A String", # The subtitle of the card header. + "title": "A String", # Required. The title of the card header. The header has a fixed height: if both a title and subtitle are specified, each takes up one line. If only the title is specified, it takes up both lines. + }, + "sections": [ # Sections are separated by a line divider. + { # A section contains a collection of widgets that are rendered vertically in the order that they are specified. Across all platforms, cards have a narrow fixed width, so there is currently no need for layout properties, for example, float. + "collapsible": True or False, # Indicates whether this section is collapsible. If a section is collapsible, the description must be given. + "header": "A String", # The header of the section. Formatted text is supported. + "uncollapsibleWidgetsCount": 42, # The number of uncollapsible widgets. For example, when a section contains five widgets and the `uncollapsibleWidgetsCount` is set to `2`, the first two widgets are always shown and the last three are collapsed as default. The `uncollapsibleWidgetsCount` is taken into account only when `collapsible` is `true`. + "widgets": [ # A section must contain at least 1 widget. + { # A widget is a UI element that presents texts, images, etc. + "buttonList": { # A list of buttons layed out horizontally. # A list of buttons. For example, the following JSON creates two buttons. The first is a filled text button and the second is an image button that opens a link: ``` "buttonList": { "buttons": [ "button": { "text": "Edit", "Color": { "Red": 255 "Green": 255 "Blue": 255 } "disabled": true }, "button": { "icon": { "knownIcon": "INVITE" "altText": "check calendar" }, "onClick": { "openLink": { "url": "https://example.com/calendar" } } }, ] } ``` + "buttons": [ # An array of buttons. + { # A button. Can be a text button or an image button. + "altText": "A String", # The alternative text used for accessibility. Has no effect when an icon is set; use `icon.alt_text` instead. + "color": { # Represents a color in the RGBA color space. This representation is designed for simplicity of conversion to/from color representations in various languages over compactness. For example, the fields of this representation can be trivially provided to the constructor of `java.awt.Color` in Java; it can also be trivially provided to UIColor's `+colorWithRed:green:blue:alpha` method in iOS; and, with just a little work, it can be easily formatted into a CSS `rgba()` string in JavaScript. This reference page doesn't carry information about the absolute color space that should be used to interpret the RGB value (e.g. sRGB, Adobe RGB, DCI-P3, BT.2020, etc.). By default, applications should assume the sRGB color space. When color equality needs to be decided, implementations, unless documented otherwise, treat two colors as equal if all their red, green, blue, and alpha values each differ by at most 1e-5. Example (Java): import com.google.type.Color; // ... public static java.awt.Color fromProto(Color protocolor) { float alpha = protocolor.hasAlpha() ? protocolor.getAlpha().getValue() : 1.0; return new java.awt.Color( protocolor.getRed(), protocolor.getGreen(), protocolor.getBlue(), alpha); } public static Color toProto(java.awt.Color color) { float red = (float) color.getRed(); float green = (float) color.getGreen(); float blue = (float) color.getBlue(); float denominator = 255.0; Color.Builder resultBuilder = Color .newBuilder() .setRed(red / denominator) .setGreen(green / denominator) .setBlue(blue / denominator); int alpha = color.getAlpha(); if (alpha != 255) { result.setAlpha( FloatValue .newBuilder() .setValue(((float) alpha) / denominator) .build()); } return resultBuilder.build(); } // ... Example (iOS / Obj-C): // ... static UIColor* fromProto(Color* protocolor) { float red = [protocolor red]; float green = [protocolor green]; float blue = [protocolor blue]; FloatValue* alpha_wrapper = [protocolor alpha]; float alpha = 1.0; if (alpha_wrapper != nil) { alpha = [alpha_wrapper value]; } return [UIColor colorWithRed:red green:green blue:blue alpha:alpha]; } static Color* toProto(UIColor* color) { CGFloat red, green, blue, alpha; if (![color getRed:&red green:&green blue:&blue alpha:&alpha]) { return nil; } Color* result = [[Color alloc] init]; [result setRed:red]; [result setGreen:green]; [result setBlue:blue]; if (alpha <= 0.9999) { [result setAlpha:floatWrapperWithValue(alpha)]; } [result autorelease]; return result; } // ... Example (JavaScript): // ... var protoToCssColor = function(rgb_color) { var redFrac = rgb_color.red || 0.0; var greenFrac = rgb_color.green || 0.0; var blueFrac = rgb_color.blue || 0.0; var red = Math.floor(redFrac * 255); var green = Math.floor(greenFrac * 255); var blue = Math.floor(blueFrac * 255); if (!('alpha' in rgb_color)) { return rgbToCssColor(red, green, blue); } var alphaFrac = rgb_color.alpha.value || 0.0; var rgbParams = [red, green, blue].join(','); return ['rgba(', rgbParams, ',', alphaFrac, ')'].join(''); }; var rgbToCssColor = function(red, green, blue) { var rgbNumber = new Number((red << 16) | (green << 8) | blue); var hexString = rgbNumber.toString(16); var missingZeros = 6 - hexString.length; var resultBuilder = ['#']; for (var i = 0; i < missingZeros; i++) { resultBuilder.push('0'); } resultBuilder.push(hexString); return resultBuilder.join(''); }; // ... # If set, the button is filled with a solid background. + "alpha": 3.14, # The fraction of this color that should be applied to the pixel. That is, the final pixel color is defined by the equation: `pixel color = alpha * (this color) + (1.0 - alpha) * (background color)` This means that a value of 1.0 corresponds to a solid color, whereas a value of 0.0 corresponds to a completely transparent color. This uses a wrapper message rather than a simple float scalar so that it is possible to distinguish between a default value and the value being unset. If omitted, this color object is rendered as a solid color (as if the alpha value had been explicitly given a value of 1.0). + "blue": 3.14, # The amount of blue in the color as a value in the interval [0, 1]. + "green": 3.14, # The amount of green in the color as a value in the interval [0, 1]. + "red": 3.14, # The amount of red in the color as a value in the interval [0, 1]. + }, + "disabled": True or False, # If `true`, the button is displayed in a disabled state and doesn't respond to user actions. + "icon": { # The icon image. + "altText": "A String", # The description of the icon, used for accessibility. The default value is provided if you don't specify one. + "iconUrl": "A String", # The icon specified by a URL. + "imageType": "A String", # The crop style applied to the image. In some cases, applying a `CIRCLE` crop causes the image to be drawn larger than a standard icon. + "knownIcon": "A String", # The icon specified by the string name of a list of known icons. + }, + "onClick": { # Represents the response to an `onClick` event. # The action to perform when the button is clicked. + "action": { # An action that describes the behavior when the form is submitted. For example, an Apps Script can be invoked to handle the form. # If specified, an action is triggered by this `onClick`. + "function": "A String", # Apps Script function to invoke when the containing element is clicked/activated. + "loadIndicator": "A String", # Specifies the loading indicator that the action displays while making the call to the action. + "parameters": [ # List of action parameters. + { # List of string parameters to supply when the action method is invoked. For example, consider three snooze buttons: snooze now, snooze 1 day, snooze next week. You might use action method = snooze(), passing the snooze type and snooze time in the list of string parameters. + "key": "A String", # The name of the parameter for the action script. + "value": "A String", # The value of the parameter. + }, + ], + "persistValues": True or False, # Indicates whether form values persist after the action. The default value is `false`. If `true`, form values remain after the action is triggered. When using [LoadIndicator.NONE](workspace/add-ons/reference/rpc/google.apps.card.v1#loadindicator) for actions, `persist_values` = `true`is recommended, as it ensures that any changes made by the user after form or on change actions are sent to the server are not overwritten by the response. If `false`, the form values are cleared when the action is triggered. When `persist_values` is set to `false`, it is strongly recommended that the card use [LoadIndicator.SPINNER](workspace/add-ons/reference/rpc/google.apps.card.v1#loadindicator) for all actions, as this locks the UI to ensure no changes are made by the user while the action is being processed. Not supported by Google Chat apps. + }, + "card": # Object with schema name: GoogleAppsCardV1Card # A new card is pushed to the card stack after clicking if specified. + "openDynamicLinkAction": { # An action that describes the behavior when the form is submitted. For example, an Apps Script can be invoked to handle the form. # An add-on triggers this action when the action needs to open a link. This differs from the `open_link` above in that this needs to talk to server to get the link. Thus some preparation work is required for web client to do before the open link action response comes back. + "function": "A String", # Apps Script function to invoke when the containing element is clicked/activated. + "loadIndicator": "A String", # Specifies the loading indicator that the action displays while making the call to the action. + "parameters": [ # List of action parameters. + { # List of string parameters to supply when the action method is invoked. For example, consider three snooze buttons: snooze now, snooze 1 day, snooze next week. You might use action method = snooze(), passing the snooze type and snooze time in the list of string parameters. + "key": "A String", # The name of the parameter for the action script. + "value": "A String", # The value of the parameter. + }, + ], + "persistValues": True or False, # Indicates whether form values persist after the action. The default value is `false`. If `true`, form values remain after the action is triggered. When using [LoadIndicator.NONE](workspace/add-ons/reference/rpc/google.apps.card.v1#loadindicator) for actions, `persist_values` = `true`is recommended, as it ensures that any changes made by the user after form or on change actions are sent to the server are not overwritten by the response. If `false`, the form values are cleared when the action is triggered. When `persist_values` is set to `false`, it is strongly recommended that the card use [LoadIndicator.SPINNER](workspace/add-ons/reference/rpc/google.apps.card.v1#loadindicator) for all actions, as this locks the UI to ensure no changes are made by the user while the action is being processed. Not supported by Google Chat apps. + }, + "openLink": { # Represents an `onClick` event that opens a hyperlink. # If specified, this `onClick` triggers an open link action. + "onClose": "A String", # Whether the client forgets about a link after opening it, or observes it until the window closes. Not supported by Chat apps. + "openAs": "A String", # How to open a link. Not supported by Chat apps. + "url": "A String", # The URL to open. + }, + }, + "text": "A String", # The text of the button. + }, + ], + }, + "dateTimePicker": { # The widget that lets users to specify a date and time. Not supported by Google Chat apps. # Displays a selection/input widget for date/time. For example, the following JSON creates a date/time picker for an appointment time: ``` "date_time_picker": { "name": "appointment_time", "label": "Book your appointment at:", "type": "DateTimePickerType.DATE_AND_TIME", "valueMsEpoch": "796435200000" } ``` + "label": "A String", # The label for the field that displays to the user. + "name": "A String", # The name of the text input that's used in `formInput`, and uniquely identifies this input. + "onChangeAction": { # An action that describes the behavior when the form is submitted. For example, an Apps Script can be invoked to handle the form. # Triggered when the user clicks Save or Clear from the date/time picker dialog. This is only triggered if the value changed as a result of the Save/Clear operation. + "function": "A String", # Apps Script function to invoke when the containing element is clicked/activated. + "loadIndicator": "A String", # Specifies the loading indicator that the action displays while making the call to the action. + "parameters": [ # List of action parameters. + { # List of string parameters to supply when the action method is invoked. For example, consider three snooze buttons: snooze now, snooze 1 day, snooze next week. You might use action method = snooze(), passing the snooze type and snooze time in the list of string parameters. + "key": "A String", # The name of the parameter for the action script. + "value": "A String", # The value of the parameter. + }, + ], + "persistValues": True or False, # Indicates whether form values persist after the action. The default value is `false`. If `true`, form values remain after the action is triggered. When using [LoadIndicator.NONE](workspace/add-ons/reference/rpc/google.apps.card.v1#loadindicator) for actions, `persist_values` = `true`is recommended, as it ensures that any changes made by the user after form or on change actions are sent to the server are not overwritten by the response. If `false`, the form values are cleared when the action is triggered. When `persist_values` is set to `false`, it is strongly recommended that the card use [LoadIndicator.SPINNER](workspace/add-ons/reference/rpc/google.apps.card.v1#loadindicator) for all actions, as this locks the UI to ensure no changes are made by the user while the action is being processed. Not supported by Google Chat apps. + }, + "timezoneOffsetDate": 42, # The number representing the time zone offset from UTC, in minutes. If set, the `value_ms_epoch` is displayed in the specified time zone. If not set, it uses the user's time zone setting on the client side. + "type": "A String", # The type of the date/time picker. + "valueMsEpoch": "A String", # The value to display as the default value before user input or previous user input. It is represented in milliseconds (Epoch time). For `DATE_AND_TIME` type, the full epoch value is used. For `DATE_ONLY` type, only date of the epoch time is used. For `TIME_ONLY` type, only time of the epoch time is used. For example, you can set epoch time to `3 * 60 * 60 * 1000` to represent 3am. + }, + "decoratedText": { # A widget that displays text with optional decorations such as a label above or below the text, an icon in front of the text, a selection widget or a button after the text. # Displays a decorated text item in this widget. For example, the following JSON creates a decorated text widget showing email address: ``` "decoratedText": { "icon": { "knownIcon": "EMAIL" }, "topLabel": "Email Address", "content": "sasha@example.com", "bottomLabel": "This is a new Email address!", "switchWidget": { "name": "has_send_welcome_email_to_sasha", "selected": false, "controlType": "ControlType.CHECKBOX" } } ``` + "bottomLabel": "A String", # The formatted text label that shows below the main text. + "button": { # A button. Can be a text button or an image button. # A button that can be clicked to trigger an action. + "altText": "A String", # The alternative text used for accessibility. Has no effect when an icon is set; use `icon.alt_text` instead. + "color": { # Represents a color in the RGBA color space. This representation is designed for simplicity of conversion to/from color representations in various languages over compactness. For example, the fields of this representation can be trivially provided to the constructor of `java.awt.Color` in Java; it can also be trivially provided to UIColor's `+colorWithRed:green:blue:alpha` method in iOS; and, with just a little work, it can be easily formatted into a CSS `rgba()` string in JavaScript. This reference page doesn't carry information about the absolute color space that should be used to interpret the RGB value (e.g. sRGB, Adobe RGB, DCI-P3, BT.2020, etc.). By default, applications should assume the sRGB color space. When color equality needs to be decided, implementations, unless documented otherwise, treat two colors as equal if all their red, green, blue, and alpha values each differ by at most 1e-5. Example (Java): import com.google.type.Color; // ... public static java.awt.Color fromProto(Color protocolor) { float alpha = protocolor.hasAlpha() ? protocolor.getAlpha().getValue() : 1.0; return new java.awt.Color( protocolor.getRed(), protocolor.getGreen(), protocolor.getBlue(), alpha); } public static Color toProto(java.awt.Color color) { float red = (float) color.getRed(); float green = (float) color.getGreen(); float blue = (float) color.getBlue(); float denominator = 255.0; Color.Builder resultBuilder = Color .newBuilder() .setRed(red / denominator) .setGreen(green / denominator) .setBlue(blue / denominator); int alpha = color.getAlpha(); if (alpha != 255) { result.setAlpha( FloatValue .newBuilder() .setValue(((float) alpha) / denominator) .build()); } return resultBuilder.build(); } // ... Example (iOS / Obj-C): // ... static UIColor* fromProto(Color* protocolor) { float red = [protocolor red]; float green = [protocolor green]; float blue = [protocolor blue]; FloatValue* alpha_wrapper = [protocolor alpha]; float alpha = 1.0; if (alpha_wrapper != nil) { alpha = [alpha_wrapper value]; } return [UIColor colorWithRed:red green:green blue:blue alpha:alpha]; } static Color* toProto(UIColor* color) { CGFloat red, green, blue, alpha; if (![color getRed:&red green:&green blue:&blue alpha:&alpha]) { return nil; } Color* result = [[Color alloc] init]; [result setRed:red]; [result setGreen:green]; [result setBlue:blue]; if (alpha <= 0.9999) { [result setAlpha:floatWrapperWithValue(alpha)]; } [result autorelease]; return result; } // ... Example (JavaScript): // ... var protoToCssColor = function(rgb_color) { var redFrac = rgb_color.red || 0.0; var greenFrac = rgb_color.green || 0.0; var blueFrac = rgb_color.blue || 0.0; var red = Math.floor(redFrac * 255); var green = Math.floor(greenFrac * 255); var blue = Math.floor(blueFrac * 255); if (!('alpha' in rgb_color)) { return rgbToCssColor(red, green, blue); } var alphaFrac = rgb_color.alpha.value || 0.0; var rgbParams = [red, green, blue].join(','); return ['rgba(', rgbParams, ',', alphaFrac, ')'].join(''); }; var rgbToCssColor = function(red, green, blue) { var rgbNumber = new Number((red << 16) | (green << 8) | blue); var hexString = rgbNumber.toString(16); var missingZeros = 6 - hexString.length; var resultBuilder = ['#']; for (var i = 0; i < missingZeros; i++) { resultBuilder.push('0'); } resultBuilder.push(hexString); return resultBuilder.join(''); }; // ... # If set, the button is filled with a solid background. + "alpha": 3.14, # The fraction of this color that should be applied to the pixel. That is, the final pixel color is defined by the equation: `pixel color = alpha * (this color) + (1.0 - alpha) * (background color)` This means that a value of 1.0 corresponds to a solid color, whereas a value of 0.0 corresponds to a completely transparent color. This uses a wrapper message rather than a simple float scalar so that it is possible to distinguish between a default value and the value being unset. If omitted, this color object is rendered as a solid color (as if the alpha value had been explicitly given a value of 1.0). + "blue": 3.14, # The amount of blue in the color as a value in the interval [0, 1]. + "green": 3.14, # The amount of green in the color as a value in the interval [0, 1]. + "red": 3.14, # The amount of red in the color as a value in the interval [0, 1]. + }, + "disabled": True or False, # If `true`, the button is displayed in a disabled state and doesn't respond to user actions. + "icon": { # The icon image. + "altText": "A String", # The description of the icon, used for accessibility. The default value is provided if you don't specify one. + "iconUrl": "A String", # The icon specified by a URL. + "imageType": "A String", # The crop style applied to the image. In some cases, applying a `CIRCLE` crop causes the image to be drawn larger than a standard icon. + "knownIcon": "A String", # The icon specified by the string name of a list of known icons. + }, + "onClick": { # Represents the response to an `onClick` event. # The action to perform when the button is clicked. + "action": { # An action that describes the behavior when the form is submitted. For example, an Apps Script can be invoked to handle the form. # If specified, an action is triggered by this `onClick`. + "function": "A String", # Apps Script function to invoke when the containing element is clicked/activated. + "loadIndicator": "A String", # Specifies the loading indicator that the action displays while making the call to the action. + "parameters": [ # List of action parameters. + { # List of string parameters to supply when the action method is invoked. For example, consider three snooze buttons: snooze now, snooze 1 day, snooze next week. You might use action method = snooze(), passing the snooze type and snooze time in the list of string parameters. + "key": "A String", # The name of the parameter for the action script. + "value": "A String", # The value of the parameter. + }, + ], + "persistValues": True or False, # Indicates whether form values persist after the action. The default value is `false`. If `true`, form values remain after the action is triggered. When using [LoadIndicator.NONE](workspace/add-ons/reference/rpc/google.apps.card.v1#loadindicator) for actions, `persist_values` = `true`is recommended, as it ensures that any changes made by the user after form or on change actions are sent to the server are not overwritten by the response. If `false`, the form values are cleared when the action is triggered. When `persist_values` is set to `false`, it is strongly recommended that the card use [LoadIndicator.SPINNER](workspace/add-ons/reference/rpc/google.apps.card.v1#loadindicator) for all actions, as this locks the UI to ensure no changes are made by the user while the action is being processed. Not supported by Google Chat apps. + }, + "card": # Object with schema name: GoogleAppsCardV1Card # A new card is pushed to the card stack after clicking if specified. + "openDynamicLinkAction": { # An action that describes the behavior when the form is submitted. For example, an Apps Script can be invoked to handle the form. # An add-on triggers this action when the action needs to open a link. This differs from the `open_link` above in that this needs to talk to server to get the link. Thus some preparation work is required for web client to do before the open link action response comes back. + "function": "A String", # Apps Script function to invoke when the containing element is clicked/activated. + "loadIndicator": "A String", # Specifies the loading indicator that the action displays while making the call to the action. + "parameters": [ # List of action parameters. + { # List of string parameters to supply when the action method is invoked. For example, consider three snooze buttons: snooze now, snooze 1 day, snooze next week. You might use action method = snooze(), passing the snooze type and snooze time in the list of string parameters. + "key": "A String", # The name of the parameter for the action script. + "value": "A String", # The value of the parameter. + }, + ], + "persistValues": True or False, # Indicates whether form values persist after the action. The default value is `false`. If `true`, form values remain after the action is triggered. When using [LoadIndicator.NONE](workspace/add-ons/reference/rpc/google.apps.card.v1#loadindicator) for actions, `persist_values` = `true`is recommended, as it ensures that any changes made by the user after form or on change actions are sent to the server are not overwritten by the response. If `false`, the form values are cleared when the action is triggered. When `persist_values` is set to `false`, it is strongly recommended that the card use [LoadIndicator.SPINNER](workspace/add-ons/reference/rpc/google.apps.card.v1#loadindicator) for all actions, as this locks the UI to ensure no changes are made by the user while the action is being processed. Not supported by Google Chat apps. + }, + "openLink": { # Represents an `onClick` event that opens a hyperlink. # If specified, this `onClick` triggers an open link action. + "onClose": "A String", # Whether the client forgets about a link after opening it, or observes it until the window closes. Not supported by Chat apps. + "openAs": "A String", # How to open a link. Not supported by Chat apps. + "url": "A String", # The URL to open. + }, + }, + "text": "A String", # The text of the button. + }, + "endIcon": { # An icon displayed after the text. + "altText": "A String", # The description of the icon, used for accessibility. The default value is provided if you don't specify one. + "iconUrl": "A String", # The icon specified by a URL. + "imageType": "A String", # The crop style applied to the image. In some cases, applying a `CIRCLE` crop causes the image to be drawn larger than a standard icon. + "knownIcon": "A String", # The icon specified by the string name of a list of known icons. + }, + "icon": { # Deprecated in favor of start_icon. + "altText": "A String", # The description of the icon, used for accessibility. The default value is provided if you don't specify one. + "iconUrl": "A String", # The icon specified by a URL. + "imageType": "A String", # The crop style applied to the image. In some cases, applying a `CIRCLE` crop causes the image to be drawn larger than a standard icon. + "knownIcon": "A String", # The icon specified by the string name of a list of known icons. + }, + "onClick": { # Represents the response to an `onClick` event. # Only the top and bottom label and content region are clickable. + "action": { # An action that describes the behavior when the form is submitted. For example, an Apps Script can be invoked to handle the form. # If specified, an action is triggered by this `onClick`. + "function": "A String", # Apps Script function to invoke when the containing element is clicked/activated. + "loadIndicator": "A String", # Specifies the loading indicator that the action displays while making the call to the action. + "parameters": [ # List of action parameters. + { # List of string parameters to supply when the action method is invoked. For example, consider three snooze buttons: snooze now, snooze 1 day, snooze next week. You might use action method = snooze(), passing the snooze type and snooze time in the list of string parameters. + "key": "A String", # The name of the parameter for the action script. + "value": "A String", # The value of the parameter. + }, + ], + "persistValues": True or False, # Indicates whether form values persist after the action. The default value is `false`. If `true`, form values remain after the action is triggered. When using [LoadIndicator.NONE](workspace/add-ons/reference/rpc/google.apps.card.v1#loadindicator) for actions, `persist_values` = `true`is recommended, as it ensures that any changes made by the user after form or on change actions are sent to the server are not overwritten by the response. If `false`, the form values are cleared when the action is triggered. When `persist_values` is set to `false`, it is strongly recommended that the card use [LoadIndicator.SPINNER](workspace/add-ons/reference/rpc/google.apps.card.v1#loadindicator) for all actions, as this locks the UI to ensure no changes are made by the user while the action is being processed. Not supported by Google Chat apps. + }, + "card": # Object with schema name: GoogleAppsCardV1Card # A new card is pushed to the card stack after clicking if specified. + "openDynamicLinkAction": { # An action that describes the behavior when the form is submitted. For example, an Apps Script can be invoked to handle the form. # An add-on triggers this action when the action needs to open a link. This differs from the `open_link` above in that this needs to talk to server to get the link. Thus some preparation work is required for web client to do before the open link action response comes back. + "function": "A String", # Apps Script function to invoke when the containing element is clicked/activated. + "loadIndicator": "A String", # Specifies the loading indicator that the action displays while making the call to the action. + "parameters": [ # List of action parameters. + { # List of string parameters to supply when the action method is invoked. For example, consider three snooze buttons: snooze now, snooze 1 day, snooze next week. You might use action method = snooze(), passing the snooze type and snooze time in the list of string parameters. + "key": "A String", # The name of the parameter for the action script. + "value": "A String", # The value of the parameter. + }, + ], + "persistValues": True or False, # Indicates whether form values persist after the action. The default value is `false`. If `true`, form values remain after the action is triggered. When using [LoadIndicator.NONE](workspace/add-ons/reference/rpc/google.apps.card.v1#loadindicator) for actions, `persist_values` = `true`is recommended, as it ensures that any changes made by the user after form or on change actions are sent to the server are not overwritten by the response. If `false`, the form values are cleared when the action is triggered. When `persist_values` is set to `false`, it is strongly recommended that the card use [LoadIndicator.SPINNER](workspace/add-ons/reference/rpc/google.apps.card.v1#loadindicator) for all actions, as this locks the UI to ensure no changes are made by the user while the action is being processed. Not supported by Google Chat apps. + }, + "openLink": { # Represents an `onClick` event that opens a hyperlink. # If specified, this `onClick` triggers an open link action. + "onClose": "A String", # Whether the client forgets about a link after opening it, or observes it until the window closes. Not supported by Chat apps. + "openAs": "A String", # How to open a link. Not supported by Chat apps. + "url": "A String", # The URL to open. + }, + }, + "startIcon": { # The icon displayed in front of the text. + "altText": "A String", # The description of the icon, used for accessibility. The default value is provided if you don't specify one. + "iconUrl": "A String", # The icon specified by a URL. + "imageType": "A String", # The crop style applied to the image. In some cases, applying a `CIRCLE` crop causes the image to be drawn larger than a standard icon. + "knownIcon": "A String", # The icon specified by the string name of a list of known icons. + }, + "switchControl": { # Either a toggle-style switch or a checkbox. # A switch widget can be clicked to change its state or trigger an action. + "controlType": "A String", # The control type, either switch or checkbox. + "name": "A String", # The name of the switch widget that's used in `formInput`. + "onChangeAction": { # An action that describes the behavior when the form is submitted. For example, an Apps Script can be invoked to handle the form. # The action when the switch state is changed. + "function": "A String", # Apps Script function to invoke when the containing element is clicked/activated. + "loadIndicator": "A String", # Specifies the loading indicator that the action displays while making the call to the action. + "parameters": [ # List of action parameters. + { # List of string parameters to supply when the action method is invoked. For example, consider three snooze buttons: snooze now, snooze 1 day, snooze next week. You might use action method = snooze(), passing the snooze type and snooze time in the list of string parameters. + "key": "A String", # The name of the parameter for the action script. + "value": "A String", # The value of the parameter. + }, + ], + "persistValues": True or False, # Indicates whether form values persist after the action. The default value is `false`. If `true`, form values remain after the action is triggered. When using [LoadIndicator.NONE](workspace/add-ons/reference/rpc/google.apps.card.v1#loadindicator) for actions, `persist_values` = `true`is recommended, as it ensures that any changes made by the user after form or on change actions are sent to the server are not overwritten by the response. If `false`, the form values are cleared when the action is triggered. When `persist_values` is set to `false`, it is strongly recommended that the card use [LoadIndicator.SPINNER](workspace/add-ons/reference/rpc/google.apps.card.v1#loadindicator) for all actions, as this locks the UI to ensure no changes are made by the user while the action is being processed. Not supported by Google Chat apps. + }, + "selected": True or False, # If the switch is selected. + "value": "A String", # The value is what is passed back in the callback. + }, + "text": "A String", # Required. The main widget formatted text. See Text formatting for details. + "topLabel": "A String", # The formatted text label that shows above the main text. + "wrapText": True or False, # The wrap text setting. If `true`, the text is wrapped and displayed in multiline. Otherwise, the text is truncated. + }, + "divider": { # A divider that appears in between widgets. # Displays a divider. For example, the following JSON creates a divider: ``` "divider": { } ``` + }, + "grid": { # Represents a Grid widget that displays items in a configurable grid layout. # Displays a grid with a collection of items. For example, the following JSON creates a 2 column grid with a single item: ``` "grid": { "title": "A fine collection of items", "numColumns": 2, "borderStyle": { "type": "STROKE", "cornerRadius": 4.0 }, "items": [ "image": { "imageUri": "https://www.example.com/image.png", "cropStyle": { "type": "SQUARE" }, "borderStyle": { "type": "STROKE" } }, "title": "An item", "textAlignment": "CENTER" ], "onClick": { "openLink": { "url":"https://www.example.com" } } } ``` + "borderStyle": { # Represents the complete border style applied to widgets. # The border style to apply to each grid item. + "cornerRadius": 42, # The corner radius for the border. + "strokeColor": { # Represents a color in the RGBA color space. This representation is designed for simplicity of conversion to/from color representations in various languages over compactness. For example, the fields of this representation can be trivially provided to the constructor of `java.awt.Color` in Java; it can also be trivially provided to UIColor's `+colorWithRed:green:blue:alpha` method in iOS; and, with just a little work, it can be easily formatted into a CSS `rgba()` string in JavaScript. This reference page doesn't carry information about the absolute color space that should be used to interpret the RGB value (e.g. sRGB, Adobe RGB, DCI-P3, BT.2020, etc.). By default, applications should assume the sRGB color space. When color equality needs to be decided, implementations, unless documented otherwise, treat two colors as equal if all their red, green, blue, and alpha values each differ by at most 1e-5. Example (Java): import com.google.type.Color; // ... public static java.awt.Color fromProto(Color protocolor) { float alpha = protocolor.hasAlpha() ? protocolor.getAlpha().getValue() : 1.0; return new java.awt.Color( protocolor.getRed(), protocolor.getGreen(), protocolor.getBlue(), alpha); } public static Color toProto(java.awt.Color color) { float red = (float) color.getRed(); float green = (float) color.getGreen(); float blue = (float) color.getBlue(); float denominator = 255.0; Color.Builder resultBuilder = Color .newBuilder() .setRed(red / denominator) .setGreen(green / denominator) .setBlue(blue / denominator); int alpha = color.getAlpha(); if (alpha != 255) { result.setAlpha( FloatValue .newBuilder() .setValue(((float) alpha) / denominator) .build()); } return resultBuilder.build(); } // ... Example (iOS / Obj-C): // ... static UIColor* fromProto(Color* protocolor) { float red = [protocolor red]; float green = [protocolor green]; float blue = [protocolor blue]; FloatValue* alpha_wrapper = [protocolor alpha]; float alpha = 1.0; if (alpha_wrapper != nil) { alpha = [alpha_wrapper value]; } return [UIColor colorWithRed:red green:green blue:blue alpha:alpha]; } static Color* toProto(UIColor* color) { CGFloat red, green, blue, alpha; if (![color getRed:&red green:&green blue:&blue alpha:&alpha]) { return nil; } Color* result = [[Color alloc] init]; [result setRed:red]; [result setGreen:green]; [result setBlue:blue]; if (alpha <= 0.9999) { [result setAlpha:floatWrapperWithValue(alpha)]; } [result autorelease]; return result; } // ... Example (JavaScript): // ... var protoToCssColor = function(rgb_color) { var redFrac = rgb_color.red || 0.0; var greenFrac = rgb_color.green || 0.0; var blueFrac = rgb_color.blue || 0.0; var red = Math.floor(redFrac * 255); var green = Math.floor(greenFrac * 255); var blue = Math.floor(blueFrac * 255); if (!('alpha' in rgb_color)) { return rgbToCssColor(red, green, blue); } var alphaFrac = rgb_color.alpha.value || 0.0; var rgbParams = [red, green, blue].join(','); return ['rgba(', rgbParams, ',', alphaFrac, ')'].join(''); }; var rgbToCssColor = function(red, green, blue) { var rgbNumber = new Number((red << 16) | (green << 8) | blue); var hexString = rgbNumber.toString(16); var missingZeros = 6 - hexString.length; var resultBuilder = ['#']; for (var i = 0; i < missingZeros; i++) { resultBuilder.push('0'); } resultBuilder.push(hexString); return resultBuilder.join(''); }; // ... # The colors to use when the type is `BORDER_TYPE_STROKE`. + "alpha": 3.14, # The fraction of this color that should be applied to the pixel. That is, the final pixel color is defined by the equation: `pixel color = alpha * (this color) + (1.0 - alpha) * (background color)` This means that a value of 1.0 corresponds to a solid color, whereas a value of 0.0 corresponds to a completely transparent color. This uses a wrapper message rather than a simple float scalar so that it is possible to distinguish between a default value and the value being unset. If omitted, this color object is rendered as a solid color (as if the alpha value had been explicitly given a value of 1.0). + "blue": 3.14, # The amount of blue in the color as a value in the interval [0, 1]. + "green": 3.14, # The amount of green in the color as a value in the interval [0, 1]. + "red": 3.14, # The amount of red in the color as a value in the interval [0, 1]. + }, + "type": "A String", # The border type. + }, + "columnCount": 42, # The number of columns to display in the grid. A default value is used if this field isn't specified, and that default value is different depending on where the grid is shown (dialog versus companion). + "items": [ # The items to display in the grid. + { # Represents a single item in the grid layout. + "id": "A String", # A user-specified identifier for this grid item. This identifier is returned in the parent Grid's onClick callback parameters. + "image": { # Represents an image. # The image that displays in the grid item. + "altText": "A String", # The accessibility label for the image. + "borderStyle": { # Represents the complete border style applied to widgets. # The border style to apply to the image. + "cornerRadius": 42, # The corner radius for the border. + "strokeColor": { # Represents a color in the RGBA color space. This representation is designed for simplicity of conversion to/from color representations in various languages over compactness. For example, the fields of this representation can be trivially provided to the constructor of `java.awt.Color` in Java; it can also be trivially provided to UIColor's `+colorWithRed:green:blue:alpha` method in iOS; and, with just a little work, it can be easily formatted into a CSS `rgba()` string in JavaScript. This reference page doesn't carry information about the absolute color space that should be used to interpret the RGB value (e.g. sRGB, Adobe RGB, DCI-P3, BT.2020, etc.). By default, applications should assume the sRGB color space. When color equality needs to be decided, implementations, unless documented otherwise, treat two colors as equal if all their red, green, blue, and alpha values each differ by at most 1e-5. Example (Java): import com.google.type.Color; // ... public static java.awt.Color fromProto(Color protocolor) { float alpha = protocolor.hasAlpha() ? protocolor.getAlpha().getValue() : 1.0; return new java.awt.Color( protocolor.getRed(), protocolor.getGreen(), protocolor.getBlue(), alpha); } public static Color toProto(java.awt.Color color) { float red = (float) color.getRed(); float green = (float) color.getGreen(); float blue = (float) color.getBlue(); float denominator = 255.0; Color.Builder resultBuilder = Color .newBuilder() .setRed(red / denominator) .setGreen(green / denominator) .setBlue(blue / denominator); int alpha = color.getAlpha(); if (alpha != 255) { result.setAlpha( FloatValue .newBuilder() .setValue(((float) alpha) / denominator) .build()); } return resultBuilder.build(); } // ... Example (iOS / Obj-C): // ... static UIColor* fromProto(Color* protocolor) { float red = [protocolor red]; float green = [protocolor green]; float blue = [protocolor blue]; FloatValue* alpha_wrapper = [protocolor alpha]; float alpha = 1.0; if (alpha_wrapper != nil) { alpha = [alpha_wrapper value]; } return [UIColor colorWithRed:red green:green blue:blue alpha:alpha]; } static Color* toProto(UIColor* color) { CGFloat red, green, blue, alpha; if (![color getRed:&red green:&green blue:&blue alpha:&alpha]) { return nil; } Color* result = [[Color alloc] init]; [result setRed:red]; [result setGreen:green]; [result setBlue:blue]; if (alpha <= 0.9999) { [result setAlpha:floatWrapperWithValue(alpha)]; } [result autorelease]; return result; } // ... Example (JavaScript): // ... var protoToCssColor = function(rgb_color) { var redFrac = rgb_color.red || 0.0; var greenFrac = rgb_color.green || 0.0; var blueFrac = rgb_color.blue || 0.0; var red = Math.floor(redFrac * 255); var green = Math.floor(greenFrac * 255); var blue = Math.floor(blueFrac * 255); if (!('alpha' in rgb_color)) { return rgbToCssColor(red, green, blue); } var alphaFrac = rgb_color.alpha.value || 0.0; var rgbParams = [red, green, blue].join(','); return ['rgba(', rgbParams, ',', alphaFrac, ')'].join(''); }; var rgbToCssColor = function(red, green, blue) { var rgbNumber = new Number((red << 16) | (green << 8) | blue); var hexString = rgbNumber.toString(16); var missingZeros = 6 - hexString.length; var resultBuilder = ['#']; for (var i = 0; i < missingZeros; i++) { resultBuilder.push('0'); } resultBuilder.push(hexString); return resultBuilder.join(''); }; // ... # The colors to use when the type is `BORDER_TYPE_STROKE`. + "alpha": 3.14, # The fraction of this color that should be applied to the pixel. That is, the final pixel color is defined by the equation: `pixel color = alpha * (this color) + (1.0 - alpha) * (background color)` This means that a value of 1.0 corresponds to a solid color, whereas a value of 0.0 corresponds to a completely transparent color. This uses a wrapper message rather than a simple float scalar so that it is possible to distinguish between a default value and the value being unset. If omitted, this color object is rendered as a solid color (as if the alpha value had been explicitly given a value of 1.0). + "blue": 3.14, # The amount of blue in the color as a value in the interval [0, 1]. + "green": 3.14, # The amount of green in the color as a value in the interval [0, 1]. + "red": 3.14, # The amount of red in the color as a value in the interval [0, 1]. + }, + "type": "A String", # The border type. + }, + "cropStyle": { # Represents the crop style applied to an image. # The crop style to apply to the image. + "aspectRatio": 3.14, # The aspect ratio to use if the crop type is `RECTANGLE_CUSTOM`. + "type": "A String", # The crop type. + }, + "imageUri": "A String", # The image URL. + }, + "layout": "A String", # The layout to use for the grid item. + "subtitle": "A String", # The grid item's subtitle. + "textAlignment": "A String", # The horizontal alignment of the grid item's text. + "title": "A String", # The grid item's title. + }, + ], + "onClick": { # Represents the response to an `onClick` event. # This callback is reused by each individual grid item, but with the item's identifier and index in the items list added to the callback's parameters. + "action": { # An action that describes the behavior when the form is submitted. For example, an Apps Script can be invoked to handle the form. # If specified, an action is triggered by this `onClick`. + "function": "A String", # Apps Script function to invoke when the containing element is clicked/activated. + "loadIndicator": "A String", # Specifies the loading indicator that the action displays while making the call to the action. + "parameters": [ # List of action parameters. + { # List of string parameters to supply when the action method is invoked. For example, consider three snooze buttons: snooze now, snooze 1 day, snooze next week. You might use action method = snooze(), passing the snooze type and snooze time in the list of string parameters. + "key": "A String", # The name of the parameter for the action script. + "value": "A String", # The value of the parameter. + }, + ], + "persistValues": True or False, # Indicates whether form values persist after the action. The default value is `false`. If `true`, form values remain after the action is triggered. When using [LoadIndicator.NONE](workspace/add-ons/reference/rpc/google.apps.card.v1#loadindicator) for actions, `persist_values` = `true`is recommended, as it ensures that any changes made by the user after form or on change actions are sent to the server are not overwritten by the response. If `false`, the form values are cleared when the action is triggered. When `persist_values` is set to `false`, it is strongly recommended that the card use [LoadIndicator.SPINNER](workspace/add-ons/reference/rpc/google.apps.card.v1#loadindicator) for all actions, as this locks the UI to ensure no changes are made by the user while the action is being processed. Not supported by Google Chat apps. + }, + "card": # Object with schema name: GoogleAppsCardV1Card # A new card is pushed to the card stack after clicking if specified. + "openDynamicLinkAction": { # An action that describes the behavior when the form is submitted. For example, an Apps Script can be invoked to handle the form. # An add-on triggers this action when the action needs to open a link. This differs from the `open_link` above in that this needs to talk to server to get the link. Thus some preparation work is required for web client to do before the open link action response comes back. + "function": "A String", # Apps Script function to invoke when the containing element is clicked/activated. + "loadIndicator": "A String", # Specifies the loading indicator that the action displays while making the call to the action. + "parameters": [ # List of action parameters. + { # List of string parameters to supply when the action method is invoked. For example, consider three snooze buttons: snooze now, snooze 1 day, snooze next week. You might use action method = snooze(), passing the snooze type and snooze time in the list of string parameters. + "key": "A String", # The name of the parameter for the action script. + "value": "A String", # The value of the parameter. + }, + ], + "persistValues": True or False, # Indicates whether form values persist after the action. The default value is `false`. If `true`, form values remain after the action is triggered. When using [LoadIndicator.NONE](workspace/add-ons/reference/rpc/google.apps.card.v1#loadindicator) for actions, `persist_values` = `true`is recommended, as it ensures that any changes made by the user after form or on change actions are sent to the server are not overwritten by the response. If `false`, the form values are cleared when the action is triggered. When `persist_values` is set to `false`, it is strongly recommended that the card use [LoadIndicator.SPINNER](workspace/add-ons/reference/rpc/google.apps.card.v1#loadindicator) for all actions, as this locks the UI to ensure no changes are made by the user while the action is being processed. Not supported by Google Chat apps. + }, + "openLink": { # Represents an `onClick` event that opens a hyperlink. # If specified, this `onClick` triggers an open link action. + "onClose": "A String", # Whether the client forgets about a link after opening it, or observes it until the window closes. Not supported by Chat apps. + "openAs": "A String", # How to open a link. Not supported by Chat apps. + "url": "A String", # The URL to open. + }, + }, + "title": "A String", # The text that displays in the grid header. + }, + "horizontalAlignment": "A String", # The horizontal alignment of this widget. + "image": { # An image that is specified by a URL and can have an `onClick` action. # Displays an image in this widget. For example, the following JSON creates an image with alternative text: ``` "image": { "imageUrl": "https://example.com/sasha.png" "altText": "Avatar for Sasha" } ``` + "altText": "A String", # The alternative text of this image, used for accessibility. + "imageUrl": "A String", # An image URL. + "onClick": { # Represents the response to an `onClick` event. # The action triggered by an `onClick` event. + "action": { # An action that describes the behavior when the form is submitted. For example, an Apps Script can be invoked to handle the form. # If specified, an action is triggered by this `onClick`. + "function": "A String", # Apps Script function to invoke when the containing element is clicked/activated. + "loadIndicator": "A String", # Specifies the loading indicator that the action displays while making the call to the action. + "parameters": [ # List of action parameters. + { # List of string parameters to supply when the action method is invoked. For example, consider three snooze buttons: snooze now, snooze 1 day, snooze next week. You might use action method = snooze(), passing the snooze type and snooze time in the list of string parameters. + "key": "A String", # The name of the parameter for the action script. + "value": "A String", # The value of the parameter. + }, + ], + "persistValues": True or False, # Indicates whether form values persist after the action. The default value is `false`. If `true`, form values remain after the action is triggered. When using [LoadIndicator.NONE](workspace/add-ons/reference/rpc/google.apps.card.v1#loadindicator) for actions, `persist_values` = `true`is recommended, as it ensures that any changes made by the user after form or on change actions are sent to the server are not overwritten by the response. If `false`, the form values are cleared when the action is triggered. When `persist_values` is set to `false`, it is strongly recommended that the card use [LoadIndicator.SPINNER](workspace/add-ons/reference/rpc/google.apps.card.v1#loadindicator) for all actions, as this locks the UI to ensure no changes are made by the user while the action is being processed. Not supported by Google Chat apps. + }, + "card": # Object with schema name: GoogleAppsCardV1Card # A new card is pushed to the card stack after clicking if specified. + "openDynamicLinkAction": { # An action that describes the behavior when the form is submitted. For example, an Apps Script can be invoked to handle the form. # An add-on triggers this action when the action needs to open a link. This differs from the `open_link` above in that this needs to talk to server to get the link. Thus some preparation work is required for web client to do before the open link action response comes back. + "function": "A String", # Apps Script function to invoke when the containing element is clicked/activated. + "loadIndicator": "A String", # Specifies the loading indicator that the action displays while making the call to the action. + "parameters": [ # List of action parameters. + { # List of string parameters to supply when the action method is invoked. For example, consider three snooze buttons: snooze now, snooze 1 day, snooze next week. You might use action method = snooze(), passing the snooze type and snooze time in the list of string parameters. + "key": "A String", # The name of the parameter for the action script. + "value": "A String", # The value of the parameter. + }, + ], + "persistValues": True or False, # Indicates whether form values persist after the action. The default value is `false`. If `true`, form values remain after the action is triggered. When using [LoadIndicator.NONE](workspace/add-ons/reference/rpc/google.apps.card.v1#loadindicator) for actions, `persist_values` = `true`is recommended, as it ensures that any changes made by the user after form or on change actions are sent to the server are not overwritten by the response. If `false`, the form values are cleared when the action is triggered. When `persist_values` is set to `false`, it is strongly recommended that the card use [LoadIndicator.SPINNER](workspace/add-ons/reference/rpc/google.apps.card.v1#loadindicator) for all actions, as this locks the UI to ensure no changes are made by the user while the action is being processed. Not supported by Google Chat apps. + }, + "openLink": { # Represents an `onClick` event that opens a hyperlink. # If specified, this `onClick` triggers an open link action. + "onClose": "A String", # Whether the client forgets about a link after opening it, or observes it until the window closes. Not supported by Chat apps. + "openAs": "A String", # How to open a link. Not supported by Chat apps. + "url": "A String", # The URL to open. + }, + }, + }, + "selectionInput": { # A widget that creates a UI item with options for users to select. For example, a dropdown menu. # Displays a switch control in this widget. For example, the following JSON creates a dropdown selection for size: ``` "switchControl": { "name": "size", "label": "Size" "type": "SelectionType.DROPDOWN", "items": [ { "text": "S", "value": "small", "selected": false }, { "text": "M", "value": "medium", "selected": true }, { "text": "L", "value": "large", "selected": false }, { "text": "XL", "value": "extra_large", "selected": false } ] } ``` + "items": [ # An array of the selected items. + { # A selectable item in the switch control. + "selected": True or False, # If more than one item is selected for `RADIO_BUTTON` and `DROPDOWN`, the first selected item is treated as selected and the ones after are ignored. + "text": "A String", # The text to be displayed. + "value": "A String", # The value associated with this item. The client should use this as a form input value. + }, + ], + "label": "A String", # The label displayed ahead of the switch control. + "name": "A String", # The name of the text input which is used in `formInput`. + "onChangeAction": { # An action that describes the behavior when the form is submitted. For example, an Apps Script can be invoked to handle the form. # If specified, the form is submitted when the selection changes. If not specified, you must specify a separate button. + "function": "A String", # Apps Script function to invoke when the containing element is clicked/activated. + "loadIndicator": "A String", # Specifies the loading indicator that the action displays while making the call to the action. + "parameters": [ # List of action parameters. + { # List of string parameters to supply when the action method is invoked. For example, consider three snooze buttons: snooze now, snooze 1 day, snooze next week. You might use action method = snooze(), passing the snooze type and snooze time in the list of string parameters. + "key": "A String", # The name of the parameter for the action script. + "value": "A String", # The value of the parameter. + }, + ], + "persistValues": True or False, # Indicates whether form values persist after the action. The default value is `false`. If `true`, form values remain after the action is triggered. When using [LoadIndicator.NONE](workspace/add-ons/reference/rpc/google.apps.card.v1#loadindicator) for actions, `persist_values` = `true`is recommended, as it ensures that any changes made by the user after form or on change actions are sent to the server are not overwritten by the response. If `false`, the form values are cleared when the action is triggered. When `persist_values` is set to `false`, it is strongly recommended that the card use [LoadIndicator.SPINNER](workspace/add-ons/reference/rpc/google.apps.card.v1#loadindicator) for all actions, as this locks the UI to ensure no changes are made by the user while the action is being processed. Not supported by Google Chat apps. + }, + "type": "A String", # The type of the selection. + }, + "textInput": { # A text input is a UI item where users can input text. A text input can also have an onChange action and suggestions. # Displays a text input in this widget. For example, the following JSON creates a text input for mail address: ``` "textInput": { "name": "mailing_address", "label": "Mailing Address" } ``` As another example, the following JSON creates a text input for programming language with static suggestions: ``` "textInput": { "name": "preferred_programing_language", "label": "Preferred Language", "initialSuggestions": { "items": [ { "text": "C++" }, { "text": "Java" }, { "text": "JavaScript" }, { "text": "Python" } ] } } ``` + "autoCompleteAction": { # An action that describes the behavior when the form is submitted. For example, an Apps Script can be invoked to handle the form. # The refresh function that returns suggestions based on the user's input text. If the callback is not specified, autocomplete is done in client side based on the initial suggestion items. + "function": "A String", # Apps Script function to invoke when the containing element is clicked/activated. + "loadIndicator": "A String", # Specifies the loading indicator that the action displays while making the call to the action. + "parameters": [ # List of action parameters. + { # List of string parameters to supply when the action method is invoked. For example, consider three snooze buttons: snooze now, snooze 1 day, snooze next week. You might use action method = snooze(), passing the snooze type and snooze time in the list of string parameters. + "key": "A String", # The name of the parameter for the action script. + "value": "A String", # The value of the parameter. + }, + ], + "persistValues": True or False, # Indicates whether form values persist after the action. The default value is `false`. If `true`, form values remain after the action is triggered. When using [LoadIndicator.NONE](workspace/add-ons/reference/rpc/google.apps.card.v1#loadindicator) for actions, `persist_values` = `true`is recommended, as it ensures that any changes made by the user after form or on change actions are sent to the server are not overwritten by the response. If `false`, the form values are cleared when the action is triggered. When `persist_values` is set to `false`, it is strongly recommended that the card use [LoadIndicator.SPINNER](workspace/add-ons/reference/rpc/google.apps.card.v1#loadindicator) for all actions, as this locks the UI to ensure no changes are made by the user while the action is being processed. Not supported by Google Chat apps. + }, + "hintText": "A String", # The hint text. + "initialSuggestions": { # A container wrapping elements necessary for showing suggestion items used in text input autocomplete. # The initial suggestions made before any user input. + "items": [ # A list of suggestions used for autocomplete recommendations. + { # A suggestion item. + "text": "A String", # The suggested autocomplete result. + }, + ], + }, + "label": "A String", # At least one of label and hintText must be specified. + "name": "A String", # The name of the text input which is used in `formInput`. + "onChangeAction": { # An action that describes the behavior when the form is submitted. For example, an Apps Script can be invoked to handle the form. # The onChange action, for example, invoke a function. + "function": "A String", # Apps Script function to invoke when the containing element is clicked/activated. + "loadIndicator": "A String", # Specifies the loading indicator that the action displays while making the call to the action. + "parameters": [ # List of action parameters. + { # List of string parameters to supply when the action method is invoked. For example, consider three snooze buttons: snooze now, snooze 1 day, snooze next week. You might use action method = snooze(), passing the snooze type and snooze time in the list of string parameters. + "key": "A String", # The name of the parameter for the action script. + "value": "A String", # The value of the parameter. + }, + ], + "persistValues": True or False, # Indicates whether form values persist after the action. The default value is `false`. If `true`, form values remain after the action is triggered. When using [LoadIndicator.NONE](workspace/add-ons/reference/rpc/google.apps.card.v1#loadindicator) for actions, `persist_values` = `true`is recommended, as it ensures that any changes made by the user after form or on change actions are sent to the server are not overwritten by the response. If `false`, the form values are cleared when the action is triggered. When `persist_values` is set to `false`, it is strongly recommended that the card use [LoadIndicator.SPINNER](workspace/add-ons/reference/rpc/google.apps.card.v1#loadindicator) for all actions, as this locks the UI to ensure no changes are made by the user while the action is being processed. Not supported by Google Chat apps. + }, + "type": "A String", # The style of the text, for example, a single line or multiple lines. + "value": "A String", # The default value when there is no input from the user. + }, + "textParagraph": { # A paragraph of text that supports formatting. See [Text formatting](workspace/add-ons/concepts/widgets#text_formatting) for details. # Displays a text paragraph in this widget. For example, the following JSON creates a bolded text: ``` "textParagraph": { "text": " *bold text*" } ``` + "text": "A String", # The text that's shown in the widget. + }, + }, + ], + }, + ], + }, + "cardId": "A String", # Required for `cardsV2` messages. Chat app-specified identifier for this widget. Scoped within a message. }, ], "createTime": "A String", # Output only. The time at which the message was created in Google Chat server. @@ -1638,8 +2686,12 @@

Method Details

"displayName": "A String", # The space's display name. For direct messages between humans, this field might be empty. "name": "A String", # Resource name of the space. Format: spaces/{space} "singleUserBotDm": True or False, # Output only. Whether the space is a DM between a Chat app and a single human. + "spaceDetails": { # Details about the space including description and rules. # Details about the space including description and rules. + "description": "A String", # Optional. A description of the space. It could describe the space's discussion topic, functional purpose, or participants. + "guidelines": "A String", # Optional. The space's rules, expectations, and etiquette. + }, "threaded": True or False, # Output only. Whether messages are threaded in this space. - "type": "A String", # Output only. Deprecated: Use `single_user_bot_dm` or `space_type` (developer preview) instead. The type of a space. + "type": "A String", # Output only. Deprecated: Use `singleUserBotDm` or `spaceType` (developer preview) instead. The type of a space. }, "text": "A String", # Plain-text body of the message. The first link to an image, video, web page, or other preview-able item generates a preview chip. "thread": { # A thread in Google Chat. # The thread the message belongs to. @@ -2394,6 +3446,528 @@

Method Details

], }, ], + "cardsV2": [ # Richly formatted and interactive cards that display UI elements and editable widgets, such as: - Formatted text - Buttons - Clickable images - Checkboxes - Radio buttons - Input widgets. Cards are usually displayed below the text-body of a Chat message, but can situationally appear other places, such as [dialogs](https://developers.google.com/chat/how-tos/dialogs). The `cardId` is a unique identifier among cards in the same message and for identifying user input values. Currently supported widgets include: - `TextParagraph` - `DecoratedText` - `Image` - `ButtonList` + { # Widgets for Chat apps to specify. + "card": { # A card is a UI element that can contain UI widgets such as text and images. For more information, see Cards . For example, the following JSON creates a card that has a header with the name, position, icons, and link for a contact, followed by a section with contact information like email and phone number. ``` { "header": { "title": "Sasha", "subtitle": "Software Engineer", "imageStyle": "ImageStyle.AVATAR", "imageUrl": "https://example.com/sasha.png", "imageAltText": "Avatar for Sasha" }, "sections" : [ { "header": "Contact Info", "widgets": [ { "decorated_text": { "icon": { "knownIcon": "EMAIL" }, "content": "sasha@example.com" } }, { "decoratedText": { "icon": { "knownIcon": "PERSON" }, "content": "Online" } }, { "decoratedText": { "icon": { "knownIcon": "PHONE" }, "content": "+1 (555) 555-1234" } }, { "buttons": [ { "textButton": { "text": "Share", }, "onClick": { "openLink": { "url": "https://example.com/share" } } }, { "textButton": { "text": "Edit", }, "onClick": { "action": { "function": "goToView", "parameters": [ { "key": "viewType", "value": "EDIT" } ], "loadIndicator": "LoadIndicator.SPINNER" } } } ] } ], "collapsible": true, "uncollapsibleWidgetsCount": 3 } ], "cardActions": [ { "actionLabel": "Send Feedback", "onClick": { "openLink": { "url": "https://example.com/feedback" } } } ], "name": "contact-card-K3wB6arF2H9L" } ``` # Card proto that allows Chat apps to specify UI elements and editable widgets. + "cardActions": [ # The card's actions. Actions are added to the card's generated toolbar menu. For example, the following JSON constructs a card action menu with Settings and Send Feedback options: ``` "card_actions": [ { "actionLabel": "Settings", "onClick": { "action": { "functionName": "goToView", "parameters": [ { "key": "viewType", "value": "SETTING" } ], "loadIndicator": "LoadIndicator.SPINNER" } } }, { "actionLabel": "Send Feedback", "onClick": { "openLink": { "url": "https://example.com/feedback" } } } ] ``` + { # A card action is the action associated with the card. For example, an invoice card might include actions such as delete invoice, email invoice, or open the invoice in a browser. + "actionLabel": "A String", # The label that displays as the action menu item. + "onClick": { # Represents the response to an `onClick` event. # The `onClick` action for this action item. + "action": { # An action that describes the behavior when the form is submitted. For example, an Apps Script can be invoked to handle the form. # If specified, an action is triggered by this `onClick`. + "function": "A String", # Apps Script function to invoke when the containing element is clicked/activated. + "loadIndicator": "A String", # Specifies the loading indicator that the action displays while making the call to the action. + "parameters": [ # List of action parameters. + { # List of string parameters to supply when the action method is invoked. For example, consider three snooze buttons: snooze now, snooze 1 day, snooze next week. You might use action method = snooze(), passing the snooze type and snooze time in the list of string parameters. + "key": "A String", # The name of the parameter for the action script. + "value": "A String", # The value of the parameter. + }, + ], + "persistValues": True or False, # Indicates whether form values persist after the action. The default value is `false`. If `true`, form values remain after the action is triggered. When using [LoadIndicator.NONE](workspace/add-ons/reference/rpc/google.apps.card.v1#loadindicator) for actions, `persist_values` = `true`is recommended, as it ensures that any changes made by the user after form or on change actions are sent to the server are not overwritten by the response. If `false`, the form values are cleared when the action is triggered. When `persist_values` is set to `false`, it is strongly recommended that the card use [LoadIndicator.SPINNER](workspace/add-ons/reference/rpc/google.apps.card.v1#loadindicator) for all actions, as this locks the UI to ensure no changes are made by the user while the action is being processed. Not supported by Google Chat apps. + }, + "card": # Object with schema name: GoogleAppsCardV1Card # A new card is pushed to the card stack after clicking if specified. + "openDynamicLinkAction": { # An action that describes the behavior when the form is submitted. For example, an Apps Script can be invoked to handle the form. # An add-on triggers this action when the action needs to open a link. This differs from the `open_link` above in that this needs to talk to server to get the link. Thus some preparation work is required for web client to do before the open link action response comes back. + "function": "A String", # Apps Script function to invoke when the containing element is clicked/activated. + "loadIndicator": "A String", # Specifies the loading indicator that the action displays while making the call to the action. + "parameters": [ # List of action parameters. + { # List of string parameters to supply when the action method is invoked. For example, consider three snooze buttons: snooze now, snooze 1 day, snooze next week. You might use action method = snooze(), passing the snooze type and snooze time in the list of string parameters. + "key": "A String", # The name of the parameter for the action script. + "value": "A String", # The value of the parameter. + }, + ], + "persistValues": True or False, # Indicates whether form values persist after the action. The default value is `false`. If `true`, form values remain after the action is triggered. When using [LoadIndicator.NONE](workspace/add-ons/reference/rpc/google.apps.card.v1#loadindicator) for actions, `persist_values` = `true`is recommended, as it ensures that any changes made by the user after form or on change actions are sent to the server are not overwritten by the response. If `false`, the form values are cleared when the action is triggered. When `persist_values` is set to `false`, it is strongly recommended that the card use [LoadIndicator.SPINNER](workspace/add-ons/reference/rpc/google.apps.card.v1#loadindicator) for all actions, as this locks the UI to ensure no changes are made by the user while the action is being processed. Not supported by Google Chat apps. + }, + "openLink": { # Represents an `onClick` event that opens a hyperlink. # If specified, this `onClick` triggers an open link action. + "onClose": "A String", # Whether the client forgets about a link after opening it, or observes it until the window closes. Not supported by Chat apps. + "openAs": "A String", # How to open a link. Not supported by Chat apps. + "url": "A String", # The URL to open. + }, + }, + }, + ], + "displayStyle": "A String", # The `peekCardHeader` display style for. Not supported by Google Chat apps. + "fixedFooter": { # A persistent (sticky) footer that is added to the bottom of the card. # The fixed footer shown at the bottom of this card. + "primaryButton": { # A button. Can be a text button or an image button. # The primary button of the fixed footer. The button must be a text button with text and color set. + "altText": "A String", # The alternative text used for accessibility. Has no effect when an icon is set; use `icon.alt_text` instead. + "color": { # Represents a color in the RGBA color space. This representation is designed for simplicity of conversion to/from color representations in various languages over compactness. For example, the fields of this representation can be trivially provided to the constructor of `java.awt.Color` in Java; it can also be trivially provided to UIColor's `+colorWithRed:green:blue:alpha` method in iOS; and, with just a little work, it can be easily formatted into a CSS `rgba()` string in JavaScript. This reference page doesn't carry information about the absolute color space that should be used to interpret the RGB value (e.g. sRGB, Adobe RGB, DCI-P3, BT.2020, etc.). By default, applications should assume the sRGB color space. When color equality needs to be decided, implementations, unless documented otherwise, treat two colors as equal if all their red, green, blue, and alpha values each differ by at most 1e-5. Example (Java): import com.google.type.Color; // ... public static java.awt.Color fromProto(Color protocolor) { float alpha = protocolor.hasAlpha() ? protocolor.getAlpha().getValue() : 1.0; return new java.awt.Color( protocolor.getRed(), protocolor.getGreen(), protocolor.getBlue(), alpha); } public static Color toProto(java.awt.Color color) { float red = (float) color.getRed(); float green = (float) color.getGreen(); float blue = (float) color.getBlue(); float denominator = 255.0; Color.Builder resultBuilder = Color .newBuilder() .setRed(red / denominator) .setGreen(green / denominator) .setBlue(blue / denominator); int alpha = color.getAlpha(); if (alpha != 255) { result.setAlpha( FloatValue .newBuilder() .setValue(((float) alpha) / denominator) .build()); } return resultBuilder.build(); } // ... Example (iOS / Obj-C): // ... static UIColor* fromProto(Color* protocolor) { float red = [protocolor red]; float green = [protocolor green]; float blue = [protocolor blue]; FloatValue* alpha_wrapper = [protocolor alpha]; float alpha = 1.0; if (alpha_wrapper != nil) { alpha = [alpha_wrapper value]; } return [UIColor colorWithRed:red green:green blue:blue alpha:alpha]; } static Color* toProto(UIColor* color) { CGFloat red, green, blue, alpha; if (![color getRed:&red green:&green blue:&blue alpha:&alpha]) { return nil; } Color* result = [[Color alloc] init]; [result setRed:red]; [result setGreen:green]; [result setBlue:blue]; if (alpha <= 0.9999) { [result setAlpha:floatWrapperWithValue(alpha)]; } [result autorelease]; return result; } // ... Example (JavaScript): // ... var protoToCssColor = function(rgb_color) { var redFrac = rgb_color.red || 0.0; var greenFrac = rgb_color.green || 0.0; var blueFrac = rgb_color.blue || 0.0; var red = Math.floor(redFrac * 255); var green = Math.floor(greenFrac * 255); var blue = Math.floor(blueFrac * 255); if (!('alpha' in rgb_color)) { return rgbToCssColor(red, green, blue); } var alphaFrac = rgb_color.alpha.value || 0.0; var rgbParams = [red, green, blue].join(','); return ['rgba(', rgbParams, ',', alphaFrac, ')'].join(''); }; var rgbToCssColor = function(red, green, blue) { var rgbNumber = new Number((red << 16) | (green << 8) | blue); var hexString = rgbNumber.toString(16); var missingZeros = 6 - hexString.length; var resultBuilder = ['#']; for (var i = 0; i < missingZeros; i++) { resultBuilder.push('0'); } resultBuilder.push(hexString); return resultBuilder.join(''); }; // ... # If set, the button is filled with a solid background. + "alpha": 3.14, # The fraction of this color that should be applied to the pixel. That is, the final pixel color is defined by the equation: `pixel color = alpha * (this color) + (1.0 - alpha) * (background color)` This means that a value of 1.0 corresponds to a solid color, whereas a value of 0.0 corresponds to a completely transparent color. This uses a wrapper message rather than a simple float scalar so that it is possible to distinguish between a default value and the value being unset. If omitted, this color object is rendered as a solid color (as if the alpha value had been explicitly given a value of 1.0). + "blue": 3.14, # The amount of blue in the color as a value in the interval [0, 1]. + "green": 3.14, # The amount of green in the color as a value in the interval [0, 1]. + "red": 3.14, # The amount of red in the color as a value in the interval [0, 1]. + }, + "disabled": True or False, # If `true`, the button is displayed in a disabled state and doesn't respond to user actions. + "icon": { # The icon image. + "altText": "A String", # The description of the icon, used for accessibility. The default value is provided if you don't specify one. + "iconUrl": "A String", # The icon specified by a URL. + "imageType": "A String", # The crop style applied to the image. In some cases, applying a `CIRCLE` crop causes the image to be drawn larger than a standard icon. + "knownIcon": "A String", # The icon specified by the string name of a list of known icons. + }, + "onClick": { # Represents the response to an `onClick` event. # The action to perform when the button is clicked. + "action": { # An action that describes the behavior when the form is submitted. For example, an Apps Script can be invoked to handle the form. # If specified, an action is triggered by this `onClick`. + "function": "A String", # Apps Script function to invoke when the containing element is clicked/activated. + "loadIndicator": "A String", # Specifies the loading indicator that the action displays while making the call to the action. + "parameters": [ # List of action parameters. + { # List of string parameters to supply when the action method is invoked. For example, consider three snooze buttons: snooze now, snooze 1 day, snooze next week. You might use action method = snooze(), passing the snooze type and snooze time in the list of string parameters. + "key": "A String", # The name of the parameter for the action script. + "value": "A String", # The value of the parameter. + }, + ], + "persistValues": True or False, # Indicates whether form values persist after the action. The default value is `false`. If `true`, form values remain after the action is triggered. When using [LoadIndicator.NONE](workspace/add-ons/reference/rpc/google.apps.card.v1#loadindicator) for actions, `persist_values` = `true`is recommended, as it ensures that any changes made by the user after form or on change actions are sent to the server are not overwritten by the response. If `false`, the form values are cleared when the action is triggered. When `persist_values` is set to `false`, it is strongly recommended that the card use [LoadIndicator.SPINNER](workspace/add-ons/reference/rpc/google.apps.card.v1#loadindicator) for all actions, as this locks the UI to ensure no changes are made by the user while the action is being processed. Not supported by Google Chat apps. + }, + "card": # Object with schema name: GoogleAppsCardV1Card # A new card is pushed to the card stack after clicking if specified. + "openDynamicLinkAction": { # An action that describes the behavior when the form is submitted. For example, an Apps Script can be invoked to handle the form. # An add-on triggers this action when the action needs to open a link. This differs from the `open_link` above in that this needs to talk to server to get the link. Thus some preparation work is required for web client to do before the open link action response comes back. + "function": "A String", # Apps Script function to invoke when the containing element is clicked/activated. + "loadIndicator": "A String", # Specifies the loading indicator that the action displays while making the call to the action. + "parameters": [ # List of action parameters. + { # List of string parameters to supply when the action method is invoked. For example, consider three snooze buttons: snooze now, snooze 1 day, snooze next week. You might use action method = snooze(), passing the snooze type and snooze time in the list of string parameters. + "key": "A String", # The name of the parameter for the action script. + "value": "A String", # The value of the parameter. + }, + ], + "persistValues": True or False, # Indicates whether form values persist after the action. The default value is `false`. If `true`, form values remain after the action is triggered. When using [LoadIndicator.NONE](workspace/add-ons/reference/rpc/google.apps.card.v1#loadindicator) for actions, `persist_values` = `true`is recommended, as it ensures that any changes made by the user after form or on change actions are sent to the server are not overwritten by the response. If `false`, the form values are cleared when the action is triggered. When `persist_values` is set to `false`, it is strongly recommended that the card use [LoadIndicator.SPINNER](workspace/add-ons/reference/rpc/google.apps.card.v1#loadindicator) for all actions, as this locks the UI to ensure no changes are made by the user while the action is being processed. Not supported by Google Chat apps. + }, + "openLink": { # Represents an `onClick` event that opens a hyperlink. # If specified, this `onClick` triggers an open link action. + "onClose": "A String", # Whether the client forgets about a link after opening it, or observes it until the window closes. Not supported by Chat apps. + "openAs": "A String", # How to open a link. Not supported by Chat apps. + "url": "A String", # The URL to open. + }, + }, + "text": "A String", # The text of the button. + }, + "secondaryButton": { # A button. Can be a text button or an image button. # The secondary button of the fixed footer. The button must be a text button with text and color set. `primaryButton` must be set if `secondaryButton` is set. + "altText": "A String", # The alternative text used for accessibility. Has no effect when an icon is set; use `icon.alt_text` instead. + "color": { # Represents a color in the RGBA color space. This representation is designed for simplicity of conversion to/from color representations in various languages over compactness. For example, the fields of this representation can be trivially provided to the constructor of `java.awt.Color` in Java; it can also be trivially provided to UIColor's `+colorWithRed:green:blue:alpha` method in iOS; and, with just a little work, it can be easily formatted into a CSS `rgba()` string in JavaScript. This reference page doesn't carry information about the absolute color space that should be used to interpret the RGB value (e.g. sRGB, Adobe RGB, DCI-P3, BT.2020, etc.). By default, applications should assume the sRGB color space. When color equality needs to be decided, implementations, unless documented otherwise, treat two colors as equal if all their red, green, blue, and alpha values each differ by at most 1e-5. Example (Java): import com.google.type.Color; // ... public static java.awt.Color fromProto(Color protocolor) { float alpha = protocolor.hasAlpha() ? protocolor.getAlpha().getValue() : 1.0; return new java.awt.Color( protocolor.getRed(), protocolor.getGreen(), protocolor.getBlue(), alpha); } public static Color toProto(java.awt.Color color) { float red = (float) color.getRed(); float green = (float) color.getGreen(); float blue = (float) color.getBlue(); float denominator = 255.0; Color.Builder resultBuilder = Color .newBuilder() .setRed(red / denominator) .setGreen(green / denominator) .setBlue(blue / denominator); int alpha = color.getAlpha(); if (alpha != 255) { result.setAlpha( FloatValue .newBuilder() .setValue(((float) alpha) / denominator) .build()); } return resultBuilder.build(); } // ... Example (iOS / Obj-C): // ... static UIColor* fromProto(Color* protocolor) { float red = [protocolor red]; float green = [protocolor green]; float blue = [protocolor blue]; FloatValue* alpha_wrapper = [protocolor alpha]; float alpha = 1.0; if (alpha_wrapper != nil) { alpha = [alpha_wrapper value]; } return [UIColor colorWithRed:red green:green blue:blue alpha:alpha]; } static Color* toProto(UIColor* color) { CGFloat red, green, blue, alpha; if (![color getRed:&red green:&green blue:&blue alpha:&alpha]) { return nil; } Color* result = [[Color alloc] init]; [result setRed:red]; [result setGreen:green]; [result setBlue:blue]; if (alpha <= 0.9999) { [result setAlpha:floatWrapperWithValue(alpha)]; } [result autorelease]; return result; } // ... Example (JavaScript): // ... var protoToCssColor = function(rgb_color) { var redFrac = rgb_color.red || 0.0; var greenFrac = rgb_color.green || 0.0; var blueFrac = rgb_color.blue || 0.0; var red = Math.floor(redFrac * 255); var green = Math.floor(greenFrac * 255); var blue = Math.floor(blueFrac * 255); if (!('alpha' in rgb_color)) { return rgbToCssColor(red, green, blue); } var alphaFrac = rgb_color.alpha.value || 0.0; var rgbParams = [red, green, blue].join(','); return ['rgba(', rgbParams, ',', alphaFrac, ')'].join(''); }; var rgbToCssColor = function(red, green, blue) { var rgbNumber = new Number((red << 16) | (green << 8) | blue); var hexString = rgbNumber.toString(16); var missingZeros = 6 - hexString.length; var resultBuilder = ['#']; for (var i = 0; i < missingZeros; i++) { resultBuilder.push('0'); } resultBuilder.push(hexString); return resultBuilder.join(''); }; // ... # If set, the button is filled with a solid background. + "alpha": 3.14, # The fraction of this color that should be applied to the pixel. That is, the final pixel color is defined by the equation: `pixel color = alpha * (this color) + (1.0 - alpha) * (background color)` This means that a value of 1.0 corresponds to a solid color, whereas a value of 0.0 corresponds to a completely transparent color. This uses a wrapper message rather than a simple float scalar so that it is possible to distinguish between a default value and the value being unset. If omitted, this color object is rendered as a solid color (as if the alpha value had been explicitly given a value of 1.0). + "blue": 3.14, # The amount of blue in the color as a value in the interval [0, 1]. + "green": 3.14, # The amount of green in the color as a value in the interval [0, 1]. + "red": 3.14, # The amount of red in the color as a value in the interval [0, 1]. + }, + "disabled": True or False, # If `true`, the button is displayed in a disabled state and doesn't respond to user actions. + "icon": { # The icon image. + "altText": "A String", # The description of the icon, used for accessibility. The default value is provided if you don't specify one. + "iconUrl": "A String", # The icon specified by a URL. + "imageType": "A String", # The crop style applied to the image. In some cases, applying a `CIRCLE` crop causes the image to be drawn larger than a standard icon. + "knownIcon": "A String", # The icon specified by the string name of a list of known icons. + }, + "onClick": { # Represents the response to an `onClick` event. # The action to perform when the button is clicked. + "action": { # An action that describes the behavior when the form is submitted. For example, an Apps Script can be invoked to handle the form. # If specified, an action is triggered by this `onClick`. + "function": "A String", # Apps Script function to invoke when the containing element is clicked/activated. + "loadIndicator": "A String", # Specifies the loading indicator that the action displays while making the call to the action. + "parameters": [ # List of action parameters. + { # List of string parameters to supply when the action method is invoked. For example, consider three snooze buttons: snooze now, snooze 1 day, snooze next week. You might use action method = snooze(), passing the snooze type and snooze time in the list of string parameters. + "key": "A String", # The name of the parameter for the action script. + "value": "A String", # The value of the parameter. + }, + ], + "persistValues": True or False, # Indicates whether form values persist after the action. The default value is `false`. If `true`, form values remain after the action is triggered. When using [LoadIndicator.NONE](workspace/add-ons/reference/rpc/google.apps.card.v1#loadindicator) for actions, `persist_values` = `true`is recommended, as it ensures that any changes made by the user after form or on change actions are sent to the server are not overwritten by the response. If `false`, the form values are cleared when the action is triggered. When `persist_values` is set to `false`, it is strongly recommended that the card use [LoadIndicator.SPINNER](workspace/add-ons/reference/rpc/google.apps.card.v1#loadindicator) for all actions, as this locks the UI to ensure no changes are made by the user while the action is being processed. Not supported by Google Chat apps. + }, + "card": # Object with schema name: GoogleAppsCardV1Card # A new card is pushed to the card stack after clicking if specified. + "openDynamicLinkAction": { # An action that describes the behavior when the form is submitted. For example, an Apps Script can be invoked to handle the form. # An add-on triggers this action when the action needs to open a link. This differs from the `open_link` above in that this needs to talk to server to get the link. Thus some preparation work is required for web client to do before the open link action response comes back. + "function": "A String", # Apps Script function to invoke when the containing element is clicked/activated. + "loadIndicator": "A String", # Specifies the loading indicator that the action displays while making the call to the action. + "parameters": [ # List of action parameters. + { # List of string parameters to supply when the action method is invoked. For example, consider three snooze buttons: snooze now, snooze 1 day, snooze next week. You might use action method = snooze(), passing the snooze type and snooze time in the list of string parameters. + "key": "A String", # The name of the parameter for the action script. + "value": "A String", # The value of the parameter. + }, + ], + "persistValues": True or False, # Indicates whether form values persist after the action. The default value is `false`. If `true`, form values remain after the action is triggered. When using [LoadIndicator.NONE](workspace/add-ons/reference/rpc/google.apps.card.v1#loadindicator) for actions, `persist_values` = `true`is recommended, as it ensures that any changes made by the user after form or on change actions are sent to the server are not overwritten by the response. If `false`, the form values are cleared when the action is triggered. When `persist_values` is set to `false`, it is strongly recommended that the card use [LoadIndicator.SPINNER](workspace/add-ons/reference/rpc/google.apps.card.v1#loadindicator) for all actions, as this locks the UI to ensure no changes are made by the user while the action is being processed. Not supported by Google Chat apps. + }, + "openLink": { # Represents an `onClick` event that opens a hyperlink. # If specified, this `onClick` triggers an open link action. + "onClose": "A String", # Whether the client forgets about a link after opening it, or observes it until the window closes. Not supported by Chat apps. + "openAs": "A String", # How to open a link. Not supported by Chat apps. + "url": "A String", # The URL to open. + }, + }, + "text": "A String", # The text of the button. + }, + }, + "header": { # Represents a card header. # The header of the card. A header usually contains a title and an image. + "imageAltText": "A String", # The alternative text of this image which is used for accessibility. + "imageType": "A String", # The image's type. + "imageUrl": "A String", # The URL of the image in the card header. + "subtitle": "A String", # The subtitle of the card header. + "title": "A String", # Required. The title of the card header. The header has a fixed height: if both a title and subtitle are specified, each takes up one line. If only the title is specified, it takes up both lines. + }, + "name": "A String", # Name of the card. Used as a card identifier in card navigation. + "peekCardHeader": { # Represents a card header. # When displaying contextual content, the peek card header acts as a placeholder so that the user can navigate forward between the homepage cards and the contextual cards. Not supported by Google Chat apps. + "imageAltText": "A String", # The alternative text of this image which is used for accessibility. + "imageType": "A String", # The image's type. + "imageUrl": "A String", # The URL of the image in the card header. + "subtitle": "A String", # The subtitle of the card header. + "title": "A String", # Required. The title of the card header. The header has a fixed height: if both a title and subtitle are specified, each takes up one line. If only the title is specified, it takes up both lines. + }, + "sections": [ # Sections are separated by a line divider. + { # A section contains a collection of widgets that are rendered vertically in the order that they are specified. Across all platforms, cards have a narrow fixed width, so there is currently no need for layout properties, for example, float. + "collapsible": True or False, # Indicates whether this section is collapsible. If a section is collapsible, the description must be given. + "header": "A String", # The header of the section. Formatted text is supported. + "uncollapsibleWidgetsCount": 42, # The number of uncollapsible widgets. For example, when a section contains five widgets and the `uncollapsibleWidgetsCount` is set to `2`, the first two widgets are always shown and the last three are collapsed as default. The `uncollapsibleWidgetsCount` is taken into account only when `collapsible` is `true`. + "widgets": [ # A section must contain at least 1 widget. + { # A widget is a UI element that presents texts, images, etc. + "buttonList": { # A list of buttons layed out horizontally. # A list of buttons. For example, the following JSON creates two buttons. The first is a filled text button and the second is an image button that opens a link: ``` "buttonList": { "buttons": [ "button": { "text": "Edit", "Color": { "Red": 255 "Green": 255 "Blue": 255 } "disabled": true }, "button": { "icon": { "knownIcon": "INVITE" "altText": "check calendar" }, "onClick": { "openLink": { "url": "https://example.com/calendar" } } }, ] } ``` + "buttons": [ # An array of buttons. + { # A button. Can be a text button or an image button. + "altText": "A String", # The alternative text used for accessibility. Has no effect when an icon is set; use `icon.alt_text` instead. + "color": { # Represents a color in the RGBA color space. This representation is designed for simplicity of conversion to/from color representations in various languages over compactness. For example, the fields of this representation can be trivially provided to the constructor of `java.awt.Color` in Java; it can also be trivially provided to UIColor's `+colorWithRed:green:blue:alpha` method in iOS; and, with just a little work, it can be easily formatted into a CSS `rgba()` string in JavaScript. This reference page doesn't carry information about the absolute color space that should be used to interpret the RGB value (e.g. sRGB, Adobe RGB, DCI-P3, BT.2020, etc.). By default, applications should assume the sRGB color space. When color equality needs to be decided, implementations, unless documented otherwise, treat two colors as equal if all their red, green, blue, and alpha values each differ by at most 1e-5. Example (Java): import com.google.type.Color; // ... public static java.awt.Color fromProto(Color protocolor) { float alpha = protocolor.hasAlpha() ? protocolor.getAlpha().getValue() : 1.0; return new java.awt.Color( protocolor.getRed(), protocolor.getGreen(), protocolor.getBlue(), alpha); } public static Color toProto(java.awt.Color color) { float red = (float) color.getRed(); float green = (float) color.getGreen(); float blue = (float) color.getBlue(); float denominator = 255.0; Color.Builder resultBuilder = Color .newBuilder() .setRed(red / denominator) .setGreen(green / denominator) .setBlue(blue / denominator); int alpha = color.getAlpha(); if (alpha != 255) { result.setAlpha( FloatValue .newBuilder() .setValue(((float) alpha) / denominator) .build()); } return resultBuilder.build(); } // ... Example (iOS / Obj-C): // ... static UIColor* fromProto(Color* protocolor) { float red = [protocolor red]; float green = [protocolor green]; float blue = [protocolor blue]; FloatValue* alpha_wrapper = [protocolor alpha]; float alpha = 1.0; if (alpha_wrapper != nil) { alpha = [alpha_wrapper value]; } return [UIColor colorWithRed:red green:green blue:blue alpha:alpha]; } static Color* toProto(UIColor* color) { CGFloat red, green, blue, alpha; if (![color getRed:&red green:&green blue:&blue alpha:&alpha]) { return nil; } Color* result = [[Color alloc] init]; [result setRed:red]; [result setGreen:green]; [result setBlue:blue]; if (alpha <= 0.9999) { [result setAlpha:floatWrapperWithValue(alpha)]; } [result autorelease]; return result; } // ... Example (JavaScript): // ... var protoToCssColor = function(rgb_color) { var redFrac = rgb_color.red || 0.0; var greenFrac = rgb_color.green || 0.0; var blueFrac = rgb_color.blue || 0.0; var red = Math.floor(redFrac * 255); var green = Math.floor(greenFrac * 255); var blue = Math.floor(blueFrac * 255); if (!('alpha' in rgb_color)) { return rgbToCssColor(red, green, blue); } var alphaFrac = rgb_color.alpha.value || 0.0; var rgbParams = [red, green, blue].join(','); return ['rgba(', rgbParams, ',', alphaFrac, ')'].join(''); }; var rgbToCssColor = function(red, green, blue) { var rgbNumber = new Number((red << 16) | (green << 8) | blue); var hexString = rgbNumber.toString(16); var missingZeros = 6 - hexString.length; var resultBuilder = ['#']; for (var i = 0; i < missingZeros; i++) { resultBuilder.push('0'); } resultBuilder.push(hexString); return resultBuilder.join(''); }; // ... # If set, the button is filled with a solid background. + "alpha": 3.14, # The fraction of this color that should be applied to the pixel. That is, the final pixel color is defined by the equation: `pixel color = alpha * (this color) + (1.0 - alpha) * (background color)` This means that a value of 1.0 corresponds to a solid color, whereas a value of 0.0 corresponds to a completely transparent color. This uses a wrapper message rather than a simple float scalar so that it is possible to distinguish between a default value and the value being unset. If omitted, this color object is rendered as a solid color (as if the alpha value had been explicitly given a value of 1.0). + "blue": 3.14, # The amount of blue in the color as a value in the interval [0, 1]. + "green": 3.14, # The amount of green in the color as a value in the interval [0, 1]. + "red": 3.14, # The amount of red in the color as a value in the interval [0, 1]. + }, + "disabled": True or False, # If `true`, the button is displayed in a disabled state and doesn't respond to user actions. + "icon": { # The icon image. + "altText": "A String", # The description of the icon, used for accessibility. The default value is provided if you don't specify one. + "iconUrl": "A String", # The icon specified by a URL. + "imageType": "A String", # The crop style applied to the image. In some cases, applying a `CIRCLE` crop causes the image to be drawn larger than a standard icon. + "knownIcon": "A String", # The icon specified by the string name of a list of known icons. + }, + "onClick": { # Represents the response to an `onClick` event. # The action to perform when the button is clicked. + "action": { # An action that describes the behavior when the form is submitted. For example, an Apps Script can be invoked to handle the form. # If specified, an action is triggered by this `onClick`. + "function": "A String", # Apps Script function to invoke when the containing element is clicked/activated. + "loadIndicator": "A String", # Specifies the loading indicator that the action displays while making the call to the action. + "parameters": [ # List of action parameters. + { # List of string parameters to supply when the action method is invoked. For example, consider three snooze buttons: snooze now, snooze 1 day, snooze next week. You might use action method = snooze(), passing the snooze type and snooze time in the list of string parameters. + "key": "A String", # The name of the parameter for the action script. + "value": "A String", # The value of the parameter. + }, + ], + "persistValues": True or False, # Indicates whether form values persist after the action. The default value is `false`. If `true`, form values remain after the action is triggered. When using [LoadIndicator.NONE](workspace/add-ons/reference/rpc/google.apps.card.v1#loadindicator) for actions, `persist_values` = `true`is recommended, as it ensures that any changes made by the user after form or on change actions are sent to the server are not overwritten by the response. If `false`, the form values are cleared when the action is triggered. When `persist_values` is set to `false`, it is strongly recommended that the card use [LoadIndicator.SPINNER](workspace/add-ons/reference/rpc/google.apps.card.v1#loadindicator) for all actions, as this locks the UI to ensure no changes are made by the user while the action is being processed. Not supported by Google Chat apps. + }, + "card": # Object with schema name: GoogleAppsCardV1Card # A new card is pushed to the card stack after clicking if specified. + "openDynamicLinkAction": { # An action that describes the behavior when the form is submitted. For example, an Apps Script can be invoked to handle the form. # An add-on triggers this action when the action needs to open a link. This differs from the `open_link` above in that this needs to talk to server to get the link. Thus some preparation work is required for web client to do before the open link action response comes back. + "function": "A String", # Apps Script function to invoke when the containing element is clicked/activated. + "loadIndicator": "A String", # Specifies the loading indicator that the action displays while making the call to the action. + "parameters": [ # List of action parameters. + { # List of string parameters to supply when the action method is invoked. For example, consider three snooze buttons: snooze now, snooze 1 day, snooze next week. You might use action method = snooze(), passing the snooze type and snooze time in the list of string parameters. + "key": "A String", # The name of the parameter for the action script. + "value": "A String", # The value of the parameter. + }, + ], + "persistValues": True or False, # Indicates whether form values persist after the action. The default value is `false`. If `true`, form values remain after the action is triggered. When using [LoadIndicator.NONE](workspace/add-ons/reference/rpc/google.apps.card.v1#loadindicator) for actions, `persist_values` = `true`is recommended, as it ensures that any changes made by the user after form or on change actions are sent to the server are not overwritten by the response. If `false`, the form values are cleared when the action is triggered. When `persist_values` is set to `false`, it is strongly recommended that the card use [LoadIndicator.SPINNER](workspace/add-ons/reference/rpc/google.apps.card.v1#loadindicator) for all actions, as this locks the UI to ensure no changes are made by the user while the action is being processed. Not supported by Google Chat apps. + }, + "openLink": { # Represents an `onClick` event that opens a hyperlink. # If specified, this `onClick` triggers an open link action. + "onClose": "A String", # Whether the client forgets about a link after opening it, or observes it until the window closes. Not supported by Chat apps. + "openAs": "A String", # How to open a link. Not supported by Chat apps. + "url": "A String", # The URL to open. + }, + }, + "text": "A String", # The text of the button. + }, + ], + }, + "dateTimePicker": { # The widget that lets users to specify a date and time. Not supported by Google Chat apps. # Displays a selection/input widget for date/time. For example, the following JSON creates a date/time picker for an appointment time: ``` "date_time_picker": { "name": "appointment_time", "label": "Book your appointment at:", "type": "DateTimePickerType.DATE_AND_TIME", "valueMsEpoch": "796435200000" } ``` + "label": "A String", # The label for the field that displays to the user. + "name": "A String", # The name of the text input that's used in `formInput`, and uniquely identifies this input. + "onChangeAction": { # An action that describes the behavior when the form is submitted. For example, an Apps Script can be invoked to handle the form. # Triggered when the user clicks Save or Clear from the date/time picker dialog. This is only triggered if the value changed as a result of the Save/Clear operation. + "function": "A String", # Apps Script function to invoke when the containing element is clicked/activated. + "loadIndicator": "A String", # Specifies the loading indicator that the action displays while making the call to the action. + "parameters": [ # List of action parameters. + { # List of string parameters to supply when the action method is invoked. For example, consider three snooze buttons: snooze now, snooze 1 day, snooze next week. You might use action method = snooze(), passing the snooze type and snooze time in the list of string parameters. + "key": "A String", # The name of the parameter for the action script. + "value": "A String", # The value of the parameter. + }, + ], + "persistValues": True or False, # Indicates whether form values persist after the action. The default value is `false`. If `true`, form values remain after the action is triggered. When using [LoadIndicator.NONE](workspace/add-ons/reference/rpc/google.apps.card.v1#loadindicator) for actions, `persist_values` = `true`is recommended, as it ensures that any changes made by the user after form or on change actions are sent to the server are not overwritten by the response. If `false`, the form values are cleared when the action is triggered. When `persist_values` is set to `false`, it is strongly recommended that the card use [LoadIndicator.SPINNER](workspace/add-ons/reference/rpc/google.apps.card.v1#loadindicator) for all actions, as this locks the UI to ensure no changes are made by the user while the action is being processed. Not supported by Google Chat apps. + }, + "timezoneOffsetDate": 42, # The number representing the time zone offset from UTC, in minutes. If set, the `value_ms_epoch` is displayed in the specified time zone. If not set, it uses the user's time zone setting on the client side. + "type": "A String", # The type of the date/time picker. + "valueMsEpoch": "A String", # The value to display as the default value before user input or previous user input. It is represented in milliseconds (Epoch time). For `DATE_AND_TIME` type, the full epoch value is used. For `DATE_ONLY` type, only date of the epoch time is used. For `TIME_ONLY` type, only time of the epoch time is used. For example, you can set epoch time to `3 * 60 * 60 * 1000` to represent 3am. + }, + "decoratedText": { # A widget that displays text with optional decorations such as a label above or below the text, an icon in front of the text, a selection widget or a button after the text. # Displays a decorated text item in this widget. For example, the following JSON creates a decorated text widget showing email address: ``` "decoratedText": { "icon": { "knownIcon": "EMAIL" }, "topLabel": "Email Address", "content": "sasha@example.com", "bottomLabel": "This is a new Email address!", "switchWidget": { "name": "has_send_welcome_email_to_sasha", "selected": false, "controlType": "ControlType.CHECKBOX" } } ``` + "bottomLabel": "A String", # The formatted text label that shows below the main text. + "button": { # A button. Can be a text button or an image button. # A button that can be clicked to trigger an action. + "altText": "A String", # The alternative text used for accessibility. Has no effect when an icon is set; use `icon.alt_text` instead. + "color": { # Represents a color in the RGBA color space. This representation is designed for simplicity of conversion to/from color representations in various languages over compactness. For example, the fields of this representation can be trivially provided to the constructor of `java.awt.Color` in Java; it can also be trivially provided to UIColor's `+colorWithRed:green:blue:alpha` method in iOS; and, with just a little work, it can be easily formatted into a CSS `rgba()` string in JavaScript. This reference page doesn't carry information about the absolute color space that should be used to interpret the RGB value (e.g. sRGB, Adobe RGB, DCI-P3, BT.2020, etc.). By default, applications should assume the sRGB color space. When color equality needs to be decided, implementations, unless documented otherwise, treat two colors as equal if all their red, green, blue, and alpha values each differ by at most 1e-5. Example (Java): import com.google.type.Color; // ... public static java.awt.Color fromProto(Color protocolor) { float alpha = protocolor.hasAlpha() ? protocolor.getAlpha().getValue() : 1.0; return new java.awt.Color( protocolor.getRed(), protocolor.getGreen(), protocolor.getBlue(), alpha); } public static Color toProto(java.awt.Color color) { float red = (float) color.getRed(); float green = (float) color.getGreen(); float blue = (float) color.getBlue(); float denominator = 255.0; Color.Builder resultBuilder = Color .newBuilder() .setRed(red / denominator) .setGreen(green / denominator) .setBlue(blue / denominator); int alpha = color.getAlpha(); if (alpha != 255) { result.setAlpha( FloatValue .newBuilder() .setValue(((float) alpha) / denominator) .build()); } return resultBuilder.build(); } // ... Example (iOS / Obj-C): // ... static UIColor* fromProto(Color* protocolor) { float red = [protocolor red]; float green = [protocolor green]; float blue = [protocolor blue]; FloatValue* alpha_wrapper = [protocolor alpha]; float alpha = 1.0; if (alpha_wrapper != nil) { alpha = [alpha_wrapper value]; } return [UIColor colorWithRed:red green:green blue:blue alpha:alpha]; } static Color* toProto(UIColor* color) { CGFloat red, green, blue, alpha; if (![color getRed:&red green:&green blue:&blue alpha:&alpha]) { return nil; } Color* result = [[Color alloc] init]; [result setRed:red]; [result setGreen:green]; [result setBlue:blue]; if (alpha <= 0.9999) { [result setAlpha:floatWrapperWithValue(alpha)]; } [result autorelease]; return result; } // ... Example (JavaScript): // ... var protoToCssColor = function(rgb_color) { var redFrac = rgb_color.red || 0.0; var greenFrac = rgb_color.green || 0.0; var blueFrac = rgb_color.blue || 0.0; var red = Math.floor(redFrac * 255); var green = Math.floor(greenFrac * 255); var blue = Math.floor(blueFrac * 255); if (!('alpha' in rgb_color)) { return rgbToCssColor(red, green, blue); } var alphaFrac = rgb_color.alpha.value || 0.0; var rgbParams = [red, green, blue].join(','); return ['rgba(', rgbParams, ',', alphaFrac, ')'].join(''); }; var rgbToCssColor = function(red, green, blue) { var rgbNumber = new Number((red << 16) | (green << 8) | blue); var hexString = rgbNumber.toString(16); var missingZeros = 6 - hexString.length; var resultBuilder = ['#']; for (var i = 0; i < missingZeros; i++) { resultBuilder.push('0'); } resultBuilder.push(hexString); return resultBuilder.join(''); }; // ... # If set, the button is filled with a solid background. + "alpha": 3.14, # The fraction of this color that should be applied to the pixel. That is, the final pixel color is defined by the equation: `pixel color = alpha * (this color) + (1.0 - alpha) * (background color)` This means that a value of 1.0 corresponds to a solid color, whereas a value of 0.0 corresponds to a completely transparent color. This uses a wrapper message rather than a simple float scalar so that it is possible to distinguish between a default value and the value being unset. If omitted, this color object is rendered as a solid color (as if the alpha value had been explicitly given a value of 1.0). + "blue": 3.14, # The amount of blue in the color as a value in the interval [0, 1]. + "green": 3.14, # The amount of green in the color as a value in the interval [0, 1]. + "red": 3.14, # The amount of red in the color as a value in the interval [0, 1]. + }, + "disabled": True or False, # If `true`, the button is displayed in a disabled state and doesn't respond to user actions. + "icon": { # The icon image. + "altText": "A String", # The description of the icon, used for accessibility. The default value is provided if you don't specify one. + "iconUrl": "A String", # The icon specified by a URL. + "imageType": "A String", # The crop style applied to the image. In some cases, applying a `CIRCLE` crop causes the image to be drawn larger than a standard icon. + "knownIcon": "A String", # The icon specified by the string name of a list of known icons. + }, + "onClick": { # Represents the response to an `onClick` event. # The action to perform when the button is clicked. + "action": { # An action that describes the behavior when the form is submitted. For example, an Apps Script can be invoked to handle the form. # If specified, an action is triggered by this `onClick`. + "function": "A String", # Apps Script function to invoke when the containing element is clicked/activated. + "loadIndicator": "A String", # Specifies the loading indicator that the action displays while making the call to the action. + "parameters": [ # List of action parameters. + { # List of string parameters to supply when the action method is invoked. For example, consider three snooze buttons: snooze now, snooze 1 day, snooze next week. You might use action method = snooze(), passing the snooze type and snooze time in the list of string parameters. + "key": "A String", # The name of the parameter for the action script. + "value": "A String", # The value of the parameter. + }, + ], + "persistValues": True or False, # Indicates whether form values persist after the action. The default value is `false`. If `true`, form values remain after the action is triggered. When using [LoadIndicator.NONE](workspace/add-ons/reference/rpc/google.apps.card.v1#loadindicator) for actions, `persist_values` = `true`is recommended, as it ensures that any changes made by the user after form or on change actions are sent to the server are not overwritten by the response. If `false`, the form values are cleared when the action is triggered. When `persist_values` is set to `false`, it is strongly recommended that the card use [LoadIndicator.SPINNER](workspace/add-ons/reference/rpc/google.apps.card.v1#loadindicator) for all actions, as this locks the UI to ensure no changes are made by the user while the action is being processed. Not supported by Google Chat apps. + }, + "card": # Object with schema name: GoogleAppsCardV1Card # A new card is pushed to the card stack after clicking if specified. + "openDynamicLinkAction": { # An action that describes the behavior when the form is submitted. For example, an Apps Script can be invoked to handle the form. # An add-on triggers this action when the action needs to open a link. This differs from the `open_link` above in that this needs to talk to server to get the link. Thus some preparation work is required for web client to do before the open link action response comes back. + "function": "A String", # Apps Script function to invoke when the containing element is clicked/activated. + "loadIndicator": "A String", # Specifies the loading indicator that the action displays while making the call to the action. + "parameters": [ # List of action parameters. + { # List of string parameters to supply when the action method is invoked. For example, consider three snooze buttons: snooze now, snooze 1 day, snooze next week. You might use action method = snooze(), passing the snooze type and snooze time in the list of string parameters. + "key": "A String", # The name of the parameter for the action script. + "value": "A String", # The value of the parameter. + }, + ], + "persistValues": True or False, # Indicates whether form values persist after the action. The default value is `false`. If `true`, form values remain after the action is triggered. When using [LoadIndicator.NONE](workspace/add-ons/reference/rpc/google.apps.card.v1#loadindicator) for actions, `persist_values` = `true`is recommended, as it ensures that any changes made by the user after form or on change actions are sent to the server are not overwritten by the response. If `false`, the form values are cleared when the action is triggered. When `persist_values` is set to `false`, it is strongly recommended that the card use [LoadIndicator.SPINNER](workspace/add-ons/reference/rpc/google.apps.card.v1#loadindicator) for all actions, as this locks the UI to ensure no changes are made by the user while the action is being processed. Not supported by Google Chat apps. + }, + "openLink": { # Represents an `onClick` event that opens a hyperlink. # If specified, this `onClick` triggers an open link action. + "onClose": "A String", # Whether the client forgets about a link after opening it, or observes it until the window closes. Not supported by Chat apps. + "openAs": "A String", # How to open a link. Not supported by Chat apps. + "url": "A String", # The URL to open. + }, + }, + "text": "A String", # The text of the button. + }, + "endIcon": { # An icon displayed after the text. + "altText": "A String", # The description of the icon, used for accessibility. The default value is provided if you don't specify one. + "iconUrl": "A String", # The icon specified by a URL. + "imageType": "A String", # The crop style applied to the image. In some cases, applying a `CIRCLE` crop causes the image to be drawn larger than a standard icon. + "knownIcon": "A String", # The icon specified by the string name of a list of known icons. + }, + "icon": { # Deprecated in favor of start_icon. + "altText": "A String", # The description of the icon, used for accessibility. The default value is provided if you don't specify one. + "iconUrl": "A String", # The icon specified by a URL. + "imageType": "A String", # The crop style applied to the image. In some cases, applying a `CIRCLE` crop causes the image to be drawn larger than a standard icon. + "knownIcon": "A String", # The icon specified by the string name of a list of known icons. + }, + "onClick": { # Represents the response to an `onClick` event. # Only the top and bottom label and content region are clickable. + "action": { # An action that describes the behavior when the form is submitted. For example, an Apps Script can be invoked to handle the form. # If specified, an action is triggered by this `onClick`. + "function": "A String", # Apps Script function to invoke when the containing element is clicked/activated. + "loadIndicator": "A String", # Specifies the loading indicator that the action displays while making the call to the action. + "parameters": [ # List of action parameters. + { # List of string parameters to supply when the action method is invoked. For example, consider three snooze buttons: snooze now, snooze 1 day, snooze next week. You might use action method = snooze(), passing the snooze type and snooze time in the list of string parameters. + "key": "A String", # The name of the parameter for the action script. + "value": "A String", # The value of the parameter. + }, + ], + "persistValues": True or False, # Indicates whether form values persist after the action. The default value is `false`. If `true`, form values remain after the action is triggered. When using [LoadIndicator.NONE](workspace/add-ons/reference/rpc/google.apps.card.v1#loadindicator) for actions, `persist_values` = `true`is recommended, as it ensures that any changes made by the user after form or on change actions are sent to the server are not overwritten by the response. If `false`, the form values are cleared when the action is triggered. When `persist_values` is set to `false`, it is strongly recommended that the card use [LoadIndicator.SPINNER](workspace/add-ons/reference/rpc/google.apps.card.v1#loadindicator) for all actions, as this locks the UI to ensure no changes are made by the user while the action is being processed. Not supported by Google Chat apps. + }, + "card": # Object with schema name: GoogleAppsCardV1Card # A new card is pushed to the card stack after clicking if specified. + "openDynamicLinkAction": { # An action that describes the behavior when the form is submitted. For example, an Apps Script can be invoked to handle the form. # An add-on triggers this action when the action needs to open a link. This differs from the `open_link` above in that this needs to talk to server to get the link. Thus some preparation work is required for web client to do before the open link action response comes back. + "function": "A String", # Apps Script function to invoke when the containing element is clicked/activated. + "loadIndicator": "A String", # Specifies the loading indicator that the action displays while making the call to the action. + "parameters": [ # List of action parameters. + { # List of string parameters to supply when the action method is invoked. For example, consider three snooze buttons: snooze now, snooze 1 day, snooze next week. You might use action method = snooze(), passing the snooze type and snooze time in the list of string parameters. + "key": "A String", # The name of the parameter for the action script. + "value": "A String", # The value of the parameter. + }, + ], + "persistValues": True or False, # Indicates whether form values persist after the action. The default value is `false`. If `true`, form values remain after the action is triggered. When using [LoadIndicator.NONE](workspace/add-ons/reference/rpc/google.apps.card.v1#loadindicator) for actions, `persist_values` = `true`is recommended, as it ensures that any changes made by the user after form or on change actions are sent to the server are not overwritten by the response. If `false`, the form values are cleared when the action is triggered. When `persist_values` is set to `false`, it is strongly recommended that the card use [LoadIndicator.SPINNER](workspace/add-ons/reference/rpc/google.apps.card.v1#loadindicator) for all actions, as this locks the UI to ensure no changes are made by the user while the action is being processed. Not supported by Google Chat apps. + }, + "openLink": { # Represents an `onClick` event that opens a hyperlink. # If specified, this `onClick` triggers an open link action. + "onClose": "A String", # Whether the client forgets about a link after opening it, or observes it until the window closes. Not supported by Chat apps. + "openAs": "A String", # How to open a link. Not supported by Chat apps. + "url": "A String", # The URL to open. + }, + }, + "startIcon": { # The icon displayed in front of the text. + "altText": "A String", # The description of the icon, used for accessibility. The default value is provided if you don't specify one. + "iconUrl": "A String", # The icon specified by a URL. + "imageType": "A String", # The crop style applied to the image. In some cases, applying a `CIRCLE` crop causes the image to be drawn larger than a standard icon. + "knownIcon": "A String", # The icon specified by the string name of a list of known icons. + }, + "switchControl": { # Either a toggle-style switch or a checkbox. # A switch widget can be clicked to change its state or trigger an action. + "controlType": "A String", # The control type, either switch or checkbox. + "name": "A String", # The name of the switch widget that's used in `formInput`. + "onChangeAction": { # An action that describes the behavior when the form is submitted. For example, an Apps Script can be invoked to handle the form. # The action when the switch state is changed. + "function": "A String", # Apps Script function to invoke when the containing element is clicked/activated. + "loadIndicator": "A String", # Specifies the loading indicator that the action displays while making the call to the action. + "parameters": [ # List of action parameters. + { # List of string parameters to supply when the action method is invoked. For example, consider three snooze buttons: snooze now, snooze 1 day, snooze next week. You might use action method = snooze(), passing the snooze type and snooze time in the list of string parameters. + "key": "A String", # The name of the parameter for the action script. + "value": "A String", # The value of the parameter. + }, + ], + "persistValues": True or False, # Indicates whether form values persist after the action. The default value is `false`. If `true`, form values remain after the action is triggered. When using [LoadIndicator.NONE](workspace/add-ons/reference/rpc/google.apps.card.v1#loadindicator) for actions, `persist_values` = `true`is recommended, as it ensures that any changes made by the user after form or on change actions are sent to the server are not overwritten by the response. If `false`, the form values are cleared when the action is triggered. When `persist_values` is set to `false`, it is strongly recommended that the card use [LoadIndicator.SPINNER](workspace/add-ons/reference/rpc/google.apps.card.v1#loadindicator) for all actions, as this locks the UI to ensure no changes are made by the user while the action is being processed. Not supported by Google Chat apps. + }, + "selected": True or False, # If the switch is selected. + "value": "A String", # The value is what is passed back in the callback. + }, + "text": "A String", # Required. The main widget formatted text. See Text formatting for details. + "topLabel": "A String", # The formatted text label that shows above the main text. + "wrapText": True or False, # The wrap text setting. If `true`, the text is wrapped and displayed in multiline. Otherwise, the text is truncated. + }, + "divider": { # A divider that appears in between widgets. # Displays a divider. For example, the following JSON creates a divider: ``` "divider": { } ``` + }, + "grid": { # Represents a Grid widget that displays items in a configurable grid layout. # Displays a grid with a collection of items. For example, the following JSON creates a 2 column grid with a single item: ``` "grid": { "title": "A fine collection of items", "numColumns": 2, "borderStyle": { "type": "STROKE", "cornerRadius": 4.0 }, "items": [ "image": { "imageUri": "https://www.example.com/image.png", "cropStyle": { "type": "SQUARE" }, "borderStyle": { "type": "STROKE" } }, "title": "An item", "textAlignment": "CENTER" ], "onClick": { "openLink": { "url":"https://www.example.com" } } } ``` + "borderStyle": { # Represents the complete border style applied to widgets. # The border style to apply to each grid item. + "cornerRadius": 42, # The corner radius for the border. + "strokeColor": { # Represents a color in the RGBA color space. This representation is designed for simplicity of conversion to/from color representations in various languages over compactness. For example, the fields of this representation can be trivially provided to the constructor of `java.awt.Color` in Java; it can also be trivially provided to UIColor's `+colorWithRed:green:blue:alpha` method in iOS; and, with just a little work, it can be easily formatted into a CSS `rgba()` string in JavaScript. This reference page doesn't carry information about the absolute color space that should be used to interpret the RGB value (e.g. sRGB, Adobe RGB, DCI-P3, BT.2020, etc.). By default, applications should assume the sRGB color space. When color equality needs to be decided, implementations, unless documented otherwise, treat two colors as equal if all their red, green, blue, and alpha values each differ by at most 1e-5. Example (Java): import com.google.type.Color; // ... public static java.awt.Color fromProto(Color protocolor) { float alpha = protocolor.hasAlpha() ? protocolor.getAlpha().getValue() : 1.0; return new java.awt.Color( protocolor.getRed(), protocolor.getGreen(), protocolor.getBlue(), alpha); } public static Color toProto(java.awt.Color color) { float red = (float) color.getRed(); float green = (float) color.getGreen(); float blue = (float) color.getBlue(); float denominator = 255.0; Color.Builder resultBuilder = Color .newBuilder() .setRed(red / denominator) .setGreen(green / denominator) .setBlue(blue / denominator); int alpha = color.getAlpha(); if (alpha != 255) { result.setAlpha( FloatValue .newBuilder() .setValue(((float) alpha) / denominator) .build()); } return resultBuilder.build(); } // ... Example (iOS / Obj-C): // ... static UIColor* fromProto(Color* protocolor) { float red = [protocolor red]; float green = [protocolor green]; float blue = [protocolor blue]; FloatValue* alpha_wrapper = [protocolor alpha]; float alpha = 1.0; if (alpha_wrapper != nil) { alpha = [alpha_wrapper value]; } return [UIColor colorWithRed:red green:green blue:blue alpha:alpha]; } static Color* toProto(UIColor* color) { CGFloat red, green, blue, alpha; if (![color getRed:&red green:&green blue:&blue alpha:&alpha]) { return nil; } Color* result = [[Color alloc] init]; [result setRed:red]; [result setGreen:green]; [result setBlue:blue]; if (alpha <= 0.9999) { [result setAlpha:floatWrapperWithValue(alpha)]; } [result autorelease]; return result; } // ... Example (JavaScript): // ... var protoToCssColor = function(rgb_color) { var redFrac = rgb_color.red || 0.0; var greenFrac = rgb_color.green || 0.0; var blueFrac = rgb_color.blue || 0.0; var red = Math.floor(redFrac * 255); var green = Math.floor(greenFrac * 255); var blue = Math.floor(blueFrac * 255); if (!('alpha' in rgb_color)) { return rgbToCssColor(red, green, blue); } var alphaFrac = rgb_color.alpha.value || 0.0; var rgbParams = [red, green, blue].join(','); return ['rgba(', rgbParams, ',', alphaFrac, ')'].join(''); }; var rgbToCssColor = function(red, green, blue) { var rgbNumber = new Number((red << 16) | (green << 8) | blue); var hexString = rgbNumber.toString(16); var missingZeros = 6 - hexString.length; var resultBuilder = ['#']; for (var i = 0; i < missingZeros; i++) { resultBuilder.push('0'); } resultBuilder.push(hexString); return resultBuilder.join(''); }; // ... # The colors to use when the type is `BORDER_TYPE_STROKE`. + "alpha": 3.14, # The fraction of this color that should be applied to the pixel. That is, the final pixel color is defined by the equation: `pixel color = alpha * (this color) + (1.0 - alpha) * (background color)` This means that a value of 1.0 corresponds to a solid color, whereas a value of 0.0 corresponds to a completely transparent color. This uses a wrapper message rather than a simple float scalar so that it is possible to distinguish between a default value and the value being unset. If omitted, this color object is rendered as a solid color (as if the alpha value had been explicitly given a value of 1.0). + "blue": 3.14, # The amount of blue in the color as a value in the interval [0, 1]. + "green": 3.14, # The amount of green in the color as a value in the interval [0, 1]. + "red": 3.14, # The amount of red in the color as a value in the interval [0, 1]. + }, + "type": "A String", # The border type. + }, + "columnCount": 42, # The number of columns to display in the grid. A default value is used if this field isn't specified, and that default value is different depending on where the grid is shown (dialog versus companion). + "items": [ # The items to display in the grid. + { # Represents a single item in the grid layout. + "id": "A String", # A user-specified identifier for this grid item. This identifier is returned in the parent Grid's onClick callback parameters. + "image": { # Represents an image. # The image that displays in the grid item. + "altText": "A String", # The accessibility label for the image. + "borderStyle": { # Represents the complete border style applied to widgets. # The border style to apply to the image. + "cornerRadius": 42, # The corner radius for the border. + "strokeColor": { # Represents a color in the RGBA color space. This representation is designed for simplicity of conversion to/from color representations in various languages over compactness. For example, the fields of this representation can be trivially provided to the constructor of `java.awt.Color` in Java; it can also be trivially provided to UIColor's `+colorWithRed:green:blue:alpha` method in iOS; and, with just a little work, it can be easily formatted into a CSS `rgba()` string in JavaScript. This reference page doesn't carry information about the absolute color space that should be used to interpret the RGB value (e.g. sRGB, Adobe RGB, DCI-P3, BT.2020, etc.). By default, applications should assume the sRGB color space. When color equality needs to be decided, implementations, unless documented otherwise, treat two colors as equal if all their red, green, blue, and alpha values each differ by at most 1e-5. Example (Java): import com.google.type.Color; // ... public static java.awt.Color fromProto(Color protocolor) { float alpha = protocolor.hasAlpha() ? protocolor.getAlpha().getValue() : 1.0; return new java.awt.Color( protocolor.getRed(), protocolor.getGreen(), protocolor.getBlue(), alpha); } public static Color toProto(java.awt.Color color) { float red = (float) color.getRed(); float green = (float) color.getGreen(); float blue = (float) color.getBlue(); float denominator = 255.0; Color.Builder resultBuilder = Color .newBuilder() .setRed(red / denominator) .setGreen(green / denominator) .setBlue(blue / denominator); int alpha = color.getAlpha(); if (alpha != 255) { result.setAlpha( FloatValue .newBuilder() .setValue(((float) alpha) / denominator) .build()); } return resultBuilder.build(); } // ... Example (iOS / Obj-C): // ... static UIColor* fromProto(Color* protocolor) { float red = [protocolor red]; float green = [protocolor green]; float blue = [protocolor blue]; FloatValue* alpha_wrapper = [protocolor alpha]; float alpha = 1.0; if (alpha_wrapper != nil) { alpha = [alpha_wrapper value]; } return [UIColor colorWithRed:red green:green blue:blue alpha:alpha]; } static Color* toProto(UIColor* color) { CGFloat red, green, blue, alpha; if (![color getRed:&red green:&green blue:&blue alpha:&alpha]) { return nil; } Color* result = [[Color alloc] init]; [result setRed:red]; [result setGreen:green]; [result setBlue:blue]; if (alpha <= 0.9999) { [result setAlpha:floatWrapperWithValue(alpha)]; } [result autorelease]; return result; } // ... Example (JavaScript): // ... var protoToCssColor = function(rgb_color) { var redFrac = rgb_color.red || 0.0; var greenFrac = rgb_color.green || 0.0; var blueFrac = rgb_color.blue || 0.0; var red = Math.floor(redFrac * 255); var green = Math.floor(greenFrac * 255); var blue = Math.floor(blueFrac * 255); if (!('alpha' in rgb_color)) { return rgbToCssColor(red, green, blue); } var alphaFrac = rgb_color.alpha.value || 0.0; var rgbParams = [red, green, blue].join(','); return ['rgba(', rgbParams, ',', alphaFrac, ')'].join(''); }; var rgbToCssColor = function(red, green, blue) { var rgbNumber = new Number((red << 16) | (green << 8) | blue); var hexString = rgbNumber.toString(16); var missingZeros = 6 - hexString.length; var resultBuilder = ['#']; for (var i = 0; i < missingZeros; i++) { resultBuilder.push('0'); } resultBuilder.push(hexString); return resultBuilder.join(''); }; // ... # The colors to use when the type is `BORDER_TYPE_STROKE`. + "alpha": 3.14, # The fraction of this color that should be applied to the pixel. That is, the final pixel color is defined by the equation: `pixel color = alpha * (this color) + (1.0 - alpha) * (background color)` This means that a value of 1.0 corresponds to a solid color, whereas a value of 0.0 corresponds to a completely transparent color. This uses a wrapper message rather than a simple float scalar so that it is possible to distinguish between a default value and the value being unset. If omitted, this color object is rendered as a solid color (as if the alpha value had been explicitly given a value of 1.0). + "blue": 3.14, # The amount of blue in the color as a value in the interval [0, 1]. + "green": 3.14, # The amount of green in the color as a value in the interval [0, 1]. + "red": 3.14, # The amount of red in the color as a value in the interval [0, 1]. + }, + "type": "A String", # The border type. + }, + "cropStyle": { # Represents the crop style applied to an image. # The crop style to apply to the image. + "aspectRatio": 3.14, # The aspect ratio to use if the crop type is `RECTANGLE_CUSTOM`. + "type": "A String", # The crop type. + }, + "imageUri": "A String", # The image URL. + }, + "layout": "A String", # The layout to use for the grid item. + "subtitle": "A String", # The grid item's subtitle. + "textAlignment": "A String", # The horizontal alignment of the grid item's text. + "title": "A String", # The grid item's title. + }, + ], + "onClick": { # Represents the response to an `onClick` event. # This callback is reused by each individual grid item, but with the item's identifier and index in the items list added to the callback's parameters. + "action": { # An action that describes the behavior when the form is submitted. For example, an Apps Script can be invoked to handle the form. # If specified, an action is triggered by this `onClick`. + "function": "A String", # Apps Script function to invoke when the containing element is clicked/activated. + "loadIndicator": "A String", # Specifies the loading indicator that the action displays while making the call to the action. + "parameters": [ # List of action parameters. + { # List of string parameters to supply when the action method is invoked. For example, consider three snooze buttons: snooze now, snooze 1 day, snooze next week. You might use action method = snooze(), passing the snooze type and snooze time in the list of string parameters. + "key": "A String", # The name of the parameter for the action script. + "value": "A String", # The value of the parameter. + }, + ], + "persistValues": True or False, # Indicates whether form values persist after the action. The default value is `false`. If `true`, form values remain after the action is triggered. When using [LoadIndicator.NONE](workspace/add-ons/reference/rpc/google.apps.card.v1#loadindicator) for actions, `persist_values` = `true`is recommended, as it ensures that any changes made by the user after form or on change actions are sent to the server are not overwritten by the response. If `false`, the form values are cleared when the action is triggered. When `persist_values` is set to `false`, it is strongly recommended that the card use [LoadIndicator.SPINNER](workspace/add-ons/reference/rpc/google.apps.card.v1#loadindicator) for all actions, as this locks the UI to ensure no changes are made by the user while the action is being processed. Not supported by Google Chat apps. + }, + "card": # Object with schema name: GoogleAppsCardV1Card # A new card is pushed to the card stack after clicking if specified. + "openDynamicLinkAction": { # An action that describes the behavior when the form is submitted. For example, an Apps Script can be invoked to handle the form. # An add-on triggers this action when the action needs to open a link. This differs from the `open_link` above in that this needs to talk to server to get the link. Thus some preparation work is required for web client to do before the open link action response comes back. + "function": "A String", # Apps Script function to invoke when the containing element is clicked/activated. + "loadIndicator": "A String", # Specifies the loading indicator that the action displays while making the call to the action. + "parameters": [ # List of action parameters. + { # List of string parameters to supply when the action method is invoked. For example, consider three snooze buttons: snooze now, snooze 1 day, snooze next week. You might use action method = snooze(), passing the snooze type and snooze time in the list of string parameters. + "key": "A String", # The name of the parameter for the action script. + "value": "A String", # The value of the parameter. + }, + ], + "persistValues": True or False, # Indicates whether form values persist after the action. The default value is `false`. If `true`, form values remain after the action is triggered. When using [LoadIndicator.NONE](workspace/add-ons/reference/rpc/google.apps.card.v1#loadindicator) for actions, `persist_values` = `true`is recommended, as it ensures that any changes made by the user after form or on change actions are sent to the server are not overwritten by the response. If `false`, the form values are cleared when the action is triggered. When `persist_values` is set to `false`, it is strongly recommended that the card use [LoadIndicator.SPINNER](workspace/add-ons/reference/rpc/google.apps.card.v1#loadindicator) for all actions, as this locks the UI to ensure no changes are made by the user while the action is being processed. Not supported by Google Chat apps. + }, + "openLink": { # Represents an `onClick` event that opens a hyperlink. # If specified, this `onClick` triggers an open link action. + "onClose": "A String", # Whether the client forgets about a link after opening it, or observes it until the window closes. Not supported by Chat apps. + "openAs": "A String", # How to open a link. Not supported by Chat apps. + "url": "A String", # The URL to open. + }, + }, + "title": "A String", # The text that displays in the grid header. + }, + "horizontalAlignment": "A String", # The horizontal alignment of this widget. + "image": { # An image that is specified by a URL and can have an `onClick` action. # Displays an image in this widget. For example, the following JSON creates an image with alternative text: ``` "image": { "imageUrl": "https://example.com/sasha.png" "altText": "Avatar for Sasha" } ``` + "altText": "A String", # The alternative text of this image, used for accessibility. + "imageUrl": "A String", # An image URL. + "onClick": { # Represents the response to an `onClick` event. # The action triggered by an `onClick` event. + "action": { # An action that describes the behavior when the form is submitted. For example, an Apps Script can be invoked to handle the form. # If specified, an action is triggered by this `onClick`. + "function": "A String", # Apps Script function to invoke when the containing element is clicked/activated. + "loadIndicator": "A String", # Specifies the loading indicator that the action displays while making the call to the action. + "parameters": [ # List of action parameters. + { # List of string parameters to supply when the action method is invoked. For example, consider three snooze buttons: snooze now, snooze 1 day, snooze next week. You might use action method = snooze(), passing the snooze type and snooze time in the list of string parameters. + "key": "A String", # The name of the parameter for the action script. + "value": "A String", # The value of the parameter. + }, + ], + "persistValues": True or False, # Indicates whether form values persist after the action. The default value is `false`. If `true`, form values remain after the action is triggered. When using [LoadIndicator.NONE](workspace/add-ons/reference/rpc/google.apps.card.v1#loadindicator) for actions, `persist_values` = `true`is recommended, as it ensures that any changes made by the user after form or on change actions are sent to the server are not overwritten by the response. If `false`, the form values are cleared when the action is triggered. When `persist_values` is set to `false`, it is strongly recommended that the card use [LoadIndicator.SPINNER](workspace/add-ons/reference/rpc/google.apps.card.v1#loadindicator) for all actions, as this locks the UI to ensure no changes are made by the user while the action is being processed. Not supported by Google Chat apps. + }, + "card": # Object with schema name: GoogleAppsCardV1Card # A new card is pushed to the card stack after clicking if specified. + "openDynamicLinkAction": { # An action that describes the behavior when the form is submitted. For example, an Apps Script can be invoked to handle the form. # An add-on triggers this action when the action needs to open a link. This differs from the `open_link` above in that this needs to talk to server to get the link. Thus some preparation work is required for web client to do before the open link action response comes back. + "function": "A String", # Apps Script function to invoke when the containing element is clicked/activated. + "loadIndicator": "A String", # Specifies the loading indicator that the action displays while making the call to the action. + "parameters": [ # List of action parameters. + { # List of string parameters to supply when the action method is invoked. For example, consider three snooze buttons: snooze now, snooze 1 day, snooze next week. You might use action method = snooze(), passing the snooze type and snooze time in the list of string parameters. + "key": "A String", # The name of the parameter for the action script. + "value": "A String", # The value of the parameter. + }, + ], + "persistValues": True or False, # Indicates whether form values persist after the action. The default value is `false`. If `true`, form values remain after the action is triggered. When using [LoadIndicator.NONE](workspace/add-ons/reference/rpc/google.apps.card.v1#loadindicator) for actions, `persist_values` = `true`is recommended, as it ensures that any changes made by the user after form or on change actions are sent to the server are not overwritten by the response. If `false`, the form values are cleared when the action is triggered. When `persist_values` is set to `false`, it is strongly recommended that the card use [LoadIndicator.SPINNER](workspace/add-ons/reference/rpc/google.apps.card.v1#loadindicator) for all actions, as this locks the UI to ensure no changes are made by the user while the action is being processed. Not supported by Google Chat apps. + }, + "openLink": { # Represents an `onClick` event that opens a hyperlink. # If specified, this `onClick` triggers an open link action. + "onClose": "A String", # Whether the client forgets about a link after opening it, or observes it until the window closes. Not supported by Chat apps. + "openAs": "A String", # How to open a link. Not supported by Chat apps. + "url": "A String", # The URL to open. + }, + }, + }, + "selectionInput": { # A widget that creates a UI item with options for users to select. For example, a dropdown menu. # Displays a switch control in this widget. For example, the following JSON creates a dropdown selection for size: ``` "switchControl": { "name": "size", "label": "Size" "type": "SelectionType.DROPDOWN", "items": [ { "text": "S", "value": "small", "selected": false }, { "text": "M", "value": "medium", "selected": true }, { "text": "L", "value": "large", "selected": false }, { "text": "XL", "value": "extra_large", "selected": false } ] } ``` + "items": [ # An array of the selected items. + { # A selectable item in the switch control. + "selected": True or False, # If more than one item is selected for `RADIO_BUTTON` and `DROPDOWN`, the first selected item is treated as selected and the ones after are ignored. + "text": "A String", # The text to be displayed. + "value": "A String", # The value associated with this item. The client should use this as a form input value. + }, + ], + "label": "A String", # The label displayed ahead of the switch control. + "name": "A String", # The name of the text input which is used in `formInput`. + "onChangeAction": { # An action that describes the behavior when the form is submitted. For example, an Apps Script can be invoked to handle the form. # If specified, the form is submitted when the selection changes. If not specified, you must specify a separate button. + "function": "A String", # Apps Script function to invoke when the containing element is clicked/activated. + "loadIndicator": "A String", # Specifies the loading indicator that the action displays while making the call to the action. + "parameters": [ # List of action parameters. + { # List of string parameters to supply when the action method is invoked. For example, consider three snooze buttons: snooze now, snooze 1 day, snooze next week. You might use action method = snooze(), passing the snooze type and snooze time in the list of string parameters. + "key": "A String", # The name of the parameter for the action script. + "value": "A String", # The value of the parameter. + }, + ], + "persistValues": True or False, # Indicates whether form values persist after the action. The default value is `false`. If `true`, form values remain after the action is triggered. When using [LoadIndicator.NONE](workspace/add-ons/reference/rpc/google.apps.card.v1#loadindicator) for actions, `persist_values` = `true`is recommended, as it ensures that any changes made by the user after form or on change actions are sent to the server are not overwritten by the response. If `false`, the form values are cleared when the action is triggered. When `persist_values` is set to `false`, it is strongly recommended that the card use [LoadIndicator.SPINNER](workspace/add-ons/reference/rpc/google.apps.card.v1#loadindicator) for all actions, as this locks the UI to ensure no changes are made by the user while the action is being processed. Not supported by Google Chat apps. + }, + "type": "A String", # The type of the selection. + }, + "textInput": { # A text input is a UI item where users can input text. A text input can also have an onChange action and suggestions. # Displays a text input in this widget. For example, the following JSON creates a text input for mail address: ``` "textInput": { "name": "mailing_address", "label": "Mailing Address" } ``` As another example, the following JSON creates a text input for programming language with static suggestions: ``` "textInput": { "name": "preferred_programing_language", "label": "Preferred Language", "initialSuggestions": { "items": [ { "text": "C++" }, { "text": "Java" }, { "text": "JavaScript" }, { "text": "Python" } ] } } ``` + "autoCompleteAction": { # An action that describes the behavior when the form is submitted. For example, an Apps Script can be invoked to handle the form. # The refresh function that returns suggestions based on the user's input text. If the callback is not specified, autocomplete is done in client side based on the initial suggestion items. + "function": "A String", # Apps Script function to invoke when the containing element is clicked/activated. + "loadIndicator": "A String", # Specifies the loading indicator that the action displays while making the call to the action. + "parameters": [ # List of action parameters. + { # List of string parameters to supply when the action method is invoked. For example, consider three snooze buttons: snooze now, snooze 1 day, snooze next week. You might use action method = snooze(), passing the snooze type and snooze time in the list of string parameters. + "key": "A String", # The name of the parameter for the action script. + "value": "A String", # The value of the parameter. + }, + ], + "persistValues": True or False, # Indicates whether form values persist after the action. The default value is `false`. If `true`, form values remain after the action is triggered. When using [LoadIndicator.NONE](workspace/add-ons/reference/rpc/google.apps.card.v1#loadindicator) for actions, `persist_values` = `true`is recommended, as it ensures that any changes made by the user after form or on change actions are sent to the server are not overwritten by the response. If `false`, the form values are cleared when the action is triggered. When `persist_values` is set to `false`, it is strongly recommended that the card use [LoadIndicator.SPINNER](workspace/add-ons/reference/rpc/google.apps.card.v1#loadindicator) for all actions, as this locks the UI to ensure no changes are made by the user while the action is being processed. Not supported by Google Chat apps. + }, + "hintText": "A String", # The hint text. + "initialSuggestions": { # A container wrapping elements necessary for showing suggestion items used in text input autocomplete. # The initial suggestions made before any user input. + "items": [ # A list of suggestions used for autocomplete recommendations. + { # A suggestion item. + "text": "A String", # The suggested autocomplete result. + }, + ], + }, + "label": "A String", # At least one of label and hintText must be specified. + "name": "A String", # The name of the text input which is used in `formInput`. + "onChangeAction": { # An action that describes the behavior when the form is submitted. For example, an Apps Script can be invoked to handle the form. # The onChange action, for example, invoke a function. + "function": "A String", # Apps Script function to invoke when the containing element is clicked/activated. + "loadIndicator": "A String", # Specifies the loading indicator that the action displays while making the call to the action. + "parameters": [ # List of action parameters. + { # List of string parameters to supply when the action method is invoked. For example, consider three snooze buttons: snooze now, snooze 1 day, snooze next week. You might use action method = snooze(), passing the snooze type and snooze time in the list of string parameters. + "key": "A String", # The name of the parameter for the action script. + "value": "A String", # The value of the parameter. + }, + ], + "persistValues": True or False, # Indicates whether form values persist after the action. The default value is `false`. If `true`, form values remain after the action is triggered. When using [LoadIndicator.NONE](workspace/add-ons/reference/rpc/google.apps.card.v1#loadindicator) for actions, `persist_values` = `true`is recommended, as it ensures that any changes made by the user after form or on change actions are sent to the server are not overwritten by the response. If `false`, the form values are cleared when the action is triggered. When `persist_values` is set to `false`, it is strongly recommended that the card use [LoadIndicator.SPINNER](workspace/add-ons/reference/rpc/google.apps.card.v1#loadindicator) for all actions, as this locks the UI to ensure no changes are made by the user while the action is being processed. Not supported by Google Chat apps. + }, + "type": "A String", # The style of the text, for example, a single line or multiple lines. + "value": "A String", # The default value when there is no input from the user. + }, + "textParagraph": { # A paragraph of text that supports formatting. See [Text formatting](workspace/add-ons/concepts/widgets#text_formatting) for details. # Displays a text paragraph in this widget. For example, the following JSON creates a bolded text: ``` "textParagraph": { "text": " *bold text*" } ``` + "text": "A String", # The text that's shown in the widget. + }, + }, + ], + }, + ], + }, + "cardId": "A String", # Required for `cardsV2` messages. Chat app-specified identifier for this widget. Scoped within a message. + }, + ], "createTime": "A String", # Output only. The time at which the message was created in Google Chat server. "fallbackText": "A String", # A plain-text description of the message's cards, used when the actual cards cannot be displayed (e.g. mobile notifications). "lastUpdateTime": "A String", # Output only. The time at which the message was last edited by a user. If the message has never been edited, this field is empty. @@ -2415,8 +3989,12 @@

Method Details

"displayName": "A String", # The space's display name. For direct messages between humans, this field might be empty. "name": "A String", # Resource name of the space. Format: spaces/{space} "singleUserBotDm": True or False, # Output only. Whether the space is a DM between a Chat app and a single human. + "spaceDetails": { # Details about the space including description and rules. # Details about the space including description and rules. + "description": "A String", # Optional. A description of the space. It could describe the space's discussion topic, functional purpose, or participants. + "guidelines": "A String", # Optional. The space's rules, expectations, and etiquette. + }, "threaded": True or False, # Output only. Whether messages are threaded in this space. - "type": "A String", # Output only. Deprecated: Use `single_user_bot_dm` or `space_type` (developer preview) instead. The type of a space. + "type": "A String", # Output only. Deprecated: Use `singleUserBotDm` or `spaceType` (developer preview) instead. The type of a space. }, "text": "A String", # Plain-text body of the message. The first link to an image, video, web page, or other preview-able item generates a preview chip. "thread": { # A thread in Google Chat. # The thread the message belongs to. @@ -3171,6 +4749,528 @@

Method Details

], }, ], + "cardsV2": [ # Richly formatted and interactive cards that display UI elements and editable widgets, such as: - Formatted text - Buttons - Clickable images - Checkboxes - Radio buttons - Input widgets. Cards are usually displayed below the text-body of a Chat message, but can situationally appear other places, such as [dialogs](https://developers.google.com/chat/how-tos/dialogs). The `cardId` is a unique identifier among cards in the same message and for identifying user input values. Currently supported widgets include: - `TextParagraph` - `DecoratedText` - `Image` - `ButtonList` + { # Widgets for Chat apps to specify. + "card": { # A card is a UI element that can contain UI widgets such as text and images. For more information, see Cards . For example, the following JSON creates a card that has a header with the name, position, icons, and link for a contact, followed by a section with contact information like email and phone number. ``` { "header": { "title": "Sasha", "subtitle": "Software Engineer", "imageStyle": "ImageStyle.AVATAR", "imageUrl": "https://example.com/sasha.png", "imageAltText": "Avatar for Sasha" }, "sections" : [ { "header": "Contact Info", "widgets": [ { "decorated_text": { "icon": { "knownIcon": "EMAIL" }, "content": "sasha@example.com" } }, { "decoratedText": { "icon": { "knownIcon": "PERSON" }, "content": "Online" } }, { "decoratedText": { "icon": { "knownIcon": "PHONE" }, "content": "+1 (555) 555-1234" } }, { "buttons": [ { "textButton": { "text": "Share", }, "onClick": { "openLink": { "url": "https://example.com/share" } } }, { "textButton": { "text": "Edit", }, "onClick": { "action": { "function": "goToView", "parameters": [ { "key": "viewType", "value": "EDIT" } ], "loadIndicator": "LoadIndicator.SPINNER" } } } ] } ], "collapsible": true, "uncollapsibleWidgetsCount": 3 } ], "cardActions": [ { "actionLabel": "Send Feedback", "onClick": { "openLink": { "url": "https://example.com/feedback" } } } ], "name": "contact-card-K3wB6arF2H9L" } ``` # Card proto that allows Chat apps to specify UI elements and editable widgets. + "cardActions": [ # The card's actions. Actions are added to the card's generated toolbar menu. For example, the following JSON constructs a card action menu with Settings and Send Feedback options: ``` "card_actions": [ { "actionLabel": "Settings", "onClick": { "action": { "functionName": "goToView", "parameters": [ { "key": "viewType", "value": "SETTING" } ], "loadIndicator": "LoadIndicator.SPINNER" } } }, { "actionLabel": "Send Feedback", "onClick": { "openLink": { "url": "https://example.com/feedback" } } } ] ``` + { # A card action is the action associated with the card. For example, an invoice card might include actions such as delete invoice, email invoice, or open the invoice in a browser. + "actionLabel": "A String", # The label that displays as the action menu item. + "onClick": { # Represents the response to an `onClick` event. # The `onClick` action for this action item. + "action": { # An action that describes the behavior when the form is submitted. For example, an Apps Script can be invoked to handle the form. # If specified, an action is triggered by this `onClick`. + "function": "A String", # Apps Script function to invoke when the containing element is clicked/activated. + "loadIndicator": "A String", # Specifies the loading indicator that the action displays while making the call to the action. + "parameters": [ # List of action parameters. + { # List of string parameters to supply when the action method is invoked. For example, consider three snooze buttons: snooze now, snooze 1 day, snooze next week. You might use action method = snooze(), passing the snooze type and snooze time in the list of string parameters. + "key": "A String", # The name of the parameter for the action script. + "value": "A String", # The value of the parameter. + }, + ], + "persistValues": True or False, # Indicates whether form values persist after the action. The default value is `false`. If `true`, form values remain after the action is triggered. When using [LoadIndicator.NONE](workspace/add-ons/reference/rpc/google.apps.card.v1#loadindicator) for actions, `persist_values` = `true`is recommended, as it ensures that any changes made by the user after form or on change actions are sent to the server are not overwritten by the response. If `false`, the form values are cleared when the action is triggered. When `persist_values` is set to `false`, it is strongly recommended that the card use [LoadIndicator.SPINNER](workspace/add-ons/reference/rpc/google.apps.card.v1#loadindicator) for all actions, as this locks the UI to ensure no changes are made by the user while the action is being processed. Not supported by Google Chat apps. + }, + "card": # Object with schema name: GoogleAppsCardV1Card # A new card is pushed to the card stack after clicking if specified. + "openDynamicLinkAction": { # An action that describes the behavior when the form is submitted. For example, an Apps Script can be invoked to handle the form. # An add-on triggers this action when the action needs to open a link. This differs from the `open_link` above in that this needs to talk to server to get the link. Thus some preparation work is required for web client to do before the open link action response comes back. + "function": "A String", # Apps Script function to invoke when the containing element is clicked/activated. + "loadIndicator": "A String", # Specifies the loading indicator that the action displays while making the call to the action. + "parameters": [ # List of action parameters. + { # List of string parameters to supply when the action method is invoked. For example, consider three snooze buttons: snooze now, snooze 1 day, snooze next week. You might use action method = snooze(), passing the snooze type and snooze time in the list of string parameters. + "key": "A String", # The name of the parameter for the action script. + "value": "A String", # The value of the parameter. + }, + ], + "persistValues": True or False, # Indicates whether form values persist after the action. The default value is `false`. If `true`, form values remain after the action is triggered. When using [LoadIndicator.NONE](workspace/add-ons/reference/rpc/google.apps.card.v1#loadindicator) for actions, `persist_values` = `true`is recommended, as it ensures that any changes made by the user after form or on change actions are sent to the server are not overwritten by the response. If `false`, the form values are cleared when the action is triggered. When `persist_values` is set to `false`, it is strongly recommended that the card use [LoadIndicator.SPINNER](workspace/add-ons/reference/rpc/google.apps.card.v1#loadindicator) for all actions, as this locks the UI to ensure no changes are made by the user while the action is being processed. Not supported by Google Chat apps. + }, + "openLink": { # Represents an `onClick` event that opens a hyperlink. # If specified, this `onClick` triggers an open link action. + "onClose": "A String", # Whether the client forgets about a link after opening it, or observes it until the window closes. Not supported by Chat apps. + "openAs": "A String", # How to open a link. Not supported by Chat apps. + "url": "A String", # The URL to open. + }, + }, + }, + ], + "displayStyle": "A String", # The `peekCardHeader` display style for. Not supported by Google Chat apps. + "fixedFooter": { # A persistent (sticky) footer that is added to the bottom of the card. # The fixed footer shown at the bottom of this card. + "primaryButton": { # A button. Can be a text button or an image button. # The primary button of the fixed footer. The button must be a text button with text and color set. + "altText": "A String", # The alternative text used for accessibility. Has no effect when an icon is set; use `icon.alt_text` instead. + "color": { # Represents a color in the RGBA color space. This representation is designed for simplicity of conversion to/from color representations in various languages over compactness. For example, the fields of this representation can be trivially provided to the constructor of `java.awt.Color` in Java; it can also be trivially provided to UIColor's `+colorWithRed:green:blue:alpha` method in iOS; and, with just a little work, it can be easily formatted into a CSS `rgba()` string in JavaScript. This reference page doesn't carry information about the absolute color space that should be used to interpret the RGB value (e.g. sRGB, Adobe RGB, DCI-P3, BT.2020, etc.). By default, applications should assume the sRGB color space. When color equality needs to be decided, implementations, unless documented otherwise, treat two colors as equal if all their red, green, blue, and alpha values each differ by at most 1e-5. Example (Java): import com.google.type.Color; // ... public static java.awt.Color fromProto(Color protocolor) { float alpha = protocolor.hasAlpha() ? protocolor.getAlpha().getValue() : 1.0; return new java.awt.Color( protocolor.getRed(), protocolor.getGreen(), protocolor.getBlue(), alpha); } public static Color toProto(java.awt.Color color) { float red = (float) color.getRed(); float green = (float) color.getGreen(); float blue = (float) color.getBlue(); float denominator = 255.0; Color.Builder resultBuilder = Color .newBuilder() .setRed(red / denominator) .setGreen(green / denominator) .setBlue(blue / denominator); int alpha = color.getAlpha(); if (alpha != 255) { result.setAlpha( FloatValue .newBuilder() .setValue(((float) alpha) / denominator) .build()); } return resultBuilder.build(); } // ... Example (iOS / Obj-C): // ... static UIColor* fromProto(Color* protocolor) { float red = [protocolor red]; float green = [protocolor green]; float blue = [protocolor blue]; FloatValue* alpha_wrapper = [protocolor alpha]; float alpha = 1.0; if (alpha_wrapper != nil) { alpha = [alpha_wrapper value]; } return [UIColor colorWithRed:red green:green blue:blue alpha:alpha]; } static Color* toProto(UIColor* color) { CGFloat red, green, blue, alpha; if (![color getRed:&red green:&green blue:&blue alpha:&alpha]) { return nil; } Color* result = [[Color alloc] init]; [result setRed:red]; [result setGreen:green]; [result setBlue:blue]; if (alpha <= 0.9999) { [result setAlpha:floatWrapperWithValue(alpha)]; } [result autorelease]; return result; } // ... Example (JavaScript): // ... var protoToCssColor = function(rgb_color) { var redFrac = rgb_color.red || 0.0; var greenFrac = rgb_color.green || 0.0; var blueFrac = rgb_color.blue || 0.0; var red = Math.floor(redFrac * 255); var green = Math.floor(greenFrac * 255); var blue = Math.floor(blueFrac * 255); if (!('alpha' in rgb_color)) { return rgbToCssColor(red, green, blue); } var alphaFrac = rgb_color.alpha.value || 0.0; var rgbParams = [red, green, blue].join(','); return ['rgba(', rgbParams, ',', alphaFrac, ')'].join(''); }; var rgbToCssColor = function(red, green, blue) { var rgbNumber = new Number((red << 16) | (green << 8) | blue); var hexString = rgbNumber.toString(16); var missingZeros = 6 - hexString.length; var resultBuilder = ['#']; for (var i = 0; i < missingZeros; i++) { resultBuilder.push('0'); } resultBuilder.push(hexString); return resultBuilder.join(''); }; // ... # If set, the button is filled with a solid background. + "alpha": 3.14, # The fraction of this color that should be applied to the pixel. That is, the final pixel color is defined by the equation: `pixel color = alpha * (this color) + (1.0 - alpha) * (background color)` This means that a value of 1.0 corresponds to a solid color, whereas a value of 0.0 corresponds to a completely transparent color. This uses a wrapper message rather than a simple float scalar so that it is possible to distinguish between a default value and the value being unset. If omitted, this color object is rendered as a solid color (as if the alpha value had been explicitly given a value of 1.0). + "blue": 3.14, # The amount of blue in the color as a value in the interval [0, 1]. + "green": 3.14, # The amount of green in the color as a value in the interval [0, 1]. + "red": 3.14, # The amount of red in the color as a value in the interval [0, 1]. + }, + "disabled": True or False, # If `true`, the button is displayed in a disabled state and doesn't respond to user actions. + "icon": { # The icon image. + "altText": "A String", # The description of the icon, used for accessibility. The default value is provided if you don't specify one. + "iconUrl": "A String", # The icon specified by a URL. + "imageType": "A String", # The crop style applied to the image. In some cases, applying a `CIRCLE` crop causes the image to be drawn larger than a standard icon. + "knownIcon": "A String", # The icon specified by the string name of a list of known icons. + }, + "onClick": { # Represents the response to an `onClick` event. # The action to perform when the button is clicked. + "action": { # An action that describes the behavior when the form is submitted. For example, an Apps Script can be invoked to handle the form. # If specified, an action is triggered by this `onClick`. + "function": "A String", # Apps Script function to invoke when the containing element is clicked/activated. + "loadIndicator": "A String", # Specifies the loading indicator that the action displays while making the call to the action. + "parameters": [ # List of action parameters. + { # List of string parameters to supply when the action method is invoked. For example, consider three snooze buttons: snooze now, snooze 1 day, snooze next week. You might use action method = snooze(), passing the snooze type and snooze time in the list of string parameters. + "key": "A String", # The name of the parameter for the action script. + "value": "A String", # The value of the parameter. + }, + ], + "persistValues": True or False, # Indicates whether form values persist after the action. The default value is `false`. If `true`, form values remain after the action is triggered. When using [LoadIndicator.NONE](workspace/add-ons/reference/rpc/google.apps.card.v1#loadindicator) for actions, `persist_values` = `true`is recommended, as it ensures that any changes made by the user after form or on change actions are sent to the server are not overwritten by the response. If `false`, the form values are cleared when the action is triggered. When `persist_values` is set to `false`, it is strongly recommended that the card use [LoadIndicator.SPINNER](workspace/add-ons/reference/rpc/google.apps.card.v1#loadindicator) for all actions, as this locks the UI to ensure no changes are made by the user while the action is being processed. Not supported by Google Chat apps. + }, + "card": # Object with schema name: GoogleAppsCardV1Card # A new card is pushed to the card stack after clicking if specified. + "openDynamicLinkAction": { # An action that describes the behavior when the form is submitted. For example, an Apps Script can be invoked to handle the form. # An add-on triggers this action when the action needs to open a link. This differs from the `open_link` above in that this needs to talk to server to get the link. Thus some preparation work is required for web client to do before the open link action response comes back. + "function": "A String", # Apps Script function to invoke when the containing element is clicked/activated. + "loadIndicator": "A String", # Specifies the loading indicator that the action displays while making the call to the action. + "parameters": [ # List of action parameters. + { # List of string parameters to supply when the action method is invoked. For example, consider three snooze buttons: snooze now, snooze 1 day, snooze next week. You might use action method = snooze(), passing the snooze type and snooze time in the list of string parameters. + "key": "A String", # The name of the parameter for the action script. + "value": "A String", # The value of the parameter. + }, + ], + "persistValues": True or False, # Indicates whether form values persist after the action. The default value is `false`. If `true`, form values remain after the action is triggered. When using [LoadIndicator.NONE](workspace/add-ons/reference/rpc/google.apps.card.v1#loadindicator) for actions, `persist_values` = `true`is recommended, as it ensures that any changes made by the user after form or on change actions are sent to the server are not overwritten by the response. If `false`, the form values are cleared when the action is triggered. When `persist_values` is set to `false`, it is strongly recommended that the card use [LoadIndicator.SPINNER](workspace/add-ons/reference/rpc/google.apps.card.v1#loadindicator) for all actions, as this locks the UI to ensure no changes are made by the user while the action is being processed. Not supported by Google Chat apps. + }, + "openLink": { # Represents an `onClick` event that opens a hyperlink. # If specified, this `onClick` triggers an open link action. + "onClose": "A String", # Whether the client forgets about a link after opening it, or observes it until the window closes. Not supported by Chat apps. + "openAs": "A String", # How to open a link. Not supported by Chat apps. + "url": "A String", # The URL to open. + }, + }, + "text": "A String", # The text of the button. + }, + "secondaryButton": { # A button. Can be a text button or an image button. # The secondary button of the fixed footer. The button must be a text button with text and color set. `primaryButton` must be set if `secondaryButton` is set. + "altText": "A String", # The alternative text used for accessibility. Has no effect when an icon is set; use `icon.alt_text` instead. + "color": { # Represents a color in the RGBA color space. This representation is designed for simplicity of conversion to/from color representations in various languages over compactness. For example, the fields of this representation can be trivially provided to the constructor of `java.awt.Color` in Java; it can also be trivially provided to UIColor's `+colorWithRed:green:blue:alpha` method in iOS; and, with just a little work, it can be easily formatted into a CSS `rgba()` string in JavaScript. This reference page doesn't carry information about the absolute color space that should be used to interpret the RGB value (e.g. sRGB, Adobe RGB, DCI-P3, BT.2020, etc.). By default, applications should assume the sRGB color space. When color equality needs to be decided, implementations, unless documented otherwise, treat two colors as equal if all their red, green, blue, and alpha values each differ by at most 1e-5. Example (Java): import com.google.type.Color; // ... public static java.awt.Color fromProto(Color protocolor) { float alpha = protocolor.hasAlpha() ? protocolor.getAlpha().getValue() : 1.0; return new java.awt.Color( protocolor.getRed(), protocolor.getGreen(), protocolor.getBlue(), alpha); } public static Color toProto(java.awt.Color color) { float red = (float) color.getRed(); float green = (float) color.getGreen(); float blue = (float) color.getBlue(); float denominator = 255.0; Color.Builder resultBuilder = Color .newBuilder() .setRed(red / denominator) .setGreen(green / denominator) .setBlue(blue / denominator); int alpha = color.getAlpha(); if (alpha != 255) { result.setAlpha( FloatValue .newBuilder() .setValue(((float) alpha) / denominator) .build()); } return resultBuilder.build(); } // ... Example (iOS / Obj-C): // ... static UIColor* fromProto(Color* protocolor) { float red = [protocolor red]; float green = [protocolor green]; float blue = [protocolor blue]; FloatValue* alpha_wrapper = [protocolor alpha]; float alpha = 1.0; if (alpha_wrapper != nil) { alpha = [alpha_wrapper value]; } return [UIColor colorWithRed:red green:green blue:blue alpha:alpha]; } static Color* toProto(UIColor* color) { CGFloat red, green, blue, alpha; if (![color getRed:&red green:&green blue:&blue alpha:&alpha]) { return nil; } Color* result = [[Color alloc] init]; [result setRed:red]; [result setGreen:green]; [result setBlue:blue]; if (alpha <= 0.9999) { [result setAlpha:floatWrapperWithValue(alpha)]; } [result autorelease]; return result; } // ... Example (JavaScript): // ... var protoToCssColor = function(rgb_color) { var redFrac = rgb_color.red || 0.0; var greenFrac = rgb_color.green || 0.0; var blueFrac = rgb_color.blue || 0.0; var red = Math.floor(redFrac * 255); var green = Math.floor(greenFrac * 255); var blue = Math.floor(blueFrac * 255); if (!('alpha' in rgb_color)) { return rgbToCssColor(red, green, blue); } var alphaFrac = rgb_color.alpha.value || 0.0; var rgbParams = [red, green, blue].join(','); return ['rgba(', rgbParams, ',', alphaFrac, ')'].join(''); }; var rgbToCssColor = function(red, green, blue) { var rgbNumber = new Number((red << 16) | (green << 8) | blue); var hexString = rgbNumber.toString(16); var missingZeros = 6 - hexString.length; var resultBuilder = ['#']; for (var i = 0; i < missingZeros; i++) { resultBuilder.push('0'); } resultBuilder.push(hexString); return resultBuilder.join(''); }; // ... # If set, the button is filled with a solid background. + "alpha": 3.14, # The fraction of this color that should be applied to the pixel. That is, the final pixel color is defined by the equation: `pixel color = alpha * (this color) + (1.0 - alpha) * (background color)` This means that a value of 1.0 corresponds to a solid color, whereas a value of 0.0 corresponds to a completely transparent color. This uses a wrapper message rather than a simple float scalar so that it is possible to distinguish between a default value and the value being unset. If omitted, this color object is rendered as a solid color (as if the alpha value had been explicitly given a value of 1.0). + "blue": 3.14, # The amount of blue in the color as a value in the interval [0, 1]. + "green": 3.14, # The amount of green in the color as a value in the interval [0, 1]. + "red": 3.14, # The amount of red in the color as a value in the interval [0, 1]. + }, + "disabled": True or False, # If `true`, the button is displayed in a disabled state and doesn't respond to user actions. + "icon": { # The icon image. + "altText": "A String", # The description of the icon, used for accessibility. The default value is provided if you don't specify one. + "iconUrl": "A String", # The icon specified by a URL. + "imageType": "A String", # The crop style applied to the image. In some cases, applying a `CIRCLE` crop causes the image to be drawn larger than a standard icon. + "knownIcon": "A String", # The icon specified by the string name of a list of known icons. + }, + "onClick": { # Represents the response to an `onClick` event. # The action to perform when the button is clicked. + "action": { # An action that describes the behavior when the form is submitted. For example, an Apps Script can be invoked to handle the form. # If specified, an action is triggered by this `onClick`. + "function": "A String", # Apps Script function to invoke when the containing element is clicked/activated. + "loadIndicator": "A String", # Specifies the loading indicator that the action displays while making the call to the action. + "parameters": [ # List of action parameters. + { # List of string parameters to supply when the action method is invoked. For example, consider three snooze buttons: snooze now, snooze 1 day, snooze next week. You might use action method = snooze(), passing the snooze type and snooze time in the list of string parameters. + "key": "A String", # The name of the parameter for the action script. + "value": "A String", # The value of the parameter. + }, + ], + "persistValues": True or False, # Indicates whether form values persist after the action. The default value is `false`. If `true`, form values remain after the action is triggered. When using [LoadIndicator.NONE](workspace/add-ons/reference/rpc/google.apps.card.v1#loadindicator) for actions, `persist_values` = `true`is recommended, as it ensures that any changes made by the user after form or on change actions are sent to the server are not overwritten by the response. If `false`, the form values are cleared when the action is triggered. When `persist_values` is set to `false`, it is strongly recommended that the card use [LoadIndicator.SPINNER](workspace/add-ons/reference/rpc/google.apps.card.v1#loadindicator) for all actions, as this locks the UI to ensure no changes are made by the user while the action is being processed. Not supported by Google Chat apps. + }, + "card": # Object with schema name: GoogleAppsCardV1Card # A new card is pushed to the card stack after clicking if specified. + "openDynamicLinkAction": { # An action that describes the behavior when the form is submitted. For example, an Apps Script can be invoked to handle the form. # An add-on triggers this action when the action needs to open a link. This differs from the `open_link` above in that this needs to talk to server to get the link. Thus some preparation work is required for web client to do before the open link action response comes back. + "function": "A String", # Apps Script function to invoke when the containing element is clicked/activated. + "loadIndicator": "A String", # Specifies the loading indicator that the action displays while making the call to the action. + "parameters": [ # List of action parameters. + { # List of string parameters to supply when the action method is invoked. For example, consider three snooze buttons: snooze now, snooze 1 day, snooze next week. You might use action method = snooze(), passing the snooze type and snooze time in the list of string parameters. + "key": "A String", # The name of the parameter for the action script. + "value": "A String", # The value of the parameter. + }, + ], + "persistValues": True or False, # Indicates whether form values persist after the action. The default value is `false`. If `true`, form values remain after the action is triggered. When using [LoadIndicator.NONE](workspace/add-ons/reference/rpc/google.apps.card.v1#loadindicator) for actions, `persist_values` = `true`is recommended, as it ensures that any changes made by the user after form or on change actions are sent to the server are not overwritten by the response. If `false`, the form values are cleared when the action is triggered. When `persist_values` is set to `false`, it is strongly recommended that the card use [LoadIndicator.SPINNER](workspace/add-ons/reference/rpc/google.apps.card.v1#loadindicator) for all actions, as this locks the UI to ensure no changes are made by the user while the action is being processed. Not supported by Google Chat apps. + }, + "openLink": { # Represents an `onClick` event that opens a hyperlink. # If specified, this `onClick` triggers an open link action. + "onClose": "A String", # Whether the client forgets about a link after opening it, or observes it until the window closes. Not supported by Chat apps. + "openAs": "A String", # How to open a link. Not supported by Chat apps. + "url": "A String", # The URL to open. + }, + }, + "text": "A String", # The text of the button. + }, + }, + "header": { # Represents a card header. # The header of the card. A header usually contains a title and an image. + "imageAltText": "A String", # The alternative text of this image which is used for accessibility. + "imageType": "A String", # The image's type. + "imageUrl": "A String", # The URL of the image in the card header. + "subtitle": "A String", # The subtitle of the card header. + "title": "A String", # Required. The title of the card header. The header has a fixed height: if both a title and subtitle are specified, each takes up one line. If only the title is specified, it takes up both lines. + }, + "name": "A String", # Name of the card. Used as a card identifier in card navigation. + "peekCardHeader": { # Represents a card header. # When displaying contextual content, the peek card header acts as a placeholder so that the user can navigate forward between the homepage cards and the contextual cards. Not supported by Google Chat apps. + "imageAltText": "A String", # The alternative text of this image which is used for accessibility. + "imageType": "A String", # The image's type. + "imageUrl": "A String", # The URL of the image in the card header. + "subtitle": "A String", # The subtitle of the card header. + "title": "A String", # Required. The title of the card header. The header has a fixed height: if both a title and subtitle are specified, each takes up one line. If only the title is specified, it takes up both lines. + }, + "sections": [ # Sections are separated by a line divider. + { # A section contains a collection of widgets that are rendered vertically in the order that they are specified. Across all platforms, cards have a narrow fixed width, so there is currently no need for layout properties, for example, float. + "collapsible": True or False, # Indicates whether this section is collapsible. If a section is collapsible, the description must be given. + "header": "A String", # The header of the section. Formatted text is supported. + "uncollapsibleWidgetsCount": 42, # The number of uncollapsible widgets. For example, when a section contains five widgets and the `uncollapsibleWidgetsCount` is set to `2`, the first two widgets are always shown and the last three are collapsed as default. The `uncollapsibleWidgetsCount` is taken into account only when `collapsible` is `true`. + "widgets": [ # A section must contain at least 1 widget. + { # A widget is a UI element that presents texts, images, etc. + "buttonList": { # A list of buttons layed out horizontally. # A list of buttons. For example, the following JSON creates two buttons. The first is a filled text button and the second is an image button that opens a link: ``` "buttonList": { "buttons": [ "button": { "text": "Edit", "Color": { "Red": 255 "Green": 255 "Blue": 255 } "disabled": true }, "button": { "icon": { "knownIcon": "INVITE" "altText": "check calendar" }, "onClick": { "openLink": { "url": "https://example.com/calendar" } } }, ] } ``` + "buttons": [ # An array of buttons. + { # A button. Can be a text button or an image button. + "altText": "A String", # The alternative text used for accessibility. Has no effect when an icon is set; use `icon.alt_text` instead. + "color": { # Represents a color in the RGBA color space. This representation is designed for simplicity of conversion to/from color representations in various languages over compactness. For example, the fields of this representation can be trivially provided to the constructor of `java.awt.Color` in Java; it can also be trivially provided to UIColor's `+colorWithRed:green:blue:alpha` method in iOS; and, with just a little work, it can be easily formatted into a CSS `rgba()` string in JavaScript. This reference page doesn't carry information about the absolute color space that should be used to interpret the RGB value (e.g. sRGB, Adobe RGB, DCI-P3, BT.2020, etc.). By default, applications should assume the sRGB color space. When color equality needs to be decided, implementations, unless documented otherwise, treat two colors as equal if all their red, green, blue, and alpha values each differ by at most 1e-5. Example (Java): import com.google.type.Color; // ... public static java.awt.Color fromProto(Color protocolor) { float alpha = protocolor.hasAlpha() ? protocolor.getAlpha().getValue() : 1.0; return new java.awt.Color( protocolor.getRed(), protocolor.getGreen(), protocolor.getBlue(), alpha); } public static Color toProto(java.awt.Color color) { float red = (float) color.getRed(); float green = (float) color.getGreen(); float blue = (float) color.getBlue(); float denominator = 255.0; Color.Builder resultBuilder = Color .newBuilder() .setRed(red / denominator) .setGreen(green / denominator) .setBlue(blue / denominator); int alpha = color.getAlpha(); if (alpha != 255) { result.setAlpha( FloatValue .newBuilder() .setValue(((float) alpha) / denominator) .build()); } return resultBuilder.build(); } // ... Example (iOS / Obj-C): // ... static UIColor* fromProto(Color* protocolor) { float red = [protocolor red]; float green = [protocolor green]; float blue = [protocolor blue]; FloatValue* alpha_wrapper = [protocolor alpha]; float alpha = 1.0; if (alpha_wrapper != nil) { alpha = [alpha_wrapper value]; } return [UIColor colorWithRed:red green:green blue:blue alpha:alpha]; } static Color* toProto(UIColor* color) { CGFloat red, green, blue, alpha; if (![color getRed:&red green:&green blue:&blue alpha:&alpha]) { return nil; } Color* result = [[Color alloc] init]; [result setRed:red]; [result setGreen:green]; [result setBlue:blue]; if (alpha <= 0.9999) { [result setAlpha:floatWrapperWithValue(alpha)]; } [result autorelease]; return result; } // ... Example (JavaScript): // ... var protoToCssColor = function(rgb_color) { var redFrac = rgb_color.red || 0.0; var greenFrac = rgb_color.green || 0.0; var blueFrac = rgb_color.blue || 0.0; var red = Math.floor(redFrac * 255); var green = Math.floor(greenFrac * 255); var blue = Math.floor(blueFrac * 255); if (!('alpha' in rgb_color)) { return rgbToCssColor(red, green, blue); } var alphaFrac = rgb_color.alpha.value || 0.0; var rgbParams = [red, green, blue].join(','); return ['rgba(', rgbParams, ',', alphaFrac, ')'].join(''); }; var rgbToCssColor = function(red, green, blue) { var rgbNumber = new Number((red << 16) | (green << 8) | blue); var hexString = rgbNumber.toString(16); var missingZeros = 6 - hexString.length; var resultBuilder = ['#']; for (var i = 0; i < missingZeros; i++) { resultBuilder.push('0'); } resultBuilder.push(hexString); return resultBuilder.join(''); }; // ... # If set, the button is filled with a solid background. + "alpha": 3.14, # The fraction of this color that should be applied to the pixel. That is, the final pixel color is defined by the equation: `pixel color = alpha * (this color) + (1.0 - alpha) * (background color)` This means that a value of 1.0 corresponds to a solid color, whereas a value of 0.0 corresponds to a completely transparent color. This uses a wrapper message rather than a simple float scalar so that it is possible to distinguish between a default value and the value being unset. If omitted, this color object is rendered as a solid color (as if the alpha value had been explicitly given a value of 1.0). + "blue": 3.14, # The amount of blue in the color as a value in the interval [0, 1]. + "green": 3.14, # The amount of green in the color as a value in the interval [0, 1]. + "red": 3.14, # The amount of red in the color as a value in the interval [0, 1]. + }, + "disabled": True or False, # If `true`, the button is displayed in a disabled state and doesn't respond to user actions. + "icon": { # The icon image. + "altText": "A String", # The description of the icon, used for accessibility. The default value is provided if you don't specify one. + "iconUrl": "A String", # The icon specified by a URL. + "imageType": "A String", # The crop style applied to the image. In some cases, applying a `CIRCLE` crop causes the image to be drawn larger than a standard icon. + "knownIcon": "A String", # The icon specified by the string name of a list of known icons. + }, + "onClick": { # Represents the response to an `onClick` event. # The action to perform when the button is clicked. + "action": { # An action that describes the behavior when the form is submitted. For example, an Apps Script can be invoked to handle the form. # If specified, an action is triggered by this `onClick`. + "function": "A String", # Apps Script function to invoke when the containing element is clicked/activated. + "loadIndicator": "A String", # Specifies the loading indicator that the action displays while making the call to the action. + "parameters": [ # List of action parameters. + { # List of string parameters to supply when the action method is invoked. For example, consider three snooze buttons: snooze now, snooze 1 day, snooze next week. You might use action method = snooze(), passing the snooze type and snooze time in the list of string parameters. + "key": "A String", # The name of the parameter for the action script. + "value": "A String", # The value of the parameter. + }, + ], + "persistValues": True or False, # Indicates whether form values persist after the action. The default value is `false`. If `true`, form values remain after the action is triggered. When using [LoadIndicator.NONE](workspace/add-ons/reference/rpc/google.apps.card.v1#loadindicator) for actions, `persist_values` = `true`is recommended, as it ensures that any changes made by the user after form or on change actions are sent to the server are not overwritten by the response. If `false`, the form values are cleared when the action is triggered. When `persist_values` is set to `false`, it is strongly recommended that the card use [LoadIndicator.SPINNER](workspace/add-ons/reference/rpc/google.apps.card.v1#loadindicator) for all actions, as this locks the UI to ensure no changes are made by the user while the action is being processed. Not supported by Google Chat apps. + }, + "card": # Object with schema name: GoogleAppsCardV1Card # A new card is pushed to the card stack after clicking if specified. + "openDynamicLinkAction": { # An action that describes the behavior when the form is submitted. For example, an Apps Script can be invoked to handle the form. # An add-on triggers this action when the action needs to open a link. This differs from the `open_link` above in that this needs to talk to server to get the link. Thus some preparation work is required for web client to do before the open link action response comes back. + "function": "A String", # Apps Script function to invoke when the containing element is clicked/activated. + "loadIndicator": "A String", # Specifies the loading indicator that the action displays while making the call to the action. + "parameters": [ # List of action parameters. + { # List of string parameters to supply when the action method is invoked. For example, consider three snooze buttons: snooze now, snooze 1 day, snooze next week. You might use action method = snooze(), passing the snooze type and snooze time in the list of string parameters. + "key": "A String", # The name of the parameter for the action script. + "value": "A String", # The value of the parameter. + }, + ], + "persistValues": True or False, # Indicates whether form values persist after the action. The default value is `false`. If `true`, form values remain after the action is triggered. When using [LoadIndicator.NONE](workspace/add-ons/reference/rpc/google.apps.card.v1#loadindicator) for actions, `persist_values` = `true`is recommended, as it ensures that any changes made by the user after form or on change actions are sent to the server are not overwritten by the response. If `false`, the form values are cleared when the action is triggered. When `persist_values` is set to `false`, it is strongly recommended that the card use [LoadIndicator.SPINNER](workspace/add-ons/reference/rpc/google.apps.card.v1#loadindicator) for all actions, as this locks the UI to ensure no changes are made by the user while the action is being processed. Not supported by Google Chat apps. + }, + "openLink": { # Represents an `onClick` event that opens a hyperlink. # If specified, this `onClick` triggers an open link action. + "onClose": "A String", # Whether the client forgets about a link after opening it, or observes it until the window closes. Not supported by Chat apps. + "openAs": "A String", # How to open a link. Not supported by Chat apps. + "url": "A String", # The URL to open. + }, + }, + "text": "A String", # The text of the button. + }, + ], + }, + "dateTimePicker": { # The widget that lets users to specify a date and time. Not supported by Google Chat apps. # Displays a selection/input widget for date/time. For example, the following JSON creates a date/time picker for an appointment time: ``` "date_time_picker": { "name": "appointment_time", "label": "Book your appointment at:", "type": "DateTimePickerType.DATE_AND_TIME", "valueMsEpoch": "796435200000" } ``` + "label": "A String", # The label for the field that displays to the user. + "name": "A String", # The name of the text input that's used in `formInput`, and uniquely identifies this input. + "onChangeAction": { # An action that describes the behavior when the form is submitted. For example, an Apps Script can be invoked to handle the form. # Triggered when the user clicks Save or Clear from the date/time picker dialog. This is only triggered if the value changed as a result of the Save/Clear operation. + "function": "A String", # Apps Script function to invoke when the containing element is clicked/activated. + "loadIndicator": "A String", # Specifies the loading indicator that the action displays while making the call to the action. + "parameters": [ # List of action parameters. + { # List of string parameters to supply when the action method is invoked. For example, consider three snooze buttons: snooze now, snooze 1 day, snooze next week. You might use action method = snooze(), passing the snooze type and snooze time in the list of string parameters. + "key": "A String", # The name of the parameter for the action script. + "value": "A String", # The value of the parameter. + }, + ], + "persistValues": True or False, # Indicates whether form values persist after the action. The default value is `false`. If `true`, form values remain after the action is triggered. When using [LoadIndicator.NONE](workspace/add-ons/reference/rpc/google.apps.card.v1#loadindicator) for actions, `persist_values` = `true`is recommended, as it ensures that any changes made by the user after form or on change actions are sent to the server are not overwritten by the response. If `false`, the form values are cleared when the action is triggered. When `persist_values` is set to `false`, it is strongly recommended that the card use [LoadIndicator.SPINNER](workspace/add-ons/reference/rpc/google.apps.card.v1#loadindicator) for all actions, as this locks the UI to ensure no changes are made by the user while the action is being processed. Not supported by Google Chat apps. + }, + "timezoneOffsetDate": 42, # The number representing the time zone offset from UTC, in minutes. If set, the `value_ms_epoch` is displayed in the specified time zone. If not set, it uses the user's time zone setting on the client side. + "type": "A String", # The type of the date/time picker. + "valueMsEpoch": "A String", # The value to display as the default value before user input or previous user input. It is represented in milliseconds (Epoch time). For `DATE_AND_TIME` type, the full epoch value is used. For `DATE_ONLY` type, only date of the epoch time is used. For `TIME_ONLY` type, only time of the epoch time is used. For example, you can set epoch time to `3 * 60 * 60 * 1000` to represent 3am. + }, + "decoratedText": { # A widget that displays text with optional decorations such as a label above or below the text, an icon in front of the text, a selection widget or a button after the text. # Displays a decorated text item in this widget. For example, the following JSON creates a decorated text widget showing email address: ``` "decoratedText": { "icon": { "knownIcon": "EMAIL" }, "topLabel": "Email Address", "content": "sasha@example.com", "bottomLabel": "This is a new Email address!", "switchWidget": { "name": "has_send_welcome_email_to_sasha", "selected": false, "controlType": "ControlType.CHECKBOX" } } ``` + "bottomLabel": "A String", # The formatted text label that shows below the main text. + "button": { # A button. Can be a text button or an image button. # A button that can be clicked to trigger an action. + "altText": "A String", # The alternative text used for accessibility. Has no effect when an icon is set; use `icon.alt_text` instead. + "color": { # Represents a color in the RGBA color space. This representation is designed for simplicity of conversion to/from color representations in various languages over compactness. For example, the fields of this representation can be trivially provided to the constructor of `java.awt.Color` in Java; it can also be trivially provided to UIColor's `+colorWithRed:green:blue:alpha` method in iOS; and, with just a little work, it can be easily formatted into a CSS `rgba()` string in JavaScript. This reference page doesn't carry information about the absolute color space that should be used to interpret the RGB value (e.g. sRGB, Adobe RGB, DCI-P3, BT.2020, etc.). By default, applications should assume the sRGB color space. When color equality needs to be decided, implementations, unless documented otherwise, treat two colors as equal if all their red, green, blue, and alpha values each differ by at most 1e-5. Example (Java): import com.google.type.Color; // ... public static java.awt.Color fromProto(Color protocolor) { float alpha = protocolor.hasAlpha() ? protocolor.getAlpha().getValue() : 1.0; return new java.awt.Color( protocolor.getRed(), protocolor.getGreen(), protocolor.getBlue(), alpha); } public static Color toProto(java.awt.Color color) { float red = (float) color.getRed(); float green = (float) color.getGreen(); float blue = (float) color.getBlue(); float denominator = 255.0; Color.Builder resultBuilder = Color .newBuilder() .setRed(red / denominator) .setGreen(green / denominator) .setBlue(blue / denominator); int alpha = color.getAlpha(); if (alpha != 255) { result.setAlpha( FloatValue .newBuilder() .setValue(((float) alpha) / denominator) .build()); } return resultBuilder.build(); } // ... Example (iOS / Obj-C): // ... static UIColor* fromProto(Color* protocolor) { float red = [protocolor red]; float green = [protocolor green]; float blue = [protocolor blue]; FloatValue* alpha_wrapper = [protocolor alpha]; float alpha = 1.0; if (alpha_wrapper != nil) { alpha = [alpha_wrapper value]; } return [UIColor colorWithRed:red green:green blue:blue alpha:alpha]; } static Color* toProto(UIColor* color) { CGFloat red, green, blue, alpha; if (![color getRed:&red green:&green blue:&blue alpha:&alpha]) { return nil; } Color* result = [[Color alloc] init]; [result setRed:red]; [result setGreen:green]; [result setBlue:blue]; if (alpha <= 0.9999) { [result setAlpha:floatWrapperWithValue(alpha)]; } [result autorelease]; return result; } // ... Example (JavaScript): // ... var protoToCssColor = function(rgb_color) { var redFrac = rgb_color.red || 0.0; var greenFrac = rgb_color.green || 0.0; var blueFrac = rgb_color.blue || 0.0; var red = Math.floor(redFrac * 255); var green = Math.floor(greenFrac * 255); var blue = Math.floor(blueFrac * 255); if (!('alpha' in rgb_color)) { return rgbToCssColor(red, green, blue); } var alphaFrac = rgb_color.alpha.value || 0.0; var rgbParams = [red, green, blue].join(','); return ['rgba(', rgbParams, ',', alphaFrac, ')'].join(''); }; var rgbToCssColor = function(red, green, blue) { var rgbNumber = new Number((red << 16) | (green << 8) | blue); var hexString = rgbNumber.toString(16); var missingZeros = 6 - hexString.length; var resultBuilder = ['#']; for (var i = 0; i < missingZeros; i++) { resultBuilder.push('0'); } resultBuilder.push(hexString); return resultBuilder.join(''); }; // ... # If set, the button is filled with a solid background. + "alpha": 3.14, # The fraction of this color that should be applied to the pixel. That is, the final pixel color is defined by the equation: `pixel color = alpha * (this color) + (1.0 - alpha) * (background color)` This means that a value of 1.0 corresponds to a solid color, whereas a value of 0.0 corresponds to a completely transparent color. This uses a wrapper message rather than a simple float scalar so that it is possible to distinguish between a default value and the value being unset. If omitted, this color object is rendered as a solid color (as if the alpha value had been explicitly given a value of 1.0). + "blue": 3.14, # The amount of blue in the color as a value in the interval [0, 1]. + "green": 3.14, # The amount of green in the color as a value in the interval [0, 1]. + "red": 3.14, # The amount of red in the color as a value in the interval [0, 1]. + }, + "disabled": True or False, # If `true`, the button is displayed in a disabled state and doesn't respond to user actions. + "icon": { # The icon image. + "altText": "A String", # The description of the icon, used for accessibility. The default value is provided if you don't specify one. + "iconUrl": "A String", # The icon specified by a URL. + "imageType": "A String", # The crop style applied to the image. In some cases, applying a `CIRCLE` crop causes the image to be drawn larger than a standard icon. + "knownIcon": "A String", # The icon specified by the string name of a list of known icons. + }, + "onClick": { # Represents the response to an `onClick` event. # The action to perform when the button is clicked. + "action": { # An action that describes the behavior when the form is submitted. For example, an Apps Script can be invoked to handle the form. # If specified, an action is triggered by this `onClick`. + "function": "A String", # Apps Script function to invoke when the containing element is clicked/activated. + "loadIndicator": "A String", # Specifies the loading indicator that the action displays while making the call to the action. + "parameters": [ # List of action parameters. + { # List of string parameters to supply when the action method is invoked. For example, consider three snooze buttons: snooze now, snooze 1 day, snooze next week. You might use action method = snooze(), passing the snooze type and snooze time in the list of string parameters. + "key": "A String", # The name of the parameter for the action script. + "value": "A String", # The value of the parameter. + }, + ], + "persistValues": True or False, # Indicates whether form values persist after the action. The default value is `false`. If `true`, form values remain after the action is triggered. When using [LoadIndicator.NONE](workspace/add-ons/reference/rpc/google.apps.card.v1#loadindicator) for actions, `persist_values` = `true`is recommended, as it ensures that any changes made by the user after form or on change actions are sent to the server are not overwritten by the response. If `false`, the form values are cleared when the action is triggered. When `persist_values` is set to `false`, it is strongly recommended that the card use [LoadIndicator.SPINNER](workspace/add-ons/reference/rpc/google.apps.card.v1#loadindicator) for all actions, as this locks the UI to ensure no changes are made by the user while the action is being processed. Not supported by Google Chat apps. + }, + "card": # Object with schema name: GoogleAppsCardV1Card # A new card is pushed to the card stack after clicking if specified. + "openDynamicLinkAction": { # An action that describes the behavior when the form is submitted. For example, an Apps Script can be invoked to handle the form. # An add-on triggers this action when the action needs to open a link. This differs from the `open_link` above in that this needs to talk to server to get the link. Thus some preparation work is required for web client to do before the open link action response comes back. + "function": "A String", # Apps Script function to invoke when the containing element is clicked/activated. + "loadIndicator": "A String", # Specifies the loading indicator that the action displays while making the call to the action. + "parameters": [ # List of action parameters. + { # List of string parameters to supply when the action method is invoked. For example, consider three snooze buttons: snooze now, snooze 1 day, snooze next week. You might use action method = snooze(), passing the snooze type and snooze time in the list of string parameters. + "key": "A String", # The name of the parameter for the action script. + "value": "A String", # The value of the parameter. + }, + ], + "persistValues": True or False, # Indicates whether form values persist after the action. The default value is `false`. If `true`, form values remain after the action is triggered. When using [LoadIndicator.NONE](workspace/add-ons/reference/rpc/google.apps.card.v1#loadindicator) for actions, `persist_values` = `true`is recommended, as it ensures that any changes made by the user after form or on change actions are sent to the server are not overwritten by the response. If `false`, the form values are cleared when the action is triggered. When `persist_values` is set to `false`, it is strongly recommended that the card use [LoadIndicator.SPINNER](workspace/add-ons/reference/rpc/google.apps.card.v1#loadindicator) for all actions, as this locks the UI to ensure no changes are made by the user while the action is being processed. Not supported by Google Chat apps. + }, + "openLink": { # Represents an `onClick` event that opens a hyperlink. # If specified, this `onClick` triggers an open link action. + "onClose": "A String", # Whether the client forgets about a link after opening it, or observes it until the window closes. Not supported by Chat apps. + "openAs": "A String", # How to open a link. Not supported by Chat apps. + "url": "A String", # The URL to open. + }, + }, + "text": "A String", # The text of the button. + }, + "endIcon": { # An icon displayed after the text. + "altText": "A String", # The description of the icon, used for accessibility. The default value is provided if you don't specify one. + "iconUrl": "A String", # The icon specified by a URL. + "imageType": "A String", # The crop style applied to the image. In some cases, applying a `CIRCLE` crop causes the image to be drawn larger than a standard icon. + "knownIcon": "A String", # The icon specified by the string name of a list of known icons. + }, + "icon": { # Deprecated in favor of start_icon. + "altText": "A String", # The description of the icon, used for accessibility. The default value is provided if you don't specify one. + "iconUrl": "A String", # The icon specified by a URL. + "imageType": "A String", # The crop style applied to the image. In some cases, applying a `CIRCLE` crop causes the image to be drawn larger than a standard icon. + "knownIcon": "A String", # The icon specified by the string name of a list of known icons. + }, + "onClick": { # Represents the response to an `onClick` event. # Only the top and bottom label and content region are clickable. + "action": { # An action that describes the behavior when the form is submitted. For example, an Apps Script can be invoked to handle the form. # If specified, an action is triggered by this `onClick`. + "function": "A String", # Apps Script function to invoke when the containing element is clicked/activated. + "loadIndicator": "A String", # Specifies the loading indicator that the action displays while making the call to the action. + "parameters": [ # List of action parameters. + { # List of string parameters to supply when the action method is invoked. For example, consider three snooze buttons: snooze now, snooze 1 day, snooze next week. You might use action method = snooze(), passing the snooze type and snooze time in the list of string parameters. + "key": "A String", # The name of the parameter for the action script. + "value": "A String", # The value of the parameter. + }, + ], + "persistValues": True or False, # Indicates whether form values persist after the action. The default value is `false`. If `true`, form values remain after the action is triggered. When using [LoadIndicator.NONE](workspace/add-ons/reference/rpc/google.apps.card.v1#loadindicator) for actions, `persist_values` = `true`is recommended, as it ensures that any changes made by the user after form or on change actions are sent to the server are not overwritten by the response. If `false`, the form values are cleared when the action is triggered. When `persist_values` is set to `false`, it is strongly recommended that the card use [LoadIndicator.SPINNER](workspace/add-ons/reference/rpc/google.apps.card.v1#loadindicator) for all actions, as this locks the UI to ensure no changes are made by the user while the action is being processed. Not supported by Google Chat apps. + }, + "card": # Object with schema name: GoogleAppsCardV1Card # A new card is pushed to the card stack after clicking if specified. + "openDynamicLinkAction": { # An action that describes the behavior when the form is submitted. For example, an Apps Script can be invoked to handle the form. # An add-on triggers this action when the action needs to open a link. This differs from the `open_link` above in that this needs to talk to server to get the link. Thus some preparation work is required for web client to do before the open link action response comes back. + "function": "A String", # Apps Script function to invoke when the containing element is clicked/activated. + "loadIndicator": "A String", # Specifies the loading indicator that the action displays while making the call to the action. + "parameters": [ # List of action parameters. + { # List of string parameters to supply when the action method is invoked. For example, consider three snooze buttons: snooze now, snooze 1 day, snooze next week. You might use action method = snooze(), passing the snooze type and snooze time in the list of string parameters. + "key": "A String", # The name of the parameter for the action script. + "value": "A String", # The value of the parameter. + }, + ], + "persistValues": True or False, # Indicates whether form values persist after the action. The default value is `false`. If `true`, form values remain after the action is triggered. When using [LoadIndicator.NONE](workspace/add-ons/reference/rpc/google.apps.card.v1#loadindicator) for actions, `persist_values` = `true`is recommended, as it ensures that any changes made by the user after form or on change actions are sent to the server are not overwritten by the response. If `false`, the form values are cleared when the action is triggered. When `persist_values` is set to `false`, it is strongly recommended that the card use [LoadIndicator.SPINNER](workspace/add-ons/reference/rpc/google.apps.card.v1#loadindicator) for all actions, as this locks the UI to ensure no changes are made by the user while the action is being processed. Not supported by Google Chat apps. + }, + "openLink": { # Represents an `onClick` event that opens a hyperlink. # If specified, this `onClick` triggers an open link action. + "onClose": "A String", # Whether the client forgets about a link after opening it, or observes it until the window closes. Not supported by Chat apps. + "openAs": "A String", # How to open a link. Not supported by Chat apps. + "url": "A String", # The URL to open. + }, + }, + "startIcon": { # The icon displayed in front of the text. + "altText": "A String", # The description of the icon, used for accessibility. The default value is provided if you don't specify one. + "iconUrl": "A String", # The icon specified by a URL. + "imageType": "A String", # The crop style applied to the image. In some cases, applying a `CIRCLE` crop causes the image to be drawn larger than a standard icon. + "knownIcon": "A String", # The icon specified by the string name of a list of known icons. + }, + "switchControl": { # Either a toggle-style switch or a checkbox. # A switch widget can be clicked to change its state or trigger an action. + "controlType": "A String", # The control type, either switch or checkbox. + "name": "A String", # The name of the switch widget that's used in `formInput`. + "onChangeAction": { # An action that describes the behavior when the form is submitted. For example, an Apps Script can be invoked to handle the form. # The action when the switch state is changed. + "function": "A String", # Apps Script function to invoke when the containing element is clicked/activated. + "loadIndicator": "A String", # Specifies the loading indicator that the action displays while making the call to the action. + "parameters": [ # List of action parameters. + { # List of string parameters to supply when the action method is invoked. For example, consider three snooze buttons: snooze now, snooze 1 day, snooze next week. You might use action method = snooze(), passing the snooze type and snooze time in the list of string parameters. + "key": "A String", # The name of the parameter for the action script. + "value": "A String", # The value of the parameter. + }, + ], + "persistValues": True or False, # Indicates whether form values persist after the action. The default value is `false`. If `true`, form values remain after the action is triggered. When using [LoadIndicator.NONE](workspace/add-ons/reference/rpc/google.apps.card.v1#loadindicator) for actions, `persist_values` = `true`is recommended, as it ensures that any changes made by the user after form or on change actions are sent to the server are not overwritten by the response. If `false`, the form values are cleared when the action is triggered. When `persist_values` is set to `false`, it is strongly recommended that the card use [LoadIndicator.SPINNER](workspace/add-ons/reference/rpc/google.apps.card.v1#loadindicator) for all actions, as this locks the UI to ensure no changes are made by the user while the action is being processed. Not supported by Google Chat apps. + }, + "selected": True or False, # If the switch is selected. + "value": "A String", # The value is what is passed back in the callback. + }, + "text": "A String", # Required. The main widget formatted text. See Text formatting for details. + "topLabel": "A String", # The formatted text label that shows above the main text. + "wrapText": True or False, # The wrap text setting. If `true`, the text is wrapped and displayed in multiline. Otherwise, the text is truncated. + }, + "divider": { # A divider that appears in between widgets. # Displays a divider. For example, the following JSON creates a divider: ``` "divider": { } ``` + }, + "grid": { # Represents a Grid widget that displays items in a configurable grid layout. # Displays a grid with a collection of items. For example, the following JSON creates a 2 column grid with a single item: ``` "grid": { "title": "A fine collection of items", "numColumns": 2, "borderStyle": { "type": "STROKE", "cornerRadius": 4.0 }, "items": [ "image": { "imageUri": "https://www.example.com/image.png", "cropStyle": { "type": "SQUARE" }, "borderStyle": { "type": "STROKE" } }, "title": "An item", "textAlignment": "CENTER" ], "onClick": { "openLink": { "url":"https://www.example.com" } } } ``` + "borderStyle": { # Represents the complete border style applied to widgets. # The border style to apply to each grid item. + "cornerRadius": 42, # The corner radius for the border. + "strokeColor": { # Represents a color in the RGBA color space. This representation is designed for simplicity of conversion to/from color representations in various languages over compactness. For example, the fields of this representation can be trivially provided to the constructor of `java.awt.Color` in Java; it can also be trivially provided to UIColor's `+colorWithRed:green:blue:alpha` method in iOS; and, with just a little work, it can be easily formatted into a CSS `rgba()` string in JavaScript. This reference page doesn't carry information about the absolute color space that should be used to interpret the RGB value (e.g. sRGB, Adobe RGB, DCI-P3, BT.2020, etc.). By default, applications should assume the sRGB color space. When color equality needs to be decided, implementations, unless documented otherwise, treat two colors as equal if all their red, green, blue, and alpha values each differ by at most 1e-5. Example (Java): import com.google.type.Color; // ... public static java.awt.Color fromProto(Color protocolor) { float alpha = protocolor.hasAlpha() ? protocolor.getAlpha().getValue() : 1.0; return new java.awt.Color( protocolor.getRed(), protocolor.getGreen(), protocolor.getBlue(), alpha); } public static Color toProto(java.awt.Color color) { float red = (float) color.getRed(); float green = (float) color.getGreen(); float blue = (float) color.getBlue(); float denominator = 255.0; Color.Builder resultBuilder = Color .newBuilder() .setRed(red / denominator) .setGreen(green / denominator) .setBlue(blue / denominator); int alpha = color.getAlpha(); if (alpha != 255) { result.setAlpha( FloatValue .newBuilder() .setValue(((float) alpha) / denominator) .build()); } return resultBuilder.build(); } // ... Example (iOS / Obj-C): // ... static UIColor* fromProto(Color* protocolor) { float red = [protocolor red]; float green = [protocolor green]; float blue = [protocolor blue]; FloatValue* alpha_wrapper = [protocolor alpha]; float alpha = 1.0; if (alpha_wrapper != nil) { alpha = [alpha_wrapper value]; } return [UIColor colorWithRed:red green:green blue:blue alpha:alpha]; } static Color* toProto(UIColor* color) { CGFloat red, green, blue, alpha; if (![color getRed:&red green:&green blue:&blue alpha:&alpha]) { return nil; } Color* result = [[Color alloc] init]; [result setRed:red]; [result setGreen:green]; [result setBlue:blue]; if (alpha <= 0.9999) { [result setAlpha:floatWrapperWithValue(alpha)]; } [result autorelease]; return result; } // ... Example (JavaScript): // ... var protoToCssColor = function(rgb_color) { var redFrac = rgb_color.red || 0.0; var greenFrac = rgb_color.green || 0.0; var blueFrac = rgb_color.blue || 0.0; var red = Math.floor(redFrac * 255); var green = Math.floor(greenFrac * 255); var blue = Math.floor(blueFrac * 255); if (!('alpha' in rgb_color)) { return rgbToCssColor(red, green, blue); } var alphaFrac = rgb_color.alpha.value || 0.0; var rgbParams = [red, green, blue].join(','); return ['rgba(', rgbParams, ',', alphaFrac, ')'].join(''); }; var rgbToCssColor = function(red, green, blue) { var rgbNumber = new Number((red << 16) | (green << 8) | blue); var hexString = rgbNumber.toString(16); var missingZeros = 6 - hexString.length; var resultBuilder = ['#']; for (var i = 0; i < missingZeros; i++) { resultBuilder.push('0'); } resultBuilder.push(hexString); return resultBuilder.join(''); }; // ... # The colors to use when the type is `BORDER_TYPE_STROKE`. + "alpha": 3.14, # The fraction of this color that should be applied to the pixel. That is, the final pixel color is defined by the equation: `pixel color = alpha * (this color) + (1.0 - alpha) * (background color)` This means that a value of 1.0 corresponds to a solid color, whereas a value of 0.0 corresponds to a completely transparent color. This uses a wrapper message rather than a simple float scalar so that it is possible to distinguish between a default value and the value being unset. If omitted, this color object is rendered as a solid color (as if the alpha value had been explicitly given a value of 1.0). + "blue": 3.14, # The amount of blue in the color as a value in the interval [0, 1]. + "green": 3.14, # The amount of green in the color as a value in the interval [0, 1]. + "red": 3.14, # The amount of red in the color as a value in the interval [0, 1]. + }, + "type": "A String", # The border type. + }, + "columnCount": 42, # The number of columns to display in the grid. A default value is used if this field isn't specified, and that default value is different depending on where the grid is shown (dialog versus companion). + "items": [ # The items to display in the grid. + { # Represents a single item in the grid layout. + "id": "A String", # A user-specified identifier for this grid item. This identifier is returned in the parent Grid's onClick callback parameters. + "image": { # Represents an image. # The image that displays in the grid item. + "altText": "A String", # The accessibility label for the image. + "borderStyle": { # Represents the complete border style applied to widgets. # The border style to apply to the image. + "cornerRadius": 42, # The corner radius for the border. + "strokeColor": { # Represents a color in the RGBA color space. This representation is designed for simplicity of conversion to/from color representations in various languages over compactness. For example, the fields of this representation can be trivially provided to the constructor of `java.awt.Color` in Java; it can also be trivially provided to UIColor's `+colorWithRed:green:blue:alpha` method in iOS; and, with just a little work, it can be easily formatted into a CSS `rgba()` string in JavaScript. This reference page doesn't carry information about the absolute color space that should be used to interpret the RGB value (e.g. sRGB, Adobe RGB, DCI-P3, BT.2020, etc.). By default, applications should assume the sRGB color space. When color equality needs to be decided, implementations, unless documented otherwise, treat two colors as equal if all their red, green, blue, and alpha values each differ by at most 1e-5. Example (Java): import com.google.type.Color; // ... public static java.awt.Color fromProto(Color protocolor) { float alpha = protocolor.hasAlpha() ? protocolor.getAlpha().getValue() : 1.0; return new java.awt.Color( protocolor.getRed(), protocolor.getGreen(), protocolor.getBlue(), alpha); } public static Color toProto(java.awt.Color color) { float red = (float) color.getRed(); float green = (float) color.getGreen(); float blue = (float) color.getBlue(); float denominator = 255.0; Color.Builder resultBuilder = Color .newBuilder() .setRed(red / denominator) .setGreen(green / denominator) .setBlue(blue / denominator); int alpha = color.getAlpha(); if (alpha != 255) { result.setAlpha( FloatValue .newBuilder() .setValue(((float) alpha) / denominator) .build()); } return resultBuilder.build(); } // ... Example (iOS / Obj-C): // ... static UIColor* fromProto(Color* protocolor) { float red = [protocolor red]; float green = [protocolor green]; float blue = [protocolor blue]; FloatValue* alpha_wrapper = [protocolor alpha]; float alpha = 1.0; if (alpha_wrapper != nil) { alpha = [alpha_wrapper value]; } return [UIColor colorWithRed:red green:green blue:blue alpha:alpha]; } static Color* toProto(UIColor* color) { CGFloat red, green, blue, alpha; if (![color getRed:&red green:&green blue:&blue alpha:&alpha]) { return nil; } Color* result = [[Color alloc] init]; [result setRed:red]; [result setGreen:green]; [result setBlue:blue]; if (alpha <= 0.9999) { [result setAlpha:floatWrapperWithValue(alpha)]; } [result autorelease]; return result; } // ... Example (JavaScript): // ... var protoToCssColor = function(rgb_color) { var redFrac = rgb_color.red || 0.0; var greenFrac = rgb_color.green || 0.0; var blueFrac = rgb_color.blue || 0.0; var red = Math.floor(redFrac * 255); var green = Math.floor(greenFrac * 255); var blue = Math.floor(blueFrac * 255); if (!('alpha' in rgb_color)) { return rgbToCssColor(red, green, blue); } var alphaFrac = rgb_color.alpha.value || 0.0; var rgbParams = [red, green, blue].join(','); return ['rgba(', rgbParams, ',', alphaFrac, ')'].join(''); }; var rgbToCssColor = function(red, green, blue) { var rgbNumber = new Number((red << 16) | (green << 8) | blue); var hexString = rgbNumber.toString(16); var missingZeros = 6 - hexString.length; var resultBuilder = ['#']; for (var i = 0; i < missingZeros; i++) { resultBuilder.push('0'); } resultBuilder.push(hexString); return resultBuilder.join(''); }; // ... # The colors to use when the type is `BORDER_TYPE_STROKE`. + "alpha": 3.14, # The fraction of this color that should be applied to the pixel. That is, the final pixel color is defined by the equation: `pixel color = alpha * (this color) + (1.0 - alpha) * (background color)` This means that a value of 1.0 corresponds to a solid color, whereas a value of 0.0 corresponds to a completely transparent color. This uses a wrapper message rather than a simple float scalar so that it is possible to distinguish between a default value and the value being unset. If omitted, this color object is rendered as a solid color (as if the alpha value had been explicitly given a value of 1.0). + "blue": 3.14, # The amount of blue in the color as a value in the interval [0, 1]. + "green": 3.14, # The amount of green in the color as a value in the interval [0, 1]. + "red": 3.14, # The amount of red in the color as a value in the interval [0, 1]. + }, + "type": "A String", # The border type. + }, + "cropStyle": { # Represents the crop style applied to an image. # The crop style to apply to the image. + "aspectRatio": 3.14, # The aspect ratio to use if the crop type is `RECTANGLE_CUSTOM`. + "type": "A String", # The crop type. + }, + "imageUri": "A String", # The image URL. + }, + "layout": "A String", # The layout to use for the grid item. + "subtitle": "A String", # The grid item's subtitle. + "textAlignment": "A String", # The horizontal alignment of the grid item's text. + "title": "A String", # The grid item's title. + }, + ], + "onClick": { # Represents the response to an `onClick` event. # This callback is reused by each individual grid item, but with the item's identifier and index in the items list added to the callback's parameters. + "action": { # An action that describes the behavior when the form is submitted. For example, an Apps Script can be invoked to handle the form. # If specified, an action is triggered by this `onClick`. + "function": "A String", # Apps Script function to invoke when the containing element is clicked/activated. + "loadIndicator": "A String", # Specifies the loading indicator that the action displays while making the call to the action. + "parameters": [ # List of action parameters. + { # List of string parameters to supply when the action method is invoked. For example, consider three snooze buttons: snooze now, snooze 1 day, snooze next week. You might use action method = snooze(), passing the snooze type and snooze time in the list of string parameters. + "key": "A String", # The name of the parameter for the action script. + "value": "A String", # The value of the parameter. + }, + ], + "persistValues": True or False, # Indicates whether form values persist after the action. The default value is `false`. If `true`, form values remain after the action is triggered. When using [LoadIndicator.NONE](workspace/add-ons/reference/rpc/google.apps.card.v1#loadindicator) for actions, `persist_values` = `true`is recommended, as it ensures that any changes made by the user after form or on change actions are sent to the server are not overwritten by the response. If `false`, the form values are cleared when the action is triggered. When `persist_values` is set to `false`, it is strongly recommended that the card use [LoadIndicator.SPINNER](workspace/add-ons/reference/rpc/google.apps.card.v1#loadindicator) for all actions, as this locks the UI to ensure no changes are made by the user while the action is being processed. Not supported by Google Chat apps. + }, + "card": # Object with schema name: GoogleAppsCardV1Card # A new card is pushed to the card stack after clicking if specified. + "openDynamicLinkAction": { # An action that describes the behavior when the form is submitted. For example, an Apps Script can be invoked to handle the form. # An add-on triggers this action when the action needs to open a link. This differs from the `open_link` above in that this needs to talk to server to get the link. Thus some preparation work is required for web client to do before the open link action response comes back. + "function": "A String", # Apps Script function to invoke when the containing element is clicked/activated. + "loadIndicator": "A String", # Specifies the loading indicator that the action displays while making the call to the action. + "parameters": [ # List of action parameters. + { # List of string parameters to supply when the action method is invoked. For example, consider three snooze buttons: snooze now, snooze 1 day, snooze next week. You might use action method = snooze(), passing the snooze type and snooze time in the list of string parameters. + "key": "A String", # The name of the parameter for the action script. + "value": "A String", # The value of the parameter. + }, + ], + "persistValues": True or False, # Indicates whether form values persist after the action. The default value is `false`. If `true`, form values remain after the action is triggered. When using [LoadIndicator.NONE](workspace/add-ons/reference/rpc/google.apps.card.v1#loadindicator) for actions, `persist_values` = `true`is recommended, as it ensures that any changes made by the user after form or on change actions are sent to the server are not overwritten by the response. If `false`, the form values are cleared when the action is triggered. When `persist_values` is set to `false`, it is strongly recommended that the card use [LoadIndicator.SPINNER](workspace/add-ons/reference/rpc/google.apps.card.v1#loadindicator) for all actions, as this locks the UI to ensure no changes are made by the user while the action is being processed. Not supported by Google Chat apps. + }, + "openLink": { # Represents an `onClick` event that opens a hyperlink. # If specified, this `onClick` triggers an open link action. + "onClose": "A String", # Whether the client forgets about a link after opening it, or observes it until the window closes. Not supported by Chat apps. + "openAs": "A String", # How to open a link. Not supported by Chat apps. + "url": "A String", # The URL to open. + }, + }, + "title": "A String", # The text that displays in the grid header. + }, + "horizontalAlignment": "A String", # The horizontal alignment of this widget. + "image": { # An image that is specified by a URL and can have an `onClick` action. # Displays an image in this widget. For example, the following JSON creates an image with alternative text: ``` "image": { "imageUrl": "https://example.com/sasha.png" "altText": "Avatar for Sasha" } ``` + "altText": "A String", # The alternative text of this image, used for accessibility. + "imageUrl": "A String", # An image URL. + "onClick": { # Represents the response to an `onClick` event. # The action triggered by an `onClick` event. + "action": { # An action that describes the behavior when the form is submitted. For example, an Apps Script can be invoked to handle the form. # If specified, an action is triggered by this `onClick`. + "function": "A String", # Apps Script function to invoke when the containing element is clicked/activated. + "loadIndicator": "A String", # Specifies the loading indicator that the action displays while making the call to the action. + "parameters": [ # List of action parameters. + { # List of string parameters to supply when the action method is invoked. For example, consider three snooze buttons: snooze now, snooze 1 day, snooze next week. You might use action method = snooze(), passing the snooze type and snooze time in the list of string parameters. + "key": "A String", # The name of the parameter for the action script. + "value": "A String", # The value of the parameter. + }, + ], + "persistValues": True or False, # Indicates whether form values persist after the action. The default value is `false`. If `true`, form values remain after the action is triggered. When using [LoadIndicator.NONE](workspace/add-ons/reference/rpc/google.apps.card.v1#loadindicator) for actions, `persist_values` = `true`is recommended, as it ensures that any changes made by the user after form or on change actions are sent to the server are not overwritten by the response. If `false`, the form values are cleared when the action is triggered. When `persist_values` is set to `false`, it is strongly recommended that the card use [LoadIndicator.SPINNER](workspace/add-ons/reference/rpc/google.apps.card.v1#loadindicator) for all actions, as this locks the UI to ensure no changes are made by the user while the action is being processed. Not supported by Google Chat apps. + }, + "card": # Object with schema name: GoogleAppsCardV1Card # A new card is pushed to the card stack after clicking if specified. + "openDynamicLinkAction": { # An action that describes the behavior when the form is submitted. For example, an Apps Script can be invoked to handle the form. # An add-on triggers this action when the action needs to open a link. This differs from the `open_link` above in that this needs to talk to server to get the link. Thus some preparation work is required for web client to do before the open link action response comes back. + "function": "A String", # Apps Script function to invoke when the containing element is clicked/activated. + "loadIndicator": "A String", # Specifies the loading indicator that the action displays while making the call to the action. + "parameters": [ # List of action parameters. + { # List of string parameters to supply when the action method is invoked. For example, consider three snooze buttons: snooze now, snooze 1 day, snooze next week. You might use action method = snooze(), passing the snooze type and snooze time in the list of string parameters. + "key": "A String", # The name of the parameter for the action script. + "value": "A String", # The value of the parameter. + }, + ], + "persistValues": True or False, # Indicates whether form values persist after the action. The default value is `false`. If `true`, form values remain after the action is triggered. When using [LoadIndicator.NONE](workspace/add-ons/reference/rpc/google.apps.card.v1#loadindicator) for actions, `persist_values` = `true`is recommended, as it ensures that any changes made by the user after form or on change actions are sent to the server are not overwritten by the response. If `false`, the form values are cleared when the action is triggered. When `persist_values` is set to `false`, it is strongly recommended that the card use [LoadIndicator.SPINNER](workspace/add-ons/reference/rpc/google.apps.card.v1#loadindicator) for all actions, as this locks the UI to ensure no changes are made by the user while the action is being processed. Not supported by Google Chat apps. + }, + "openLink": { # Represents an `onClick` event that opens a hyperlink. # If specified, this `onClick` triggers an open link action. + "onClose": "A String", # Whether the client forgets about a link after opening it, or observes it until the window closes. Not supported by Chat apps. + "openAs": "A String", # How to open a link. Not supported by Chat apps. + "url": "A String", # The URL to open. + }, + }, + }, + "selectionInput": { # A widget that creates a UI item with options for users to select. For example, a dropdown menu. # Displays a switch control in this widget. For example, the following JSON creates a dropdown selection for size: ``` "switchControl": { "name": "size", "label": "Size" "type": "SelectionType.DROPDOWN", "items": [ { "text": "S", "value": "small", "selected": false }, { "text": "M", "value": "medium", "selected": true }, { "text": "L", "value": "large", "selected": false }, { "text": "XL", "value": "extra_large", "selected": false } ] } ``` + "items": [ # An array of the selected items. + { # A selectable item in the switch control. + "selected": True or False, # If more than one item is selected for `RADIO_BUTTON` and `DROPDOWN`, the first selected item is treated as selected and the ones after are ignored. + "text": "A String", # The text to be displayed. + "value": "A String", # The value associated with this item. The client should use this as a form input value. + }, + ], + "label": "A String", # The label displayed ahead of the switch control. + "name": "A String", # The name of the text input which is used in `formInput`. + "onChangeAction": { # An action that describes the behavior when the form is submitted. For example, an Apps Script can be invoked to handle the form. # If specified, the form is submitted when the selection changes. If not specified, you must specify a separate button. + "function": "A String", # Apps Script function to invoke when the containing element is clicked/activated. + "loadIndicator": "A String", # Specifies the loading indicator that the action displays while making the call to the action. + "parameters": [ # List of action parameters. + { # List of string parameters to supply when the action method is invoked. For example, consider three snooze buttons: snooze now, snooze 1 day, snooze next week. You might use action method = snooze(), passing the snooze type and snooze time in the list of string parameters. + "key": "A String", # The name of the parameter for the action script. + "value": "A String", # The value of the parameter. + }, + ], + "persistValues": True or False, # Indicates whether form values persist after the action. The default value is `false`. If `true`, form values remain after the action is triggered. When using [LoadIndicator.NONE](workspace/add-ons/reference/rpc/google.apps.card.v1#loadindicator) for actions, `persist_values` = `true`is recommended, as it ensures that any changes made by the user after form or on change actions are sent to the server are not overwritten by the response. If `false`, the form values are cleared when the action is triggered. When `persist_values` is set to `false`, it is strongly recommended that the card use [LoadIndicator.SPINNER](workspace/add-ons/reference/rpc/google.apps.card.v1#loadindicator) for all actions, as this locks the UI to ensure no changes are made by the user while the action is being processed. Not supported by Google Chat apps. + }, + "type": "A String", # The type of the selection. + }, + "textInput": { # A text input is a UI item where users can input text. A text input can also have an onChange action and suggestions. # Displays a text input in this widget. For example, the following JSON creates a text input for mail address: ``` "textInput": { "name": "mailing_address", "label": "Mailing Address" } ``` As another example, the following JSON creates a text input for programming language with static suggestions: ``` "textInput": { "name": "preferred_programing_language", "label": "Preferred Language", "initialSuggestions": { "items": [ { "text": "C++" }, { "text": "Java" }, { "text": "JavaScript" }, { "text": "Python" } ] } } ``` + "autoCompleteAction": { # An action that describes the behavior when the form is submitted. For example, an Apps Script can be invoked to handle the form. # The refresh function that returns suggestions based on the user's input text. If the callback is not specified, autocomplete is done in client side based on the initial suggestion items. + "function": "A String", # Apps Script function to invoke when the containing element is clicked/activated. + "loadIndicator": "A String", # Specifies the loading indicator that the action displays while making the call to the action. + "parameters": [ # List of action parameters. + { # List of string parameters to supply when the action method is invoked. For example, consider three snooze buttons: snooze now, snooze 1 day, snooze next week. You might use action method = snooze(), passing the snooze type and snooze time in the list of string parameters. + "key": "A String", # The name of the parameter for the action script. + "value": "A String", # The value of the parameter. + }, + ], + "persistValues": True or False, # Indicates whether form values persist after the action. The default value is `false`. If `true`, form values remain after the action is triggered. When using [LoadIndicator.NONE](workspace/add-ons/reference/rpc/google.apps.card.v1#loadindicator) for actions, `persist_values` = `true`is recommended, as it ensures that any changes made by the user after form or on change actions are sent to the server are not overwritten by the response. If `false`, the form values are cleared when the action is triggered. When `persist_values` is set to `false`, it is strongly recommended that the card use [LoadIndicator.SPINNER](workspace/add-ons/reference/rpc/google.apps.card.v1#loadindicator) for all actions, as this locks the UI to ensure no changes are made by the user while the action is being processed. Not supported by Google Chat apps. + }, + "hintText": "A String", # The hint text. + "initialSuggestions": { # A container wrapping elements necessary for showing suggestion items used in text input autocomplete. # The initial suggestions made before any user input. + "items": [ # A list of suggestions used for autocomplete recommendations. + { # A suggestion item. + "text": "A String", # The suggested autocomplete result. + }, + ], + }, + "label": "A String", # At least one of label and hintText must be specified. + "name": "A String", # The name of the text input which is used in `formInput`. + "onChangeAction": { # An action that describes the behavior when the form is submitted. For example, an Apps Script can be invoked to handle the form. # The onChange action, for example, invoke a function. + "function": "A String", # Apps Script function to invoke when the containing element is clicked/activated. + "loadIndicator": "A String", # Specifies the loading indicator that the action displays while making the call to the action. + "parameters": [ # List of action parameters. + { # List of string parameters to supply when the action method is invoked. For example, consider three snooze buttons: snooze now, snooze 1 day, snooze next week. You might use action method = snooze(), passing the snooze type and snooze time in the list of string parameters. + "key": "A String", # The name of the parameter for the action script. + "value": "A String", # The value of the parameter. + }, + ], + "persistValues": True or False, # Indicates whether form values persist after the action. The default value is `false`. If `true`, form values remain after the action is triggered. When using [LoadIndicator.NONE](workspace/add-ons/reference/rpc/google.apps.card.v1#loadindicator) for actions, `persist_values` = `true`is recommended, as it ensures that any changes made by the user after form or on change actions are sent to the server are not overwritten by the response. If `false`, the form values are cleared when the action is triggered. When `persist_values` is set to `false`, it is strongly recommended that the card use [LoadIndicator.SPINNER](workspace/add-ons/reference/rpc/google.apps.card.v1#loadindicator) for all actions, as this locks the UI to ensure no changes are made by the user while the action is being processed. Not supported by Google Chat apps. + }, + "type": "A String", # The style of the text, for example, a single line or multiple lines. + "value": "A String", # The default value when there is no input from the user. + }, + "textParagraph": { # A paragraph of text that supports formatting. See [Text formatting](workspace/add-ons/concepts/widgets#text_formatting) for details. # Displays a text paragraph in this widget. For example, the following JSON creates a bolded text: ``` "textParagraph": { "text": " *bold text*" } ``` + "text": "A String", # The text that's shown in the widget. + }, + }, + ], + }, + ], + }, + "cardId": "A String", # Required for `cardsV2` messages. Chat app-specified identifier for this widget. Scoped within a message. + }, + ], "createTime": "A String", # Output only. The time at which the message was created in Google Chat server. "fallbackText": "A String", # A plain-text description of the message's cards, used when the actual cards cannot be displayed (e.g. mobile notifications). "lastUpdateTime": "A String", # Output only. The time at which the message was last edited by a user. If the message has never been edited, this field is empty. @@ -3192,8 +5292,12 @@

Method Details

"displayName": "A String", # The space's display name. For direct messages between humans, this field might be empty. "name": "A String", # Resource name of the space. Format: spaces/{space} "singleUserBotDm": True or False, # Output only. Whether the space is a DM between a Chat app and a single human. + "spaceDetails": { # Details about the space including description and rules. # Details about the space including description and rules. + "description": "A String", # Optional. A description of the space. It could describe the space's discussion topic, functional purpose, or participants. + "guidelines": "A String", # Optional. The space's rules, expectations, and etiquette. + }, "threaded": True or False, # Output only. Whether messages are threaded in this space. - "type": "A String", # Output only. Deprecated: Use `single_user_bot_dm` or `space_type` (developer preview) instead. The type of a space. + "type": "A String", # Output only. Deprecated: Use `singleUserBotDm` or `spaceType` (developer preview) instead. The type of a space. }, "text": "A String", # Plain-text body of the message. The first link to an image, video, web page, or other preview-able item generates a preview chip. "thread": { # A thread in Google Chat. # The thread the message belongs to. diff --git a/docs/dyn/chat_v1.spaces.html b/docs/dyn/chat_v1.spaces.html index 6bcce777fa5..b62d44d4e57 100644 --- a/docs/dyn/chat_v1.spaces.html +++ b/docs/dyn/chat_v1.spaces.html @@ -123,8 +123,12 @@

Method Details

"displayName": "A String", # The space's display name. For direct messages between humans, this field might be empty. "name": "A String", # Resource name of the space. Format: spaces/{space} "singleUserBotDm": True or False, # Output only. Whether the space is a DM between a Chat app and a single human. + "spaceDetails": { # Details about the space including description and rules. # Details about the space including description and rules. + "description": "A String", # Optional. A description of the space. It could describe the space's discussion topic, functional purpose, or participants. + "guidelines": "A String", # Optional. The space's rules, expectations, and etiquette. + }, "threaded": True or False, # Output only. Whether messages are threaded in this space. - "type": "A String", # Output only. Deprecated: Use `single_user_bot_dm` or `space_type` (developer preview) instead. The type of a space. + "type": "A String", # Output only. Deprecated: Use `singleUserBotDm` or `spaceType` (developer preview) instead. The type of a space. }
@@ -150,8 +154,12 @@

Method Details

"displayName": "A String", # The space's display name. For direct messages between humans, this field might be empty. "name": "A String", # Resource name of the space. Format: spaces/{space} "singleUserBotDm": True or False, # Output only. Whether the space is a DM between a Chat app and a single human. + "spaceDetails": { # Details about the space including description and rules. # Details about the space including description and rules. + "description": "A String", # Optional. A description of the space. It could describe the space's discussion topic, functional purpose, or participants. + "guidelines": "A String", # Optional. The space's rules, expectations, and etiquette. + }, "threaded": True or False, # Output only. Whether messages are threaded in this space. - "type": "A String", # Output only. Deprecated: Use `single_user_bot_dm` or `space_type` (developer preview) instead. The type of a space. + "type": "A String", # Output only. Deprecated: Use `singleUserBotDm` or `spaceType` (developer preview) instead. The type of a space. }, ], } @@ -917,6 +925,528 @@

Method Details

], }, ], + "cardsV2": [ # Richly formatted and interactive cards that display UI elements and editable widgets, such as: - Formatted text - Buttons - Clickable images - Checkboxes - Radio buttons - Input widgets. Cards are usually displayed below the text-body of a Chat message, but can situationally appear other places, such as [dialogs](https://developers.google.com/chat/how-tos/dialogs). The `cardId` is a unique identifier among cards in the same message and for identifying user input values. Currently supported widgets include: - `TextParagraph` - `DecoratedText` - `Image` - `ButtonList` + { # Widgets for Chat apps to specify. + "card": { # A card is a UI element that can contain UI widgets such as text and images. For more information, see Cards . For example, the following JSON creates a card that has a header with the name, position, icons, and link for a contact, followed by a section with contact information like email and phone number. ``` { "header": { "title": "Sasha", "subtitle": "Software Engineer", "imageStyle": "ImageStyle.AVATAR", "imageUrl": "https://example.com/sasha.png", "imageAltText": "Avatar for Sasha" }, "sections" : [ { "header": "Contact Info", "widgets": [ { "decorated_text": { "icon": { "knownIcon": "EMAIL" }, "content": "sasha@example.com" } }, { "decoratedText": { "icon": { "knownIcon": "PERSON" }, "content": "Online" } }, { "decoratedText": { "icon": { "knownIcon": "PHONE" }, "content": "+1 (555) 555-1234" } }, { "buttons": [ { "textButton": { "text": "Share", }, "onClick": { "openLink": { "url": "https://example.com/share" } } }, { "textButton": { "text": "Edit", }, "onClick": { "action": { "function": "goToView", "parameters": [ { "key": "viewType", "value": "EDIT" } ], "loadIndicator": "LoadIndicator.SPINNER" } } } ] } ], "collapsible": true, "uncollapsibleWidgetsCount": 3 } ], "cardActions": [ { "actionLabel": "Send Feedback", "onClick": { "openLink": { "url": "https://example.com/feedback" } } } ], "name": "contact-card-K3wB6arF2H9L" } ``` # Card proto that allows Chat apps to specify UI elements and editable widgets. + "cardActions": [ # The card's actions. Actions are added to the card's generated toolbar menu. For example, the following JSON constructs a card action menu with Settings and Send Feedback options: ``` "card_actions": [ { "actionLabel": "Settings", "onClick": { "action": { "functionName": "goToView", "parameters": [ { "key": "viewType", "value": "SETTING" } ], "loadIndicator": "LoadIndicator.SPINNER" } } }, { "actionLabel": "Send Feedback", "onClick": { "openLink": { "url": "https://example.com/feedback" } } } ] ``` + { # A card action is the action associated with the card. For example, an invoice card might include actions such as delete invoice, email invoice, or open the invoice in a browser. + "actionLabel": "A String", # The label that displays as the action menu item. + "onClick": { # Represents the response to an `onClick` event. # The `onClick` action for this action item. + "action": { # An action that describes the behavior when the form is submitted. For example, an Apps Script can be invoked to handle the form. # If specified, an action is triggered by this `onClick`. + "function": "A String", # Apps Script function to invoke when the containing element is clicked/activated. + "loadIndicator": "A String", # Specifies the loading indicator that the action displays while making the call to the action. + "parameters": [ # List of action parameters. + { # List of string parameters to supply when the action method is invoked. For example, consider three snooze buttons: snooze now, snooze 1 day, snooze next week. You might use action method = snooze(), passing the snooze type and snooze time in the list of string parameters. + "key": "A String", # The name of the parameter for the action script. + "value": "A String", # The value of the parameter. + }, + ], + "persistValues": True or False, # Indicates whether form values persist after the action. The default value is `false`. If `true`, form values remain after the action is triggered. When using [LoadIndicator.NONE](workspace/add-ons/reference/rpc/google.apps.card.v1#loadindicator) for actions, `persist_values` = `true`is recommended, as it ensures that any changes made by the user after form or on change actions are sent to the server are not overwritten by the response. If `false`, the form values are cleared when the action is triggered. When `persist_values` is set to `false`, it is strongly recommended that the card use [LoadIndicator.SPINNER](workspace/add-ons/reference/rpc/google.apps.card.v1#loadindicator) for all actions, as this locks the UI to ensure no changes are made by the user while the action is being processed. Not supported by Google Chat apps. + }, + "card": # Object with schema name: GoogleAppsCardV1Card # A new card is pushed to the card stack after clicking if specified. + "openDynamicLinkAction": { # An action that describes the behavior when the form is submitted. For example, an Apps Script can be invoked to handle the form. # An add-on triggers this action when the action needs to open a link. This differs from the `open_link` above in that this needs to talk to server to get the link. Thus some preparation work is required for web client to do before the open link action response comes back. + "function": "A String", # Apps Script function to invoke when the containing element is clicked/activated. + "loadIndicator": "A String", # Specifies the loading indicator that the action displays while making the call to the action. + "parameters": [ # List of action parameters. + { # List of string parameters to supply when the action method is invoked. For example, consider three snooze buttons: snooze now, snooze 1 day, snooze next week. You might use action method = snooze(), passing the snooze type and snooze time in the list of string parameters. + "key": "A String", # The name of the parameter for the action script. + "value": "A String", # The value of the parameter. + }, + ], + "persistValues": True or False, # Indicates whether form values persist after the action. The default value is `false`. If `true`, form values remain after the action is triggered. When using [LoadIndicator.NONE](workspace/add-ons/reference/rpc/google.apps.card.v1#loadindicator) for actions, `persist_values` = `true`is recommended, as it ensures that any changes made by the user after form or on change actions are sent to the server are not overwritten by the response. If `false`, the form values are cleared when the action is triggered. When `persist_values` is set to `false`, it is strongly recommended that the card use [LoadIndicator.SPINNER](workspace/add-ons/reference/rpc/google.apps.card.v1#loadindicator) for all actions, as this locks the UI to ensure no changes are made by the user while the action is being processed. Not supported by Google Chat apps. + }, + "openLink": { # Represents an `onClick` event that opens a hyperlink. # If specified, this `onClick` triggers an open link action. + "onClose": "A String", # Whether the client forgets about a link after opening it, or observes it until the window closes. Not supported by Chat apps. + "openAs": "A String", # How to open a link. Not supported by Chat apps. + "url": "A String", # The URL to open. + }, + }, + }, + ], + "displayStyle": "A String", # The `peekCardHeader` display style for. Not supported by Google Chat apps. + "fixedFooter": { # A persistent (sticky) footer that is added to the bottom of the card. # The fixed footer shown at the bottom of this card. + "primaryButton": { # A button. Can be a text button or an image button. # The primary button of the fixed footer. The button must be a text button with text and color set. + "altText": "A String", # The alternative text used for accessibility. Has no effect when an icon is set; use `icon.alt_text` instead. + "color": { # Represents a color in the RGBA color space. This representation is designed for simplicity of conversion to/from color representations in various languages over compactness. For example, the fields of this representation can be trivially provided to the constructor of `java.awt.Color` in Java; it can also be trivially provided to UIColor's `+colorWithRed:green:blue:alpha` method in iOS; and, with just a little work, it can be easily formatted into a CSS `rgba()` string in JavaScript. This reference page doesn't carry information about the absolute color space that should be used to interpret the RGB value (e.g. sRGB, Adobe RGB, DCI-P3, BT.2020, etc.). By default, applications should assume the sRGB color space. When color equality needs to be decided, implementations, unless documented otherwise, treat two colors as equal if all their red, green, blue, and alpha values each differ by at most 1e-5. Example (Java): import com.google.type.Color; // ... public static java.awt.Color fromProto(Color protocolor) { float alpha = protocolor.hasAlpha() ? protocolor.getAlpha().getValue() : 1.0; return new java.awt.Color( protocolor.getRed(), protocolor.getGreen(), protocolor.getBlue(), alpha); } public static Color toProto(java.awt.Color color) { float red = (float) color.getRed(); float green = (float) color.getGreen(); float blue = (float) color.getBlue(); float denominator = 255.0; Color.Builder resultBuilder = Color .newBuilder() .setRed(red / denominator) .setGreen(green / denominator) .setBlue(blue / denominator); int alpha = color.getAlpha(); if (alpha != 255) { result.setAlpha( FloatValue .newBuilder() .setValue(((float) alpha) / denominator) .build()); } return resultBuilder.build(); } // ... Example (iOS / Obj-C): // ... static UIColor* fromProto(Color* protocolor) { float red = [protocolor red]; float green = [protocolor green]; float blue = [protocolor blue]; FloatValue* alpha_wrapper = [protocolor alpha]; float alpha = 1.0; if (alpha_wrapper != nil) { alpha = [alpha_wrapper value]; } return [UIColor colorWithRed:red green:green blue:blue alpha:alpha]; } static Color* toProto(UIColor* color) { CGFloat red, green, blue, alpha; if (![color getRed:&red green:&green blue:&blue alpha:&alpha]) { return nil; } Color* result = [[Color alloc] init]; [result setRed:red]; [result setGreen:green]; [result setBlue:blue]; if (alpha <= 0.9999) { [result setAlpha:floatWrapperWithValue(alpha)]; } [result autorelease]; return result; } // ... Example (JavaScript): // ... var protoToCssColor = function(rgb_color) { var redFrac = rgb_color.red || 0.0; var greenFrac = rgb_color.green || 0.0; var blueFrac = rgb_color.blue || 0.0; var red = Math.floor(redFrac * 255); var green = Math.floor(greenFrac * 255); var blue = Math.floor(blueFrac * 255); if (!('alpha' in rgb_color)) { return rgbToCssColor(red, green, blue); } var alphaFrac = rgb_color.alpha.value || 0.0; var rgbParams = [red, green, blue].join(','); return ['rgba(', rgbParams, ',', alphaFrac, ')'].join(''); }; var rgbToCssColor = function(red, green, blue) { var rgbNumber = new Number((red << 16) | (green << 8) | blue); var hexString = rgbNumber.toString(16); var missingZeros = 6 - hexString.length; var resultBuilder = ['#']; for (var i = 0; i < missingZeros; i++) { resultBuilder.push('0'); } resultBuilder.push(hexString); return resultBuilder.join(''); }; // ... # If set, the button is filled with a solid background. + "alpha": 3.14, # The fraction of this color that should be applied to the pixel. That is, the final pixel color is defined by the equation: `pixel color = alpha * (this color) + (1.0 - alpha) * (background color)` This means that a value of 1.0 corresponds to a solid color, whereas a value of 0.0 corresponds to a completely transparent color. This uses a wrapper message rather than a simple float scalar so that it is possible to distinguish between a default value and the value being unset. If omitted, this color object is rendered as a solid color (as if the alpha value had been explicitly given a value of 1.0). + "blue": 3.14, # The amount of blue in the color as a value in the interval [0, 1]. + "green": 3.14, # The amount of green in the color as a value in the interval [0, 1]. + "red": 3.14, # The amount of red in the color as a value in the interval [0, 1]. + }, + "disabled": True or False, # If `true`, the button is displayed in a disabled state and doesn't respond to user actions. + "icon": { # The icon image. + "altText": "A String", # The description of the icon, used for accessibility. The default value is provided if you don't specify one. + "iconUrl": "A String", # The icon specified by a URL. + "imageType": "A String", # The crop style applied to the image. In some cases, applying a `CIRCLE` crop causes the image to be drawn larger than a standard icon. + "knownIcon": "A String", # The icon specified by the string name of a list of known icons. + }, + "onClick": { # Represents the response to an `onClick` event. # The action to perform when the button is clicked. + "action": { # An action that describes the behavior when the form is submitted. For example, an Apps Script can be invoked to handle the form. # If specified, an action is triggered by this `onClick`. + "function": "A String", # Apps Script function to invoke when the containing element is clicked/activated. + "loadIndicator": "A String", # Specifies the loading indicator that the action displays while making the call to the action. + "parameters": [ # List of action parameters. + { # List of string parameters to supply when the action method is invoked. For example, consider three snooze buttons: snooze now, snooze 1 day, snooze next week. You might use action method = snooze(), passing the snooze type and snooze time in the list of string parameters. + "key": "A String", # The name of the parameter for the action script. + "value": "A String", # The value of the parameter. + }, + ], + "persistValues": True or False, # Indicates whether form values persist after the action. The default value is `false`. If `true`, form values remain after the action is triggered. When using [LoadIndicator.NONE](workspace/add-ons/reference/rpc/google.apps.card.v1#loadindicator) for actions, `persist_values` = `true`is recommended, as it ensures that any changes made by the user after form or on change actions are sent to the server are not overwritten by the response. If `false`, the form values are cleared when the action is triggered. When `persist_values` is set to `false`, it is strongly recommended that the card use [LoadIndicator.SPINNER](workspace/add-ons/reference/rpc/google.apps.card.v1#loadindicator) for all actions, as this locks the UI to ensure no changes are made by the user while the action is being processed. Not supported by Google Chat apps. + }, + "card": # Object with schema name: GoogleAppsCardV1Card # A new card is pushed to the card stack after clicking if specified. + "openDynamicLinkAction": { # An action that describes the behavior when the form is submitted. For example, an Apps Script can be invoked to handle the form. # An add-on triggers this action when the action needs to open a link. This differs from the `open_link` above in that this needs to talk to server to get the link. Thus some preparation work is required for web client to do before the open link action response comes back. + "function": "A String", # Apps Script function to invoke when the containing element is clicked/activated. + "loadIndicator": "A String", # Specifies the loading indicator that the action displays while making the call to the action. + "parameters": [ # List of action parameters. + { # List of string parameters to supply when the action method is invoked. For example, consider three snooze buttons: snooze now, snooze 1 day, snooze next week. You might use action method = snooze(), passing the snooze type and snooze time in the list of string parameters. + "key": "A String", # The name of the parameter for the action script. + "value": "A String", # The value of the parameter. + }, + ], + "persistValues": True or False, # Indicates whether form values persist after the action. The default value is `false`. If `true`, form values remain after the action is triggered. When using [LoadIndicator.NONE](workspace/add-ons/reference/rpc/google.apps.card.v1#loadindicator) for actions, `persist_values` = `true`is recommended, as it ensures that any changes made by the user after form or on change actions are sent to the server are not overwritten by the response. If `false`, the form values are cleared when the action is triggered. When `persist_values` is set to `false`, it is strongly recommended that the card use [LoadIndicator.SPINNER](workspace/add-ons/reference/rpc/google.apps.card.v1#loadindicator) for all actions, as this locks the UI to ensure no changes are made by the user while the action is being processed. Not supported by Google Chat apps. + }, + "openLink": { # Represents an `onClick` event that opens a hyperlink. # If specified, this `onClick` triggers an open link action. + "onClose": "A String", # Whether the client forgets about a link after opening it, or observes it until the window closes. Not supported by Chat apps. + "openAs": "A String", # How to open a link. Not supported by Chat apps. + "url": "A String", # The URL to open. + }, + }, + "text": "A String", # The text of the button. + }, + "secondaryButton": { # A button. Can be a text button or an image button. # The secondary button of the fixed footer. The button must be a text button with text and color set. `primaryButton` must be set if `secondaryButton` is set. + "altText": "A String", # The alternative text used for accessibility. Has no effect when an icon is set; use `icon.alt_text` instead. + "color": { # Represents a color in the RGBA color space. This representation is designed for simplicity of conversion to/from color representations in various languages over compactness. For example, the fields of this representation can be trivially provided to the constructor of `java.awt.Color` in Java; it can also be trivially provided to UIColor's `+colorWithRed:green:blue:alpha` method in iOS; and, with just a little work, it can be easily formatted into a CSS `rgba()` string in JavaScript. This reference page doesn't carry information about the absolute color space that should be used to interpret the RGB value (e.g. sRGB, Adobe RGB, DCI-P3, BT.2020, etc.). By default, applications should assume the sRGB color space. When color equality needs to be decided, implementations, unless documented otherwise, treat two colors as equal if all their red, green, blue, and alpha values each differ by at most 1e-5. Example (Java): import com.google.type.Color; // ... public static java.awt.Color fromProto(Color protocolor) { float alpha = protocolor.hasAlpha() ? protocolor.getAlpha().getValue() : 1.0; return new java.awt.Color( protocolor.getRed(), protocolor.getGreen(), protocolor.getBlue(), alpha); } public static Color toProto(java.awt.Color color) { float red = (float) color.getRed(); float green = (float) color.getGreen(); float blue = (float) color.getBlue(); float denominator = 255.0; Color.Builder resultBuilder = Color .newBuilder() .setRed(red / denominator) .setGreen(green / denominator) .setBlue(blue / denominator); int alpha = color.getAlpha(); if (alpha != 255) { result.setAlpha( FloatValue .newBuilder() .setValue(((float) alpha) / denominator) .build()); } return resultBuilder.build(); } // ... Example (iOS / Obj-C): // ... static UIColor* fromProto(Color* protocolor) { float red = [protocolor red]; float green = [protocolor green]; float blue = [protocolor blue]; FloatValue* alpha_wrapper = [protocolor alpha]; float alpha = 1.0; if (alpha_wrapper != nil) { alpha = [alpha_wrapper value]; } return [UIColor colorWithRed:red green:green blue:blue alpha:alpha]; } static Color* toProto(UIColor* color) { CGFloat red, green, blue, alpha; if (![color getRed:&red green:&green blue:&blue alpha:&alpha]) { return nil; } Color* result = [[Color alloc] init]; [result setRed:red]; [result setGreen:green]; [result setBlue:blue]; if (alpha <= 0.9999) { [result setAlpha:floatWrapperWithValue(alpha)]; } [result autorelease]; return result; } // ... Example (JavaScript): // ... var protoToCssColor = function(rgb_color) { var redFrac = rgb_color.red || 0.0; var greenFrac = rgb_color.green || 0.0; var blueFrac = rgb_color.blue || 0.0; var red = Math.floor(redFrac * 255); var green = Math.floor(greenFrac * 255); var blue = Math.floor(blueFrac * 255); if (!('alpha' in rgb_color)) { return rgbToCssColor(red, green, blue); } var alphaFrac = rgb_color.alpha.value || 0.0; var rgbParams = [red, green, blue].join(','); return ['rgba(', rgbParams, ',', alphaFrac, ')'].join(''); }; var rgbToCssColor = function(red, green, blue) { var rgbNumber = new Number((red << 16) | (green << 8) | blue); var hexString = rgbNumber.toString(16); var missingZeros = 6 - hexString.length; var resultBuilder = ['#']; for (var i = 0; i < missingZeros; i++) { resultBuilder.push('0'); } resultBuilder.push(hexString); return resultBuilder.join(''); }; // ... # If set, the button is filled with a solid background. + "alpha": 3.14, # The fraction of this color that should be applied to the pixel. That is, the final pixel color is defined by the equation: `pixel color = alpha * (this color) + (1.0 - alpha) * (background color)` This means that a value of 1.0 corresponds to a solid color, whereas a value of 0.0 corresponds to a completely transparent color. This uses a wrapper message rather than a simple float scalar so that it is possible to distinguish between a default value and the value being unset. If omitted, this color object is rendered as a solid color (as if the alpha value had been explicitly given a value of 1.0). + "blue": 3.14, # The amount of blue in the color as a value in the interval [0, 1]. + "green": 3.14, # The amount of green in the color as a value in the interval [0, 1]. + "red": 3.14, # The amount of red in the color as a value in the interval [0, 1]. + }, + "disabled": True or False, # If `true`, the button is displayed in a disabled state and doesn't respond to user actions. + "icon": { # The icon image. + "altText": "A String", # The description of the icon, used for accessibility. The default value is provided if you don't specify one. + "iconUrl": "A String", # The icon specified by a URL. + "imageType": "A String", # The crop style applied to the image. In some cases, applying a `CIRCLE` crop causes the image to be drawn larger than a standard icon. + "knownIcon": "A String", # The icon specified by the string name of a list of known icons. + }, + "onClick": { # Represents the response to an `onClick` event. # The action to perform when the button is clicked. + "action": { # An action that describes the behavior when the form is submitted. For example, an Apps Script can be invoked to handle the form. # If specified, an action is triggered by this `onClick`. + "function": "A String", # Apps Script function to invoke when the containing element is clicked/activated. + "loadIndicator": "A String", # Specifies the loading indicator that the action displays while making the call to the action. + "parameters": [ # List of action parameters. + { # List of string parameters to supply when the action method is invoked. For example, consider three snooze buttons: snooze now, snooze 1 day, snooze next week. You might use action method = snooze(), passing the snooze type and snooze time in the list of string parameters. + "key": "A String", # The name of the parameter for the action script. + "value": "A String", # The value of the parameter. + }, + ], + "persistValues": True or False, # Indicates whether form values persist after the action. The default value is `false`. If `true`, form values remain after the action is triggered. When using [LoadIndicator.NONE](workspace/add-ons/reference/rpc/google.apps.card.v1#loadindicator) for actions, `persist_values` = `true`is recommended, as it ensures that any changes made by the user after form or on change actions are sent to the server are not overwritten by the response. If `false`, the form values are cleared when the action is triggered. When `persist_values` is set to `false`, it is strongly recommended that the card use [LoadIndicator.SPINNER](workspace/add-ons/reference/rpc/google.apps.card.v1#loadindicator) for all actions, as this locks the UI to ensure no changes are made by the user while the action is being processed. Not supported by Google Chat apps. + }, + "card": # Object with schema name: GoogleAppsCardV1Card # A new card is pushed to the card stack after clicking if specified. + "openDynamicLinkAction": { # An action that describes the behavior when the form is submitted. For example, an Apps Script can be invoked to handle the form. # An add-on triggers this action when the action needs to open a link. This differs from the `open_link` above in that this needs to talk to server to get the link. Thus some preparation work is required for web client to do before the open link action response comes back. + "function": "A String", # Apps Script function to invoke when the containing element is clicked/activated. + "loadIndicator": "A String", # Specifies the loading indicator that the action displays while making the call to the action. + "parameters": [ # List of action parameters. + { # List of string parameters to supply when the action method is invoked. For example, consider three snooze buttons: snooze now, snooze 1 day, snooze next week. You might use action method = snooze(), passing the snooze type and snooze time in the list of string parameters. + "key": "A String", # The name of the parameter for the action script. + "value": "A String", # The value of the parameter. + }, + ], + "persistValues": True or False, # Indicates whether form values persist after the action. The default value is `false`. If `true`, form values remain after the action is triggered. When using [LoadIndicator.NONE](workspace/add-ons/reference/rpc/google.apps.card.v1#loadindicator) for actions, `persist_values` = `true`is recommended, as it ensures that any changes made by the user after form or on change actions are sent to the server are not overwritten by the response. If `false`, the form values are cleared when the action is triggered. When `persist_values` is set to `false`, it is strongly recommended that the card use [LoadIndicator.SPINNER](workspace/add-ons/reference/rpc/google.apps.card.v1#loadindicator) for all actions, as this locks the UI to ensure no changes are made by the user while the action is being processed. Not supported by Google Chat apps. + }, + "openLink": { # Represents an `onClick` event that opens a hyperlink. # If specified, this `onClick` triggers an open link action. + "onClose": "A String", # Whether the client forgets about a link after opening it, or observes it until the window closes. Not supported by Chat apps. + "openAs": "A String", # How to open a link. Not supported by Chat apps. + "url": "A String", # The URL to open. + }, + }, + "text": "A String", # The text of the button. + }, + }, + "header": { # Represents a card header. # The header of the card. A header usually contains a title and an image. + "imageAltText": "A String", # The alternative text of this image which is used for accessibility. + "imageType": "A String", # The image's type. + "imageUrl": "A String", # The URL of the image in the card header. + "subtitle": "A String", # The subtitle of the card header. + "title": "A String", # Required. The title of the card header. The header has a fixed height: if both a title and subtitle are specified, each takes up one line. If only the title is specified, it takes up both lines. + }, + "name": "A String", # Name of the card. Used as a card identifier in card navigation. + "peekCardHeader": { # Represents a card header. # When displaying contextual content, the peek card header acts as a placeholder so that the user can navigate forward between the homepage cards and the contextual cards. Not supported by Google Chat apps. + "imageAltText": "A String", # The alternative text of this image which is used for accessibility. + "imageType": "A String", # The image's type. + "imageUrl": "A String", # The URL of the image in the card header. + "subtitle": "A String", # The subtitle of the card header. + "title": "A String", # Required. The title of the card header. The header has a fixed height: if both a title and subtitle are specified, each takes up one line. If only the title is specified, it takes up both lines. + }, + "sections": [ # Sections are separated by a line divider. + { # A section contains a collection of widgets that are rendered vertically in the order that they are specified. Across all platforms, cards have a narrow fixed width, so there is currently no need for layout properties, for example, float. + "collapsible": True or False, # Indicates whether this section is collapsible. If a section is collapsible, the description must be given. + "header": "A String", # The header of the section. Formatted text is supported. + "uncollapsibleWidgetsCount": 42, # The number of uncollapsible widgets. For example, when a section contains five widgets and the `uncollapsibleWidgetsCount` is set to `2`, the first two widgets are always shown and the last three are collapsed as default. The `uncollapsibleWidgetsCount` is taken into account only when `collapsible` is `true`. + "widgets": [ # A section must contain at least 1 widget. + { # A widget is a UI element that presents texts, images, etc. + "buttonList": { # A list of buttons layed out horizontally. # A list of buttons. For example, the following JSON creates two buttons. The first is a filled text button and the second is an image button that opens a link: ``` "buttonList": { "buttons": [ "button": { "text": "Edit", "Color": { "Red": 255 "Green": 255 "Blue": 255 } "disabled": true }, "button": { "icon": { "knownIcon": "INVITE" "altText": "check calendar" }, "onClick": { "openLink": { "url": "https://example.com/calendar" } } }, ] } ``` + "buttons": [ # An array of buttons. + { # A button. Can be a text button or an image button. + "altText": "A String", # The alternative text used for accessibility. Has no effect when an icon is set; use `icon.alt_text` instead. + "color": { # Represents a color in the RGBA color space. This representation is designed for simplicity of conversion to/from color representations in various languages over compactness. For example, the fields of this representation can be trivially provided to the constructor of `java.awt.Color` in Java; it can also be trivially provided to UIColor's `+colorWithRed:green:blue:alpha` method in iOS; and, with just a little work, it can be easily formatted into a CSS `rgba()` string in JavaScript. This reference page doesn't carry information about the absolute color space that should be used to interpret the RGB value (e.g. sRGB, Adobe RGB, DCI-P3, BT.2020, etc.). By default, applications should assume the sRGB color space. When color equality needs to be decided, implementations, unless documented otherwise, treat two colors as equal if all their red, green, blue, and alpha values each differ by at most 1e-5. Example (Java): import com.google.type.Color; // ... public static java.awt.Color fromProto(Color protocolor) { float alpha = protocolor.hasAlpha() ? protocolor.getAlpha().getValue() : 1.0; return new java.awt.Color( protocolor.getRed(), protocolor.getGreen(), protocolor.getBlue(), alpha); } public static Color toProto(java.awt.Color color) { float red = (float) color.getRed(); float green = (float) color.getGreen(); float blue = (float) color.getBlue(); float denominator = 255.0; Color.Builder resultBuilder = Color .newBuilder() .setRed(red / denominator) .setGreen(green / denominator) .setBlue(blue / denominator); int alpha = color.getAlpha(); if (alpha != 255) { result.setAlpha( FloatValue .newBuilder() .setValue(((float) alpha) / denominator) .build()); } return resultBuilder.build(); } // ... Example (iOS / Obj-C): // ... static UIColor* fromProto(Color* protocolor) { float red = [protocolor red]; float green = [protocolor green]; float blue = [protocolor blue]; FloatValue* alpha_wrapper = [protocolor alpha]; float alpha = 1.0; if (alpha_wrapper != nil) { alpha = [alpha_wrapper value]; } return [UIColor colorWithRed:red green:green blue:blue alpha:alpha]; } static Color* toProto(UIColor* color) { CGFloat red, green, blue, alpha; if (![color getRed:&red green:&green blue:&blue alpha:&alpha]) { return nil; } Color* result = [[Color alloc] init]; [result setRed:red]; [result setGreen:green]; [result setBlue:blue]; if (alpha <= 0.9999) { [result setAlpha:floatWrapperWithValue(alpha)]; } [result autorelease]; return result; } // ... Example (JavaScript): // ... var protoToCssColor = function(rgb_color) { var redFrac = rgb_color.red || 0.0; var greenFrac = rgb_color.green || 0.0; var blueFrac = rgb_color.blue || 0.0; var red = Math.floor(redFrac * 255); var green = Math.floor(greenFrac * 255); var blue = Math.floor(blueFrac * 255); if (!('alpha' in rgb_color)) { return rgbToCssColor(red, green, blue); } var alphaFrac = rgb_color.alpha.value || 0.0; var rgbParams = [red, green, blue].join(','); return ['rgba(', rgbParams, ',', alphaFrac, ')'].join(''); }; var rgbToCssColor = function(red, green, blue) { var rgbNumber = new Number((red << 16) | (green << 8) | blue); var hexString = rgbNumber.toString(16); var missingZeros = 6 - hexString.length; var resultBuilder = ['#']; for (var i = 0; i < missingZeros; i++) { resultBuilder.push('0'); } resultBuilder.push(hexString); return resultBuilder.join(''); }; // ... # If set, the button is filled with a solid background. + "alpha": 3.14, # The fraction of this color that should be applied to the pixel. That is, the final pixel color is defined by the equation: `pixel color = alpha * (this color) + (1.0 - alpha) * (background color)` This means that a value of 1.0 corresponds to a solid color, whereas a value of 0.0 corresponds to a completely transparent color. This uses a wrapper message rather than a simple float scalar so that it is possible to distinguish between a default value and the value being unset. If omitted, this color object is rendered as a solid color (as if the alpha value had been explicitly given a value of 1.0). + "blue": 3.14, # The amount of blue in the color as a value in the interval [0, 1]. + "green": 3.14, # The amount of green in the color as a value in the interval [0, 1]. + "red": 3.14, # The amount of red in the color as a value in the interval [0, 1]. + }, + "disabled": True or False, # If `true`, the button is displayed in a disabled state and doesn't respond to user actions. + "icon": { # The icon image. + "altText": "A String", # The description of the icon, used for accessibility. The default value is provided if you don't specify one. + "iconUrl": "A String", # The icon specified by a URL. + "imageType": "A String", # The crop style applied to the image. In some cases, applying a `CIRCLE` crop causes the image to be drawn larger than a standard icon. + "knownIcon": "A String", # The icon specified by the string name of a list of known icons. + }, + "onClick": { # Represents the response to an `onClick` event. # The action to perform when the button is clicked. + "action": { # An action that describes the behavior when the form is submitted. For example, an Apps Script can be invoked to handle the form. # If specified, an action is triggered by this `onClick`. + "function": "A String", # Apps Script function to invoke when the containing element is clicked/activated. + "loadIndicator": "A String", # Specifies the loading indicator that the action displays while making the call to the action. + "parameters": [ # List of action parameters. + { # List of string parameters to supply when the action method is invoked. For example, consider three snooze buttons: snooze now, snooze 1 day, snooze next week. You might use action method = snooze(), passing the snooze type and snooze time in the list of string parameters. + "key": "A String", # The name of the parameter for the action script. + "value": "A String", # The value of the parameter. + }, + ], + "persistValues": True or False, # Indicates whether form values persist after the action. The default value is `false`. If `true`, form values remain after the action is triggered. When using [LoadIndicator.NONE](workspace/add-ons/reference/rpc/google.apps.card.v1#loadindicator) for actions, `persist_values` = `true`is recommended, as it ensures that any changes made by the user after form or on change actions are sent to the server are not overwritten by the response. If `false`, the form values are cleared when the action is triggered. When `persist_values` is set to `false`, it is strongly recommended that the card use [LoadIndicator.SPINNER](workspace/add-ons/reference/rpc/google.apps.card.v1#loadindicator) for all actions, as this locks the UI to ensure no changes are made by the user while the action is being processed. Not supported by Google Chat apps. + }, + "card": # Object with schema name: GoogleAppsCardV1Card # A new card is pushed to the card stack after clicking if specified. + "openDynamicLinkAction": { # An action that describes the behavior when the form is submitted. For example, an Apps Script can be invoked to handle the form. # An add-on triggers this action when the action needs to open a link. This differs from the `open_link` above in that this needs to talk to server to get the link. Thus some preparation work is required for web client to do before the open link action response comes back. + "function": "A String", # Apps Script function to invoke when the containing element is clicked/activated. + "loadIndicator": "A String", # Specifies the loading indicator that the action displays while making the call to the action. + "parameters": [ # List of action parameters. + { # List of string parameters to supply when the action method is invoked. For example, consider three snooze buttons: snooze now, snooze 1 day, snooze next week. You might use action method = snooze(), passing the snooze type and snooze time in the list of string parameters. + "key": "A String", # The name of the parameter for the action script. + "value": "A String", # The value of the parameter. + }, + ], + "persistValues": True or False, # Indicates whether form values persist after the action. The default value is `false`. If `true`, form values remain after the action is triggered. When using [LoadIndicator.NONE](workspace/add-ons/reference/rpc/google.apps.card.v1#loadindicator) for actions, `persist_values` = `true`is recommended, as it ensures that any changes made by the user after form or on change actions are sent to the server are not overwritten by the response. If `false`, the form values are cleared when the action is triggered. When `persist_values` is set to `false`, it is strongly recommended that the card use [LoadIndicator.SPINNER](workspace/add-ons/reference/rpc/google.apps.card.v1#loadindicator) for all actions, as this locks the UI to ensure no changes are made by the user while the action is being processed. Not supported by Google Chat apps. + }, + "openLink": { # Represents an `onClick` event that opens a hyperlink. # If specified, this `onClick` triggers an open link action. + "onClose": "A String", # Whether the client forgets about a link after opening it, or observes it until the window closes. Not supported by Chat apps. + "openAs": "A String", # How to open a link. Not supported by Chat apps. + "url": "A String", # The URL to open. + }, + }, + "text": "A String", # The text of the button. + }, + ], + }, + "dateTimePicker": { # The widget that lets users to specify a date and time. Not supported by Google Chat apps. # Displays a selection/input widget for date/time. For example, the following JSON creates a date/time picker for an appointment time: ``` "date_time_picker": { "name": "appointment_time", "label": "Book your appointment at:", "type": "DateTimePickerType.DATE_AND_TIME", "valueMsEpoch": "796435200000" } ``` + "label": "A String", # The label for the field that displays to the user. + "name": "A String", # The name of the text input that's used in `formInput`, and uniquely identifies this input. + "onChangeAction": { # An action that describes the behavior when the form is submitted. For example, an Apps Script can be invoked to handle the form. # Triggered when the user clicks Save or Clear from the date/time picker dialog. This is only triggered if the value changed as a result of the Save/Clear operation. + "function": "A String", # Apps Script function to invoke when the containing element is clicked/activated. + "loadIndicator": "A String", # Specifies the loading indicator that the action displays while making the call to the action. + "parameters": [ # List of action parameters. + { # List of string parameters to supply when the action method is invoked. For example, consider three snooze buttons: snooze now, snooze 1 day, snooze next week. You might use action method = snooze(), passing the snooze type and snooze time in the list of string parameters. + "key": "A String", # The name of the parameter for the action script. + "value": "A String", # The value of the parameter. + }, + ], + "persistValues": True or False, # Indicates whether form values persist after the action. The default value is `false`. If `true`, form values remain after the action is triggered. When using [LoadIndicator.NONE](workspace/add-ons/reference/rpc/google.apps.card.v1#loadindicator) for actions, `persist_values` = `true`is recommended, as it ensures that any changes made by the user after form or on change actions are sent to the server are not overwritten by the response. If `false`, the form values are cleared when the action is triggered. When `persist_values` is set to `false`, it is strongly recommended that the card use [LoadIndicator.SPINNER](workspace/add-ons/reference/rpc/google.apps.card.v1#loadindicator) for all actions, as this locks the UI to ensure no changes are made by the user while the action is being processed. Not supported by Google Chat apps. + }, + "timezoneOffsetDate": 42, # The number representing the time zone offset from UTC, in minutes. If set, the `value_ms_epoch` is displayed in the specified time zone. If not set, it uses the user's time zone setting on the client side. + "type": "A String", # The type of the date/time picker. + "valueMsEpoch": "A String", # The value to display as the default value before user input or previous user input. It is represented in milliseconds (Epoch time). For `DATE_AND_TIME` type, the full epoch value is used. For `DATE_ONLY` type, only date of the epoch time is used. For `TIME_ONLY` type, only time of the epoch time is used. For example, you can set epoch time to `3 * 60 * 60 * 1000` to represent 3am. + }, + "decoratedText": { # A widget that displays text with optional decorations such as a label above or below the text, an icon in front of the text, a selection widget or a button after the text. # Displays a decorated text item in this widget. For example, the following JSON creates a decorated text widget showing email address: ``` "decoratedText": { "icon": { "knownIcon": "EMAIL" }, "topLabel": "Email Address", "content": "sasha@example.com", "bottomLabel": "This is a new Email address!", "switchWidget": { "name": "has_send_welcome_email_to_sasha", "selected": false, "controlType": "ControlType.CHECKBOX" } } ``` + "bottomLabel": "A String", # The formatted text label that shows below the main text. + "button": { # A button. Can be a text button or an image button. # A button that can be clicked to trigger an action. + "altText": "A String", # The alternative text used for accessibility. Has no effect when an icon is set; use `icon.alt_text` instead. + "color": { # Represents a color in the RGBA color space. This representation is designed for simplicity of conversion to/from color representations in various languages over compactness. For example, the fields of this representation can be trivially provided to the constructor of `java.awt.Color` in Java; it can also be trivially provided to UIColor's `+colorWithRed:green:blue:alpha` method in iOS; and, with just a little work, it can be easily formatted into a CSS `rgba()` string in JavaScript. This reference page doesn't carry information about the absolute color space that should be used to interpret the RGB value (e.g. sRGB, Adobe RGB, DCI-P3, BT.2020, etc.). By default, applications should assume the sRGB color space. When color equality needs to be decided, implementations, unless documented otherwise, treat two colors as equal if all their red, green, blue, and alpha values each differ by at most 1e-5. Example (Java): import com.google.type.Color; // ... public static java.awt.Color fromProto(Color protocolor) { float alpha = protocolor.hasAlpha() ? protocolor.getAlpha().getValue() : 1.0; return new java.awt.Color( protocolor.getRed(), protocolor.getGreen(), protocolor.getBlue(), alpha); } public static Color toProto(java.awt.Color color) { float red = (float) color.getRed(); float green = (float) color.getGreen(); float blue = (float) color.getBlue(); float denominator = 255.0; Color.Builder resultBuilder = Color .newBuilder() .setRed(red / denominator) .setGreen(green / denominator) .setBlue(blue / denominator); int alpha = color.getAlpha(); if (alpha != 255) { result.setAlpha( FloatValue .newBuilder() .setValue(((float) alpha) / denominator) .build()); } return resultBuilder.build(); } // ... Example (iOS / Obj-C): // ... static UIColor* fromProto(Color* protocolor) { float red = [protocolor red]; float green = [protocolor green]; float blue = [protocolor blue]; FloatValue* alpha_wrapper = [protocolor alpha]; float alpha = 1.0; if (alpha_wrapper != nil) { alpha = [alpha_wrapper value]; } return [UIColor colorWithRed:red green:green blue:blue alpha:alpha]; } static Color* toProto(UIColor* color) { CGFloat red, green, blue, alpha; if (![color getRed:&red green:&green blue:&blue alpha:&alpha]) { return nil; } Color* result = [[Color alloc] init]; [result setRed:red]; [result setGreen:green]; [result setBlue:blue]; if (alpha <= 0.9999) { [result setAlpha:floatWrapperWithValue(alpha)]; } [result autorelease]; return result; } // ... Example (JavaScript): // ... var protoToCssColor = function(rgb_color) { var redFrac = rgb_color.red || 0.0; var greenFrac = rgb_color.green || 0.0; var blueFrac = rgb_color.blue || 0.0; var red = Math.floor(redFrac * 255); var green = Math.floor(greenFrac * 255); var blue = Math.floor(blueFrac * 255); if (!('alpha' in rgb_color)) { return rgbToCssColor(red, green, blue); } var alphaFrac = rgb_color.alpha.value || 0.0; var rgbParams = [red, green, blue].join(','); return ['rgba(', rgbParams, ',', alphaFrac, ')'].join(''); }; var rgbToCssColor = function(red, green, blue) { var rgbNumber = new Number((red << 16) | (green << 8) | blue); var hexString = rgbNumber.toString(16); var missingZeros = 6 - hexString.length; var resultBuilder = ['#']; for (var i = 0; i < missingZeros; i++) { resultBuilder.push('0'); } resultBuilder.push(hexString); return resultBuilder.join(''); }; // ... # If set, the button is filled with a solid background. + "alpha": 3.14, # The fraction of this color that should be applied to the pixel. That is, the final pixel color is defined by the equation: `pixel color = alpha * (this color) + (1.0 - alpha) * (background color)` This means that a value of 1.0 corresponds to a solid color, whereas a value of 0.0 corresponds to a completely transparent color. This uses a wrapper message rather than a simple float scalar so that it is possible to distinguish between a default value and the value being unset. If omitted, this color object is rendered as a solid color (as if the alpha value had been explicitly given a value of 1.0). + "blue": 3.14, # The amount of blue in the color as a value in the interval [0, 1]. + "green": 3.14, # The amount of green in the color as a value in the interval [0, 1]. + "red": 3.14, # The amount of red in the color as a value in the interval [0, 1]. + }, + "disabled": True or False, # If `true`, the button is displayed in a disabled state and doesn't respond to user actions. + "icon": { # The icon image. + "altText": "A String", # The description of the icon, used for accessibility. The default value is provided if you don't specify one. + "iconUrl": "A String", # The icon specified by a URL. + "imageType": "A String", # The crop style applied to the image. In some cases, applying a `CIRCLE` crop causes the image to be drawn larger than a standard icon. + "knownIcon": "A String", # The icon specified by the string name of a list of known icons. + }, + "onClick": { # Represents the response to an `onClick` event. # The action to perform when the button is clicked. + "action": { # An action that describes the behavior when the form is submitted. For example, an Apps Script can be invoked to handle the form. # If specified, an action is triggered by this `onClick`. + "function": "A String", # Apps Script function to invoke when the containing element is clicked/activated. + "loadIndicator": "A String", # Specifies the loading indicator that the action displays while making the call to the action. + "parameters": [ # List of action parameters. + { # List of string parameters to supply when the action method is invoked. For example, consider three snooze buttons: snooze now, snooze 1 day, snooze next week. You might use action method = snooze(), passing the snooze type and snooze time in the list of string parameters. + "key": "A String", # The name of the parameter for the action script. + "value": "A String", # The value of the parameter. + }, + ], + "persistValues": True or False, # Indicates whether form values persist after the action. The default value is `false`. If `true`, form values remain after the action is triggered. When using [LoadIndicator.NONE](workspace/add-ons/reference/rpc/google.apps.card.v1#loadindicator) for actions, `persist_values` = `true`is recommended, as it ensures that any changes made by the user after form or on change actions are sent to the server are not overwritten by the response. If `false`, the form values are cleared when the action is triggered. When `persist_values` is set to `false`, it is strongly recommended that the card use [LoadIndicator.SPINNER](workspace/add-ons/reference/rpc/google.apps.card.v1#loadindicator) for all actions, as this locks the UI to ensure no changes are made by the user while the action is being processed. Not supported by Google Chat apps. + }, + "card": # Object with schema name: GoogleAppsCardV1Card # A new card is pushed to the card stack after clicking if specified. + "openDynamicLinkAction": { # An action that describes the behavior when the form is submitted. For example, an Apps Script can be invoked to handle the form. # An add-on triggers this action when the action needs to open a link. This differs from the `open_link` above in that this needs to talk to server to get the link. Thus some preparation work is required for web client to do before the open link action response comes back. + "function": "A String", # Apps Script function to invoke when the containing element is clicked/activated. + "loadIndicator": "A String", # Specifies the loading indicator that the action displays while making the call to the action. + "parameters": [ # List of action parameters. + { # List of string parameters to supply when the action method is invoked. For example, consider three snooze buttons: snooze now, snooze 1 day, snooze next week. You might use action method = snooze(), passing the snooze type and snooze time in the list of string parameters. + "key": "A String", # The name of the parameter for the action script. + "value": "A String", # The value of the parameter. + }, + ], + "persistValues": True or False, # Indicates whether form values persist after the action. The default value is `false`. If `true`, form values remain after the action is triggered. When using [LoadIndicator.NONE](workspace/add-ons/reference/rpc/google.apps.card.v1#loadindicator) for actions, `persist_values` = `true`is recommended, as it ensures that any changes made by the user after form or on change actions are sent to the server are not overwritten by the response. If `false`, the form values are cleared when the action is triggered. When `persist_values` is set to `false`, it is strongly recommended that the card use [LoadIndicator.SPINNER](workspace/add-ons/reference/rpc/google.apps.card.v1#loadindicator) for all actions, as this locks the UI to ensure no changes are made by the user while the action is being processed. Not supported by Google Chat apps. + }, + "openLink": { # Represents an `onClick` event that opens a hyperlink. # If specified, this `onClick` triggers an open link action. + "onClose": "A String", # Whether the client forgets about a link after opening it, or observes it until the window closes. Not supported by Chat apps. + "openAs": "A String", # How to open a link. Not supported by Chat apps. + "url": "A String", # The URL to open. + }, + }, + "text": "A String", # The text of the button. + }, + "endIcon": { # An icon displayed after the text. + "altText": "A String", # The description of the icon, used for accessibility. The default value is provided if you don't specify one. + "iconUrl": "A String", # The icon specified by a URL. + "imageType": "A String", # The crop style applied to the image. In some cases, applying a `CIRCLE` crop causes the image to be drawn larger than a standard icon. + "knownIcon": "A String", # The icon specified by the string name of a list of known icons. + }, + "icon": { # Deprecated in favor of start_icon. + "altText": "A String", # The description of the icon, used for accessibility. The default value is provided if you don't specify one. + "iconUrl": "A String", # The icon specified by a URL. + "imageType": "A String", # The crop style applied to the image. In some cases, applying a `CIRCLE` crop causes the image to be drawn larger than a standard icon. + "knownIcon": "A String", # The icon specified by the string name of a list of known icons. + }, + "onClick": { # Represents the response to an `onClick` event. # Only the top and bottom label and content region are clickable. + "action": { # An action that describes the behavior when the form is submitted. For example, an Apps Script can be invoked to handle the form. # If specified, an action is triggered by this `onClick`. + "function": "A String", # Apps Script function to invoke when the containing element is clicked/activated. + "loadIndicator": "A String", # Specifies the loading indicator that the action displays while making the call to the action. + "parameters": [ # List of action parameters. + { # List of string parameters to supply when the action method is invoked. For example, consider three snooze buttons: snooze now, snooze 1 day, snooze next week. You might use action method = snooze(), passing the snooze type and snooze time in the list of string parameters. + "key": "A String", # The name of the parameter for the action script. + "value": "A String", # The value of the parameter. + }, + ], + "persistValues": True or False, # Indicates whether form values persist after the action. The default value is `false`. If `true`, form values remain after the action is triggered. When using [LoadIndicator.NONE](workspace/add-ons/reference/rpc/google.apps.card.v1#loadindicator) for actions, `persist_values` = `true`is recommended, as it ensures that any changes made by the user after form or on change actions are sent to the server are not overwritten by the response. If `false`, the form values are cleared when the action is triggered. When `persist_values` is set to `false`, it is strongly recommended that the card use [LoadIndicator.SPINNER](workspace/add-ons/reference/rpc/google.apps.card.v1#loadindicator) for all actions, as this locks the UI to ensure no changes are made by the user while the action is being processed. Not supported by Google Chat apps. + }, + "card": # Object with schema name: GoogleAppsCardV1Card # A new card is pushed to the card stack after clicking if specified. + "openDynamicLinkAction": { # An action that describes the behavior when the form is submitted. For example, an Apps Script can be invoked to handle the form. # An add-on triggers this action when the action needs to open a link. This differs from the `open_link` above in that this needs to talk to server to get the link. Thus some preparation work is required for web client to do before the open link action response comes back. + "function": "A String", # Apps Script function to invoke when the containing element is clicked/activated. + "loadIndicator": "A String", # Specifies the loading indicator that the action displays while making the call to the action. + "parameters": [ # List of action parameters. + { # List of string parameters to supply when the action method is invoked. For example, consider three snooze buttons: snooze now, snooze 1 day, snooze next week. You might use action method = snooze(), passing the snooze type and snooze time in the list of string parameters. + "key": "A String", # The name of the parameter for the action script. + "value": "A String", # The value of the parameter. + }, + ], + "persistValues": True or False, # Indicates whether form values persist after the action. The default value is `false`. If `true`, form values remain after the action is triggered. When using [LoadIndicator.NONE](workspace/add-ons/reference/rpc/google.apps.card.v1#loadindicator) for actions, `persist_values` = `true`is recommended, as it ensures that any changes made by the user after form or on change actions are sent to the server are not overwritten by the response. If `false`, the form values are cleared when the action is triggered. When `persist_values` is set to `false`, it is strongly recommended that the card use [LoadIndicator.SPINNER](workspace/add-ons/reference/rpc/google.apps.card.v1#loadindicator) for all actions, as this locks the UI to ensure no changes are made by the user while the action is being processed. Not supported by Google Chat apps. + }, + "openLink": { # Represents an `onClick` event that opens a hyperlink. # If specified, this `onClick` triggers an open link action. + "onClose": "A String", # Whether the client forgets about a link after opening it, or observes it until the window closes. Not supported by Chat apps. + "openAs": "A String", # How to open a link. Not supported by Chat apps. + "url": "A String", # The URL to open. + }, + }, + "startIcon": { # The icon displayed in front of the text. + "altText": "A String", # The description of the icon, used for accessibility. The default value is provided if you don't specify one. + "iconUrl": "A String", # The icon specified by a URL. + "imageType": "A String", # The crop style applied to the image. In some cases, applying a `CIRCLE` crop causes the image to be drawn larger than a standard icon. + "knownIcon": "A String", # The icon specified by the string name of a list of known icons. + }, + "switchControl": { # Either a toggle-style switch or a checkbox. # A switch widget can be clicked to change its state or trigger an action. + "controlType": "A String", # The control type, either switch or checkbox. + "name": "A String", # The name of the switch widget that's used in `formInput`. + "onChangeAction": { # An action that describes the behavior when the form is submitted. For example, an Apps Script can be invoked to handle the form. # The action when the switch state is changed. + "function": "A String", # Apps Script function to invoke when the containing element is clicked/activated. + "loadIndicator": "A String", # Specifies the loading indicator that the action displays while making the call to the action. + "parameters": [ # List of action parameters. + { # List of string parameters to supply when the action method is invoked. For example, consider three snooze buttons: snooze now, snooze 1 day, snooze next week. You might use action method = snooze(), passing the snooze type and snooze time in the list of string parameters. + "key": "A String", # The name of the parameter for the action script. + "value": "A String", # The value of the parameter. + }, + ], + "persistValues": True or False, # Indicates whether form values persist after the action. The default value is `false`. If `true`, form values remain after the action is triggered. When using [LoadIndicator.NONE](workspace/add-ons/reference/rpc/google.apps.card.v1#loadindicator) for actions, `persist_values` = `true`is recommended, as it ensures that any changes made by the user after form or on change actions are sent to the server are not overwritten by the response. If `false`, the form values are cleared when the action is triggered. When `persist_values` is set to `false`, it is strongly recommended that the card use [LoadIndicator.SPINNER](workspace/add-ons/reference/rpc/google.apps.card.v1#loadindicator) for all actions, as this locks the UI to ensure no changes are made by the user while the action is being processed. Not supported by Google Chat apps. + }, + "selected": True or False, # If the switch is selected. + "value": "A String", # The value is what is passed back in the callback. + }, + "text": "A String", # Required. The main widget formatted text. See Text formatting for details. + "topLabel": "A String", # The formatted text label that shows above the main text. + "wrapText": True or False, # The wrap text setting. If `true`, the text is wrapped and displayed in multiline. Otherwise, the text is truncated. + }, + "divider": { # A divider that appears in between widgets. # Displays a divider. For example, the following JSON creates a divider: ``` "divider": { } ``` + }, + "grid": { # Represents a Grid widget that displays items in a configurable grid layout. # Displays a grid with a collection of items. For example, the following JSON creates a 2 column grid with a single item: ``` "grid": { "title": "A fine collection of items", "numColumns": 2, "borderStyle": { "type": "STROKE", "cornerRadius": 4.0 }, "items": [ "image": { "imageUri": "https://www.example.com/image.png", "cropStyle": { "type": "SQUARE" }, "borderStyle": { "type": "STROKE" } }, "title": "An item", "textAlignment": "CENTER" ], "onClick": { "openLink": { "url":"https://www.example.com" } } } ``` + "borderStyle": { # Represents the complete border style applied to widgets. # The border style to apply to each grid item. + "cornerRadius": 42, # The corner radius for the border. + "strokeColor": { # Represents a color in the RGBA color space. This representation is designed for simplicity of conversion to/from color representations in various languages over compactness. For example, the fields of this representation can be trivially provided to the constructor of `java.awt.Color` in Java; it can also be trivially provided to UIColor's `+colorWithRed:green:blue:alpha` method in iOS; and, with just a little work, it can be easily formatted into a CSS `rgba()` string in JavaScript. This reference page doesn't carry information about the absolute color space that should be used to interpret the RGB value (e.g. sRGB, Adobe RGB, DCI-P3, BT.2020, etc.). By default, applications should assume the sRGB color space. When color equality needs to be decided, implementations, unless documented otherwise, treat two colors as equal if all their red, green, blue, and alpha values each differ by at most 1e-5. Example (Java): import com.google.type.Color; // ... public static java.awt.Color fromProto(Color protocolor) { float alpha = protocolor.hasAlpha() ? protocolor.getAlpha().getValue() : 1.0; return new java.awt.Color( protocolor.getRed(), protocolor.getGreen(), protocolor.getBlue(), alpha); } public static Color toProto(java.awt.Color color) { float red = (float) color.getRed(); float green = (float) color.getGreen(); float blue = (float) color.getBlue(); float denominator = 255.0; Color.Builder resultBuilder = Color .newBuilder() .setRed(red / denominator) .setGreen(green / denominator) .setBlue(blue / denominator); int alpha = color.getAlpha(); if (alpha != 255) { result.setAlpha( FloatValue .newBuilder() .setValue(((float) alpha) / denominator) .build()); } return resultBuilder.build(); } // ... Example (iOS / Obj-C): // ... static UIColor* fromProto(Color* protocolor) { float red = [protocolor red]; float green = [protocolor green]; float blue = [protocolor blue]; FloatValue* alpha_wrapper = [protocolor alpha]; float alpha = 1.0; if (alpha_wrapper != nil) { alpha = [alpha_wrapper value]; } return [UIColor colorWithRed:red green:green blue:blue alpha:alpha]; } static Color* toProto(UIColor* color) { CGFloat red, green, blue, alpha; if (![color getRed:&red green:&green blue:&blue alpha:&alpha]) { return nil; } Color* result = [[Color alloc] init]; [result setRed:red]; [result setGreen:green]; [result setBlue:blue]; if (alpha <= 0.9999) { [result setAlpha:floatWrapperWithValue(alpha)]; } [result autorelease]; return result; } // ... Example (JavaScript): // ... var protoToCssColor = function(rgb_color) { var redFrac = rgb_color.red || 0.0; var greenFrac = rgb_color.green || 0.0; var blueFrac = rgb_color.blue || 0.0; var red = Math.floor(redFrac * 255); var green = Math.floor(greenFrac * 255); var blue = Math.floor(blueFrac * 255); if (!('alpha' in rgb_color)) { return rgbToCssColor(red, green, blue); } var alphaFrac = rgb_color.alpha.value || 0.0; var rgbParams = [red, green, blue].join(','); return ['rgba(', rgbParams, ',', alphaFrac, ')'].join(''); }; var rgbToCssColor = function(red, green, blue) { var rgbNumber = new Number((red << 16) | (green << 8) | blue); var hexString = rgbNumber.toString(16); var missingZeros = 6 - hexString.length; var resultBuilder = ['#']; for (var i = 0; i < missingZeros; i++) { resultBuilder.push('0'); } resultBuilder.push(hexString); return resultBuilder.join(''); }; // ... # The colors to use when the type is `BORDER_TYPE_STROKE`. + "alpha": 3.14, # The fraction of this color that should be applied to the pixel. That is, the final pixel color is defined by the equation: `pixel color = alpha * (this color) + (1.0 - alpha) * (background color)` This means that a value of 1.0 corresponds to a solid color, whereas a value of 0.0 corresponds to a completely transparent color. This uses a wrapper message rather than a simple float scalar so that it is possible to distinguish between a default value and the value being unset. If omitted, this color object is rendered as a solid color (as if the alpha value had been explicitly given a value of 1.0). + "blue": 3.14, # The amount of blue in the color as a value in the interval [0, 1]. + "green": 3.14, # The amount of green in the color as a value in the interval [0, 1]. + "red": 3.14, # The amount of red in the color as a value in the interval [0, 1]. + }, + "type": "A String", # The border type. + }, + "columnCount": 42, # The number of columns to display in the grid. A default value is used if this field isn't specified, and that default value is different depending on where the grid is shown (dialog versus companion). + "items": [ # The items to display in the grid. + { # Represents a single item in the grid layout. + "id": "A String", # A user-specified identifier for this grid item. This identifier is returned in the parent Grid's onClick callback parameters. + "image": { # Represents an image. # The image that displays in the grid item. + "altText": "A String", # The accessibility label for the image. + "borderStyle": { # Represents the complete border style applied to widgets. # The border style to apply to the image. + "cornerRadius": 42, # The corner radius for the border. + "strokeColor": { # Represents a color in the RGBA color space. This representation is designed for simplicity of conversion to/from color representations in various languages over compactness. For example, the fields of this representation can be trivially provided to the constructor of `java.awt.Color` in Java; it can also be trivially provided to UIColor's `+colorWithRed:green:blue:alpha` method in iOS; and, with just a little work, it can be easily formatted into a CSS `rgba()` string in JavaScript. This reference page doesn't carry information about the absolute color space that should be used to interpret the RGB value (e.g. sRGB, Adobe RGB, DCI-P3, BT.2020, etc.). By default, applications should assume the sRGB color space. When color equality needs to be decided, implementations, unless documented otherwise, treat two colors as equal if all their red, green, blue, and alpha values each differ by at most 1e-5. Example (Java): import com.google.type.Color; // ... public static java.awt.Color fromProto(Color protocolor) { float alpha = protocolor.hasAlpha() ? protocolor.getAlpha().getValue() : 1.0; return new java.awt.Color( protocolor.getRed(), protocolor.getGreen(), protocolor.getBlue(), alpha); } public static Color toProto(java.awt.Color color) { float red = (float) color.getRed(); float green = (float) color.getGreen(); float blue = (float) color.getBlue(); float denominator = 255.0; Color.Builder resultBuilder = Color .newBuilder() .setRed(red / denominator) .setGreen(green / denominator) .setBlue(blue / denominator); int alpha = color.getAlpha(); if (alpha != 255) { result.setAlpha( FloatValue .newBuilder() .setValue(((float) alpha) / denominator) .build()); } return resultBuilder.build(); } // ... Example (iOS / Obj-C): // ... static UIColor* fromProto(Color* protocolor) { float red = [protocolor red]; float green = [protocolor green]; float blue = [protocolor blue]; FloatValue* alpha_wrapper = [protocolor alpha]; float alpha = 1.0; if (alpha_wrapper != nil) { alpha = [alpha_wrapper value]; } return [UIColor colorWithRed:red green:green blue:blue alpha:alpha]; } static Color* toProto(UIColor* color) { CGFloat red, green, blue, alpha; if (![color getRed:&red green:&green blue:&blue alpha:&alpha]) { return nil; } Color* result = [[Color alloc] init]; [result setRed:red]; [result setGreen:green]; [result setBlue:blue]; if (alpha <= 0.9999) { [result setAlpha:floatWrapperWithValue(alpha)]; } [result autorelease]; return result; } // ... Example (JavaScript): // ... var protoToCssColor = function(rgb_color) { var redFrac = rgb_color.red || 0.0; var greenFrac = rgb_color.green || 0.0; var blueFrac = rgb_color.blue || 0.0; var red = Math.floor(redFrac * 255); var green = Math.floor(greenFrac * 255); var blue = Math.floor(blueFrac * 255); if (!('alpha' in rgb_color)) { return rgbToCssColor(red, green, blue); } var alphaFrac = rgb_color.alpha.value || 0.0; var rgbParams = [red, green, blue].join(','); return ['rgba(', rgbParams, ',', alphaFrac, ')'].join(''); }; var rgbToCssColor = function(red, green, blue) { var rgbNumber = new Number((red << 16) | (green << 8) | blue); var hexString = rgbNumber.toString(16); var missingZeros = 6 - hexString.length; var resultBuilder = ['#']; for (var i = 0; i < missingZeros; i++) { resultBuilder.push('0'); } resultBuilder.push(hexString); return resultBuilder.join(''); }; // ... # The colors to use when the type is `BORDER_TYPE_STROKE`. + "alpha": 3.14, # The fraction of this color that should be applied to the pixel. That is, the final pixel color is defined by the equation: `pixel color = alpha * (this color) + (1.0 - alpha) * (background color)` This means that a value of 1.0 corresponds to a solid color, whereas a value of 0.0 corresponds to a completely transparent color. This uses a wrapper message rather than a simple float scalar so that it is possible to distinguish between a default value and the value being unset. If omitted, this color object is rendered as a solid color (as if the alpha value had been explicitly given a value of 1.0). + "blue": 3.14, # The amount of blue in the color as a value in the interval [0, 1]. + "green": 3.14, # The amount of green in the color as a value in the interval [0, 1]. + "red": 3.14, # The amount of red in the color as a value in the interval [0, 1]. + }, + "type": "A String", # The border type. + }, + "cropStyle": { # Represents the crop style applied to an image. # The crop style to apply to the image. + "aspectRatio": 3.14, # The aspect ratio to use if the crop type is `RECTANGLE_CUSTOM`. + "type": "A String", # The crop type. + }, + "imageUri": "A String", # The image URL. + }, + "layout": "A String", # The layout to use for the grid item. + "subtitle": "A String", # The grid item's subtitle. + "textAlignment": "A String", # The horizontal alignment of the grid item's text. + "title": "A String", # The grid item's title. + }, + ], + "onClick": { # Represents the response to an `onClick` event. # This callback is reused by each individual grid item, but with the item's identifier and index in the items list added to the callback's parameters. + "action": { # An action that describes the behavior when the form is submitted. For example, an Apps Script can be invoked to handle the form. # If specified, an action is triggered by this `onClick`. + "function": "A String", # Apps Script function to invoke when the containing element is clicked/activated. + "loadIndicator": "A String", # Specifies the loading indicator that the action displays while making the call to the action. + "parameters": [ # List of action parameters. + { # List of string parameters to supply when the action method is invoked. For example, consider three snooze buttons: snooze now, snooze 1 day, snooze next week. You might use action method = snooze(), passing the snooze type and snooze time in the list of string parameters. + "key": "A String", # The name of the parameter for the action script. + "value": "A String", # The value of the parameter. + }, + ], + "persistValues": True or False, # Indicates whether form values persist after the action. The default value is `false`. If `true`, form values remain after the action is triggered. When using [LoadIndicator.NONE](workspace/add-ons/reference/rpc/google.apps.card.v1#loadindicator) for actions, `persist_values` = `true`is recommended, as it ensures that any changes made by the user after form or on change actions are sent to the server are not overwritten by the response. If `false`, the form values are cleared when the action is triggered. When `persist_values` is set to `false`, it is strongly recommended that the card use [LoadIndicator.SPINNER](workspace/add-ons/reference/rpc/google.apps.card.v1#loadindicator) for all actions, as this locks the UI to ensure no changes are made by the user while the action is being processed. Not supported by Google Chat apps. + }, + "card": # Object with schema name: GoogleAppsCardV1Card # A new card is pushed to the card stack after clicking if specified. + "openDynamicLinkAction": { # An action that describes the behavior when the form is submitted. For example, an Apps Script can be invoked to handle the form. # An add-on triggers this action when the action needs to open a link. This differs from the `open_link` above in that this needs to talk to server to get the link. Thus some preparation work is required for web client to do before the open link action response comes back. + "function": "A String", # Apps Script function to invoke when the containing element is clicked/activated. + "loadIndicator": "A String", # Specifies the loading indicator that the action displays while making the call to the action. + "parameters": [ # List of action parameters. + { # List of string parameters to supply when the action method is invoked. For example, consider three snooze buttons: snooze now, snooze 1 day, snooze next week. You might use action method = snooze(), passing the snooze type and snooze time in the list of string parameters. + "key": "A String", # The name of the parameter for the action script. + "value": "A String", # The value of the parameter. + }, + ], + "persistValues": True or False, # Indicates whether form values persist after the action. The default value is `false`. If `true`, form values remain after the action is triggered. When using [LoadIndicator.NONE](workspace/add-ons/reference/rpc/google.apps.card.v1#loadindicator) for actions, `persist_values` = `true`is recommended, as it ensures that any changes made by the user after form or on change actions are sent to the server are not overwritten by the response. If `false`, the form values are cleared when the action is triggered. When `persist_values` is set to `false`, it is strongly recommended that the card use [LoadIndicator.SPINNER](workspace/add-ons/reference/rpc/google.apps.card.v1#loadindicator) for all actions, as this locks the UI to ensure no changes are made by the user while the action is being processed. Not supported by Google Chat apps. + }, + "openLink": { # Represents an `onClick` event that opens a hyperlink. # If specified, this `onClick` triggers an open link action. + "onClose": "A String", # Whether the client forgets about a link after opening it, or observes it until the window closes. Not supported by Chat apps. + "openAs": "A String", # How to open a link. Not supported by Chat apps. + "url": "A String", # The URL to open. + }, + }, + "title": "A String", # The text that displays in the grid header. + }, + "horizontalAlignment": "A String", # The horizontal alignment of this widget. + "image": { # An image that is specified by a URL and can have an `onClick` action. # Displays an image in this widget. For example, the following JSON creates an image with alternative text: ``` "image": { "imageUrl": "https://example.com/sasha.png" "altText": "Avatar for Sasha" } ``` + "altText": "A String", # The alternative text of this image, used for accessibility. + "imageUrl": "A String", # An image URL. + "onClick": { # Represents the response to an `onClick` event. # The action triggered by an `onClick` event. + "action": { # An action that describes the behavior when the form is submitted. For example, an Apps Script can be invoked to handle the form. # If specified, an action is triggered by this `onClick`. + "function": "A String", # Apps Script function to invoke when the containing element is clicked/activated. + "loadIndicator": "A String", # Specifies the loading indicator that the action displays while making the call to the action. + "parameters": [ # List of action parameters. + { # List of string parameters to supply when the action method is invoked. For example, consider three snooze buttons: snooze now, snooze 1 day, snooze next week. You might use action method = snooze(), passing the snooze type and snooze time in the list of string parameters. + "key": "A String", # The name of the parameter for the action script. + "value": "A String", # The value of the parameter. + }, + ], + "persistValues": True or False, # Indicates whether form values persist after the action. The default value is `false`. If `true`, form values remain after the action is triggered. When using [LoadIndicator.NONE](workspace/add-ons/reference/rpc/google.apps.card.v1#loadindicator) for actions, `persist_values` = `true`is recommended, as it ensures that any changes made by the user after form or on change actions are sent to the server are not overwritten by the response. If `false`, the form values are cleared when the action is triggered. When `persist_values` is set to `false`, it is strongly recommended that the card use [LoadIndicator.SPINNER](workspace/add-ons/reference/rpc/google.apps.card.v1#loadindicator) for all actions, as this locks the UI to ensure no changes are made by the user while the action is being processed. Not supported by Google Chat apps. + }, + "card": # Object with schema name: GoogleAppsCardV1Card # A new card is pushed to the card stack after clicking if specified. + "openDynamicLinkAction": { # An action that describes the behavior when the form is submitted. For example, an Apps Script can be invoked to handle the form. # An add-on triggers this action when the action needs to open a link. This differs from the `open_link` above in that this needs to talk to server to get the link. Thus some preparation work is required for web client to do before the open link action response comes back. + "function": "A String", # Apps Script function to invoke when the containing element is clicked/activated. + "loadIndicator": "A String", # Specifies the loading indicator that the action displays while making the call to the action. + "parameters": [ # List of action parameters. + { # List of string parameters to supply when the action method is invoked. For example, consider three snooze buttons: snooze now, snooze 1 day, snooze next week. You might use action method = snooze(), passing the snooze type and snooze time in the list of string parameters. + "key": "A String", # The name of the parameter for the action script. + "value": "A String", # The value of the parameter. + }, + ], + "persistValues": True or False, # Indicates whether form values persist after the action. The default value is `false`. If `true`, form values remain after the action is triggered. When using [LoadIndicator.NONE](workspace/add-ons/reference/rpc/google.apps.card.v1#loadindicator) for actions, `persist_values` = `true`is recommended, as it ensures that any changes made by the user after form or on change actions are sent to the server are not overwritten by the response. If `false`, the form values are cleared when the action is triggered. When `persist_values` is set to `false`, it is strongly recommended that the card use [LoadIndicator.SPINNER](workspace/add-ons/reference/rpc/google.apps.card.v1#loadindicator) for all actions, as this locks the UI to ensure no changes are made by the user while the action is being processed. Not supported by Google Chat apps. + }, + "openLink": { # Represents an `onClick` event that opens a hyperlink. # If specified, this `onClick` triggers an open link action. + "onClose": "A String", # Whether the client forgets about a link after opening it, or observes it until the window closes. Not supported by Chat apps. + "openAs": "A String", # How to open a link. Not supported by Chat apps. + "url": "A String", # The URL to open. + }, + }, + }, + "selectionInput": { # A widget that creates a UI item with options for users to select. For example, a dropdown menu. # Displays a switch control in this widget. For example, the following JSON creates a dropdown selection for size: ``` "switchControl": { "name": "size", "label": "Size" "type": "SelectionType.DROPDOWN", "items": [ { "text": "S", "value": "small", "selected": false }, { "text": "M", "value": "medium", "selected": true }, { "text": "L", "value": "large", "selected": false }, { "text": "XL", "value": "extra_large", "selected": false } ] } ``` + "items": [ # An array of the selected items. + { # A selectable item in the switch control. + "selected": True or False, # If more than one item is selected for `RADIO_BUTTON` and `DROPDOWN`, the first selected item is treated as selected and the ones after are ignored. + "text": "A String", # The text to be displayed. + "value": "A String", # The value associated with this item. The client should use this as a form input value. + }, + ], + "label": "A String", # The label displayed ahead of the switch control. + "name": "A String", # The name of the text input which is used in `formInput`. + "onChangeAction": { # An action that describes the behavior when the form is submitted. For example, an Apps Script can be invoked to handle the form. # If specified, the form is submitted when the selection changes. If not specified, you must specify a separate button. + "function": "A String", # Apps Script function to invoke when the containing element is clicked/activated. + "loadIndicator": "A String", # Specifies the loading indicator that the action displays while making the call to the action. + "parameters": [ # List of action parameters. + { # List of string parameters to supply when the action method is invoked. For example, consider three snooze buttons: snooze now, snooze 1 day, snooze next week. You might use action method = snooze(), passing the snooze type and snooze time in the list of string parameters. + "key": "A String", # The name of the parameter for the action script. + "value": "A String", # The value of the parameter. + }, + ], + "persistValues": True or False, # Indicates whether form values persist after the action. The default value is `false`. If `true`, form values remain after the action is triggered. When using [LoadIndicator.NONE](workspace/add-ons/reference/rpc/google.apps.card.v1#loadindicator) for actions, `persist_values` = `true`is recommended, as it ensures that any changes made by the user after form or on change actions are sent to the server are not overwritten by the response. If `false`, the form values are cleared when the action is triggered. When `persist_values` is set to `false`, it is strongly recommended that the card use [LoadIndicator.SPINNER](workspace/add-ons/reference/rpc/google.apps.card.v1#loadindicator) for all actions, as this locks the UI to ensure no changes are made by the user while the action is being processed. Not supported by Google Chat apps. + }, + "type": "A String", # The type of the selection. + }, + "textInput": { # A text input is a UI item where users can input text. A text input can also have an onChange action and suggestions. # Displays a text input in this widget. For example, the following JSON creates a text input for mail address: ``` "textInput": { "name": "mailing_address", "label": "Mailing Address" } ``` As another example, the following JSON creates a text input for programming language with static suggestions: ``` "textInput": { "name": "preferred_programing_language", "label": "Preferred Language", "initialSuggestions": { "items": [ { "text": "C++" }, { "text": "Java" }, { "text": "JavaScript" }, { "text": "Python" } ] } } ``` + "autoCompleteAction": { # An action that describes the behavior when the form is submitted. For example, an Apps Script can be invoked to handle the form. # The refresh function that returns suggestions based on the user's input text. If the callback is not specified, autocomplete is done in client side based on the initial suggestion items. + "function": "A String", # Apps Script function to invoke when the containing element is clicked/activated. + "loadIndicator": "A String", # Specifies the loading indicator that the action displays while making the call to the action. + "parameters": [ # List of action parameters. + { # List of string parameters to supply when the action method is invoked. For example, consider three snooze buttons: snooze now, snooze 1 day, snooze next week. You might use action method = snooze(), passing the snooze type and snooze time in the list of string parameters. + "key": "A String", # The name of the parameter for the action script. + "value": "A String", # The value of the parameter. + }, + ], + "persistValues": True or False, # Indicates whether form values persist after the action. The default value is `false`. If `true`, form values remain after the action is triggered. When using [LoadIndicator.NONE](workspace/add-ons/reference/rpc/google.apps.card.v1#loadindicator) for actions, `persist_values` = `true`is recommended, as it ensures that any changes made by the user after form or on change actions are sent to the server are not overwritten by the response. If `false`, the form values are cleared when the action is triggered. When `persist_values` is set to `false`, it is strongly recommended that the card use [LoadIndicator.SPINNER](workspace/add-ons/reference/rpc/google.apps.card.v1#loadindicator) for all actions, as this locks the UI to ensure no changes are made by the user while the action is being processed. Not supported by Google Chat apps. + }, + "hintText": "A String", # The hint text. + "initialSuggestions": { # A container wrapping elements necessary for showing suggestion items used in text input autocomplete. # The initial suggestions made before any user input. + "items": [ # A list of suggestions used for autocomplete recommendations. + { # A suggestion item. + "text": "A String", # The suggested autocomplete result. + }, + ], + }, + "label": "A String", # At least one of label and hintText must be specified. + "name": "A String", # The name of the text input which is used in `formInput`. + "onChangeAction": { # An action that describes the behavior when the form is submitted. For example, an Apps Script can be invoked to handle the form. # The onChange action, for example, invoke a function. + "function": "A String", # Apps Script function to invoke when the containing element is clicked/activated. + "loadIndicator": "A String", # Specifies the loading indicator that the action displays while making the call to the action. + "parameters": [ # List of action parameters. + { # List of string parameters to supply when the action method is invoked. For example, consider three snooze buttons: snooze now, snooze 1 day, snooze next week. You might use action method = snooze(), passing the snooze type and snooze time in the list of string parameters. + "key": "A String", # The name of the parameter for the action script. + "value": "A String", # The value of the parameter. + }, + ], + "persistValues": True or False, # Indicates whether form values persist after the action. The default value is `false`. If `true`, form values remain after the action is triggered. When using [LoadIndicator.NONE](workspace/add-ons/reference/rpc/google.apps.card.v1#loadindicator) for actions, `persist_values` = `true`is recommended, as it ensures that any changes made by the user after form or on change actions are sent to the server are not overwritten by the response. If `false`, the form values are cleared when the action is triggered. When `persist_values` is set to `false`, it is strongly recommended that the card use [LoadIndicator.SPINNER](workspace/add-ons/reference/rpc/google.apps.card.v1#loadindicator) for all actions, as this locks the UI to ensure no changes are made by the user while the action is being processed. Not supported by Google Chat apps. + }, + "type": "A String", # The style of the text, for example, a single line or multiple lines. + "value": "A String", # The default value when there is no input from the user. + }, + "textParagraph": { # A paragraph of text that supports formatting. See [Text formatting](workspace/add-ons/concepts/widgets#text_formatting) for details. # Displays a text paragraph in this widget. For example, the following JSON creates a bolded text: ``` "textParagraph": { "text": " *bold text*" } ``` + "text": "A String", # The text that's shown in the widget. + }, + }, + ], + }, + ], + }, + "cardId": "A String", # Required for `cardsV2` messages. Chat app-specified identifier for this widget. Scoped within a message. + }, + ], "createTime": "A String", # Output only. The time at which the message was created in Google Chat server. "fallbackText": "A String", # A plain-text description of the message's cards, used when the actual cards cannot be displayed (e.g. mobile notifications). "lastUpdateTime": "A String", # Output only. The time at which the message was last edited by a user. If the message has never been edited, this field is empty. @@ -938,8 +1468,12 @@

Method Details

"displayName": "A String", # The space's display name. For direct messages between humans, this field might be empty. "name": "A String", # Resource name of the space. Format: spaces/{space} "singleUserBotDm": True or False, # Output only. Whether the space is a DM between a Chat app and a single human. + "spaceDetails": { # Details about the space including description and rules. # Details about the space including description and rules. + "description": "A String", # Optional. A description of the space. It could describe the space's discussion topic, functional purpose, or participants. + "guidelines": "A String", # Optional. The space's rules, expectations, and etiquette. + }, "threaded": True or False, # Output only. Whether messages are threaded in this space. - "type": "A String", # Output only. Deprecated: Use `single_user_bot_dm` or `space_type` (developer preview) instead. The type of a space. + "type": "A String", # Output only. Deprecated: Use `singleUserBotDm` or `spaceType` (developer preview) instead. The type of a space. }, "text": "A String", # Plain-text body of the message. The first link to an image, video, web page, or other preview-able item generates a preview chip. "thread": { # A thread in Google Chat. # The thread the message belongs to. @@ -1694,6 +2228,528 @@

Method Details

], }, ], + "cardsV2": [ # Richly formatted and interactive cards that display UI elements and editable widgets, such as: - Formatted text - Buttons - Clickable images - Checkboxes - Radio buttons - Input widgets. Cards are usually displayed below the text-body of a Chat message, but can situationally appear other places, such as [dialogs](https://developers.google.com/chat/how-tos/dialogs). The `cardId` is a unique identifier among cards in the same message and for identifying user input values. Currently supported widgets include: - `TextParagraph` - `DecoratedText` - `Image` - `ButtonList` + { # Widgets for Chat apps to specify. + "card": { # A card is a UI element that can contain UI widgets such as text and images. For more information, see Cards . For example, the following JSON creates a card that has a header with the name, position, icons, and link for a contact, followed by a section with contact information like email and phone number. ``` { "header": { "title": "Sasha", "subtitle": "Software Engineer", "imageStyle": "ImageStyle.AVATAR", "imageUrl": "https://example.com/sasha.png", "imageAltText": "Avatar for Sasha" }, "sections" : [ { "header": "Contact Info", "widgets": [ { "decorated_text": { "icon": { "knownIcon": "EMAIL" }, "content": "sasha@example.com" } }, { "decoratedText": { "icon": { "knownIcon": "PERSON" }, "content": "Online" } }, { "decoratedText": { "icon": { "knownIcon": "PHONE" }, "content": "+1 (555) 555-1234" } }, { "buttons": [ { "textButton": { "text": "Share", }, "onClick": { "openLink": { "url": "https://example.com/share" } } }, { "textButton": { "text": "Edit", }, "onClick": { "action": { "function": "goToView", "parameters": [ { "key": "viewType", "value": "EDIT" } ], "loadIndicator": "LoadIndicator.SPINNER" } } } ] } ], "collapsible": true, "uncollapsibleWidgetsCount": 3 } ], "cardActions": [ { "actionLabel": "Send Feedback", "onClick": { "openLink": { "url": "https://example.com/feedback" } } } ], "name": "contact-card-K3wB6arF2H9L" } ``` # Card proto that allows Chat apps to specify UI elements and editable widgets. + "cardActions": [ # The card's actions. Actions are added to the card's generated toolbar menu. For example, the following JSON constructs a card action menu with Settings and Send Feedback options: ``` "card_actions": [ { "actionLabel": "Settings", "onClick": { "action": { "functionName": "goToView", "parameters": [ { "key": "viewType", "value": "SETTING" } ], "loadIndicator": "LoadIndicator.SPINNER" } } }, { "actionLabel": "Send Feedback", "onClick": { "openLink": { "url": "https://example.com/feedback" } } } ] ``` + { # A card action is the action associated with the card. For example, an invoice card might include actions such as delete invoice, email invoice, or open the invoice in a browser. + "actionLabel": "A String", # The label that displays as the action menu item. + "onClick": { # Represents the response to an `onClick` event. # The `onClick` action for this action item. + "action": { # An action that describes the behavior when the form is submitted. For example, an Apps Script can be invoked to handle the form. # If specified, an action is triggered by this `onClick`. + "function": "A String", # Apps Script function to invoke when the containing element is clicked/activated. + "loadIndicator": "A String", # Specifies the loading indicator that the action displays while making the call to the action. + "parameters": [ # List of action parameters. + { # List of string parameters to supply when the action method is invoked. For example, consider three snooze buttons: snooze now, snooze 1 day, snooze next week. You might use action method = snooze(), passing the snooze type and snooze time in the list of string parameters. + "key": "A String", # The name of the parameter for the action script. + "value": "A String", # The value of the parameter. + }, + ], + "persistValues": True or False, # Indicates whether form values persist after the action. The default value is `false`. If `true`, form values remain after the action is triggered. When using [LoadIndicator.NONE](workspace/add-ons/reference/rpc/google.apps.card.v1#loadindicator) for actions, `persist_values` = `true`is recommended, as it ensures that any changes made by the user after form or on change actions are sent to the server are not overwritten by the response. If `false`, the form values are cleared when the action is triggered. When `persist_values` is set to `false`, it is strongly recommended that the card use [LoadIndicator.SPINNER](workspace/add-ons/reference/rpc/google.apps.card.v1#loadindicator) for all actions, as this locks the UI to ensure no changes are made by the user while the action is being processed. Not supported by Google Chat apps. + }, + "card": # Object with schema name: GoogleAppsCardV1Card # A new card is pushed to the card stack after clicking if specified. + "openDynamicLinkAction": { # An action that describes the behavior when the form is submitted. For example, an Apps Script can be invoked to handle the form. # An add-on triggers this action when the action needs to open a link. This differs from the `open_link` above in that this needs to talk to server to get the link. Thus some preparation work is required for web client to do before the open link action response comes back. + "function": "A String", # Apps Script function to invoke when the containing element is clicked/activated. + "loadIndicator": "A String", # Specifies the loading indicator that the action displays while making the call to the action. + "parameters": [ # List of action parameters. + { # List of string parameters to supply when the action method is invoked. For example, consider three snooze buttons: snooze now, snooze 1 day, snooze next week. You might use action method = snooze(), passing the snooze type and snooze time in the list of string parameters. + "key": "A String", # The name of the parameter for the action script. + "value": "A String", # The value of the parameter. + }, + ], + "persistValues": True or False, # Indicates whether form values persist after the action. The default value is `false`. If `true`, form values remain after the action is triggered. When using [LoadIndicator.NONE](workspace/add-ons/reference/rpc/google.apps.card.v1#loadindicator) for actions, `persist_values` = `true`is recommended, as it ensures that any changes made by the user after form or on change actions are sent to the server are not overwritten by the response. If `false`, the form values are cleared when the action is triggered. When `persist_values` is set to `false`, it is strongly recommended that the card use [LoadIndicator.SPINNER](workspace/add-ons/reference/rpc/google.apps.card.v1#loadindicator) for all actions, as this locks the UI to ensure no changes are made by the user while the action is being processed. Not supported by Google Chat apps. + }, + "openLink": { # Represents an `onClick` event that opens a hyperlink. # If specified, this `onClick` triggers an open link action. + "onClose": "A String", # Whether the client forgets about a link after opening it, or observes it until the window closes. Not supported by Chat apps. + "openAs": "A String", # How to open a link. Not supported by Chat apps. + "url": "A String", # The URL to open. + }, + }, + }, + ], + "displayStyle": "A String", # The `peekCardHeader` display style for. Not supported by Google Chat apps. + "fixedFooter": { # A persistent (sticky) footer that is added to the bottom of the card. # The fixed footer shown at the bottom of this card. + "primaryButton": { # A button. Can be a text button or an image button. # The primary button of the fixed footer. The button must be a text button with text and color set. + "altText": "A String", # The alternative text used for accessibility. Has no effect when an icon is set; use `icon.alt_text` instead. + "color": { # Represents a color in the RGBA color space. This representation is designed for simplicity of conversion to/from color representations in various languages over compactness. For example, the fields of this representation can be trivially provided to the constructor of `java.awt.Color` in Java; it can also be trivially provided to UIColor's `+colorWithRed:green:blue:alpha` method in iOS; and, with just a little work, it can be easily formatted into a CSS `rgba()` string in JavaScript. This reference page doesn't carry information about the absolute color space that should be used to interpret the RGB value (e.g. sRGB, Adobe RGB, DCI-P3, BT.2020, etc.). By default, applications should assume the sRGB color space. When color equality needs to be decided, implementations, unless documented otherwise, treat two colors as equal if all their red, green, blue, and alpha values each differ by at most 1e-5. Example (Java): import com.google.type.Color; // ... public static java.awt.Color fromProto(Color protocolor) { float alpha = protocolor.hasAlpha() ? protocolor.getAlpha().getValue() : 1.0; return new java.awt.Color( protocolor.getRed(), protocolor.getGreen(), protocolor.getBlue(), alpha); } public static Color toProto(java.awt.Color color) { float red = (float) color.getRed(); float green = (float) color.getGreen(); float blue = (float) color.getBlue(); float denominator = 255.0; Color.Builder resultBuilder = Color .newBuilder() .setRed(red / denominator) .setGreen(green / denominator) .setBlue(blue / denominator); int alpha = color.getAlpha(); if (alpha != 255) { result.setAlpha( FloatValue .newBuilder() .setValue(((float) alpha) / denominator) .build()); } return resultBuilder.build(); } // ... Example (iOS / Obj-C): // ... static UIColor* fromProto(Color* protocolor) { float red = [protocolor red]; float green = [protocolor green]; float blue = [protocolor blue]; FloatValue* alpha_wrapper = [protocolor alpha]; float alpha = 1.0; if (alpha_wrapper != nil) { alpha = [alpha_wrapper value]; } return [UIColor colorWithRed:red green:green blue:blue alpha:alpha]; } static Color* toProto(UIColor* color) { CGFloat red, green, blue, alpha; if (![color getRed:&red green:&green blue:&blue alpha:&alpha]) { return nil; } Color* result = [[Color alloc] init]; [result setRed:red]; [result setGreen:green]; [result setBlue:blue]; if (alpha <= 0.9999) { [result setAlpha:floatWrapperWithValue(alpha)]; } [result autorelease]; return result; } // ... Example (JavaScript): // ... var protoToCssColor = function(rgb_color) { var redFrac = rgb_color.red || 0.0; var greenFrac = rgb_color.green || 0.0; var blueFrac = rgb_color.blue || 0.0; var red = Math.floor(redFrac * 255); var green = Math.floor(greenFrac * 255); var blue = Math.floor(blueFrac * 255); if (!('alpha' in rgb_color)) { return rgbToCssColor(red, green, blue); } var alphaFrac = rgb_color.alpha.value || 0.0; var rgbParams = [red, green, blue].join(','); return ['rgba(', rgbParams, ',', alphaFrac, ')'].join(''); }; var rgbToCssColor = function(red, green, blue) { var rgbNumber = new Number((red << 16) | (green << 8) | blue); var hexString = rgbNumber.toString(16); var missingZeros = 6 - hexString.length; var resultBuilder = ['#']; for (var i = 0; i < missingZeros; i++) { resultBuilder.push('0'); } resultBuilder.push(hexString); return resultBuilder.join(''); }; // ... # If set, the button is filled with a solid background. + "alpha": 3.14, # The fraction of this color that should be applied to the pixel. That is, the final pixel color is defined by the equation: `pixel color = alpha * (this color) + (1.0 - alpha) * (background color)` This means that a value of 1.0 corresponds to a solid color, whereas a value of 0.0 corresponds to a completely transparent color. This uses a wrapper message rather than a simple float scalar so that it is possible to distinguish between a default value and the value being unset. If omitted, this color object is rendered as a solid color (as if the alpha value had been explicitly given a value of 1.0). + "blue": 3.14, # The amount of blue in the color as a value in the interval [0, 1]. + "green": 3.14, # The amount of green in the color as a value in the interval [0, 1]. + "red": 3.14, # The amount of red in the color as a value in the interval [0, 1]. + }, + "disabled": True or False, # If `true`, the button is displayed in a disabled state and doesn't respond to user actions. + "icon": { # The icon image. + "altText": "A String", # The description of the icon, used for accessibility. The default value is provided if you don't specify one. + "iconUrl": "A String", # The icon specified by a URL. + "imageType": "A String", # The crop style applied to the image. In some cases, applying a `CIRCLE` crop causes the image to be drawn larger than a standard icon. + "knownIcon": "A String", # The icon specified by the string name of a list of known icons. + }, + "onClick": { # Represents the response to an `onClick` event. # The action to perform when the button is clicked. + "action": { # An action that describes the behavior when the form is submitted. For example, an Apps Script can be invoked to handle the form. # If specified, an action is triggered by this `onClick`. + "function": "A String", # Apps Script function to invoke when the containing element is clicked/activated. + "loadIndicator": "A String", # Specifies the loading indicator that the action displays while making the call to the action. + "parameters": [ # List of action parameters. + { # List of string parameters to supply when the action method is invoked. For example, consider three snooze buttons: snooze now, snooze 1 day, snooze next week. You might use action method = snooze(), passing the snooze type and snooze time in the list of string parameters. + "key": "A String", # The name of the parameter for the action script. + "value": "A String", # The value of the parameter. + }, + ], + "persistValues": True or False, # Indicates whether form values persist after the action. The default value is `false`. If `true`, form values remain after the action is triggered. When using [LoadIndicator.NONE](workspace/add-ons/reference/rpc/google.apps.card.v1#loadindicator) for actions, `persist_values` = `true`is recommended, as it ensures that any changes made by the user after form or on change actions are sent to the server are not overwritten by the response. If `false`, the form values are cleared when the action is triggered. When `persist_values` is set to `false`, it is strongly recommended that the card use [LoadIndicator.SPINNER](workspace/add-ons/reference/rpc/google.apps.card.v1#loadindicator) for all actions, as this locks the UI to ensure no changes are made by the user while the action is being processed. Not supported by Google Chat apps. + }, + "card": # Object with schema name: GoogleAppsCardV1Card # A new card is pushed to the card stack after clicking if specified. + "openDynamicLinkAction": { # An action that describes the behavior when the form is submitted. For example, an Apps Script can be invoked to handle the form. # An add-on triggers this action when the action needs to open a link. This differs from the `open_link` above in that this needs to talk to server to get the link. Thus some preparation work is required for web client to do before the open link action response comes back. + "function": "A String", # Apps Script function to invoke when the containing element is clicked/activated. + "loadIndicator": "A String", # Specifies the loading indicator that the action displays while making the call to the action. + "parameters": [ # List of action parameters. + { # List of string parameters to supply when the action method is invoked. For example, consider three snooze buttons: snooze now, snooze 1 day, snooze next week. You might use action method = snooze(), passing the snooze type and snooze time in the list of string parameters. + "key": "A String", # The name of the parameter for the action script. + "value": "A String", # The value of the parameter. + }, + ], + "persistValues": True or False, # Indicates whether form values persist after the action. The default value is `false`. If `true`, form values remain after the action is triggered. When using [LoadIndicator.NONE](workspace/add-ons/reference/rpc/google.apps.card.v1#loadindicator) for actions, `persist_values` = `true`is recommended, as it ensures that any changes made by the user after form or on change actions are sent to the server are not overwritten by the response. If `false`, the form values are cleared when the action is triggered. When `persist_values` is set to `false`, it is strongly recommended that the card use [LoadIndicator.SPINNER](workspace/add-ons/reference/rpc/google.apps.card.v1#loadindicator) for all actions, as this locks the UI to ensure no changes are made by the user while the action is being processed. Not supported by Google Chat apps. + }, + "openLink": { # Represents an `onClick` event that opens a hyperlink. # If specified, this `onClick` triggers an open link action. + "onClose": "A String", # Whether the client forgets about a link after opening it, or observes it until the window closes. Not supported by Chat apps. + "openAs": "A String", # How to open a link. Not supported by Chat apps. + "url": "A String", # The URL to open. + }, + }, + "text": "A String", # The text of the button. + }, + "secondaryButton": { # A button. Can be a text button or an image button. # The secondary button of the fixed footer. The button must be a text button with text and color set. `primaryButton` must be set if `secondaryButton` is set. + "altText": "A String", # The alternative text used for accessibility. Has no effect when an icon is set; use `icon.alt_text` instead. + "color": { # Represents a color in the RGBA color space. This representation is designed for simplicity of conversion to/from color representations in various languages over compactness. For example, the fields of this representation can be trivially provided to the constructor of `java.awt.Color` in Java; it can also be trivially provided to UIColor's `+colorWithRed:green:blue:alpha` method in iOS; and, with just a little work, it can be easily formatted into a CSS `rgba()` string in JavaScript. This reference page doesn't carry information about the absolute color space that should be used to interpret the RGB value (e.g. sRGB, Adobe RGB, DCI-P3, BT.2020, etc.). By default, applications should assume the sRGB color space. When color equality needs to be decided, implementations, unless documented otherwise, treat two colors as equal if all their red, green, blue, and alpha values each differ by at most 1e-5. Example (Java): import com.google.type.Color; // ... public static java.awt.Color fromProto(Color protocolor) { float alpha = protocolor.hasAlpha() ? protocolor.getAlpha().getValue() : 1.0; return new java.awt.Color( protocolor.getRed(), protocolor.getGreen(), protocolor.getBlue(), alpha); } public static Color toProto(java.awt.Color color) { float red = (float) color.getRed(); float green = (float) color.getGreen(); float blue = (float) color.getBlue(); float denominator = 255.0; Color.Builder resultBuilder = Color .newBuilder() .setRed(red / denominator) .setGreen(green / denominator) .setBlue(blue / denominator); int alpha = color.getAlpha(); if (alpha != 255) { result.setAlpha( FloatValue .newBuilder() .setValue(((float) alpha) / denominator) .build()); } return resultBuilder.build(); } // ... Example (iOS / Obj-C): // ... static UIColor* fromProto(Color* protocolor) { float red = [protocolor red]; float green = [protocolor green]; float blue = [protocolor blue]; FloatValue* alpha_wrapper = [protocolor alpha]; float alpha = 1.0; if (alpha_wrapper != nil) { alpha = [alpha_wrapper value]; } return [UIColor colorWithRed:red green:green blue:blue alpha:alpha]; } static Color* toProto(UIColor* color) { CGFloat red, green, blue, alpha; if (![color getRed:&red green:&green blue:&blue alpha:&alpha]) { return nil; } Color* result = [[Color alloc] init]; [result setRed:red]; [result setGreen:green]; [result setBlue:blue]; if (alpha <= 0.9999) { [result setAlpha:floatWrapperWithValue(alpha)]; } [result autorelease]; return result; } // ... Example (JavaScript): // ... var protoToCssColor = function(rgb_color) { var redFrac = rgb_color.red || 0.0; var greenFrac = rgb_color.green || 0.0; var blueFrac = rgb_color.blue || 0.0; var red = Math.floor(redFrac * 255); var green = Math.floor(greenFrac * 255); var blue = Math.floor(blueFrac * 255); if (!('alpha' in rgb_color)) { return rgbToCssColor(red, green, blue); } var alphaFrac = rgb_color.alpha.value || 0.0; var rgbParams = [red, green, blue].join(','); return ['rgba(', rgbParams, ',', alphaFrac, ')'].join(''); }; var rgbToCssColor = function(red, green, blue) { var rgbNumber = new Number((red << 16) | (green << 8) | blue); var hexString = rgbNumber.toString(16); var missingZeros = 6 - hexString.length; var resultBuilder = ['#']; for (var i = 0; i < missingZeros; i++) { resultBuilder.push('0'); } resultBuilder.push(hexString); return resultBuilder.join(''); }; // ... # If set, the button is filled with a solid background. + "alpha": 3.14, # The fraction of this color that should be applied to the pixel. That is, the final pixel color is defined by the equation: `pixel color = alpha * (this color) + (1.0 - alpha) * (background color)` This means that a value of 1.0 corresponds to a solid color, whereas a value of 0.0 corresponds to a completely transparent color. This uses a wrapper message rather than a simple float scalar so that it is possible to distinguish between a default value and the value being unset. If omitted, this color object is rendered as a solid color (as if the alpha value had been explicitly given a value of 1.0). + "blue": 3.14, # The amount of blue in the color as a value in the interval [0, 1]. + "green": 3.14, # The amount of green in the color as a value in the interval [0, 1]. + "red": 3.14, # The amount of red in the color as a value in the interval [0, 1]. + }, + "disabled": True or False, # If `true`, the button is displayed in a disabled state and doesn't respond to user actions. + "icon": { # The icon image. + "altText": "A String", # The description of the icon, used for accessibility. The default value is provided if you don't specify one. + "iconUrl": "A String", # The icon specified by a URL. + "imageType": "A String", # The crop style applied to the image. In some cases, applying a `CIRCLE` crop causes the image to be drawn larger than a standard icon. + "knownIcon": "A String", # The icon specified by the string name of a list of known icons. + }, + "onClick": { # Represents the response to an `onClick` event. # The action to perform when the button is clicked. + "action": { # An action that describes the behavior when the form is submitted. For example, an Apps Script can be invoked to handle the form. # If specified, an action is triggered by this `onClick`. + "function": "A String", # Apps Script function to invoke when the containing element is clicked/activated. + "loadIndicator": "A String", # Specifies the loading indicator that the action displays while making the call to the action. + "parameters": [ # List of action parameters. + { # List of string parameters to supply when the action method is invoked. For example, consider three snooze buttons: snooze now, snooze 1 day, snooze next week. You might use action method = snooze(), passing the snooze type and snooze time in the list of string parameters. + "key": "A String", # The name of the parameter for the action script. + "value": "A String", # The value of the parameter. + }, + ], + "persistValues": True or False, # Indicates whether form values persist after the action. The default value is `false`. If `true`, form values remain after the action is triggered. When using [LoadIndicator.NONE](workspace/add-ons/reference/rpc/google.apps.card.v1#loadindicator) for actions, `persist_values` = `true`is recommended, as it ensures that any changes made by the user after form or on change actions are sent to the server are not overwritten by the response. If `false`, the form values are cleared when the action is triggered. When `persist_values` is set to `false`, it is strongly recommended that the card use [LoadIndicator.SPINNER](workspace/add-ons/reference/rpc/google.apps.card.v1#loadindicator) for all actions, as this locks the UI to ensure no changes are made by the user while the action is being processed. Not supported by Google Chat apps. + }, + "card": # Object with schema name: GoogleAppsCardV1Card # A new card is pushed to the card stack after clicking if specified. + "openDynamicLinkAction": { # An action that describes the behavior when the form is submitted. For example, an Apps Script can be invoked to handle the form. # An add-on triggers this action when the action needs to open a link. This differs from the `open_link` above in that this needs to talk to server to get the link. Thus some preparation work is required for web client to do before the open link action response comes back. + "function": "A String", # Apps Script function to invoke when the containing element is clicked/activated. + "loadIndicator": "A String", # Specifies the loading indicator that the action displays while making the call to the action. + "parameters": [ # List of action parameters. + { # List of string parameters to supply when the action method is invoked. For example, consider three snooze buttons: snooze now, snooze 1 day, snooze next week. You might use action method = snooze(), passing the snooze type and snooze time in the list of string parameters. + "key": "A String", # The name of the parameter for the action script. + "value": "A String", # The value of the parameter. + }, + ], + "persistValues": True or False, # Indicates whether form values persist after the action. The default value is `false`. If `true`, form values remain after the action is triggered. When using [LoadIndicator.NONE](workspace/add-ons/reference/rpc/google.apps.card.v1#loadindicator) for actions, `persist_values` = `true`is recommended, as it ensures that any changes made by the user after form or on change actions are sent to the server are not overwritten by the response. If `false`, the form values are cleared when the action is triggered. When `persist_values` is set to `false`, it is strongly recommended that the card use [LoadIndicator.SPINNER](workspace/add-ons/reference/rpc/google.apps.card.v1#loadindicator) for all actions, as this locks the UI to ensure no changes are made by the user while the action is being processed. Not supported by Google Chat apps. + }, + "openLink": { # Represents an `onClick` event that opens a hyperlink. # If specified, this `onClick` triggers an open link action. + "onClose": "A String", # Whether the client forgets about a link after opening it, or observes it until the window closes. Not supported by Chat apps. + "openAs": "A String", # How to open a link. Not supported by Chat apps. + "url": "A String", # The URL to open. + }, + }, + "text": "A String", # The text of the button. + }, + }, + "header": { # Represents a card header. # The header of the card. A header usually contains a title and an image. + "imageAltText": "A String", # The alternative text of this image which is used for accessibility. + "imageType": "A String", # The image's type. + "imageUrl": "A String", # The URL of the image in the card header. + "subtitle": "A String", # The subtitle of the card header. + "title": "A String", # Required. The title of the card header. The header has a fixed height: if both a title and subtitle are specified, each takes up one line. If only the title is specified, it takes up both lines. + }, + "name": "A String", # Name of the card. Used as a card identifier in card navigation. + "peekCardHeader": { # Represents a card header. # When displaying contextual content, the peek card header acts as a placeholder so that the user can navigate forward between the homepage cards and the contextual cards. Not supported by Google Chat apps. + "imageAltText": "A String", # The alternative text of this image which is used for accessibility. + "imageType": "A String", # The image's type. + "imageUrl": "A String", # The URL of the image in the card header. + "subtitle": "A String", # The subtitle of the card header. + "title": "A String", # Required. The title of the card header. The header has a fixed height: if both a title and subtitle are specified, each takes up one line. If only the title is specified, it takes up both lines. + }, + "sections": [ # Sections are separated by a line divider. + { # A section contains a collection of widgets that are rendered vertically in the order that they are specified. Across all platforms, cards have a narrow fixed width, so there is currently no need for layout properties, for example, float. + "collapsible": True or False, # Indicates whether this section is collapsible. If a section is collapsible, the description must be given. + "header": "A String", # The header of the section. Formatted text is supported. + "uncollapsibleWidgetsCount": 42, # The number of uncollapsible widgets. For example, when a section contains five widgets and the `uncollapsibleWidgetsCount` is set to `2`, the first two widgets are always shown and the last three are collapsed as default. The `uncollapsibleWidgetsCount` is taken into account only when `collapsible` is `true`. + "widgets": [ # A section must contain at least 1 widget. + { # A widget is a UI element that presents texts, images, etc. + "buttonList": { # A list of buttons layed out horizontally. # A list of buttons. For example, the following JSON creates two buttons. The first is a filled text button and the second is an image button that opens a link: ``` "buttonList": { "buttons": [ "button": { "text": "Edit", "Color": { "Red": 255 "Green": 255 "Blue": 255 } "disabled": true }, "button": { "icon": { "knownIcon": "INVITE" "altText": "check calendar" }, "onClick": { "openLink": { "url": "https://example.com/calendar" } } }, ] } ``` + "buttons": [ # An array of buttons. + { # A button. Can be a text button or an image button. + "altText": "A String", # The alternative text used for accessibility. Has no effect when an icon is set; use `icon.alt_text` instead. + "color": { # Represents a color in the RGBA color space. This representation is designed for simplicity of conversion to/from color representations in various languages over compactness. For example, the fields of this representation can be trivially provided to the constructor of `java.awt.Color` in Java; it can also be trivially provided to UIColor's `+colorWithRed:green:blue:alpha` method in iOS; and, with just a little work, it can be easily formatted into a CSS `rgba()` string in JavaScript. This reference page doesn't carry information about the absolute color space that should be used to interpret the RGB value (e.g. sRGB, Adobe RGB, DCI-P3, BT.2020, etc.). By default, applications should assume the sRGB color space. When color equality needs to be decided, implementations, unless documented otherwise, treat two colors as equal if all their red, green, blue, and alpha values each differ by at most 1e-5. Example (Java): import com.google.type.Color; // ... public static java.awt.Color fromProto(Color protocolor) { float alpha = protocolor.hasAlpha() ? protocolor.getAlpha().getValue() : 1.0; return new java.awt.Color( protocolor.getRed(), protocolor.getGreen(), protocolor.getBlue(), alpha); } public static Color toProto(java.awt.Color color) { float red = (float) color.getRed(); float green = (float) color.getGreen(); float blue = (float) color.getBlue(); float denominator = 255.0; Color.Builder resultBuilder = Color .newBuilder() .setRed(red / denominator) .setGreen(green / denominator) .setBlue(blue / denominator); int alpha = color.getAlpha(); if (alpha != 255) { result.setAlpha( FloatValue .newBuilder() .setValue(((float) alpha) / denominator) .build()); } return resultBuilder.build(); } // ... Example (iOS / Obj-C): // ... static UIColor* fromProto(Color* protocolor) { float red = [protocolor red]; float green = [protocolor green]; float blue = [protocolor blue]; FloatValue* alpha_wrapper = [protocolor alpha]; float alpha = 1.0; if (alpha_wrapper != nil) { alpha = [alpha_wrapper value]; } return [UIColor colorWithRed:red green:green blue:blue alpha:alpha]; } static Color* toProto(UIColor* color) { CGFloat red, green, blue, alpha; if (![color getRed:&red green:&green blue:&blue alpha:&alpha]) { return nil; } Color* result = [[Color alloc] init]; [result setRed:red]; [result setGreen:green]; [result setBlue:blue]; if (alpha <= 0.9999) { [result setAlpha:floatWrapperWithValue(alpha)]; } [result autorelease]; return result; } // ... Example (JavaScript): // ... var protoToCssColor = function(rgb_color) { var redFrac = rgb_color.red || 0.0; var greenFrac = rgb_color.green || 0.0; var blueFrac = rgb_color.blue || 0.0; var red = Math.floor(redFrac * 255); var green = Math.floor(greenFrac * 255); var blue = Math.floor(blueFrac * 255); if (!('alpha' in rgb_color)) { return rgbToCssColor(red, green, blue); } var alphaFrac = rgb_color.alpha.value || 0.0; var rgbParams = [red, green, blue].join(','); return ['rgba(', rgbParams, ',', alphaFrac, ')'].join(''); }; var rgbToCssColor = function(red, green, blue) { var rgbNumber = new Number((red << 16) | (green << 8) | blue); var hexString = rgbNumber.toString(16); var missingZeros = 6 - hexString.length; var resultBuilder = ['#']; for (var i = 0; i < missingZeros; i++) { resultBuilder.push('0'); } resultBuilder.push(hexString); return resultBuilder.join(''); }; // ... # If set, the button is filled with a solid background. + "alpha": 3.14, # The fraction of this color that should be applied to the pixel. That is, the final pixel color is defined by the equation: `pixel color = alpha * (this color) + (1.0 - alpha) * (background color)` This means that a value of 1.0 corresponds to a solid color, whereas a value of 0.0 corresponds to a completely transparent color. This uses a wrapper message rather than a simple float scalar so that it is possible to distinguish between a default value and the value being unset. If omitted, this color object is rendered as a solid color (as if the alpha value had been explicitly given a value of 1.0). + "blue": 3.14, # The amount of blue in the color as a value in the interval [0, 1]. + "green": 3.14, # The amount of green in the color as a value in the interval [0, 1]. + "red": 3.14, # The amount of red in the color as a value in the interval [0, 1]. + }, + "disabled": True or False, # If `true`, the button is displayed in a disabled state and doesn't respond to user actions. + "icon": { # The icon image. + "altText": "A String", # The description of the icon, used for accessibility. The default value is provided if you don't specify one. + "iconUrl": "A String", # The icon specified by a URL. + "imageType": "A String", # The crop style applied to the image. In some cases, applying a `CIRCLE` crop causes the image to be drawn larger than a standard icon. + "knownIcon": "A String", # The icon specified by the string name of a list of known icons. + }, + "onClick": { # Represents the response to an `onClick` event. # The action to perform when the button is clicked. + "action": { # An action that describes the behavior when the form is submitted. For example, an Apps Script can be invoked to handle the form. # If specified, an action is triggered by this `onClick`. + "function": "A String", # Apps Script function to invoke when the containing element is clicked/activated. + "loadIndicator": "A String", # Specifies the loading indicator that the action displays while making the call to the action. + "parameters": [ # List of action parameters. + { # List of string parameters to supply when the action method is invoked. For example, consider three snooze buttons: snooze now, snooze 1 day, snooze next week. You might use action method = snooze(), passing the snooze type and snooze time in the list of string parameters. + "key": "A String", # The name of the parameter for the action script. + "value": "A String", # The value of the parameter. + }, + ], + "persistValues": True or False, # Indicates whether form values persist after the action. The default value is `false`. If `true`, form values remain after the action is triggered. When using [LoadIndicator.NONE](workspace/add-ons/reference/rpc/google.apps.card.v1#loadindicator) for actions, `persist_values` = `true`is recommended, as it ensures that any changes made by the user after form or on change actions are sent to the server are not overwritten by the response. If `false`, the form values are cleared when the action is triggered. When `persist_values` is set to `false`, it is strongly recommended that the card use [LoadIndicator.SPINNER](workspace/add-ons/reference/rpc/google.apps.card.v1#loadindicator) for all actions, as this locks the UI to ensure no changes are made by the user while the action is being processed. Not supported by Google Chat apps. + }, + "card": # Object with schema name: GoogleAppsCardV1Card # A new card is pushed to the card stack after clicking if specified. + "openDynamicLinkAction": { # An action that describes the behavior when the form is submitted. For example, an Apps Script can be invoked to handle the form. # An add-on triggers this action when the action needs to open a link. This differs from the `open_link` above in that this needs to talk to server to get the link. Thus some preparation work is required for web client to do before the open link action response comes back. + "function": "A String", # Apps Script function to invoke when the containing element is clicked/activated. + "loadIndicator": "A String", # Specifies the loading indicator that the action displays while making the call to the action. + "parameters": [ # List of action parameters. + { # List of string parameters to supply when the action method is invoked. For example, consider three snooze buttons: snooze now, snooze 1 day, snooze next week. You might use action method = snooze(), passing the snooze type and snooze time in the list of string parameters. + "key": "A String", # The name of the parameter for the action script. + "value": "A String", # The value of the parameter. + }, + ], + "persistValues": True or False, # Indicates whether form values persist after the action. The default value is `false`. If `true`, form values remain after the action is triggered. When using [LoadIndicator.NONE](workspace/add-ons/reference/rpc/google.apps.card.v1#loadindicator) for actions, `persist_values` = `true`is recommended, as it ensures that any changes made by the user after form or on change actions are sent to the server are not overwritten by the response. If `false`, the form values are cleared when the action is triggered. When `persist_values` is set to `false`, it is strongly recommended that the card use [LoadIndicator.SPINNER](workspace/add-ons/reference/rpc/google.apps.card.v1#loadindicator) for all actions, as this locks the UI to ensure no changes are made by the user while the action is being processed. Not supported by Google Chat apps. + }, + "openLink": { # Represents an `onClick` event that opens a hyperlink. # If specified, this `onClick` triggers an open link action. + "onClose": "A String", # Whether the client forgets about a link after opening it, or observes it until the window closes. Not supported by Chat apps. + "openAs": "A String", # How to open a link. Not supported by Chat apps. + "url": "A String", # The URL to open. + }, + }, + "text": "A String", # The text of the button. + }, + ], + }, + "dateTimePicker": { # The widget that lets users to specify a date and time. Not supported by Google Chat apps. # Displays a selection/input widget for date/time. For example, the following JSON creates a date/time picker for an appointment time: ``` "date_time_picker": { "name": "appointment_time", "label": "Book your appointment at:", "type": "DateTimePickerType.DATE_AND_TIME", "valueMsEpoch": "796435200000" } ``` + "label": "A String", # The label for the field that displays to the user. + "name": "A String", # The name of the text input that's used in `formInput`, and uniquely identifies this input. + "onChangeAction": { # An action that describes the behavior when the form is submitted. For example, an Apps Script can be invoked to handle the form. # Triggered when the user clicks Save or Clear from the date/time picker dialog. This is only triggered if the value changed as a result of the Save/Clear operation. + "function": "A String", # Apps Script function to invoke when the containing element is clicked/activated. + "loadIndicator": "A String", # Specifies the loading indicator that the action displays while making the call to the action. + "parameters": [ # List of action parameters. + { # List of string parameters to supply when the action method is invoked. For example, consider three snooze buttons: snooze now, snooze 1 day, snooze next week. You might use action method = snooze(), passing the snooze type and snooze time in the list of string parameters. + "key": "A String", # The name of the parameter for the action script. + "value": "A String", # The value of the parameter. + }, + ], + "persistValues": True or False, # Indicates whether form values persist after the action. The default value is `false`. If `true`, form values remain after the action is triggered. When using [LoadIndicator.NONE](workspace/add-ons/reference/rpc/google.apps.card.v1#loadindicator) for actions, `persist_values` = `true`is recommended, as it ensures that any changes made by the user after form or on change actions are sent to the server are not overwritten by the response. If `false`, the form values are cleared when the action is triggered. When `persist_values` is set to `false`, it is strongly recommended that the card use [LoadIndicator.SPINNER](workspace/add-ons/reference/rpc/google.apps.card.v1#loadindicator) for all actions, as this locks the UI to ensure no changes are made by the user while the action is being processed. Not supported by Google Chat apps. + }, + "timezoneOffsetDate": 42, # The number representing the time zone offset from UTC, in minutes. If set, the `value_ms_epoch` is displayed in the specified time zone. If not set, it uses the user's time zone setting on the client side. + "type": "A String", # The type of the date/time picker. + "valueMsEpoch": "A String", # The value to display as the default value before user input or previous user input. It is represented in milliseconds (Epoch time). For `DATE_AND_TIME` type, the full epoch value is used. For `DATE_ONLY` type, only date of the epoch time is used. For `TIME_ONLY` type, only time of the epoch time is used. For example, you can set epoch time to `3 * 60 * 60 * 1000` to represent 3am. + }, + "decoratedText": { # A widget that displays text with optional decorations such as a label above or below the text, an icon in front of the text, a selection widget or a button after the text. # Displays a decorated text item in this widget. For example, the following JSON creates a decorated text widget showing email address: ``` "decoratedText": { "icon": { "knownIcon": "EMAIL" }, "topLabel": "Email Address", "content": "sasha@example.com", "bottomLabel": "This is a new Email address!", "switchWidget": { "name": "has_send_welcome_email_to_sasha", "selected": false, "controlType": "ControlType.CHECKBOX" } } ``` + "bottomLabel": "A String", # The formatted text label that shows below the main text. + "button": { # A button. Can be a text button or an image button. # A button that can be clicked to trigger an action. + "altText": "A String", # The alternative text used for accessibility. Has no effect when an icon is set; use `icon.alt_text` instead. + "color": { # Represents a color in the RGBA color space. This representation is designed for simplicity of conversion to/from color representations in various languages over compactness. For example, the fields of this representation can be trivially provided to the constructor of `java.awt.Color` in Java; it can also be trivially provided to UIColor's `+colorWithRed:green:blue:alpha` method in iOS; and, with just a little work, it can be easily formatted into a CSS `rgba()` string in JavaScript. This reference page doesn't carry information about the absolute color space that should be used to interpret the RGB value (e.g. sRGB, Adobe RGB, DCI-P3, BT.2020, etc.). By default, applications should assume the sRGB color space. When color equality needs to be decided, implementations, unless documented otherwise, treat two colors as equal if all their red, green, blue, and alpha values each differ by at most 1e-5. Example (Java): import com.google.type.Color; // ... public static java.awt.Color fromProto(Color protocolor) { float alpha = protocolor.hasAlpha() ? protocolor.getAlpha().getValue() : 1.0; return new java.awt.Color( protocolor.getRed(), protocolor.getGreen(), protocolor.getBlue(), alpha); } public static Color toProto(java.awt.Color color) { float red = (float) color.getRed(); float green = (float) color.getGreen(); float blue = (float) color.getBlue(); float denominator = 255.0; Color.Builder resultBuilder = Color .newBuilder() .setRed(red / denominator) .setGreen(green / denominator) .setBlue(blue / denominator); int alpha = color.getAlpha(); if (alpha != 255) { result.setAlpha( FloatValue .newBuilder() .setValue(((float) alpha) / denominator) .build()); } return resultBuilder.build(); } // ... Example (iOS / Obj-C): // ... static UIColor* fromProto(Color* protocolor) { float red = [protocolor red]; float green = [protocolor green]; float blue = [protocolor blue]; FloatValue* alpha_wrapper = [protocolor alpha]; float alpha = 1.0; if (alpha_wrapper != nil) { alpha = [alpha_wrapper value]; } return [UIColor colorWithRed:red green:green blue:blue alpha:alpha]; } static Color* toProto(UIColor* color) { CGFloat red, green, blue, alpha; if (![color getRed:&red green:&green blue:&blue alpha:&alpha]) { return nil; } Color* result = [[Color alloc] init]; [result setRed:red]; [result setGreen:green]; [result setBlue:blue]; if (alpha <= 0.9999) { [result setAlpha:floatWrapperWithValue(alpha)]; } [result autorelease]; return result; } // ... Example (JavaScript): // ... var protoToCssColor = function(rgb_color) { var redFrac = rgb_color.red || 0.0; var greenFrac = rgb_color.green || 0.0; var blueFrac = rgb_color.blue || 0.0; var red = Math.floor(redFrac * 255); var green = Math.floor(greenFrac * 255); var blue = Math.floor(blueFrac * 255); if (!('alpha' in rgb_color)) { return rgbToCssColor(red, green, blue); } var alphaFrac = rgb_color.alpha.value || 0.0; var rgbParams = [red, green, blue].join(','); return ['rgba(', rgbParams, ',', alphaFrac, ')'].join(''); }; var rgbToCssColor = function(red, green, blue) { var rgbNumber = new Number((red << 16) | (green << 8) | blue); var hexString = rgbNumber.toString(16); var missingZeros = 6 - hexString.length; var resultBuilder = ['#']; for (var i = 0; i < missingZeros; i++) { resultBuilder.push('0'); } resultBuilder.push(hexString); return resultBuilder.join(''); }; // ... # If set, the button is filled with a solid background. + "alpha": 3.14, # The fraction of this color that should be applied to the pixel. That is, the final pixel color is defined by the equation: `pixel color = alpha * (this color) + (1.0 - alpha) * (background color)` This means that a value of 1.0 corresponds to a solid color, whereas a value of 0.0 corresponds to a completely transparent color. This uses a wrapper message rather than a simple float scalar so that it is possible to distinguish between a default value and the value being unset. If omitted, this color object is rendered as a solid color (as if the alpha value had been explicitly given a value of 1.0). + "blue": 3.14, # The amount of blue in the color as a value in the interval [0, 1]. + "green": 3.14, # The amount of green in the color as a value in the interval [0, 1]. + "red": 3.14, # The amount of red in the color as a value in the interval [0, 1]. + }, + "disabled": True or False, # If `true`, the button is displayed in a disabled state and doesn't respond to user actions. + "icon": { # The icon image. + "altText": "A String", # The description of the icon, used for accessibility. The default value is provided if you don't specify one. + "iconUrl": "A String", # The icon specified by a URL. + "imageType": "A String", # The crop style applied to the image. In some cases, applying a `CIRCLE` crop causes the image to be drawn larger than a standard icon. + "knownIcon": "A String", # The icon specified by the string name of a list of known icons. + }, + "onClick": { # Represents the response to an `onClick` event. # The action to perform when the button is clicked. + "action": { # An action that describes the behavior when the form is submitted. For example, an Apps Script can be invoked to handle the form. # If specified, an action is triggered by this `onClick`. + "function": "A String", # Apps Script function to invoke when the containing element is clicked/activated. + "loadIndicator": "A String", # Specifies the loading indicator that the action displays while making the call to the action. + "parameters": [ # List of action parameters. + { # List of string parameters to supply when the action method is invoked. For example, consider three snooze buttons: snooze now, snooze 1 day, snooze next week. You might use action method = snooze(), passing the snooze type and snooze time in the list of string parameters. + "key": "A String", # The name of the parameter for the action script. + "value": "A String", # The value of the parameter. + }, + ], + "persistValues": True or False, # Indicates whether form values persist after the action. The default value is `false`. If `true`, form values remain after the action is triggered. When using [LoadIndicator.NONE](workspace/add-ons/reference/rpc/google.apps.card.v1#loadindicator) for actions, `persist_values` = `true`is recommended, as it ensures that any changes made by the user after form or on change actions are sent to the server are not overwritten by the response. If `false`, the form values are cleared when the action is triggered. When `persist_values` is set to `false`, it is strongly recommended that the card use [LoadIndicator.SPINNER](workspace/add-ons/reference/rpc/google.apps.card.v1#loadindicator) for all actions, as this locks the UI to ensure no changes are made by the user while the action is being processed. Not supported by Google Chat apps. + }, + "card": # Object with schema name: GoogleAppsCardV1Card # A new card is pushed to the card stack after clicking if specified. + "openDynamicLinkAction": { # An action that describes the behavior when the form is submitted. For example, an Apps Script can be invoked to handle the form. # An add-on triggers this action when the action needs to open a link. This differs from the `open_link` above in that this needs to talk to server to get the link. Thus some preparation work is required for web client to do before the open link action response comes back. + "function": "A String", # Apps Script function to invoke when the containing element is clicked/activated. + "loadIndicator": "A String", # Specifies the loading indicator that the action displays while making the call to the action. + "parameters": [ # List of action parameters. + { # List of string parameters to supply when the action method is invoked. For example, consider three snooze buttons: snooze now, snooze 1 day, snooze next week. You might use action method = snooze(), passing the snooze type and snooze time in the list of string parameters. + "key": "A String", # The name of the parameter for the action script. + "value": "A String", # The value of the parameter. + }, + ], + "persistValues": True or False, # Indicates whether form values persist after the action. The default value is `false`. If `true`, form values remain after the action is triggered. When using [LoadIndicator.NONE](workspace/add-ons/reference/rpc/google.apps.card.v1#loadindicator) for actions, `persist_values` = `true`is recommended, as it ensures that any changes made by the user after form or on change actions are sent to the server are not overwritten by the response. If `false`, the form values are cleared when the action is triggered. When `persist_values` is set to `false`, it is strongly recommended that the card use [LoadIndicator.SPINNER](workspace/add-ons/reference/rpc/google.apps.card.v1#loadindicator) for all actions, as this locks the UI to ensure no changes are made by the user while the action is being processed. Not supported by Google Chat apps. + }, + "openLink": { # Represents an `onClick` event that opens a hyperlink. # If specified, this `onClick` triggers an open link action. + "onClose": "A String", # Whether the client forgets about a link after opening it, or observes it until the window closes. Not supported by Chat apps. + "openAs": "A String", # How to open a link. Not supported by Chat apps. + "url": "A String", # The URL to open. + }, + }, + "text": "A String", # The text of the button. + }, + "endIcon": { # An icon displayed after the text. + "altText": "A String", # The description of the icon, used for accessibility. The default value is provided if you don't specify one. + "iconUrl": "A String", # The icon specified by a URL. + "imageType": "A String", # The crop style applied to the image. In some cases, applying a `CIRCLE` crop causes the image to be drawn larger than a standard icon. + "knownIcon": "A String", # The icon specified by the string name of a list of known icons. + }, + "icon": { # Deprecated in favor of start_icon. + "altText": "A String", # The description of the icon, used for accessibility. The default value is provided if you don't specify one. + "iconUrl": "A String", # The icon specified by a URL. + "imageType": "A String", # The crop style applied to the image. In some cases, applying a `CIRCLE` crop causes the image to be drawn larger than a standard icon. + "knownIcon": "A String", # The icon specified by the string name of a list of known icons. + }, + "onClick": { # Represents the response to an `onClick` event. # Only the top and bottom label and content region are clickable. + "action": { # An action that describes the behavior when the form is submitted. For example, an Apps Script can be invoked to handle the form. # If specified, an action is triggered by this `onClick`. + "function": "A String", # Apps Script function to invoke when the containing element is clicked/activated. + "loadIndicator": "A String", # Specifies the loading indicator that the action displays while making the call to the action. + "parameters": [ # List of action parameters. + { # List of string parameters to supply when the action method is invoked. For example, consider three snooze buttons: snooze now, snooze 1 day, snooze next week. You might use action method = snooze(), passing the snooze type and snooze time in the list of string parameters. + "key": "A String", # The name of the parameter for the action script. + "value": "A String", # The value of the parameter. + }, + ], + "persistValues": True or False, # Indicates whether form values persist after the action. The default value is `false`. If `true`, form values remain after the action is triggered. When using [LoadIndicator.NONE](workspace/add-ons/reference/rpc/google.apps.card.v1#loadindicator) for actions, `persist_values` = `true`is recommended, as it ensures that any changes made by the user after form or on change actions are sent to the server are not overwritten by the response. If `false`, the form values are cleared when the action is triggered. When `persist_values` is set to `false`, it is strongly recommended that the card use [LoadIndicator.SPINNER](workspace/add-ons/reference/rpc/google.apps.card.v1#loadindicator) for all actions, as this locks the UI to ensure no changes are made by the user while the action is being processed. Not supported by Google Chat apps. + }, + "card": # Object with schema name: GoogleAppsCardV1Card # A new card is pushed to the card stack after clicking if specified. + "openDynamicLinkAction": { # An action that describes the behavior when the form is submitted. For example, an Apps Script can be invoked to handle the form. # An add-on triggers this action when the action needs to open a link. This differs from the `open_link` above in that this needs to talk to server to get the link. Thus some preparation work is required for web client to do before the open link action response comes back. + "function": "A String", # Apps Script function to invoke when the containing element is clicked/activated. + "loadIndicator": "A String", # Specifies the loading indicator that the action displays while making the call to the action. + "parameters": [ # List of action parameters. + { # List of string parameters to supply when the action method is invoked. For example, consider three snooze buttons: snooze now, snooze 1 day, snooze next week. You might use action method = snooze(), passing the snooze type and snooze time in the list of string parameters. + "key": "A String", # The name of the parameter for the action script. + "value": "A String", # The value of the parameter. + }, + ], + "persistValues": True or False, # Indicates whether form values persist after the action. The default value is `false`. If `true`, form values remain after the action is triggered. When using [LoadIndicator.NONE](workspace/add-ons/reference/rpc/google.apps.card.v1#loadindicator) for actions, `persist_values` = `true`is recommended, as it ensures that any changes made by the user after form or on change actions are sent to the server are not overwritten by the response. If `false`, the form values are cleared when the action is triggered. When `persist_values` is set to `false`, it is strongly recommended that the card use [LoadIndicator.SPINNER](workspace/add-ons/reference/rpc/google.apps.card.v1#loadindicator) for all actions, as this locks the UI to ensure no changes are made by the user while the action is being processed. Not supported by Google Chat apps. + }, + "openLink": { # Represents an `onClick` event that opens a hyperlink. # If specified, this `onClick` triggers an open link action. + "onClose": "A String", # Whether the client forgets about a link after opening it, or observes it until the window closes. Not supported by Chat apps. + "openAs": "A String", # How to open a link. Not supported by Chat apps. + "url": "A String", # The URL to open. + }, + }, + "startIcon": { # The icon displayed in front of the text. + "altText": "A String", # The description of the icon, used for accessibility. The default value is provided if you don't specify one. + "iconUrl": "A String", # The icon specified by a URL. + "imageType": "A String", # The crop style applied to the image. In some cases, applying a `CIRCLE` crop causes the image to be drawn larger than a standard icon. + "knownIcon": "A String", # The icon specified by the string name of a list of known icons. + }, + "switchControl": { # Either a toggle-style switch or a checkbox. # A switch widget can be clicked to change its state or trigger an action. + "controlType": "A String", # The control type, either switch or checkbox. + "name": "A String", # The name of the switch widget that's used in `formInput`. + "onChangeAction": { # An action that describes the behavior when the form is submitted. For example, an Apps Script can be invoked to handle the form. # The action when the switch state is changed. + "function": "A String", # Apps Script function to invoke when the containing element is clicked/activated. + "loadIndicator": "A String", # Specifies the loading indicator that the action displays while making the call to the action. + "parameters": [ # List of action parameters. + { # List of string parameters to supply when the action method is invoked. For example, consider three snooze buttons: snooze now, snooze 1 day, snooze next week. You might use action method = snooze(), passing the snooze type and snooze time in the list of string parameters. + "key": "A String", # The name of the parameter for the action script. + "value": "A String", # The value of the parameter. + }, + ], + "persistValues": True or False, # Indicates whether form values persist after the action. The default value is `false`. If `true`, form values remain after the action is triggered. When using [LoadIndicator.NONE](workspace/add-ons/reference/rpc/google.apps.card.v1#loadindicator) for actions, `persist_values` = `true`is recommended, as it ensures that any changes made by the user after form or on change actions are sent to the server are not overwritten by the response. If `false`, the form values are cleared when the action is triggered. When `persist_values` is set to `false`, it is strongly recommended that the card use [LoadIndicator.SPINNER](workspace/add-ons/reference/rpc/google.apps.card.v1#loadindicator) for all actions, as this locks the UI to ensure no changes are made by the user while the action is being processed. Not supported by Google Chat apps. + }, + "selected": True or False, # If the switch is selected. + "value": "A String", # The value is what is passed back in the callback. + }, + "text": "A String", # Required. The main widget formatted text. See Text formatting for details. + "topLabel": "A String", # The formatted text label that shows above the main text. + "wrapText": True or False, # The wrap text setting. If `true`, the text is wrapped and displayed in multiline. Otherwise, the text is truncated. + }, + "divider": { # A divider that appears in between widgets. # Displays a divider. For example, the following JSON creates a divider: ``` "divider": { } ``` + }, + "grid": { # Represents a Grid widget that displays items in a configurable grid layout. # Displays a grid with a collection of items. For example, the following JSON creates a 2 column grid with a single item: ``` "grid": { "title": "A fine collection of items", "numColumns": 2, "borderStyle": { "type": "STROKE", "cornerRadius": 4.0 }, "items": [ "image": { "imageUri": "https://www.example.com/image.png", "cropStyle": { "type": "SQUARE" }, "borderStyle": { "type": "STROKE" } }, "title": "An item", "textAlignment": "CENTER" ], "onClick": { "openLink": { "url":"https://www.example.com" } } } ``` + "borderStyle": { # Represents the complete border style applied to widgets. # The border style to apply to each grid item. + "cornerRadius": 42, # The corner radius for the border. + "strokeColor": { # Represents a color in the RGBA color space. This representation is designed for simplicity of conversion to/from color representations in various languages over compactness. For example, the fields of this representation can be trivially provided to the constructor of `java.awt.Color` in Java; it can also be trivially provided to UIColor's `+colorWithRed:green:blue:alpha` method in iOS; and, with just a little work, it can be easily formatted into a CSS `rgba()` string in JavaScript. This reference page doesn't carry information about the absolute color space that should be used to interpret the RGB value (e.g. sRGB, Adobe RGB, DCI-P3, BT.2020, etc.). By default, applications should assume the sRGB color space. When color equality needs to be decided, implementations, unless documented otherwise, treat two colors as equal if all their red, green, blue, and alpha values each differ by at most 1e-5. Example (Java): import com.google.type.Color; // ... public static java.awt.Color fromProto(Color protocolor) { float alpha = protocolor.hasAlpha() ? protocolor.getAlpha().getValue() : 1.0; return new java.awt.Color( protocolor.getRed(), protocolor.getGreen(), protocolor.getBlue(), alpha); } public static Color toProto(java.awt.Color color) { float red = (float) color.getRed(); float green = (float) color.getGreen(); float blue = (float) color.getBlue(); float denominator = 255.0; Color.Builder resultBuilder = Color .newBuilder() .setRed(red / denominator) .setGreen(green / denominator) .setBlue(blue / denominator); int alpha = color.getAlpha(); if (alpha != 255) { result.setAlpha( FloatValue .newBuilder() .setValue(((float) alpha) / denominator) .build()); } return resultBuilder.build(); } // ... Example (iOS / Obj-C): // ... static UIColor* fromProto(Color* protocolor) { float red = [protocolor red]; float green = [protocolor green]; float blue = [protocolor blue]; FloatValue* alpha_wrapper = [protocolor alpha]; float alpha = 1.0; if (alpha_wrapper != nil) { alpha = [alpha_wrapper value]; } return [UIColor colorWithRed:red green:green blue:blue alpha:alpha]; } static Color* toProto(UIColor* color) { CGFloat red, green, blue, alpha; if (![color getRed:&red green:&green blue:&blue alpha:&alpha]) { return nil; } Color* result = [[Color alloc] init]; [result setRed:red]; [result setGreen:green]; [result setBlue:blue]; if (alpha <= 0.9999) { [result setAlpha:floatWrapperWithValue(alpha)]; } [result autorelease]; return result; } // ... Example (JavaScript): // ... var protoToCssColor = function(rgb_color) { var redFrac = rgb_color.red || 0.0; var greenFrac = rgb_color.green || 0.0; var blueFrac = rgb_color.blue || 0.0; var red = Math.floor(redFrac * 255); var green = Math.floor(greenFrac * 255); var blue = Math.floor(blueFrac * 255); if (!('alpha' in rgb_color)) { return rgbToCssColor(red, green, blue); } var alphaFrac = rgb_color.alpha.value || 0.0; var rgbParams = [red, green, blue].join(','); return ['rgba(', rgbParams, ',', alphaFrac, ')'].join(''); }; var rgbToCssColor = function(red, green, blue) { var rgbNumber = new Number((red << 16) | (green << 8) | blue); var hexString = rgbNumber.toString(16); var missingZeros = 6 - hexString.length; var resultBuilder = ['#']; for (var i = 0; i < missingZeros; i++) { resultBuilder.push('0'); } resultBuilder.push(hexString); return resultBuilder.join(''); }; // ... # The colors to use when the type is `BORDER_TYPE_STROKE`. + "alpha": 3.14, # The fraction of this color that should be applied to the pixel. That is, the final pixel color is defined by the equation: `pixel color = alpha * (this color) + (1.0 - alpha) * (background color)` This means that a value of 1.0 corresponds to a solid color, whereas a value of 0.0 corresponds to a completely transparent color. This uses a wrapper message rather than a simple float scalar so that it is possible to distinguish between a default value and the value being unset. If omitted, this color object is rendered as a solid color (as if the alpha value had been explicitly given a value of 1.0). + "blue": 3.14, # The amount of blue in the color as a value in the interval [0, 1]. + "green": 3.14, # The amount of green in the color as a value in the interval [0, 1]. + "red": 3.14, # The amount of red in the color as a value in the interval [0, 1]. + }, + "type": "A String", # The border type. + }, + "columnCount": 42, # The number of columns to display in the grid. A default value is used if this field isn't specified, and that default value is different depending on where the grid is shown (dialog versus companion). + "items": [ # The items to display in the grid. + { # Represents a single item in the grid layout. + "id": "A String", # A user-specified identifier for this grid item. This identifier is returned in the parent Grid's onClick callback parameters. + "image": { # Represents an image. # The image that displays in the grid item. + "altText": "A String", # The accessibility label for the image. + "borderStyle": { # Represents the complete border style applied to widgets. # The border style to apply to the image. + "cornerRadius": 42, # The corner radius for the border. + "strokeColor": { # Represents a color in the RGBA color space. This representation is designed for simplicity of conversion to/from color representations in various languages over compactness. For example, the fields of this representation can be trivially provided to the constructor of `java.awt.Color` in Java; it can also be trivially provided to UIColor's `+colorWithRed:green:blue:alpha` method in iOS; and, with just a little work, it can be easily formatted into a CSS `rgba()` string in JavaScript. This reference page doesn't carry information about the absolute color space that should be used to interpret the RGB value (e.g. sRGB, Adobe RGB, DCI-P3, BT.2020, etc.). By default, applications should assume the sRGB color space. When color equality needs to be decided, implementations, unless documented otherwise, treat two colors as equal if all their red, green, blue, and alpha values each differ by at most 1e-5. Example (Java): import com.google.type.Color; // ... public static java.awt.Color fromProto(Color protocolor) { float alpha = protocolor.hasAlpha() ? protocolor.getAlpha().getValue() : 1.0; return new java.awt.Color( protocolor.getRed(), protocolor.getGreen(), protocolor.getBlue(), alpha); } public static Color toProto(java.awt.Color color) { float red = (float) color.getRed(); float green = (float) color.getGreen(); float blue = (float) color.getBlue(); float denominator = 255.0; Color.Builder resultBuilder = Color .newBuilder() .setRed(red / denominator) .setGreen(green / denominator) .setBlue(blue / denominator); int alpha = color.getAlpha(); if (alpha != 255) { result.setAlpha( FloatValue .newBuilder() .setValue(((float) alpha) / denominator) .build()); } return resultBuilder.build(); } // ... Example (iOS / Obj-C): // ... static UIColor* fromProto(Color* protocolor) { float red = [protocolor red]; float green = [protocolor green]; float blue = [protocolor blue]; FloatValue* alpha_wrapper = [protocolor alpha]; float alpha = 1.0; if (alpha_wrapper != nil) { alpha = [alpha_wrapper value]; } return [UIColor colorWithRed:red green:green blue:blue alpha:alpha]; } static Color* toProto(UIColor* color) { CGFloat red, green, blue, alpha; if (![color getRed:&red green:&green blue:&blue alpha:&alpha]) { return nil; } Color* result = [[Color alloc] init]; [result setRed:red]; [result setGreen:green]; [result setBlue:blue]; if (alpha <= 0.9999) { [result setAlpha:floatWrapperWithValue(alpha)]; } [result autorelease]; return result; } // ... Example (JavaScript): // ... var protoToCssColor = function(rgb_color) { var redFrac = rgb_color.red || 0.0; var greenFrac = rgb_color.green || 0.0; var blueFrac = rgb_color.blue || 0.0; var red = Math.floor(redFrac * 255); var green = Math.floor(greenFrac * 255); var blue = Math.floor(blueFrac * 255); if (!('alpha' in rgb_color)) { return rgbToCssColor(red, green, blue); } var alphaFrac = rgb_color.alpha.value || 0.0; var rgbParams = [red, green, blue].join(','); return ['rgba(', rgbParams, ',', alphaFrac, ')'].join(''); }; var rgbToCssColor = function(red, green, blue) { var rgbNumber = new Number((red << 16) | (green << 8) | blue); var hexString = rgbNumber.toString(16); var missingZeros = 6 - hexString.length; var resultBuilder = ['#']; for (var i = 0; i < missingZeros; i++) { resultBuilder.push('0'); } resultBuilder.push(hexString); return resultBuilder.join(''); }; // ... # The colors to use when the type is `BORDER_TYPE_STROKE`. + "alpha": 3.14, # The fraction of this color that should be applied to the pixel. That is, the final pixel color is defined by the equation: `pixel color = alpha * (this color) + (1.0 - alpha) * (background color)` This means that a value of 1.0 corresponds to a solid color, whereas a value of 0.0 corresponds to a completely transparent color. This uses a wrapper message rather than a simple float scalar so that it is possible to distinguish between a default value and the value being unset. If omitted, this color object is rendered as a solid color (as if the alpha value had been explicitly given a value of 1.0). + "blue": 3.14, # The amount of blue in the color as a value in the interval [0, 1]. + "green": 3.14, # The amount of green in the color as a value in the interval [0, 1]. + "red": 3.14, # The amount of red in the color as a value in the interval [0, 1]. + }, + "type": "A String", # The border type. + }, + "cropStyle": { # Represents the crop style applied to an image. # The crop style to apply to the image. + "aspectRatio": 3.14, # The aspect ratio to use if the crop type is `RECTANGLE_CUSTOM`. + "type": "A String", # The crop type. + }, + "imageUri": "A String", # The image URL. + }, + "layout": "A String", # The layout to use for the grid item. + "subtitle": "A String", # The grid item's subtitle. + "textAlignment": "A String", # The horizontal alignment of the grid item's text. + "title": "A String", # The grid item's title. + }, + ], + "onClick": { # Represents the response to an `onClick` event. # This callback is reused by each individual grid item, but with the item's identifier and index in the items list added to the callback's parameters. + "action": { # An action that describes the behavior when the form is submitted. For example, an Apps Script can be invoked to handle the form. # If specified, an action is triggered by this `onClick`. + "function": "A String", # Apps Script function to invoke when the containing element is clicked/activated. + "loadIndicator": "A String", # Specifies the loading indicator that the action displays while making the call to the action. + "parameters": [ # List of action parameters. + { # List of string parameters to supply when the action method is invoked. For example, consider three snooze buttons: snooze now, snooze 1 day, snooze next week. You might use action method = snooze(), passing the snooze type and snooze time in the list of string parameters. + "key": "A String", # The name of the parameter for the action script. + "value": "A String", # The value of the parameter. + }, + ], + "persistValues": True or False, # Indicates whether form values persist after the action. The default value is `false`. If `true`, form values remain after the action is triggered. When using [LoadIndicator.NONE](workspace/add-ons/reference/rpc/google.apps.card.v1#loadindicator) for actions, `persist_values` = `true`is recommended, as it ensures that any changes made by the user after form or on change actions are sent to the server are not overwritten by the response. If `false`, the form values are cleared when the action is triggered. When `persist_values` is set to `false`, it is strongly recommended that the card use [LoadIndicator.SPINNER](workspace/add-ons/reference/rpc/google.apps.card.v1#loadindicator) for all actions, as this locks the UI to ensure no changes are made by the user while the action is being processed. Not supported by Google Chat apps. + }, + "card": # Object with schema name: GoogleAppsCardV1Card # A new card is pushed to the card stack after clicking if specified. + "openDynamicLinkAction": { # An action that describes the behavior when the form is submitted. For example, an Apps Script can be invoked to handle the form. # An add-on triggers this action when the action needs to open a link. This differs from the `open_link` above in that this needs to talk to server to get the link. Thus some preparation work is required for web client to do before the open link action response comes back. + "function": "A String", # Apps Script function to invoke when the containing element is clicked/activated. + "loadIndicator": "A String", # Specifies the loading indicator that the action displays while making the call to the action. + "parameters": [ # List of action parameters. + { # List of string parameters to supply when the action method is invoked. For example, consider three snooze buttons: snooze now, snooze 1 day, snooze next week. You might use action method = snooze(), passing the snooze type and snooze time in the list of string parameters. + "key": "A String", # The name of the parameter for the action script. + "value": "A String", # The value of the parameter. + }, + ], + "persistValues": True or False, # Indicates whether form values persist after the action. The default value is `false`. If `true`, form values remain after the action is triggered. When using [LoadIndicator.NONE](workspace/add-ons/reference/rpc/google.apps.card.v1#loadindicator) for actions, `persist_values` = `true`is recommended, as it ensures that any changes made by the user after form or on change actions are sent to the server are not overwritten by the response. If `false`, the form values are cleared when the action is triggered. When `persist_values` is set to `false`, it is strongly recommended that the card use [LoadIndicator.SPINNER](workspace/add-ons/reference/rpc/google.apps.card.v1#loadindicator) for all actions, as this locks the UI to ensure no changes are made by the user while the action is being processed. Not supported by Google Chat apps. + }, + "openLink": { # Represents an `onClick` event that opens a hyperlink. # If specified, this `onClick` triggers an open link action. + "onClose": "A String", # Whether the client forgets about a link after opening it, or observes it until the window closes. Not supported by Chat apps. + "openAs": "A String", # How to open a link. Not supported by Chat apps. + "url": "A String", # The URL to open. + }, + }, + "title": "A String", # The text that displays in the grid header. + }, + "horizontalAlignment": "A String", # The horizontal alignment of this widget. + "image": { # An image that is specified by a URL and can have an `onClick` action. # Displays an image in this widget. For example, the following JSON creates an image with alternative text: ``` "image": { "imageUrl": "https://example.com/sasha.png" "altText": "Avatar for Sasha" } ``` + "altText": "A String", # The alternative text of this image, used for accessibility. + "imageUrl": "A String", # An image URL. + "onClick": { # Represents the response to an `onClick` event. # The action triggered by an `onClick` event. + "action": { # An action that describes the behavior when the form is submitted. For example, an Apps Script can be invoked to handle the form. # If specified, an action is triggered by this `onClick`. + "function": "A String", # Apps Script function to invoke when the containing element is clicked/activated. + "loadIndicator": "A String", # Specifies the loading indicator that the action displays while making the call to the action. + "parameters": [ # List of action parameters. + { # List of string parameters to supply when the action method is invoked. For example, consider three snooze buttons: snooze now, snooze 1 day, snooze next week. You might use action method = snooze(), passing the snooze type and snooze time in the list of string parameters. + "key": "A String", # The name of the parameter for the action script. + "value": "A String", # The value of the parameter. + }, + ], + "persistValues": True or False, # Indicates whether form values persist after the action. The default value is `false`. If `true`, form values remain after the action is triggered. When using [LoadIndicator.NONE](workspace/add-ons/reference/rpc/google.apps.card.v1#loadindicator) for actions, `persist_values` = `true`is recommended, as it ensures that any changes made by the user after form or on change actions are sent to the server are not overwritten by the response. If `false`, the form values are cleared when the action is triggered. When `persist_values` is set to `false`, it is strongly recommended that the card use [LoadIndicator.SPINNER](workspace/add-ons/reference/rpc/google.apps.card.v1#loadindicator) for all actions, as this locks the UI to ensure no changes are made by the user while the action is being processed. Not supported by Google Chat apps. + }, + "card": # Object with schema name: GoogleAppsCardV1Card # A new card is pushed to the card stack after clicking if specified. + "openDynamicLinkAction": { # An action that describes the behavior when the form is submitted. For example, an Apps Script can be invoked to handle the form. # An add-on triggers this action when the action needs to open a link. This differs from the `open_link` above in that this needs to talk to server to get the link. Thus some preparation work is required for web client to do before the open link action response comes back. + "function": "A String", # Apps Script function to invoke when the containing element is clicked/activated. + "loadIndicator": "A String", # Specifies the loading indicator that the action displays while making the call to the action. + "parameters": [ # List of action parameters. + { # List of string parameters to supply when the action method is invoked. For example, consider three snooze buttons: snooze now, snooze 1 day, snooze next week. You might use action method = snooze(), passing the snooze type and snooze time in the list of string parameters. + "key": "A String", # The name of the parameter for the action script. + "value": "A String", # The value of the parameter. + }, + ], + "persistValues": True or False, # Indicates whether form values persist after the action. The default value is `false`. If `true`, form values remain after the action is triggered. When using [LoadIndicator.NONE](workspace/add-ons/reference/rpc/google.apps.card.v1#loadindicator) for actions, `persist_values` = `true`is recommended, as it ensures that any changes made by the user after form or on change actions are sent to the server are not overwritten by the response. If `false`, the form values are cleared when the action is triggered. When `persist_values` is set to `false`, it is strongly recommended that the card use [LoadIndicator.SPINNER](workspace/add-ons/reference/rpc/google.apps.card.v1#loadindicator) for all actions, as this locks the UI to ensure no changes are made by the user while the action is being processed. Not supported by Google Chat apps. + }, + "openLink": { # Represents an `onClick` event that opens a hyperlink. # If specified, this `onClick` triggers an open link action. + "onClose": "A String", # Whether the client forgets about a link after opening it, or observes it until the window closes. Not supported by Chat apps. + "openAs": "A String", # How to open a link. Not supported by Chat apps. + "url": "A String", # The URL to open. + }, + }, + }, + "selectionInput": { # A widget that creates a UI item with options for users to select. For example, a dropdown menu. # Displays a switch control in this widget. For example, the following JSON creates a dropdown selection for size: ``` "switchControl": { "name": "size", "label": "Size" "type": "SelectionType.DROPDOWN", "items": [ { "text": "S", "value": "small", "selected": false }, { "text": "M", "value": "medium", "selected": true }, { "text": "L", "value": "large", "selected": false }, { "text": "XL", "value": "extra_large", "selected": false } ] } ``` + "items": [ # An array of the selected items. + { # A selectable item in the switch control. + "selected": True or False, # If more than one item is selected for `RADIO_BUTTON` and `DROPDOWN`, the first selected item is treated as selected and the ones after are ignored. + "text": "A String", # The text to be displayed. + "value": "A String", # The value associated with this item. The client should use this as a form input value. + }, + ], + "label": "A String", # The label displayed ahead of the switch control. + "name": "A String", # The name of the text input which is used in `formInput`. + "onChangeAction": { # An action that describes the behavior when the form is submitted. For example, an Apps Script can be invoked to handle the form. # If specified, the form is submitted when the selection changes. If not specified, you must specify a separate button. + "function": "A String", # Apps Script function to invoke when the containing element is clicked/activated. + "loadIndicator": "A String", # Specifies the loading indicator that the action displays while making the call to the action. + "parameters": [ # List of action parameters. + { # List of string parameters to supply when the action method is invoked. For example, consider three snooze buttons: snooze now, snooze 1 day, snooze next week. You might use action method = snooze(), passing the snooze type and snooze time in the list of string parameters. + "key": "A String", # The name of the parameter for the action script. + "value": "A String", # The value of the parameter. + }, + ], + "persistValues": True or False, # Indicates whether form values persist after the action. The default value is `false`. If `true`, form values remain after the action is triggered. When using [LoadIndicator.NONE](workspace/add-ons/reference/rpc/google.apps.card.v1#loadindicator) for actions, `persist_values` = `true`is recommended, as it ensures that any changes made by the user after form or on change actions are sent to the server are not overwritten by the response. If `false`, the form values are cleared when the action is triggered. When `persist_values` is set to `false`, it is strongly recommended that the card use [LoadIndicator.SPINNER](workspace/add-ons/reference/rpc/google.apps.card.v1#loadindicator) for all actions, as this locks the UI to ensure no changes are made by the user while the action is being processed. Not supported by Google Chat apps. + }, + "type": "A String", # The type of the selection. + }, + "textInput": { # A text input is a UI item where users can input text. A text input can also have an onChange action and suggestions. # Displays a text input in this widget. For example, the following JSON creates a text input for mail address: ``` "textInput": { "name": "mailing_address", "label": "Mailing Address" } ``` As another example, the following JSON creates a text input for programming language with static suggestions: ``` "textInput": { "name": "preferred_programing_language", "label": "Preferred Language", "initialSuggestions": { "items": [ { "text": "C++" }, { "text": "Java" }, { "text": "JavaScript" }, { "text": "Python" } ] } } ``` + "autoCompleteAction": { # An action that describes the behavior when the form is submitted. For example, an Apps Script can be invoked to handle the form. # The refresh function that returns suggestions based on the user's input text. If the callback is not specified, autocomplete is done in client side based on the initial suggestion items. + "function": "A String", # Apps Script function to invoke when the containing element is clicked/activated. + "loadIndicator": "A String", # Specifies the loading indicator that the action displays while making the call to the action. + "parameters": [ # List of action parameters. + { # List of string parameters to supply when the action method is invoked. For example, consider three snooze buttons: snooze now, snooze 1 day, snooze next week. You might use action method = snooze(), passing the snooze type and snooze time in the list of string parameters. + "key": "A String", # The name of the parameter for the action script. + "value": "A String", # The value of the parameter. + }, + ], + "persistValues": True or False, # Indicates whether form values persist after the action. The default value is `false`. If `true`, form values remain after the action is triggered. When using [LoadIndicator.NONE](workspace/add-ons/reference/rpc/google.apps.card.v1#loadindicator) for actions, `persist_values` = `true`is recommended, as it ensures that any changes made by the user after form or on change actions are sent to the server are not overwritten by the response. If `false`, the form values are cleared when the action is triggered. When `persist_values` is set to `false`, it is strongly recommended that the card use [LoadIndicator.SPINNER](workspace/add-ons/reference/rpc/google.apps.card.v1#loadindicator) for all actions, as this locks the UI to ensure no changes are made by the user while the action is being processed. Not supported by Google Chat apps. + }, + "hintText": "A String", # The hint text. + "initialSuggestions": { # A container wrapping elements necessary for showing suggestion items used in text input autocomplete. # The initial suggestions made before any user input. + "items": [ # A list of suggestions used for autocomplete recommendations. + { # A suggestion item. + "text": "A String", # The suggested autocomplete result. + }, + ], + }, + "label": "A String", # At least one of label and hintText must be specified. + "name": "A String", # The name of the text input which is used in `formInput`. + "onChangeAction": { # An action that describes the behavior when the form is submitted. For example, an Apps Script can be invoked to handle the form. # The onChange action, for example, invoke a function. + "function": "A String", # Apps Script function to invoke when the containing element is clicked/activated. + "loadIndicator": "A String", # Specifies the loading indicator that the action displays while making the call to the action. + "parameters": [ # List of action parameters. + { # List of string parameters to supply when the action method is invoked. For example, consider three snooze buttons: snooze now, snooze 1 day, snooze next week. You might use action method = snooze(), passing the snooze type and snooze time in the list of string parameters. + "key": "A String", # The name of the parameter for the action script. + "value": "A String", # The value of the parameter. + }, + ], + "persistValues": True or False, # Indicates whether form values persist after the action. The default value is `false`. If `true`, form values remain after the action is triggered. When using [LoadIndicator.NONE](workspace/add-ons/reference/rpc/google.apps.card.v1#loadindicator) for actions, `persist_values` = `true`is recommended, as it ensures that any changes made by the user after form or on change actions are sent to the server are not overwritten by the response. If `false`, the form values are cleared when the action is triggered. When `persist_values` is set to `false`, it is strongly recommended that the card use [LoadIndicator.SPINNER](workspace/add-ons/reference/rpc/google.apps.card.v1#loadindicator) for all actions, as this locks the UI to ensure no changes are made by the user while the action is being processed. Not supported by Google Chat apps. + }, + "type": "A String", # The style of the text, for example, a single line or multiple lines. + "value": "A String", # The default value when there is no input from the user. + }, + "textParagraph": { # A paragraph of text that supports formatting. See [Text formatting](workspace/add-ons/concepts/widgets#text_formatting) for details. # Displays a text paragraph in this widget. For example, the following JSON creates a bolded text: ``` "textParagraph": { "text": " *bold text*" } ``` + "text": "A String", # The text that's shown in the widget. + }, + }, + ], + }, + ], + }, + "cardId": "A String", # Required for `cardsV2` messages. Chat app-specified identifier for this widget. Scoped within a message. + }, + ], "createTime": "A String", # Output only. The time at which the message was created in Google Chat server. "fallbackText": "A String", # A plain-text description of the message's cards, used when the actual cards cannot be displayed (e.g. mobile notifications). "lastUpdateTime": "A String", # Output only. The time at which the message was last edited by a user. If the message has never been edited, this field is empty. @@ -1715,8 +2771,12 @@

Method Details

"displayName": "A String", # The space's display name. For direct messages between humans, this field might be empty. "name": "A String", # Resource name of the space. Format: spaces/{space} "singleUserBotDm": True or False, # Output only. Whether the space is a DM between a Chat app and a single human. + "spaceDetails": { # Details about the space including description and rules. # Details about the space including description and rules. + "description": "A String", # Optional. A description of the space. It could describe the space's discussion topic, functional purpose, or participants. + "guidelines": "A String", # Optional. The space's rules, expectations, and etiquette. + }, "threaded": True or False, # Output only. Whether messages are threaded in this space. - "type": "A String", # Output only. Deprecated: Use `single_user_bot_dm` or `space_type` (developer preview) instead. The type of a space. + "type": "A String", # Output only. Deprecated: Use `singleUserBotDm` or `spaceType` (developer preview) instead. The type of a space. }, "text": "A String", # Plain-text body of the message. The first link to an image, video, web page, or other preview-able item generates a preview chip. "thread": { # A thread in Google Chat. # The thread the message belongs to. diff --git a/docs/dyn/chat_v1.spaces.messages.html b/docs/dyn/chat_v1.spaces.messages.html index 62d5f2ab8d8..976ffa59da0 100644 --- a/docs/dyn/chat_v1.spaces.messages.html +++ b/docs/dyn/chat_v1.spaces.messages.html @@ -846,6 +846,528 @@

Method Details

], }, ], + "cardsV2": [ # Richly formatted and interactive cards that display UI elements and editable widgets, such as: - Formatted text - Buttons - Clickable images - Checkboxes - Radio buttons - Input widgets. Cards are usually displayed below the text-body of a Chat message, but can situationally appear other places, such as [dialogs](https://developers.google.com/chat/how-tos/dialogs). The `cardId` is a unique identifier among cards in the same message and for identifying user input values. Currently supported widgets include: - `TextParagraph` - `DecoratedText` - `Image` - `ButtonList` + { # Widgets for Chat apps to specify. + "card": { # A card is a UI element that can contain UI widgets such as text and images. For more information, see Cards . For example, the following JSON creates a card that has a header with the name, position, icons, and link for a contact, followed by a section with contact information like email and phone number. ``` { "header": { "title": "Sasha", "subtitle": "Software Engineer", "imageStyle": "ImageStyle.AVATAR", "imageUrl": "https://example.com/sasha.png", "imageAltText": "Avatar for Sasha" }, "sections" : [ { "header": "Contact Info", "widgets": [ { "decorated_text": { "icon": { "knownIcon": "EMAIL" }, "content": "sasha@example.com" } }, { "decoratedText": { "icon": { "knownIcon": "PERSON" }, "content": "Online" } }, { "decoratedText": { "icon": { "knownIcon": "PHONE" }, "content": "+1 (555) 555-1234" } }, { "buttons": [ { "textButton": { "text": "Share", }, "onClick": { "openLink": { "url": "https://example.com/share" } } }, { "textButton": { "text": "Edit", }, "onClick": { "action": { "function": "goToView", "parameters": [ { "key": "viewType", "value": "EDIT" } ], "loadIndicator": "LoadIndicator.SPINNER" } } } ] } ], "collapsible": true, "uncollapsibleWidgetsCount": 3 } ], "cardActions": [ { "actionLabel": "Send Feedback", "onClick": { "openLink": { "url": "https://example.com/feedback" } } } ], "name": "contact-card-K3wB6arF2H9L" } ``` # Card proto that allows Chat apps to specify UI elements and editable widgets. + "cardActions": [ # The card's actions. Actions are added to the card's generated toolbar menu. For example, the following JSON constructs a card action menu with Settings and Send Feedback options: ``` "card_actions": [ { "actionLabel": "Settings", "onClick": { "action": { "functionName": "goToView", "parameters": [ { "key": "viewType", "value": "SETTING" } ], "loadIndicator": "LoadIndicator.SPINNER" } } }, { "actionLabel": "Send Feedback", "onClick": { "openLink": { "url": "https://example.com/feedback" } } } ] ``` + { # A card action is the action associated with the card. For example, an invoice card might include actions such as delete invoice, email invoice, or open the invoice in a browser. + "actionLabel": "A String", # The label that displays as the action menu item. + "onClick": { # Represents the response to an `onClick` event. # The `onClick` action for this action item. + "action": { # An action that describes the behavior when the form is submitted. For example, an Apps Script can be invoked to handle the form. # If specified, an action is triggered by this `onClick`. + "function": "A String", # Apps Script function to invoke when the containing element is clicked/activated. + "loadIndicator": "A String", # Specifies the loading indicator that the action displays while making the call to the action. + "parameters": [ # List of action parameters. + { # List of string parameters to supply when the action method is invoked. For example, consider three snooze buttons: snooze now, snooze 1 day, snooze next week. You might use action method = snooze(), passing the snooze type and snooze time in the list of string parameters. + "key": "A String", # The name of the parameter for the action script. + "value": "A String", # The value of the parameter. + }, + ], + "persistValues": True or False, # Indicates whether form values persist after the action. The default value is `false`. If `true`, form values remain after the action is triggered. When using [LoadIndicator.NONE](workspace/add-ons/reference/rpc/google.apps.card.v1#loadindicator) for actions, `persist_values` = `true`is recommended, as it ensures that any changes made by the user after form or on change actions are sent to the server are not overwritten by the response. If `false`, the form values are cleared when the action is triggered. When `persist_values` is set to `false`, it is strongly recommended that the card use [LoadIndicator.SPINNER](workspace/add-ons/reference/rpc/google.apps.card.v1#loadindicator) for all actions, as this locks the UI to ensure no changes are made by the user while the action is being processed. Not supported by Google Chat apps. + }, + "card": # Object with schema name: GoogleAppsCardV1Card # A new card is pushed to the card stack after clicking if specified. + "openDynamicLinkAction": { # An action that describes the behavior when the form is submitted. For example, an Apps Script can be invoked to handle the form. # An add-on triggers this action when the action needs to open a link. This differs from the `open_link` above in that this needs to talk to server to get the link. Thus some preparation work is required for web client to do before the open link action response comes back. + "function": "A String", # Apps Script function to invoke when the containing element is clicked/activated. + "loadIndicator": "A String", # Specifies the loading indicator that the action displays while making the call to the action. + "parameters": [ # List of action parameters. + { # List of string parameters to supply when the action method is invoked. For example, consider three snooze buttons: snooze now, snooze 1 day, snooze next week. You might use action method = snooze(), passing the snooze type and snooze time in the list of string parameters. + "key": "A String", # The name of the parameter for the action script. + "value": "A String", # The value of the parameter. + }, + ], + "persistValues": True or False, # Indicates whether form values persist after the action. The default value is `false`. If `true`, form values remain after the action is triggered. When using [LoadIndicator.NONE](workspace/add-ons/reference/rpc/google.apps.card.v1#loadindicator) for actions, `persist_values` = `true`is recommended, as it ensures that any changes made by the user after form or on change actions are sent to the server are not overwritten by the response. If `false`, the form values are cleared when the action is triggered. When `persist_values` is set to `false`, it is strongly recommended that the card use [LoadIndicator.SPINNER](workspace/add-ons/reference/rpc/google.apps.card.v1#loadindicator) for all actions, as this locks the UI to ensure no changes are made by the user while the action is being processed. Not supported by Google Chat apps. + }, + "openLink": { # Represents an `onClick` event that opens a hyperlink. # If specified, this `onClick` triggers an open link action. + "onClose": "A String", # Whether the client forgets about a link after opening it, or observes it until the window closes. Not supported by Chat apps. + "openAs": "A String", # How to open a link. Not supported by Chat apps. + "url": "A String", # The URL to open. + }, + }, + }, + ], + "displayStyle": "A String", # The `peekCardHeader` display style for. Not supported by Google Chat apps. + "fixedFooter": { # A persistent (sticky) footer that is added to the bottom of the card. # The fixed footer shown at the bottom of this card. + "primaryButton": { # A button. Can be a text button or an image button. # The primary button of the fixed footer. The button must be a text button with text and color set. + "altText": "A String", # The alternative text used for accessibility. Has no effect when an icon is set; use `icon.alt_text` instead. + "color": { # Represents a color in the RGBA color space. This representation is designed for simplicity of conversion to/from color representations in various languages over compactness. For example, the fields of this representation can be trivially provided to the constructor of `java.awt.Color` in Java; it can also be trivially provided to UIColor's `+colorWithRed:green:blue:alpha` method in iOS; and, with just a little work, it can be easily formatted into a CSS `rgba()` string in JavaScript. This reference page doesn't carry information about the absolute color space that should be used to interpret the RGB value (e.g. sRGB, Adobe RGB, DCI-P3, BT.2020, etc.). By default, applications should assume the sRGB color space. When color equality needs to be decided, implementations, unless documented otherwise, treat two colors as equal if all their red, green, blue, and alpha values each differ by at most 1e-5. Example (Java): import com.google.type.Color; // ... public static java.awt.Color fromProto(Color protocolor) { float alpha = protocolor.hasAlpha() ? protocolor.getAlpha().getValue() : 1.0; return new java.awt.Color( protocolor.getRed(), protocolor.getGreen(), protocolor.getBlue(), alpha); } public static Color toProto(java.awt.Color color) { float red = (float) color.getRed(); float green = (float) color.getGreen(); float blue = (float) color.getBlue(); float denominator = 255.0; Color.Builder resultBuilder = Color .newBuilder() .setRed(red / denominator) .setGreen(green / denominator) .setBlue(blue / denominator); int alpha = color.getAlpha(); if (alpha != 255) { result.setAlpha( FloatValue .newBuilder() .setValue(((float) alpha) / denominator) .build()); } return resultBuilder.build(); } // ... Example (iOS / Obj-C): // ... static UIColor* fromProto(Color* protocolor) { float red = [protocolor red]; float green = [protocolor green]; float blue = [protocolor blue]; FloatValue* alpha_wrapper = [protocolor alpha]; float alpha = 1.0; if (alpha_wrapper != nil) { alpha = [alpha_wrapper value]; } return [UIColor colorWithRed:red green:green blue:blue alpha:alpha]; } static Color* toProto(UIColor* color) { CGFloat red, green, blue, alpha; if (![color getRed:&red green:&green blue:&blue alpha:&alpha]) { return nil; } Color* result = [[Color alloc] init]; [result setRed:red]; [result setGreen:green]; [result setBlue:blue]; if (alpha <= 0.9999) { [result setAlpha:floatWrapperWithValue(alpha)]; } [result autorelease]; return result; } // ... Example (JavaScript): // ... var protoToCssColor = function(rgb_color) { var redFrac = rgb_color.red || 0.0; var greenFrac = rgb_color.green || 0.0; var blueFrac = rgb_color.blue || 0.0; var red = Math.floor(redFrac * 255); var green = Math.floor(greenFrac * 255); var blue = Math.floor(blueFrac * 255); if (!('alpha' in rgb_color)) { return rgbToCssColor(red, green, blue); } var alphaFrac = rgb_color.alpha.value || 0.0; var rgbParams = [red, green, blue].join(','); return ['rgba(', rgbParams, ',', alphaFrac, ')'].join(''); }; var rgbToCssColor = function(red, green, blue) { var rgbNumber = new Number((red << 16) | (green << 8) | blue); var hexString = rgbNumber.toString(16); var missingZeros = 6 - hexString.length; var resultBuilder = ['#']; for (var i = 0; i < missingZeros; i++) { resultBuilder.push('0'); } resultBuilder.push(hexString); return resultBuilder.join(''); }; // ... # If set, the button is filled with a solid background. + "alpha": 3.14, # The fraction of this color that should be applied to the pixel. That is, the final pixel color is defined by the equation: `pixel color = alpha * (this color) + (1.0 - alpha) * (background color)` This means that a value of 1.0 corresponds to a solid color, whereas a value of 0.0 corresponds to a completely transparent color. This uses a wrapper message rather than a simple float scalar so that it is possible to distinguish between a default value and the value being unset. If omitted, this color object is rendered as a solid color (as if the alpha value had been explicitly given a value of 1.0). + "blue": 3.14, # The amount of blue in the color as a value in the interval [0, 1]. + "green": 3.14, # The amount of green in the color as a value in the interval [0, 1]. + "red": 3.14, # The amount of red in the color as a value in the interval [0, 1]. + }, + "disabled": True or False, # If `true`, the button is displayed in a disabled state and doesn't respond to user actions. + "icon": { # The icon image. + "altText": "A String", # The description of the icon, used for accessibility. The default value is provided if you don't specify one. + "iconUrl": "A String", # The icon specified by a URL. + "imageType": "A String", # The crop style applied to the image. In some cases, applying a `CIRCLE` crop causes the image to be drawn larger than a standard icon. + "knownIcon": "A String", # The icon specified by the string name of a list of known icons. + }, + "onClick": { # Represents the response to an `onClick` event. # The action to perform when the button is clicked. + "action": { # An action that describes the behavior when the form is submitted. For example, an Apps Script can be invoked to handle the form. # If specified, an action is triggered by this `onClick`. + "function": "A String", # Apps Script function to invoke when the containing element is clicked/activated. + "loadIndicator": "A String", # Specifies the loading indicator that the action displays while making the call to the action. + "parameters": [ # List of action parameters. + { # List of string parameters to supply when the action method is invoked. For example, consider three snooze buttons: snooze now, snooze 1 day, snooze next week. You might use action method = snooze(), passing the snooze type and snooze time in the list of string parameters. + "key": "A String", # The name of the parameter for the action script. + "value": "A String", # The value of the parameter. + }, + ], + "persistValues": True or False, # Indicates whether form values persist after the action. The default value is `false`. If `true`, form values remain after the action is triggered. When using [LoadIndicator.NONE](workspace/add-ons/reference/rpc/google.apps.card.v1#loadindicator) for actions, `persist_values` = `true`is recommended, as it ensures that any changes made by the user after form or on change actions are sent to the server are not overwritten by the response. If `false`, the form values are cleared when the action is triggered. When `persist_values` is set to `false`, it is strongly recommended that the card use [LoadIndicator.SPINNER](workspace/add-ons/reference/rpc/google.apps.card.v1#loadindicator) for all actions, as this locks the UI to ensure no changes are made by the user while the action is being processed. Not supported by Google Chat apps. + }, + "card": # Object with schema name: GoogleAppsCardV1Card # A new card is pushed to the card stack after clicking if specified. + "openDynamicLinkAction": { # An action that describes the behavior when the form is submitted. For example, an Apps Script can be invoked to handle the form. # An add-on triggers this action when the action needs to open a link. This differs from the `open_link` above in that this needs to talk to server to get the link. Thus some preparation work is required for web client to do before the open link action response comes back. + "function": "A String", # Apps Script function to invoke when the containing element is clicked/activated. + "loadIndicator": "A String", # Specifies the loading indicator that the action displays while making the call to the action. + "parameters": [ # List of action parameters. + { # List of string parameters to supply when the action method is invoked. For example, consider three snooze buttons: snooze now, snooze 1 day, snooze next week. You might use action method = snooze(), passing the snooze type and snooze time in the list of string parameters. + "key": "A String", # The name of the parameter for the action script. + "value": "A String", # The value of the parameter. + }, + ], + "persistValues": True or False, # Indicates whether form values persist after the action. The default value is `false`. If `true`, form values remain after the action is triggered. When using [LoadIndicator.NONE](workspace/add-ons/reference/rpc/google.apps.card.v1#loadindicator) for actions, `persist_values` = `true`is recommended, as it ensures that any changes made by the user after form or on change actions are sent to the server are not overwritten by the response. If `false`, the form values are cleared when the action is triggered. When `persist_values` is set to `false`, it is strongly recommended that the card use [LoadIndicator.SPINNER](workspace/add-ons/reference/rpc/google.apps.card.v1#loadindicator) for all actions, as this locks the UI to ensure no changes are made by the user while the action is being processed. Not supported by Google Chat apps. + }, + "openLink": { # Represents an `onClick` event that opens a hyperlink. # If specified, this `onClick` triggers an open link action. + "onClose": "A String", # Whether the client forgets about a link after opening it, or observes it until the window closes. Not supported by Chat apps. + "openAs": "A String", # How to open a link. Not supported by Chat apps. + "url": "A String", # The URL to open. + }, + }, + "text": "A String", # The text of the button. + }, + "secondaryButton": { # A button. Can be a text button or an image button. # The secondary button of the fixed footer. The button must be a text button with text and color set. `primaryButton` must be set if `secondaryButton` is set. + "altText": "A String", # The alternative text used for accessibility. Has no effect when an icon is set; use `icon.alt_text` instead. + "color": { # Represents a color in the RGBA color space. This representation is designed for simplicity of conversion to/from color representations in various languages over compactness. For example, the fields of this representation can be trivially provided to the constructor of `java.awt.Color` in Java; it can also be trivially provided to UIColor's `+colorWithRed:green:blue:alpha` method in iOS; and, with just a little work, it can be easily formatted into a CSS `rgba()` string in JavaScript. This reference page doesn't carry information about the absolute color space that should be used to interpret the RGB value (e.g. sRGB, Adobe RGB, DCI-P3, BT.2020, etc.). By default, applications should assume the sRGB color space. When color equality needs to be decided, implementations, unless documented otherwise, treat two colors as equal if all their red, green, blue, and alpha values each differ by at most 1e-5. Example (Java): import com.google.type.Color; // ... public static java.awt.Color fromProto(Color protocolor) { float alpha = protocolor.hasAlpha() ? protocolor.getAlpha().getValue() : 1.0; return new java.awt.Color( protocolor.getRed(), protocolor.getGreen(), protocolor.getBlue(), alpha); } public static Color toProto(java.awt.Color color) { float red = (float) color.getRed(); float green = (float) color.getGreen(); float blue = (float) color.getBlue(); float denominator = 255.0; Color.Builder resultBuilder = Color .newBuilder() .setRed(red / denominator) .setGreen(green / denominator) .setBlue(blue / denominator); int alpha = color.getAlpha(); if (alpha != 255) { result.setAlpha( FloatValue .newBuilder() .setValue(((float) alpha) / denominator) .build()); } return resultBuilder.build(); } // ... Example (iOS / Obj-C): // ... static UIColor* fromProto(Color* protocolor) { float red = [protocolor red]; float green = [protocolor green]; float blue = [protocolor blue]; FloatValue* alpha_wrapper = [protocolor alpha]; float alpha = 1.0; if (alpha_wrapper != nil) { alpha = [alpha_wrapper value]; } return [UIColor colorWithRed:red green:green blue:blue alpha:alpha]; } static Color* toProto(UIColor* color) { CGFloat red, green, blue, alpha; if (![color getRed:&red green:&green blue:&blue alpha:&alpha]) { return nil; } Color* result = [[Color alloc] init]; [result setRed:red]; [result setGreen:green]; [result setBlue:blue]; if (alpha <= 0.9999) { [result setAlpha:floatWrapperWithValue(alpha)]; } [result autorelease]; return result; } // ... Example (JavaScript): // ... var protoToCssColor = function(rgb_color) { var redFrac = rgb_color.red || 0.0; var greenFrac = rgb_color.green || 0.0; var blueFrac = rgb_color.blue || 0.0; var red = Math.floor(redFrac * 255); var green = Math.floor(greenFrac * 255); var blue = Math.floor(blueFrac * 255); if (!('alpha' in rgb_color)) { return rgbToCssColor(red, green, blue); } var alphaFrac = rgb_color.alpha.value || 0.0; var rgbParams = [red, green, blue].join(','); return ['rgba(', rgbParams, ',', alphaFrac, ')'].join(''); }; var rgbToCssColor = function(red, green, blue) { var rgbNumber = new Number((red << 16) | (green << 8) | blue); var hexString = rgbNumber.toString(16); var missingZeros = 6 - hexString.length; var resultBuilder = ['#']; for (var i = 0; i < missingZeros; i++) { resultBuilder.push('0'); } resultBuilder.push(hexString); return resultBuilder.join(''); }; // ... # If set, the button is filled with a solid background. + "alpha": 3.14, # The fraction of this color that should be applied to the pixel. That is, the final pixel color is defined by the equation: `pixel color = alpha * (this color) + (1.0 - alpha) * (background color)` This means that a value of 1.0 corresponds to a solid color, whereas a value of 0.0 corresponds to a completely transparent color. This uses a wrapper message rather than a simple float scalar so that it is possible to distinguish between a default value and the value being unset. If omitted, this color object is rendered as a solid color (as if the alpha value had been explicitly given a value of 1.0). + "blue": 3.14, # The amount of blue in the color as a value in the interval [0, 1]. + "green": 3.14, # The amount of green in the color as a value in the interval [0, 1]. + "red": 3.14, # The amount of red in the color as a value in the interval [0, 1]. + }, + "disabled": True or False, # If `true`, the button is displayed in a disabled state and doesn't respond to user actions. + "icon": { # The icon image. + "altText": "A String", # The description of the icon, used for accessibility. The default value is provided if you don't specify one. + "iconUrl": "A String", # The icon specified by a URL. + "imageType": "A String", # The crop style applied to the image. In some cases, applying a `CIRCLE` crop causes the image to be drawn larger than a standard icon. + "knownIcon": "A String", # The icon specified by the string name of a list of known icons. + }, + "onClick": { # Represents the response to an `onClick` event. # The action to perform when the button is clicked. + "action": { # An action that describes the behavior when the form is submitted. For example, an Apps Script can be invoked to handle the form. # If specified, an action is triggered by this `onClick`. + "function": "A String", # Apps Script function to invoke when the containing element is clicked/activated. + "loadIndicator": "A String", # Specifies the loading indicator that the action displays while making the call to the action. + "parameters": [ # List of action parameters. + { # List of string parameters to supply when the action method is invoked. For example, consider three snooze buttons: snooze now, snooze 1 day, snooze next week. You might use action method = snooze(), passing the snooze type and snooze time in the list of string parameters. + "key": "A String", # The name of the parameter for the action script. + "value": "A String", # The value of the parameter. + }, + ], + "persistValues": True or False, # Indicates whether form values persist after the action. The default value is `false`. If `true`, form values remain after the action is triggered. When using [LoadIndicator.NONE](workspace/add-ons/reference/rpc/google.apps.card.v1#loadindicator) for actions, `persist_values` = `true`is recommended, as it ensures that any changes made by the user after form or on change actions are sent to the server are not overwritten by the response. If `false`, the form values are cleared when the action is triggered. When `persist_values` is set to `false`, it is strongly recommended that the card use [LoadIndicator.SPINNER](workspace/add-ons/reference/rpc/google.apps.card.v1#loadindicator) for all actions, as this locks the UI to ensure no changes are made by the user while the action is being processed. Not supported by Google Chat apps. + }, + "card": # Object with schema name: GoogleAppsCardV1Card # A new card is pushed to the card stack after clicking if specified. + "openDynamicLinkAction": { # An action that describes the behavior when the form is submitted. For example, an Apps Script can be invoked to handle the form. # An add-on triggers this action when the action needs to open a link. This differs from the `open_link` above in that this needs to talk to server to get the link. Thus some preparation work is required for web client to do before the open link action response comes back. + "function": "A String", # Apps Script function to invoke when the containing element is clicked/activated. + "loadIndicator": "A String", # Specifies the loading indicator that the action displays while making the call to the action. + "parameters": [ # List of action parameters. + { # List of string parameters to supply when the action method is invoked. For example, consider three snooze buttons: snooze now, snooze 1 day, snooze next week. You might use action method = snooze(), passing the snooze type and snooze time in the list of string parameters. + "key": "A String", # The name of the parameter for the action script. + "value": "A String", # The value of the parameter. + }, + ], + "persistValues": True or False, # Indicates whether form values persist after the action. The default value is `false`. If `true`, form values remain after the action is triggered. When using [LoadIndicator.NONE](workspace/add-ons/reference/rpc/google.apps.card.v1#loadindicator) for actions, `persist_values` = `true`is recommended, as it ensures that any changes made by the user after form or on change actions are sent to the server are not overwritten by the response. If `false`, the form values are cleared when the action is triggered. When `persist_values` is set to `false`, it is strongly recommended that the card use [LoadIndicator.SPINNER](workspace/add-ons/reference/rpc/google.apps.card.v1#loadindicator) for all actions, as this locks the UI to ensure no changes are made by the user while the action is being processed. Not supported by Google Chat apps. + }, + "openLink": { # Represents an `onClick` event that opens a hyperlink. # If specified, this `onClick` triggers an open link action. + "onClose": "A String", # Whether the client forgets about a link after opening it, or observes it until the window closes. Not supported by Chat apps. + "openAs": "A String", # How to open a link. Not supported by Chat apps. + "url": "A String", # The URL to open. + }, + }, + "text": "A String", # The text of the button. + }, + }, + "header": { # Represents a card header. # The header of the card. A header usually contains a title and an image. + "imageAltText": "A String", # The alternative text of this image which is used for accessibility. + "imageType": "A String", # The image's type. + "imageUrl": "A String", # The URL of the image in the card header. + "subtitle": "A String", # The subtitle of the card header. + "title": "A String", # Required. The title of the card header. The header has a fixed height: if both a title and subtitle are specified, each takes up one line. If only the title is specified, it takes up both lines. + }, + "name": "A String", # Name of the card. Used as a card identifier in card navigation. + "peekCardHeader": { # Represents a card header. # When displaying contextual content, the peek card header acts as a placeholder so that the user can navigate forward between the homepage cards and the contextual cards. Not supported by Google Chat apps. + "imageAltText": "A String", # The alternative text of this image which is used for accessibility. + "imageType": "A String", # The image's type. + "imageUrl": "A String", # The URL of the image in the card header. + "subtitle": "A String", # The subtitle of the card header. + "title": "A String", # Required. The title of the card header. The header has a fixed height: if both a title and subtitle are specified, each takes up one line. If only the title is specified, it takes up both lines. + }, + "sections": [ # Sections are separated by a line divider. + { # A section contains a collection of widgets that are rendered vertically in the order that they are specified. Across all platforms, cards have a narrow fixed width, so there is currently no need for layout properties, for example, float. + "collapsible": True or False, # Indicates whether this section is collapsible. If a section is collapsible, the description must be given. + "header": "A String", # The header of the section. Formatted text is supported. + "uncollapsibleWidgetsCount": 42, # The number of uncollapsible widgets. For example, when a section contains five widgets and the `uncollapsibleWidgetsCount` is set to `2`, the first two widgets are always shown and the last three are collapsed as default. The `uncollapsibleWidgetsCount` is taken into account only when `collapsible` is `true`. + "widgets": [ # A section must contain at least 1 widget. + { # A widget is a UI element that presents texts, images, etc. + "buttonList": { # A list of buttons layed out horizontally. # A list of buttons. For example, the following JSON creates two buttons. The first is a filled text button and the second is an image button that opens a link: ``` "buttonList": { "buttons": [ "button": { "text": "Edit", "Color": { "Red": 255 "Green": 255 "Blue": 255 } "disabled": true }, "button": { "icon": { "knownIcon": "INVITE" "altText": "check calendar" }, "onClick": { "openLink": { "url": "https://example.com/calendar" } } }, ] } ``` + "buttons": [ # An array of buttons. + { # A button. Can be a text button or an image button. + "altText": "A String", # The alternative text used for accessibility. Has no effect when an icon is set; use `icon.alt_text` instead. + "color": { # Represents a color in the RGBA color space. This representation is designed for simplicity of conversion to/from color representations in various languages over compactness. For example, the fields of this representation can be trivially provided to the constructor of `java.awt.Color` in Java; it can also be trivially provided to UIColor's `+colorWithRed:green:blue:alpha` method in iOS; and, with just a little work, it can be easily formatted into a CSS `rgba()` string in JavaScript. This reference page doesn't carry information about the absolute color space that should be used to interpret the RGB value (e.g. sRGB, Adobe RGB, DCI-P3, BT.2020, etc.). By default, applications should assume the sRGB color space. When color equality needs to be decided, implementations, unless documented otherwise, treat two colors as equal if all their red, green, blue, and alpha values each differ by at most 1e-5. Example (Java): import com.google.type.Color; // ... public static java.awt.Color fromProto(Color protocolor) { float alpha = protocolor.hasAlpha() ? protocolor.getAlpha().getValue() : 1.0; return new java.awt.Color( protocolor.getRed(), protocolor.getGreen(), protocolor.getBlue(), alpha); } public static Color toProto(java.awt.Color color) { float red = (float) color.getRed(); float green = (float) color.getGreen(); float blue = (float) color.getBlue(); float denominator = 255.0; Color.Builder resultBuilder = Color .newBuilder() .setRed(red / denominator) .setGreen(green / denominator) .setBlue(blue / denominator); int alpha = color.getAlpha(); if (alpha != 255) { result.setAlpha( FloatValue .newBuilder() .setValue(((float) alpha) / denominator) .build()); } return resultBuilder.build(); } // ... Example (iOS / Obj-C): // ... static UIColor* fromProto(Color* protocolor) { float red = [protocolor red]; float green = [protocolor green]; float blue = [protocolor blue]; FloatValue* alpha_wrapper = [protocolor alpha]; float alpha = 1.0; if (alpha_wrapper != nil) { alpha = [alpha_wrapper value]; } return [UIColor colorWithRed:red green:green blue:blue alpha:alpha]; } static Color* toProto(UIColor* color) { CGFloat red, green, blue, alpha; if (![color getRed:&red green:&green blue:&blue alpha:&alpha]) { return nil; } Color* result = [[Color alloc] init]; [result setRed:red]; [result setGreen:green]; [result setBlue:blue]; if (alpha <= 0.9999) { [result setAlpha:floatWrapperWithValue(alpha)]; } [result autorelease]; return result; } // ... Example (JavaScript): // ... var protoToCssColor = function(rgb_color) { var redFrac = rgb_color.red || 0.0; var greenFrac = rgb_color.green || 0.0; var blueFrac = rgb_color.blue || 0.0; var red = Math.floor(redFrac * 255); var green = Math.floor(greenFrac * 255); var blue = Math.floor(blueFrac * 255); if (!('alpha' in rgb_color)) { return rgbToCssColor(red, green, blue); } var alphaFrac = rgb_color.alpha.value || 0.0; var rgbParams = [red, green, blue].join(','); return ['rgba(', rgbParams, ',', alphaFrac, ')'].join(''); }; var rgbToCssColor = function(red, green, blue) { var rgbNumber = new Number((red << 16) | (green << 8) | blue); var hexString = rgbNumber.toString(16); var missingZeros = 6 - hexString.length; var resultBuilder = ['#']; for (var i = 0; i < missingZeros; i++) { resultBuilder.push('0'); } resultBuilder.push(hexString); return resultBuilder.join(''); }; // ... # If set, the button is filled with a solid background. + "alpha": 3.14, # The fraction of this color that should be applied to the pixel. That is, the final pixel color is defined by the equation: `pixel color = alpha * (this color) + (1.0 - alpha) * (background color)` This means that a value of 1.0 corresponds to a solid color, whereas a value of 0.0 corresponds to a completely transparent color. This uses a wrapper message rather than a simple float scalar so that it is possible to distinguish between a default value and the value being unset. If omitted, this color object is rendered as a solid color (as if the alpha value had been explicitly given a value of 1.0). + "blue": 3.14, # The amount of blue in the color as a value in the interval [0, 1]. + "green": 3.14, # The amount of green in the color as a value in the interval [0, 1]. + "red": 3.14, # The amount of red in the color as a value in the interval [0, 1]. + }, + "disabled": True or False, # If `true`, the button is displayed in a disabled state and doesn't respond to user actions. + "icon": { # The icon image. + "altText": "A String", # The description of the icon, used for accessibility. The default value is provided if you don't specify one. + "iconUrl": "A String", # The icon specified by a URL. + "imageType": "A String", # The crop style applied to the image. In some cases, applying a `CIRCLE` crop causes the image to be drawn larger than a standard icon. + "knownIcon": "A String", # The icon specified by the string name of a list of known icons. + }, + "onClick": { # Represents the response to an `onClick` event. # The action to perform when the button is clicked. + "action": { # An action that describes the behavior when the form is submitted. For example, an Apps Script can be invoked to handle the form. # If specified, an action is triggered by this `onClick`. + "function": "A String", # Apps Script function to invoke when the containing element is clicked/activated. + "loadIndicator": "A String", # Specifies the loading indicator that the action displays while making the call to the action. + "parameters": [ # List of action parameters. + { # List of string parameters to supply when the action method is invoked. For example, consider three snooze buttons: snooze now, snooze 1 day, snooze next week. You might use action method = snooze(), passing the snooze type and snooze time in the list of string parameters. + "key": "A String", # The name of the parameter for the action script. + "value": "A String", # The value of the parameter. + }, + ], + "persistValues": True or False, # Indicates whether form values persist after the action. The default value is `false`. If `true`, form values remain after the action is triggered. When using [LoadIndicator.NONE](workspace/add-ons/reference/rpc/google.apps.card.v1#loadindicator) for actions, `persist_values` = `true`is recommended, as it ensures that any changes made by the user after form or on change actions are sent to the server are not overwritten by the response. If `false`, the form values are cleared when the action is triggered. When `persist_values` is set to `false`, it is strongly recommended that the card use [LoadIndicator.SPINNER](workspace/add-ons/reference/rpc/google.apps.card.v1#loadindicator) for all actions, as this locks the UI to ensure no changes are made by the user while the action is being processed. Not supported by Google Chat apps. + }, + "card": # Object with schema name: GoogleAppsCardV1Card # A new card is pushed to the card stack after clicking if specified. + "openDynamicLinkAction": { # An action that describes the behavior when the form is submitted. For example, an Apps Script can be invoked to handle the form. # An add-on triggers this action when the action needs to open a link. This differs from the `open_link` above in that this needs to talk to server to get the link. Thus some preparation work is required for web client to do before the open link action response comes back. + "function": "A String", # Apps Script function to invoke when the containing element is clicked/activated. + "loadIndicator": "A String", # Specifies the loading indicator that the action displays while making the call to the action. + "parameters": [ # List of action parameters. + { # List of string parameters to supply when the action method is invoked. For example, consider three snooze buttons: snooze now, snooze 1 day, snooze next week. You might use action method = snooze(), passing the snooze type and snooze time in the list of string parameters. + "key": "A String", # The name of the parameter for the action script. + "value": "A String", # The value of the parameter. + }, + ], + "persistValues": True or False, # Indicates whether form values persist after the action. The default value is `false`. If `true`, form values remain after the action is triggered. When using [LoadIndicator.NONE](workspace/add-ons/reference/rpc/google.apps.card.v1#loadindicator) for actions, `persist_values` = `true`is recommended, as it ensures that any changes made by the user after form or on change actions are sent to the server are not overwritten by the response. If `false`, the form values are cleared when the action is triggered. When `persist_values` is set to `false`, it is strongly recommended that the card use [LoadIndicator.SPINNER](workspace/add-ons/reference/rpc/google.apps.card.v1#loadindicator) for all actions, as this locks the UI to ensure no changes are made by the user while the action is being processed. Not supported by Google Chat apps. + }, + "openLink": { # Represents an `onClick` event that opens a hyperlink. # If specified, this `onClick` triggers an open link action. + "onClose": "A String", # Whether the client forgets about a link after opening it, or observes it until the window closes. Not supported by Chat apps. + "openAs": "A String", # How to open a link. Not supported by Chat apps. + "url": "A String", # The URL to open. + }, + }, + "text": "A String", # The text of the button. + }, + ], + }, + "dateTimePicker": { # The widget that lets users to specify a date and time. Not supported by Google Chat apps. # Displays a selection/input widget for date/time. For example, the following JSON creates a date/time picker for an appointment time: ``` "date_time_picker": { "name": "appointment_time", "label": "Book your appointment at:", "type": "DateTimePickerType.DATE_AND_TIME", "valueMsEpoch": "796435200000" } ``` + "label": "A String", # The label for the field that displays to the user. + "name": "A String", # The name of the text input that's used in `formInput`, and uniquely identifies this input. + "onChangeAction": { # An action that describes the behavior when the form is submitted. For example, an Apps Script can be invoked to handle the form. # Triggered when the user clicks Save or Clear from the date/time picker dialog. This is only triggered if the value changed as a result of the Save/Clear operation. + "function": "A String", # Apps Script function to invoke when the containing element is clicked/activated. + "loadIndicator": "A String", # Specifies the loading indicator that the action displays while making the call to the action. + "parameters": [ # List of action parameters. + { # List of string parameters to supply when the action method is invoked. For example, consider three snooze buttons: snooze now, snooze 1 day, snooze next week. You might use action method = snooze(), passing the snooze type and snooze time in the list of string parameters. + "key": "A String", # The name of the parameter for the action script. + "value": "A String", # The value of the parameter. + }, + ], + "persistValues": True or False, # Indicates whether form values persist after the action. The default value is `false`. If `true`, form values remain after the action is triggered. When using [LoadIndicator.NONE](workspace/add-ons/reference/rpc/google.apps.card.v1#loadindicator) for actions, `persist_values` = `true`is recommended, as it ensures that any changes made by the user after form or on change actions are sent to the server are not overwritten by the response. If `false`, the form values are cleared when the action is triggered. When `persist_values` is set to `false`, it is strongly recommended that the card use [LoadIndicator.SPINNER](workspace/add-ons/reference/rpc/google.apps.card.v1#loadindicator) for all actions, as this locks the UI to ensure no changes are made by the user while the action is being processed. Not supported by Google Chat apps. + }, + "timezoneOffsetDate": 42, # The number representing the time zone offset from UTC, in minutes. If set, the `value_ms_epoch` is displayed in the specified time zone. If not set, it uses the user's time zone setting on the client side. + "type": "A String", # The type of the date/time picker. + "valueMsEpoch": "A String", # The value to display as the default value before user input or previous user input. It is represented in milliseconds (Epoch time). For `DATE_AND_TIME` type, the full epoch value is used. For `DATE_ONLY` type, only date of the epoch time is used. For `TIME_ONLY` type, only time of the epoch time is used. For example, you can set epoch time to `3 * 60 * 60 * 1000` to represent 3am. + }, + "decoratedText": { # A widget that displays text with optional decorations such as a label above or below the text, an icon in front of the text, a selection widget or a button after the text. # Displays a decorated text item in this widget. For example, the following JSON creates a decorated text widget showing email address: ``` "decoratedText": { "icon": { "knownIcon": "EMAIL" }, "topLabel": "Email Address", "content": "sasha@example.com", "bottomLabel": "This is a new Email address!", "switchWidget": { "name": "has_send_welcome_email_to_sasha", "selected": false, "controlType": "ControlType.CHECKBOX" } } ``` + "bottomLabel": "A String", # The formatted text label that shows below the main text. + "button": { # A button. Can be a text button or an image button. # A button that can be clicked to trigger an action. + "altText": "A String", # The alternative text used for accessibility. Has no effect when an icon is set; use `icon.alt_text` instead. + "color": { # Represents a color in the RGBA color space. This representation is designed for simplicity of conversion to/from color representations in various languages over compactness. For example, the fields of this representation can be trivially provided to the constructor of `java.awt.Color` in Java; it can also be trivially provided to UIColor's `+colorWithRed:green:blue:alpha` method in iOS; and, with just a little work, it can be easily formatted into a CSS `rgba()` string in JavaScript. This reference page doesn't carry information about the absolute color space that should be used to interpret the RGB value (e.g. sRGB, Adobe RGB, DCI-P3, BT.2020, etc.). By default, applications should assume the sRGB color space. When color equality needs to be decided, implementations, unless documented otherwise, treat two colors as equal if all their red, green, blue, and alpha values each differ by at most 1e-5. Example (Java): import com.google.type.Color; // ... public static java.awt.Color fromProto(Color protocolor) { float alpha = protocolor.hasAlpha() ? protocolor.getAlpha().getValue() : 1.0; return new java.awt.Color( protocolor.getRed(), protocolor.getGreen(), protocolor.getBlue(), alpha); } public static Color toProto(java.awt.Color color) { float red = (float) color.getRed(); float green = (float) color.getGreen(); float blue = (float) color.getBlue(); float denominator = 255.0; Color.Builder resultBuilder = Color .newBuilder() .setRed(red / denominator) .setGreen(green / denominator) .setBlue(blue / denominator); int alpha = color.getAlpha(); if (alpha != 255) { result.setAlpha( FloatValue .newBuilder() .setValue(((float) alpha) / denominator) .build()); } return resultBuilder.build(); } // ... Example (iOS / Obj-C): // ... static UIColor* fromProto(Color* protocolor) { float red = [protocolor red]; float green = [protocolor green]; float blue = [protocolor blue]; FloatValue* alpha_wrapper = [protocolor alpha]; float alpha = 1.0; if (alpha_wrapper != nil) { alpha = [alpha_wrapper value]; } return [UIColor colorWithRed:red green:green blue:blue alpha:alpha]; } static Color* toProto(UIColor* color) { CGFloat red, green, blue, alpha; if (![color getRed:&red green:&green blue:&blue alpha:&alpha]) { return nil; } Color* result = [[Color alloc] init]; [result setRed:red]; [result setGreen:green]; [result setBlue:blue]; if (alpha <= 0.9999) { [result setAlpha:floatWrapperWithValue(alpha)]; } [result autorelease]; return result; } // ... Example (JavaScript): // ... var protoToCssColor = function(rgb_color) { var redFrac = rgb_color.red || 0.0; var greenFrac = rgb_color.green || 0.0; var blueFrac = rgb_color.blue || 0.0; var red = Math.floor(redFrac * 255); var green = Math.floor(greenFrac * 255); var blue = Math.floor(blueFrac * 255); if (!('alpha' in rgb_color)) { return rgbToCssColor(red, green, blue); } var alphaFrac = rgb_color.alpha.value || 0.0; var rgbParams = [red, green, blue].join(','); return ['rgba(', rgbParams, ',', alphaFrac, ')'].join(''); }; var rgbToCssColor = function(red, green, blue) { var rgbNumber = new Number((red << 16) | (green << 8) | blue); var hexString = rgbNumber.toString(16); var missingZeros = 6 - hexString.length; var resultBuilder = ['#']; for (var i = 0; i < missingZeros; i++) { resultBuilder.push('0'); } resultBuilder.push(hexString); return resultBuilder.join(''); }; // ... # If set, the button is filled with a solid background. + "alpha": 3.14, # The fraction of this color that should be applied to the pixel. That is, the final pixel color is defined by the equation: `pixel color = alpha * (this color) + (1.0 - alpha) * (background color)` This means that a value of 1.0 corresponds to a solid color, whereas a value of 0.0 corresponds to a completely transparent color. This uses a wrapper message rather than a simple float scalar so that it is possible to distinguish between a default value and the value being unset. If omitted, this color object is rendered as a solid color (as if the alpha value had been explicitly given a value of 1.0). + "blue": 3.14, # The amount of blue in the color as a value in the interval [0, 1]. + "green": 3.14, # The amount of green in the color as a value in the interval [0, 1]. + "red": 3.14, # The amount of red in the color as a value in the interval [0, 1]. + }, + "disabled": True or False, # If `true`, the button is displayed in a disabled state and doesn't respond to user actions. + "icon": { # The icon image. + "altText": "A String", # The description of the icon, used for accessibility. The default value is provided if you don't specify one. + "iconUrl": "A String", # The icon specified by a URL. + "imageType": "A String", # The crop style applied to the image. In some cases, applying a `CIRCLE` crop causes the image to be drawn larger than a standard icon. + "knownIcon": "A String", # The icon specified by the string name of a list of known icons. + }, + "onClick": { # Represents the response to an `onClick` event. # The action to perform when the button is clicked. + "action": { # An action that describes the behavior when the form is submitted. For example, an Apps Script can be invoked to handle the form. # If specified, an action is triggered by this `onClick`. + "function": "A String", # Apps Script function to invoke when the containing element is clicked/activated. + "loadIndicator": "A String", # Specifies the loading indicator that the action displays while making the call to the action. + "parameters": [ # List of action parameters. + { # List of string parameters to supply when the action method is invoked. For example, consider three snooze buttons: snooze now, snooze 1 day, snooze next week. You might use action method = snooze(), passing the snooze type and snooze time in the list of string parameters. + "key": "A String", # The name of the parameter for the action script. + "value": "A String", # The value of the parameter. + }, + ], + "persistValues": True or False, # Indicates whether form values persist after the action. The default value is `false`. If `true`, form values remain after the action is triggered. When using [LoadIndicator.NONE](workspace/add-ons/reference/rpc/google.apps.card.v1#loadindicator) for actions, `persist_values` = `true`is recommended, as it ensures that any changes made by the user after form or on change actions are sent to the server are not overwritten by the response. If `false`, the form values are cleared when the action is triggered. When `persist_values` is set to `false`, it is strongly recommended that the card use [LoadIndicator.SPINNER](workspace/add-ons/reference/rpc/google.apps.card.v1#loadindicator) for all actions, as this locks the UI to ensure no changes are made by the user while the action is being processed. Not supported by Google Chat apps. + }, + "card": # Object with schema name: GoogleAppsCardV1Card # A new card is pushed to the card stack after clicking if specified. + "openDynamicLinkAction": { # An action that describes the behavior when the form is submitted. For example, an Apps Script can be invoked to handle the form. # An add-on triggers this action when the action needs to open a link. This differs from the `open_link` above in that this needs to talk to server to get the link. Thus some preparation work is required for web client to do before the open link action response comes back. + "function": "A String", # Apps Script function to invoke when the containing element is clicked/activated. + "loadIndicator": "A String", # Specifies the loading indicator that the action displays while making the call to the action. + "parameters": [ # List of action parameters. + { # List of string parameters to supply when the action method is invoked. For example, consider three snooze buttons: snooze now, snooze 1 day, snooze next week. You might use action method = snooze(), passing the snooze type and snooze time in the list of string parameters. + "key": "A String", # The name of the parameter for the action script. + "value": "A String", # The value of the parameter. + }, + ], + "persistValues": True or False, # Indicates whether form values persist after the action. The default value is `false`. If `true`, form values remain after the action is triggered. When using [LoadIndicator.NONE](workspace/add-ons/reference/rpc/google.apps.card.v1#loadindicator) for actions, `persist_values` = `true`is recommended, as it ensures that any changes made by the user after form or on change actions are sent to the server are not overwritten by the response. If `false`, the form values are cleared when the action is triggered. When `persist_values` is set to `false`, it is strongly recommended that the card use [LoadIndicator.SPINNER](workspace/add-ons/reference/rpc/google.apps.card.v1#loadindicator) for all actions, as this locks the UI to ensure no changes are made by the user while the action is being processed. Not supported by Google Chat apps. + }, + "openLink": { # Represents an `onClick` event that opens a hyperlink. # If specified, this `onClick` triggers an open link action. + "onClose": "A String", # Whether the client forgets about a link after opening it, or observes it until the window closes. Not supported by Chat apps. + "openAs": "A String", # How to open a link. Not supported by Chat apps. + "url": "A String", # The URL to open. + }, + }, + "text": "A String", # The text of the button. + }, + "endIcon": { # An icon displayed after the text. + "altText": "A String", # The description of the icon, used for accessibility. The default value is provided if you don't specify one. + "iconUrl": "A String", # The icon specified by a URL. + "imageType": "A String", # The crop style applied to the image. In some cases, applying a `CIRCLE` crop causes the image to be drawn larger than a standard icon. + "knownIcon": "A String", # The icon specified by the string name of a list of known icons. + }, + "icon": { # Deprecated in favor of start_icon. + "altText": "A String", # The description of the icon, used for accessibility. The default value is provided if you don't specify one. + "iconUrl": "A String", # The icon specified by a URL. + "imageType": "A String", # The crop style applied to the image. In some cases, applying a `CIRCLE` crop causes the image to be drawn larger than a standard icon. + "knownIcon": "A String", # The icon specified by the string name of a list of known icons. + }, + "onClick": { # Represents the response to an `onClick` event. # Only the top and bottom label and content region are clickable. + "action": { # An action that describes the behavior when the form is submitted. For example, an Apps Script can be invoked to handle the form. # If specified, an action is triggered by this `onClick`. + "function": "A String", # Apps Script function to invoke when the containing element is clicked/activated. + "loadIndicator": "A String", # Specifies the loading indicator that the action displays while making the call to the action. + "parameters": [ # List of action parameters. + { # List of string parameters to supply when the action method is invoked. For example, consider three snooze buttons: snooze now, snooze 1 day, snooze next week. You might use action method = snooze(), passing the snooze type and snooze time in the list of string parameters. + "key": "A String", # The name of the parameter for the action script. + "value": "A String", # The value of the parameter. + }, + ], + "persistValues": True or False, # Indicates whether form values persist after the action. The default value is `false`. If `true`, form values remain after the action is triggered. When using [LoadIndicator.NONE](workspace/add-ons/reference/rpc/google.apps.card.v1#loadindicator) for actions, `persist_values` = `true`is recommended, as it ensures that any changes made by the user after form or on change actions are sent to the server are not overwritten by the response. If `false`, the form values are cleared when the action is triggered. When `persist_values` is set to `false`, it is strongly recommended that the card use [LoadIndicator.SPINNER](workspace/add-ons/reference/rpc/google.apps.card.v1#loadindicator) for all actions, as this locks the UI to ensure no changes are made by the user while the action is being processed. Not supported by Google Chat apps. + }, + "card": # Object with schema name: GoogleAppsCardV1Card # A new card is pushed to the card stack after clicking if specified. + "openDynamicLinkAction": { # An action that describes the behavior when the form is submitted. For example, an Apps Script can be invoked to handle the form. # An add-on triggers this action when the action needs to open a link. This differs from the `open_link` above in that this needs to talk to server to get the link. Thus some preparation work is required for web client to do before the open link action response comes back. + "function": "A String", # Apps Script function to invoke when the containing element is clicked/activated. + "loadIndicator": "A String", # Specifies the loading indicator that the action displays while making the call to the action. + "parameters": [ # List of action parameters. + { # List of string parameters to supply when the action method is invoked. For example, consider three snooze buttons: snooze now, snooze 1 day, snooze next week. You might use action method = snooze(), passing the snooze type and snooze time in the list of string parameters. + "key": "A String", # The name of the parameter for the action script. + "value": "A String", # The value of the parameter. + }, + ], + "persistValues": True or False, # Indicates whether form values persist after the action. The default value is `false`. If `true`, form values remain after the action is triggered. When using [LoadIndicator.NONE](workspace/add-ons/reference/rpc/google.apps.card.v1#loadindicator) for actions, `persist_values` = `true`is recommended, as it ensures that any changes made by the user after form or on change actions are sent to the server are not overwritten by the response. If `false`, the form values are cleared when the action is triggered. When `persist_values` is set to `false`, it is strongly recommended that the card use [LoadIndicator.SPINNER](workspace/add-ons/reference/rpc/google.apps.card.v1#loadindicator) for all actions, as this locks the UI to ensure no changes are made by the user while the action is being processed. Not supported by Google Chat apps. + }, + "openLink": { # Represents an `onClick` event that opens a hyperlink. # If specified, this `onClick` triggers an open link action. + "onClose": "A String", # Whether the client forgets about a link after opening it, or observes it until the window closes. Not supported by Chat apps. + "openAs": "A String", # How to open a link. Not supported by Chat apps. + "url": "A String", # The URL to open. + }, + }, + "startIcon": { # The icon displayed in front of the text. + "altText": "A String", # The description of the icon, used for accessibility. The default value is provided if you don't specify one. + "iconUrl": "A String", # The icon specified by a URL. + "imageType": "A String", # The crop style applied to the image. In some cases, applying a `CIRCLE` crop causes the image to be drawn larger than a standard icon. + "knownIcon": "A String", # The icon specified by the string name of a list of known icons. + }, + "switchControl": { # Either a toggle-style switch or a checkbox. # A switch widget can be clicked to change its state or trigger an action. + "controlType": "A String", # The control type, either switch or checkbox. + "name": "A String", # The name of the switch widget that's used in `formInput`. + "onChangeAction": { # An action that describes the behavior when the form is submitted. For example, an Apps Script can be invoked to handle the form. # The action when the switch state is changed. + "function": "A String", # Apps Script function to invoke when the containing element is clicked/activated. + "loadIndicator": "A String", # Specifies the loading indicator that the action displays while making the call to the action. + "parameters": [ # List of action parameters. + { # List of string parameters to supply when the action method is invoked. For example, consider three snooze buttons: snooze now, snooze 1 day, snooze next week. You might use action method = snooze(), passing the snooze type and snooze time in the list of string parameters. + "key": "A String", # The name of the parameter for the action script. + "value": "A String", # The value of the parameter. + }, + ], + "persistValues": True or False, # Indicates whether form values persist after the action. The default value is `false`. If `true`, form values remain after the action is triggered. When using [LoadIndicator.NONE](workspace/add-ons/reference/rpc/google.apps.card.v1#loadindicator) for actions, `persist_values` = `true`is recommended, as it ensures that any changes made by the user after form or on change actions are sent to the server are not overwritten by the response. If `false`, the form values are cleared when the action is triggered. When `persist_values` is set to `false`, it is strongly recommended that the card use [LoadIndicator.SPINNER](workspace/add-ons/reference/rpc/google.apps.card.v1#loadindicator) for all actions, as this locks the UI to ensure no changes are made by the user while the action is being processed. Not supported by Google Chat apps. + }, + "selected": True or False, # If the switch is selected. + "value": "A String", # The value is what is passed back in the callback. + }, + "text": "A String", # Required. The main widget formatted text. See Text formatting for details. + "topLabel": "A String", # The formatted text label that shows above the main text. + "wrapText": True or False, # The wrap text setting. If `true`, the text is wrapped and displayed in multiline. Otherwise, the text is truncated. + }, + "divider": { # A divider that appears in between widgets. # Displays a divider. For example, the following JSON creates a divider: ``` "divider": { } ``` + }, + "grid": { # Represents a Grid widget that displays items in a configurable grid layout. # Displays a grid with a collection of items. For example, the following JSON creates a 2 column grid with a single item: ``` "grid": { "title": "A fine collection of items", "numColumns": 2, "borderStyle": { "type": "STROKE", "cornerRadius": 4.0 }, "items": [ "image": { "imageUri": "https://www.example.com/image.png", "cropStyle": { "type": "SQUARE" }, "borderStyle": { "type": "STROKE" } }, "title": "An item", "textAlignment": "CENTER" ], "onClick": { "openLink": { "url":"https://www.example.com" } } } ``` + "borderStyle": { # Represents the complete border style applied to widgets. # The border style to apply to each grid item. + "cornerRadius": 42, # The corner radius for the border. + "strokeColor": { # Represents a color in the RGBA color space. This representation is designed for simplicity of conversion to/from color representations in various languages over compactness. For example, the fields of this representation can be trivially provided to the constructor of `java.awt.Color` in Java; it can also be trivially provided to UIColor's `+colorWithRed:green:blue:alpha` method in iOS; and, with just a little work, it can be easily formatted into a CSS `rgba()` string in JavaScript. This reference page doesn't carry information about the absolute color space that should be used to interpret the RGB value (e.g. sRGB, Adobe RGB, DCI-P3, BT.2020, etc.). By default, applications should assume the sRGB color space. When color equality needs to be decided, implementations, unless documented otherwise, treat two colors as equal if all their red, green, blue, and alpha values each differ by at most 1e-5. Example (Java): import com.google.type.Color; // ... public static java.awt.Color fromProto(Color protocolor) { float alpha = protocolor.hasAlpha() ? protocolor.getAlpha().getValue() : 1.0; return new java.awt.Color( protocolor.getRed(), protocolor.getGreen(), protocolor.getBlue(), alpha); } public static Color toProto(java.awt.Color color) { float red = (float) color.getRed(); float green = (float) color.getGreen(); float blue = (float) color.getBlue(); float denominator = 255.0; Color.Builder resultBuilder = Color .newBuilder() .setRed(red / denominator) .setGreen(green / denominator) .setBlue(blue / denominator); int alpha = color.getAlpha(); if (alpha != 255) { result.setAlpha( FloatValue .newBuilder() .setValue(((float) alpha) / denominator) .build()); } return resultBuilder.build(); } // ... Example (iOS / Obj-C): // ... static UIColor* fromProto(Color* protocolor) { float red = [protocolor red]; float green = [protocolor green]; float blue = [protocolor blue]; FloatValue* alpha_wrapper = [protocolor alpha]; float alpha = 1.0; if (alpha_wrapper != nil) { alpha = [alpha_wrapper value]; } return [UIColor colorWithRed:red green:green blue:blue alpha:alpha]; } static Color* toProto(UIColor* color) { CGFloat red, green, blue, alpha; if (![color getRed:&red green:&green blue:&blue alpha:&alpha]) { return nil; } Color* result = [[Color alloc] init]; [result setRed:red]; [result setGreen:green]; [result setBlue:blue]; if (alpha <= 0.9999) { [result setAlpha:floatWrapperWithValue(alpha)]; } [result autorelease]; return result; } // ... Example (JavaScript): // ... var protoToCssColor = function(rgb_color) { var redFrac = rgb_color.red || 0.0; var greenFrac = rgb_color.green || 0.0; var blueFrac = rgb_color.blue || 0.0; var red = Math.floor(redFrac * 255); var green = Math.floor(greenFrac * 255); var blue = Math.floor(blueFrac * 255); if (!('alpha' in rgb_color)) { return rgbToCssColor(red, green, blue); } var alphaFrac = rgb_color.alpha.value || 0.0; var rgbParams = [red, green, blue].join(','); return ['rgba(', rgbParams, ',', alphaFrac, ')'].join(''); }; var rgbToCssColor = function(red, green, blue) { var rgbNumber = new Number((red << 16) | (green << 8) | blue); var hexString = rgbNumber.toString(16); var missingZeros = 6 - hexString.length; var resultBuilder = ['#']; for (var i = 0; i < missingZeros; i++) { resultBuilder.push('0'); } resultBuilder.push(hexString); return resultBuilder.join(''); }; // ... # The colors to use when the type is `BORDER_TYPE_STROKE`. + "alpha": 3.14, # The fraction of this color that should be applied to the pixel. That is, the final pixel color is defined by the equation: `pixel color = alpha * (this color) + (1.0 - alpha) * (background color)` This means that a value of 1.0 corresponds to a solid color, whereas a value of 0.0 corresponds to a completely transparent color. This uses a wrapper message rather than a simple float scalar so that it is possible to distinguish between a default value and the value being unset. If omitted, this color object is rendered as a solid color (as if the alpha value had been explicitly given a value of 1.0). + "blue": 3.14, # The amount of blue in the color as a value in the interval [0, 1]. + "green": 3.14, # The amount of green in the color as a value in the interval [0, 1]. + "red": 3.14, # The amount of red in the color as a value in the interval [0, 1]. + }, + "type": "A String", # The border type. + }, + "columnCount": 42, # The number of columns to display in the grid. A default value is used if this field isn't specified, and that default value is different depending on where the grid is shown (dialog versus companion). + "items": [ # The items to display in the grid. + { # Represents a single item in the grid layout. + "id": "A String", # A user-specified identifier for this grid item. This identifier is returned in the parent Grid's onClick callback parameters. + "image": { # Represents an image. # The image that displays in the grid item. + "altText": "A String", # The accessibility label for the image. + "borderStyle": { # Represents the complete border style applied to widgets. # The border style to apply to the image. + "cornerRadius": 42, # The corner radius for the border. + "strokeColor": { # Represents a color in the RGBA color space. This representation is designed for simplicity of conversion to/from color representations in various languages over compactness. For example, the fields of this representation can be trivially provided to the constructor of `java.awt.Color` in Java; it can also be trivially provided to UIColor's `+colorWithRed:green:blue:alpha` method in iOS; and, with just a little work, it can be easily formatted into a CSS `rgba()` string in JavaScript. This reference page doesn't carry information about the absolute color space that should be used to interpret the RGB value (e.g. sRGB, Adobe RGB, DCI-P3, BT.2020, etc.). By default, applications should assume the sRGB color space. When color equality needs to be decided, implementations, unless documented otherwise, treat two colors as equal if all their red, green, blue, and alpha values each differ by at most 1e-5. Example (Java): import com.google.type.Color; // ... public static java.awt.Color fromProto(Color protocolor) { float alpha = protocolor.hasAlpha() ? protocolor.getAlpha().getValue() : 1.0; return new java.awt.Color( protocolor.getRed(), protocolor.getGreen(), protocolor.getBlue(), alpha); } public static Color toProto(java.awt.Color color) { float red = (float) color.getRed(); float green = (float) color.getGreen(); float blue = (float) color.getBlue(); float denominator = 255.0; Color.Builder resultBuilder = Color .newBuilder() .setRed(red / denominator) .setGreen(green / denominator) .setBlue(blue / denominator); int alpha = color.getAlpha(); if (alpha != 255) { result.setAlpha( FloatValue .newBuilder() .setValue(((float) alpha) / denominator) .build()); } return resultBuilder.build(); } // ... Example (iOS / Obj-C): // ... static UIColor* fromProto(Color* protocolor) { float red = [protocolor red]; float green = [protocolor green]; float blue = [protocolor blue]; FloatValue* alpha_wrapper = [protocolor alpha]; float alpha = 1.0; if (alpha_wrapper != nil) { alpha = [alpha_wrapper value]; } return [UIColor colorWithRed:red green:green blue:blue alpha:alpha]; } static Color* toProto(UIColor* color) { CGFloat red, green, blue, alpha; if (![color getRed:&red green:&green blue:&blue alpha:&alpha]) { return nil; } Color* result = [[Color alloc] init]; [result setRed:red]; [result setGreen:green]; [result setBlue:blue]; if (alpha <= 0.9999) { [result setAlpha:floatWrapperWithValue(alpha)]; } [result autorelease]; return result; } // ... Example (JavaScript): // ... var protoToCssColor = function(rgb_color) { var redFrac = rgb_color.red || 0.0; var greenFrac = rgb_color.green || 0.0; var blueFrac = rgb_color.blue || 0.0; var red = Math.floor(redFrac * 255); var green = Math.floor(greenFrac * 255); var blue = Math.floor(blueFrac * 255); if (!('alpha' in rgb_color)) { return rgbToCssColor(red, green, blue); } var alphaFrac = rgb_color.alpha.value || 0.0; var rgbParams = [red, green, blue].join(','); return ['rgba(', rgbParams, ',', alphaFrac, ')'].join(''); }; var rgbToCssColor = function(red, green, blue) { var rgbNumber = new Number((red << 16) | (green << 8) | blue); var hexString = rgbNumber.toString(16); var missingZeros = 6 - hexString.length; var resultBuilder = ['#']; for (var i = 0; i < missingZeros; i++) { resultBuilder.push('0'); } resultBuilder.push(hexString); return resultBuilder.join(''); }; // ... # The colors to use when the type is `BORDER_TYPE_STROKE`. + "alpha": 3.14, # The fraction of this color that should be applied to the pixel. That is, the final pixel color is defined by the equation: `pixel color = alpha * (this color) + (1.0 - alpha) * (background color)` This means that a value of 1.0 corresponds to a solid color, whereas a value of 0.0 corresponds to a completely transparent color. This uses a wrapper message rather than a simple float scalar so that it is possible to distinguish between a default value and the value being unset. If omitted, this color object is rendered as a solid color (as if the alpha value had been explicitly given a value of 1.0). + "blue": 3.14, # The amount of blue in the color as a value in the interval [0, 1]. + "green": 3.14, # The amount of green in the color as a value in the interval [0, 1]. + "red": 3.14, # The amount of red in the color as a value in the interval [0, 1]. + }, + "type": "A String", # The border type. + }, + "cropStyle": { # Represents the crop style applied to an image. # The crop style to apply to the image. + "aspectRatio": 3.14, # The aspect ratio to use if the crop type is `RECTANGLE_CUSTOM`. + "type": "A String", # The crop type. + }, + "imageUri": "A String", # The image URL. + }, + "layout": "A String", # The layout to use for the grid item. + "subtitle": "A String", # The grid item's subtitle. + "textAlignment": "A String", # The horizontal alignment of the grid item's text. + "title": "A String", # The grid item's title. + }, + ], + "onClick": { # Represents the response to an `onClick` event. # This callback is reused by each individual grid item, but with the item's identifier and index in the items list added to the callback's parameters. + "action": { # An action that describes the behavior when the form is submitted. For example, an Apps Script can be invoked to handle the form. # If specified, an action is triggered by this `onClick`. + "function": "A String", # Apps Script function to invoke when the containing element is clicked/activated. + "loadIndicator": "A String", # Specifies the loading indicator that the action displays while making the call to the action. + "parameters": [ # List of action parameters. + { # List of string parameters to supply when the action method is invoked. For example, consider three snooze buttons: snooze now, snooze 1 day, snooze next week. You might use action method = snooze(), passing the snooze type and snooze time in the list of string parameters. + "key": "A String", # The name of the parameter for the action script. + "value": "A String", # The value of the parameter. + }, + ], + "persistValues": True or False, # Indicates whether form values persist after the action. The default value is `false`. If `true`, form values remain after the action is triggered. When using [LoadIndicator.NONE](workspace/add-ons/reference/rpc/google.apps.card.v1#loadindicator) for actions, `persist_values` = `true`is recommended, as it ensures that any changes made by the user after form or on change actions are sent to the server are not overwritten by the response. If `false`, the form values are cleared when the action is triggered. When `persist_values` is set to `false`, it is strongly recommended that the card use [LoadIndicator.SPINNER](workspace/add-ons/reference/rpc/google.apps.card.v1#loadindicator) for all actions, as this locks the UI to ensure no changes are made by the user while the action is being processed. Not supported by Google Chat apps. + }, + "card": # Object with schema name: GoogleAppsCardV1Card # A new card is pushed to the card stack after clicking if specified. + "openDynamicLinkAction": { # An action that describes the behavior when the form is submitted. For example, an Apps Script can be invoked to handle the form. # An add-on triggers this action when the action needs to open a link. This differs from the `open_link` above in that this needs to talk to server to get the link. Thus some preparation work is required for web client to do before the open link action response comes back. + "function": "A String", # Apps Script function to invoke when the containing element is clicked/activated. + "loadIndicator": "A String", # Specifies the loading indicator that the action displays while making the call to the action. + "parameters": [ # List of action parameters. + { # List of string parameters to supply when the action method is invoked. For example, consider three snooze buttons: snooze now, snooze 1 day, snooze next week. You might use action method = snooze(), passing the snooze type and snooze time in the list of string parameters. + "key": "A String", # The name of the parameter for the action script. + "value": "A String", # The value of the parameter. + }, + ], + "persistValues": True or False, # Indicates whether form values persist after the action. The default value is `false`. If `true`, form values remain after the action is triggered. When using [LoadIndicator.NONE](workspace/add-ons/reference/rpc/google.apps.card.v1#loadindicator) for actions, `persist_values` = `true`is recommended, as it ensures that any changes made by the user after form or on change actions are sent to the server are not overwritten by the response. If `false`, the form values are cleared when the action is triggered. When `persist_values` is set to `false`, it is strongly recommended that the card use [LoadIndicator.SPINNER](workspace/add-ons/reference/rpc/google.apps.card.v1#loadindicator) for all actions, as this locks the UI to ensure no changes are made by the user while the action is being processed. Not supported by Google Chat apps. + }, + "openLink": { # Represents an `onClick` event that opens a hyperlink. # If specified, this `onClick` triggers an open link action. + "onClose": "A String", # Whether the client forgets about a link after opening it, or observes it until the window closes. Not supported by Chat apps. + "openAs": "A String", # How to open a link. Not supported by Chat apps. + "url": "A String", # The URL to open. + }, + }, + "title": "A String", # The text that displays in the grid header. + }, + "horizontalAlignment": "A String", # The horizontal alignment of this widget. + "image": { # An image that is specified by a URL and can have an `onClick` action. # Displays an image in this widget. For example, the following JSON creates an image with alternative text: ``` "image": { "imageUrl": "https://example.com/sasha.png" "altText": "Avatar for Sasha" } ``` + "altText": "A String", # The alternative text of this image, used for accessibility. + "imageUrl": "A String", # An image URL. + "onClick": { # Represents the response to an `onClick` event. # The action triggered by an `onClick` event. + "action": { # An action that describes the behavior when the form is submitted. For example, an Apps Script can be invoked to handle the form. # If specified, an action is triggered by this `onClick`. + "function": "A String", # Apps Script function to invoke when the containing element is clicked/activated. + "loadIndicator": "A String", # Specifies the loading indicator that the action displays while making the call to the action. + "parameters": [ # List of action parameters. + { # List of string parameters to supply when the action method is invoked. For example, consider three snooze buttons: snooze now, snooze 1 day, snooze next week. You might use action method = snooze(), passing the snooze type and snooze time in the list of string parameters. + "key": "A String", # The name of the parameter for the action script. + "value": "A String", # The value of the parameter. + }, + ], + "persistValues": True or False, # Indicates whether form values persist after the action. The default value is `false`. If `true`, form values remain after the action is triggered. When using [LoadIndicator.NONE](workspace/add-ons/reference/rpc/google.apps.card.v1#loadindicator) for actions, `persist_values` = `true`is recommended, as it ensures that any changes made by the user after form or on change actions are sent to the server are not overwritten by the response. If `false`, the form values are cleared when the action is triggered. When `persist_values` is set to `false`, it is strongly recommended that the card use [LoadIndicator.SPINNER](workspace/add-ons/reference/rpc/google.apps.card.v1#loadindicator) for all actions, as this locks the UI to ensure no changes are made by the user while the action is being processed. Not supported by Google Chat apps. + }, + "card": # Object with schema name: GoogleAppsCardV1Card # A new card is pushed to the card stack after clicking if specified. + "openDynamicLinkAction": { # An action that describes the behavior when the form is submitted. For example, an Apps Script can be invoked to handle the form. # An add-on triggers this action when the action needs to open a link. This differs from the `open_link` above in that this needs to talk to server to get the link. Thus some preparation work is required for web client to do before the open link action response comes back. + "function": "A String", # Apps Script function to invoke when the containing element is clicked/activated. + "loadIndicator": "A String", # Specifies the loading indicator that the action displays while making the call to the action. + "parameters": [ # List of action parameters. + { # List of string parameters to supply when the action method is invoked. For example, consider three snooze buttons: snooze now, snooze 1 day, snooze next week. You might use action method = snooze(), passing the snooze type and snooze time in the list of string parameters. + "key": "A String", # The name of the parameter for the action script. + "value": "A String", # The value of the parameter. + }, + ], + "persistValues": True or False, # Indicates whether form values persist after the action. The default value is `false`. If `true`, form values remain after the action is triggered. When using [LoadIndicator.NONE](workspace/add-ons/reference/rpc/google.apps.card.v1#loadindicator) for actions, `persist_values` = `true`is recommended, as it ensures that any changes made by the user after form or on change actions are sent to the server are not overwritten by the response. If `false`, the form values are cleared when the action is triggered. When `persist_values` is set to `false`, it is strongly recommended that the card use [LoadIndicator.SPINNER](workspace/add-ons/reference/rpc/google.apps.card.v1#loadindicator) for all actions, as this locks the UI to ensure no changes are made by the user while the action is being processed. Not supported by Google Chat apps. + }, + "openLink": { # Represents an `onClick` event that opens a hyperlink. # If specified, this `onClick` triggers an open link action. + "onClose": "A String", # Whether the client forgets about a link after opening it, or observes it until the window closes. Not supported by Chat apps. + "openAs": "A String", # How to open a link. Not supported by Chat apps. + "url": "A String", # The URL to open. + }, + }, + }, + "selectionInput": { # A widget that creates a UI item with options for users to select. For example, a dropdown menu. # Displays a switch control in this widget. For example, the following JSON creates a dropdown selection for size: ``` "switchControl": { "name": "size", "label": "Size" "type": "SelectionType.DROPDOWN", "items": [ { "text": "S", "value": "small", "selected": false }, { "text": "M", "value": "medium", "selected": true }, { "text": "L", "value": "large", "selected": false }, { "text": "XL", "value": "extra_large", "selected": false } ] } ``` + "items": [ # An array of the selected items. + { # A selectable item in the switch control. + "selected": True or False, # If more than one item is selected for `RADIO_BUTTON` and `DROPDOWN`, the first selected item is treated as selected and the ones after are ignored. + "text": "A String", # The text to be displayed. + "value": "A String", # The value associated with this item. The client should use this as a form input value. + }, + ], + "label": "A String", # The label displayed ahead of the switch control. + "name": "A String", # The name of the text input which is used in `formInput`. + "onChangeAction": { # An action that describes the behavior when the form is submitted. For example, an Apps Script can be invoked to handle the form. # If specified, the form is submitted when the selection changes. If not specified, you must specify a separate button. + "function": "A String", # Apps Script function to invoke when the containing element is clicked/activated. + "loadIndicator": "A String", # Specifies the loading indicator that the action displays while making the call to the action. + "parameters": [ # List of action parameters. + { # List of string parameters to supply when the action method is invoked. For example, consider three snooze buttons: snooze now, snooze 1 day, snooze next week. You might use action method = snooze(), passing the snooze type and snooze time in the list of string parameters. + "key": "A String", # The name of the parameter for the action script. + "value": "A String", # The value of the parameter. + }, + ], + "persistValues": True or False, # Indicates whether form values persist after the action. The default value is `false`. If `true`, form values remain after the action is triggered. When using [LoadIndicator.NONE](workspace/add-ons/reference/rpc/google.apps.card.v1#loadindicator) for actions, `persist_values` = `true`is recommended, as it ensures that any changes made by the user after form or on change actions are sent to the server are not overwritten by the response. If `false`, the form values are cleared when the action is triggered. When `persist_values` is set to `false`, it is strongly recommended that the card use [LoadIndicator.SPINNER](workspace/add-ons/reference/rpc/google.apps.card.v1#loadindicator) for all actions, as this locks the UI to ensure no changes are made by the user while the action is being processed. Not supported by Google Chat apps. + }, + "type": "A String", # The type of the selection. + }, + "textInput": { # A text input is a UI item where users can input text. A text input can also have an onChange action and suggestions. # Displays a text input in this widget. For example, the following JSON creates a text input for mail address: ``` "textInput": { "name": "mailing_address", "label": "Mailing Address" } ``` As another example, the following JSON creates a text input for programming language with static suggestions: ``` "textInput": { "name": "preferred_programing_language", "label": "Preferred Language", "initialSuggestions": { "items": [ { "text": "C++" }, { "text": "Java" }, { "text": "JavaScript" }, { "text": "Python" } ] } } ``` + "autoCompleteAction": { # An action that describes the behavior when the form is submitted. For example, an Apps Script can be invoked to handle the form. # The refresh function that returns suggestions based on the user's input text. If the callback is not specified, autocomplete is done in client side based on the initial suggestion items. + "function": "A String", # Apps Script function to invoke when the containing element is clicked/activated. + "loadIndicator": "A String", # Specifies the loading indicator that the action displays while making the call to the action. + "parameters": [ # List of action parameters. + { # List of string parameters to supply when the action method is invoked. For example, consider three snooze buttons: snooze now, snooze 1 day, snooze next week. You might use action method = snooze(), passing the snooze type and snooze time in the list of string parameters. + "key": "A String", # The name of the parameter for the action script. + "value": "A String", # The value of the parameter. + }, + ], + "persistValues": True or False, # Indicates whether form values persist after the action. The default value is `false`. If `true`, form values remain after the action is triggered. When using [LoadIndicator.NONE](workspace/add-ons/reference/rpc/google.apps.card.v1#loadindicator) for actions, `persist_values` = `true`is recommended, as it ensures that any changes made by the user after form or on change actions are sent to the server are not overwritten by the response. If `false`, the form values are cleared when the action is triggered. When `persist_values` is set to `false`, it is strongly recommended that the card use [LoadIndicator.SPINNER](workspace/add-ons/reference/rpc/google.apps.card.v1#loadindicator) for all actions, as this locks the UI to ensure no changes are made by the user while the action is being processed. Not supported by Google Chat apps. + }, + "hintText": "A String", # The hint text. + "initialSuggestions": { # A container wrapping elements necessary for showing suggestion items used in text input autocomplete. # The initial suggestions made before any user input. + "items": [ # A list of suggestions used for autocomplete recommendations. + { # A suggestion item. + "text": "A String", # The suggested autocomplete result. + }, + ], + }, + "label": "A String", # At least one of label and hintText must be specified. + "name": "A String", # The name of the text input which is used in `formInput`. + "onChangeAction": { # An action that describes the behavior when the form is submitted. For example, an Apps Script can be invoked to handle the form. # The onChange action, for example, invoke a function. + "function": "A String", # Apps Script function to invoke when the containing element is clicked/activated. + "loadIndicator": "A String", # Specifies the loading indicator that the action displays while making the call to the action. + "parameters": [ # List of action parameters. + { # List of string parameters to supply when the action method is invoked. For example, consider three snooze buttons: snooze now, snooze 1 day, snooze next week. You might use action method = snooze(), passing the snooze type and snooze time in the list of string parameters. + "key": "A String", # The name of the parameter for the action script. + "value": "A String", # The value of the parameter. + }, + ], + "persistValues": True or False, # Indicates whether form values persist after the action. The default value is `false`. If `true`, form values remain after the action is triggered. When using [LoadIndicator.NONE](workspace/add-ons/reference/rpc/google.apps.card.v1#loadindicator) for actions, `persist_values` = `true`is recommended, as it ensures that any changes made by the user after form or on change actions are sent to the server are not overwritten by the response. If `false`, the form values are cleared when the action is triggered. When `persist_values` is set to `false`, it is strongly recommended that the card use [LoadIndicator.SPINNER](workspace/add-ons/reference/rpc/google.apps.card.v1#loadindicator) for all actions, as this locks the UI to ensure no changes are made by the user while the action is being processed. Not supported by Google Chat apps. + }, + "type": "A String", # The style of the text, for example, a single line or multiple lines. + "value": "A String", # The default value when there is no input from the user. + }, + "textParagraph": { # A paragraph of text that supports formatting. See [Text formatting](workspace/add-ons/concepts/widgets#text_formatting) for details. # Displays a text paragraph in this widget. For example, the following JSON creates a bolded text: ``` "textParagraph": { "text": " *bold text*" } ``` + "text": "A String", # The text that's shown in the widget. + }, + }, + ], + }, + ], + }, + "cardId": "A String", # Required for `cardsV2` messages. Chat app-specified identifier for this widget. Scoped within a message. + }, + ], "createTime": "A String", # Output only. The time at which the message was created in Google Chat server. "fallbackText": "A String", # A plain-text description of the message's cards, used when the actual cards cannot be displayed (e.g. mobile notifications). "lastUpdateTime": "A String", # Output only. The time at which the message was last edited by a user. If the message has never been edited, this field is empty. @@ -867,8 +1389,12 @@

Method Details

"displayName": "A String", # The space's display name. For direct messages between humans, this field might be empty. "name": "A String", # Resource name of the space. Format: spaces/{space} "singleUserBotDm": True or False, # Output only. Whether the space is a DM between a Chat app and a single human. + "spaceDetails": { # Details about the space including description and rules. # Details about the space including description and rules. + "description": "A String", # Optional. A description of the space. It could describe the space's discussion topic, functional purpose, or participants. + "guidelines": "A String", # Optional. The space's rules, expectations, and etiquette. + }, "threaded": True or False, # Output only. Whether messages are threaded in this space. - "type": "A String", # Output only. Deprecated: Use `single_user_bot_dm` or `space_type` (developer preview) instead. The type of a space. + "type": "A String", # Output only. Deprecated: Use `singleUserBotDm` or `spaceType` (developer preview) instead. The type of a space. }, "text": "A String", # Plain-text body of the message. The first link to an image, video, web page, or other preview-able item generates a preview chip. "thread": { # A thread in Google Chat. # The thread the message belongs to. @@ -1617,10 +2143,532 @@

Method Details

"textParagraph": { # A paragraph of text. Formatted text supported. # Display a text paragraph in this widget. "text": "A String", }, - }, - ], - }, - ], + }, + ], + }, + ], + }, + ], + "cardsV2": [ # Richly formatted and interactive cards that display UI elements and editable widgets, such as: - Formatted text - Buttons - Clickable images - Checkboxes - Radio buttons - Input widgets. Cards are usually displayed below the text-body of a Chat message, but can situationally appear other places, such as [dialogs](https://developers.google.com/chat/how-tos/dialogs). The `cardId` is a unique identifier among cards in the same message and for identifying user input values. Currently supported widgets include: - `TextParagraph` - `DecoratedText` - `Image` - `ButtonList` + { # Widgets for Chat apps to specify. + "card": { # A card is a UI element that can contain UI widgets such as text and images. For more information, see Cards . For example, the following JSON creates a card that has a header with the name, position, icons, and link for a contact, followed by a section with contact information like email and phone number. ``` { "header": { "title": "Sasha", "subtitle": "Software Engineer", "imageStyle": "ImageStyle.AVATAR", "imageUrl": "https://example.com/sasha.png", "imageAltText": "Avatar for Sasha" }, "sections" : [ { "header": "Contact Info", "widgets": [ { "decorated_text": { "icon": { "knownIcon": "EMAIL" }, "content": "sasha@example.com" } }, { "decoratedText": { "icon": { "knownIcon": "PERSON" }, "content": "Online" } }, { "decoratedText": { "icon": { "knownIcon": "PHONE" }, "content": "+1 (555) 555-1234" } }, { "buttons": [ { "textButton": { "text": "Share", }, "onClick": { "openLink": { "url": "https://example.com/share" } } }, { "textButton": { "text": "Edit", }, "onClick": { "action": { "function": "goToView", "parameters": [ { "key": "viewType", "value": "EDIT" } ], "loadIndicator": "LoadIndicator.SPINNER" } } } ] } ], "collapsible": true, "uncollapsibleWidgetsCount": 3 } ], "cardActions": [ { "actionLabel": "Send Feedback", "onClick": { "openLink": { "url": "https://example.com/feedback" } } } ], "name": "contact-card-K3wB6arF2H9L" } ``` # Card proto that allows Chat apps to specify UI elements and editable widgets. + "cardActions": [ # The card's actions. Actions are added to the card's generated toolbar menu. For example, the following JSON constructs a card action menu with Settings and Send Feedback options: ``` "card_actions": [ { "actionLabel": "Settings", "onClick": { "action": { "functionName": "goToView", "parameters": [ { "key": "viewType", "value": "SETTING" } ], "loadIndicator": "LoadIndicator.SPINNER" } } }, { "actionLabel": "Send Feedback", "onClick": { "openLink": { "url": "https://example.com/feedback" } } } ] ``` + { # A card action is the action associated with the card. For example, an invoice card might include actions such as delete invoice, email invoice, or open the invoice in a browser. + "actionLabel": "A String", # The label that displays as the action menu item. + "onClick": { # Represents the response to an `onClick` event. # The `onClick` action for this action item. + "action": { # An action that describes the behavior when the form is submitted. For example, an Apps Script can be invoked to handle the form. # If specified, an action is triggered by this `onClick`. + "function": "A String", # Apps Script function to invoke when the containing element is clicked/activated. + "loadIndicator": "A String", # Specifies the loading indicator that the action displays while making the call to the action. + "parameters": [ # List of action parameters. + { # List of string parameters to supply when the action method is invoked. For example, consider three snooze buttons: snooze now, snooze 1 day, snooze next week. You might use action method = snooze(), passing the snooze type and snooze time in the list of string parameters. + "key": "A String", # The name of the parameter for the action script. + "value": "A String", # The value of the parameter. + }, + ], + "persistValues": True or False, # Indicates whether form values persist after the action. The default value is `false`. If `true`, form values remain after the action is triggered. When using [LoadIndicator.NONE](workspace/add-ons/reference/rpc/google.apps.card.v1#loadindicator) for actions, `persist_values` = `true`is recommended, as it ensures that any changes made by the user after form or on change actions are sent to the server are not overwritten by the response. If `false`, the form values are cleared when the action is triggered. When `persist_values` is set to `false`, it is strongly recommended that the card use [LoadIndicator.SPINNER](workspace/add-ons/reference/rpc/google.apps.card.v1#loadindicator) for all actions, as this locks the UI to ensure no changes are made by the user while the action is being processed. Not supported by Google Chat apps. + }, + "card": # Object with schema name: GoogleAppsCardV1Card # A new card is pushed to the card stack after clicking if specified. + "openDynamicLinkAction": { # An action that describes the behavior when the form is submitted. For example, an Apps Script can be invoked to handle the form. # An add-on triggers this action when the action needs to open a link. This differs from the `open_link` above in that this needs to talk to server to get the link. Thus some preparation work is required for web client to do before the open link action response comes back. + "function": "A String", # Apps Script function to invoke when the containing element is clicked/activated. + "loadIndicator": "A String", # Specifies the loading indicator that the action displays while making the call to the action. + "parameters": [ # List of action parameters. + { # List of string parameters to supply when the action method is invoked. For example, consider three snooze buttons: snooze now, snooze 1 day, snooze next week. You might use action method = snooze(), passing the snooze type and snooze time in the list of string parameters. + "key": "A String", # The name of the parameter for the action script. + "value": "A String", # The value of the parameter. + }, + ], + "persistValues": True or False, # Indicates whether form values persist after the action. The default value is `false`. If `true`, form values remain after the action is triggered. When using [LoadIndicator.NONE](workspace/add-ons/reference/rpc/google.apps.card.v1#loadindicator) for actions, `persist_values` = `true`is recommended, as it ensures that any changes made by the user after form or on change actions are sent to the server are not overwritten by the response. If `false`, the form values are cleared when the action is triggered. When `persist_values` is set to `false`, it is strongly recommended that the card use [LoadIndicator.SPINNER](workspace/add-ons/reference/rpc/google.apps.card.v1#loadindicator) for all actions, as this locks the UI to ensure no changes are made by the user while the action is being processed. Not supported by Google Chat apps. + }, + "openLink": { # Represents an `onClick` event that opens a hyperlink. # If specified, this `onClick` triggers an open link action. + "onClose": "A String", # Whether the client forgets about a link after opening it, or observes it until the window closes. Not supported by Chat apps. + "openAs": "A String", # How to open a link. Not supported by Chat apps. + "url": "A String", # The URL to open. + }, + }, + }, + ], + "displayStyle": "A String", # The `peekCardHeader` display style for. Not supported by Google Chat apps. + "fixedFooter": { # A persistent (sticky) footer that is added to the bottom of the card. # The fixed footer shown at the bottom of this card. + "primaryButton": { # A button. Can be a text button or an image button. # The primary button of the fixed footer. The button must be a text button with text and color set. + "altText": "A String", # The alternative text used for accessibility. Has no effect when an icon is set; use `icon.alt_text` instead. + "color": { # Represents a color in the RGBA color space. This representation is designed for simplicity of conversion to/from color representations in various languages over compactness. For example, the fields of this representation can be trivially provided to the constructor of `java.awt.Color` in Java; it can also be trivially provided to UIColor's `+colorWithRed:green:blue:alpha` method in iOS; and, with just a little work, it can be easily formatted into a CSS `rgba()` string in JavaScript. This reference page doesn't carry information about the absolute color space that should be used to interpret the RGB value (e.g. sRGB, Adobe RGB, DCI-P3, BT.2020, etc.). By default, applications should assume the sRGB color space. When color equality needs to be decided, implementations, unless documented otherwise, treat two colors as equal if all their red, green, blue, and alpha values each differ by at most 1e-5. Example (Java): import com.google.type.Color; // ... public static java.awt.Color fromProto(Color protocolor) { float alpha = protocolor.hasAlpha() ? protocolor.getAlpha().getValue() : 1.0; return new java.awt.Color( protocolor.getRed(), protocolor.getGreen(), protocolor.getBlue(), alpha); } public static Color toProto(java.awt.Color color) { float red = (float) color.getRed(); float green = (float) color.getGreen(); float blue = (float) color.getBlue(); float denominator = 255.0; Color.Builder resultBuilder = Color .newBuilder() .setRed(red / denominator) .setGreen(green / denominator) .setBlue(blue / denominator); int alpha = color.getAlpha(); if (alpha != 255) { result.setAlpha( FloatValue .newBuilder() .setValue(((float) alpha) / denominator) .build()); } return resultBuilder.build(); } // ... Example (iOS / Obj-C): // ... static UIColor* fromProto(Color* protocolor) { float red = [protocolor red]; float green = [protocolor green]; float blue = [protocolor blue]; FloatValue* alpha_wrapper = [protocolor alpha]; float alpha = 1.0; if (alpha_wrapper != nil) { alpha = [alpha_wrapper value]; } return [UIColor colorWithRed:red green:green blue:blue alpha:alpha]; } static Color* toProto(UIColor* color) { CGFloat red, green, blue, alpha; if (![color getRed:&red green:&green blue:&blue alpha:&alpha]) { return nil; } Color* result = [[Color alloc] init]; [result setRed:red]; [result setGreen:green]; [result setBlue:blue]; if (alpha <= 0.9999) { [result setAlpha:floatWrapperWithValue(alpha)]; } [result autorelease]; return result; } // ... Example (JavaScript): // ... var protoToCssColor = function(rgb_color) { var redFrac = rgb_color.red || 0.0; var greenFrac = rgb_color.green || 0.0; var blueFrac = rgb_color.blue || 0.0; var red = Math.floor(redFrac * 255); var green = Math.floor(greenFrac * 255); var blue = Math.floor(blueFrac * 255); if (!('alpha' in rgb_color)) { return rgbToCssColor(red, green, blue); } var alphaFrac = rgb_color.alpha.value || 0.0; var rgbParams = [red, green, blue].join(','); return ['rgba(', rgbParams, ',', alphaFrac, ')'].join(''); }; var rgbToCssColor = function(red, green, blue) { var rgbNumber = new Number((red << 16) | (green << 8) | blue); var hexString = rgbNumber.toString(16); var missingZeros = 6 - hexString.length; var resultBuilder = ['#']; for (var i = 0; i < missingZeros; i++) { resultBuilder.push('0'); } resultBuilder.push(hexString); return resultBuilder.join(''); }; // ... # If set, the button is filled with a solid background. + "alpha": 3.14, # The fraction of this color that should be applied to the pixel. That is, the final pixel color is defined by the equation: `pixel color = alpha * (this color) + (1.0 - alpha) * (background color)` This means that a value of 1.0 corresponds to a solid color, whereas a value of 0.0 corresponds to a completely transparent color. This uses a wrapper message rather than a simple float scalar so that it is possible to distinguish between a default value and the value being unset. If omitted, this color object is rendered as a solid color (as if the alpha value had been explicitly given a value of 1.0). + "blue": 3.14, # The amount of blue in the color as a value in the interval [0, 1]. + "green": 3.14, # The amount of green in the color as a value in the interval [0, 1]. + "red": 3.14, # The amount of red in the color as a value in the interval [0, 1]. + }, + "disabled": True or False, # If `true`, the button is displayed in a disabled state and doesn't respond to user actions. + "icon": { # The icon image. + "altText": "A String", # The description of the icon, used for accessibility. The default value is provided if you don't specify one. + "iconUrl": "A String", # The icon specified by a URL. + "imageType": "A String", # The crop style applied to the image. In some cases, applying a `CIRCLE` crop causes the image to be drawn larger than a standard icon. + "knownIcon": "A String", # The icon specified by the string name of a list of known icons. + }, + "onClick": { # Represents the response to an `onClick` event. # The action to perform when the button is clicked. + "action": { # An action that describes the behavior when the form is submitted. For example, an Apps Script can be invoked to handle the form. # If specified, an action is triggered by this `onClick`. + "function": "A String", # Apps Script function to invoke when the containing element is clicked/activated. + "loadIndicator": "A String", # Specifies the loading indicator that the action displays while making the call to the action. + "parameters": [ # List of action parameters. + { # List of string parameters to supply when the action method is invoked. For example, consider three snooze buttons: snooze now, snooze 1 day, snooze next week. You might use action method = snooze(), passing the snooze type and snooze time in the list of string parameters. + "key": "A String", # The name of the parameter for the action script. + "value": "A String", # The value of the parameter. + }, + ], + "persistValues": True or False, # Indicates whether form values persist after the action. The default value is `false`. If `true`, form values remain after the action is triggered. When using [LoadIndicator.NONE](workspace/add-ons/reference/rpc/google.apps.card.v1#loadindicator) for actions, `persist_values` = `true`is recommended, as it ensures that any changes made by the user after form or on change actions are sent to the server are not overwritten by the response. If `false`, the form values are cleared when the action is triggered. When `persist_values` is set to `false`, it is strongly recommended that the card use [LoadIndicator.SPINNER](workspace/add-ons/reference/rpc/google.apps.card.v1#loadindicator) for all actions, as this locks the UI to ensure no changes are made by the user while the action is being processed. Not supported by Google Chat apps. + }, + "card": # Object with schema name: GoogleAppsCardV1Card # A new card is pushed to the card stack after clicking if specified. + "openDynamicLinkAction": { # An action that describes the behavior when the form is submitted. For example, an Apps Script can be invoked to handle the form. # An add-on triggers this action when the action needs to open a link. This differs from the `open_link` above in that this needs to talk to server to get the link. Thus some preparation work is required for web client to do before the open link action response comes back. + "function": "A String", # Apps Script function to invoke when the containing element is clicked/activated. + "loadIndicator": "A String", # Specifies the loading indicator that the action displays while making the call to the action. + "parameters": [ # List of action parameters. + { # List of string parameters to supply when the action method is invoked. For example, consider three snooze buttons: snooze now, snooze 1 day, snooze next week. You might use action method = snooze(), passing the snooze type and snooze time in the list of string parameters. + "key": "A String", # The name of the parameter for the action script. + "value": "A String", # The value of the parameter. + }, + ], + "persistValues": True or False, # Indicates whether form values persist after the action. The default value is `false`. If `true`, form values remain after the action is triggered. When using [LoadIndicator.NONE](workspace/add-ons/reference/rpc/google.apps.card.v1#loadindicator) for actions, `persist_values` = `true`is recommended, as it ensures that any changes made by the user after form or on change actions are sent to the server are not overwritten by the response. If `false`, the form values are cleared when the action is triggered. When `persist_values` is set to `false`, it is strongly recommended that the card use [LoadIndicator.SPINNER](workspace/add-ons/reference/rpc/google.apps.card.v1#loadindicator) for all actions, as this locks the UI to ensure no changes are made by the user while the action is being processed. Not supported by Google Chat apps. + }, + "openLink": { # Represents an `onClick` event that opens a hyperlink. # If specified, this `onClick` triggers an open link action. + "onClose": "A String", # Whether the client forgets about a link after opening it, or observes it until the window closes. Not supported by Chat apps. + "openAs": "A String", # How to open a link. Not supported by Chat apps. + "url": "A String", # The URL to open. + }, + }, + "text": "A String", # The text of the button. + }, + "secondaryButton": { # A button. Can be a text button or an image button. # The secondary button of the fixed footer. The button must be a text button with text and color set. `primaryButton` must be set if `secondaryButton` is set. + "altText": "A String", # The alternative text used for accessibility. Has no effect when an icon is set; use `icon.alt_text` instead. + "color": { # Represents a color in the RGBA color space. This representation is designed for simplicity of conversion to/from color representations in various languages over compactness. For example, the fields of this representation can be trivially provided to the constructor of `java.awt.Color` in Java; it can also be trivially provided to UIColor's `+colorWithRed:green:blue:alpha` method in iOS; and, with just a little work, it can be easily formatted into a CSS `rgba()` string in JavaScript. This reference page doesn't carry information about the absolute color space that should be used to interpret the RGB value (e.g. sRGB, Adobe RGB, DCI-P3, BT.2020, etc.). By default, applications should assume the sRGB color space. When color equality needs to be decided, implementations, unless documented otherwise, treat two colors as equal if all their red, green, blue, and alpha values each differ by at most 1e-5. Example (Java): import com.google.type.Color; // ... public static java.awt.Color fromProto(Color protocolor) { float alpha = protocolor.hasAlpha() ? protocolor.getAlpha().getValue() : 1.0; return new java.awt.Color( protocolor.getRed(), protocolor.getGreen(), protocolor.getBlue(), alpha); } public static Color toProto(java.awt.Color color) { float red = (float) color.getRed(); float green = (float) color.getGreen(); float blue = (float) color.getBlue(); float denominator = 255.0; Color.Builder resultBuilder = Color .newBuilder() .setRed(red / denominator) .setGreen(green / denominator) .setBlue(blue / denominator); int alpha = color.getAlpha(); if (alpha != 255) { result.setAlpha( FloatValue .newBuilder() .setValue(((float) alpha) / denominator) .build()); } return resultBuilder.build(); } // ... Example (iOS / Obj-C): // ... static UIColor* fromProto(Color* protocolor) { float red = [protocolor red]; float green = [protocolor green]; float blue = [protocolor blue]; FloatValue* alpha_wrapper = [protocolor alpha]; float alpha = 1.0; if (alpha_wrapper != nil) { alpha = [alpha_wrapper value]; } return [UIColor colorWithRed:red green:green blue:blue alpha:alpha]; } static Color* toProto(UIColor* color) { CGFloat red, green, blue, alpha; if (![color getRed:&red green:&green blue:&blue alpha:&alpha]) { return nil; } Color* result = [[Color alloc] init]; [result setRed:red]; [result setGreen:green]; [result setBlue:blue]; if (alpha <= 0.9999) { [result setAlpha:floatWrapperWithValue(alpha)]; } [result autorelease]; return result; } // ... Example (JavaScript): // ... var protoToCssColor = function(rgb_color) { var redFrac = rgb_color.red || 0.0; var greenFrac = rgb_color.green || 0.0; var blueFrac = rgb_color.blue || 0.0; var red = Math.floor(redFrac * 255); var green = Math.floor(greenFrac * 255); var blue = Math.floor(blueFrac * 255); if (!('alpha' in rgb_color)) { return rgbToCssColor(red, green, blue); } var alphaFrac = rgb_color.alpha.value || 0.0; var rgbParams = [red, green, blue].join(','); return ['rgba(', rgbParams, ',', alphaFrac, ')'].join(''); }; var rgbToCssColor = function(red, green, blue) { var rgbNumber = new Number((red << 16) | (green << 8) | blue); var hexString = rgbNumber.toString(16); var missingZeros = 6 - hexString.length; var resultBuilder = ['#']; for (var i = 0; i < missingZeros; i++) { resultBuilder.push('0'); } resultBuilder.push(hexString); return resultBuilder.join(''); }; // ... # If set, the button is filled with a solid background. + "alpha": 3.14, # The fraction of this color that should be applied to the pixel. That is, the final pixel color is defined by the equation: `pixel color = alpha * (this color) + (1.0 - alpha) * (background color)` This means that a value of 1.0 corresponds to a solid color, whereas a value of 0.0 corresponds to a completely transparent color. This uses a wrapper message rather than a simple float scalar so that it is possible to distinguish between a default value and the value being unset. If omitted, this color object is rendered as a solid color (as if the alpha value had been explicitly given a value of 1.0). + "blue": 3.14, # The amount of blue in the color as a value in the interval [0, 1]. + "green": 3.14, # The amount of green in the color as a value in the interval [0, 1]. + "red": 3.14, # The amount of red in the color as a value in the interval [0, 1]. + }, + "disabled": True or False, # If `true`, the button is displayed in a disabled state and doesn't respond to user actions. + "icon": { # The icon image. + "altText": "A String", # The description of the icon, used for accessibility. The default value is provided if you don't specify one. + "iconUrl": "A String", # The icon specified by a URL. + "imageType": "A String", # The crop style applied to the image. In some cases, applying a `CIRCLE` crop causes the image to be drawn larger than a standard icon. + "knownIcon": "A String", # The icon specified by the string name of a list of known icons. + }, + "onClick": { # Represents the response to an `onClick` event. # The action to perform when the button is clicked. + "action": { # An action that describes the behavior when the form is submitted. For example, an Apps Script can be invoked to handle the form. # If specified, an action is triggered by this `onClick`. + "function": "A String", # Apps Script function to invoke when the containing element is clicked/activated. + "loadIndicator": "A String", # Specifies the loading indicator that the action displays while making the call to the action. + "parameters": [ # List of action parameters. + { # List of string parameters to supply when the action method is invoked. For example, consider three snooze buttons: snooze now, snooze 1 day, snooze next week. You might use action method = snooze(), passing the snooze type and snooze time in the list of string parameters. + "key": "A String", # The name of the parameter for the action script. + "value": "A String", # The value of the parameter. + }, + ], + "persistValues": True or False, # Indicates whether form values persist after the action. The default value is `false`. If `true`, form values remain after the action is triggered. When using [LoadIndicator.NONE](workspace/add-ons/reference/rpc/google.apps.card.v1#loadindicator) for actions, `persist_values` = `true`is recommended, as it ensures that any changes made by the user after form or on change actions are sent to the server are not overwritten by the response. If `false`, the form values are cleared when the action is triggered. When `persist_values` is set to `false`, it is strongly recommended that the card use [LoadIndicator.SPINNER](workspace/add-ons/reference/rpc/google.apps.card.v1#loadindicator) for all actions, as this locks the UI to ensure no changes are made by the user while the action is being processed. Not supported by Google Chat apps. + }, + "card": # Object with schema name: GoogleAppsCardV1Card # A new card is pushed to the card stack after clicking if specified. + "openDynamicLinkAction": { # An action that describes the behavior when the form is submitted. For example, an Apps Script can be invoked to handle the form. # An add-on triggers this action when the action needs to open a link. This differs from the `open_link` above in that this needs to talk to server to get the link. Thus some preparation work is required for web client to do before the open link action response comes back. + "function": "A String", # Apps Script function to invoke when the containing element is clicked/activated. + "loadIndicator": "A String", # Specifies the loading indicator that the action displays while making the call to the action. + "parameters": [ # List of action parameters. + { # List of string parameters to supply when the action method is invoked. For example, consider three snooze buttons: snooze now, snooze 1 day, snooze next week. You might use action method = snooze(), passing the snooze type and snooze time in the list of string parameters. + "key": "A String", # The name of the parameter for the action script. + "value": "A String", # The value of the parameter. + }, + ], + "persistValues": True or False, # Indicates whether form values persist after the action. The default value is `false`. If `true`, form values remain after the action is triggered. When using [LoadIndicator.NONE](workspace/add-ons/reference/rpc/google.apps.card.v1#loadindicator) for actions, `persist_values` = `true`is recommended, as it ensures that any changes made by the user after form or on change actions are sent to the server are not overwritten by the response. If `false`, the form values are cleared when the action is triggered. When `persist_values` is set to `false`, it is strongly recommended that the card use [LoadIndicator.SPINNER](workspace/add-ons/reference/rpc/google.apps.card.v1#loadindicator) for all actions, as this locks the UI to ensure no changes are made by the user while the action is being processed. Not supported by Google Chat apps. + }, + "openLink": { # Represents an `onClick` event that opens a hyperlink. # If specified, this `onClick` triggers an open link action. + "onClose": "A String", # Whether the client forgets about a link after opening it, or observes it until the window closes. Not supported by Chat apps. + "openAs": "A String", # How to open a link. Not supported by Chat apps. + "url": "A String", # The URL to open. + }, + }, + "text": "A String", # The text of the button. + }, + }, + "header": { # Represents a card header. # The header of the card. A header usually contains a title and an image. + "imageAltText": "A String", # The alternative text of this image which is used for accessibility. + "imageType": "A String", # The image's type. + "imageUrl": "A String", # The URL of the image in the card header. + "subtitle": "A String", # The subtitle of the card header. + "title": "A String", # Required. The title of the card header. The header has a fixed height: if both a title and subtitle are specified, each takes up one line. If only the title is specified, it takes up both lines. + }, + "name": "A String", # Name of the card. Used as a card identifier in card navigation. + "peekCardHeader": { # Represents a card header. # When displaying contextual content, the peek card header acts as a placeholder so that the user can navigate forward between the homepage cards and the contextual cards. Not supported by Google Chat apps. + "imageAltText": "A String", # The alternative text of this image which is used for accessibility. + "imageType": "A String", # The image's type. + "imageUrl": "A String", # The URL of the image in the card header. + "subtitle": "A String", # The subtitle of the card header. + "title": "A String", # Required. The title of the card header. The header has a fixed height: if both a title and subtitle are specified, each takes up one line. If only the title is specified, it takes up both lines. + }, + "sections": [ # Sections are separated by a line divider. + { # A section contains a collection of widgets that are rendered vertically in the order that they are specified. Across all platforms, cards have a narrow fixed width, so there is currently no need for layout properties, for example, float. + "collapsible": True or False, # Indicates whether this section is collapsible. If a section is collapsible, the description must be given. + "header": "A String", # The header of the section. Formatted text is supported. + "uncollapsibleWidgetsCount": 42, # The number of uncollapsible widgets. For example, when a section contains five widgets and the `uncollapsibleWidgetsCount` is set to `2`, the first two widgets are always shown and the last three are collapsed as default. The `uncollapsibleWidgetsCount` is taken into account only when `collapsible` is `true`. + "widgets": [ # A section must contain at least 1 widget. + { # A widget is a UI element that presents texts, images, etc. + "buttonList": { # A list of buttons layed out horizontally. # A list of buttons. For example, the following JSON creates two buttons. The first is a filled text button and the second is an image button that opens a link: ``` "buttonList": { "buttons": [ "button": { "text": "Edit", "Color": { "Red": 255 "Green": 255 "Blue": 255 } "disabled": true }, "button": { "icon": { "knownIcon": "INVITE" "altText": "check calendar" }, "onClick": { "openLink": { "url": "https://example.com/calendar" } } }, ] } ``` + "buttons": [ # An array of buttons. + { # A button. Can be a text button or an image button. + "altText": "A String", # The alternative text used for accessibility. Has no effect when an icon is set; use `icon.alt_text` instead. + "color": { # Represents a color in the RGBA color space. This representation is designed for simplicity of conversion to/from color representations in various languages over compactness. For example, the fields of this representation can be trivially provided to the constructor of `java.awt.Color` in Java; it can also be trivially provided to UIColor's `+colorWithRed:green:blue:alpha` method in iOS; and, with just a little work, it can be easily formatted into a CSS `rgba()` string in JavaScript. This reference page doesn't carry information about the absolute color space that should be used to interpret the RGB value (e.g. sRGB, Adobe RGB, DCI-P3, BT.2020, etc.). By default, applications should assume the sRGB color space. When color equality needs to be decided, implementations, unless documented otherwise, treat two colors as equal if all their red, green, blue, and alpha values each differ by at most 1e-5. Example (Java): import com.google.type.Color; // ... public static java.awt.Color fromProto(Color protocolor) { float alpha = protocolor.hasAlpha() ? protocolor.getAlpha().getValue() : 1.0; return new java.awt.Color( protocolor.getRed(), protocolor.getGreen(), protocolor.getBlue(), alpha); } public static Color toProto(java.awt.Color color) { float red = (float) color.getRed(); float green = (float) color.getGreen(); float blue = (float) color.getBlue(); float denominator = 255.0; Color.Builder resultBuilder = Color .newBuilder() .setRed(red / denominator) .setGreen(green / denominator) .setBlue(blue / denominator); int alpha = color.getAlpha(); if (alpha != 255) { result.setAlpha( FloatValue .newBuilder() .setValue(((float) alpha) / denominator) .build()); } return resultBuilder.build(); } // ... Example (iOS / Obj-C): // ... static UIColor* fromProto(Color* protocolor) { float red = [protocolor red]; float green = [protocolor green]; float blue = [protocolor blue]; FloatValue* alpha_wrapper = [protocolor alpha]; float alpha = 1.0; if (alpha_wrapper != nil) { alpha = [alpha_wrapper value]; } return [UIColor colorWithRed:red green:green blue:blue alpha:alpha]; } static Color* toProto(UIColor* color) { CGFloat red, green, blue, alpha; if (![color getRed:&red green:&green blue:&blue alpha:&alpha]) { return nil; } Color* result = [[Color alloc] init]; [result setRed:red]; [result setGreen:green]; [result setBlue:blue]; if (alpha <= 0.9999) { [result setAlpha:floatWrapperWithValue(alpha)]; } [result autorelease]; return result; } // ... Example (JavaScript): // ... var protoToCssColor = function(rgb_color) { var redFrac = rgb_color.red || 0.0; var greenFrac = rgb_color.green || 0.0; var blueFrac = rgb_color.blue || 0.0; var red = Math.floor(redFrac * 255); var green = Math.floor(greenFrac * 255); var blue = Math.floor(blueFrac * 255); if (!('alpha' in rgb_color)) { return rgbToCssColor(red, green, blue); } var alphaFrac = rgb_color.alpha.value || 0.0; var rgbParams = [red, green, blue].join(','); return ['rgba(', rgbParams, ',', alphaFrac, ')'].join(''); }; var rgbToCssColor = function(red, green, blue) { var rgbNumber = new Number((red << 16) | (green << 8) | blue); var hexString = rgbNumber.toString(16); var missingZeros = 6 - hexString.length; var resultBuilder = ['#']; for (var i = 0; i < missingZeros; i++) { resultBuilder.push('0'); } resultBuilder.push(hexString); return resultBuilder.join(''); }; // ... # If set, the button is filled with a solid background. + "alpha": 3.14, # The fraction of this color that should be applied to the pixel. That is, the final pixel color is defined by the equation: `pixel color = alpha * (this color) + (1.0 - alpha) * (background color)` This means that a value of 1.0 corresponds to a solid color, whereas a value of 0.0 corresponds to a completely transparent color. This uses a wrapper message rather than a simple float scalar so that it is possible to distinguish between a default value and the value being unset. If omitted, this color object is rendered as a solid color (as if the alpha value had been explicitly given a value of 1.0). + "blue": 3.14, # The amount of blue in the color as a value in the interval [0, 1]. + "green": 3.14, # The amount of green in the color as a value in the interval [0, 1]. + "red": 3.14, # The amount of red in the color as a value in the interval [0, 1]. + }, + "disabled": True or False, # If `true`, the button is displayed in a disabled state and doesn't respond to user actions. + "icon": { # The icon image. + "altText": "A String", # The description of the icon, used for accessibility. The default value is provided if you don't specify one. + "iconUrl": "A String", # The icon specified by a URL. + "imageType": "A String", # The crop style applied to the image. In some cases, applying a `CIRCLE` crop causes the image to be drawn larger than a standard icon. + "knownIcon": "A String", # The icon specified by the string name of a list of known icons. + }, + "onClick": { # Represents the response to an `onClick` event. # The action to perform when the button is clicked. + "action": { # An action that describes the behavior when the form is submitted. For example, an Apps Script can be invoked to handle the form. # If specified, an action is triggered by this `onClick`. + "function": "A String", # Apps Script function to invoke when the containing element is clicked/activated. + "loadIndicator": "A String", # Specifies the loading indicator that the action displays while making the call to the action. + "parameters": [ # List of action parameters. + { # List of string parameters to supply when the action method is invoked. For example, consider three snooze buttons: snooze now, snooze 1 day, snooze next week. You might use action method = snooze(), passing the snooze type and snooze time in the list of string parameters. + "key": "A String", # The name of the parameter for the action script. + "value": "A String", # The value of the parameter. + }, + ], + "persistValues": True or False, # Indicates whether form values persist after the action. The default value is `false`. If `true`, form values remain after the action is triggered. When using [LoadIndicator.NONE](workspace/add-ons/reference/rpc/google.apps.card.v1#loadindicator) for actions, `persist_values` = `true`is recommended, as it ensures that any changes made by the user after form or on change actions are sent to the server are not overwritten by the response. If `false`, the form values are cleared when the action is triggered. When `persist_values` is set to `false`, it is strongly recommended that the card use [LoadIndicator.SPINNER](workspace/add-ons/reference/rpc/google.apps.card.v1#loadindicator) for all actions, as this locks the UI to ensure no changes are made by the user while the action is being processed. Not supported by Google Chat apps. + }, + "card": # Object with schema name: GoogleAppsCardV1Card # A new card is pushed to the card stack after clicking if specified. + "openDynamicLinkAction": { # An action that describes the behavior when the form is submitted. For example, an Apps Script can be invoked to handle the form. # An add-on triggers this action when the action needs to open a link. This differs from the `open_link` above in that this needs to talk to server to get the link. Thus some preparation work is required for web client to do before the open link action response comes back. + "function": "A String", # Apps Script function to invoke when the containing element is clicked/activated. + "loadIndicator": "A String", # Specifies the loading indicator that the action displays while making the call to the action. + "parameters": [ # List of action parameters. + { # List of string parameters to supply when the action method is invoked. For example, consider three snooze buttons: snooze now, snooze 1 day, snooze next week. You might use action method = snooze(), passing the snooze type and snooze time in the list of string parameters. + "key": "A String", # The name of the parameter for the action script. + "value": "A String", # The value of the parameter. + }, + ], + "persistValues": True or False, # Indicates whether form values persist after the action. The default value is `false`. If `true`, form values remain after the action is triggered. When using [LoadIndicator.NONE](workspace/add-ons/reference/rpc/google.apps.card.v1#loadindicator) for actions, `persist_values` = `true`is recommended, as it ensures that any changes made by the user after form or on change actions are sent to the server are not overwritten by the response. If `false`, the form values are cleared when the action is triggered. When `persist_values` is set to `false`, it is strongly recommended that the card use [LoadIndicator.SPINNER](workspace/add-ons/reference/rpc/google.apps.card.v1#loadindicator) for all actions, as this locks the UI to ensure no changes are made by the user while the action is being processed. Not supported by Google Chat apps. + }, + "openLink": { # Represents an `onClick` event that opens a hyperlink. # If specified, this `onClick` triggers an open link action. + "onClose": "A String", # Whether the client forgets about a link after opening it, or observes it until the window closes. Not supported by Chat apps. + "openAs": "A String", # How to open a link. Not supported by Chat apps. + "url": "A String", # The URL to open. + }, + }, + "text": "A String", # The text of the button. + }, + ], + }, + "dateTimePicker": { # The widget that lets users to specify a date and time. Not supported by Google Chat apps. # Displays a selection/input widget for date/time. For example, the following JSON creates a date/time picker for an appointment time: ``` "date_time_picker": { "name": "appointment_time", "label": "Book your appointment at:", "type": "DateTimePickerType.DATE_AND_TIME", "valueMsEpoch": "796435200000" } ``` + "label": "A String", # The label for the field that displays to the user. + "name": "A String", # The name of the text input that's used in `formInput`, and uniquely identifies this input. + "onChangeAction": { # An action that describes the behavior when the form is submitted. For example, an Apps Script can be invoked to handle the form. # Triggered when the user clicks Save or Clear from the date/time picker dialog. This is only triggered if the value changed as a result of the Save/Clear operation. + "function": "A String", # Apps Script function to invoke when the containing element is clicked/activated. + "loadIndicator": "A String", # Specifies the loading indicator that the action displays while making the call to the action. + "parameters": [ # List of action parameters. + { # List of string parameters to supply when the action method is invoked. For example, consider three snooze buttons: snooze now, snooze 1 day, snooze next week. You might use action method = snooze(), passing the snooze type and snooze time in the list of string parameters. + "key": "A String", # The name of the parameter for the action script. + "value": "A String", # The value of the parameter. + }, + ], + "persistValues": True or False, # Indicates whether form values persist after the action. The default value is `false`. If `true`, form values remain after the action is triggered. When using [LoadIndicator.NONE](workspace/add-ons/reference/rpc/google.apps.card.v1#loadindicator) for actions, `persist_values` = `true`is recommended, as it ensures that any changes made by the user after form or on change actions are sent to the server are not overwritten by the response. If `false`, the form values are cleared when the action is triggered. When `persist_values` is set to `false`, it is strongly recommended that the card use [LoadIndicator.SPINNER](workspace/add-ons/reference/rpc/google.apps.card.v1#loadindicator) for all actions, as this locks the UI to ensure no changes are made by the user while the action is being processed. Not supported by Google Chat apps. + }, + "timezoneOffsetDate": 42, # The number representing the time zone offset from UTC, in minutes. If set, the `value_ms_epoch` is displayed in the specified time zone. If not set, it uses the user's time zone setting on the client side. + "type": "A String", # The type of the date/time picker. + "valueMsEpoch": "A String", # The value to display as the default value before user input or previous user input. It is represented in milliseconds (Epoch time). For `DATE_AND_TIME` type, the full epoch value is used. For `DATE_ONLY` type, only date of the epoch time is used. For `TIME_ONLY` type, only time of the epoch time is used. For example, you can set epoch time to `3 * 60 * 60 * 1000` to represent 3am. + }, + "decoratedText": { # A widget that displays text with optional decorations such as a label above or below the text, an icon in front of the text, a selection widget or a button after the text. # Displays a decorated text item in this widget. For example, the following JSON creates a decorated text widget showing email address: ``` "decoratedText": { "icon": { "knownIcon": "EMAIL" }, "topLabel": "Email Address", "content": "sasha@example.com", "bottomLabel": "This is a new Email address!", "switchWidget": { "name": "has_send_welcome_email_to_sasha", "selected": false, "controlType": "ControlType.CHECKBOX" } } ``` + "bottomLabel": "A String", # The formatted text label that shows below the main text. + "button": { # A button. Can be a text button or an image button. # A button that can be clicked to trigger an action. + "altText": "A String", # The alternative text used for accessibility. Has no effect when an icon is set; use `icon.alt_text` instead. + "color": { # Represents a color in the RGBA color space. This representation is designed for simplicity of conversion to/from color representations in various languages over compactness. For example, the fields of this representation can be trivially provided to the constructor of `java.awt.Color` in Java; it can also be trivially provided to UIColor's `+colorWithRed:green:blue:alpha` method in iOS; and, with just a little work, it can be easily formatted into a CSS `rgba()` string in JavaScript. This reference page doesn't carry information about the absolute color space that should be used to interpret the RGB value (e.g. sRGB, Adobe RGB, DCI-P3, BT.2020, etc.). By default, applications should assume the sRGB color space. When color equality needs to be decided, implementations, unless documented otherwise, treat two colors as equal if all their red, green, blue, and alpha values each differ by at most 1e-5. Example (Java): import com.google.type.Color; // ... public static java.awt.Color fromProto(Color protocolor) { float alpha = protocolor.hasAlpha() ? protocolor.getAlpha().getValue() : 1.0; return new java.awt.Color( protocolor.getRed(), protocolor.getGreen(), protocolor.getBlue(), alpha); } public static Color toProto(java.awt.Color color) { float red = (float) color.getRed(); float green = (float) color.getGreen(); float blue = (float) color.getBlue(); float denominator = 255.0; Color.Builder resultBuilder = Color .newBuilder() .setRed(red / denominator) .setGreen(green / denominator) .setBlue(blue / denominator); int alpha = color.getAlpha(); if (alpha != 255) { result.setAlpha( FloatValue .newBuilder() .setValue(((float) alpha) / denominator) .build()); } return resultBuilder.build(); } // ... Example (iOS / Obj-C): // ... static UIColor* fromProto(Color* protocolor) { float red = [protocolor red]; float green = [protocolor green]; float blue = [protocolor blue]; FloatValue* alpha_wrapper = [protocolor alpha]; float alpha = 1.0; if (alpha_wrapper != nil) { alpha = [alpha_wrapper value]; } return [UIColor colorWithRed:red green:green blue:blue alpha:alpha]; } static Color* toProto(UIColor* color) { CGFloat red, green, blue, alpha; if (![color getRed:&red green:&green blue:&blue alpha:&alpha]) { return nil; } Color* result = [[Color alloc] init]; [result setRed:red]; [result setGreen:green]; [result setBlue:blue]; if (alpha <= 0.9999) { [result setAlpha:floatWrapperWithValue(alpha)]; } [result autorelease]; return result; } // ... Example (JavaScript): // ... var protoToCssColor = function(rgb_color) { var redFrac = rgb_color.red || 0.0; var greenFrac = rgb_color.green || 0.0; var blueFrac = rgb_color.blue || 0.0; var red = Math.floor(redFrac * 255); var green = Math.floor(greenFrac * 255); var blue = Math.floor(blueFrac * 255); if (!('alpha' in rgb_color)) { return rgbToCssColor(red, green, blue); } var alphaFrac = rgb_color.alpha.value || 0.0; var rgbParams = [red, green, blue].join(','); return ['rgba(', rgbParams, ',', alphaFrac, ')'].join(''); }; var rgbToCssColor = function(red, green, blue) { var rgbNumber = new Number((red << 16) | (green << 8) | blue); var hexString = rgbNumber.toString(16); var missingZeros = 6 - hexString.length; var resultBuilder = ['#']; for (var i = 0; i < missingZeros; i++) { resultBuilder.push('0'); } resultBuilder.push(hexString); return resultBuilder.join(''); }; // ... # If set, the button is filled with a solid background. + "alpha": 3.14, # The fraction of this color that should be applied to the pixel. That is, the final pixel color is defined by the equation: `pixel color = alpha * (this color) + (1.0 - alpha) * (background color)` This means that a value of 1.0 corresponds to a solid color, whereas a value of 0.0 corresponds to a completely transparent color. This uses a wrapper message rather than a simple float scalar so that it is possible to distinguish between a default value and the value being unset. If omitted, this color object is rendered as a solid color (as if the alpha value had been explicitly given a value of 1.0). + "blue": 3.14, # The amount of blue in the color as a value in the interval [0, 1]. + "green": 3.14, # The amount of green in the color as a value in the interval [0, 1]. + "red": 3.14, # The amount of red in the color as a value in the interval [0, 1]. + }, + "disabled": True or False, # If `true`, the button is displayed in a disabled state and doesn't respond to user actions. + "icon": { # The icon image. + "altText": "A String", # The description of the icon, used for accessibility. The default value is provided if you don't specify one. + "iconUrl": "A String", # The icon specified by a URL. + "imageType": "A String", # The crop style applied to the image. In some cases, applying a `CIRCLE` crop causes the image to be drawn larger than a standard icon. + "knownIcon": "A String", # The icon specified by the string name of a list of known icons. + }, + "onClick": { # Represents the response to an `onClick` event. # The action to perform when the button is clicked. + "action": { # An action that describes the behavior when the form is submitted. For example, an Apps Script can be invoked to handle the form. # If specified, an action is triggered by this `onClick`. + "function": "A String", # Apps Script function to invoke when the containing element is clicked/activated. + "loadIndicator": "A String", # Specifies the loading indicator that the action displays while making the call to the action. + "parameters": [ # List of action parameters. + { # List of string parameters to supply when the action method is invoked. For example, consider three snooze buttons: snooze now, snooze 1 day, snooze next week. You might use action method = snooze(), passing the snooze type and snooze time in the list of string parameters. + "key": "A String", # The name of the parameter for the action script. + "value": "A String", # The value of the parameter. + }, + ], + "persistValues": True or False, # Indicates whether form values persist after the action. The default value is `false`. If `true`, form values remain after the action is triggered. When using [LoadIndicator.NONE](workspace/add-ons/reference/rpc/google.apps.card.v1#loadindicator) for actions, `persist_values` = `true`is recommended, as it ensures that any changes made by the user after form or on change actions are sent to the server are not overwritten by the response. If `false`, the form values are cleared when the action is triggered. When `persist_values` is set to `false`, it is strongly recommended that the card use [LoadIndicator.SPINNER](workspace/add-ons/reference/rpc/google.apps.card.v1#loadindicator) for all actions, as this locks the UI to ensure no changes are made by the user while the action is being processed. Not supported by Google Chat apps. + }, + "card": # Object with schema name: GoogleAppsCardV1Card # A new card is pushed to the card stack after clicking if specified. + "openDynamicLinkAction": { # An action that describes the behavior when the form is submitted. For example, an Apps Script can be invoked to handle the form. # An add-on triggers this action when the action needs to open a link. This differs from the `open_link` above in that this needs to talk to server to get the link. Thus some preparation work is required for web client to do before the open link action response comes back. + "function": "A String", # Apps Script function to invoke when the containing element is clicked/activated. + "loadIndicator": "A String", # Specifies the loading indicator that the action displays while making the call to the action. + "parameters": [ # List of action parameters. + { # List of string parameters to supply when the action method is invoked. For example, consider three snooze buttons: snooze now, snooze 1 day, snooze next week. You might use action method = snooze(), passing the snooze type and snooze time in the list of string parameters. + "key": "A String", # The name of the parameter for the action script. + "value": "A String", # The value of the parameter. + }, + ], + "persistValues": True or False, # Indicates whether form values persist after the action. The default value is `false`. If `true`, form values remain after the action is triggered. When using [LoadIndicator.NONE](workspace/add-ons/reference/rpc/google.apps.card.v1#loadindicator) for actions, `persist_values` = `true`is recommended, as it ensures that any changes made by the user after form or on change actions are sent to the server are not overwritten by the response. If `false`, the form values are cleared when the action is triggered. When `persist_values` is set to `false`, it is strongly recommended that the card use [LoadIndicator.SPINNER](workspace/add-ons/reference/rpc/google.apps.card.v1#loadindicator) for all actions, as this locks the UI to ensure no changes are made by the user while the action is being processed. Not supported by Google Chat apps. + }, + "openLink": { # Represents an `onClick` event that opens a hyperlink. # If specified, this `onClick` triggers an open link action. + "onClose": "A String", # Whether the client forgets about a link after opening it, or observes it until the window closes. Not supported by Chat apps. + "openAs": "A String", # How to open a link. Not supported by Chat apps. + "url": "A String", # The URL to open. + }, + }, + "text": "A String", # The text of the button. + }, + "endIcon": { # An icon displayed after the text. + "altText": "A String", # The description of the icon, used for accessibility. The default value is provided if you don't specify one. + "iconUrl": "A String", # The icon specified by a URL. + "imageType": "A String", # The crop style applied to the image. In some cases, applying a `CIRCLE` crop causes the image to be drawn larger than a standard icon. + "knownIcon": "A String", # The icon specified by the string name of a list of known icons. + }, + "icon": { # Deprecated in favor of start_icon. + "altText": "A String", # The description of the icon, used for accessibility. The default value is provided if you don't specify one. + "iconUrl": "A String", # The icon specified by a URL. + "imageType": "A String", # The crop style applied to the image. In some cases, applying a `CIRCLE` crop causes the image to be drawn larger than a standard icon. + "knownIcon": "A String", # The icon specified by the string name of a list of known icons. + }, + "onClick": { # Represents the response to an `onClick` event. # Only the top and bottom label and content region are clickable. + "action": { # An action that describes the behavior when the form is submitted. For example, an Apps Script can be invoked to handle the form. # If specified, an action is triggered by this `onClick`. + "function": "A String", # Apps Script function to invoke when the containing element is clicked/activated. + "loadIndicator": "A String", # Specifies the loading indicator that the action displays while making the call to the action. + "parameters": [ # List of action parameters. + { # List of string parameters to supply when the action method is invoked. For example, consider three snooze buttons: snooze now, snooze 1 day, snooze next week. You might use action method = snooze(), passing the snooze type and snooze time in the list of string parameters. + "key": "A String", # The name of the parameter for the action script. + "value": "A String", # The value of the parameter. + }, + ], + "persistValues": True or False, # Indicates whether form values persist after the action. The default value is `false`. If `true`, form values remain after the action is triggered. When using [LoadIndicator.NONE](workspace/add-ons/reference/rpc/google.apps.card.v1#loadindicator) for actions, `persist_values` = `true`is recommended, as it ensures that any changes made by the user after form or on change actions are sent to the server are not overwritten by the response. If `false`, the form values are cleared when the action is triggered. When `persist_values` is set to `false`, it is strongly recommended that the card use [LoadIndicator.SPINNER](workspace/add-ons/reference/rpc/google.apps.card.v1#loadindicator) for all actions, as this locks the UI to ensure no changes are made by the user while the action is being processed. Not supported by Google Chat apps. + }, + "card": # Object with schema name: GoogleAppsCardV1Card # A new card is pushed to the card stack after clicking if specified. + "openDynamicLinkAction": { # An action that describes the behavior when the form is submitted. For example, an Apps Script can be invoked to handle the form. # An add-on triggers this action when the action needs to open a link. This differs from the `open_link` above in that this needs to talk to server to get the link. Thus some preparation work is required for web client to do before the open link action response comes back. + "function": "A String", # Apps Script function to invoke when the containing element is clicked/activated. + "loadIndicator": "A String", # Specifies the loading indicator that the action displays while making the call to the action. + "parameters": [ # List of action parameters. + { # List of string parameters to supply when the action method is invoked. For example, consider three snooze buttons: snooze now, snooze 1 day, snooze next week. You might use action method = snooze(), passing the snooze type and snooze time in the list of string parameters. + "key": "A String", # The name of the parameter for the action script. + "value": "A String", # The value of the parameter. + }, + ], + "persistValues": True or False, # Indicates whether form values persist after the action. The default value is `false`. If `true`, form values remain after the action is triggered. When using [LoadIndicator.NONE](workspace/add-ons/reference/rpc/google.apps.card.v1#loadindicator) for actions, `persist_values` = `true`is recommended, as it ensures that any changes made by the user after form or on change actions are sent to the server are not overwritten by the response. If `false`, the form values are cleared when the action is triggered. When `persist_values` is set to `false`, it is strongly recommended that the card use [LoadIndicator.SPINNER](workspace/add-ons/reference/rpc/google.apps.card.v1#loadindicator) for all actions, as this locks the UI to ensure no changes are made by the user while the action is being processed. Not supported by Google Chat apps. + }, + "openLink": { # Represents an `onClick` event that opens a hyperlink. # If specified, this `onClick` triggers an open link action. + "onClose": "A String", # Whether the client forgets about a link after opening it, or observes it until the window closes. Not supported by Chat apps. + "openAs": "A String", # How to open a link. Not supported by Chat apps. + "url": "A String", # The URL to open. + }, + }, + "startIcon": { # The icon displayed in front of the text. + "altText": "A String", # The description of the icon, used for accessibility. The default value is provided if you don't specify one. + "iconUrl": "A String", # The icon specified by a URL. + "imageType": "A String", # The crop style applied to the image. In some cases, applying a `CIRCLE` crop causes the image to be drawn larger than a standard icon. + "knownIcon": "A String", # The icon specified by the string name of a list of known icons. + }, + "switchControl": { # Either a toggle-style switch or a checkbox. # A switch widget can be clicked to change its state or trigger an action. + "controlType": "A String", # The control type, either switch or checkbox. + "name": "A String", # The name of the switch widget that's used in `formInput`. + "onChangeAction": { # An action that describes the behavior when the form is submitted. For example, an Apps Script can be invoked to handle the form. # The action when the switch state is changed. + "function": "A String", # Apps Script function to invoke when the containing element is clicked/activated. + "loadIndicator": "A String", # Specifies the loading indicator that the action displays while making the call to the action. + "parameters": [ # List of action parameters. + { # List of string parameters to supply when the action method is invoked. For example, consider three snooze buttons: snooze now, snooze 1 day, snooze next week. You might use action method = snooze(), passing the snooze type and snooze time in the list of string parameters. + "key": "A String", # The name of the parameter for the action script. + "value": "A String", # The value of the parameter. + }, + ], + "persistValues": True or False, # Indicates whether form values persist after the action. The default value is `false`. If `true`, form values remain after the action is triggered. When using [LoadIndicator.NONE](workspace/add-ons/reference/rpc/google.apps.card.v1#loadindicator) for actions, `persist_values` = `true`is recommended, as it ensures that any changes made by the user after form or on change actions are sent to the server are not overwritten by the response. If `false`, the form values are cleared when the action is triggered. When `persist_values` is set to `false`, it is strongly recommended that the card use [LoadIndicator.SPINNER](workspace/add-ons/reference/rpc/google.apps.card.v1#loadindicator) for all actions, as this locks the UI to ensure no changes are made by the user while the action is being processed. Not supported by Google Chat apps. + }, + "selected": True or False, # If the switch is selected. + "value": "A String", # The value is what is passed back in the callback. + }, + "text": "A String", # Required. The main widget formatted text. See Text formatting for details. + "topLabel": "A String", # The formatted text label that shows above the main text. + "wrapText": True or False, # The wrap text setting. If `true`, the text is wrapped and displayed in multiline. Otherwise, the text is truncated. + }, + "divider": { # A divider that appears in between widgets. # Displays a divider. For example, the following JSON creates a divider: ``` "divider": { } ``` + }, + "grid": { # Represents a Grid widget that displays items in a configurable grid layout. # Displays a grid with a collection of items. For example, the following JSON creates a 2 column grid with a single item: ``` "grid": { "title": "A fine collection of items", "numColumns": 2, "borderStyle": { "type": "STROKE", "cornerRadius": 4.0 }, "items": [ "image": { "imageUri": "https://www.example.com/image.png", "cropStyle": { "type": "SQUARE" }, "borderStyle": { "type": "STROKE" } }, "title": "An item", "textAlignment": "CENTER" ], "onClick": { "openLink": { "url":"https://www.example.com" } } } ``` + "borderStyle": { # Represents the complete border style applied to widgets. # The border style to apply to each grid item. + "cornerRadius": 42, # The corner radius for the border. + "strokeColor": { # Represents a color in the RGBA color space. This representation is designed for simplicity of conversion to/from color representations in various languages over compactness. For example, the fields of this representation can be trivially provided to the constructor of `java.awt.Color` in Java; it can also be trivially provided to UIColor's `+colorWithRed:green:blue:alpha` method in iOS; and, with just a little work, it can be easily formatted into a CSS `rgba()` string in JavaScript. This reference page doesn't carry information about the absolute color space that should be used to interpret the RGB value (e.g. sRGB, Adobe RGB, DCI-P3, BT.2020, etc.). By default, applications should assume the sRGB color space. When color equality needs to be decided, implementations, unless documented otherwise, treat two colors as equal if all their red, green, blue, and alpha values each differ by at most 1e-5. Example (Java): import com.google.type.Color; // ... public static java.awt.Color fromProto(Color protocolor) { float alpha = protocolor.hasAlpha() ? protocolor.getAlpha().getValue() : 1.0; return new java.awt.Color( protocolor.getRed(), protocolor.getGreen(), protocolor.getBlue(), alpha); } public static Color toProto(java.awt.Color color) { float red = (float) color.getRed(); float green = (float) color.getGreen(); float blue = (float) color.getBlue(); float denominator = 255.0; Color.Builder resultBuilder = Color .newBuilder() .setRed(red / denominator) .setGreen(green / denominator) .setBlue(blue / denominator); int alpha = color.getAlpha(); if (alpha != 255) { result.setAlpha( FloatValue .newBuilder() .setValue(((float) alpha) / denominator) .build()); } return resultBuilder.build(); } // ... Example (iOS / Obj-C): // ... static UIColor* fromProto(Color* protocolor) { float red = [protocolor red]; float green = [protocolor green]; float blue = [protocolor blue]; FloatValue* alpha_wrapper = [protocolor alpha]; float alpha = 1.0; if (alpha_wrapper != nil) { alpha = [alpha_wrapper value]; } return [UIColor colorWithRed:red green:green blue:blue alpha:alpha]; } static Color* toProto(UIColor* color) { CGFloat red, green, blue, alpha; if (![color getRed:&red green:&green blue:&blue alpha:&alpha]) { return nil; } Color* result = [[Color alloc] init]; [result setRed:red]; [result setGreen:green]; [result setBlue:blue]; if (alpha <= 0.9999) { [result setAlpha:floatWrapperWithValue(alpha)]; } [result autorelease]; return result; } // ... Example (JavaScript): // ... var protoToCssColor = function(rgb_color) { var redFrac = rgb_color.red || 0.0; var greenFrac = rgb_color.green || 0.0; var blueFrac = rgb_color.blue || 0.0; var red = Math.floor(redFrac * 255); var green = Math.floor(greenFrac * 255); var blue = Math.floor(blueFrac * 255); if (!('alpha' in rgb_color)) { return rgbToCssColor(red, green, blue); } var alphaFrac = rgb_color.alpha.value || 0.0; var rgbParams = [red, green, blue].join(','); return ['rgba(', rgbParams, ',', alphaFrac, ')'].join(''); }; var rgbToCssColor = function(red, green, blue) { var rgbNumber = new Number((red << 16) | (green << 8) | blue); var hexString = rgbNumber.toString(16); var missingZeros = 6 - hexString.length; var resultBuilder = ['#']; for (var i = 0; i < missingZeros; i++) { resultBuilder.push('0'); } resultBuilder.push(hexString); return resultBuilder.join(''); }; // ... # The colors to use when the type is `BORDER_TYPE_STROKE`. + "alpha": 3.14, # The fraction of this color that should be applied to the pixel. That is, the final pixel color is defined by the equation: `pixel color = alpha * (this color) + (1.0 - alpha) * (background color)` This means that a value of 1.0 corresponds to a solid color, whereas a value of 0.0 corresponds to a completely transparent color. This uses a wrapper message rather than a simple float scalar so that it is possible to distinguish between a default value and the value being unset. If omitted, this color object is rendered as a solid color (as if the alpha value had been explicitly given a value of 1.0). + "blue": 3.14, # The amount of blue in the color as a value in the interval [0, 1]. + "green": 3.14, # The amount of green in the color as a value in the interval [0, 1]. + "red": 3.14, # The amount of red in the color as a value in the interval [0, 1]. + }, + "type": "A String", # The border type. + }, + "columnCount": 42, # The number of columns to display in the grid. A default value is used if this field isn't specified, and that default value is different depending on where the grid is shown (dialog versus companion). + "items": [ # The items to display in the grid. + { # Represents a single item in the grid layout. + "id": "A String", # A user-specified identifier for this grid item. This identifier is returned in the parent Grid's onClick callback parameters. + "image": { # Represents an image. # The image that displays in the grid item. + "altText": "A String", # The accessibility label for the image. + "borderStyle": { # Represents the complete border style applied to widgets. # The border style to apply to the image. + "cornerRadius": 42, # The corner radius for the border. + "strokeColor": { # Represents a color in the RGBA color space. This representation is designed for simplicity of conversion to/from color representations in various languages over compactness. For example, the fields of this representation can be trivially provided to the constructor of `java.awt.Color` in Java; it can also be trivially provided to UIColor's `+colorWithRed:green:blue:alpha` method in iOS; and, with just a little work, it can be easily formatted into a CSS `rgba()` string in JavaScript. This reference page doesn't carry information about the absolute color space that should be used to interpret the RGB value (e.g. sRGB, Adobe RGB, DCI-P3, BT.2020, etc.). By default, applications should assume the sRGB color space. When color equality needs to be decided, implementations, unless documented otherwise, treat two colors as equal if all their red, green, blue, and alpha values each differ by at most 1e-5. Example (Java): import com.google.type.Color; // ... public static java.awt.Color fromProto(Color protocolor) { float alpha = protocolor.hasAlpha() ? protocolor.getAlpha().getValue() : 1.0; return new java.awt.Color( protocolor.getRed(), protocolor.getGreen(), protocolor.getBlue(), alpha); } public static Color toProto(java.awt.Color color) { float red = (float) color.getRed(); float green = (float) color.getGreen(); float blue = (float) color.getBlue(); float denominator = 255.0; Color.Builder resultBuilder = Color .newBuilder() .setRed(red / denominator) .setGreen(green / denominator) .setBlue(blue / denominator); int alpha = color.getAlpha(); if (alpha != 255) { result.setAlpha( FloatValue .newBuilder() .setValue(((float) alpha) / denominator) .build()); } return resultBuilder.build(); } // ... Example (iOS / Obj-C): // ... static UIColor* fromProto(Color* protocolor) { float red = [protocolor red]; float green = [protocolor green]; float blue = [protocolor blue]; FloatValue* alpha_wrapper = [protocolor alpha]; float alpha = 1.0; if (alpha_wrapper != nil) { alpha = [alpha_wrapper value]; } return [UIColor colorWithRed:red green:green blue:blue alpha:alpha]; } static Color* toProto(UIColor* color) { CGFloat red, green, blue, alpha; if (![color getRed:&red green:&green blue:&blue alpha:&alpha]) { return nil; } Color* result = [[Color alloc] init]; [result setRed:red]; [result setGreen:green]; [result setBlue:blue]; if (alpha <= 0.9999) { [result setAlpha:floatWrapperWithValue(alpha)]; } [result autorelease]; return result; } // ... Example (JavaScript): // ... var protoToCssColor = function(rgb_color) { var redFrac = rgb_color.red || 0.0; var greenFrac = rgb_color.green || 0.0; var blueFrac = rgb_color.blue || 0.0; var red = Math.floor(redFrac * 255); var green = Math.floor(greenFrac * 255); var blue = Math.floor(blueFrac * 255); if (!('alpha' in rgb_color)) { return rgbToCssColor(red, green, blue); } var alphaFrac = rgb_color.alpha.value || 0.0; var rgbParams = [red, green, blue].join(','); return ['rgba(', rgbParams, ',', alphaFrac, ')'].join(''); }; var rgbToCssColor = function(red, green, blue) { var rgbNumber = new Number((red << 16) | (green << 8) | blue); var hexString = rgbNumber.toString(16); var missingZeros = 6 - hexString.length; var resultBuilder = ['#']; for (var i = 0; i < missingZeros; i++) { resultBuilder.push('0'); } resultBuilder.push(hexString); return resultBuilder.join(''); }; // ... # The colors to use when the type is `BORDER_TYPE_STROKE`. + "alpha": 3.14, # The fraction of this color that should be applied to the pixel. That is, the final pixel color is defined by the equation: `pixel color = alpha * (this color) + (1.0 - alpha) * (background color)` This means that a value of 1.0 corresponds to a solid color, whereas a value of 0.0 corresponds to a completely transparent color. This uses a wrapper message rather than a simple float scalar so that it is possible to distinguish between a default value and the value being unset. If omitted, this color object is rendered as a solid color (as if the alpha value had been explicitly given a value of 1.0). + "blue": 3.14, # The amount of blue in the color as a value in the interval [0, 1]. + "green": 3.14, # The amount of green in the color as a value in the interval [0, 1]. + "red": 3.14, # The amount of red in the color as a value in the interval [0, 1]. + }, + "type": "A String", # The border type. + }, + "cropStyle": { # Represents the crop style applied to an image. # The crop style to apply to the image. + "aspectRatio": 3.14, # The aspect ratio to use if the crop type is `RECTANGLE_CUSTOM`. + "type": "A String", # The crop type. + }, + "imageUri": "A String", # The image URL. + }, + "layout": "A String", # The layout to use for the grid item. + "subtitle": "A String", # The grid item's subtitle. + "textAlignment": "A String", # The horizontal alignment of the grid item's text. + "title": "A String", # The grid item's title. + }, + ], + "onClick": { # Represents the response to an `onClick` event. # This callback is reused by each individual grid item, but with the item's identifier and index in the items list added to the callback's parameters. + "action": { # An action that describes the behavior when the form is submitted. For example, an Apps Script can be invoked to handle the form. # If specified, an action is triggered by this `onClick`. + "function": "A String", # Apps Script function to invoke when the containing element is clicked/activated. + "loadIndicator": "A String", # Specifies the loading indicator that the action displays while making the call to the action. + "parameters": [ # List of action parameters. + { # List of string parameters to supply when the action method is invoked. For example, consider three snooze buttons: snooze now, snooze 1 day, snooze next week. You might use action method = snooze(), passing the snooze type and snooze time in the list of string parameters. + "key": "A String", # The name of the parameter for the action script. + "value": "A String", # The value of the parameter. + }, + ], + "persistValues": True or False, # Indicates whether form values persist after the action. The default value is `false`. If `true`, form values remain after the action is triggered. When using [LoadIndicator.NONE](workspace/add-ons/reference/rpc/google.apps.card.v1#loadindicator) for actions, `persist_values` = `true`is recommended, as it ensures that any changes made by the user after form or on change actions are sent to the server are not overwritten by the response. If `false`, the form values are cleared when the action is triggered. When `persist_values` is set to `false`, it is strongly recommended that the card use [LoadIndicator.SPINNER](workspace/add-ons/reference/rpc/google.apps.card.v1#loadindicator) for all actions, as this locks the UI to ensure no changes are made by the user while the action is being processed. Not supported by Google Chat apps. + }, + "card": # Object with schema name: GoogleAppsCardV1Card # A new card is pushed to the card stack after clicking if specified. + "openDynamicLinkAction": { # An action that describes the behavior when the form is submitted. For example, an Apps Script can be invoked to handle the form. # An add-on triggers this action when the action needs to open a link. This differs from the `open_link` above in that this needs to talk to server to get the link. Thus some preparation work is required for web client to do before the open link action response comes back. + "function": "A String", # Apps Script function to invoke when the containing element is clicked/activated. + "loadIndicator": "A String", # Specifies the loading indicator that the action displays while making the call to the action. + "parameters": [ # List of action parameters. + { # List of string parameters to supply when the action method is invoked. For example, consider three snooze buttons: snooze now, snooze 1 day, snooze next week. You might use action method = snooze(), passing the snooze type and snooze time in the list of string parameters. + "key": "A String", # The name of the parameter for the action script. + "value": "A String", # The value of the parameter. + }, + ], + "persistValues": True or False, # Indicates whether form values persist after the action. The default value is `false`. If `true`, form values remain after the action is triggered. When using [LoadIndicator.NONE](workspace/add-ons/reference/rpc/google.apps.card.v1#loadindicator) for actions, `persist_values` = `true`is recommended, as it ensures that any changes made by the user after form or on change actions are sent to the server are not overwritten by the response. If `false`, the form values are cleared when the action is triggered. When `persist_values` is set to `false`, it is strongly recommended that the card use [LoadIndicator.SPINNER](workspace/add-ons/reference/rpc/google.apps.card.v1#loadindicator) for all actions, as this locks the UI to ensure no changes are made by the user while the action is being processed. Not supported by Google Chat apps. + }, + "openLink": { # Represents an `onClick` event that opens a hyperlink. # If specified, this `onClick` triggers an open link action. + "onClose": "A String", # Whether the client forgets about a link after opening it, or observes it until the window closes. Not supported by Chat apps. + "openAs": "A String", # How to open a link. Not supported by Chat apps. + "url": "A String", # The URL to open. + }, + }, + "title": "A String", # The text that displays in the grid header. + }, + "horizontalAlignment": "A String", # The horizontal alignment of this widget. + "image": { # An image that is specified by a URL and can have an `onClick` action. # Displays an image in this widget. For example, the following JSON creates an image with alternative text: ``` "image": { "imageUrl": "https://example.com/sasha.png" "altText": "Avatar for Sasha" } ``` + "altText": "A String", # The alternative text of this image, used for accessibility. + "imageUrl": "A String", # An image URL. + "onClick": { # Represents the response to an `onClick` event. # The action triggered by an `onClick` event. + "action": { # An action that describes the behavior when the form is submitted. For example, an Apps Script can be invoked to handle the form. # If specified, an action is triggered by this `onClick`. + "function": "A String", # Apps Script function to invoke when the containing element is clicked/activated. + "loadIndicator": "A String", # Specifies the loading indicator that the action displays while making the call to the action. + "parameters": [ # List of action parameters. + { # List of string parameters to supply when the action method is invoked. For example, consider three snooze buttons: snooze now, snooze 1 day, snooze next week. You might use action method = snooze(), passing the snooze type and snooze time in the list of string parameters. + "key": "A String", # The name of the parameter for the action script. + "value": "A String", # The value of the parameter. + }, + ], + "persistValues": True or False, # Indicates whether form values persist after the action. The default value is `false`. If `true`, form values remain after the action is triggered. When using [LoadIndicator.NONE](workspace/add-ons/reference/rpc/google.apps.card.v1#loadindicator) for actions, `persist_values` = `true`is recommended, as it ensures that any changes made by the user after form or on change actions are sent to the server are not overwritten by the response. If `false`, the form values are cleared when the action is triggered. When `persist_values` is set to `false`, it is strongly recommended that the card use [LoadIndicator.SPINNER](workspace/add-ons/reference/rpc/google.apps.card.v1#loadindicator) for all actions, as this locks the UI to ensure no changes are made by the user while the action is being processed. Not supported by Google Chat apps. + }, + "card": # Object with schema name: GoogleAppsCardV1Card # A new card is pushed to the card stack after clicking if specified. + "openDynamicLinkAction": { # An action that describes the behavior when the form is submitted. For example, an Apps Script can be invoked to handle the form. # An add-on triggers this action when the action needs to open a link. This differs from the `open_link` above in that this needs to talk to server to get the link. Thus some preparation work is required for web client to do before the open link action response comes back. + "function": "A String", # Apps Script function to invoke when the containing element is clicked/activated. + "loadIndicator": "A String", # Specifies the loading indicator that the action displays while making the call to the action. + "parameters": [ # List of action parameters. + { # List of string parameters to supply when the action method is invoked. For example, consider three snooze buttons: snooze now, snooze 1 day, snooze next week. You might use action method = snooze(), passing the snooze type and snooze time in the list of string parameters. + "key": "A String", # The name of the parameter for the action script. + "value": "A String", # The value of the parameter. + }, + ], + "persistValues": True or False, # Indicates whether form values persist after the action. The default value is `false`. If `true`, form values remain after the action is triggered. When using [LoadIndicator.NONE](workspace/add-ons/reference/rpc/google.apps.card.v1#loadindicator) for actions, `persist_values` = `true`is recommended, as it ensures that any changes made by the user after form or on change actions are sent to the server are not overwritten by the response. If `false`, the form values are cleared when the action is triggered. When `persist_values` is set to `false`, it is strongly recommended that the card use [LoadIndicator.SPINNER](workspace/add-ons/reference/rpc/google.apps.card.v1#loadindicator) for all actions, as this locks the UI to ensure no changes are made by the user while the action is being processed. Not supported by Google Chat apps. + }, + "openLink": { # Represents an `onClick` event that opens a hyperlink. # If specified, this `onClick` triggers an open link action. + "onClose": "A String", # Whether the client forgets about a link after opening it, or observes it until the window closes. Not supported by Chat apps. + "openAs": "A String", # How to open a link. Not supported by Chat apps. + "url": "A String", # The URL to open. + }, + }, + }, + "selectionInput": { # A widget that creates a UI item with options for users to select. For example, a dropdown menu. # Displays a switch control in this widget. For example, the following JSON creates a dropdown selection for size: ``` "switchControl": { "name": "size", "label": "Size" "type": "SelectionType.DROPDOWN", "items": [ { "text": "S", "value": "small", "selected": false }, { "text": "M", "value": "medium", "selected": true }, { "text": "L", "value": "large", "selected": false }, { "text": "XL", "value": "extra_large", "selected": false } ] } ``` + "items": [ # An array of the selected items. + { # A selectable item in the switch control. + "selected": True or False, # If more than one item is selected for `RADIO_BUTTON` and `DROPDOWN`, the first selected item is treated as selected and the ones after are ignored. + "text": "A String", # The text to be displayed. + "value": "A String", # The value associated with this item. The client should use this as a form input value. + }, + ], + "label": "A String", # The label displayed ahead of the switch control. + "name": "A String", # The name of the text input which is used in `formInput`. + "onChangeAction": { # An action that describes the behavior when the form is submitted. For example, an Apps Script can be invoked to handle the form. # If specified, the form is submitted when the selection changes. If not specified, you must specify a separate button. + "function": "A String", # Apps Script function to invoke when the containing element is clicked/activated. + "loadIndicator": "A String", # Specifies the loading indicator that the action displays while making the call to the action. + "parameters": [ # List of action parameters. + { # List of string parameters to supply when the action method is invoked. For example, consider three snooze buttons: snooze now, snooze 1 day, snooze next week. You might use action method = snooze(), passing the snooze type and snooze time in the list of string parameters. + "key": "A String", # The name of the parameter for the action script. + "value": "A String", # The value of the parameter. + }, + ], + "persistValues": True or False, # Indicates whether form values persist after the action. The default value is `false`. If `true`, form values remain after the action is triggered. When using [LoadIndicator.NONE](workspace/add-ons/reference/rpc/google.apps.card.v1#loadindicator) for actions, `persist_values` = `true`is recommended, as it ensures that any changes made by the user after form or on change actions are sent to the server are not overwritten by the response. If `false`, the form values are cleared when the action is triggered. When `persist_values` is set to `false`, it is strongly recommended that the card use [LoadIndicator.SPINNER](workspace/add-ons/reference/rpc/google.apps.card.v1#loadindicator) for all actions, as this locks the UI to ensure no changes are made by the user while the action is being processed. Not supported by Google Chat apps. + }, + "type": "A String", # The type of the selection. + }, + "textInput": { # A text input is a UI item where users can input text. A text input can also have an onChange action and suggestions. # Displays a text input in this widget. For example, the following JSON creates a text input for mail address: ``` "textInput": { "name": "mailing_address", "label": "Mailing Address" } ``` As another example, the following JSON creates a text input for programming language with static suggestions: ``` "textInput": { "name": "preferred_programing_language", "label": "Preferred Language", "initialSuggestions": { "items": [ { "text": "C++" }, { "text": "Java" }, { "text": "JavaScript" }, { "text": "Python" } ] } } ``` + "autoCompleteAction": { # An action that describes the behavior when the form is submitted. For example, an Apps Script can be invoked to handle the form. # The refresh function that returns suggestions based on the user's input text. If the callback is not specified, autocomplete is done in client side based on the initial suggestion items. + "function": "A String", # Apps Script function to invoke when the containing element is clicked/activated. + "loadIndicator": "A String", # Specifies the loading indicator that the action displays while making the call to the action. + "parameters": [ # List of action parameters. + { # List of string parameters to supply when the action method is invoked. For example, consider three snooze buttons: snooze now, snooze 1 day, snooze next week. You might use action method = snooze(), passing the snooze type and snooze time in the list of string parameters. + "key": "A String", # The name of the parameter for the action script. + "value": "A String", # The value of the parameter. + }, + ], + "persistValues": True or False, # Indicates whether form values persist after the action. The default value is `false`. If `true`, form values remain after the action is triggered. When using [LoadIndicator.NONE](workspace/add-ons/reference/rpc/google.apps.card.v1#loadindicator) for actions, `persist_values` = `true`is recommended, as it ensures that any changes made by the user after form or on change actions are sent to the server are not overwritten by the response. If `false`, the form values are cleared when the action is triggered. When `persist_values` is set to `false`, it is strongly recommended that the card use [LoadIndicator.SPINNER](workspace/add-ons/reference/rpc/google.apps.card.v1#loadindicator) for all actions, as this locks the UI to ensure no changes are made by the user while the action is being processed. Not supported by Google Chat apps. + }, + "hintText": "A String", # The hint text. + "initialSuggestions": { # A container wrapping elements necessary for showing suggestion items used in text input autocomplete. # The initial suggestions made before any user input. + "items": [ # A list of suggestions used for autocomplete recommendations. + { # A suggestion item. + "text": "A String", # The suggested autocomplete result. + }, + ], + }, + "label": "A String", # At least one of label and hintText must be specified. + "name": "A String", # The name of the text input which is used in `formInput`. + "onChangeAction": { # An action that describes the behavior when the form is submitted. For example, an Apps Script can be invoked to handle the form. # The onChange action, for example, invoke a function. + "function": "A String", # Apps Script function to invoke when the containing element is clicked/activated. + "loadIndicator": "A String", # Specifies the loading indicator that the action displays while making the call to the action. + "parameters": [ # List of action parameters. + { # List of string parameters to supply when the action method is invoked. For example, consider three snooze buttons: snooze now, snooze 1 day, snooze next week. You might use action method = snooze(), passing the snooze type and snooze time in the list of string parameters. + "key": "A String", # The name of the parameter for the action script. + "value": "A String", # The value of the parameter. + }, + ], + "persistValues": True or False, # Indicates whether form values persist after the action. The default value is `false`. If `true`, form values remain after the action is triggered. When using [LoadIndicator.NONE](workspace/add-ons/reference/rpc/google.apps.card.v1#loadindicator) for actions, `persist_values` = `true`is recommended, as it ensures that any changes made by the user after form or on change actions are sent to the server are not overwritten by the response. If `false`, the form values are cleared when the action is triggered. When `persist_values` is set to `false`, it is strongly recommended that the card use [LoadIndicator.SPINNER](workspace/add-ons/reference/rpc/google.apps.card.v1#loadindicator) for all actions, as this locks the UI to ensure no changes are made by the user while the action is being processed. Not supported by Google Chat apps. + }, + "type": "A String", # The style of the text, for example, a single line or multiple lines. + "value": "A String", # The default value when there is no input from the user. + }, + "textParagraph": { # A paragraph of text that supports formatting. See [Text formatting](workspace/add-ons/concepts/widgets#text_formatting) for details. # Displays a text paragraph in this widget. For example, the following JSON creates a bolded text: ``` "textParagraph": { "text": " *bold text*" } ``` + "text": "A String", # The text that's shown in the widget. + }, + }, + ], + }, + ], + }, + "cardId": "A String", # Required for `cardsV2` messages. Chat app-specified identifier for this widget. Scoped within a message. }, ], "createTime": "A String", # Output only. The time at which the message was created in Google Chat server. @@ -1644,8 +2692,12 @@

Method Details

"displayName": "A String", # The space's display name. For direct messages between humans, this field might be empty. "name": "A String", # Resource name of the space. Format: spaces/{space} "singleUserBotDm": True or False, # Output only. Whether the space is a DM between a Chat app and a single human. + "spaceDetails": { # Details about the space including description and rules. # Details about the space including description and rules. + "description": "A String", # Optional. A description of the space. It could describe the space's discussion topic, functional purpose, or participants. + "guidelines": "A String", # Optional. The space's rules, expectations, and etiquette. + }, "threaded": True or False, # Output only. Whether messages are threaded in this space. - "type": "A String", # Output only. Deprecated: Use `single_user_bot_dm` or `space_type` (developer preview) instead. The type of a space. + "type": "A String", # Output only. Deprecated: Use `singleUserBotDm` or `spaceType` (developer preview) instead. The type of a space. }, "text": "A String", # Plain-text body of the message. The first link to an image, video, web page, or other preview-able item generates a preview chip. "thread": { # A thread in Google Chat. # The thread the message belongs to. @@ -2417,10 +3469,532 @@

Method Details

"textParagraph": { # A paragraph of text. Formatted text supported. # Display a text paragraph in this widget. "text": "A String", }, - }, - ], - }, - ], + }, + ], + }, + ], + }, + ], + "cardsV2": [ # Richly formatted and interactive cards that display UI elements and editable widgets, such as: - Formatted text - Buttons - Clickable images - Checkboxes - Radio buttons - Input widgets. Cards are usually displayed below the text-body of a Chat message, but can situationally appear other places, such as [dialogs](https://developers.google.com/chat/how-tos/dialogs). The `cardId` is a unique identifier among cards in the same message and for identifying user input values. Currently supported widgets include: - `TextParagraph` - `DecoratedText` - `Image` - `ButtonList` + { # Widgets for Chat apps to specify. + "card": { # A card is a UI element that can contain UI widgets such as text and images. For more information, see Cards . For example, the following JSON creates a card that has a header with the name, position, icons, and link for a contact, followed by a section with contact information like email and phone number. ``` { "header": { "title": "Sasha", "subtitle": "Software Engineer", "imageStyle": "ImageStyle.AVATAR", "imageUrl": "https://example.com/sasha.png", "imageAltText": "Avatar for Sasha" }, "sections" : [ { "header": "Contact Info", "widgets": [ { "decorated_text": { "icon": { "knownIcon": "EMAIL" }, "content": "sasha@example.com" } }, { "decoratedText": { "icon": { "knownIcon": "PERSON" }, "content": "Online" } }, { "decoratedText": { "icon": { "knownIcon": "PHONE" }, "content": "+1 (555) 555-1234" } }, { "buttons": [ { "textButton": { "text": "Share", }, "onClick": { "openLink": { "url": "https://example.com/share" } } }, { "textButton": { "text": "Edit", }, "onClick": { "action": { "function": "goToView", "parameters": [ { "key": "viewType", "value": "EDIT" } ], "loadIndicator": "LoadIndicator.SPINNER" } } } ] } ], "collapsible": true, "uncollapsibleWidgetsCount": 3 } ], "cardActions": [ { "actionLabel": "Send Feedback", "onClick": { "openLink": { "url": "https://example.com/feedback" } } } ], "name": "contact-card-K3wB6arF2H9L" } ``` # Card proto that allows Chat apps to specify UI elements and editable widgets. + "cardActions": [ # The card's actions. Actions are added to the card's generated toolbar menu. For example, the following JSON constructs a card action menu with Settings and Send Feedback options: ``` "card_actions": [ { "actionLabel": "Settings", "onClick": { "action": { "functionName": "goToView", "parameters": [ { "key": "viewType", "value": "SETTING" } ], "loadIndicator": "LoadIndicator.SPINNER" } } }, { "actionLabel": "Send Feedback", "onClick": { "openLink": { "url": "https://example.com/feedback" } } } ] ``` + { # A card action is the action associated with the card. For example, an invoice card might include actions such as delete invoice, email invoice, or open the invoice in a browser. + "actionLabel": "A String", # The label that displays as the action menu item. + "onClick": { # Represents the response to an `onClick` event. # The `onClick` action for this action item. + "action": { # An action that describes the behavior when the form is submitted. For example, an Apps Script can be invoked to handle the form. # If specified, an action is triggered by this `onClick`. + "function": "A String", # Apps Script function to invoke when the containing element is clicked/activated. + "loadIndicator": "A String", # Specifies the loading indicator that the action displays while making the call to the action. + "parameters": [ # List of action parameters. + { # List of string parameters to supply when the action method is invoked. For example, consider three snooze buttons: snooze now, snooze 1 day, snooze next week. You might use action method = snooze(), passing the snooze type and snooze time in the list of string parameters. + "key": "A String", # The name of the parameter for the action script. + "value": "A String", # The value of the parameter. + }, + ], + "persistValues": True or False, # Indicates whether form values persist after the action. The default value is `false`. If `true`, form values remain after the action is triggered. When using [LoadIndicator.NONE](workspace/add-ons/reference/rpc/google.apps.card.v1#loadindicator) for actions, `persist_values` = `true`is recommended, as it ensures that any changes made by the user after form or on change actions are sent to the server are not overwritten by the response. If `false`, the form values are cleared when the action is triggered. When `persist_values` is set to `false`, it is strongly recommended that the card use [LoadIndicator.SPINNER](workspace/add-ons/reference/rpc/google.apps.card.v1#loadindicator) for all actions, as this locks the UI to ensure no changes are made by the user while the action is being processed. Not supported by Google Chat apps. + }, + "card": # Object with schema name: GoogleAppsCardV1Card # A new card is pushed to the card stack after clicking if specified. + "openDynamicLinkAction": { # An action that describes the behavior when the form is submitted. For example, an Apps Script can be invoked to handle the form. # An add-on triggers this action when the action needs to open a link. This differs from the `open_link` above in that this needs to talk to server to get the link. Thus some preparation work is required for web client to do before the open link action response comes back. + "function": "A String", # Apps Script function to invoke when the containing element is clicked/activated. + "loadIndicator": "A String", # Specifies the loading indicator that the action displays while making the call to the action. + "parameters": [ # List of action parameters. + { # List of string parameters to supply when the action method is invoked. For example, consider three snooze buttons: snooze now, snooze 1 day, snooze next week. You might use action method = snooze(), passing the snooze type and snooze time in the list of string parameters. + "key": "A String", # The name of the parameter for the action script. + "value": "A String", # The value of the parameter. + }, + ], + "persistValues": True or False, # Indicates whether form values persist after the action. The default value is `false`. If `true`, form values remain after the action is triggered. When using [LoadIndicator.NONE](workspace/add-ons/reference/rpc/google.apps.card.v1#loadindicator) for actions, `persist_values` = `true`is recommended, as it ensures that any changes made by the user after form or on change actions are sent to the server are not overwritten by the response. If `false`, the form values are cleared when the action is triggered. When `persist_values` is set to `false`, it is strongly recommended that the card use [LoadIndicator.SPINNER](workspace/add-ons/reference/rpc/google.apps.card.v1#loadindicator) for all actions, as this locks the UI to ensure no changes are made by the user while the action is being processed. Not supported by Google Chat apps. + }, + "openLink": { # Represents an `onClick` event that opens a hyperlink. # If specified, this `onClick` triggers an open link action. + "onClose": "A String", # Whether the client forgets about a link after opening it, or observes it until the window closes. Not supported by Chat apps. + "openAs": "A String", # How to open a link. Not supported by Chat apps. + "url": "A String", # The URL to open. + }, + }, + }, + ], + "displayStyle": "A String", # The `peekCardHeader` display style for. Not supported by Google Chat apps. + "fixedFooter": { # A persistent (sticky) footer that is added to the bottom of the card. # The fixed footer shown at the bottom of this card. + "primaryButton": { # A button. Can be a text button or an image button. # The primary button of the fixed footer. The button must be a text button with text and color set. + "altText": "A String", # The alternative text used for accessibility. Has no effect when an icon is set; use `icon.alt_text` instead. + "color": { # Represents a color in the RGBA color space. This representation is designed for simplicity of conversion to/from color representations in various languages over compactness. For example, the fields of this representation can be trivially provided to the constructor of `java.awt.Color` in Java; it can also be trivially provided to UIColor's `+colorWithRed:green:blue:alpha` method in iOS; and, with just a little work, it can be easily formatted into a CSS `rgba()` string in JavaScript. This reference page doesn't carry information about the absolute color space that should be used to interpret the RGB value (e.g. sRGB, Adobe RGB, DCI-P3, BT.2020, etc.). By default, applications should assume the sRGB color space. When color equality needs to be decided, implementations, unless documented otherwise, treat two colors as equal if all their red, green, blue, and alpha values each differ by at most 1e-5. Example (Java): import com.google.type.Color; // ... public static java.awt.Color fromProto(Color protocolor) { float alpha = protocolor.hasAlpha() ? protocolor.getAlpha().getValue() : 1.0; return new java.awt.Color( protocolor.getRed(), protocolor.getGreen(), protocolor.getBlue(), alpha); } public static Color toProto(java.awt.Color color) { float red = (float) color.getRed(); float green = (float) color.getGreen(); float blue = (float) color.getBlue(); float denominator = 255.0; Color.Builder resultBuilder = Color .newBuilder() .setRed(red / denominator) .setGreen(green / denominator) .setBlue(blue / denominator); int alpha = color.getAlpha(); if (alpha != 255) { result.setAlpha( FloatValue .newBuilder() .setValue(((float) alpha) / denominator) .build()); } return resultBuilder.build(); } // ... Example (iOS / Obj-C): // ... static UIColor* fromProto(Color* protocolor) { float red = [protocolor red]; float green = [protocolor green]; float blue = [protocolor blue]; FloatValue* alpha_wrapper = [protocolor alpha]; float alpha = 1.0; if (alpha_wrapper != nil) { alpha = [alpha_wrapper value]; } return [UIColor colorWithRed:red green:green blue:blue alpha:alpha]; } static Color* toProto(UIColor* color) { CGFloat red, green, blue, alpha; if (![color getRed:&red green:&green blue:&blue alpha:&alpha]) { return nil; } Color* result = [[Color alloc] init]; [result setRed:red]; [result setGreen:green]; [result setBlue:blue]; if (alpha <= 0.9999) { [result setAlpha:floatWrapperWithValue(alpha)]; } [result autorelease]; return result; } // ... Example (JavaScript): // ... var protoToCssColor = function(rgb_color) { var redFrac = rgb_color.red || 0.0; var greenFrac = rgb_color.green || 0.0; var blueFrac = rgb_color.blue || 0.0; var red = Math.floor(redFrac * 255); var green = Math.floor(greenFrac * 255); var blue = Math.floor(blueFrac * 255); if (!('alpha' in rgb_color)) { return rgbToCssColor(red, green, blue); } var alphaFrac = rgb_color.alpha.value || 0.0; var rgbParams = [red, green, blue].join(','); return ['rgba(', rgbParams, ',', alphaFrac, ')'].join(''); }; var rgbToCssColor = function(red, green, blue) { var rgbNumber = new Number((red << 16) | (green << 8) | blue); var hexString = rgbNumber.toString(16); var missingZeros = 6 - hexString.length; var resultBuilder = ['#']; for (var i = 0; i < missingZeros; i++) { resultBuilder.push('0'); } resultBuilder.push(hexString); return resultBuilder.join(''); }; // ... # If set, the button is filled with a solid background. + "alpha": 3.14, # The fraction of this color that should be applied to the pixel. That is, the final pixel color is defined by the equation: `pixel color = alpha * (this color) + (1.0 - alpha) * (background color)` This means that a value of 1.0 corresponds to a solid color, whereas a value of 0.0 corresponds to a completely transparent color. This uses a wrapper message rather than a simple float scalar so that it is possible to distinguish between a default value and the value being unset. If omitted, this color object is rendered as a solid color (as if the alpha value had been explicitly given a value of 1.0). + "blue": 3.14, # The amount of blue in the color as a value in the interval [0, 1]. + "green": 3.14, # The amount of green in the color as a value in the interval [0, 1]. + "red": 3.14, # The amount of red in the color as a value in the interval [0, 1]. + }, + "disabled": True or False, # If `true`, the button is displayed in a disabled state and doesn't respond to user actions. + "icon": { # The icon image. + "altText": "A String", # The description of the icon, used for accessibility. The default value is provided if you don't specify one. + "iconUrl": "A String", # The icon specified by a URL. + "imageType": "A String", # The crop style applied to the image. In some cases, applying a `CIRCLE` crop causes the image to be drawn larger than a standard icon. + "knownIcon": "A String", # The icon specified by the string name of a list of known icons. + }, + "onClick": { # Represents the response to an `onClick` event. # The action to perform when the button is clicked. + "action": { # An action that describes the behavior when the form is submitted. For example, an Apps Script can be invoked to handle the form. # If specified, an action is triggered by this `onClick`. + "function": "A String", # Apps Script function to invoke when the containing element is clicked/activated. + "loadIndicator": "A String", # Specifies the loading indicator that the action displays while making the call to the action. + "parameters": [ # List of action parameters. + { # List of string parameters to supply when the action method is invoked. For example, consider three snooze buttons: snooze now, snooze 1 day, snooze next week. You might use action method = snooze(), passing the snooze type and snooze time in the list of string parameters. + "key": "A String", # The name of the parameter for the action script. + "value": "A String", # The value of the parameter. + }, + ], + "persistValues": True or False, # Indicates whether form values persist after the action. The default value is `false`. If `true`, form values remain after the action is triggered. When using [LoadIndicator.NONE](workspace/add-ons/reference/rpc/google.apps.card.v1#loadindicator) for actions, `persist_values` = `true`is recommended, as it ensures that any changes made by the user after form or on change actions are sent to the server are not overwritten by the response. If `false`, the form values are cleared when the action is triggered. When `persist_values` is set to `false`, it is strongly recommended that the card use [LoadIndicator.SPINNER](workspace/add-ons/reference/rpc/google.apps.card.v1#loadindicator) for all actions, as this locks the UI to ensure no changes are made by the user while the action is being processed. Not supported by Google Chat apps. + }, + "card": # Object with schema name: GoogleAppsCardV1Card # A new card is pushed to the card stack after clicking if specified. + "openDynamicLinkAction": { # An action that describes the behavior when the form is submitted. For example, an Apps Script can be invoked to handle the form. # An add-on triggers this action when the action needs to open a link. This differs from the `open_link` above in that this needs to talk to server to get the link. Thus some preparation work is required for web client to do before the open link action response comes back. + "function": "A String", # Apps Script function to invoke when the containing element is clicked/activated. + "loadIndicator": "A String", # Specifies the loading indicator that the action displays while making the call to the action. + "parameters": [ # List of action parameters. + { # List of string parameters to supply when the action method is invoked. For example, consider three snooze buttons: snooze now, snooze 1 day, snooze next week. You might use action method = snooze(), passing the snooze type and snooze time in the list of string parameters. + "key": "A String", # The name of the parameter for the action script. + "value": "A String", # The value of the parameter. + }, + ], + "persistValues": True or False, # Indicates whether form values persist after the action. The default value is `false`. If `true`, form values remain after the action is triggered. When using [LoadIndicator.NONE](workspace/add-ons/reference/rpc/google.apps.card.v1#loadindicator) for actions, `persist_values` = `true`is recommended, as it ensures that any changes made by the user after form or on change actions are sent to the server are not overwritten by the response. If `false`, the form values are cleared when the action is triggered. When `persist_values` is set to `false`, it is strongly recommended that the card use [LoadIndicator.SPINNER](workspace/add-ons/reference/rpc/google.apps.card.v1#loadindicator) for all actions, as this locks the UI to ensure no changes are made by the user while the action is being processed. Not supported by Google Chat apps. + }, + "openLink": { # Represents an `onClick` event that opens a hyperlink. # If specified, this `onClick` triggers an open link action. + "onClose": "A String", # Whether the client forgets about a link after opening it, or observes it until the window closes. Not supported by Chat apps. + "openAs": "A String", # How to open a link. Not supported by Chat apps. + "url": "A String", # The URL to open. + }, + }, + "text": "A String", # The text of the button. + }, + "secondaryButton": { # A button. Can be a text button or an image button. # The secondary button of the fixed footer. The button must be a text button with text and color set. `primaryButton` must be set if `secondaryButton` is set. + "altText": "A String", # The alternative text used for accessibility. Has no effect when an icon is set; use `icon.alt_text` instead. + "color": { # Represents a color in the RGBA color space. This representation is designed for simplicity of conversion to/from color representations in various languages over compactness. For example, the fields of this representation can be trivially provided to the constructor of `java.awt.Color` in Java; it can also be trivially provided to UIColor's `+colorWithRed:green:blue:alpha` method in iOS; and, with just a little work, it can be easily formatted into a CSS `rgba()` string in JavaScript. This reference page doesn't carry information about the absolute color space that should be used to interpret the RGB value (e.g. sRGB, Adobe RGB, DCI-P3, BT.2020, etc.). By default, applications should assume the sRGB color space. When color equality needs to be decided, implementations, unless documented otherwise, treat two colors as equal if all their red, green, blue, and alpha values each differ by at most 1e-5. Example (Java): import com.google.type.Color; // ... public static java.awt.Color fromProto(Color protocolor) { float alpha = protocolor.hasAlpha() ? protocolor.getAlpha().getValue() : 1.0; return new java.awt.Color( protocolor.getRed(), protocolor.getGreen(), protocolor.getBlue(), alpha); } public static Color toProto(java.awt.Color color) { float red = (float) color.getRed(); float green = (float) color.getGreen(); float blue = (float) color.getBlue(); float denominator = 255.0; Color.Builder resultBuilder = Color .newBuilder() .setRed(red / denominator) .setGreen(green / denominator) .setBlue(blue / denominator); int alpha = color.getAlpha(); if (alpha != 255) { result.setAlpha( FloatValue .newBuilder() .setValue(((float) alpha) / denominator) .build()); } return resultBuilder.build(); } // ... Example (iOS / Obj-C): // ... static UIColor* fromProto(Color* protocolor) { float red = [protocolor red]; float green = [protocolor green]; float blue = [protocolor blue]; FloatValue* alpha_wrapper = [protocolor alpha]; float alpha = 1.0; if (alpha_wrapper != nil) { alpha = [alpha_wrapper value]; } return [UIColor colorWithRed:red green:green blue:blue alpha:alpha]; } static Color* toProto(UIColor* color) { CGFloat red, green, blue, alpha; if (![color getRed:&red green:&green blue:&blue alpha:&alpha]) { return nil; } Color* result = [[Color alloc] init]; [result setRed:red]; [result setGreen:green]; [result setBlue:blue]; if (alpha <= 0.9999) { [result setAlpha:floatWrapperWithValue(alpha)]; } [result autorelease]; return result; } // ... Example (JavaScript): // ... var protoToCssColor = function(rgb_color) { var redFrac = rgb_color.red || 0.0; var greenFrac = rgb_color.green || 0.0; var blueFrac = rgb_color.blue || 0.0; var red = Math.floor(redFrac * 255); var green = Math.floor(greenFrac * 255); var blue = Math.floor(blueFrac * 255); if (!('alpha' in rgb_color)) { return rgbToCssColor(red, green, blue); } var alphaFrac = rgb_color.alpha.value || 0.0; var rgbParams = [red, green, blue].join(','); return ['rgba(', rgbParams, ',', alphaFrac, ')'].join(''); }; var rgbToCssColor = function(red, green, blue) { var rgbNumber = new Number((red << 16) | (green << 8) | blue); var hexString = rgbNumber.toString(16); var missingZeros = 6 - hexString.length; var resultBuilder = ['#']; for (var i = 0; i < missingZeros; i++) { resultBuilder.push('0'); } resultBuilder.push(hexString); return resultBuilder.join(''); }; // ... # If set, the button is filled with a solid background. + "alpha": 3.14, # The fraction of this color that should be applied to the pixel. That is, the final pixel color is defined by the equation: `pixel color = alpha * (this color) + (1.0 - alpha) * (background color)` This means that a value of 1.0 corresponds to a solid color, whereas a value of 0.0 corresponds to a completely transparent color. This uses a wrapper message rather than a simple float scalar so that it is possible to distinguish between a default value and the value being unset. If omitted, this color object is rendered as a solid color (as if the alpha value had been explicitly given a value of 1.0). + "blue": 3.14, # The amount of blue in the color as a value in the interval [0, 1]. + "green": 3.14, # The amount of green in the color as a value in the interval [0, 1]. + "red": 3.14, # The amount of red in the color as a value in the interval [0, 1]. + }, + "disabled": True or False, # If `true`, the button is displayed in a disabled state and doesn't respond to user actions. + "icon": { # The icon image. + "altText": "A String", # The description of the icon, used for accessibility. The default value is provided if you don't specify one. + "iconUrl": "A String", # The icon specified by a URL. + "imageType": "A String", # The crop style applied to the image. In some cases, applying a `CIRCLE` crop causes the image to be drawn larger than a standard icon. + "knownIcon": "A String", # The icon specified by the string name of a list of known icons. + }, + "onClick": { # Represents the response to an `onClick` event. # The action to perform when the button is clicked. + "action": { # An action that describes the behavior when the form is submitted. For example, an Apps Script can be invoked to handle the form. # If specified, an action is triggered by this `onClick`. + "function": "A String", # Apps Script function to invoke when the containing element is clicked/activated. + "loadIndicator": "A String", # Specifies the loading indicator that the action displays while making the call to the action. + "parameters": [ # List of action parameters. + { # List of string parameters to supply when the action method is invoked. For example, consider three snooze buttons: snooze now, snooze 1 day, snooze next week. You might use action method = snooze(), passing the snooze type and snooze time in the list of string parameters. + "key": "A String", # The name of the parameter for the action script. + "value": "A String", # The value of the parameter. + }, + ], + "persistValues": True or False, # Indicates whether form values persist after the action. The default value is `false`. If `true`, form values remain after the action is triggered. When using [LoadIndicator.NONE](workspace/add-ons/reference/rpc/google.apps.card.v1#loadindicator) for actions, `persist_values` = `true`is recommended, as it ensures that any changes made by the user after form or on change actions are sent to the server are not overwritten by the response. If `false`, the form values are cleared when the action is triggered. When `persist_values` is set to `false`, it is strongly recommended that the card use [LoadIndicator.SPINNER](workspace/add-ons/reference/rpc/google.apps.card.v1#loadindicator) for all actions, as this locks the UI to ensure no changes are made by the user while the action is being processed. Not supported by Google Chat apps. + }, + "card": # Object with schema name: GoogleAppsCardV1Card # A new card is pushed to the card stack after clicking if specified. + "openDynamicLinkAction": { # An action that describes the behavior when the form is submitted. For example, an Apps Script can be invoked to handle the form. # An add-on triggers this action when the action needs to open a link. This differs from the `open_link` above in that this needs to talk to server to get the link. Thus some preparation work is required for web client to do before the open link action response comes back. + "function": "A String", # Apps Script function to invoke when the containing element is clicked/activated. + "loadIndicator": "A String", # Specifies the loading indicator that the action displays while making the call to the action. + "parameters": [ # List of action parameters. + { # List of string parameters to supply when the action method is invoked. For example, consider three snooze buttons: snooze now, snooze 1 day, snooze next week. You might use action method = snooze(), passing the snooze type and snooze time in the list of string parameters. + "key": "A String", # The name of the parameter for the action script. + "value": "A String", # The value of the parameter. + }, + ], + "persistValues": True or False, # Indicates whether form values persist after the action. The default value is `false`. If `true`, form values remain after the action is triggered. When using [LoadIndicator.NONE](workspace/add-ons/reference/rpc/google.apps.card.v1#loadindicator) for actions, `persist_values` = `true`is recommended, as it ensures that any changes made by the user after form or on change actions are sent to the server are not overwritten by the response. If `false`, the form values are cleared when the action is triggered. When `persist_values` is set to `false`, it is strongly recommended that the card use [LoadIndicator.SPINNER](workspace/add-ons/reference/rpc/google.apps.card.v1#loadindicator) for all actions, as this locks the UI to ensure no changes are made by the user while the action is being processed. Not supported by Google Chat apps. + }, + "openLink": { # Represents an `onClick` event that opens a hyperlink. # If specified, this `onClick` triggers an open link action. + "onClose": "A String", # Whether the client forgets about a link after opening it, or observes it until the window closes. Not supported by Chat apps. + "openAs": "A String", # How to open a link. Not supported by Chat apps. + "url": "A String", # The URL to open. + }, + }, + "text": "A String", # The text of the button. + }, + }, + "header": { # Represents a card header. # The header of the card. A header usually contains a title and an image. + "imageAltText": "A String", # The alternative text of this image which is used for accessibility. + "imageType": "A String", # The image's type. + "imageUrl": "A String", # The URL of the image in the card header. + "subtitle": "A String", # The subtitle of the card header. + "title": "A String", # Required. The title of the card header. The header has a fixed height: if both a title and subtitle are specified, each takes up one line. If only the title is specified, it takes up both lines. + }, + "name": "A String", # Name of the card. Used as a card identifier in card navigation. + "peekCardHeader": { # Represents a card header. # When displaying contextual content, the peek card header acts as a placeholder so that the user can navigate forward between the homepage cards and the contextual cards. Not supported by Google Chat apps. + "imageAltText": "A String", # The alternative text of this image which is used for accessibility. + "imageType": "A String", # The image's type. + "imageUrl": "A String", # The URL of the image in the card header. + "subtitle": "A String", # The subtitle of the card header. + "title": "A String", # Required. The title of the card header. The header has a fixed height: if both a title and subtitle are specified, each takes up one line. If only the title is specified, it takes up both lines. + }, + "sections": [ # Sections are separated by a line divider. + { # A section contains a collection of widgets that are rendered vertically in the order that they are specified. Across all platforms, cards have a narrow fixed width, so there is currently no need for layout properties, for example, float. + "collapsible": True or False, # Indicates whether this section is collapsible. If a section is collapsible, the description must be given. + "header": "A String", # The header of the section. Formatted text is supported. + "uncollapsibleWidgetsCount": 42, # The number of uncollapsible widgets. For example, when a section contains five widgets and the `uncollapsibleWidgetsCount` is set to `2`, the first two widgets are always shown and the last three are collapsed as default. The `uncollapsibleWidgetsCount` is taken into account only when `collapsible` is `true`. + "widgets": [ # A section must contain at least 1 widget. + { # A widget is a UI element that presents texts, images, etc. + "buttonList": { # A list of buttons layed out horizontally. # A list of buttons. For example, the following JSON creates two buttons. The first is a filled text button and the second is an image button that opens a link: ``` "buttonList": { "buttons": [ "button": { "text": "Edit", "Color": { "Red": 255 "Green": 255 "Blue": 255 } "disabled": true }, "button": { "icon": { "knownIcon": "INVITE" "altText": "check calendar" }, "onClick": { "openLink": { "url": "https://example.com/calendar" } } }, ] } ``` + "buttons": [ # An array of buttons. + { # A button. Can be a text button or an image button. + "altText": "A String", # The alternative text used for accessibility. Has no effect when an icon is set; use `icon.alt_text` instead. + "color": { # Represents a color in the RGBA color space. This representation is designed for simplicity of conversion to/from color representations in various languages over compactness. For example, the fields of this representation can be trivially provided to the constructor of `java.awt.Color` in Java; it can also be trivially provided to UIColor's `+colorWithRed:green:blue:alpha` method in iOS; and, with just a little work, it can be easily formatted into a CSS `rgba()` string in JavaScript. This reference page doesn't carry information about the absolute color space that should be used to interpret the RGB value (e.g. sRGB, Adobe RGB, DCI-P3, BT.2020, etc.). By default, applications should assume the sRGB color space. When color equality needs to be decided, implementations, unless documented otherwise, treat two colors as equal if all their red, green, blue, and alpha values each differ by at most 1e-5. Example (Java): import com.google.type.Color; // ... public static java.awt.Color fromProto(Color protocolor) { float alpha = protocolor.hasAlpha() ? protocolor.getAlpha().getValue() : 1.0; return new java.awt.Color( protocolor.getRed(), protocolor.getGreen(), protocolor.getBlue(), alpha); } public static Color toProto(java.awt.Color color) { float red = (float) color.getRed(); float green = (float) color.getGreen(); float blue = (float) color.getBlue(); float denominator = 255.0; Color.Builder resultBuilder = Color .newBuilder() .setRed(red / denominator) .setGreen(green / denominator) .setBlue(blue / denominator); int alpha = color.getAlpha(); if (alpha != 255) { result.setAlpha( FloatValue .newBuilder() .setValue(((float) alpha) / denominator) .build()); } return resultBuilder.build(); } // ... Example (iOS / Obj-C): // ... static UIColor* fromProto(Color* protocolor) { float red = [protocolor red]; float green = [protocolor green]; float blue = [protocolor blue]; FloatValue* alpha_wrapper = [protocolor alpha]; float alpha = 1.0; if (alpha_wrapper != nil) { alpha = [alpha_wrapper value]; } return [UIColor colorWithRed:red green:green blue:blue alpha:alpha]; } static Color* toProto(UIColor* color) { CGFloat red, green, blue, alpha; if (![color getRed:&red green:&green blue:&blue alpha:&alpha]) { return nil; } Color* result = [[Color alloc] init]; [result setRed:red]; [result setGreen:green]; [result setBlue:blue]; if (alpha <= 0.9999) { [result setAlpha:floatWrapperWithValue(alpha)]; } [result autorelease]; return result; } // ... Example (JavaScript): // ... var protoToCssColor = function(rgb_color) { var redFrac = rgb_color.red || 0.0; var greenFrac = rgb_color.green || 0.0; var blueFrac = rgb_color.blue || 0.0; var red = Math.floor(redFrac * 255); var green = Math.floor(greenFrac * 255); var blue = Math.floor(blueFrac * 255); if (!('alpha' in rgb_color)) { return rgbToCssColor(red, green, blue); } var alphaFrac = rgb_color.alpha.value || 0.0; var rgbParams = [red, green, blue].join(','); return ['rgba(', rgbParams, ',', alphaFrac, ')'].join(''); }; var rgbToCssColor = function(red, green, blue) { var rgbNumber = new Number((red << 16) | (green << 8) | blue); var hexString = rgbNumber.toString(16); var missingZeros = 6 - hexString.length; var resultBuilder = ['#']; for (var i = 0; i < missingZeros; i++) { resultBuilder.push('0'); } resultBuilder.push(hexString); return resultBuilder.join(''); }; // ... # If set, the button is filled with a solid background. + "alpha": 3.14, # The fraction of this color that should be applied to the pixel. That is, the final pixel color is defined by the equation: `pixel color = alpha * (this color) + (1.0 - alpha) * (background color)` This means that a value of 1.0 corresponds to a solid color, whereas a value of 0.0 corresponds to a completely transparent color. This uses a wrapper message rather than a simple float scalar so that it is possible to distinguish between a default value and the value being unset. If omitted, this color object is rendered as a solid color (as if the alpha value had been explicitly given a value of 1.0). + "blue": 3.14, # The amount of blue in the color as a value in the interval [0, 1]. + "green": 3.14, # The amount of green in the color as a value in the interval [0, 1]. + "red": 3.14, # The amount of red in the color as a value in the interval [0, 1]. + }, + "disabled": True or False, # If `true`, the button is displayed in a disabled state and doesn't respond to user actions. + "icon": { # The icon image. + "altText": "A String", # The description of the icon, used for accessibility. The default value is provided if you don't specify one. + "iconUrl": "A String", # The icon specified by a URL. + "imageType": "A String", # The crop style applied to the image. In some cases, applying a `CIRCLE` crop causes the image to be drawn larger than a standard icon. + "knownIcon": "A String", # The icon specified by the string name of a list of known icons. + }, + "onClick": { # Represents the response to an `onClick` event. # The action to perform when the button is clicked. + "action": { # An action that describes the behavior when the form is submitted. For example, an Apps Script can be invoked to handle the form. # If specified, an action is triggered by this `onClick`. + "function": "A String", # Apps Script function to invoke when the containing element is clicked/activated. + "loadIndicator": "A String", # Specifies the loading indicator that the action displays while making the call to the action. + "parameters": [ # List of action parameters. + { # List of string parameters to supply when the action method is invoked. For example, consider three snooze buttons: snooze now, snooze 1 day, snooze next week. You might use action method = snooze(), passing the snooze type and snooze time in the list of string parameters. + "key": "A String", # The name of the parameter for the action script. + "value": "A String", # The value of the parameter. + }, + ], + "persistValues": True or False, # Indicates whether form values persist after the action. The default value is `false`. If `true`, form values remain after the action is triggered. When using [LoadIndicator.NONE](workspace/add-ons/reference/rpc/google.apps.card.v1#loadindicator) for actions, `persist_values` = `true`is recommended, as it ensures that any changes made by the user after form or on change actions are sent to the server are not overwritten by the response. If `false`, the form values are cleared when the action is triggered. When `persist_values` is set to `false`, it is strongly recommended that the card use [LoadIndicator.SPINNER](workspace/add-ons/reference/rpc/google.apps.card.v1#loadindicator) for all actions, as this locks the UI to ensure no changes are made by the user while the action is being processed. Not supported by Google Chat apps. + }, + "card": # Object with schema name: GoogleAppsCardV1Card # A new card is pushed to the card stack after clicking if specified. + "openDynamicLinkAction": { # An action that describes the behavior when the form is submitted. For example, an Apps Script can be invoked to handle the form. # An add-on triggers this action when the action needs to open a link. This differs from the `open_link` above in that this needs to talk to server to get the link. Thus some preparation work is required for web client to do before the open link action response comes back. + "function": "A String", # Apps Script function to invoke when the containing element is clicked/activated. + "loadIndicator": "A String", # Specifies the loading indicator that the action displays while making the call to the action. + "parameters": [ # List of action parameters. + { # List of string parameters to supply when the action method is invoked. For example, consider three snooze buttons: snooze now, snooze 1 day, snooze next week. You might use action method = snooze(), passing the snooze type and snooze time in the list of string parameters. + "key": "A String", # The name of the parameter for the action script. + "value": "A String", # The value of the parameter. + }, + ], + "persistValues": True or False, # Indicates whether form values persist after the action. The default value is `false`. If `true`, form values remain after the action is triggered. When using [LoadIndicator.NONE](workspace/add-ons/reference/rpc/google.apps.card.v1#loadindicator) for actions, `persist_values` = `true`is recommended, as it ensures that any changes made by the user after form or on change actions are sent to the server are not overwritten by the response. If `false`, the form values are cleared when the action is triggered. When `persist_values` is set to `false`, it is strongly recommended that the card use [LoadIndicator.SPINNER](workspace/add-ons/reference/rpc/google.apps.card.v1#loadindicator) for all actions, as this locks the UI to ensure no changes are made by the user while the action is being processed. Not supported by Google Chat apps. + }, + "openLink": { # Represents an `onClick` event that opens a hyperlink. # If specified, this `onClick` triggers an open link action. + "onClose": "A String", # Whether the client forgets about a link after opening it, or observes it until the window closes. Not supported by Chat apps. + "openAs": "A String", # How to open a link. Not supported by Chat apps. + "url": "A String", # The URL to open. + }, + }, + "text": "A String", # The text of the button. + }, + ], + }, + "dateTimePicker": { # The widget that lets users to specify a date and time. Not supported by Google Chat apps. # Displays a selection/input widget for date/time. For example, the following JSON creates a date/time picker for an appointment time: ``` "date_time_picker": { "name": "appointment_time", "label": "Book your appointment at:", "type": "DateTimePickerType.DATE_AND_TIME", "valueMsEpoch": "796435200000" } ``` + "label": "A String", # The label for the field that displays to the user. + "name": "A String", # The name of the text input that's used in `formInput`, and uniquely identifies this input. + "onChangeAction": { # An action that describes the behavior when the form is submitted. For example, an Apps Script can be invoked to handle the form. # Triggered when the user clicks Save or Clear from the date/time picker dialog. This is only triggered if the value changed as a result of the Save/Clear operation. + "function": "A String", # Apps Script function to invoke when the containing element is clicked/activated. + "loadIndicator": "A String", # Specifies the loading indicator that the action displays while making the call to the action. + "parameters": [ # List of action parameters. + { # List of string parameters to supply when the action method is invoked. For example, consider three snooze buttons: snooze now, snooze 1 day, snooze next week. You might use action method = snooze(), passing the snooze type and snooze time in the list of string parameters. + "key": "A String", # The name of the parameter for the action script. + "value": "A String", # The value of the parameter. + }, + ], + "persistValues": True or False, # Indicates whether form values persist after the action. The default value is `false`. If `true`, form values remain after the action is triggered. When using [LoadIndicator.NONE](workspace/add-ons/reference/rpc/google.apps.card.v1#loadindicator) for actions, `persist_values` = `true`is recommended, as it ensures that any changes made by the user after form or on change actions are sent to the server are not overwritten by the response. If `false`, the form values are cleared when the action is triggered. When `persist_values` is set to `false`, it is strongly recommended that the card use [LoadIndicator.SPINNER](workspace/add-ons/reference/rpc/google.apps.card.v1#loadindicator) for all actions, as this locks the UI to ensure no changes are made by the user while the action is being processed. Not supported by Google Chat apps. + }, + "timezoneOffsetDate": 42, # The number representing the time zone offset from UTC, in minutes. If set, the `value_ms_epoch` is displayed in the specified time zone. If not set, it uses the user's time zone setting on the client side. + "type": "A String", # The type of the date/time picker. + "valueMsEpoch": "A String", # The value to display as the default value before user input or previous user input. It is represented in milliseconds (Epoch time). For `DATE_AND_TIME` type, the full epoch value is used. For `DATE_ONLY` type, only date of the epoch time is used. For `TIME_ONLY` type, only time of the epoch time is used. For example, you can set epoch time to `3 * 60 * 60 * 1000` to represent 3am. + }, + "decoratedText": { # A widget that displays text with optional decorations such as a label above or below the text, an icon in front of the text, a selection widget or a button after the text. # Displays a decorated text item in this widget. For example, the following JSON creates a decorated text widget showing email address: ``` "decoratedText": { "icon": { "knownIcon": "EMAIL" }, "topLabel": "Email Address", "content": "sasha@example.com", "bottomLabel": "This is a new Email address!", "switchWidget": { "name": "has_send_welcome_email_to_sasha", "selected": false, "controlType": "ControlType.CHECKBOX" } } ``` + "bottomLabel": "A String", # The formatted text label that shows below the main text. + "button": { # A button. Can be a text button or an image button. # A button that can be clicked to trigger an action. + "altText": "A String", # The alternative text used for accessibility. Has no effect when an icon is set; use `icon.alt_text` instead. + "color": { # Represents a color in the RGBA color space. This representation is designed for simplicity of conversion to/from color representations in various languages over compactness. For example, the fields of this representation can be trivially provided to the constructor of `java.awt.Color` in Java; it can also be trivially provided to UIColor's `+colorWithRed:green:blue:alpha` method in iOS; and, with just a little work, it can be easily formatted into a CSS `rgba()` string in JavaScript. This reference page doesn't carry information about the absolute color space that should be used to interpret the RGB value (e.g. sRGB, Adobe RGB, DCI-P3, BT.2020, etc.). By default, applications should assume the sRGB color space. When color equality needs to be decided, implementations, unless documented otherwise, treat two colors as equal if all their red, green, blue, and alpha values each differ by at most 1e-5. Example (Java): import com.google.type.Color; // ... public static java.awt.Color fromProto(Color protocolor) { float alpha = protocolor.hasAlpha() ? protocolor.getAlpha().getValue() : 1.0; return new java.awt.Color( protocolor.getRed(), protocolor.getGreen(), protocolor.getBlue(), alpha); } public static Color toProto(java.awt.Color color) { float red = (float) color.getRed(); float green = (float) color.getGreen(); float blue = (float) color.getBlue(); float denominator = 255.0; Color.Builder resultBuilder = Color .newBuilder() .setRed(red / denominator) .setGreen(green / denominator) .setBlue(blue / denominator); int alpha = color.getAlpha(); if (alpha != 255) { result.setAlpha( FloatValue .newBuilder() .setValue(((float) alpha) / denominator) .build()); } return resultBuilder.build(); } // ... Example (iOS / Obj-C): // ... static UIColor* fromProto(Color* protocolor) { float red = [protocolor red]; float green = [protocolor green]; float blue = [protocolor blue]; FloatValue* alpha_wrapper = [protocolor alpha]; float alpha = 1.0; if (alpha_wrapper != nil) { alpha = [alpha_wrapper value]; } return [UIColor colorWithRed:red green:green blue:blue alpha:alpha]; } static Color* toProto(UIColor* color) { CGFloat red, green, blue, alpha; if (![color getRed:&red green:&green blue:&blue alpha:&alpha]) { return nil; } Color* result = [[Color alloc] init]; [result setRed:red]; [result setGreen:green]; [result setBlue:blue]; if (alpha <= 0.9999) { [result setAlpha:floatWrapperWithValue(alpha)]; } [result autorelease]; return result; } // ... Example (JavaScript): // ... var protoToCssColor = function(rgb_color) { var redFrac = rgb_color.red || 0.0; var greenFrac = rgb_color.green || 0.0; var blueFrac = rgb_color.blue || 0.0; var red = Math.floor(redFrac * 255); var green = Math.floor(greenFrac * 255); var blue = Math.floor(blueFrac * 255); if (!('alpha' in rgb_color)) { return rgbToCssColor(red, green, blue); } var alphaFrac = rgb_color.alpha.value || 0.0; var rgbParams = [red, green, blue].join(','); return ['rgba(', rgbParams, ',', alphaFrac, ')'].join(''); }; var rgbToCssColor = function(red, green, blue) { var rgbNumber = new Number((red << 16) | (green << 8) | blue); var hexString = rgbNumber.toString(16); var missingZeros = 6 - hexString.length; var resultBuilder = ['#']; for (var i = 0; i < missingZeros; i++) { resultBuilder.push('0'); } resultBuilder.push(hexString); return resultBuilder.join(''); }; // ... # If set, the button is filled with a solid background. + "alpha": 3.14, # The fraction of this color that should be applied to the pixel. That is, the final pixel color is defined by the equation: `pixel color = alpha * (this color) + (1.0 - alpha) * (background color)` This means that a value of 1.0 corresponds to a solid color, whereas a value of 0.0 corresponds to a completely transparent color. This uses a wrapper message rather than a simple float scalar so that it is possible to distinguish between a default value and the value being unset. If omitted, this color object is rendered as a solid color (as if the alpha value had been explicitly given a value of 1.0). + "blue": 3.14, # The amount of blue in the color as a value in the interval [0, 1]. + "green": 3.14, # The amount of green in the color as a value in the interval [0, 1]. + "red": 3.14, # The amount of red in the color as a value in the interval [0, 1]. + }, + "disabled": True or False, # If `true`, the button is displayed in a disabled state and doesn't respond to user actions. + "icon": { # The icon image. + "altText": "A String", # The description of the icon, used for accessibility. The default value is provided if you don't specify one. + "iconUrl": "A String", # The icon specified by a URL. + "imageType": "A String", # The crop style applied to the image. In some cases, applying a `CIRCLE` crop causes the image to be drawn larger than a standard icon. + "knownIcon": "A String", # The icon specified by the string name of a list of known icons. + }, + "onClick": { # Represents the response to an `onClick` event. # The action to perform when the button is clicked. + "action": { # An action that describes the behavior when the form is submitted. For example, an Apps Script can be invoked to handle the form. # If specified, an action is triggered by this `onClick`. + "function": "A String", # Apps Script function to invoke when the containing element is clicked/activated. + "loadIndicator": "A String", # Specifies the loading indicator that the action displays while making the call to the action. + "parameters": [ # List of action parameters. + { # List of string parameters to supply when the action method is invoked. For example, consider three snooze buttons: snooze now, snooze 1 day, snooze next week. You might use action method = snooze(), passing the snooze type and snooze time in the list of string parameters. + "key": "A String", # The name of the parameter for the action script. + "value": "A String", # The value of the parameter. + }, + ], + "persistValues": True or False, # Indicates whether form values persist after the action. The default value is `false`. If `true`, form values remain after the action is triggered. When using [LoadIndicator.NONE](workspace/add-ons/reference/rpc/google.apps.card.v1#loadindicator) for actions, `persist_values` = `true`is recommended, as it ensures that any changes made by the user after form or on change actions are sent to the server are not overwritten by the response. If `false`, the form values are cleared when the action is triggered. When `persist_values` is set to `false`, it is strongly recommended that the card use [LoadIndicator.SPINNER](workspace/add-ons/reference/rpc/google.apps.card.v1#loadindicator) for all actions, as this locks the UI to ensure no changes are made by the user while the action is being processed. Not supported by Google Chat apps. + }, + "card": # Object with schema name: GoogleAppsCardV1Card # A new card is pushed to the card stack after clicking if specified. + "openDynamicLinkAction": { # An action that describes the behavior when the form is submitted. For example, an Apps Script can be invoked to handle the form. # An add-on triggers this action when the action needs to open a link. This differs from the `open_link` above in that this needs to talk to server to get the link. Thus some preparation work is required for web client to do before the open link action response comes back. + "function": "A String", # Apps Script function to invoke when the containing element is clicked/activated. + "loadIndicator": "A String", # Specifies the loading indicator that the action displays while making the call to the action. + "parameters": [ # List of action parameters. + { # List of string parameters to supply when the action method is invoked. For example, consider three snooze buttons: snooze now, snooze 1 day, snooze next week. You might use action method = snooze(), passing the snooze type and snooze time in the list of string parameters. + "key": "A String", # The name of the parameter for the action script. + "value": "A String", # The value of the parameter. + }, + ], + "persistValues": True or False, # Indicates whether form values persist after the action. The default value is `false`. If `true`, form values remain after the action is triggered. When using [LoadIndicator.NONE](workspace/add-ons/reference/rpc/google.apps.card.v1#loadindicator) for actions, `persist_values` = `true`is recommended, as it ensures that any changes made by the user after form or on change actions are sent to the server are not overwritten by the response. If `false`, the form values are cleared when the action is triggered. When `persist_values` is set to `false`, it is strongly recommended that the card use [LoadIndicator.SPINNER](workspace/add-ons/reference/rpc/google.apps.card.v1#loadindicator) for all actions, as this locks the UI to ensure no changes are made by the user while the action is being processed. Not supported by Google Chat apps. + }, + "openLink": { # Represents an `onClick` event that opens a hyperlink. # If specified, this `onClick` triggers an open link action. + "onClose": "A String", # Whether the client forgets about a link after opening it, or observes it until the window closes. Not supported by Chat apps. + "openAs": "A String", # How to open a link. Not supported by Chat apps. + "url": "A String", # The URL to open. + }, + }, + "text": "A String", # The text of the button. + }, + "endIcon": { # An icon displayed after the text. + "altText": "A String", # The description of the icon, used for accessibility. The default value is provided if you don't specify one. + "iconUrl": "A String", # The icon specified by a URL. + "imageType": "A String", # The crop style applied to the image. In some cases, applying a `CIRCLE` crop causes the image to be drawn larger than a standard icon. + "knownIcon": "A String", # The icon specified by the string name of a list of known icons. + }, + "icon": { # Deprecated in favor of start_icon. + "altText": "A String", # The description of the icon, used for accessibility. The default value is provided if you don't specify one. + "iconUrl": "A String", # The icon specified by a URL. + "imageType": "A String", # The crop style applied to the image. In some cases, applying a `CIRCLE` crop causes the image to be drawn larger than a standard icon. + "knownIcon": "A String", # The icon specified by the string name of a list of known icons. + }, + "onClick": { # Represents the response to an `onClick` event. # Only the top and bottom label and content region are clickable. + "action": { # An action that describes the behavior when the form is submitted. For example, an Apps Script can be invoked to handle the form. # If specified, an action is triggered by this `onClick`. + "function": "A String", # Apps Script function to invoke when the containing element is clicked/activated. + "loadIndicator": "A String", # Specifies the loading indicator that the action displays while making the call to the action. + "parameters": [ # List of action parameters. + { # List of string parameters to supply when the action method is invoked. For example, consider three snooze buttons: snooze now, snooze 1 day, snooze next week. You might use action method = snooze(), passing the snooze type and snooze time in the list of string parameters. + "key": "A String", # The name of the parameter for the action script. + "value": "A String", # The value of the parameter. + }, + ], + "persistValues": True or False, # Indicates whether form values persist after the action. The default value is `false`. If `true`, form values remain after the action is triggered. When using [LoadIndicator.NONE](workspace/add-ons/reference/rpc/google.apps.card.v1#loadindicator) for actions, `persist_values` = `true`is recommended, as it ensures that any changes made by the user after form or on change actions are sent to the server are not overwritten by the response. If `false`, the form values are cleared when the action is triggered. When `persist_values` is set to `false`, it is strongly recommended that the card use [LoadIndicator.SPINNER](workspace/add-ons/reference/rpc/google.apps.card.v1#loadindicator) for all actions, as this locks the UI to ensure no changes are made by the user while the action is being processed. Not supported by Google Chat apps. + }, + "card": # Object with schema name: GoogleAppsCardV1Card # A new card is pushed to the card stack after clicking if specified. + "openDynamicLinkAction": { # An action that describes the behavior when the form is submitted. For example, an Apps Script can be invoked to handle the form. # An add-on triggers this action when the action needs to open a link. This differs from the `open_link` above in that this needs to talk to server to get the link. Thus some preparation work is required for web client to do before the open link action response comes back. + "function": "A String", # Apps Script function to invoke when the containing element is clicked/activated. + "loadIndicator": "A String", # Specifies the loading indicator that the action displays while making the call to the action. + "parameters": [ # List of action parameters. + { # List of string parameters to supply when the action method is invoked. For example, consider three snooze buttons: snooze now, snooze 1 day, snooze next week. You might use action method = snooze(), passing the snooze type and snooze time in the list of string parameters. + "key": "A String", # The name of the parameter for the action script. + "value": "A String", # The value of the parameter. + }, + ], + "persistValues": True or False, # Indicates whether form values persist after the action. The default value is `false`. If `true`, form values remain after the action is triggered. When using [LoadIndicator.NONE](workspace/add-ons/reference/rpc/google.apps.card.v1#loadindicator) for actions, `persist_values` = `true`is recommended, as it ensures that any changes made by the user after form or on change actions are sent to the server are not overwritten by the response. If `false`, the form values are cleared when the action is triggered. When `persist_values` is set to `false`, it is strongly recommended that the card use [LoadIndicator.SPINNER](workspace/add-ons/reference/rpc/google.apps.card.v1#loadindicator) for all actions, as this locks the UI to ensure no changes are made by the user while the action is being processed. Not supported by Google Chat apps. + }, + "openLink": { # Represents an `onClick` event that opens a hyperlink. # If specified, this `onClick` triggers an open link action. + "onClose": "A String", # Whether the client forgets about a link after opening it, or observes it until the window closes. Not supported by Chat apps. + "openAs": "A String", # How to open a link. Not supported by Chat apps. + "url": "A String", # The URL to open. + }, + }, + "startIcon": { # The icon displayed in front of the text. + "altText": "A String", # The description of the icon, used for accessibility. The default value is provided if you don't specify one. + "iconUrl": "A String", # The icon specified by a URL. + "imageType": "A String", # The crop style applied to the image. In some cases, applying a `CIRCLE` crop causes the image to be drawn larger than a standard icon. + "knownIcon": "A String", # The icon specified by the string name of a list of known icons. + }, + "switchControl": { # Either a toggle-style switch or a checkbox. # A switch widget can be clicked to change its state or trigger an action. + "controlType": "A String", # The control type, either switch or checkbox. + "name": "A String", # The name of the switch widget that's used in `formInput`. + "onChangeAction": { # An action that describes the behavior when the form is submitted. For example, an Apps Script can be invoked to handle the form. # The action when the switch state is changed. + "function": "A String", # Apps Script function to invoke when the containing element is clicked/activated. + "loadIndicator": "A String", # Specifies the loading indicator that the action displays while making the call to the action. + "parameters": [ # List of action parameters. + { # List of string parameters to supply when the action method is invoked. For example, consider three snooze buttons: snooze now, snooze 1 day, snooze next week. You might use action method = snooze(), passing the snooze type and snooze time in the list of string parameters. + "key": "A String", # The name of the parameter for the action script. + "value": "A String", # The value of the parameter. + }, + ], + "persistValues": True or False, # Indicates whether form values persist after the action. The default value is `false`. If `true`, form values remain after the action is triggered. When using [LoadIndicator.NONE](workspace/add-ons/reference/rpc/google.apps.card.v1#loadindicator) for actions, `persist_values` = `true`is recommended, as it ensures that any changes made by the user after form or on change actions are sent to the server are not overwritten by the response. If `false`, the form values are cleared when the action is triggered. When `persist_values` is set to `false`, it is strongly recommended that the card use [LoadIndicator.SPINNER](workspace/add-ons/reference/rpc/google.apps.card.v1#loadindicator) for all actions, as this locks the UI to ensure no changes are made by the user while the action is being processed. Not supported by Google Chat apps. + }, + "selected": True or False, # If the switch is selected. + "value": "A String", # The value is what is passed back in the callback. + }, + "text": "A String", # Required. The main widget formatted text. See Text formatting for details. + "topLabel": "A String", # The formatted text label that shows above the main text. + "wrapText": True or False, # The wrap text setting. If `true`, the text is wrapped and displayed in multiline. Otherwise, the text is truncated. + }, + "divider": { # A divider that appears in between widgets. # Displays a divider. For example, the following JSON creates a divider: ``` "divider": { } ``` + }, + "grid": { # Represents a Grid widget that displays items in a configurable grid layout. # Displays a grid with a collection of items. For example, the following JSON creates a 2 column grid with a single item: ``` "grid": { "title": "A fine collection of items", "numColumns": 2, "borderStyle": { "type": "STROKE", "cornerRadius": 4.0 }, "items": [ "image": { "imageUri": "https://www.example.com/image.png", "cropStyle": { "type": "SQUARE" }, "borderStyle": { "type": "STROKE" } }, "title": "An item", "textAlignment": "CENTER" ], "onClick": { "openLink": { "url":"https://www.example.com" } } } ``` + "borderStyle": { # Represents the complete border style applied to widgets. # The border style to apply to each grid item. + "cornerRadius": 42, # The corner radius for the border. + "strokeColor": { # Represents a color in the RGBA color space. This representation is designed for simplicity of conversion to/from color representations in various languages over compactness. For example, the fields of this representation can be trivially provided to the constructor of `java.awt.Color` in Java; it can also be trivially provided to UIColor's `+colorWithRed:green:blue:alpha` method in iOS; and, with just a little work, it can be easily formatted into a CSS `rgba()` string in JavaScript. This reference page doesn't carry information about the absolute color space that should be used to interpret the RGB value (e.g. sRGB, Adobe RGB, DCI-P3, BT.2020, etc.). By default, applications should assume the sRGB color space. When color equality needs to be decided, implementations, unless documented otherwise, treat two colors as equal if all their red, green, blue, and alpha values each differ by at most 1e-5. Example (Java): import com.google.type.Color; // ... public static java.awt.Color fromProto(Color protocolor) { float alpha = protocolor.hasAlpha() ? protocolor.getAlpha().getValue() : 1.0; return new java.awt.Color( protocolor.getRed(), protocolor.getGreen(), protocolor.getBlue(), alpha); } public static Color toProto(java.awt.Color color) { float red = (float) color.getRed(); float green = (float) color.getGreen(); float blue = (float) color.getBlue(); float denominator = 255.0; Color.Builder resultBuilder = Color .newBuilder() .setRed(red / denominator) .setGreen(green / denominator) .setBlue(blue / denominator); int alpha = color.getAlpha(); if (alpha != 255) { result.setAlpha( FloatValue .newBuilder() .setValue(((float) alpha) / denominator) .build()); } return resultBuilder.build(); } // ... Example (iOS / Obj-C): // ... static UIColor* fromProto(Color* protocolor) { float red = [protocolor red]; float green = [protocolor green]; float blue = [protocolor blue]; FloatValue* alpha_wrapper = [protocolor alpha]; float alpha = 1.0; if (alpha_wrapper != nil) { alpha = [alpha_wrapper value]; } return [UIColor colorWithRed:red green:green blue:blue alpha:alpha]; } static Color* toProto(UIColor* color) { CGFloat red, green, blue, alpha; if (![color getRed:&red green:&green blue:&blue alpha:&alpha]) { return nil; } Color* result = [[Color alloc] init]; [result setRed:red]; [result setGreen:green]; [result setBlue:blue]; if (alpha <= 0.9999) { [result setAlpha:floatWrapperWithValue(alpha)]; } [result autorelease]; return result; } // ... Example (JavaScript): // ... var protoToCssColor = function(rgb_color) { var redFrac = rgb_color.red || 0.0; var greenFrac = rgb_color.green || 0.0; var blueFrac = rgb_color.blue || 0.0; var red = Math.floor(redFrac * 255); var green = Math.floor(greenFrac * 255); var blue = Math.floor(blueFrac * 255); if (!('alpha' in rgb_color)) { return rgbToCssColor(red, green, blue); } var alphaFrac = rgb_color.alpha.value || 0.0; var rgbParams = [red, green, blue].join(','); return ['rgba(', rgbParams, ',', alphaFrac, ')'].join(''); }; var rgbToCssColor = function(red, green, blue) { var rgbNumber = new Number((red << 16) | (green << 8) | blue); var hexString = rgbNumber.toString(16); var missingZeros = 6 - hexString.length; var resultBuilder = ['#']; for (var i = 0; i < missingZeros; i++) { resultBuilder.push('0'); } resultBuilder.push(hexString); return resultBuilder.join(''); }; // ... # The colors to use when the type is `BORDER_TYPE_STROKE`. + "alpha": 3.14, # The fraction of this color that should be applied to the pixel. That is, the final pixel color is defined by the equation: `pixel color = alpha * (this color) + (1.0 - alpha) * (background color)` This means that a value of 1.0 corresponds to a solid color, whereas a value of 0.0 corresponds to a completely transparent color. This uses a wrapper message rather than a simple float scalar so that it is possible to distinguish between a default value and the value being unset. If omitted, this color object is rendered as a solid color (as if the alpha value had been explicitly given a value of 1.0). + "blue": 3.14, # The amount of blue in the color as a value in the interval [0, 1]. + "green": 3.14, # The amount of green in the color as a value in the interval [0, 1]. + "red": 3.14, # The amount of red in the color as a value in the interval [0, 1]. + }, + "type": "A String", # The border type. + }, + "columnCount": 42, # The number of columns to display in the grid. A default value is used if this field isn't specified, and that default value is different depending on where the grid is shown (dialog versus companion). + "items": [ # The items to display in the grid. + { # Represents a single item in the grid layout. + "id": "A String", # A user-specified identifier for this grid item. This identifier is returned in the parent Grid's onClick callback parameters. + "image": { # Represents an image. # The image that displays in the grid item. + "altText": "A String", # The accessibility label for the image. + "borderStyle": { # Represents the complete border style applied to widgets. # The border style to apply to the image. + "cornerRadius": 42, # The corner radius for the border. + "strokeColor": { # Represents a color in the RGBA color space. This representation is designed for simplicity of conversion to/from color representations in various languages over compactness. For example, the fields of this representation can be trivially provided to the constructor of `java.awt.Color` in Java; it can also be trivially provided to UIColor's `+colorWithRed:green:blue:alpha` method in iOS; and, with just a little work, it can be easily formatted into a CSS `rgba()` string in JavaScript. This reference page doesn't carry information about the absolute color space that should be used to interpret the RGB value (e.g. sRGB, Adobe RGB, DCI-P3, BT.2020, etc.). By default, applications should assume the sRGB color space. When color equality needs to be decided, implementations, unless documented otherwise, treat two colors as equal if all their red, green, blue, and alpha values each differ by at most 1e-5. Example (Java): import com.google.type.Color; // ... public static java.awt.Color fromProto(Color protocolor) { float alpha = protocolor.hasAlpha() ? protocolor.getAlpha().getValue() : 1.0; return new java.awt.Color( protocolor.getRed(), protocolor.getGreen(), protocolor.getBlue(), alpha); } public static Color toProto(java.awt.Color color) { float red = (float) color.getRed(); float green = (float) color.getGreen(); float blue = (float) color.getBlue(); float denominator = 255.0; Color.Builder resultBuilder = Color .newBuilder() .setRed(red / denominator) .setGreen(green / denominator) .setBlue(blue / denominator); int alpha = color.getAlpha(); if (alpha != 255) { result.setAlpha( FloatValue .newBuilder() .setValue(((float) alpha) / denominator) .build()); } return resultBuilder.build(); } // ... Example (iOS / Obj-C): // ... static UIColor* fromProto(Color* protocolor) { float red = [protocolor red]; float green = [protocolor green]; float blue = [protocolor blue]; FloatValue* alpha_wrapper = [protocolor alpha]; float alpha = 1.0; if (alpha_wrapper != nil) { alpha = [alpha_wrapper value]; } return [UIColor colorWithRed:red green:green blue:blue alpha:alpha]; } static Color* toProto(UIColor* color) { CGFloat red, green, blue, alpha; if (![color getRed:&red green:&green blue:&blue alpha:&alpha]) { return nil; } Color* result = [[Color alloc] init]; [result setRed:red]; [result setGreen:green]; [result setBlue:blue]; if (alpha <= 0.9999) { [result setAlpha:floatWrapperWithValue(alpha)]; } [result autorelease]; return result; } // ... Example (JavaScript): // ... var protoToCssColor = function(rgb_color) { var redFrac = rgb_color.red || 0.0; var greenFrac = rgb_color.green || 0.0; var blueFrac = rgb_color.blue || 0.0; var red = Math.floor(redFrac * 255); var green = Math.floor(greenFrac * 255); var blue = Math.floor(blueFrac * 255); if (!('alpha' in rgb_color)) { return rgbToCssColor(red, green, blue); } var alphaFrac = rgb_color.alpha.value || 0.0; var rgbParams = [red, green, blue].join(','); return ['rgba(', rgbParams, ',', alphaFrac, ')'].join(''); }; var rgbToCssColor = function(red, green, blue) { var rgbNumber = new Number((red << 16) | (green << 8) | blue); var hexString = rgbNumber.toString(16); var missingZeros = 6 - hexString.length; var resultBuilder = ['#']; for (var i = 0; i < missingZeros; i++) { resultBuilder.push('0'); } resultBuilder.push(hexString); return resultBuilder.join(''); }; // ... # The colors to use when the type is `BORDER_TYPE_STROKE`. + "alpha": 3.14, # The fraction of this color that should be applied to the pixel. That is, the final pixel color is defined by the equation: `pixel color = alpha * (this color) + (1.0 - alpha) * (background color)` This means that a value of 1.0 corresponds to a solid color, whereas a value of 0.0 corresponds to a completely transparent color. This uses a wrapper message rather than a simple float scalar so that it is possible to distinguish between a default value and the value being unset. If omitted, this color object is rendered as a solid color (as if the alpha value had been explicitly given a value of 1.0). + "blue": 3.14, # The amount of blue in the color as a value in the interval [0, 1]. + "green": 3.14, # The amount of green in the color as a value in the interval [0, 1]. + "red": 3.14, # The amount of red in the color as a value in the interval [0, 1]. + }, + "type": "A String", # The border type. + }, + "cropStyle": { # Represents the crop style applied to an image. # The crop style to apply to the image. + "aspectRatio": 3.14, # The aspect ratio to use if the crop type is `RECTANGLE_CUSTOM`. + "type": "A String", # The crop type. + }, + "imageUri": "A String", # The image URL. + }, + "layout": "A String", # The layout to use for the grid item. + "subtitle": "A String", # The grid item's subtitle. + "textAlignment": "A String", # The horizontal alignment of the grid item's text. + "title": "A String", # The grid item's title. + }, + ], + "onClick": { # Represents the response to an `onClick` event. # This callback is reused by each individual grid item, but with the item's identifier and index in the items list added to the callback's parameters. + "action": { # An action that describes the behavior when the form is submitted. For example, an Apps Script can be invoked to handle the form. # If specified, an action is triggered by this `onClick`. + "function": "A String", # Apps Script function to invoke when the containing element is clicked/activated. + "loadIndicator": "A String", # Specifies the loading indicator that the action displays while making the call to the action. + "parameters": [ # List of action parameters. + { # List of string parameters to supply when the action method is invoked. For example, consider three snooze buttons: snooze now, snooze 1 day, snooze next week. You might use action method = snooze(), passing the snooze type and snooze time in the list of string parameters. + "key": "A String", # The name of the parameter for the action script. + "value": "A String", # The value of the parameter. + }, + ], + "persistValues": True or False, # Indicates whether form values persist after the action. The default value is `false`. If `true`, form values remain after the action is triggered. When using [LoadIndicator.NONE](workspace/add-ons/reference/rpc/google.apps.card.v1#loadindicator) for actions, `persist_values` = `true`is recommended, as it ensures that any changes made by the user after form or on change actions are sent to the server are not overwritten by the response. If `false`, the form values are cleared when the action is triggered. When `persist_values` is set to `false`, it is strongly recommended that the card use [LoadIndicator.SPINNER](workspace/add-ons/reference/rpc/google.apps.card.v1#loadindicator) for all actions, as this locks the UI to ensure no changes are made by the user while the action is being processed. Not supported by Google Chat apps. + }, + "card": # Object with schema name: GoogleAppsCardV1Card # A new card is pushed to the card stack after clicking if specified. + "openDynamicLinkAction": { # An action that describes the behavior when the form is submitted. For example, an Apps Script can be invoked to handle the form. # An add-on triggers this action when the action needs to open a link. This differs from the `open_link` above in that this needs to talk to server to get the link. Thus some preparation work is required for web client to do before the open link action response comes back. + "function": "A String", # Apps Script function to invoke when the containing element is clicked/activated. + "loadIndicator": "A String", # Specifies the loading indicator that the action displays while making the call to the action. + "parameters": [ # List of action parameters. + { # List of string parameters to supply when the action method is invoked. For example, consider three snooze buttons: snooze now, snooze 1 day, snooze next week. You might use action method = snooze(), passing the snooze type and snooze time in the list of string parameters. + "key": "A String", # The name of the parameter for the action script. + "value": "A String", # The value of the parameter. + }, + ], + "persistValues": True or False, # Indicates whether form values persist after the action. The default value is `false`. If `true`, form values remain after the action is triggered. When using [LoadIndicator.NONE](workspace/add-ons/reference/rpc/google.apps.card.v1#loadindicator) for actions, `persist_values` = `true`is recommended, as it ensures that any changes made by the user after form or on change actions are sent to the server are not overwritten by the response. If `false`, the form values are cleared when the action is triggered. When `persist_values` is set to `false`, it is strongly recommended that the card use [LoadIndicator.SPINNER](workspace/add-ons/reference/rpc/google.apps.card.v1#loadindicator) for all actions, as this locks the UI to ensure no changes are made by the user while the action is being processed. Not supported by Google Chat apps. + }, + "openLink": { # Represents an `onClick` event that opens a hyperlink. # If specified, this `onClick` triggers an open link action. + "onClose": "A String", # Whether the client forgets about a link after opening it, or observes it until the window closes. Not supported by Chat apps. + "openAs": "A String", # How to open a link. Not supported by Chat apps. + "url": "A String", # The URL to open. + }, + }, + "title": "A String", # The text that displays in the grid header. + }, + "horizontalAlignment": "A String", # The horizontal alignment of this widget. + "image": { # An image that is specified by a URL and can have an `onClick` action. # Displays an image in this widget. For example, the following JSON creates an image with alternative text: ``` "image": { "imageUrl": "https://example.com/sasha.png" "altText": "Avatar for Sasha" } ``` + "altText": "A String", # The alternative text of this image, used for accessibility. + "imageUrl": "A String", # An image URL. + "onClick": { # Represents the response to an `onClick` event. # The action triggered by an `onClick` event. + "action": { # An action that describes the behavior when the form is submitted. For example, an Apps Script can be invoked to handle the form. # If specified, an action is triggered by this `onClick`. + "function": "A String", # Apps Script function to invoke when the containing element is clicked/activated. + "loadIndicator": "A String", # Specifies the loading indicator that the action displays while making the call to the action. + "parameters": [ # List of action parameters. + { # List of string parameters to supply when the action method is invoked. For example, consider three snooze buttons: snooze now, snooze 1 day, snooze next week. You might use action method = snooze(), passing the snooze type and snooze time in the list of string parameters. + "key": "A String", # The name of the parameter for the action script. + "value": "A String", # The value of the parameter. + }, + ], + "persistValues": True or False, # Indicates whether form values persist after the action. The default value is `false`. If `true`, form values remain after the action is triggered. When using [LoadIndicator.NONE](workspace/add-ons/reference/rpc/google.apps.card.v1#loadindicator) for actions, `persist_values` = `true`is recommended, as it ensures that any changes made by the user after form or on change actions are sent to the server are not overwritten by the response. If `false`, the form values are cleared when the action is triggered. When `persist_values` is set to `false`, it is strongly recommended that the card use [LoadIndicator.SPINNER](workspace/add-ons/reference/rpc/google.apps.card.v1#loadindicator) for all actions, as this locks the UI to ensure no changes are made by the user while the action is being processed. Not supported by Google Chat apps. + }, + "card": # Object with schema name: GoogleAppsCardV1Card # A new card is pushed to the card stack after clicking if specified. + "openDynamicLinkAction": { # An action that describes the behavior when the form is submitted. For example, an Apps Script can be invoked to handle the form. # An add-on triggers this action when the action needs to open a link. This differs from the `open_link` above in that this needs to talk to server to get the link. Thus some preparation work is required for web client to do before the open link action response comes back. + "function": "A String", # Apps Script function to invoke when the containing element is clicked/activated. + "loadIndicator": "A String", # Specifies the loading indicator that the action displays while making the call to the action. + "parameters": [ # List of action parameters. + { # List of string parameters to supply when the action method is invoked. For example, consider three snooze buttons: snooze now, snooze 1 day, snooze next week. You might use action method = snooze(), passing the snooze type and snooze time in the list of string parameters. + "key": "A String", # The name of the parameter for the action script. + "value": "A String", # The value of the parameter. + }, + ], + "persistValues": True or False, # Indicates whether form values persist after the action. The default value is `false`. If `true`, form values remain after the action is triggered. When using [LoadIndicator.NONE](workspace/add-ons/reference/rpc/google.apps.card.v1#loadindicator) for actions, `persist_values` = `true`is recommended, as it ensures that any changes made by the user after form or on change actions are sent to the server are not overwritten by the response. If `false`, the form values are cleared when the action is triggered. When `persist_values` is set to `false`, it is strongly recommended that the card use [LoadIndicator.SPINNER](workspace/add-ons/reference/rpc/google.apps.card.v1#loadindicator) for all actions, as this locks the UI to ensure no changes are made by the user while the action is being processed. Not supported by Google Chat apps. + }, + "openLink": { # Represents an `onClick` event that opens a hyperlink. # If specified, this `onClick` triggers an open link action. + "onClose": "A String", # Whether the client forgets about a link after opening it, or observes it until the window closes. Not supported by Chat apps. + "openAs": "A String", # How to open a link. Not supported by Chat apps. + "url": "A String", # The URL to open. + }, + }, + }, + "selectionInput": { # A widget that creates a UI item with options for users to select. For example, a dropdown menu. # Displays a switch control in this widget. For example, the following JSON creates a dropdown selection for size: ``` "switchControl": { "name": "size", "label": "Size" "type": "SelectionType.DROPDOWN", "items": [ { "text": "S", "value": "small", "selected": false }, { "text": "M", "value": "medium", "selected": true }, { "text": "L", "value": "large", "selected": false }, { "text": "XL", "value": "extra_large", "selected": false } ] } ``` + "items": [ # An array of the selected items. + { # A selectable item in the switch control. + "selected": True or False, # If more than one item is selected for `RADIO_BUTTON` and `DROPDOWN`, the first selected item is treated as selected and the ones after are ignored. + "text": "A String", # The text to be displayed. + "value": "A String", # The value associated with this item. The client should use this as a form input value. + }, + ], + "label": "A String", # The label displayed ahead of the switch control. + "name": "A String", # The name of the text input which is used in `formInput`. + "onChangeAction": { # An action that describes the behavior when the form is submitted. For example, an Apps Script can be invoked to handle the form. # If specified, the form is submitted when the selection changes. If not specified, you must specify a separate button. + "function": "A String", # Apps Script function to invoke when the containing element is clicked/activated. + "loadIndicator": "A String", # Specifies the loading indicator that the action displays while making the call to the action. + "parameters": [ # List of action parameters. + { # List of string parameters to supply when the action method is invoked. For example, consider three snooze buttons: snooze now, snooze 1 day, snooze next week. You might use action method = snooze(), passing the snooze type and snooze time in the list of string parameters. + "key": "A String", # The name of the parameter for the action script. + "value": "A String", # The value of the parameter. + }, + ], + "persistValues": True or False, # Indicates whether form values persist after the action. The default value is `false`. If `true`, form values remain after the action is triggered. When using [LoadIndicator.NONE](workspace/add-ons/reference/rpc/google.apps.card.v1#loadindicator) for actions, `persist_values` = `true`is recommended, as it ensures that any changes made by the user after form or on change actions are sent to the server are not overwritten by the response. If `false`, the form values are cleared when the action is triggered. When `persist_values` is set to `false`, it is strongly recommended that the card use [LoadIndicator.SPINNER](workspace/add-ons/reference/rpc/google.apps.card.v1#loadindicator) for all actions, as this locks the UI to ensure no changes are made by the user while the action is being processed. Not supported by Google Chat apps. + }, + "type": "A String", # The type of the selection. + }, + "textInput": { # A text input is a UI item where users can input text. A text input can also have an onChange action and suggestions. # Displays a text input in this widget. For example, the following JSON creates a text input for mail address: ``` "textInput": { "name": "mailing_address", "label": "Mailing Address" } ``` As another example, the following JSON creates a text input for programming language with static suggestions: ``` "textInput": { "name": "preferred_programing_language", "label": "Preferred Language", "initialSuggestions": { "items": [ { "text": "C++" }, { "text": "Java" }, { "text": "JavaScript" }, { "text": "Python" } ] } } ``` + "autoCompleteAction": { # An action that describes the behavior when the form is submitted. For example, an Apps Script can be invoked to handle the form. # The refresh function that returns suggestions based on the user's input text. If the callback is not specified, autocomplete is done in client side based on the initial suggestion items. + "function": "A String", # Apps Script function to invoke when the containing element is clicked/activated. + "loadIndicator": "A String", # Specifies the loading indicator that the action displays while making the call to the action. + "parameters": [ # List of action parameters. + { # List of string parameters to supply when the action method is invoked. For example, consider three snooze buttons: snooze now, snooze 1 day, snooze next week. You might use action method = snooze(), passing the snooze type and snooze time in the list of string parameters. + "key": "A String", # The name of the parameter for the action script. + "value": "A String", # The value of the parameter. + }, + ], + "persistValues": True or False, # Indicates whether form values persist after the action. The default value is `false`. If `true`, form values remain after the action is triggered. When using [LoadIndicator.NONE](workspace/add-ons/reference/rpc/google.apps.card.v1#loadindicator) for actions, `persist_values` = `true`is recommended, as it ensures that any changes made by the user after form or on change actions are sent to the server are not overwritten by the response. If `false`, the form values are cleared when the action is triggered. When `persist_values` is set to `false`, it is strongly recommended that the card use [LoadIndicator.SPINNER](workspace/add-ons/reference/rpc/google.apps.card.v1#loadindicator) for all actions, as this locks the UI to ensure no changes are made by the user while the action is being processed. Not supported by Google Chat apps. + }, + "hintText": "A String", # The hint text. + "initialSuggestions": { # A container wrapping elements necessary for showing suggestion items used in text input autocomplete. # The initial suggestions made before any user input. + "items": [ # A list of suggestions used for autocomplete recommendations. + { # A suggestion item. + "text": "A String", # The suggested autocomplete result. + }, + ], + }, + "label": "A String", # At least one of label and hintText must be specified. + "name": "A String", # The name of the text input which is used in `formInput`. + "onChangeAction": { # An action that describes the behavior when the form is submitted. For example, an Apps Script can be invoked to handle the form. # The onChange action, for example, invoke a function. + "function": "A String", # Apps Script function to invoke when the containing element is clicked/activated. + "loadIndicator": "A String", # Specifies the loading indicator that the action displays while making the call to the action. + "parameters": [ # List of action parameters. + { # List of string parameters to supply when the action method is invoked. For example, consider three snooze buttons: snooze now, snooze 1 day, snooze next week. You might use action method = snooze(), passing the snooze type and snooze time in the list of string parameters. + "key": "A String", # The name of the parameter for the action script. + "value": "A String", # The value of the parameter. + }, + ], + "persistValues": True or False, # Indicates whether form values persist after the action. The default value is `false`. If `true`, form values remain after the action is triggered. When using [LoadIndicator.NONE](workspace/add-ons/reference/rpc/google.apps.card.v1#loadindicator) for actions, `persist_values` = `true`is recommended, as it ensures that any changes made by the user after form or on change actions are sent to the server are not overwritten by the response. If `false`, the form values are cleared when the action is triggered. When `persist_values` is set to `false`, it is strongly recommended that the card use [LoadIndicator.SPINNER](workspace/add-ons/reference/rpc/google.apps.card.v1#loadindicator) for all actions, as this locks the UI to ensure no changes are made by the user while the action is being processed. Not supported by Google Chat apps. + }, + "type": "A String", # The style of the text, for example, a single line or multiple lines. + "value": "A String", # The default value when there is no input from the user. + }, + "textParagraph": { # A paragraph of text that supports formatting. See [Text formatting](workspace/add-ons/concepts/widgets#text_formatting) for details. # Displays a text paragraph in this widget. For example, the following JSON creates a bolded text: ``` "textParagraph": { "text": " *bold text*" } ``` + "text": "A String", # The text that's shown in the widget. + }, + }, + ], + }, + ], + }, + "cardId": "A String", # Required for `cardsV2` messages. Chat app-specified identifier for this widget. Scoped within a message. }, ], "createTime": "A String", # Output only. The time at which the message was created in Google Chat server. @@ -2444,8 +4018,12 @@

Method Details

"displayName": "A String", # The space's display name. For direct messages between humans, this field might be empty. "name": "A String", # Resource name of the space. Format: spaces/{space} "singleUserBotDm": True or False, # Output only. Whether the space is a DM between a Chat app and a single human. + "spaceDetails": { # Details about the space including description and rules. # Details about the space including description and rules. + "description": "A String", # Optional. A description of the space. It could describe the space's discussion topic, functional purpose, or participants. + "guidelines": "A String", # Optional. The space's rules, expectations, and etiquette. + }, "threaded": True or False, # Output only. Whether messages are threaded in this space. - "type": "A String", # Output only. Deprecated: Use `single_user_bot_dm` or `space_type` (developer preview) instead. The type of a space. + "type": "A String", # Output only. Deprecated: Use `singleUserBotDm` or `spaceType` (developer preview) instead. The type of a space. }, "text": "A String", # Plain-text body of the message. The first link to an image, video, web page, or other preview-able item generates a preview chip. "thread": { # A thread in Google Chat. # The thread the message belongs to. @@ -3200,6 +4778,528 @@

Method Details

], }, ], + "cardsV2": [ # Richly formatted and interactive cards that display UI elements and editable widgets, such as: - Formatted text - Buttons - Clickable images - Checkboxes - Radio buttons - Input widgets. Cards are usually displayed below the text-body of a Chat message, but can situationally appear other places, such as [dialogs](https://developers.google.com/chat/how-tos/dialogs). The `cardId` is a unique identifier among cards in the same message and for identifying user input values. Currently supported widgets include: - `TextParagraph` - `DecoratedText` - `Image` - `ButtonList` + { # Widgets for Chat apps to specify. + "card": { # A card is a UI element that can contain UI widgets such as text and images. For more information, see Cards . For example, the following JSON creates a card that has a header with the name, position, icons, and link for a contact, followed by a section with contact information like email and phone number. ``` { "header": { "title": "Sasha", "subtitle": "Software Engineer", "imageStyle": "ImageStyle.AVATAR", "imageUrl": "https://example.com/sasha.png", "imageAltText": "Avatar for Sasha" }, "sections" : [ { "header": "Contact Info", "widgets": [ { "decorated_text": { "icon": { "knownIcon": "EMAIL" }, "content": "sasha@example.com" } }, { "decoratedText": { "icon": { "knownIcon": "PERSON" }, "content": "Online" } }, { "decoratedText": { "icon": { "knownIcon": "PHONE" }, "content": "+1 (555) 555-1234" } }, { "buttons": [ { "textButton": { "text": "Share", }, "onClick": { "openLink": { "url": "https://example.com/share" } } }, { "textButton": { "text": "Edit", }, "onClick": { "action": { "function": "goToView", "parameters": [ { "key": "viewType", "value": "EDIT" } ], "loadIndicator": "LoadIndicator.SPINNER" } } } ] } ], "collapsible": true, "uncollapsibleWidgetsCount": 3 } ], "cardActions": [ { "actionLabel": "Send Feedback", "onClick": { "openLink": { "url": "https://example.com/feedback" } } } ], "name": "contact-card-K3wB6arF2H9L" } ``` # Card proto that allows Chat apps to specify UI elements and editable widgets. + "cardActions": [ # The card's actions. Actions are added to the card's generated toolbar menu. For example, the following JSON constructs a card action menu with Settings and Send Feedback options: ``` "card_actions": [ { "actionLabel": "Settings", "onClick": { "action": { "functionName": "goToView", "parameters": [ { "key": "viewType", "value": "SETTING" } ], "loadIndicator": "LoadIndicator.SPINNER" } } }, { "actionLabel": "Send Feedback", "onClick": { "openLink": { "url": "https://example.com/feedback" } } } ] ``` + { # A card action is the action associated with the card. For example, an invoice card might include actions such as delete invoice, email invoice, or open the invoice in a browser. + "actionLabel": "A String", # The label that displays as the action menu item. + "onClick": { # Represents the response to an `onClick` event. # The `onClick` action for this action item. + "action": { # An action that describes the behavior when the form is submitted. For example, an Apps Script can be invoked to handle the form. # If specified, an action is triggered by this `onClick`. + "function": "A String", # Apps Script function to invoke when the containing element is clicked/activated. + "loadIndicator": "A String", # Specifies the loading indicator that the action displays while making the call to the action. + "parameters": [ # List of action parameters. + { # List of string parameters to supply when the action method is invoked. For example, consider three snooze buttons: snooze now, snooze 1 day, snooze next week. You might use action method = snooze(), passing the snooze type and snooze time in the list of string parameters. + "key": "A String", # The name of the parameter for the action script. + "value": "A String", # The value of the parameter. + }, + ], + "persistValues": True or False, # Indicates whether form values persist after the action. The default value is `false`. If `true`, form values remain after the action is triggered. When using [LoadIndicator.NONE](workspace/add-ons/reference/rpc/google.apps.card.v1#loadindicator) for actions, `persist_values` = `true`is recommended, as it ensures that any changes made by the user after form or on change actions are sent to the server are not overwritten by the response. If `false`, the form values are cleared when the action is triggered. When `persist_values` is set to `false`, it is strongly recommended that the card use [LoadIndicator.SPINNER](workspace/add-ons/reference/rpc/google.apps.card.v1#loadindicator) for all actions, as this locks the UI to ensure no changes are made by the user while the action is being processed. Not supported by Google Chat apps. + }, + "card": # Object with schema name: GoogleAppsCardV1Card # A new card is pushed to the card stack after clicking if specified. + "openDynamicLinkAction": { # An action that describes the behavior when the form is submitted. For example, an Apps Script can be invoked to handle the form. # An add-on triggers this action when the action needs to open a link. This differs from the `open_link` above in that this needs to talk to server to get the link. Thus some preparation work is required for web client to do before the open link action response comes back. + "function": "A String", # Apps Script function to invoke when the containing element is clicked/activated. + "loadIndicator": "A String", # Specifies the loading indicator that the action displays while making the call to the action. + "parameters": [ # List of action parameters. + { # List of string parameters to supply when the action method is invoked. For example, consider three snooze buttons: snooze now, snooze 1 day, snooze next week. You might use action method = snooze(), passing the snooze type and snooze time in the list of string parameters. + "key": "A String", # The name of the parameter for the action script. + "value": "A String", # The value of the parameter. + }, + ], + "persistValues": True or False, # Indicates whether form values persist after the action. The default value is `false`. If `true`, form values remain after the action is triggered. When using [LoadIndicator.NONE](workspace/add-ons/reference/rpc/google.apps.card.v1#loadindicator) for actions, `persist_values` = `true`is recommended, as it ensures that any changes made by the user after form or on change actions are sent to the server are not overwritten by the response. If `false`, the form values are cleared when the action is triggered. When `persist_values` is set to `false`, it is strongly recommended that the card use [LoadIndicator.SPINNER](workspace/add-ons/reference/rpc/google.apps.card.v1#loadindicator) for all actions, as this locks the UI to ensure no changes are made by the user while the action is being processed. Not supported by Google Chat apps. + }, + "openLink": { # Represents an `onClick` event that opens a hyperlink. # If specified, this `onClick` triggers an open link action. + "onClose": "A String", # Whether the client forgets about a link after opening it, or observes it until the window closes. Not supported by Chat apps. + "openAs": "A String", # How to open a link. Not supported by Chat apps. + "url": "A String", # The URL to open. + }, + }, + }, + ], + "displayStyle": "A String", # The `peekCardHeader` display style for. Not supported by Google Chat apps. + "fixedFooter": { # A persistent (sticky) footer that is added to the bottom of the card. # The fixed footer shown at the bottom of this card. + "primaryButton": { # A button. Can be a text button or an image button. # The primary button of the fixed footer. The button must be a text button with text and color set. + "altText": "A String", # The alternative text used for accessibility. Has no effect when an icon is set; use `icon.alt_text` instead. + "color": { # Represents a color in the RGBA color space. This representation is designed for simplicity of conversion to/from color representations in various languages over compactness. For example, the fields of this representation can be trivially provided to the constructor of `java.awt.Color` in Java; it can also be trivially provided to UIColor's `+colorWithRed:green:blue:alpha` method in iOS; and, with just a little work, it can be easily formatted into a CSS `rgba()` string in JavaScript. This reference page doesn't carry information about the absolute color space that should be used to interpret the RGB value (e.g. sRGB, Adobe RGB, DCI-P3, BT.2020, etc.). By default, applications should assume the sRGB color space. When color equality needs to be decided, implementations, unless documented otherwise, treat two colors as equal if all their red, green, blue, and alpha values each differ by at most 1e-5. Example (Java): import com.google.type.Color; // ... public static java.awt.Color fromProto(Color protocolor) { float alpha = protocolor.hasAlpha() ? protocolor.getAlpha().getValue() : 1.0; return new java.awt.Color( protocolor.getRed(), protocolor.getGreen(), protocolor.getBlue(), alpha); } public static Color toProto(java.awt.Color color) { float red = (float) color.getRed(); float green = (float) color.getGreen(); float blue = (float) color.getBlue(); float denominator = 255.0; Color.Builder resultBuilder = Color .newBuilder() .setRed(red / denominator) .setGreen(green / denominator) .setBlue(blue / denominator); int alpha = color.getAlpha(); if (alpha != 255) { result.setAlpha( FloatValue .newBuilder() .setValue(((float) alpha) / denominator) .build()); } return resultBuilder.build(); } // ... Example (iOS / Obj-C): // ... static UIColor* fromProto(Color* protocolor) { float red = [protocolor red]; float green = [protocolor green]; float blue = [protocolor blue]; FloatValue* alpha_wrapper = [protocolor alpha]; float alpha = 1.0; if (alpha_wrapper != nil) { alpha = [alpha_wrapper value]; } return [UIColor colorWithRed:red green:green blue:blue alpha:alpha]; } static Color* toProto(UIColor* color) { CGFloat red, green, blue, alpha; if (![color getRed:&red green:&green blue:&blue alpha:&alpha]) { return nil; } Color* result = [[Color alloc] init]; [result setRed:red]; [result setGreen:green]; [result setBlue:blue]; if (alpha <= 0.9999) { [result setAlpha:floatWrapperWithValue(alpha)]; } [result autorelease]; return result; } // ... Example (JavaScript): // ... var protoToCssColor = function(rgb_color) { var redFrac = rgb_color.red || 0.0; var greenFrac = rgb_color.green || 0.0; var blueFrac = rgb_color.blue || 0.0; var red = Math.floor(redFrac * 255); var green = Math.floor(greenFrac * 255); var blue = Math.floor(blueFrac * 255); if (!('alpha' in rgb_color)) { return rgbToCssColor(red, green, blue); } var alphaFrac = rgb_color.alpha.value || 0.0; var rgbParams = [red, green, blue].join(','); return ['rgba(', rgbParams, ',', alphaFrac, ')'].join(''); }; var rgbToCssColor = function(red, green, blue) { var rgbNumber = new Number((red << 16) | (green << 8) | blue); var hexString = rgbNumber.toString(16); var missingZeros = 6 - hexString.length; var resultBuilder = ['#']; for (var i = 0; i < missingZeros; i++) { resultBuilder.push('0'); } resultBuilder.push(hexString); return resultBuilder.join(''); }; // ... # If set, the button is filled with a solid background. + "alpha": 3.14, # The fraction of this color that should be applied to the pixel. That is, the final pixel color is defined by the equation: `pixel color = alpha * (this color) + (1.0 - alpha) * (background color)` This means that a value of 1.0 corresponds to a solid color, whereas a value of 0.0 corresponds to a completely transparent color. This uses a wrapper message rather than a simple float scalar so that it is possible to distinguish between a default value and the value being unset. If omitted, this color object is rendered as a solid color (as if the alpha value had been explicitly given a value of 1.0). + "blue": 3.14, # The amount of blue in the color as a value in the interval [0, 1]. + "green": 3.14, # The amount of green in the color as a value in the interval [0, 1]. + "red": 3.14, # The amount of red in the color as a value in the interval [0, 1]. + }, + "disabled": True or False, # If `true`, the button is displayed in a disabled state and doesn't respond to user actions. + "icon": { # The icon image. + "altText": "A String", # The description of the icon, used for accessibility. The default value is provided if you don't specify one. + "iconUrl": "A String", # The icon specified by a URL. + "imageType": "A String", # The crop style applied to the image. In some cases, applying a `CIRCLE` crop causes the image to be drawn larger than a standard icon. + "knownIcon": "A String", # The icon specified by the string name of a list of known icons. + }, + "onClick": { # Represents the response to an `onClick` event. # The action to perform when the button is clicked. + "action": { # An action that describes the behavior when the form is submitted. For example, an Apps Script can be invoked to handle the form. # If specified, an action is triggered by this `onClick`. + "function": "A String", # Apps Script function to invoke when the containing element is clicked/activated. + "loadIndicator": "A String", # Specifies the loading indicator that the action displays while making the call to the action. + "parameters": [ # List of action parameters. + { # List of string parameters to supply when the action method is invoked. For example, consider three snooze buttons: snooze now, snooze 1 day, snooze next week. You might use action method = snooze(), passing the snooze type and snooze time in the list of string parameters. + "key": "A String", # The name of the parameter for the action script. + "value": "A String", # The value of the parameter. + }, + ], + "persistValues": True or False, # Indicates whether form values persist after the action. The default value is `false`. If `true`, form values remain after the action is triggered. When using [LoadIndicator.NONE](workspace/add-ons/reference/rpc/google.apps.card.v1#loadindicator) for actions, `persist_values` = `true`is recommended, as it ensures that any changes made by the user after form or on change actions are sent to the server are not overwritten by the response. If `false`, the form values are cleared when the action is triggered. When `persist_values` is set to `false`, it is strongly recommended that the card use [LoadIndicator.SPINNER](workspace/add-ons/reference/rpc/google.apps.card.v1#loadindicator) for all actions, as this locks the UI to ensure no changes are made by the user while the action is being processed. Not supported by Google Chat apps. + }, + "card": # Object with schema name: GoogleAppsCardV1Card # A new card is pushed to the card stack after clicking if specified. + "openDynamicLinkAction": { # An action that describes the behavior when the form is submitted. For example, an Apps Script can be invoked to handle the form. # An add-on triggers this action when the action needs to open a link. This differs from the `open_link` above in that this needs to talk to server to get the link. Thus some preparation work is required for web client to do before the open link action response comes back. + "function": "A String", # Apps Script function to invoke when the containing element is clicked/activated. + "loadIndicator": "A String", # Specifies the loading indicator that the action displays while making the call to the action. + "parameters": [ # List of action parameters. + { # List of string parameters to supply when the action method is invoked. For example, consider three snooze buttons: snooze now, snooze 1 day, snooze next week. You might use action method = snooze(), passing the snooze type and snooze time in the list of string parameters. + "key": "A String", # The name of the parameter for the action script. + "value": "A String", # The value of the parameter. + }, + ], + "persistValues": True or False, # Indicates whether form values persist after the action. The default value is `false`. If `true`, form values remain after the action is triggered. When using [LoadIndicator.NONE](workspace/add-ons/reference/rpc/google.apps.card.v1#loadindicator) for actions, `persist_values` = `true`is recommended, as it ensures that any changes made by the user after form or on change actions are sent to the server are not overwritten by the response. If `false`, the form values are cleared when the action is triggered. When `persist_values` is set to `false`, it is strongly recommended that the card use [LoadIndicator.SPINNER](workspace/add-ons/reference/rpc/google.apps.card.v1#loadindicator) for all actions, as this locks the UI to ensure no changes are made by the user while the action is being processed. Not supported by Google Chat apps. + }, + "openLink": { # Represents an `onClick` event that opens a hyperlink. # If specified, this `onClick` triggers an open link action. + "onClose": "A String", # Whether the client forgets about a link after opening it, or observes it until the window closes. Not supported by Chat apps. + "openAs": "A String", # How to open a link. Not supported by Chat apps. + "url": "A String", # The URL to open. + }, + }, + "text": "A String", # The text of the button. + }, + "secondaryButton": { # A button. Can be a text button or an image button. # The secondary button of the fixed footer. The button must be a text button with text and color set. `primaryButton` must be set if `secondaryButton` is set. + "altText": "A String", # The alternative text used for accessibility. Has no effect when an icon is set; use `icon.alt_text` instead. + "color": { # Represents a color in the RGBA color space. This representation is designed for simplicity of conversion to/from color representations in various languages over compactness. For example, the fields of this representation can be trivially provided to the constructor of `java.awt.Color` in Java; it can also be trivially provided to UIColor's `+colorWithRed:green:blue:alpha` method in iOS; and, with just a little work, it can be easily formatted into a CSS `rgba()` string in JavaScript. This reference page doesn't carry information about the absolute color space that should be used to interpret the RGB value (e.g. sRGB, Adobe RGB, DCI-P3, BT.2020, etc.). By default, applications should assume the sRGB color space. When color equality needs to be decided, implementations, unless documented otherwise, treat two colors as equal if all their red, green, blue, and alpha values each differ by at most 1e-5. Example (Java): import com.google.type.Color; // ... public static java.awt.Color fromProto(Color protocolor) { float alpha = protocolor.hasAlpha() ? protocolor.getAlpha().getValue() : 1.0; return new java.awt.Color( protocolor.getRed(), protocolor.getGreen(), protocolor.getBlue(), alpha); } public static Color toProto(java.awt.Color color) { float red = (float) color.getRed(); float green = (float) color.getGreen(); float blue = (float) color.getBlue(); float denominator = 255.0; Color.Builder resultBuilder = Color .newBuilder() .setRed(red / denominator) .setGreen(green / denominator) .setBlue(blue / denominator); int alpha = color.getAlpha(); if (alpha != 255) { result.setAlpha( FloatValue .newBuilder() .setValue(((float) alpha) / denominator) .build()); } return resultBuilder.build(); } // ... Example (iOS / Obj-C): // ... static UIColor* fromProto(Color* protocolor) { float red = [protocolor red]; float green = [protocolor green]; float blue = [protocolor blue]; FloatValue* alpha_wrapper = [protocolor alpha]; float alpha = 1.0; if (alpha_wrapper != nil) { alpha = [alpha_wrapper value]; } return [UIColor colorWithRed:red green:green blue:blue alpha:alpha]; } static Color* toProto(UIColor* color) { CGFloat red, green, blue, alpha; if (![color getRed:&red green:&green blue:&blue alpha:&alpha]) { return nil; } Color* result = [[Color alloc] init]; [result setRed:red]; [result setGreen:green]; [result setBlue:blue]; if (alpha <= 0.9999) { [result setAlpha:floatWrapperWithValue(alpha)]; } [result autorelease]; return result; } // ... Example (JavaScript): // ... var protoToCssColor = function(rgb_color) { var redFrac = rgb_color.red || 0.0; var greenFrac = rgb_color.green || 0.0; var blueFrac = rgb_color.blue || 0.0; var red = Math.floor(redFrac * 255); var green = Math.floor(greenFrac * 255); var blue = Math.floor(blueFrac * 255); if (!('alpha' in rgb_color)) { return rgbToCssColor(red, green, blue); } var alphaFrac = rgb_color.alpha.value || 0.0; var rgbParams = [red, green, blue].join(','); return ['rgba(', rgbParams, ',', alphaFrac, ')'].join(''); }; var rgbToCssColor = function(red, green, blue) { var rgbNumber = new Number((red << 16) | (green << 8) | blue); var hexString = rgbNumber.toString(16); var missingZeros = 6 - hexString.length; var resultBuilder = ['#']; for (var i = 0; i < missingZeros; i++) { resultBuilder.push('0'); } resultBuilder.push(hexString); return resultBuilder.join(''); }; // ... # If set, the button is filled with a solid background. + "alpha": 3.14, # The fraction of this color that should be applied to the pixel. That is, the final pixel color is defined by the equation: `pixel color = alpha * (this color) + (1.0 - alpha) * (background color)` This means that a value of 1.0 corresponds to a solid color, whereas a value of 0.0 corresponds to a completely transparent color. This uses a wrapper message rather than a simple float scalar so that it is possible to distinguish between a default value and the value being unset. If omitted, this color object is rendered as a solid color (as if the alpha value had been explicitly given a value of 1.0). + "blue": 3.14, # The amount of blue in the color as a value in the interval [0, 1]. + "green": 3.14, # The amount of green in the color as a value in the interval [0, 1]. + "red": 3.14, # The amount of red in the color as a value in the interval [0, 1]. + }, + "disabled": True or False, # If `true`, the button is displayed in a disabled state and doesn't respond to user actions. + "icon": { # The icon image. + "altText": "A String", # The description of the icon, used for accessibility. The default value is provided if you don't specify one. + "iconUrl": "A String", # The icon specified by a URL. + "imageType": "A String", # The crop style applied to the image. In some cases, applying a `CIRCLE` crop causes the image to be drawn larger than a standard icon. + "knownIcon": "A String", # The icon specified by the string name of a list of known icons. + }, + "onClick": { # Represents the response to an `onClick` event. # The action to perform when the button is clicked. + "action": { # An action that describes the behavior when the form is submitted. For example, an Apps Script can be invoked to handle the form. # If specified, an action is triggered by this `onClick`. + "function": "A String", # Apps Script function to invoke when the containing element is clicked/activated. + "loadIndicator": "A String", # Specifies the loading indicator that the action displays while making the call to the action. + "parameters": [ # List of action parameters. + { # List of string parameters to supply when the action method is invoked. For example, consider three snooze buttons: snooze now, snooze 1 day, snooze next week. You might use action method = snooze(), passing the snooze type and snooze time in the list of string parameters. + "key": "A String", # The name of the parameter for the action script. + "value": "A String", # The value of the parameter. + }, + ], + "persistValues": True or False, # Indicates whether form values persist after the action. The default value is `false`. If `true`, form values remain after the action is triggered. When using [LoadIndicator.NONE](workspace/add-ons/reference/rpc/google.apps.card.v1#loadindicator) for actions, `persist_values` = `true`is recommended, as it ensures that any changes made by the user after form or on change actions are sent to the server are not overwritten by the response. If `false`, the form values are cleared when the action is triggered. When `persist_values` is set to `false`, it is strongly recommended that the card use [LoadIndicator.SPINNER](workspace/add-ons/reference/rpc/google.apps.card.v1#loadindicator) for all actions, as this locks the UI to ensure no changes are made by the user while the action is being processed. Not supported by Google Chat apps. + }, + "card": # Object with schema name: GoogleAppsCardV1Card # A new card is pushed to the card stack after clicking if specified. + "openDynamicLinkAction": { # An action that describes the behavior when the form is submitted. For example, an Apps Script can be invoked to handle the form. # An add-on triggers this action when the action needs to open a link. This differs from the `open_link` above in that this needs to talk to server to get the link. Thus some preparation work is required for web client to do before the open link action response comes back. + "function": "A String", # Apps Script function to invoke when the containing element is clicked/activated. + "loadIndicator": "A String", # Specifies the loading indicator that the action displays while making the call to the action. + "parameters": [ # List of action parameters. + { # List of string parameters to supply when the action method is invoked. For example, consider three snooze buttons: snooze now, snooze 1 day, snooze next week. You might use action method = snooze(), passing the snooze type and snooze time in the list of string parameters. + "key": "A String", # The name of the parameter for the action script. + "value": "A String", # The value of the parameter. + }, + ], + "persistValues": True or False, # Indicates whether form values persist after the action. The default value is `false`. If `true`, form values remain after the action is triggered. When using [LoadIndicator.NONE](workspace/add-ons/reference/rpc/google.apps.card.v1#loadindicator) for actions, `persist_values` = `true`is recommended, as it ensures that any changes made by the user after form or on change actions are sent to the server are not overwritten by the response. If `false`, the form values are cleared when the action is triggered. When `persist_values` is set to `false`, it is strongly recommended that the card use [LoadIndicator.SPINNER](workspace/add-ons/reference/rpc/google.apps.card.v1#loadindicator) for all actions, as this locks the UI to ensure no changes are made by the user while the action is being processed. Not supported by Google Chat apps. + }, + "openLink": { # Represents an `onClick` event that opens a hyperlink. # If specified, this `onClick` triggers an open link action. + "onClose": "A String", # Whether the client forgets about a link after opening it, or observes it until the window closes. Not supported by Chat apps. + "openAs": "A String", # How to open a link. Not supported by Chat apps. + "url": "A String", # The URL to open. + }, + }, + "text": "A String", # The text of the button. + }, + }, + "header": { # Represents a card header. # The header of the card. A header usually contains a title and an image. + "imageAltText": "A String", # The alternative text of this image which is used for accessibility. + "imageType": "A String", # The image's type. + "imageUrl": "A String", # The URL of the image in the card header. + "subtitle": "A String", # The subtitle of the card header. + "title": "A String", # Required. The title of the card header. The header has a fixed height: if both a title and subtitle are specified, each takes up one line. If only the title is specified, it takes up both lines. + }, + "name": "A String", # Name of the card. Used as a card identifier in card navigation. + "peekCardHeader": { # Represents a card header. # When displaying contextual content, the peek card header acts as a placeholder so that the user can navigate forward between the homepage cards and the contextual cards. Not supported by Google Chat apps. + "imageAltText": "A String", # The alternative text of this image which is used for accessibility. + "imageType": "A String", # The image's type. + "imageUrl": "A String", # The URL of the image in the card header. + "subtitle": "A String", # The subtitle of the card header. + "title": "A String", # Required. The title of the card header. The header has a fixed height: if both a title and subtitle are specified, each takes up one line. If only the title is specified, it takes up both lines. + }, + "sections": [ # Sections are separated by a line divider. + { # A section contains a collection of widgets that are rendered vertically in the order that they are specified. Across all platforms, cards have a narrow fixed width, so there is currently no need for layout properties, for example, float. + "collapsible": True or False, # Indicates whether this section is collapsible. If a section is collapsible, the description must be given. + "header": "A String", # The header of the section. Formatted text is supported. + "uncollapsibleWidgetsCount": 42, # The number of uncollapsible widgets. For example, when a section contains five widgets and the `uncollapsibleWidgetsCount` is set to `2`, the first two widgets are always shown and the last three are collapsed as default. The `uncollapsibleWidgetsCount` is taken into account only when `collapsible` is `true`. + "widgets": [ # A section must contain at least 1 widget. + { # A widget is a UI element that presents texts, images, etc. + "buttonList": { # A list of buttons layed out horizontally. # A list of buttons. For example, the following JSON creates two buttons. The first is a filled text button and the second is an image button that opens a link: ``` "buttonList": { "buttons": [ "button": { "text": "Edit", "Color": { "Red": 255 "Green": 255 "Blue": 255 } "disabled": true }, "button": { "icon": { "knownIcon": "INVITE" "altText": "check calendar" }, "onClick": { "openLink": { "url": "https://example.com/calendar" } } }, ] } ``` + "buttons": [ # An array of buttons. + { # A button. Can be a text button or an image button. + "altText": "A String", # The alternative text used for accessibility. Has no effect when an icon is set; use `icon.alt_text` instead. + "color": { # Represents a color in the RGBA color space. This representation is designed for simplicity of conversion to/from color representations in various languages over compactness. For example, the fields of this representation can be trivially provided to the constructor of `java.awt.Color` in Java; it can also be trivially provided to UIColor's `+colorWithRed:green:blue:alpha` method in iOS; and, with just a little work, it can be easily formatted into a CSS `rgba()` string in JavaScript. This reference page doesn't carry information about the absolute color space that should be used to interpret the RGB value (e.g. sRGB, Adobe RGB, DCI-P3, BT.2020, etc.). By default, applications should assume the sRGB color space. When color equality needs to be decided, implementations, unless documented otherwise, treat two colors as equal if all their red, green, blue, and alpha values each differ by at most 1e-5. Example (Java): import com.google.type.Color; // ... public static java.awt.Color fromProto(Color protocolor) { float alpha = protocolor.hasAlpha() ? protocolor.getAlpha().getValue() : 1.0; return new java.awt.Color( protocolor.getRed(), protocolor.getGreen(), protocolor.getBlue(), alpha); } public static Color toProto(java.awt.Color color) { float red = (float) color.getRed(); float green = (float) color.getGreen(); float blue = (float) color.getBlue(); float denominator = 255.0; Color.Builder resultBuilder = Color .newBuilder() .setRed(red / denominator) .setGreen(green / denominator) .setBlue(blue / denominator); int alpha = color.getAlpha(); if (alpha != 255) { result.setAlpha( FloatValue .newBuilder() .setValue(((float) alpha) / denominator) .build()); } return resultBuilder.build(); } // ... Example (iOS / Obj-C): // ... static UIColor* fromProto(Color* protocolor) { float red = [protocolor red]; float green = [protocolor green]; float blue = [protocolor blue]; FloatValue* alpha_wrapper = [protocolor alpha]; float alpha = 1.0; if (alpha_wrapper != nil) { alpha = [alpha_wrapper value]; } return [UIColor colorWithRed:red green:green blue:blue alpha:alpha]; } static Color* toProto(UIColor* color) { CGFloat red, green, blue, alpha; if (![color getRed:&red green:&green blue:&blue alpha:&alpha]) { return nil; } Color* result = [[Color alloc] init]; [result setRed:red]; [result setGreen:green]; [result setBlue:blue]; if (alpha <= 0.9999) { [result setAlpha:floatWrapperWithValue(alpha)]; } [result autorelease]; return result; } // ... Example (JavaScript): // ... var protoToCssColor = function(rgb_color) { var redFrac = rgb_color.red || 0.0; var greenFrac = rgb_color.green || 0.0; var blueFrac = rgb_color.blue || 0.0; var red = Math.floor(redFrac * 255); var green = Math.floor(greenFrac * 255); var blue = Math.floor(blueFrac * 255); if (!('alpha' in rgb_color)) { return rgbToCssColor(red, green, blue); } var alphaFrac = rgb_color.alpha.value || 0.0; var rgbParams = [red, green, blue].join(','); return ['rgba(', rgbParams, ',', alphaFrac, ')'].join(''); }; var rgbToCssColor = function(red, green, blue) { var rgbNumber = new Number((red << 16) | (green << 8) | blue); var hexString = rgbNumber.toString(16); var missingZeros = 6 - hexString.length; var resultBuilder = ['#']; for (var i = 0; i < missingZeros; i++) { resultBuilder.push('0'); } resultBuilder.push(hexString); return resultBuilder.join(''); }; // ... # If set, the button is filled with a solid background. + "alpha": 3.14, # The fraction of this color that should be applied to the pixel. That is, the final pixel color is defined by the equation: `pixel color = alpha * (this color) + (1.0 - alpha) * (background color)` This means that a value of 1.0 corresponds to a solid color, whereas a value of 0.0 corresponds to a completely transparent color. This uses a wrapper message rather than a simple float scalar so that it is possible to distinguish between a default value and the value being unset. If omitted, this color object is rendered as a solid color (as if the alpha value had been explicitly given a value of 1.0). + "blue": 3.14, # The amount of blue in the color as a value in the interval [0, 1]. + "green": 3.14, # The amount of green in the color as a value in the interval [0, 1]. + "red": 3.14, # The amount of red in the color as a value in the interval [0, 1]. + }, + "disabled": True or False, # If `true`, the button is displayed in a disabled state and doesn't respond to user actions. + "icon": { # The icon image. + "altText": "A String", # The description of the icon, used for accessibility. The default value is provided if you don't specify one. + "iconUrl": "A String", # The icon specified by a URL. + "imageType": "A String", # The crop style applied to the image. In some cases, applying a `CIRCLE` crop causes the image to be drawn larger than a standard icon. + "knownIcon": "A String", # The icon specified by the string name of a list of known icons. + }, + "onClick": { # Represents the response to an `onClick` event. # The action to perform when the button is clicked. + "action": { # An action that describes the behavior when the form is submitted. For example, an Apps Script can be invoked to handle the form. # If specified, an action is triggered by this `onClick`. + "function": "A String", # Apps Script function to invoke when the containing element is clicked/activated. + "loadIndicator": "A String", # Specifies the loading indicator that the action displays while making the call to the action. + "parameters": [ # List of action parameters. + { # List of string parameters to supply when the action method is invoked. For example, consider three snooze buttons: snooze now, snooze 1 day, snooze next week. You might use action method = snooze(), passing the snooze type and snooze time in the list of string parameters. + "key": "A String", # The name of the parameter for the action script. + "value": "A String", # The value of the parameter. + }, + ], + "persistValues": True or False, # Indicates whether form values persist after the action. The default value is `false`. If `true`, form values remain after the action is triggered. When using [LoadIndicator.NONE](workspace/add-ons/reference/rpc/google.apps.card.v1#loadindicator) for actions, `persist_values` = `true`is recommended, as it ensures that any changes made by the user after form or on change actions are sent to the server are not overwritten by the response. If `false`, the form values are cleared when the action is triggered. When `persist_values` is set to `false`, it is strongly recommended that the card use [LoadIndicator.SPINNER](workspace/add-ons/reference/rpc/google.apps.card.v1#loadindicator) for all actions, as this locks the UI to ensure no changes are made by the user while the action is being processed. Not supported by Google Chat apps. + }, + "card": # Object with schema name: GoogleAppsCardV1Card # A new card is pushed to the card stack after clicking if specified. + "openDynamicLinkAction": { # An action that describes the behavior when the form is submitted. For example, an Apps Script can be invoked to handle the form. # An add-on triggers this action when the action needs to open a link. This differs from the `open_link` above in that this needs to talk to server to get the link. Thus some preparation work is required for web client to do before the open link action response comes back. + "function": "A String", # Apps Script function to invoke when the containing element is clicked/activated. + "loadIndicator": "A String", # Specifies the loading indicator that the action displays while making the call to the action. + "parameters": [ # List of action parameters. + { # List of string parameters to supply when the action method is invoked. For example, consider three snooze buttons: snooze now, snooze 1 day, snooze next week. You might use action method = snooze(), passing the snooze type and snooze time in the list of string parameters. + "key": "A String", # The name of the parameter for the action script. + "value": "A String", # The value of the parameter. + }, + ], + "persistValues": True or False, # Indicates whether form values persist after the action. The default value is `false`. If `true`, form values remain after the action is triggered. When using [LoadIndicator.NONE](workspace/add-ons/reference/rpc/google.apps.card.v1#loadindicator) for actions, `persist_values` = `true`is recommended, as it ensures that any changes made by the user after form or on change actions are sent to the server are not overwritten by the response. If `false`, the form values are cleared when the action is triggered. When `persist_values` is set to `false`, it is strongly recommended that the card use [LoadIndicator.SPINNER](workspace/add-ons/reference/rpc/google.apps.card.v1#loadindicator) for all actions, as this locks the UI to ensure no changes are made by the user while the action is being processed. Not supported by Google Chat apps. + }, + "openLink": { # Represents an `onClick` event that opens a hyperlink. # If specified, this `onClick` triggers an open link action. + "onClose": "A String", # Whether the client forgets about a link after opening it, or observes it until the window closes. Not supported by Chat apps. + "openAs": "A String", # How to open a link. Not supported by Chat apps. + "url": "A String", # The URL to open. + }, + }, + "text": "A String", # The text of the button. + }, + ], + }, + "dateTimePicker": { # The widget that lets users to specify a date and time. Not supported by Google Chat apps. # Displays a selection/input widget for date/time. For example, the following JSON creates a date/time picker for an appointment time: ``` "date_time_picker": { "name": "appointment_time", "label": "Book your appointment at:", "type": "DateTimePickerType.DATE_AND_TIME", "valueMsEpoch": "796435200000" } ``` + "label": "A String", # The label for the field that displays to the user. + "name": "A String", # The name of the text input that's used in `formInput`, and uniquely identifies this input. + "onChangeAction": { # An action that describes the behavior when the form is submitted. For example, an Apps Script can be invoked to handle the form. # Triggered when the user clicks Save or Clear from the date/time picker dialog. This is only triggered if the value changed as a result of the Save/Clear operation. + "function": "A String", # Apps Script function to invoke when the containing element is clicked/activated. + "loadIndicator": "A String", # Specifies the loading indicator that the action displays while making the call to the action. + "parameters": [ # List of action parameters. + { # List of string parameters to supply when the action method is invoked. For example, consider three snooze buttons: snooze now, snooze 1 day, snooze next week. You might use action method = snooze(), passing the snooze type and snooze time in the list of string parameters. + "key": "A String", # The name of the parameter for the action script. + "value": "A String", # The value of the parameter. + }, + ], + "persistValues": True or False, # Indicates whether form values persist after the action. The default value is `false`. If `true`, form values remain after the action is triggered. When using [LoadIndicator.NONE](workspace/add-ons/reference/rpc/google.apps.card.v1#loadindicator) for actions, `persist_values` = `true`is recommended, as it ensures that any changes made by the user after form or on change actions are sent to the server are not overwritten by the response. If `false`, the form values are cleared when the action is triggered. When `persist_values` is set to `false`, it is strongly recommended that the card use [LoadIndicator.SPINNER](workspace/add-ons/reference/rpc/google.apps.card.v1#loadindicator) for all actions, as this locks the UI to ensure no changes are made by the user while the action is being processed. Not supported by Google Chat apps. + }, + "timezoneOffsetDate": 42, # The number representing the time zone offset from UTC, in minutes. If set, the `value_ms_epoch` is displayed in the specified time zone. If not set, it uses the user's time zone setting on the client side. + "type": "A String", # The type of the date/time picker. + "valueMsEpoch": "A String", # The value to display as the default value before user input or previous user input. It is represented in milliseconds (Epoch time). For `DATE_AND_TIME` type, the full epoch value is used. For `DATE_ONLY` type, only date of the epoch time is used. For `TIME_ONLY` type, only time of the epoch time is used. For example, you can set epoch time to `3 * 60 * 60 * 1000` to represent 3am. + }, + "decoratedText": { # A widget that displays text with optional decorations such as a label above or below the text, an icon in front of the text, a selection widget or a button after the text. # Displays a decorated text item in this widget. For example, the following JSON creates a decorated text widget showing email address: ``` "decoratedText": { "icon": { "knownIcon": "EMAIL" }, "topLabel": "Email Address", "content": "sasha@example.com", "bottomLabel": "This is a new Email address!", "switchWidget": { "name": "has_send_welcome_email_to_sasha", "selected": false, "controlType": "ControlType.CHECKBOX" } } ``` + "bottomLabel": "A String", # The formatted text label that shows below the main text. + "button": { # A button. Can be a text button or an image button. # A button that can be clicked to trigger an action. + "altText": "A String", # The alternative text used for accessibility. Has no effect when an icon is set; use `icon.alt_text` instead. + "color": { # Represents a color in the RGBA color space. This representation is designed for simplicity of conversion to/from color representations in various languages over compactness. For example, the fields of this representation can be trivially provided to the constructor of `java.awt.Color` in Java; it can also be trivially provided to UIColor's `+colorWithRed:green:blue:alpha` method in iOS; and, with just a little work, it can be easily formatted into a CSS `rgba()` string in JavaScript. This reference page doesn't carry information about the absolute color space that should be used to interpret the RGB value (e.g. sRGB, Adobe RGB, DCI-P3, BT.2020, etc.). By default, applications should assume the sRGB color space. When color equality needs to be decided, implementations, unless documented otherwise, treat two colors as equal if all their red, green, blue, and alpha values each differ by at most 1e-5. Example (Java): import com.google.type.Color; // ... public static java.awt.Color fromProto(Color protocolor) { float alpha = protocolor.hasAlpha() ? protocolor.getAlpha().getValue() : 1.0; return new java.awt.Color( protocolor.getRed(), protocolor.getGreen(), protocolor.getBlue(), alpha); } public static Color toProto(java.awt.Color color) { float red = (float) color.getRed(); float green = (float) color.getGreen(); float blue = (float) color.getBlue(); float denominator = 255.0; Color.Builder resultBuilder = Color .newBuilder() .setRed(red / denominator) .setGreen(green / denominator) .setBlue(blue / denominator); int alpha = color.getAlpha(); if (alpha != 255) { result.setAlpha( FloatValue .newBuilder() .setValue(((float) alpha) / denominator) .build()); } return resultBuilder.build(); } // ... Example (iOS / Obj-C): // ... static UIColor* fromProto(Color* protocolor) { float red = [protocolor red]; float green = [protocolor green]; float blue = [protocolor blue]; FloatValue* alpha_wrapper = [protocolor alpha]; float alpha = 1.0; if (alpha_wrapper != nil) { alpha = [alpha_wrapper value]; } return [UIColor colorWithRed:red green:green blue:blue alpha:alpha]; } static Color* toProto(UIColor* color) { CGFloat red, green, blue, alpha; if (![color getRed:&red green:&green blue:&blue alpha:&alpha]) { return nil; } Color* result = [[Color alloc] init]; [result setRed:red]; [result setGreen:green]; [result setBlue:blue]; if (alpha <= 0.9999) { [result setAlpha:floatWrapperWithValue(alpha)]; } [result autorelease]; return result; } // ... Example (JavaScript): // ... var protoToCssColor = function(rgb_color) { var redFrac = rgb_color.red || 0.0; var greenFrac = rgb_color.green || 0.0; var blueFrac = rgb_color.blue || 0.0; var red = Math.floor(redFrac * 255); var green = Math.floor(greenFrac * 255); var blue = Math.floor(blueFrac * 255); if (!('alpha' in rgb_color)) { return rgbToCssColor(red, green, blue); } var alphaFrac = rgb_color.alpha.value || 0.0; var rgbParams = [red, green, blue].join(','); return ['rgba(', rgbParams, ',', alphaFrac, ')'].join(''); }; var rgbToCssColor = function(red, green, blue) { var rgbNumber = new Number((red << 16) | (green << 8) | blue); var hexString = rgbNumber.toString(16); var missingZeros = 6 - hexString.length; var resultBuilder = ['#']; for (var i = 0; i < missingZeros; i++) { resultBuilder.push('0'); } resultBuilder.push(hexString); return resultBuilder.join(''); }; // ... # If set, the button is filled with a solid background. + "alpha": 3.14, # The fraction of this color that should be applied to the pixel. That is, the final pixel color is defined by the equation: `pixel color = alpha * (this color) + (1.0 - alpha) * (background color)` This means that a value of 1.0 corresponds to a solid color, whereas a value of 0.0 corresponds to a completely transparent color. This uses a wrapper message rather than a simple float scalar so that it is possible to distinguish between a default value and the value being unset. If omitted, this color object is rendered as a solid color (as if the alpha value had been explicitly given a value of 1.0). + "blue": 3.14, # The amount of blue in the color as a value in the interval [0, 1]. + "green": 3.14, # The amount of green in the color as a value in the interval [0, 1]. + "red": 3.14, # The amount of red in the color as a value in the interval [0, 1]. + }, + "disabled": True or False, # If `true`, the button is displayed in a disabled state and doesn't respond to user actions. + "icon": { # The icon image. + "altText": "A String", # The description of the icon, used for accessibility. The default value is provided if you don't specify one. + "iconUrl": "A String", # The icon specified by a URL. + "imageType": "A String", # The crop style applied to the image. In some cases, applying a `CIRCLE` crop causes the image to be drawn larger than a standard icon. + "knownIcon": "A String", # The icon specified by the string name of a list of known icons. + }, + "onClick": { # Represents the response to an `onClick` event. # The action to perform when the button is clicked. + "action": { # An action that describes the behavior when the form is submitted. For example, an Apps Script can be invoked to handle the form. # If specified, an action is triggered by this `onClick`. + "function": "A String", # Apps Script function to invoke when the containing element is clicked/activated. + "loadIndicator": "A String", # Specifies the loading indicator that the action displays while making the call to the action. + "parameters": [ # List of action parameters. + { # List of string parameters to supply when the action method is invoked. For example, consider three snooze buttons: snooze now, snooze 1 day, snooze next week. You might use action method = snooze(), passing the snooze type and snooze time in the list of string parameters. + "key": "A String", # The name of the parameter for the action script. + "value": "A String", # The value of the parameter. + }, + ], + "persistValues": True or False, # Indicates whether form values persist after the action. The default value is `false`. If `true`, form values remain after the action is triggered. When using [LoadIndicator.NONE](workspace/add-ons/reference/rpc/google.apps.card.v1#loadindicator) for actions, `persist_values` = `true`is recommended, as it ensures that any changes made by the user after form or on change actions are sent to the server are not overwritten by the response. If `false`, the form values are cleared when the action is triggered. When `persist_values` is set to `false`, it is strongly recommended that the card use [LoadIndicator.SPINNER](workspace/add-ons/reference/rpc/google.apps.card.v1#loadindicator) for all actions, as this locks the UI to ensure no changes are made by the user while the action is being processed. Not supported by Google Chat apps. + }, + "card": # Object with schema name: GoogleAppsCardV1Card # A new card is pushed to the card stack after clicking if specified. + "openDynamicLinkAction": { # An action that describes the behavior when the form is submitted. For example, an Apps Script can be invoked to handle the form. # An add-on triggers this action when the action needs to open a link. This differs from the `open_link` above in that this needs to talk to server to get the link. Thus some preparation work is required for web client to do before the open link action response comes back. + "function": "A String", # Apps Script function to invoke when the containing element is clicked/activated. + "loadIndicator": "A String", # Specifies the loading indicator that the action displays while making the call to the action. + "parameters": [ # List of action parameters. + { # List of string parameters to supply when the action method is invoked. For example, consider three snooze buttons: snooze now, snooze 1 day, snooze next week. You might use action method = snooze(), passing the snooze type and snooze time in the list of string parameters. + "key": "A String", # The name of the parameter for the action script. + "value": "A String", # The value of the parameter. + }, + ], + "persistValues": True or False, # Indicates whether form values persist after the action. The default value is `false`. If `true`, form values remain after the action is triggered. When using [LoadIndicator.NONE](workspace/add-ons/reference/rpc/google.apps.card.v1#loadindicator) for actions, `persist_values` = `true`is recommended, as it ensures that any changes made by the user after form or on change actions are sent to the server are not overwritten by the response. If `false`, the form values are cleared when the action is triggered. When `persist_values` is set to `false`, it is strongly recommended that the card use [LoadIndicator.SPINNER](workspace/add-ons/reference/rpc/google.apps.card.v1#loadindicator) for all actions, as this locks the UI to ensure no changes are made by the user while the action is being processed. Not supported by Google Chat apps. + }, + "openLink": { # Represents an `onClick` event that opens a hyperlink. # If specified, this `onClick` triggers an open link action. + "onClose": "A String", # Whether the client forgets about a link after opening it, or observes it until the window closes. Not supported by Chat apps. + "openAs": "A String", # How to open a link. Not supported by Chat apps. + "url": "A String", # The URL to open. + }, + }, + "text": "A String", # The text of the button. + }, + "endIcon": { # An icon displayed after the text. + "altText": "A String", # The description of the icon, used for accessibility. The default value is provided if you don't specify one. + "iconUrl": "A String", # The icon specified by a URL. + "imageType": "A String", # The crop style applied to the image. In some cases, applying a `CIRCLE` crop causes the image to be drawn larger than a standard icon. + "knownIcon": "A String", # The icon specified by the string name of a list of known icons. + }, + "icon": { # Deprecated in favor of start_icon. + "altText": "A String", # The description of the icon, used for accessibility. The default value is provided if you don't specify one. + "iconUrl": "A String", # The icon specified by a URL. + "imageType": "A String", # The crop style applied to the image. In some cases, applying a `CIRCLE` crop causes the image to be drawn larger than a standard icon. + "knownIcon": "A String", # The icon specified by the string name of a list of known icons. + }, + "onClick": { # Represents the response to an `onClick` event. # Only the top and bottom label and content region are clickable. + "action": { # An action that describes the behavior when the form is submitted. For example, an Apps Script can be invoked to handle the form. # If specified, an action is triggered by this `onClick`. + "function": "A String", # Apps Script function to invoke when the containing element is clicked/activated. + "loadIndicator": "A String", # Specifies the loading indicator that the action displays while making the call to the action. + "parameters": [ # List of action parameters. + { # List of string parameters to supply when the action method is invoked. For example, consider three snooze buttons: snooze now, snooze 1 day, snooze next week. You might use action method = snooze(), passing the snooze type and snooze time in the list of string parameters. + "key": "A String", # The name of the parameter for the action script. + "value": "A String", # The value of the parameter. + }, + ], + "persistValues": True or False, # Indicates whether form values persist after the action. The default value is `false`. If `true`, form values remain after the action is triggered. When using [LoadIndicator.NONE](workspace/add-ons/reference/rpc/google.apps.card.v1#loadindicator) for actions, `persist_values` = `true`is recommended, as it ensures that any changes made by the user after form or on change actions are sent to the server are not overwritten by the response. If `false`, the form values are cleared when the action is triggered. When `persist_values` is set to `false`, it is strongly recommended that the card use [LoadIndicator.SPINNER](workspace/add-ons/reference/rpc/google.apps.card.v1#loadindicator) for all actions, as this locks the UI to ensure no changes are made by the user while the action is being processed. Not supported by Google Chat apps. + }, + "card": # Object with schema name: GoogleAppsCardV1Card # A new card is pushed to the card stack after clicking if specified. + "openDynamicLinkAction": { # An action that describes the behavior when the form is submitted. For example, an Apps Script can be invoked to handle the form. # An add-on triggers this action when the action needs to open a link. This differs from the `open_link` above in that this needs to talk to server to get the link. Thus some preparation work is required for web client to do before the open link action response comes back. + "function": "A String", # Apps Script function to invoke when the containing element is clicked/activated. + "loadIndicator": "A String", # Specifies the loading indicator that the action displays while making the call to the action. + "parameters": [ # List of action parameters. + { # List of string parameters to supply when the action method is invoked. For example, consider three snooze buttons: snooze now, snooze 1 day, snooze next week. You might use action method = snooze(), passing the snooze type and snooze time in the list of string parameters. + "key": "A String", # The name of the parameter for the action script. + "value": "A String", # The value of the parameter. + }, + ], + "persistValues": True or False, # Indicates whether form values persist after the action. The default value is `false`. If `true`, form values remain after the action is triggered. When using [LoadIndicator.NONE](workspace/add-ons/reference/rpc/google.apps.card.v1#loadindicator) for actions, `persist_values` = `true`is recommended, as it ensures that any changes made by the user after form or on change actions are sent to the server are not overwritten by the response. If `false`, the form values are cleared when the action is triggered. When `persist_values` is set to `false`, it is strongly recommended that the card use [LoadIndicator.SPINNER](workspace/add-ons/reference/rpc/google.apps.card.v1#loadindicator) for all actions, as this locks the UI to ensure no changes are made by the user while the action is being processed. Not supported by Google Chat apps. + }, + "openLink": { # Represents an `onClick` event that opens a hyperlink. # If specified, this `onClick` triggers an open link action. + "onClose": "A String", # Whether the client forgets about a link after opening it, or observes it until the window closes. Not supported by Chat apps. + "openAs": "A String", # How to open a link. Not supported by Chat apps. + "url": "A String", # The URL to open. + }, + }, + "startIcon": { # The icon displayed in front of the text. + "altText": "A String", # The description of the icon, used for accessibility. The default value is provided if you don't specify one. + "iconUrl": "A String", # The icon specified by a URL. + "imageType": "A String", # The crop style applied to the image. In some cases, applying a `CIRCLE` crop causes the image to be drawn larger than a standard icon. + "knownIcon": "A String", # The icon specified by the string name of a list of known icons. + }, + "switchControl": { # Either a toggle-style switch or a checkbox. # A switch widget can be clicked to change its state or trigger an action. + "controlType": "A String", # The control type, either switch or checkbox. + "name": "A String", # The name of the switch widget that's used in `formInput`. + "onChangeAction": { # An action that describes the behavior when the form is submitted. For example, an Apps Script can be invoked to handle the form. # The action when the switch state is changed. + "function": "A String", # Apps Script function to invoke when the containing element is clicked/activated. + "loadIndicator": "A String", # Specifies the loading indicator that the action displays while making the call to the action. + "parameters": [ # List of action parameters. + { # List of string parameters to supply when the action method is invoked. For example, consider three snooze buttons: snooze now, snooze 1 day, snooze next week. You might use action method = snooze(), passing the snooze type and snooze time in the list of string parameters. + "key": "A String", # The name of the parameter for the action script. + "value": "A String", # The value of the parameter. + }, + ], + "persistValues": True or False, # Indicates whether form values persist after the action. The default value is `false`. If `true`, form values remain after the action is triggered. When using [LoadIndicator.NONE](workspace/add-ons/reference/rpc/google.apps.card.v1#loadindicator) for actions, `persist_values` = `true`is recommended, as it ensures that any changes made by the user after form or on change actions are sent to the server are not overwritten by the response. If `false`, the form values are cleared when the action is triggered. When `persist_values` is set to `false`, it is strongly recommended that the card use [LoadIndicator.SPINNER](workspace/add-ons/reference/rpc/google.apps.card.v1#loadindicator) for all actions, as this locks the UI to ensure no changes are made by the user while the action is being processed. Not supported by Google Chat apps. + }, + "selected": True or False, # If the switch is selected. + "value": "A String", # The value is what is passed back in the callback. + }, + "text": "A String", # Required. The main widget formatted text. See Text formatting for details. + "topLabel": "A String", # The formatted text label that shows above the main text. + "wrapText": True or False, # The wrap text setting. If `true`, the text is wrapped and displayed in multiline. Otherwise, the text is truncated. + }, + "divider": { # A divider that appears in between widgets. # Displays a divider. For example, the following JSON creates a divider: ``` "divider": { } ``` + }, + "grid": { # Represents a Grid widget that displays items in a configurable grid layout. # Displays a grid with a collection of items. For example, the following JSON creates a 2 column grid with a single item: ``` "grid": { "title": "A fine collection of items", "numColumns": 2, "borderStyle": { "type": "STROKE", "cornerRadius": 4.0 }, "items": [ "image": { "imageUri": "https://www.example.com/image.png", "cropStyle": { "type": "SQUARE" }, "borderStyle": { "type": "STROKE" } }, "title": "An item", "textAlignment": "CENTER" ], "onClick": { "openLink": { "url":"https://www.example.com" } } } ``` + "borderStyle": { # Represents the complete border style applied to widgets. # The border style to apply to each grid item. + "cornerRadius": 42, # The corner radius for the border. + "strokeColor": { # Represents a color in the RGBA color space. This representation is designed for simplicity of conversion to/from color representations in various languages over compactness. For example, the fields of this representation can be trivially provided to the constructor of `java.awt.Color` in Java; it can also be trivially provided to UIColor's `+colorWithRed:green:blue:alpha` method in iOS; and, with just a little work, it can be easily formatted into a CSS `rgba()` string in JavaScript. This reference page doesn't carry information about the absolute color space that should be used to interpret the RGB value (e.g. sRGB, Adobe RGB, DCI-P3, BT.2020, etc.). By default, applications should assume the sRGB color space. When color equality needs to be decided, implementations, unless documented otherwise, treat two colors as equal if all their red, green, blue, and alpha values each differ by at most 1e-5. Example (Java): import com.google.type.Color; // ... public static java.awt.Color fromProto(Color protocolor) { float alpha = protocolor.hasAlpha() ? protocolor.getAlpha().getValue() : 1.0; return new java.awt.Color( protocolor.getRed(), protocolor.getGreen(), protocolor.getBlue(), alpha); } public static Color toProto(java.awt.Color color) { float red = (float) color.getRed(); float green = (float) color.getGreen(); float blue = (float) color.getBlue(); float denominator = 255.0; Color.Builder resultBuilder = Color .newBuilder() .setRed(red / denominator) .setGreen(green / denominator) .setBlue(blue / denominator); int alpha = color.getAlpha(); if (alpha != 255) { result.setAlpha( FloatValue .newBuilder() .setValue(((float) alpha) / denominator) .build()); } return resultBuilder.build(); } // ... Example (iOS / Obj-C): // ... static UIColor* fromProto(Color* protocolor) { float red = [protocolor red]; float green = [protocolor green]; float blue = [protocolor blue]; FloatValue* alpha_wrapper = [protocolor alpha]; float alpha = 1.0; if (alpha_wrapper != nil) { alpha = [alpha_wrapper value]; } return [UIColor colorWithRed:red green:green blue:blue alpha:alpha]; } static Color* toProto(UIColor* color) { CGFloat red, green, blue, alpha; if (![color getRed:&red green:&green blue:&blue alpha:&alpha]) { return nil; } Color* result = [[Color alloc] init]; [result setRed:red]; [result setGreen:green]; [result setBlue:blue]; if (alpha <= 0.9999) { [result setAlpha:floatWrapperWithValue(alpha)]; } [result autorelease]; return result; } // ... Example (JavaScript): // ... var protoToCssColor = function(rgb_color) { var redFrac = rgb_color.red || 0.0; var greenFrac = rgb_color.green || 0.0; var blueFrac = rgb_color.blue || 0.0; var red = Math.floor(redFrac * 255); var green = Math.floor(greenFrac * 255); var blue = Math.floor(blueFrac * 255); if (!('alpha' in rgb_color)) { return rgbToCssColor(red, green, blue); } var alphaFrac = rgb_color.alpha.value || 0.0; var rgbParams = [red, green, blue].join(','); return ['rgba(', rgbParams, ',', alphaFrac, ')'].join(''); }; var rgbToCssColor = function(red, green, blue) { var rgbNumber = new Number((red << 16) | (green << 8) | blue); var hexString = rgbNumber.toString(16); var missingZeros = 6 - hexString.length; var resultBuilder = ['#']; for (var i = 0; i < missingZeros; i++) { resultBuilder.push('0'); } resultBuilder.push(hexString); return resultBuilder.join(''); }; // ... # The colors to use when the type is `BORDER_TYPE_STROKE`. + "alpha": 3.14, # The fraction of this color that should be applied to the pixel. That is, the final pixel color is defined by the equation: `pixel color = alpha * (this color) + (1.0 - alpha) * (background color)` This means that a value of 1.0 corresponds to a solid color, whereas a value of 0.0 corresponds to a completely transparent color. This uses a wrapper message rather than a simple float scalar so that it is possible to distinguish between a default value and the value being unset. If omitted, this color object is rendered as a solid color (as if the alpha value had been explicitly given a value of 1.0). + "blue": 3.14, # The amount of blue in the color as a value in the interval [0, 1]. + "green": 3.14, # The amount of green in the color as a value in the interval [0, 1]. + "red": 3.14, # The amount of red in the color as a value in the interval [0, 1]. + }, + "type": "A String", # The border type. + }, + "columnCount": 42, # The number of columns to display in the grid. A default value is used if this field isn't specified, and that default value is different depending on where the grid is shown (dialog versus companion). + "items": [ # The items to display in the grid. + { # Represents a single item in the grid layout. + "id": "A String", # A user-specified identifier for this grid item. This identifier is returned in the parent Grid's onClick callback parameters. + "image": { # Represents an image. # The image that displays in the grid item. + "altText": "A String", # The accessibility label for the image. + "borderStyle": { # Represents the complete border style applied to widgets. # The border style to apply to the image. + "cornerRadius": 42, # The corner radius for the border. + "strokeColor": { # Represents a color in the RGBA color space. This representation is designed for simplicity of conversion to/from color representations in various languages over compactness. For example, the fields of this representation can be trivially provided to the constructor of `java.awt.Color` in Java; it can also be trivially provided to UIColor's `+colorWithRed:green:blue:alpha` method in iOS; and, with just a little work, it can be easily formatted into a CSS `rgba()` string in JavaScript. This reference page doesn't carry information about the absolute color space that should be used to interpret the RGB value (e.g. sRGB, Adobe RGB, DCI-P3, BT.2020, etc.). By default, applications should assume the sRGB color space. When color equality needs to be decided, implementations, unless documented otherwise, treat two colors as equal if all their red, green, blue, and alpha values each differ by at most 1e-5. Example (Java): import com.google.type.Color; // ... public static java.awt.Color fromProto(Color protocolor) { float alpha = protocolor.hasAlpha() ? protocolor.getAlpha().getValue() : 1.0; return new java.awt.Color( protocolor.getRed(), protocolor.getGreen(), protocolor.getBlue(), alpha); } public static Color toProto(java.awt.Color color) { float red = (float) color.getRed(); float green = (float) color.getGreen(); float blue = (float) color.getBlue(); float denominator = 255.0; Color.Builder resultBuilder = Color .newBuilder() .setRed(red / denominator) .setGreen(green / denominator) .setBlue(blue / denominator); int alpha = color.getAlpha(); if (alpha != 255) { result.setAlpha( FloatValue .newBuilder() .setValue(((float) alpha) / denominator) .build()); } return resultBuilder.build(); } // ... Example (iOS / Obj-C): // ... static UIColor* fromProto(Color* protocolor) { float red = [protocolor red]; float green = [protocolor green]; float blue = [protocolor blue]; FloatValue* alpha_wrapper = [protocolor alpha]; float alpha = 1.0; if (alpha_wrapper != nil) { alpha = [alpha_wrapper value]; } return [UIColor colorWithRed:red green:green blue:blue alpha:alpha]; } static Color* toProto(UIColor* color) { CGFloat red, green, blue, alpha; if (![color getRed:&red green:&green blue:&blue alpha:&alpha]) { return nil; } Color* result = [[Color alloc] init]; [result setRed:red]; [result setGreen:green]; [result setBlue:blue]; if (alpha <= 0.9999) { [result setAlpha:floatWrapperWithValue(alpha)]; } [result autorelease]; return result; } // ... Example (JavaScript): // ... var protoToCssColor = function(rgb_color) { var redFrac = rgb_color.red || 0.0; var greenFrac = rgb_color.green || 0.0; var blueFrac = rgb_color.blue || 0.0; var red = Math.floor(redFrac * 255); var green = Math.floor(greenFrac * 255); var blue = Math.floor(blueFrac * 255); if (!('alpha' in rgb_color)) { return rgbToCssColor(red, green, blue); } var alphaFrac = rgb_color.alpha.value || 0.0; var rgbParams = [red, green, blue].join(','); return ['rgba(', rgbParams, ',', alphaFrac, ')'].join(''); }; var rgbToCssColor = function(red, green, blue) { var rgbNumber = new Number((red << 16) | (green << 8) | blue); var hexString = rgbNumber.toString(16); var missingZeros = 6 - hexString.length; var resultBuilder = ['#']; for (var i = 0; i < missingZeros; i++) { resultBuilder.push('0'); } resultBuilder.push(hexString); return resultBuilder.join(''); }; // ... # The colors to use when the type is `BORDER_TYPE_STROKE`. + "alpha": 3.14, # The fraction of this color that should be applied to the pixel. That is, the final pixel color is defined by the equation: `pixel color = alpha * (this color) + (1.0 - alpha) * (background color)` This means that a value of 1.0 corresponds to a solid color, whereas a value of 0.0 corresponds to a completely transparent color. This uses a wrapper message rather than a simple float scalar so that it is possible to distinguish between a default value and the value being unset. If omitted, this color object is rendered as a solid color (as if the alpha value had been explicitly given a value of 1.0). + "blue": 3.14, # The amount of blue in the color as a value in the interval [0, 1]. + "green": 3.14, # The amount of green in the color as a value in the interval [0, 1]. + "red": 3.14, # The amount of red in the color as a value in the interval [0, 1]. + }, + "type": "A String", # The border type. + }, + "cropStyle": { # Represents the crop style applied to an image. # The crop style to apply to the image. + "aspectRatio": 3.14, # The aspect ratio to use if the crop type is `RECTANGLE_CUSTOM`. + "type": "A String", # The crop type. + }, + "imageUri": "A String", # The image URL. + }, + "layout": "A String", # The layout to use for the grid item. + "subtitle": "A String", # The grid item's subtitle. + "textAlignment": "A String", # The horizontal alignment of the grid item's text. + "title": "A String", # The grid item's title. + }, + ], + "onClick": { # Represents the response to an `onClick` event. # This callback is reused by each individual grid item, but with the item's identifier and index in the items list added to the callback's parameters. + "action": { # An action that describes the behavior when the form is submitted. For example, an Apps Script can be invoked to handle the form. # If specified, an action is triggered by this `onClick`. + "function": "A String", # Apps Script function to invoke when the containing element is clicked/activated. + "loadIndicator": "A String", # Specifies the loading indicator that the action displays while making the call to the action. + "parameters": [ # List of action parameters. + { # List of string parameters to supply when the action method is invoked. For example, consider three snooze buttons: snooze now, snooze 1 day, snooze next week. You might use action method = snooze(), passing the snooze type and snooze time in the list of string parameters. + "key": "A String", # The name of the parameter for the action script. + "value": "A String", # The value of the parameter. + }, + ], + "persistValues": True or False, # Indicates whether form values persist after the action. The default value is `false`. If `true`, form values remain after the action is triggered. When using [LoadIndicator.NONE](workspace/add-ons/reference/rpc/google.apps.card.v1#loadindicator) for actions, `persist_values` = `true`is recommended, as it ensures that any changes made by the user after form or on change actions are sent to the server are not overwritten by the response. If `false`, the form values are cleared when the action is triggered. When `persist_values` is set to `false`, it is strongly recommended that the card use [LoadIndicator.SPINNER](workspace/add-ons/reference/rpc/google.apps.card.v1#loadindicator) for all actions, as this locks the UI to ensure no changes are made by the user while the action is being processed. Not supported by Google Chat apps. + }, + "card": # Object with schema name: GoogleAppsCardV1Card # A new card is pushed to the card stack after clicking if specified. + "openDynamicLinkAction": { # An action that describes the behavior when the form is submitted. For example, an Apps Script can be invoked to handle the form. # An add-on triggers this action when the action needs to open a link. This differs from the `open_link` above in that this needs to talk to server to get the link. Thus some preparation work is required for web client to do before the open link action response comes back. + "function": "A String", # Apps Script function to invoke when the containing element is clicked/activated. + "loadIndicator": "A String", # Specifies the loading indicator that the action displays while making the call to the action. + "parameters": [ # List of action parameters. + { # List of string parameters to supply when the action method is invoked. For example, consider three snooze buttons: snooze now, snooze 1 day, snooze next week. You might use action method = snooze(), passing the snooze type and snooze time in the list of string parameters. + "key": "A String", # The name of the parameter for the action script. + "value": "A String", # The value of the parameter. + }, + ], + "persistValues": True or False, # Indicates whether form values persist after the action. The default value is `false`. If `true`, form values remain after the action is triggered. When using [LoadIndicator.NONE](workspace/add-ons/reference/rpc/google.apps.card.v1#loadindicator) for actions, `persist_values` = `true`is recommended, as it ensures that any changes made by the user after form or on change actions are sent to the server are not overwritten by the response. If `false`, the form values are cleared when the action is triggered. When `persist_values` is set to `false`, it is strongly recommended that the card use [LoadIndicator.SPINNER](workspace/add-ons/reference/rpc/google.apps.card.v1#loadindicator) for all actions, as this locks the UI to ensure no changes are made by the user while the action is being processed. Not supported by Google Chat apps. + }, + "openLink": { # Represents an `onClick` event that opens a hyperlink. # If specified, this `onClick` triggers an open link action. + "onClose": "A String", # Whether the client forgets about a link after opening it, or observes it until the window closes. Not supported by Chat apps. + "openAs": "A String", # How to open a link. Not supported by Chat apps. + "url": "A String", # The URL to open. + }, + }, + "title": "A String", # The text that displays in the grid header. + }, + "horizontalAlignment": "A String", # The horizontal alignment of this widget. + "image": { # An image that is specified by a URL and can have an `onClick` action. # Displays an image in this widget. For example, the following JSON creates an image with alternative text: ``` "image": { "imageUrl": "https://example.com/sasha.png" "altText": "Avatar for Sasha" } ``` + "altText": "A String", # The alternative text of this image, used for accessibility. + "imageUrl": "A String", # An image URL. + "onClick": { # Represents the response to an `onClick` event. # The action triggered by an `onClick` event. + "action": { # An action that describes the behavior when the form is submitted. For example, an Apps Script can be invoked to handle the form. # If specified, an action is triggered by this `onClick`. + "function": "A String", # Apps Script function to invoke when the containing element is clicked/activated. + "loadIndicator": "A String", # Specifies the loading indicator that the action displays while making the call to the action. + "parameters": [ # List of action parameters. + { # List of string parameters to supply when the action method is invoked. For example, consider three snooze buttons: snooze now, snooze 1 day, snooze next week. You might use action method = snooze(), passing the snooze type and snooze time in the list of string parameters. + "key": "A String", # The name of the parameter for the action script. + "value": "A String", # The value of the parameter. + }, + ], + "persistValues": True or False, # Indicates whether form values persist after the action. The default value is `false`. If `true`, form values remain after the action is triggered. When using [LoadIndicator.NONE](workspace/add-ons/reference/rpc/google.apps.card.v1#loadindicator) for actions, `persist_values` = `true`is recommended, as it ensures that any changes made by the user after form or on change actions are sent to the server are not overwritten by the response. If `false`, the form values are cleared when the action is triggered. When `persist_values` is set to `false`, it is strongly recommended that the card use [LoadIndicator.SPINNER](workspace/add-ons/reference/rpc/google.apps.card.v1#loadindicator) for all actions, as this locks the UI to ensure no changes are made by the user while the action is being processed. Not supported by Google Chat apps. + }, + "card": # Object with schema name: GoogleAppsCardV1Card # A new card is pushed to the card stack after clicking if specified. + "openDynamicLinkAction": { # An action that describes the behavior when the form is submitted. For example, an Apps Script can be invoked to handle the form. # An add-on triggers this action when the action needs to open a link. This differs from the `open_link` above in that this needs to talk to server to get the link. Thus some preparation work is required for web client to do before the open link action response comes back. + "function": "A String", # Apps Script function to invoke when the containing element is clicked/activated. + "loadIndicator": "A String", # Specifies the loading indicator that the action displays while making the call to the action. + "parameters": [ # List of action parameters. + { # List of string parameters to supply when the action method is invoked. For example, consider three snooze buttons: snooze now, snooze 1 day, snooze next week. You might use action method = snooze(), passing the snooze type and snooze time in the list of string parameters. + "key": "A String", # The name of the parameter for the action script. + "value": "A String", # The value of the parameter. + }, + ], + "persistValues": True or False, # Indicates whether form values persist after the action. The default value is `false`. If `true`, form values remain after the action is triggered. When using [LoadIndicator.NONE](workspace/add-ons/reference/rpc/google.apps.card.v1#loadindicator) for actions, `persist_values` = `true`is recommended, as it ensures that any changes made by the user after form or on change actions are sent to the server are not overwritten by the response. If `false`, the form values are cleared when the action is triggered. When `persist_values` is set to `false`, it is strongly recommended that the card use [LoadIndicator.SPINNER](workspace/add-ons/reference/rpc/google.apps.card.v1#loadindicator) for all actions, as this locks the UI to ensure no changes are made by the user while the action is being processed. Not supported by Google Chat apps. + }, + "openLink": { # Represents an `onClick` event that opens a hyperlink. # If specified, this `onClick` triggers an open link action. + "onClose": "A String", # Whether the client forgets about a link after opening it, or observes it until the window closes. Not supported by Chat apps. + "openAs": "A String", # How to open a link. Not supported by Chat apps. + "url": "A String", # The URL to open. + }, + }, + }, + "selectionInput": { # A widget that creates a UI item with options for users to select. For example, a dropdown menu. # Displays a switch control in this widget. For example, the following JSON creates a dropdown selection for size: ``` "switchControl": { "name": "size", "label": "Size" "type": "SelectionType.DROPDOWN", "items": [ { "text": "S", "value": "small", "selected": false }, { "text": "M", "value": "medium", "selected": true }, { "text": "L", "value": "large", "selected": false }, { "text": "XL", "value": "extra_large", "selected": false } ] } ``` + "items": [ # An array of the selected items. + { # A selectable item in the switch control. + "selected": True or False, # If more than one item is selected for `RADIO_BUTTON` and `DROPDOWN`, the first selected item is treated as selected and the ones after are ignored. + "text": "A String", # The text to be displayed. + "value": "A String", # The value associated with this item. The client should use this as a form input value. + }, + ], + "label": "A String", # The label displayed ahead of the switch control. + "name": "A String", # The name of the text input which is used in `formInput`. + "onChangeAction": { # An action that describes the behavior when the form is submitted. For example, an Apps Script can be invoked to handle the form. # If specified, the form is submitted when the selection changes. If not specified, you must specify a separate button. + "function": "A String", # Apps Script function to invoke when the containing element is clicked/activated. + "loadIndicator": "A String", # Specifies the loading indicator that the action displays while making the call to the action. + "parameters": [ # List of action parameters. + { # List of string parameters to supply when the action method is invoked. For example, consider three snooze buttons: snooze now, snooze 1 day, snooze next week. You might use action method = snooze(), passing the snooze type and snooze time in the list of string parameters. + "key": "A String", # The name of the parameter for the action script. + "value": "A String", # The value of the parameter. + }, + ], + "persistValues": True or False, # Indicates whether form values persist after the action. The default value is `false`. If `true`, form values remain after the action is triggered. When using [LoadIndicator.NONE](workspace/add-ons/reference/rpc/google.apps.card.v1#loadindicator) for actions, `persist_values` = `true`is recommended, as it ensures that any changes made by the user after form or on change actions are sent to the server are not overwritten by the response. If `false`, the form values are cleared when the action is triggered. When `persist_values` is set to `false`, it is strongly recommended that the card use [LoadIndicator.SPINNER](workspace/add-ons/reference/rpc/google.apps.card.v1#loadindicator) for all actions, as this locks the UI to ensure no changes are made by the user while the action is being processed. Not supported by Google Chat apps. + }, + "type": "A String", # The type of the selection. + }, + "textInput": { # A text input is a UI item where users can input text. A text input can also have an onChange action and suggestions. # Displays a text input in this widget. For example, the following JSON creates a text input for mail address: ``` "textInput": { "name": "mailing_address", "label": "Mailing Address" } ``` As another example, the following JSON creates a text input for programming language with static suggestions: ``` "textInput": { "name": "preferred_programing_language", "label": "Preferred Language", "initialSuggestions": { "items": [ { "text": "C++" }, { "text": "Java" }, { "text": "JavaScript" }, { "text": "Python" } ] } } ``` + "autoCompleteAction": { # An action that describes the behavior when the form is submitted. For example, an Apps Script can be invoked to handle the form. # The refresh function that returns suggestions based on the user's input text. If the callback is not specified, autocomplete is done in client side based on the initial suggestion items. + "function": "A String", # Apps Script function to invoke when the containing element is clicked/activated. + "loadIndicator": "A String", # Specifies the loading indicator that the action displays while making the call to the action. + "parameters": [ # List of action parameters. + { # List of string parameters to supply when the action method is invoked. For example, consider three snooze buttons: snooze now, snooze 1 day, snooze next week. You might use action method = snooze(), passing the snooze type and snooze time in the list of string parameters. + "key": "A String", # The name of the parameter for the action script. + "value": "A String", # The value of the parameter. + }, + ], + "persistValues": True or False, # Indicates whether form values persist after the action. The default value is `false`. If `true`, form values remain after the action is triggered. When using [LoadIndicator.NONE](workspace/add-ons/reference/rpc/google.apps.card.v1#loadindicator) for actions, `persist_values` = `true`is recommended, as it ensures that any changes made by the user after form or on change actions are sent to the server are not overwritten by the response. If `false`, the form values are cleared when the action is triggered. When `persist_values` is set to `false`, it is strongly recommended that the card use [LoadIndicator.SPINNER](workspace/add-ons/reference/rpc/google.apps.card.v1#loadindicator) for all actions, as this locks the UI to ensure no changes are made by the user while the action is being processed. Not supported by Google Chat apps. + }, + "hintText": "A String", # The hint text. + "initialSuggestions": { # A container wrapping elements necessary for showing suggestion items used in text input autocomplete. # The initial suggestions made before any user input. + "items": [ # A list of suggestions used for autocomplete recommendations. + { # A suggestion item. + "text": "A String", # The suggested autocomplete result. + }, + ], + }, + "label": "A String", # At least one of label and hintText must be specified. + "name": "A String", # The name of the text input which is used in `formInput`. + "onChangeAction": { # An action that describes the behavior when the form is submitted. For example, an Apps Script can be invoked to handle the form. # The onChange action, for example, invoke a function. + "function": "A String", # Apps Script function to invoke when the containing element is clicked/activated. + "loadIndicator": "A String", # Specifies the loading indicator that the action displays while making the call to the action. + "parameters": [ # List of action parameters. + { # List of string parameters to supply when the action method is invoked. For example, consider three snooze buttons: snooze now, snooze 1 day, snooze next week. You might use action method = snooze(), passing the snooze type and snooze time in the list of string parameters. + "key": "A String", # The name of the parameter for the action script. + "value": "A String", # The value of the parameter. + }, + ], + "persistValues": True or False, # Indicates whether form values persist after the action. The default value is `false`. If `true`, form values remain after the action is triggered. When using [LoadIndicator.NONE](workspace/add-ons/reference/rpc/google.apps.card.v1#loadindicator) for actions, `persist_values` = `true`is recommended, as it ensures that any changes made by the user after form or on change actions are sent to the server are not overwritten by the response. If `false`, the form values are cleared when the action is triggered. When `persist_values` is set to `false`, it is strongly recommended that the card use [LoadIndicator.SPINNER](workspace/add-ons/reference/rpc/google.apps.card.v1#loadindicator) for all actions, as this locks the UI to ensure no changes are made by the user while the action is being processed. Not supported by Google Chat apps. + }, + "type": "A String", # The style of the text, for example, a single line or multiple lines. + "value": "A String", # The default value when there is no input from the user. + }, + "textParagraph": { # A paragraph of text that supports formatting. See [Text formatting](workspace/add-ons/concepts/widgets#text_formatting) for details. # Displays a text paragraph in this widget. For example, the following JSON creates a bolded text: ``` "textParagraph": { "text": " *bold text*" } ``` + "text": "A String", # The text that's shown in the widget. + }, + }, + ], + }, + ], + }, + "cardId": "A String", # Required for `cardsV2` messages. Chat app-specified identifier for this widget. Scoped within a message. + }, + ], "createTime": "A String", # Output only. The time at which the message was created in Google Chat server. "fallbackText": "A String", # A plain-text description of the message's cards, used when the actual cards cannot be displayed (e.g. mobile notifications). "lastUpdateTime": "A String", # Output only. The time at which the message was last edited by a user. If the message has never been edited, this field is empty. @@ -3221,8 +5321,12 @@

Method Details

"displayName": "A String", # The space's display name. For direct messages between humans, this field might be empty. "name": "A String", # Resource name of the space. Format: spaces/{space} "singleUserBotDm": True or False, # Output only. Whether the space is a DM between a Chat app and a single human. + "spaceDetails": { # Details about the space including description and rules. # Details about the space including description and rules. + "description": "A String", # Optional. A description of the space. It could describe the space's discussion topic, functional purpose, or participants. + "guidelines": "A String", # Optional. The space's rules, expectations, and etiquette. + }, "threaded": True or False, # Output only. Whether messages are threaded in this space. - "type": "A String", # Output only. Deprecated: Use `single_user_bot_dm` or `space_type` (developer preview) instead. The type of a space. + "type": "A String", # Output only. Deprecated: Use `singleUserBotDm` or `spaceType` (developer preview) instead. The type of a space. }, "text": "A String", # Plain-text body of the message. The first link to an image, video, web page, or other preview-able item generates a preview chip. "thread": { # A thread in Google Chat. # The thread the message belongs to. @@ -3230,7 +5334,7 @@

Method Details

}, } - updateMask: string, Required. The field paths to update. Separate multiple values with commas. Currently supported field paths: - text - cards (Requires [service account authentication](/chat/api/guides/auth/service-accounts).) - attachment + updateMask: string, Required. The field paths to update. Separate multiple values with commas. Currently supported field paths: - text - cards (Requires [service account authentication](/chat/api/guides/auth/service-accounts).) x__xgafv: string, V1 error format. Allowed values 1 - v1 error format @@ -3976,6 +6080,528 @@

Method Details

], }, ], + "cardsV2": [ # Richly formatted and interactive cards that display UI elements and editable widgets, such as: - Formatted text - Buttons - Clickable images - Checkboxes - Radio buttons - Input widgets. Cards are usually displayed below the text-body of a Chat message, but can situationally appear other places, such as [dialogs](https://developers.google.com/chat/how-tos/dialogs). The `cardId` is a unique identifier among cards in the same message and for identifying user input values. Currently supported widgets include: - `TextParagraph` - `DecoratedText` - `Image` - `ButtonList` + { # Widgets for Chat apps to specify. + "card": { # A card is a UI element that can contain UI widgets such as text and images. For more information, see Cards . For example, the following JSON creates a card that has a header with the name, position, icons, and link for a contact, followed by a section with contact information like email and phone number. ``` { "header": { "title": "Sasha", "subtitle": "Software Engineer", "imageStyle": "ImageStyle.AVATAR", "imageUrl": "https://example.com/sasha.png", "imageAltText": "Avatar for Sasha" }, "sections" : [ { "header": "Contact Info", "widgets": [ { "decorated_text": { "icon": { "knownIcon": "EMAIL" }, "content": "sasha@example.com" } }, { "decoratedText": { "icon": { "knownIcon": "PERSON" }, "content": "Online" } }, { "decoratedText": { "icon": { "knownIcon": "PHONE" }, "content": "+1 (555) 555-1234" } }, { "buttons": [ { "textButton": { "text": "Share", }, "onClick": { "openLink": { "url": "https://example.com/share" } } }, { "textButton": { "text": "Edit", }, "onClick": { "action": { "function": "goToView", "parameters": [ { "key": "viewType", "value": "EDIT" } ], "loadIndicator": "LoadIndicator.SPINNER" } } } ] } ], "collapsible": true, "uncollapsibleWidgetsCount": 3 } ], "cardActions": [ { "actionLabel": "Send Feedback", "onClick": { "openLink": { "url": "https://example.com/feedback" } } } ], "name": "contact-card-K3wB6arF2H9L" } ``` # Card proto that allows Chat apps to specify UI elements and editable widgets. + "cardActions": [ # The card's actions. Actions are added to the card's generated toolbar menu. For example, the following JSON constructs a card action menu with Settings and Send Feedback options: ``` "card_actions": [ { "actionLabel": "Settings", "onClick": { "action": { "functionName": "goToView", "parameters": [ { "key": "viewType", "value": "SETTING" } ], "loadIndicator": "LoadIndicator.SPINNER" } } }, { "actionLabel": "Send Feedback", "onClick": { "openLink": { "url": "https://example.com/feedback" } } } ] ``` + { # A card action is the action associated with the card. For example, an invoice card might include actions such as delete invoice, email invoice, or open the invoice in a browser. + "actionLabel": "A String", # The label that displays as the action menu item. + "onClick": { # Represents the response to an `onClick` event. # The `onClick` action for this action item. + "action": { # An action that describes the behavior when the form is submitted. For example, an Apps Script can be invoked to handle the form. # If specified, an action is triggered by this `onClick`. + "function": "A String", # Apps Script function to invoke when the containing element is clicked/activated. + "loadIndicator": "A String", # Specifies the loading indicator that the action displays while making the call to the action. + "parameters": [ # List of action parameters. + { # List of string parameters to supply when the action method is invoked. For example, consider three snooze buttons: snooze now, snooze 1 day, snooze next week. You might use action method = snooze(), passing the snooze type and snooze time in the list of string parameters. + "key": "A String", # The name of the parameter for the action script. + "value": "A String", # The value of the parameter. + }, + ], + "persistValues": True or False, # Indicates whether form values persist after the action. The default value is `false`. If `true`, form values remain after the action is triggered. When using [LoadIndicator.NONE](workspace/add-ons/reference/rpc/google.apps.card.v1#loadindicator) for actions, `persist_values` = `true`is recommended, as it ensures that any changes made by the user after form or on change actions are sent to the server are not overwritten by the response. If `false`, the form values are cleared when the action is triggered. When `persist_values` is set to `false`, it is strongly recommended that the card use [LoadIndicator.SPINNER](workspace/add-ons/reference/rpc/google.apps.card.v1#loadindicator) for all actions, as this locks the UI to ensure no changes are made by the user while the action is being processed. Not supported by Google Chat apps. + }, + "card": # Object with schema name: GoogleAppsCardV1Card # A new card is pushed to the card stack after clicking if specified. + "openDynamicLinkAction": { # An action that describes the behavior when the form is submitted. For example, an Apps Script can be invoked to handle the form. # An add-on triggers this action when the action needs to open a link. This differs from the `open_link` above in that this needs to talk to server to get the link. Thus some preparation work is required for web client to do before the open link action response comes back. + "function": "A String", # Apps Script function to invoke when the containing element is clicked/activated. + "loadIndicator": "A String", # Specifies the loading indicator that the action displays while making the call to the action. + "parameters": [ # List of action parameters. + { # List of string parameters to supply when the action method is invoked. For example, consider three snooze buttons: snooze now, snooze 1 day, snooze next week. You might use action method = snooze(), passing the snooze type and snooze time in the list of string parameters. + "key": "A String", # The name of the parameter for the action script. + "value": "A String", # The value of the parameter. + }, + ], + "persistValues": True or False, # Indicates whether form values persist after the action. The default value is `false`. If `true`, form values remain after the action is triggered. When using [LoadIndicator.NONE](workspace/add-ons/reference/rpc/google.apps.card.v1#loadindicator) for actions, `persist_values` = `true`is recommended, as it ensures that any changes made by the user after form or on change actions are sent to the server are not overwritten by the response. If `false`, the form values are cleared when the action is triggered. When `persist_values` is set to `false`, it is strongly recommended that the card use [LoadIndicator.SPINNER](workspace/add-ons/reference/rpc/google.apps.card.v1#loadindicator) for all actions, as this locks the UI to ensure no changes are made by the user while the action is being processed. Not supported by Google Chat apps. + }, + "openLink": { # Represents an `onClick` event that opens a hyperlink. # If specified, this `onClick` triggers an open link action. + "onClose": "A String", # Whether the client forgets about a link after opening it, or observes it until the window closes. Not supported by Chat apps. + "openAs": "A String", # How to open a link. Not supported by Chat apps. + "url": "A String", # The URL to open. + }, + }, + }, + ], + "displayStyle": "A String", # The `peekCardHeader` display style for. Not supported by Google Chat apps. + "fixedFooter": { # A persistent (sticky) footer that is added to the bottom of the card. # The fixed footer shown at the bottom of this card. + "primaryButton": { # A button. Can be a text button or an image button. # The primary button of the fixed footer. The button must be a text button with text and color set. + "altText": "A String", # The alternative text used for accessibility. Has no effect when an icon is set; use `icon.alt_text` instead. + "color": { # Represents a color in the RGBA color space. This representation is designed for simplicity of conversion to/from color representations in various languages over compactness. For example, the fields of this representation can be trivially provided to the constructor of `java.awt.Color` in Java; it can also be trivially provided to UIColor's `+colorWithRed:green:blue:alpha` method in iOS; and, with just a little work, it can be easily formatted into a CSS `rgba()` string in JavaScript. This reference page doesn't carry information about the absolute color space that should be used to interpret the RGB value (e.g. sRGB, Adobe RGB, DCI-P3, BT.2020, etc.). By default, applications should assume the sRGB color space. When color equality needs to be decided, implementations, unless documented otherwise, treat two colors as equal if all their red, green, blue, and alpha values each differ by at most 1e-5. Example (Java): import com.google.type.Color; // ... public static java.awt.Color fromProto(Color protocolor) { float alpha = protocolor.hasAlpha() ? protocolor.getAlpha().getValue() : 1.0; return new java.awt.Color( protocolor.getRed(), protocolor.getGreen(), protocolor.getBlue(), alpha); } public static Color toProto(java.awt.Color color) { float red = (float) color.getRed(); float green = (float) color.getGreen(); float blue = (float) color.getBlue(); float denominator = 255.0; Color.Builder resultBuilder = Color .newBuilder() .setRed(red / denominator) .setGreen(green / denominator) .setBlue(blue / denominator); int alpha = color.getAlpha(); if (alpha != 255) { result.setAlpha( FloatValue .newBuilder() .setValue(((float) alpha) / denominator) .build()); } return resultBuilder.build(); } // ... Example (iOS / Obj-C): // ... static UIColor* fromProto(Color* protocolor) { float red = [protocolor red]; float green = [protocolor green]; float blue = [protocolor blue]; FloatValue* alpha_wrapper = [protocolor alpha]; float alpha = 1.0; if (alpha_wrapper != nil) { alpha = [alpha_wrapper value]; } return [UIColor colorWithRed:red green:green blue:blue alpha:alpha]; } static Color* toProto(UIColor* color) { CGFloat red, green, blue, alpha; if (![color getRed:&red green:&green blue:&blue alpha:&alpha]) { return nil; } Color* result = [[Color alloc] init]; [result setRed:red]; [result setGreen:green]; [result setBlue:blue]; if (alpha <= 0.9999) { [result setAlpha:floatWrapperWithValue(alpha)]; } [result autorelease]; return result; } // ... Example (JavaScript): // ... var protoToCssColor = function(rgb_color) { var redFrac = rgb_color.red || 0.0; var greenFrac = rgb_color.green || 0.0; var blueFrac = rgb_color.blue || 0.0; var red = Math.floor(redFrac * 255); var green = Math.floor(greenFrac * 255); var blue = Math.floor(blueFrac * 255); if (!('alpha' in rgb_color)) { return rgbToCssColor(red, green, blue); } var alphaFrac = rgb_color.alpha.value || 0.0; var rgbParams = [red, green, blue].join(','); return ['rgba(', rgbParams, ',', alphaFrac, ')'].join(''); }; var rgbToCssColor = function(red, green, blue) { var rgbNumber = new Number((red << 16) | (green << 8) | blue); var hexString = rgbNumber.toString(16); var missingZeros = 6 - hexString.length; var resultBuilder = ['#']; for (var i = 0; i < missingZeros; i++) { resultBuilder.push('0'); } resultBuilder.push(hexString); return resultBuilder.join(''); }; // ... # If set, the button is filled with a solid background. + "alpha": 3.14, # The fraction of this color that should be applied to the pixel. That is, the final pixel color is defined by the equation: `pixel color = alpha * (this color) + (1.0 - alpha) * (background color)` This means that a value of 1.0 corresponds to a solid color, whereas a value of 0.0 corresponds to a completely transparent color. This uses a wrapper message rather than a simple float scalar so that it is possible to distinguish between a default value and the value being unset. If omitted, this color object is rendered as a solid color (as if the alpha value had been explicitly given a value of 1.0). + "blue": 3.14, # The amount of blue in the color as a value in the interval [0, 1]. + "green": 3.14, # The amount of green in the color as a value in the interval [0, 1]. + "red": 3.14, # The amount of red in the color as a value in the interval [0, 1]. + }, + "disabled": True or False, # If `true`, the button is displayed in a disabled state and doesn't respond to user actions. + "icon": { # The icon image. + "altText": "A String", # The description of the icon, used for accessibility. The default value is provided if you don't specify one. + "iconUrl": "A String", # The icon specified by a URL. + "imageType": "A String", # The crop style applied to the image. In some cases, applying a `CIRCLE` crop causes the image to be drawn larger than a standard icon. + "knownIcon": "A String", # The icon specified by the string name of a list of known icons. + }, + "onClick": { # Represents the response to an `onClick` event. # The action to perform when the button is clicked. + "action": { # An action that describes the behavior when the form is submitted. For example, an Apps Script can be invoked to handle the form. # If specified, an action is triggered by this `onClick`. + "function": "A String", # Apps Script function to invoke when the containing element is clicked/activated. + "loadIndicator": "A String", # Specifies the loading indicator that the action displays while making the call to the action. + "parameters": [ # List of action parameters. + { # List of string parameters to supply when the action method is invoked. For example, consider three snooze buttons: snooze now, snooze 1 day, snooze next week. You might use action method = snooze(), passing the snooze type and snooze time in the list of string parameters. + "key": "A String", # The name of the parameter for the action script. + "value": "A String", # The value of the parameter. + }, + ], + "persistValues": True or False, # Indicates whether form values persist after the action. The default value is `false`. If `true`, form values remain after the action is triggered. When using [LoadIndicator.NONE](workspace/add-ons/reference/rpc/google.apps.card.v1#loadindicator) for actions, `persist_values` = `true`is recommended, as it ensures that any changes made by the user after form or on change actions are sent to the server are not overwritten by the response. If `false`, the form values are cleared when the action is triggered. When `persist_values` is set to `false`, it is strongly recommended that the card use [LoadIndicator.SPINNER](workspace/add-ons/reference/rpc/google.apps.card.v1#loadindicator) for all actions, as this locks the UI to ensure no changes are made by the user while the action is being processed. Not supported by Google Chat apps. + }, + "card": # Object with schema name: GoogleAppsCardV1Card # A new card is pushed to the card stack after clicking if specified. + "openDynamicLinkAction": { # An action that describes the behavior when the form is submitted. For example, an Apps Script can be invoked to handle the form. # An add-on triggers this action when the action needs to open a link. This differs from the `open_link` above in that this needs to talk to server to get the link. Thus some preparation work is required for web client to do before the open link action response comes back. + "function": "A String", # Apps Script function to invoke when the containing element is clicked/activated. + "loadIndicator": "A String", # Specifies the loading indicator that the action displays while making the call to the action. + "parameters": [ # List of action parameters. + { # List of string parameters to supply when the action method is invoked. For example, consider three snooze buttons: snooze now, snooze 1 day, snooze next week. You might use action method = snooze(), passing the snooze type and snooze time in the list of string parameters. + "key": "A String", # The name of the parameter for the action script. + "value": "A String", # The value of the parameter. + }, + ], + "persistValues": True or False, # Indicates whether form values persist after the action. The default value is `false`. If `true`, form values remain after the action is triggered. When using [LoadIndicator.NONE](workspace/add-ons/reference/rpc/google.apps.card.v1#loadindicator) for actions, `persist_values` = `true`is recommended, as it ensures that any changes made by the user after form or on change actions are sent to the server are not overwritten by the response. If `false`, the form values are cleared when the action is triggered. When `persist_values` is set to `false`, it is strongly recommended that the card use [LoadIndicator.SPINNER](workspace/add-ons/reference/rpc/google.apps.card.v1#loadindicator) for all actions, as this locks the UI to ensure no changes are made by the user while the action is being processed. Not supported by Google Chat apps. + }, + "openLink": { # Represents an `onClick` event that opens a hyperlink. # If specified, this `onClick` triggers an open link action. + "onClose": "A String", # Whether the client forgets about a link after opening it, or observes it until the window closes. Not supported by Chat apps. + "openAs": "A String", # How to open a link. Not supported by Chat apps. + "url": "A String", # The URL to open. + }, + }, + "text": "A String", # The text of the button. + }, + "secondaryButton": { # A button. Can be a text button or an image button. # The secondary button of the fixed footer. The button must be a text button with text and color set. `primaryButton` must be set if `secondaryButton` is set. + "altText": "A String", # The alternative text used for accessibility. Has no effect when an icon is set; use `icon.alt_text` instead. + "color": { # Represents a color in the RGBA color space. This representation is designed for simplicity of conversion to/from color representations in various languages over compactness. For example, the fields of this representation can be trivially provided to the constructor of `java.awt.Color` in Java; it can also be trivially provided to UIColor's `+colorWithRed:green:blue:alpha` method in iOS; and, with just a little work, it can be easily formatted into a CSS `rgba()` string in JavaScript. This reference page doesn't carry information about the absolute color space that should be used to interpret the RGB value (e.g. sRGB, Adobe RGB, DCI-P3, BT.2020, etc.). By default, applications should assume the sRGB color space. When color equality needs to be decided, implementations, unless documented otherwise, treat two colors as equal if all their red, green, blue, and alpha values each differ by at most 1e-5. Example (Java): import com.google.type.Color; // ... public static java.awt.Color fromProto(Color protocolor) { float alpha = protocolor.hasAlpha() ? protocolor.getAlpha().getValue() : 1.0; return new java.awt.Color( protocolor.getRed(), protocolor.getGreen(), protocolor.getBlue(), alpha); } public static Color toProto(java.awt.Color color) { float red = (float) color.getRed(); float green = (float) color.getGreen(); float blue = (float) color.getBlue(); float denominator = 255.0; Color.Builder resultBuilder = Color .newBuilder() .setRed(red / denominator) .setGreen(green / denominator) .setBlue(blue / denominator); int alpha = color.getAlpha(); if (alpha != 255) { result.setAlpha( FloatValue .newBuilder() .setValue(((float) alpha) / denominator) .build()); } return resultBuilder.build(); } // ... Example (iOS / Obj-C): // ... static UIColor* fromProto(Color* protocolor) { float red = [protocolor red]; float green = [protocolor green]; float blue = [protocolor blue]; FloatValue* alpha_wrapper = [protocolor alpha]; float alpha = 1.0; if (alpha_wrapper != nil) { alpha = [alpha_wrapper value]; } return [UIColor colorWithRed:red green:green blue:blue alpha:alpha]; } static Color* toProto(UIColor* color) { CGFloat red, green, blue, alpha; if (![color getRed:&red green:&green blue:&blue alpha:&alpha]) { return nil; } Color* result = [[Color alloc] init]; [result setRed:red]; [result setGreen:green]; [result setBlue:blue]; if (alpha <= 0.9999) { [result setAlpha:floatWrapperWithValue(alpha)]; } [result autorelease]; return result; } // ... Example (JavaScript): // ... var protoToCssColor = function(rgb_color) { var redFrac = rgb_color.red || 0.0; var greenFrac = rgb_color.green || 0.0; var blueFrac = rgb_color.blue || 0.0; var red = Math.floor(redFrac * 255); var green = Math.floor(greenFrac * 255); var blue = Math.floor(blueFrac * 255); if (!('alpha' in rgb_color)) { return rgbToCssColor(red, green, blue); } var alphaFrac = rgb_color.alpha.value || 0.0; var rgbParams = [red, green, blue].join(','); return ['rgba(', rgbParams, ',', alphaFrac, ')'].join(''); }; var rgbToCssColor = function(red, green, blue) { var rgbNumber = new Number((red << 16) | (green << 8) | blue); var hexString = rgbNumber.toString(16); var missingZeros = 6 - hexString.length; var resultBuilder = ['#']; for (var i = 0; i < missingZeros; i++) { resultBuilder.push('0'); } resultBuilder.push(hexString); return resultBuilder.join(''); }; // ... # If set, the button is filled with a solid background. + "alpha": 3.14, # The fraction of this color that should be applied to the pixel. That is, the final pixel color is defined by the equation: `pixel color = alpha * (this color) + (1.0 - alpha) * (background color)` This means that a value of 1.0 corresponds to a solid color, whereas a value of 0.0 corresponds to a completely transparent color. This uses a wrapper message rather than a simple float scalar so that it is possible to distinguish between a default value and the value being unset. If omitted, this color object is rendered as a solid color (as if the alpha value had been explicitly given a value of 1.0). + "blue": 3.14, # The amount of blue in the color as a value in the interval [0, 1]. + "green": 3.14, # The amount of green in the color as a value in the interval [0, 1]. + "red": 3.14, # The amount of red in the color as a value in the interval [0, 1]. + }, + "disabled": True or False, # If `true`, the button is displayed in a disabled state and doesn't respond to user actions. + "icon": { # The icon image. + "altText": "A String", # The description of the icon, used for accessibility. The default value is provided if you don't specify one. + "iconUrl": "A String", # The icon specified by a URL. + "imageType": "A String", # The crop style applied to the image. In some cases, applying a `CIRCLE` crop causes the image to be drawn larger than a standard icon. + "knownIcon": "A String", # The icon specified by the string name of a list of known icons. + }, + "onClick": { # Represents the response to an `onClick` event. # The action to perform when the button is clicked. + "action": { # An action that describes the behavior when the form is submitted. For example, an Apps Script can be invoked to handle the form. # If specified, an action is triggered by this `onClick`. + "function": "A String", # Apps Script function to invoke when the containing element is clicked/activated. + "loadIndicator": "A String", # Specifies the loading indicator that the action displays while making the call to the action. + "parameters": [ # List of action parameters. + { # List of string parameters to supply when the action method is invoked. For example, consider three snooze buttons: snooze now, snooze 1 day, snooze next week. You might use action method = snooze(), passing the snooze type and snooze time in the list of string parameters. + "key": "A String", # The name of the parameter for the action script. + "value": "A String", # The value of the parameter. + }, + ], + "persistValues": True or False, # Indicates whether form values persist after the action. The default value is `false`. If `true`, form values remain after the action is triggered. When using [LoadIndicator.NONE](workspace/add-ons/reference/rpc/google.apps.card.v1#loadindicator) for actions, `persist_values` = `true`is recommended, as it ensures that any changes made by the user after form or on change actions are sent to the server are not overwritten by the response. If `false`, the form values are cleared when the action is triggered. When `persist_values` is set to `false`, it is strongly recommended that the card use [LoadIndicator.SPINNER](workspace/add-ons/reference/rpc/google.apps.card.v1#loadindicator) for all actions, as this locks the UI to ensure no changes are made by the user while the action is being processed. Not supported by Google Chat apps. + }, + "card": # Object with schema name: GoogleAppsCardV1Card # A new card is pushed to the card stack after clicking if specified. + "openDynamicLinkAction": { # An action that describes the behavior when the form is submitted. For example, an Apps Script can be invoked to handle the form. # An add-on triggers this action when the action needs to open a link. This differs from the `open_link` above in that this needs to talk to server to get the link. Thus some preparation work is required for web client to do before the open link action response comes back. + "function": "A String", # Apps Script function to invoke when the containing element is clicked/activated. + "loadIndicator": "A String", # Specifies the loading indicator that the action displays while making the call to the action. + "parameters": [ # List of action parameters. + { # List of string parameters to supply when the action method is invoked. For example, consider three snooze buttons: snooze now, snooze 1 day, snooze next week. You might use action method = snooze(), passing the snooze type and snooze time in the list of string parameters. + "key": "A String", # The name of the parameter for the action script. + "value": "A String", # The value of the parameter. + }, + ], + "persistValues": True or False, # Indicates whether form values persist after the action. The default value is `false`. If `true`, form values remain after the action is triggered. When using [LoadIndicator.NONE](workspace/add-ons/reference/rpc/google.apps.card.v1#loadindicator) for actions, `persist_values` = `true`is recommended, as it ensures that any changes made by the user after form or on change actions are sent to the server are not overwritten by the response. If `false`, the form values are cleared when the action is triggered. When `persist_values` is set to `false`, it is strongly recommended that the card use [LoadIndicator.SPINNER](workspace/add-ons/reference/rpc/google.apps.card.v1#loadindicator) for all actions, as this locks the UI to ensure no changes are made by the user while the action is being processed. Not supported by Google Chat apps. + }, + "openLink": { # Represents an `onClick` event that opens a hyperlink. # If specified, this `onClick` triggers an open link action. + "onClose": "A String", # Whether the client forgets about a link after opening it, or observes it until the window closes. Not supported by Chat apps. + "openAs": "A String", # How to open a link. Not supported by Chat apps. + "url": "A String", # The URL to open. + }, + }, + "text": "A String", # The text of the button. + }, + }, + "header": { # Represents a card header. # The header of the card. A header usually contains a title and an image. + "imageAltText": "A String", # The alternative text of this image which is used for accessibility. + "imageType": "A String", # The image's type. + "imageUrl": "A String", # The URL of the image in the card header. + "subtitle": "A String", # The subtitle of the card header. + "title": "A String", # Required. The title of the card header. The header has a fixed height: if both a title and subtitle are specified, each takes up one line. If only the title is specified, it takes up both lines. + }, + "name": "A String", # Name of the card. Used as a card identifier in card navigation. + "peekCardHeader": { # Represents a card header. # When displaying contextual content, the peek card header acts as a placeholder so that the user can navigate forward between the homepage cards and the contextual cards. Not supported by Google Chat apps. + "imageAltText": "A String", # The alternative text of this image which is used for accessibility. + "imageType": "A String", # The image's type. + "imageUrl": "A String", # The URL of the image in the card header. + "subtitle": "A String", # The subtitle of the card header. + "title": "A String", # Required. The title of the card header. The header has a fixed height: if both a title and subtitle are specified, each takes up one line. If only the title is specified, it takes up both lines. + }, + "sections": [ # Sections are separated by a line divider. + { # A section contains a collection of widgets that are rendered vertically in the order that they are specified. Across all platforms, cards have a narrow fixed width, so there is currently no need for layout properties, for example, float. + "collapsible": True or False, # Indicates whether this section is collapsible. If a section is collapsible, the description must be given. + "header": "A String", # The header of the section. Formatted text is supported. + "uncollapsibleWidgetsCount": 42, # The number of uncollapsible widgets. For example, when a section contains five widgets and the `uncollapsibleWidgetsCount` is set to `2`, the first two widgets are always shown and the last three are collapsed as default. The `uncollapsibleWidgetsCount` is taken into account only when `collapsible` is `true`. + "widgets": [ # A section must contain at least 1 widget. + { # A widget is a UI element that presents texts, images, etc. + "buttonList": { # A list of buttons layed out horizontally. # A list of buttons. For example, the following JSON creates two buttons. The first is a filled text button and the second is an image button that opens a link: ``` "buttonList": { "buttons": [ "button": { "text": "Edit", "Color": { "Red": 255 "Green": 255 "Blue": 255 } "disabled": true }, "button": { "icon": { "knownIcon": "INVITE" "altText": "check calendar" }, "onClick": { "openLink": { "url": "https://example.com/calendar" } } }, ] } ``` + "buttons": [ # An array of buttons. + { # A button. Can be a text button or an image button. + "altText": "A String", # The alternative text used for accessibility. Has no effect when an icon is set; use `icon.alt_text` instead. + "color": { # Represents a color in the RGBA color space. This representation is designed for simplicity of conversion to/from color representations in various languages over compactness. For example, the fields of this representation can be trivially provided to the constructor of `java.awt.Color` in Java; it can also be trivially provided to UIColor's `+colorWithRed:green:blue:alpha` method in iOS; and, with just a little work, it can be easily formatted into a CSS `rgba()` string in JavaScript. This reference page doesn't carry information about the absolute color space that should be used to interpret the RGB value (e.g. sRGB, Adobe RGB, DCI-P3, BT.2020, etc.). By default, applications should assume the sRGB color space. When color equality needs to be decided, implementations, unless documented otherwise, treat two colors as equal if all their red, green, blue, and alpha values each differ by at most 1e-5. Example (Java): import com.google.type.Color; // ... public static java.awt.Color fromProto(Color protocolor) { float alpha = protocolor.hasAlpha() ? protocolor.getAlpha().getValue() : 1.0; return new java.awt.Color( protocolor.getRed(), protocolor.getGreen(), protocolor.getBlue(), alpha); } public static Color toProto(java.awt.Color color) { float red = (float) color.getRed(); float green = (float) color.getGreen(); float blue = (float) color.getBlue(); float denominator = 255.0; Color.Builder resultBuilder = Color .newBuilder() .setRed(red / denominator) .setGreen(green / denominator) .setBlue(blue / denominator); int alpha = color.getAlpha(); if (alpha != 255) { result.setAlpha( FloatValue .newBuilder() .setValue(((float) alpha) / denominator) .build()); } return resultBuilder.build(); } // ... Example (iOS / Obj-C): // ... static UIColor* fromProto(Color* protocolor) { float red = [protocolor red]; float green = [protocolor green]; float blue = [protocolor blue]; FloatValue* alpha_wrapper = [protocolor alpha]; float alpha = 1.0; if (alpha_wrapper != nil) { alpha = [alpha_wrapper value]; } return [UIColor colorWithRed:red green:green blue:blue alpha:alpha]; } static Color* toProto(UIColor* color) { CGFloat red, green, blue, alpha; if (![color getRed:&red green:&green blue:&blue alpha:&alpha]) { return nil; } Color* result = [[Color alloc] init]; [result setRed:red]; [result setGreen:green]; [result setBlue:blue]; if (alpha <= 0.9999) { [result setAlpha:floatWrapperWithValue(alpha)]; } [result autorelease]; return result; } // ... Example (JavaScript): // ... var protoToCssColor = function(rgb_color) { var redFrac = rgb_color.red || 0.0; var greenFrac = rgb_color.green || 0.0; var blueFrac = rgb_color.blue || 0.0; var red = Math.floor(redFrac * 255); var green = Math.floor(greenFrac * 255); var blue = Math.floor(blueFrac * 255); if (!('alpha' in rgb_color)) { return rgbToCssColor(red, green, blue); } var alphaFrac = rgb_color.alpha.value || 0.0; var rgbParams = [red, green, blue].join(','); return ['rgba(', rgbParams, ',', alphaFrac, ')'].join(''); }; var rgbToCssColor = function(red, green, blue) { var rgbNumber = new Number((red << 16) | (green << 8) | blue); var hexString = rgbNumber.toString(16); var missingZeros = 6 - hexString.length; var resultBuilder = ['#']; for (var i = 0; i < missingZeros; i++) { resultBuilder.push('0'); } resultBuilder.push(hexString); return resultBuilder.join(''); }; // ... # If set, the button is filled with a solid background. + "alpha": 3.14, # The fraction of this color that should be applied to the pixel. That is, the final pixel color is defined by the equation: `pixel color = alpha * (this color) + (1.0 - alpha) * (background color)` This means that a value of 1.0 corresponds to a solid color, whereas a value of 0.0 corresponds to a completely transparent color. This uses a wrapper message rather than a simple float scalar so that it is possible to distinguish between a default value and the value being unset. If omitted, this color object is rendered as a solid color (as if the alpha value had been explicitly given a value of 1.0). + "blue": 3.14, # The amount of blue in the color as a value in the interval [0, 1]. + "green": 3.14, # The amount of green in the color as a value in the interval [0, 1]. + "red": 3.14, # The amount of red in the color as a value in the interval [0, 1]. + }, + "disabled": True or False, # If `true`, the button is displayed in a disabled state and doesn't respond to user actions. + "icon": { # The icon image. + "altText": "A String", # The description of the icon, used for accessibility. The default value is provided if you don't specify one. + "iconUrl": "A String", # The icon specified by a URL. + "imageType": "A String", # The crop style applied to the image. In some cases, applying a `CIRCLE` crop causes the image to be drawn larger than a standard icon. + "knownIcon": "A String", # The icon specified by the string name of a list of known icons. + }, + "onClick": { # Represents the response to an `onClick` event. # The action to perform when the button is clicked. + "action": { # An action that describes the behavior when the form is submitted. For example, an Apps Script can be invoked to handle the form. # If specified, an action is triggered by this `onClick`. + "function": "A String", # Apps Script function to invoke when the containing element is clicked/activated. + "loadIndicator": "A String", # Specifies the loading indicator that the action displays while making the call to the action. + "parameters": [ # List of action parameters. + { # List of string parameters to supply when the action method is invoked. For example, consider three snooze buttons: snooze now, snooze 1 day, snooze next week. You might use action method = snooze(), passing the snooze type and snooze time in the list of string parameters. + "key": "A String", # The name of the parameter for the action script. + "value": "A String", # The value of the parameter. + }, + ], + "persistValues": True or False, # Indicates whether form values persist after the action. The default value is `false`. If `true`, form values remain after the action is triggered. When using [LoadIndicator.NONE](workspace/add-ons/reference/rpc/google.apps.card.v1#loadindicator) for actions, `persist_values` = `true`is recommended, as it ensures that any changes made by the user after form or on change actions are sent to the server are not overwritten by the response. If `false`, the form values are cleared when the action is triggered. When `persist_values` is set to `false`, it is strongly recommended that the card use [LoadIndicator.SPINNER](workspace/add-ons/reference/rpc/google.apps.card.v1#loadindicator) for all actions, as this locks the UI to ensure no changes are made by the user while the action is being processed. Not supported by Google Chat apps. + }, + "card": # Object with schema name: GoogleAppsCardV1Card # A new card is pushed to the card stack after clicking if specified. + "openDynamicLinkAction": { # An action that describes the behavior when the form is submitted. For example, an Apps Script can be invoked to handle the form. # An add-on triggers this action when the action needs to open a link. This differs from the `open_link` above in that this needs to talk to server to get the link. Thus some preparation work is required for web client to do before the open link action response comes back. + "function": "A String", # Apps Script function to invoke when the containing element is clicked/activated. + "loadIndicator": "A String", # Specifies the loading indicator that the action displays while making the call to the action. + "parameters": [ # List of action parameters. + { # List of string parameters to supply when the action method is invoked. For example, consider three snooze buttons: snooze now, snooze 1 day, snooze next week. You might use action method = snooze(), passing the snooze type and snooze time in the list of string parameters. + "key": "A String", # The name of the parameter for the action script. + "value": "A String", # The value of the parameter. + }, + ], + "persistValues": True or False, # Indicates whether form values persist after the action. The default value is `false`. If `true`, form values remain after the action is triggered. When using [LoadIndicator.NONE](workspace/add-ons/reference/rpc/google.apps.card.v1#loadindicator) for actions, `persist_values` = `true`is recommended, as it ensures that any changes made by the user after form or on change actions are sent to the server are not overwritten by the response. If `false`, the form values are cleared when the action is triggered. When `persist_values` is set to `false`, it is strongly recommended that the card use [LoadIndicator.SPINNER](workspace/add-ons/reference/rpc/google.apps.card.v1#loadindicator) for all actions, as this locks the UI to ensure no changes are made by the user while the action is being processed. Not supported by Google Chat apps. + }, + "openLink": { # Represents an `onClick` event that opens a hyperlink. # If specified, this `onClick` triggers an open link action. + "onClose": "A String", # Whether the client forgets about a link after opening it, or observes it until the window closes. Not supported by Chat apps. + "openAs": "A String", # How to open a link. Not supported by Chat apps. + "url": "A String", # The URL to open. + }, + }, + "text": "A String", # The text of the button. + }, + ], + }, + "dateTimePicker": { # The widget that lets users to specify a date and time. Not supported by Google Chat apps. # Displays a selection/input widget for date/time. For example, the following JSON creates a date/time picker for an appointment time: ``` "date_time_picker": { "name": "appointment_time", "label": "Book your appointment at:", "type": "DateTimePickerType.DATE_AND_TIME", "valueMsEpoch": "796435200000" } ``` + "label": "A String", # The label for the field that displays to the user. + "name": "A String", # The name of the text input that's used in `formInput`, and uniquely identifies this input. + "onChangeAction": { # An action that describes the behavior when the form is submitted. For example, an Apps Script can be invoked to handle the form. # Triggered when the user clicks Save or Clear from the date/time picker dialog. This is only triggered if the value changed as a result of the Save/Clear operation. + "function": "A String", # Apps Script function to invoke when the containing element is clicked/activated. + "loadIndicator": "A String", # Specifies the loading indicator that the action displays while making the call to the action. + "parameters": [ # List of action parameters. + { # List of string parameters to supply when the action method is invoked. For example, consider three snooze buttons: snooze now, snooze 1 day, snooze next week. You might use action method = snooze(), passing the snooze type and snooze time in the list of string parameters. + "key": "A String", # The name of the parameter for the action script. + "value": "A String", # The value of the parameter. + }, + ], + "persistValues": True or False, # Indicates whether form values persist after the action. The default value is `false`. If `true`, form values remain after the action is triggered. When using [LoadIndicator.NONE](workspace/add-ons/reference/rpc/google.apps.card.v1#loadindicator) for actions, `persist_values` = `true`is recommended, as it ensures that any changes made by the user after form or on change actions are sent to the server are not overwritten by the response. If `false`, the form values are cleared when the action is triggered. When `persist_values` is set to `false`, it is strongly recommended that the card use [LoadIndicator.SPINNER](workspace/add-ons/reference/rpc/google.apps.card.v1#loadindicator) for all actions, as this locks the UI to ensure no changes are made by the user while the action is being processed. Not supported by Google Chat apps. + }, + "timezoneOffsetDate": 42, # The number representing the time zone offset from UTC, in minutes. If set, the `value_ms_epoch` is displayed in the specified time zone. If not set, it uses the user's time zone setting on the client side. + "type": "A String", # The type of the date/time picker. + "valueMsEpoch": "A String", # The value to display as the default value before user input or previous user input. It is represented in milliseconds (Epoch time). For `DATE_AND_TIME` type, the full epoch value is used. For `DATE_ONLY` type, only date of the epoch time is used. For `TIME_ONLY` type, only time of the epoch time is used. For example, you can set epoch time to `3 * 60 * 60 * 1000` to represent 3am. + }, + "decoratedText": { # A widget that displays text with optional decorations such as a label above or below the text, an icon in front of the text, a selection widget or a button after the text. # Displays a decorated text item in this widget. For example, the following JSON creates a decorated text widget showing email address: ``` "decoratedText": { "icon": { "knownIcon": "EMAIL" }, "topLabel": "Email Address", "content": "sasha@example.com", "bottomLabel": "This is a new Email address!", "switchWidget": { "name": "has_send_welcome_email_to_sasha", "selected": false, "controlType": "ControlType.CHECKBOX" } } ``` + "bottomLabel": "A String", # The formatted text label that shows below the main text. + "button": { # A button. Can be a text button or an image button. # A button that can be clicked to trigger an action. + "altText": "A String", # The alternative text used for accessibility. Has no effect when an icon is set; use `icon.alt_text` instead. + "color": { # Represents a color in the RGBA color space. This representation is designed for simplicity of conversion to/from color representations in various languages over compactness. For example, the fields of this representation can be trivially provided to the constructor of `java.awt.Color` in Java; it can also be trivially provided to UIColor's `+colorWithRed:green:blue:alpha` method in iOS; and, with just a little work, it can be easily formatted into a CSS `rgba()` string in JavaScript. This reference page doesn't carry information about the absolute color space that should be used to interpret the RGB value (e.g. sRGB, Adobe RGB, DCI-P3, BT.2020, etc.). By default, applications should assume the sRGB color space. When color equality needs to be decided, implementations, unless documented otherwise, treat two colors as equal if all their red, green, blue, and alpha values each differ by at most 1e-5. Example (Java): import com.google.type.Color; // ... public static java.awt.Color fromProto(Color protocolor) { float alpha = protocolor.hasAlpha() ? protocolor.getAlpha().getValue() : 1.0; return new java.awt.Color( protocolor.getRed(), protocolor.getGreen(), protocolor.getBlue(), alpha); } public static Color toProto(java.awt.Color color) { float red = (float) color.getRed(); float green = (float) color.getGreen(); float blue = (float) color.getBlue(); float denominator = 255.0; Color.Builder resultBuilder = Color .newBuilder() .setRed(red / denominator) .setGreen(green / denominator) .setBlue(blue / denominator); int alpha = color.getAlpha(); if (alpha != 255) { result.setAlpha( FloatValue .newBuilder() .setValue(((float) alpha) / denominator) .build()); } return resultBuilder.build(); } // ... Example (iOS / Obj-C): // ... static UIColor* fromProto(Color* protocolor) { float red = [protocolor red]; float green = [protocolor green]; float blue = [protocolor blue]; FloatValue* alpha_wrapper = [protocolor alpha]; float alpha = 1.0; if (alpha_wrapper != nil) { alpha = [alpha_wrapper value]; } return [UIColor colorWithRed:red green:green blue:blue alpha:alpha]; } static Color* toProto(UIColor* color) { CGFloat red, green, blue, alpha; if (![color getRed:&red green:&green blue:&blue alpha:&alpha]) { return nil; } Color* result = [[Color alloc] init]; [result setRed:red]; [result setGreen:green]; [result setBlue:blue]; if (alpha <= 0.9999) { [result setAlpha:floatWrapperWithValue(alpha)]; } [result autorelease]; return result; } // ... Example (JavaScript): // ... var protoToCssColor = function(rgb_color) { var redFrac = rgb_color.red || 0.0; var greenFrac = rgb_color.green || 0.0; var blueFrac = rgb_color.blue || 0.0; var red = Math.floor(redFrac * 255); var green = Math.floor(greenFrac * 255); var blue = Math.floor(blueFrac * 255); if (!('alpha' in rgb_color)) { return rgbToCssColor(red, green, blue); } var alphaFrac = rgb_color.alpha.value || 0.0; var rgbParams = [red, green, blue].join(','); return ['rgba(', rgbParams, ',', alphaFrac, ')'].join(''); }; var rgbToCssColor = function(red, green, blue) { var rgbNumber = new Number((red << 16) | (green << 8) | blue); var hexString = rgbNumber.toString(16); var missingZeros = 6 - hexString.length; var resultBuilder = ['#']; for (var i = 0; i < missingZeros; i++) { resultBuilder.push('0'); } resultBuilder.push(hexString); return resultBuilder.join(''); }; // ... # If set, the button is filled with a solid background. + "alpha": 3.14, # The fraction of this color that should be applied to the pixel. That is, the final pixel color is defined by the equation: `pixel color = alpha * (this color) + (1.0 - alpha) * (background color)` This means that a value of 1.0 corresponds to a solid color, whereas a value of 0.0 corresponds to a completely transparent color. This uses a wrapper message rather than a simple float scalar so that it is possible to distinguish between a default value and the value being unset. If omitted, this color object is rendered as a solid color (as if the alpha value had been explicitly given a value of 1.0). + "blue": 3.14, # The amount of blue in the color as a value in the interval [0, 1]. + "green": 3.14, # The amount of green in the color as a value in the interval [0, 1]. + "red": 3.14, # The amount of red in the color as a value in the interval [0, 1]. + }, + "disabled": True or False, # If `true`, the button is displayed in a disabled state and doesn't respond to user actions. + "icon": { # The icon image. + "altText": "A String", # The description of the icon, used for accessibility. The default value is provided if you don't specify one. + "iconUrl": "A String", # The icon specified by a URL. + "imageType": "A String", # The crop style applied to the image. In some cases, applying a `CIRCLE` crop causes the image to be drawn larger than a standard icon. + "knownIcon": "A String", # The icon specified by the string name of a list of known icons. + }, + "onClick": { # Represents the response to an `onClick` event. # The action to perform when the button is clicked. + "action": { # An action that describes the behavior when the form is submitted. For example, an Apps Script can be invoked to handle the form. # If specified, an action is triggered by this `onClick`. + "function": "A String", # Apps Script function to invoke when the containing element is clicked/activated. + "loadIndicator": "A String", # Specifies the loading indicator that the action displays while making the call to the action. + "parameters": [ # List of action parameters. + { # List of string parameters to supply when the action method is invoked. For example, consider three snooze buttons: snooze now, snooze 1 day, snooze next week. You might use action method = snooze(), passing the snooze type and snooze time in the list of string parameters. + "key": "A String", # The name of the parameter for the action script. + "value": "A String", # The value of the parameter. + }, + ], + "persistValues": True or False, # Indicates whether form values persist after the action. The default value is `false`. If `true`, form values remain after the action is triggered. When using [LoadIndicator.NONE](workspace/add-ons/reference/rpc/google.apps.card.v1#loadindicator) for actions, `persist_values` = `true`is recommended, as it ensures that any changes made by the user after form or on change actions are sent to the server are not overwritten by the response. If `false`, the form values are cleared when the action is triggered. When `persist_values` is set to `false`, it is strongly recommended that the card use [LoadIndicator.SPINNER](workspace/add-ons/reference/rpc/google.apps.card.v1#loadindicator) for all actions, as this locks the UI to ensure no changes are made by the user while the action is being processed. Not supported by Google Chat apps. + }, + "card": # Object with schema name: GoogleAppsCardV1Card # A new card is pushed to the card stack after clicking if specified. + "openDynamicLinkAction": { # An action that describes the behavior when the form is submitted. For example, an Apps Script can be invoked to handle the form. # An add-on triggers this action when the action needs to open a link. This differs from the `open_link` above in that this needs to talk to server to get the link. Thus some preparation work is required for web client to do before the open link action response comes back. + "function": "A String", # Apps Script function to invoke when the containing element is clicked/activated. + "loadIndicator": "A String", # Specifies the loading indicator that the action displays while making the call to the action. + "parameters": [ # List of action parameters. + { # List of string parameters to supply when the action method is invoked. For example, consider three snooze buttons: snooze now, snooze 1 day, snooze next week. You might use action method = snooze(), passing the snooze type and snooze time in the list of string parameters. + "key": "A String", # The name of the parameter for the action script. + "value": "A String", # The value of the parameter. + }, + ], + "persistValues": True or False, # Indicates whether form values persist after the action. The default value is `false`. If `true`, form values remain after the action is triggered. When using [LoadIndicator.NONE](workspace/add-ons/reference/rpc/google.apps.card.v1#loadindicator) for actions, `persist_values` = `true`is recommended, as it ensures that any changes made by the user after form or on change actions are sent to the server are not overwritten by the response. If `false`, the form values are cleared when the action is triggered. When `persist_values` is set to `false`, it is strongly recommended that the card use [LoadIndicator.SPINNER](workspace/add-ons/reference/rpc/google.apps.card.v1#loadindicator) for all actions, as this locks the UI to ensure no changes are made by the user while the action is being processed. Not supported by Google Chat apps. + }, + "openLink": { # Represents an `onClick` event that opens a hyperlink. # If specified, this `onClick` triggers an open link action. + "onClose": "A String", # Whether the client forgets about a link after opening it, or observes it until the window closes. Not supported by Chat apps. + "openAs": "A String", # How to open a link. Not supported by Chat apps. + "url": "A String", # The URL to open. + }, + }, + "text": "A String", # The text of the button. + }, + "endIcon": { # An icon displayed after the text. + "altText": "A String", # The description of the icon, used for accessibility. The default value is provided if you don't specify one. + "iconUrl": "A String", # The icon specified by a URL. + "imageType": "A String", # The crop style applied to the image. In some cases, applying a `CIRCLE` crop causes the image to be drawn larger than a standard icon. + "knownIcon": "A String", # The icon specified by the string name of a list of known icons. + }, + "icon": { # Deprecated in favor of start_icon. + "altText": "A String", # The description of the icon, used for accessibility. The default value is provided if you don't specify one. + "iconUrl": "A String", # The icon specified by a URL. + "imageType": "A String", # The crop style applied to the image. In some cases, applying a `CIRCLE` crop causes the image to be drawn larger than a standard icon. + "knownIcon": "A String", # The icon specified by the string name of a list of known icons. + }, + "onClick": { # Represents the response to an `onClick` event. # Only the top and bottom label and content region are clickable. + "action": { # An action that describes the behavior when the form is submitted. For example, an Apps Script can be invoked to handle the form. # If specified, an action is triggered by this `onClick`. + "function": "A String", # Apps Script function to invoke when the containing element is clicked/activated. + "loadIndicator": "A String", # Specifies the loading indicator that the action displays while making the call to the action. + "parameters": [ # List of action parameters. + { # List of string parameters to supply when the action method is invoked. For example, consider three snooze buttons: snooze now, snooze 1 day, snooze next week. You might use action method = snooze(), passing the snooze type and snooze time in the list of string parameters. + "key": "A String", # The name of the parameter for the action script. + "value": "A String", # The value of the parameter. + }, + ], + "persistValues": True or False, # Indicates whether form values persist after the action. The default value is `false`. If `true`, form values remain after the action is triggered. When using [LoadIndicator.NONE](workspace/add-ons/reference/rpc/google.apps.card.v1#loadindicator) for actions, `persist_values` = `true`is recommended, as it ensures that any changes made by the user after form or on change actions are sent to the server are not overwritten by the response. If `false`, the form values are cleared when the action is triggered. When `persist_values` is set to `false`, it is strongly recommended that the card use [LoadIndicator.SPINNER](workspace/add-ons/reference/rpc/google.apps.card.v1#loadindicator) for all actions, as this locks the UI to ensure no changes are made by the user while the action is being processed. Not supported by Google Chat apps. + }, + "card": # Object with schema name: GoogleAppsCardV1Card # A new card is pushed to the card stack after clicking if specified. + "openDynamicLinkAction": { # An action that describes the behavior when the form is submitted. For example, an Apps Script can be invoked to handle the form. # An add-on triggers this action when the action needs to open a link. This differs from the `open_link` above in that this needs to talk to server to get the link. Thus some preparation work is required for web client to do before the open link action response comes back. + "function": "A String", # Apps Script function to invoke when the containing element is clicked/activated. + "loadIndicator": "A String", # Specifies the loading indicator that the action displays while making the call to the action. + "parameters": [ # List of action parameters. + { # List of string parameters to supply when the action method is invoked. For example, consider three snooze buttons: snooze now, snooze 1 day, snooze next week. You might use action method = snooze(), passing the snooze type and snooze time in the list of string parameters. + "key": "A String", # The name of the parameter for the action script. + "value": "A String", # The value of the parameter. + }, + ], + "persistValues": True or False, # Indicates whether form values persist after the action. The default value is `false`. If `true`, form values remain after the action is triggered. When using [LoadIndicator.NONE](workspace/add-ons/reference/rpc/google.apps.card.v1#loadindicator) for actions, `persist_values` = `true`is recommended, as it ensures that any changes made by the user after form or on change actions are sent to the server are not overwritten by the response. If `false`, the form values are cleared when the action is triggered. When `persist_values` is set to `false`, it is strongly recommended that the card use [LoadIndicator.SPINNER](workspace/add-ons/reference/rpc/google.apps.card.v1#loadindicator) for all actions, as this locks the UI to ensure no changes are made by the user while the action is being processed. Not supported by Google Chat apps. + }, + "openLink": { # Represents an `onClick` event that opens a hyperlink. # If specified, this `onClick` triggers an open link action. + "onClose": "A String", # Whether the client forgets about a link after opening it, or observes it until the window closes. Not supported by Chat apps. + "openAs": "A String", # How to open a link. Not supported by Chat apps. + "url": "A String", # The URL to open. + }, + }, + "startIcon": { # The icon displayed in front of the text. + "altText": "A String", # The description of the icon, used for accessibility. The default value is provided if you don't specify one. + "iconUrl": "A String", # The icon specified by a URL. + "imageType": "A String", # The crop style applied to the image. In some cases, applying a `CIRCLE` crop causes the image to be drawn larger than a standard icon. + "knownIcon": "A String", # The icon specified by the string name of a list of known icons. + }, + "switchControl": { # Either a toggle-style switch or a checkbox. # A switch widget can be clicked to change its state or trigger an action. + "controlType": "A String", # The control type, either switch or checkbox. + "name": "A String", # The name of the switch widget that's used in `formInput`. + "onChangeAction": { # An action that describes the behavior when the form is submitted. For example, an Apps Script can be invoked to handle the form. # The action when the switch state is changed. + "function": "A String", # Apps Script function to invoke when the containing element is clicked/activated. + "loadIndicator": "A String", # Specifies the loading indicator that the action displays while making the call to the action. + "parameters": [ # List of action parameters. + { # List of string parameters to supply when the action method is invoked. For example, consider three snooze buttons: snooze now, snooze 1 day, snooze next week. You might use action method = snooze(), passing the snooze type and snooze time in the list of string parameters. + "key": "A String", # The name of the parameter for the action script. + "value": "A String", # The value of the parameter. + }, + ], + "persistValues": True or False, # Indicates whether form values persist after the action. The default value is `false`. If `true`, form values remain after the action is triggered. When using [LoadIndicator.NONE](workspace/add-ons/reference/rpc/google.apps.card.v1#loadindicator) for actions, `persist_values` = `true`is recommended, as it ensures that any changes made by the user after form or on change actions are sent to the server are not overwritten by the response. If `false`, the form values are cleared when the action is triggered. When `persist_values` is set to `false`, it is strongly recommended that the card use [LoadIndicator.SPINNER](workspace/add-ons/reference/rpc/google.apps.card.v1#loadindicator) for all actions, as this locks the UI to ensure no changes are made by the user while the action is being processed. Not supported by Google Chat apps. + }, + "selected": True or False, # If the switch is selected. + "value": "A String", # The value is what is passed back in the callback. + }, + "text": "A String", # Required. The main widget formatted text. See Text formatting for details. + "topLabel": "A String", # The formatted text label that shows above the main text. + "wrapText": True or False, # The wrap text setting. If `true`, the text is wrapped and displayed in multiline. Otherwise, the text is truncated. + }, + "divider": { # A divider that appears in between widgets. # Displays a divider. For example, the following JSON creates a divider: ``` "divider": { } ``` + }, + "grid": { # Represents a Grid widget that displays items in a configurable grid layout. # Displays a grid with a collection of items. For example, the following JSON creates a 2 column grid with a single item: ``` "grid": { "title": "A fine collection of items", "numColumns": 2, "borderStyle": { "type": "STROKE", "cornerRadius": 4.0 }, "items": [ "image": { "imageUri": "https://www.example.com/image.png", "cropStyle": { "type": "SQUARE" }, "borderStyle": { "type": "STROKE" } }, "title": "An item", "textAlignment": "CENTER" ], "onClick": { "openLink": { "url":"https://www.example.com" } } } ``` + "borderStyle": { # Represents the complete border style applied to widgets. # The border style to apply to each grid item. + "cornerRadius": 42, # The corner radius for the border. + "strokeColor": { # Represents a color in the RGBA color space. This representation is designed for simplicity of conversion to/from color representations in various languages over compactness. For example, the fields of this representation can be trivially provided to the constructor of `java.awt.Color` in Java; it can also be trivially provided to UIColor's `+colorWithRed:green:blue:alpha` method in iOS; and, with just a little work, it can be easily formatted into a CSS `rgba()` string in JavaScript. This reference page doesn't carry information about the absolute color space that should be used to interpret the RGB value (e.g. sRGB, Adobe RGB, DCI-P3, BT.2020, etc.). By default, applications should assume the sRGB color space. When color equality needs to be decided, implementations, unless documented otherwise, treat two colors as equal if all their red, green, blue, and alpha values each differ by at most 1e-5. Example (Java): import com.google.type.Color; // ... public static java.awt.Color fromProto(Color protocolor) { float alpha = protocolor.hasAlpha() ? protocolor.getAlpha().getValue() : 1.0; return new java.awt.Color( protocolor.getRed(), protocolor.getGreen(), protocolor.getBlue(), alpha); } public static Color toProto(java.awt.Color color) { float red = (float) color.getRed(); float green = (float) color.getGreen(); float blue = (float) color.getBlue(); float denominator = 255.0; Color.Builder resultBuilder = Color .newBuilder() .setRed(red / denominator) .setGreen(green / denominator) .setBlue(blue / denominator); int alpha = color.getAlpha(); if (alpha != 255) { result.setAlpha( FloatValue .newBuilder() .setValue(((float) alpha) / denominator) .build()); } return resultBuilder.build(); } // ... Example (iOS / Obj-C): // ... static UIColor* fromProto(Color* protocolor) { float red = [protocolor red]; float green = [protocolor green]; float blue = [protocolor blue]; FloatValue* alpha_wrapper = [protocolor alpha]; float alpha = 1.0; if (alpha_wrapper != nil) { alpha = [alpha_wrapper value]; } return [UIColor colorWithRed:red green:green blue:blue alpha:alpha]; } static Color* toProto(UIColor* color) { CGFloat red, green, blue, alpha; if (![color getRed:&red green:&green blue:&blue alpha:&alpha]) { return nil; } Color* result = [[Color alloc] init]; [result setRed:red]; [result setGreen:green]; [result setBlue:blue]; if (alpha <= 0.9999) { [result setAlpha:floatWrapperWithValue(alpha)]; } [result autorelease]; return result; } // ... Example (JavaScript): // ... var protoToCssColor = function(rgb_color) { var redFrac = rgb_color.red || 0.0; var greenFrac = rgb_color.green || 0.0; var blueFrac = rgb_color.blue || 0.0; var red = Math.floor(redFrac * 255); var green = Math.floor(greenFrac * 255); var blue = Math.floor(blueFrac * 255); if (!('alpha' in rgb_color)) { return rgbToCssColor(red, green, blue); } var alphaFrac = rgb_color.alpha.value || 0.0; var rgbParams = [red, green, blue].join(','); return ['rgba(', rgbParams, ',', alphaFrac, ')'].join(''); }; var rgbToCssColor = function(red, green, blue) { var rgbNumber = new Number((red << 16) | (green << 8) | blue); var hexString = rgbNumber.toString(16); var missingZeros = 6 - hexString.length; var resultBuilder = ['#']; for (var i = 0; i < missingZeros; i++) { resultBuilder.push('0'); } resultBuilder.push(hexString); return resultBuilder.join(''); }; // ... # The colors to use when the type is `BORDER_TYPE_STROKE`. + "alpha": 3.14, # The fraction of this color that should be applied to the pixel. That is, the final pixel color is defined by the equation: `pixel color = alpha * (this color) + (1.0 - alpha) * (background color)` This means that a value of 1.0 corresponds to a solid color, whereas a value of 0.0 corresponds to a completely transparent color. This uses a wrapper message rather than a simple float scalar so that it is possible to distinguish between a default value and the value being unset. If omitted, this color object is rendered as a solid color (as if the alpha value had been explicitly given a value of 1.0). + "blue": 3.14, # The amount of blue in the color as a value in the interval [0, 1]. + "green": 3.14, # The amount of green in the color as a value in the interval [0, 1]. + "red": 3.14, # The amount of red in the color as a value in the interval [0, 1]. + }, + "type": "A String", # The border type. + }, + "columnCount": 42, # The number of columns to display in the grid. A default value is used if this field isn't specified, and that default value is different depending on where the grid is shown (dialog versus companion). + "items": [ # The items to display in the grid. + { # Represents a single item in the grid layout. + "id": "A String", # A user-specified identifier for this grid item. This identifier is returned in the parent Grid's onClick callback parameters. + "image": { # Represents an image. # The image that displays in the grid item. + "altText": "A String", # The accessibility label for the image. + "borderStyle": { # Represents the complete border style applied to widgets. # The border style to apply to the image. + "cornerRadius": 42, # The corner radius for the border. + "strokeColor": { # Represents a color in the RGBA color space. This representation is designed for simplicity of conversion to/from color representations in various languages over compactness. For example, the fields of this representation can be trivially provided to the constructor of `java.awt.Color` in Java; it can also be trivially provided to UIColor's `+colorWithRed:green:blue:alpha` method in iOS; and, with just a little work, it can be easily formatted into a CSS `rgba()` string in JavaScript. This reference page doesn't carry information about the absolute color space that should be used to interpret the RGB value (e.g. sRGB, Adobe RGB, DCI-P3, BT.2020, etc.). By default, applications should assume the sRGB color space. When color equality needs to be decided, implementations, unless documented otherwise, treat two colors as equal if all their red, green, blue, and alpha values each differ by at most 1e-5. Example (Java): import com.google.type.Color; // ... public static java.awt.Color fromProto(Color protocolor) { float alpha = protocolor.hasAlpha() ? protocolor.getAlpha().getValue() : 1.0; return new java.awt.Color( protocolor.getRed(), protocolor.getGreen(), protocolor.getBlue(), alpha); } public static Color toProto(java.awt.Color color) { float red = (float) color.getRed(); float green = (float) color.getGreen(); float blue = (float) color.getBlue(); float denominator = 255.0; Color.Builder resultBuilder = Color .newBuilder() .setRed(red / denominator) .setGreen(green / denominator) .setBlue(blue / denominator); int alpha = color.getAlpha(); if (alpha != 255) { result.setAlpha( FloatValue .newBuilder() .setValue(((float) alpha) / denominator) .build()); } return resultBuilder.build(); } // ... Example (iOS / Obj-C): // ... static UIColor* fromProto(Color* protocolor) { float red = [protocolor red]; float green = [protocolor green]; float blue = [protocolor blue]; FloatValue* alpha_wrapper = [protocolor alpha]; float alpha = 1.0; if (alpha_wrapper != nil) { alpha = [alpha_wrapper value]; } return [UIColor colorWithRed:red green:green blue:blue alpha:alpha]; } static Color* toProto(UIColor* color) { CGFloat red, green, blue, alpha; if (![color getRed:&red green:&green blue:&blue alpha:&alpha]) { return nil; } Color* result = [[Color alloc] init]; [result setRed:red]; [result setGreen:green]; [result setBlue:blue]; if (alpha <= 0.9999) { [result setAlpha:floatWrapperWithValue(alpha)]; } [result autorelease]; return result; } // ... Example (JavaScript): // ... var protoToCssColor = function(rgb_color) { var redFrac = rgb_color.red || 0.0; var greenFrac = rgb_color.green || 0.0; var blueFrac = rgb_color.blue || 0.0; var red = Math.floor(redFrac * 255); var green = Math.floor(greenFrac * 255); var blue = Math.floor(blueFrac * 255); if (!('alpha' in rgb_color)) { return rgbToCssColor(red, green, blue); } var alphaFrac = rgb_color.alpha.value || 0.0; var rgbParams = [red, green, blue].join(','); return ['rgba(', rgbParams, ',', alphaFrac, ')'].join(''); }; var rgbToCssColor = function(red, green, blue) { var rgbNumber = new Number((red << 16) | (green << 8) | blue); var hexString = rgbNumber.toString(16); var missingZeros = 6 - hexString.length; var resultBuilder = ['#']; for (var i = 0; i < missingZeros; i++) { resultBuilder.push('0'); } resultBuilder.push(hexString); return resultBuilder.join(''); }; // ... # The colors to use when the type is `BORDER_TYPE_STROKE`. + "alpha": 3.14, # The fraction of this color that should be applied to the pixel. That is, the final pixel color is defined by the equation: `pixel color = alpha * (this color) + (1.0 - alpha) * (background color)` This means that a value of 1.0 corresponds to a solid color, whereas a value of 0.0 corresponds to a completely transparent color. This uses a wrapper message rather than a simple float scalar so that it is possible to distinguish between a default value and the value being unset. If omitted, this color object is rendered as a solid color (as if the alpha value had been explicitly given a value of 1.0). + "blue": 3.14, # The amount of blue in the color as a value in the interval [0, 1]. + "green": 3.14, # The amount of green in the color as a value in the interval [0, 1]. + "red": 3.14, # The amount of red in the color as a value in the interval [0, 1]. + }, + "type": "A String", # The border type. + }, + "cropStyle": { # Represents the crop style applied to an image. # The crop style to apply to the image. + "aspectRatio": 3.14, # The aspect ratio to use if the crop type is `RECTANGLE_CUSTOM`. + "type": "A String", # The crop type. + }, + "imageUri": "A String", # The image URL. + }, + "layout": "A String", # The layout to use for the grid item. + "subtitle": "A String", # The grid item's subtitle. + "textAlignment": "A String", # The horizontal alignment of the grid item's text. + "title": "A String", # The grid item's title. + }, + ], + "onClick": { # Represents the response to an `onClick` event. # This callback is reused by each individual grid item, but with the item's identifier and index in the items list added to the callback's parameters. + "action": { # An action that describes the behavior when the form is submitted. For example, an Apps Script can be invoked to handle the form. # If specified, an action is triggered by this `onClick`. + "function": "A String", # Apps Script function to invoke when the containing element is clicked/activated. + "loadIndicator": "A String", # Specifies the loading indicator that the action displays while making the call to the action. + "parameters": [ # List of action parameters. + { # List of string parameters to supply when the action method is invoked. For example, consider three snooze buttons: snooze now, snooze 1 day, snooze next week. You might use action method = snooze(), passing the snooze type and snooze time in the list of string parameters. + "key": "A String", # The name of the parameter for the action script. + "value": "A String", # The value of the parameter. + }, + ], + "persistValues": True or False, # Indicates whether form values persist after the action. The default value is `false`. If `true`, form values remain after the action is triggered. When using [LoadIndicator.NONE](workspace/add-ons/reference/rpc/google.apps.card.v1#loadindicator) for actions, `persist_values` = `true`is recommended, as it ensures that any changes made by the user after form or on change actions are sent to the server are not overwritten by the response. If `false`, the form values are cleared when the action is triggered. When `persist_values` is set to `false`, it is strongly recommended that the card use [LoadIndicator.SPINNER](workspace/add-ons/reference/rpc/google.apps.card.v1#loadindicator) for all actions, as this locks the UI to ensure no changes are made by the user while the action is being processed. Not supported by Google Chat apps. + }, + "card": # Object with schema name: GoogleAppsCardV1Card # A new card is pushed to the card stack after clicking if specified. + "openDynamicLinkAction": { # An action that describes the behavior when the form is submitted. For example, an Apps Script can be invoked to handle the form. # An add-on triggers this action when the action needs to open a link. This differs from the `open_link` above in that this needs to talk to server to get the link. Thus some preparation work is required for web client to do before the open link action response comes back. + "function": "A String", # Apps Script function to invoke when the containing element is clicked/activated. + "loadIndicator": "A String", # Specifies the loading indicator that the action displays while making the call to the action. + "parameters": [ # List of action parameters. + { # List of string parameters to supply when the action method is invoked. For example, consider three snooze buttons: snooze now, snooze 1 day, snooze next week. You might use action method = snooze(), passing the snooze type and snooze time in the list of string parameters. + "key": "A String", # The name of the parameter for the action script. + "value": "A String", # The value of the parameter. + }, + ], + "persistValues": True or False, # Indicates whether form values persist after the action. The default value is `false`. If `true`, form values remain after the action is triggered. When using [LoadIndicator.NONE](workspace/add-ons/reference/rpc/google.apps.card.v1#loadindicator) for actions, `persist_values` = `true`is recommended, as it ensures that any changes made by the user after form or on change actions are sent to the server are not overwritten by the response. If `false`, the form values are cleared when the action is triggered. When `persist_values` is set to `false`, it is strongly recommended that the card use [LoadIndicator.SPINNER](workspace/add-ons/reference/rpc/google.apps.card.v1#loadindicator) for all actions, as this locks the UI to ensure no changes are made by the user while the action is being processed. Not supported by Google Chat apps. + }, + "openLink": { # Represents an `onClick` event that opens a hyperlink. # If specified, this `onClick` triggers an open link action. + "onClose": "A String", # Whether the client forgets about a link after opening it, or observes it until the window closes. Not supported by Chat apps. + "openAs": "A String", # How to open a link. Not supported by Chat apps. + "url": "A String", # The URL to open. + }, + }, + "title": "A String", # The text that displays in the grid header. + }, + "horizontalAlignment": "A String", # The horizontal alignment of this widget. + "image": { # An image that is specified by a URL and can have an `onClick` action. # Displays an image in this widget. For example, the following JSON creates an image with alternative text: ``` "image": { "imageUrl": "https://example.com/sasha.png" "altText": "Avatar for Sasha" } ``` + "altText": "A String", # The alternative text of this image, used for accessibility. + "imageUrl": "A String", # An image URL. + "onClick": { # Represents the response to an `onClick` event. # The action triggered by an `onClick` event. + "action": { # An action that describes the behavior when the form is submitted. For example, an Apps Script can be invoked to handle the form. # If specified, an action is triggered by this `onClick`. + "function": "A String", # Apps Script function to invoke when the containing element is clicked/activated. + "loadIndicator": "A String", # Specifies the loading indicator that the action displays while making the call to the action. + "parameters": [ # List of action parameters. + { # List of string parameters to supply when the action method is invoked. For example, consider three snooze buttons: snooze now, snooze 1 day, snooze next week. You might use action method = snooze(), passing the snooze type and snooze time in the list of string parameters. + "key": "A String", # The name of the parameter for the action script. + "value": "A String", # The value of the parameter. + }, + ], + "persistValues": True or False, # Indicates whether form values persist after the action. The default value is `false`. If `true`, form values remain after the action is triggered. When using [LoadIndicator.NONE](workspace/add-ons/reference/rpc/google.apps.card.v1#loadindicator) for actions, `persist_values` = `true`is recommended, as it ensures that any changes made by the user after form or on change actions are sent to the server are not overwritten by the response. If `false`, the form values are cleared when the action is triggered. When `persist_values` is set to `false`, it is strongly recommended that the card use [LoadIndicator.SPINNER](workspace/add-ons/reference/rpc/google.apps.card.v1#loadindicator) for all actions, as this locks the UI to ensure no changes are made by the user while the action is being processed. Not supported by Google Chat apps. + }, + "card": # Object with schema name: GoogleAppsCardV1Card # A new card is pushed to the card stack after clicking if specified. + "openDynamicLinkAction": { # An action that describes the behavior when the form is submitted. For example, an Apps Script can be invoked to handle the form. # An add-on triggers this action when the action needs to open a link. This differs from the `open_link` above in that this needs to talk to server to get the link. Thus some preparation work is required for web client to do before the open link action response comes back. + "function": "A String", # Apps Script function to invoke when the containing element is clicked/activated. + "loadIndicator": "A String", # Specifies the loading indicator that the action displays while making the call to the action. + "parameters": [ # List of action parameters. + { # List of string parameters to supply when the action method is invoked. For example, consider three snooze buttons: snooze now, snooze 1 day, snooze next week. You might use action method = snooze(), passing the snooze type and snooze time in the list of string parameters. + "key": "A String", # The name of the parameter for the action script. + "value": "A String", # The value of the parameter. + }, + ], + "persistValues": True or False, # Indicates whether form values persist after the action. The default value is `false`. If `true`, form values remain after the action is triggered. When using [LoadIndicator.NONE](workspace/add-ons/reference/rpc/google.apps.card.v1#loadindicator) for actions, `persist_values` = `true`is recommended, as it ensures that any changes made by the user after form or on change actions are sent to the server are not overwritten by the response. If `false`, the form values are cleared when the action is triggered. When `persist_values` is set to `false`, it is strongly recommended that the card use [LoadIndicator.SPINNER](workspace/add-ons/reference/rpc/google.apps.card.v1#loadindicator) for all actions, as this locks the UI to ensure no changes are made by the user while the action is being processed. Not supported by Google Chat apps. + }, + "openLink": { # Represents an `onClick` event that opens a hyperlink. # If specified, this `onClick` triggers an open link action. + "onClose": "A String", # Whether the client forgets about a link after opening it, or observes it until the window closes. Not supported by Chat apps. + "openAs": "A String", # How to open a link. Not supported by Chat apps. + "url": "A String", # The URL to open. + }, + }, + }, + "selectionInput": { # A widget that creates a UI item with options for users to select. For example, a dropdown menu. # Displays a switch control in this widget. For example, the following JSON creates a dropdown selection for size: ``` "switchControl": { "name": "size", "label": "Size" "type": "SelectionType.DROPDOWN", "items": [ { "text": "S", "value": "small", "selected": false }, { "text": "M", "value": "medium", "selected": true }, { "text": "L", "value": "large", "selected": false }, { "text": "XL", "value": "extra_large", "selected": false } ] } ``` + "items": [ # An array of the selected items. + { # A selectable item in the switch control. + "selected": True or False, # If more than one item is selected for `RADIO_BUTTON` and `DROPDOWN`, the first selected item is treated as selected and the ones after are ignored. + "text": "A String", # The text to be displayed. + "value": "A String", # The value associated with this item. The client should use this as a form input value. + }, + ], + "label": "A String", # The label displayed ahead of the switch control. + "name": "A String", # The name of the text input which is used in `formInput`. + "onChangeAction": { # An action that describes the behavior when the form is submitted. For example, an Apps Script can be invoked to handle the form. # If specified, the form is submitted when the selection changes. If not specified, you must specify a separate button. + "function": "A String", # Apps Script function to invoke when the containing element is clicked/activated. + "loadIndicator": "A String", # Specifies the loading indicator that the action displays while making the call to the action. + "parameters": [ # List of action parameters. + { # List of string parameters to supply when the action method is invoked. For example, consider three snooze buttons: snooze now, snooze 1 day, snooze next week. You might use action method = snooze(), passing the snooze type and snooze time in the list of string parameters. + "key": "A String", # The name of the parameter for the action script. + "value": "A String", # The value of the parameter. + }, + ], + "persistValues": True or False, # Indicates whether form values persist after the action. The default value is `false`. If `true`, form values remain after the action is triggered. When using [LoadIndicator.NONE](workspace/add-ons/reference/rpc/google.apps.card.v1#loadindicator) for actions, `persist_values` = `true`is recommended, as it ensures that any changes made by the user after form or on change actions are sent to the server are not overwritten by the response. If `false`, the form values are cleared when the action is triggered. When `persist_values` is set to `false`, it is strongly recommended that the card use [LoadIndicator.SPINNER](workspace/add-ons/reference/rpc/google.apps.card.v1#loadindicator) for all actions, as this locks the UI to ensure no changes are made by the user while the action is being processed. Not supported by Google Chat apps. + }, + "type": "A String", # The type of the selection. + }, + "textInput": { # A text input is a UI item where users can input text. A text input can also have an onChange action and suggestions. # Displays a text input in this widget. For example, the following JSON creates a text input for mail address: ``` "textInput": { "name": "mailing_address", "label": "Mailing Address" } ``` As another example, the following JSON creates a text input for programming language with static suggestions: ``` "textInput": { "name": "preferred_programing_language", "label": "Preferred Language", "initialSuggestions": { "items": [ { "text": "C++" }, { "text": "Java" }, { "text": "JavaScript" }, { "text": "Python" } ] } } ``` + "autoCompleteAction": { # An action that describes the behavior when the form is submitted. For example, an Apps Script can be invoked to handle the form. # The refresh function that returns suggestions based on the user's input text. If the callback is not specified, autocomplete is done in client side based on the initial suggestion items. + "function": "A String", # Apps Script function to invoke when the containing element is clicked/activated. + "loadIndicator": "A String", # Specifies the loading indicator that the action displays while making the call to the action. + "parameters": [ # List of action parameters. + { # List of string parameters to supply when the action method is invoked. For example, consider three snooze buttons: snooze now, snooze 1 day, snooze next week. You might use action method = snooze(), passing the snooze type and snooze time in the list of string parameters. + "key": "A String", # The name of the parameter for the action script. + "value": "A String", # The value of the parameter. + }, + ], + "persistValues": True or False, # Indicates whether form values persist after the action. The default value is `false`. If `true`, form values remain after the action is triggered. When using [LoadIndicator.NONE](workspace/add-ons/reference/rpc/google.apps.card.v1#loadindicator) for actions, `persist_values` = `true`is recommended, as it ensures that any changes made by the user after form or on change actions are sent to the server are not overwritten by the response. If `false`, the form values are cleared when the action is triggered. When `persist_values` is set to `false`, it is strongly recommended that the card use [LoadIndicator.SPINNER](workspace/add-ons/reference/rpc/google.apps.card.v1#loadindicator) for all actions, as this locks the UI to ensure no changes are made by the user while the action is being processed. Not supported by Google Chat apps. + }, + "hintText": "A String", # The hint text. + "initialSuggestions": { # A container wrapping elements necessary for showing suggestion items used in text input autocomplete. # The initial suggestions made before any user input. + "items": [ # A list of suggestions used for autocomplete recommendations. + { # A suggestion item. + "text": "A String", # The suggested autocomplete result. + }, + ], + }, + "label": "A String", # At least one of label and hintText must be specified. + "name": "A String", # The name of the text input which is used in `formInput`. + "onChangeAction": { # An action that describes the behavior when the form is submitted. For example, an Apps Script can be invoked to handle the form. # The onChange action, for example, invoke a function. + "function": "A String", # Apps Script function to invoke when the containing element is clicked/activated. + "loadIndicator": "A String", # Specifies the loading indicator that the action displays while making the call to the action. + "parameters": [ # List of action parameters. + { # List of string parameters to supply when the action method is invoked. For example, consider three snooze buttons: snooze now, snooze 1 day, snooze next week. You might use action method = snooze(), passing the snooze type and snooze time in the list of string parameters. + "key": "A String", # The name of the parameter for the action script. + "value": "A String", # The value of the parameter. + }, + ], + "persistValues": True or False, # Indicates whether form values persist after the action. The default value is `false`. If `true`, form values remain after the action is triggered. When using [LoadIndicator.NONE](workspace/add-ons/reference/rpc/google.apps.card.v1#loadindicator) for actions, `persist_values` = `true`is recommended, as it ensures that any changes made by the user after form or on change actions are sent to the server are not overwritten by the response. If `false`, the form values are cleared when the action is triggered. When `persist_values` is set to `false`, it is strongly recommended that the card use [LoadIndicator.SPINNER](workspace/add-ons/reference/rpc/google.apps.card.v1#loadindicator) for all actions, as this locks the UI to ensure no changes are made by the user while the action is being processed. Not supported by Google Chat apps. + }, + "type": "A String", # The style of the text, for example, a single line or multiple lines. + "value": "A String", # The default value when there is no input from the user. + }, + "textParagraph": { # A paragraph of text that supports formatting. See [Text formatting](workspace/add-ons/concepts/widgets#text_formatting) for details. # Displays a text paragraph in this widget. For example, the following JSON creates a bolded text: ``` "textParagraph": { "text": " *bold text*" } ``` + "text": "A String", # The text that's shown in the widget. + }, + }, + ], + }, + ], + }, + "cardId": "A String", # Required for `cardsV2` messages. Chat app-specified identifier for this widget. Scoped within a message. + }, + ], "createTime": "A String", # Output only. The time at which the message was created in Google Chat server. "fallbackText": "A String", # A plain-text description of the message's cards, used when the actual cards cannot be displayed (e.g. mobile notifications). "lastUpdateTime": "A String", # Output only. The time at which the message was last edited by a user. If the message has never been edited, this field is empty. @@ -3997,8 +6623,12 @@

Method Details

"displayName": "A String", # The space's display name. For direct messages between humans, this field might be empty. "name": "A String", # Resource name of the space. Format: spaces/{space} "singleUserBotDm": True or False, # Output only. Whether the space is a DM between a Chat app and a single human. + "spaceDetails": { # Details about the space including description and rules. # Details about the space including description and rules. + "description": "A String", # Optional. A description of the space. It could describe the space's discussion topic, functional purpose, or participants. + "guidelines": "A String", # Optional. The space's rules, expectations, and etiquette. + }, "threaded": True or False, # Output only. Whether messages are threaded in this space. - "type": "A String", # Output only. Deprecated: Use `single_user_bot_dm` or `space_type` (developer preview) instead. The type of a space. + "type": "A String", # Output only. Deprecated: Use `singleUserBotDm` or `spaceType` (developer preview) instead. The type of a space. }, "text": "A String", # Plain-text body of the message. The first link to an image, video, web page, or other preview-able item generates a preview chip. "thread": { # A thread in Google Chat. # The thread the message belongs to. diff --git a/docs/dyn/chromepolicy_v1.customers.policies.groups.html b/docs/dyn/chromepolicy_v1.customers.policies.groups.html new file mode 100644 index 00000000000..2ec009bb929 --- /dev/null +++ b/docs/dyn/chromepolicy_v1.customers.policies.groups.html @@ -0,0 +1,249 @@ + + + +

Chrome Policy API . customers . policies . groups

+

Instance Methods

+

+ batchDelete(customer, body=None, x__xgafv=None)

+

Delete multiple policy values that are applied to a specific group. All targets must have the same target format. That is to say that they must point to the same target resource and must have the same keys specified in `additionalTargetKeyNames`, though the values for those keys may be different. On failure the request will return the error details as part of the google.rpc.Status.

+

+ batchModify(customer, body=None, x__xgafv=None)

+

Modify multiple policy values that are applied to a specific group. All targets must have the same target format. That is to say that they must point to the same target resource and must have the same keys specified in `additionalTargetKeyNames`, though the values for those keys may be different. On failure the request will return the error details as part of the google.rpc.Status.

+

+ close()

+

Close httplib2 connections.

+

+ listGroupPriorityOrdering(customer, body=None, x__xgafv=None)

+

Retrieve a group priority ordering for an app. The target app must be supplied in `additionalTargetKeyNames` in the PolicyTargetKey. On failure the request will return the error details as part of the google.rpc.Status.

+

+ updateGroupPriorityOrdering(customer, body=None, x__xgafv=None)

+

Update a group priority ordering for an app. The target app must be supplied in `additionalTargetKeyNames` in the PolicyTargetKey. On failure the request will return the error details as part of the google.rpc.Status.

+

Method Details

+
+ batchDelete(customer, body=None, x__xgafv=None) +
Delete multiple policy values that are applied to a specific group. All targets must have the same target format. That is to say that they must point to the same target resource and must have the same keys specified in `additionalTargetKeyNames`, though the values for those keys may be different. On failure the request will return the error details as part of the google.rpc.Status.
+
+Args:
+  customer: string, ID of the Google Workspace account or literal "my_customer" for the customer associated to the request. (required)
+  body: object, The request body.
+    The object takes the form of:
+
+{ # Request message for specifying that multiple policy values will be deleted.
+  "requests": [ # List of policies that will be deleted as defined by the `requests`. All requests in the list must follow these restrictions: 1. All schemas in the list must have the same root namespace. 2. All `policyTargetKey.targetResource` values must point to a group resource. 3. All `policyTargetKey` values must have the same `app_id` key name in the `additionalTargetKeys`. 4. No two modification requests can reference the same `policySchema` + ` policyTargetKey` pair.
+    { # Request parameters for deleting the policy value of a specific group target.
+      "policySchema": "A String", # The fully qualified name of the policy schema that is being inherited.
+      "policyTargetKey": { # The key used to identify the target on which the policy will be applied. # Required. The key of the target for which we want to modify a policy. The target resource must point to a Group.
+        "additionalTargetKeys": { # Map containing the additional target key name and value pairs used to further identify the target of the policy.
+          "a_key": "A String",
+        },
+        "targetResource": "A String", # The target resource on which this policy is applied. The following resources are supported: * Organizational Unit ("orgunits/{orgunit_id}")
+      },
+    },
+  ],
+}
+
+  x__xgafv: string, V1 error format.
+    Allowed values
+      1 - v1 error format
+      2 - v2 error format
+
+Returns:
+  An object of the form:
+
+    { # A generic empty message that you can re-use to avoid defining duplicated empty messages in your APIs. A typical example is to use it as the request or the response type of an API method. For instance: service Foo { rpc Bar(google.protobuf.Empty) returns (google.protobuf.Empty); }
+}
+
+ +
+ batchModify(customer, body=None, x__xgafv=None) +
Modify multiple policy values that are applied to a specific group. All targets must have the same target format. That is to say that they must point to the same target resource and must have the same keys specified in `additionalTargetKeyNames`, though the values for those keys may be different. On failure the request will return the error details as part of the google.rpc.Status.
+
+Args:
+  customer: string, ID of the Google Workspace account or literal "my_customer" for the customer associated to the request. (required)
+  body: object, The request body.
+    The object takes the form of:
+
+{ # Request message for modifying multiple policy values for a specific group-based target.
+  "requests": [ # List of policies to modify as defined by the `requests`. All requests in the list must follow these restrictions: 1. All schemas in the list must have the same root namespace. 2. All `policyTargetKey.targetResource` values must point to a group resource. 3. All `policyTargetKey` values must have the same `app_id` key name in the `additionalTargetKeys`. 4. No two modification requests can reference the same `policySchema` + ` policyTargetKey` pair.
+    { # Request parameters for modifying a policy value for a specific group target.
+      "policyTargetKey": { # The key used to identify the target on which the policy will be applied. # Required. The key of the target for which we want to modify a policy. The target resource must point to a Group.
+        "additionalTargetKeys": { # Map containing the additional target key name and value pairs used to further identify the target of the policy.
+          "a_key": "A String",
+        },
+        "targetResource": "A String", # The target resource on which this policy is applied. The following resources are supported: * Organizational Unit ("orgunits/{orgunit_id}")
+      },
+      "policyValue": { # A particular value for a policy managed by the service. # The new value for the policy.
+        "policySchema": "A String", # The fully qualified name of the policy schema associated with this policy.
+        "value": { # The value of the policy that is compatible with the schema that it is associated with.
+          "a_key": "", # Properties of the object.
+        },
+      },
+      "updateMask": "A String", # Required. Policy fields to update. Only fields in this mask will be updated; other fields in `policy_value` will be ignored (even if they have values). If a field is in this list it must have a value in 'policy_value'.
+    },
+  ],
+}
+
+  x__xgafv: string, V1 error format.
+    Allowed values
+      1 - v1 error format
+      2 - v2 error format
+
+Returns:
+  An object of the form:
+
+    { # A generic empty message that you can re-use to avoid defining duplicated empty messages in your APIs. A typical example is to use it as the request or the response type of an API method. For instance: service Foo { rpc Bar(google.protobuf.Empty) returns (google.protobuf.Empty); }
+}
+
+ +
+ close() +
Close httplib2 connections.
+
+ +
+ listGroupPriorityOrdering(customer, body=None, x__xgafv=None) +
Retrieve a group priority ordering for an app. The target app must be supplied in `additionalTargetKeyNames` in the PolicyTargetKey. On failure the request will return the error details as part of the google.rpc.Status.
+
+Args:
+  customer: string, Required. ID of the Google Workspace account or literal "my_customer" for the customer associated to the request. (required)
+  body: object, The request body.
+    The object takes the form of:
+
+{ # Request message for listing the group priority ordering of an app.
+  "policyNamespace": "A String", # Required. The namespace of the policy type for the request.
+  "policyTargetKey": { # The key used to identify the target on which the policy will be applied. # Required. The key of the target for which we want to retrieve the group priority ordering. The target resource must point to an app.
+    "additionalTargetKeys": { # Map containing the additional target key name and value pairs used to further identify the target of the policy.
+      "a_key": "A String",
+    },
+    "targetResource": "A String", # The target resource on which this policy is applied. The following resources are supported: * Organizational Unit ("orgunits/{orgunit_id}")
+  },
+}
+
+  x__xgafv: string, V1 error format.
+    Allowed values
+      1 - v1 error format
+      2 - v2 error format
+
+Returns:
+  An object of the form:
+
+    { # Response message for listing the group priority ordering of an app.
+  "groupIds": [ # Output only. The group IDs, in priority ordering.
+    "A String",
+  ],
+  "policyNamespace": "A String", # Output only. The namespace of the policy type of the group IDs.
+  "policyTargetKey": { # The key used to identify the target on which the policy will be applied. # Output only. The target resource for which the group priority ordering has been retrieved.
+    "additionalTargetKeys": { # Map containing the additional target key name and value pairs used to further identify the target of the policy.
+      "a_key": "A String",
+    },
+    "targetResource": "A String", # The target resource on which this policy is applied. The following resources are supported: * Organizational Unit ("orgunits/{orgunit_id}")
+  },
+}
+
+ +
+ updateGroupPriorityOrdering(customer, body=None, x__xgafv=None) +
Update a group priority ordering for an app. The target app must be supplied in `additionalTargetKeyNames` in the PolicyTargetKey. On failure the request will return the error details as part of the google.rpc.Status.
+
+Args:
+  customer: string, Required. ID of the Google Workspace account or literal "my_customer" for the customer associated to the request. (required)
+  body: object, The request body.
+    The object takes the form of:
+
+{ # Request message for updating the group priority ordering of an app.
+  "groupIds": [ # Required. The group IDs, in desired priority ordering.
+    "A String",
+  ],
+  "policyNamespace": "A String", # Required. The namespace of the policy type for the request.
+  "policyTargetKey": { # The key used to identify the target on which the policy will be applied. # Required. The key of the target for which we want to update the group priority ordering. The target resource must point to an app.
+    "additionalTargetKeys": { # Map containing the additional target key name and value pairs used to further identify the target of the policy.
+      "a_key": "A String",
+    },
+    "targetResource": "A String", # The target resource on which this policy is applied. The following resources are supported: * Organizational Unit ("orgunits/{orgunit_id}")
+  },
+}
+
+  x__xgafv: string, V1 error format.
+    Allowed values
+      1 - v1 error format
+      2 - v2 error format
+
+Returns:
+  An object of the form:
+
+    { # A generic empty message that you can re-use to avoid defining duplicated empty messages in your APIs. A typical example is to use it as the request or the response type of an API method. For instance: service Foo { rpc Bar(google.protobuf.Empty) returns (google.protobuf.Empty); }
+}
+
+ + \ No newline at end of file diff --git a/docs/dyn/chromepolicy_v1.customers.policies.html b/docs/dyn/chromepolicy_v1.customers.policies.html index aa103eb5b04..c267b2a7900 100644 --- a/docs/dyn/chromepolicy_v1.customers.policies.html +++ b/docs/dyn/chromepolicy_v1.customers.policies.html @@ -74,6 +74,11 @@

Chrome Policy API . customers . policies

Instance Methods

+

+ groups() +

+

Returns the groups Resource.

+

orgunits()

diff --git a/docs/dyn/cloudasset_v1.assets.html b/docs/dyn/cloudasset_v1.assets.html index 5c53565bd19..84bacc72e86 100644 --- a/docs/dyn/cloudasset_v1.assets.html +++ b/docs/dyn/cloudasset_v1.assets.html @@ -206,7 +206,7 @@

Method Details

"location": "A String", # Optional. String indicating the location of the expression for error reporting, e.g. a file name and a position in the file. "title": "A String", # Optional. Title for the expression, i.e. a short string describing its purpose. This can be used e.g. in UIs which allow to enter the expression. }, - "members": [ # Specifies the principals requesting access for a Google Cloud resource. `members` can have the following values: * `allUsers`: A special identifier that represents anyone who is on the internet; with or without a Google account. * `allAuthenticatedUsers`: A special identifier that represents anyone who is authenticated with a Google account or a service account. * `user:{emailid}`: An email address that represents a specific Google account. For example, `alice@example.com` . * `serviceAccount:{emailid}`: An email address that represents a service account. For example, `my-other-app@appspot.gserviceaccount.com`. * `group:{emailid}`: An email address that represents a Google group. For example, `admins@example.com`. * `deleted:user:{emailid}?uid={uniqueid}`: An email address (plus unique identifier) representing a user that has been recently deleted. For example, `alice@example.com?uid=123456789012345678901`. If the user is recovered, this value reverts to `user:{emailid}` and the recovered user retains the role in the binding. * `deleted:serviceAccount:{emailid}?uid={uniqueid}`: An email address (plus unique identifier) representing a service account that has been recently deleted. For example, `my-other-app@appspot.gserviceaccount.com?uid=123456789012345678901`. If the service account is undeleted, this value reverts to `serviceAccount:{emailid}` and the undeleted service account retains the role in the binding. * `deleted:group:{emailid}?uid={uniqueid}`: An email address (plus unique identifier) representing a Google group that has been recently deleted. For example, `admins@example.com?uid=123456789012345678901`. If the group is recovered, this value reverts to `group:{emailid}` and the recovered group retains the role in the binding. * `domain:{domain}`: The G Suite domain (primary) that represents all the users of that domain. For example, `google.com` or `example.com`. + "members": [ # Specifies the principals requesting access for a Google Cloud resource. `members` can have the following values: * `allUsers`: A special identifier that represents anyone who is on the internet; with or without a Google account. * `allAuthenticatedUsers`: A special identifier that represents anyone who is authenticated with a Google account or a service account. * `user:{emailid}`: An email address that represents a specific Google account. For example, `alice@example.com` . * `serviceAccount:{emailid}`: An email address that represents a Google service account. For example, `my-other-app@appspot.gserviceaccount.com`. * `serviceAccount:{projectid}.svc.id.goog[{namespace}/{kubernetes-sa}]`: An identifier for a [Kubernetes service account](https://cloud.google.com/kubernetes-engine/docs/how-to/kubernetes-service-accounts). For example, `my-project.svc.id.goog[my-namespace/my-kubernetes-sa]`. * `group:{emailid}`: An email address that represents a Google group. For example, `admins@example.com`. * `deleted:user:{emailid}?uid={uniqueid}`: An email address (plus unique identifier) representing a user that has been recently deleted. For example, `alice@example.com?uid=123456789012345678901`. If the user is recovered, this value reverts to `user:{emailid}` and the recovered user retains the role in the binding. * `deleted:serviceAccount:{emailid}?uid={uniqueid}`: An email address (plus unique identifier) representing a service account that has been recently deleted. For example, `my-other-app@appspot.gserviceaccount.com?uid=123456789012345678901`. If the service account is undeleted, this value reverts to `serviceAccount:{emailid}` and the undeleted service account retains the role in the binding. * `deleted:group:{emailid}?uid={uniqueid}`: An email address (plus unique identifier) representing a Google group that has been recently deleted. For example, `admins@example.com?uid=123456789012345678901`. If the group is recovered, this value reverts to `group:{emailid}` and the recovered group retains the role in the binding. * `domain:{domain}`: The G Suite domain (primary) that represents all the users of that domain. For example, `google.com` or `example.com`. "A String", ], "role": "A String", # Role that is assigned to the list of `members`, or principals. For example, `roles/viewer`, `roles/editor`, or `roles/owner`. diff --git a/docs/dyn/cloudasset_v1.effectiveIamPolicies.html b/docs/dyn/cloudasset_v1.effectiveIamPolicies.html index 076d0651f5f..fbfedd3a0bd 100644 --- a/docs/dyn/cloudasset_v1.effectiveIamPolicies.html +++ b/docs/dyn/cloudasset_v1.effectiveIamPolicies.html @@ -125,7 +125,7 @@

Method Details

"location": "A String", # Optional. String indicating the location of the expression for error reporting, e.g. a file name and a position in the file. "title": "A String", # Optional. Title for the expression, i.e. a short string describing its purpose. This can be used e.g. in UIs which allow to enter the expression. }, - "members": [ # Specifies the principals requesting access for a Google Cloud resource. `members` can have the following values: * `allUsers`: A special identifier that represents anyone who is on the internet; with or without a Google account. * `allAuthenticatedUsers`: A special identifier that represents anyone who is authenticated with a Google account or a service account. * `user:{emailid}`: An email address that represents a specific Google account. For example, `alice@example.com` . * `serviceAccount:{emailid}`: An email address that represents a service account. For example, `my-other-app@appspot.gserviceaccount.com`. * `group:{emailid}`: An email address that represents a Google group. For example, `admins@example.com`. * `deleted:user:{emailid}?uid={uniqueid}`: An email address (plus unique identifier) representing a user that has been recently deleted. For example, `alice@example.com?uid=123456789012345678901`. If the user is recovered, this value reverts to `user:{emailid}` and the recovered user retains the role in the binding. * `deleted:serviceAccount:{emailid}?uid={uniqueid}`: An email address (plus unique identifier) representing a service account that has been recently deleted. For example, `my-other-app@appspot.gserviceaccount.com?uid=123456789012345678901`. If the service account is undeleted, this value reverts to `serviceAccount:{emailid}` and the undeleted service account retains the role in the binding. * `deleted:group:{emailid}?uid={uniqueid}`: An email address (plus unique identifier) representing a Google group that has been recently deleted. For example, `admins@example.com?uid=123456789012345678901`. If the group is recovered, this value reverts to `group:{emailid}` and the recovered group retains the role in the binding. * `domain:{domain}`: The G Suite domain (primary) that represents all the users of that domain. For example, `google.com` or `example.com`. + "members": [ # Specifies the principals requesting access for a Google Cloud resource. `members` can have the following values: * `allUsers`: A special identifier that represents anyone who is on the internet; with or without a Google account. * `allAuthenticatedUsers`: A special identifier that represents anyone who is authenticated with a Google account or a service account. * `user:{emailid}`: An email address that represents a specific Google account. For example, `alice@example.com` . * `serviceAccount:{emailid}`: An email address that represents a Google service account. For example, `my-other-app@appspot.gserviceaccount.com`. * `serviceAccount:{projectid}.svc.id.goog[{namespace}/{kubernetes-sa}]`: An identifier for a [Kubernetes service account](https://cloud.google.com/kubernetes-engine/docs/how-to/kubernetes-service-accounts). For example, `my-project.svc.id.goog[my-namespace/my-kubernetes-sa]`. * `group:{emailid}`: An email address that represents a Google group. For example, `admins@example.com`. * `deleted:user:{emailid}?uid={uniqueid}`: An email address (plus unique identifier) representing a user that has been recently deleted. For example, `alice@example.com?uid=123456789012345678901`. If the user is recovered, this value reverts to `user:{emailid}` and the recovered user retains the role in the binding. * `deleted:serviceAccount:{emailid}?uid={uniqueid}`: An email address (plus unique identifier) representing a service account that has been recently deleted. For example, `my-other-app@appspot.gserviceaccount.com?uid=123456789012345678901`. If the service account is undeleted, this value reverts to `serviceAccount:{emailid}` and the undeleted service account retains the role in the binding. * `deleted:group:{emailid}?uid={uniqueid}`: An email address (plus unique identifier) representing a Google group that has been recently deleted. For example, `admins@example.com?uid=123456789012345678901`. If the group is recovered, this value reverts to `group:{emailid}` and the recovered group retains the role in the binding. * `domain:{domain}`: The G Suite domain (primary) that represents all the users of that domain. For example, `google.com` or `example.com`. "A String", ], "role": "A String", # Role that is assigned to the list of `members`, or principals. For example, `roles/viewer`, `roles/editor`, or `roles/owner`. diff --git a/docs/dyn/cloudasset_v1.v1.html b/docs/dyn/cloudasset_v1.v1.html index 156e3109e11..725720e0c05 100644 --- a/docs/dyn/cloudasset_v1.v1.html +++ b/docs/dyn/cloudasset_v1.v1.html @@ -206,7 +206,7 @@

Method Details

"location": "A String", # Optional. String indicating the location of the expression for error reporting, e.g. a file name and a position in the file. "title": "A String", # Optional. Title for the expression, i.e. a short string describing its purpose. This can be used e.g. in UIs which allow to enter the expression. }, - "members": [ # Specifies the principals requesting access for a Google Cloud resource. `members` can have the following values: * `allUsers`: A special identifier that represents anyone who is on the internet; with or without a Google account. * `allAuthenticatedUsers`: A special identifier that represents anyone who is authenticated with a Google account or a service account. * `user:{emailid}`: An email address that represents a specific Google account. For example, `alice@example.com` . * `serviceAccount:{emailid}`: An email address that represents a service account. For example, `my-other-app@appspot.gserviceaccount.com`. * `group:{emailid}`: An email address that represents a Google group. For example, `admins@example.com`. * `deleted:user:{emailid}?uid={uniqueid}`: An email address (plus unique identifier) representing a user that has been recently deleted. For example, `alice@example.com?uid=123456789012345678901`. If the user is recovered, this value reverts to `user:{emailid}` and the recovered user retains the role in the binding. * `deleted:serviceAccount:{emailid}?uid={uniqueid}`: An email address (plus unique identifier) representing a service account that has been recently deleted. For example, `my-other-app@appspot.gserviceaccount.com?uid=123456789012345678901`. If the service account is undeleted, this value reverts to `serviceAccount:{emailid}` and the undeleted service account retains the role in the binding. * `deleted:group:{emailid}?uid={uniqueid}`: An email address (plus unique identifier) representing a Google group that has been recently deleted. For example, `admins@example.com?uid=123456789012345678901`. If the group is recovered, this value reverts to `group:{emailid}` and the recovered group retains the role in the binding. * `domain:{domain}`: The G Suite domain (primary) that represents all the users of that domain. For example, `google.com` or `example.com`. + "members": [ # Specifies the principals requesting access for a Google Cloud resource. `members` can have the following values: * `allUsers`: A special identifier that represents anyone who is on the internet; with or without a Google account. * `allAuthenticatedUsers`: A special identifier that represents anyone who is authenticated with a Google account or a service account. * `user:{emailid}`: An email address that represents a specific Google account. For example, `alice@example.com` . * `serviceAccount:{emailid}`: An email address that represents a Google service account. For example, `my-other-app@appspot.gserviceaccount.com`. * `serviceAccount:{projectid}.svc.id.goog[{namespace}/{kubernetes-sa}]`: An identifier for a [Kubernetes service account](https://cloud.google.com/kubernetes-engine/docs/how-to/kubernetes-service-accounts). For example, `my-project.svc.id.goog[my-namespace/my-kubernetes-sa]`. * `group:{emailid}`: An email address that represents a Google group. For example, `admins@example.com`. * `deleted:user:{emailid}?uid={uniqueid}`: An email address (plus unique identifier) representing a user that has been recently deleted. For example, `alice@example.com?uid=123456789012345678901`. If the user is recovered, this value reverts to `user:{emailid}` and the recovered user retains the role in the binding. * `deleted:serviceAccount:{emailid}?uid={uniqueid}`: An email address (plus unique identifier) representing a service account that has been recently deleted. For example, `my-other-app@appspot.gserviceaccount.com?uid=123456789012345678901`. If the service account is undeleted, this value reverts to `serviceAccount:{emailid}` and the undeleted service account retains the role in the binding. * `deleted:group:{emailid}?uid={uniqueid}`: An email address (plus unique identifier) representing a Google group that has been recently deleted. For example, `admins@example.com?uid=123456789012345678901`. If the group is recovered, this value reverts to `group:{emailid}` and the recovered group retains the role in the binding. * `domain:{domain}`: The G Suite domain (primary) that represents all the users of that domain. For example, `google.com` or `example.com`. "A String", ], "role": "A String", # Role that is assigned to the list of `members`, or principals. For example, `roles/viewer`, `roles/editor`, or `roles/owner`. @@ -311,7 +311,7 @@

Method Details

"location": "A String", # Optional. String indicating the location of the expression for error reporting, e.g. a file name and a position in the file. "title": "A String", # Optional. Title for the expression, i.e. a short string describing its purpose. This can be used e.g. in UIs which allow to enter the expression. }, - "members": [ # Specifies the principals requesting access for a Google Cloud resource. `members` can have the following values: * `allUsers`: A special identifier that represents anyone who is on the internet; with or without a Google account. * `allAuthenticatedUsers`: A special identifier that represents anyone who is authenticated with a Google account or a service account. * `user:{emailid}`: An email address that represents a specific Google account. For example, `alice@example.com` . * `serviceAccount:{emailid}`: An email address that represents a service account. For example, `my-other-app@appspot.gserviceaccount.com`. * `group:{emailid}`: An email address that represents a Google group. For example, `admins@example.com`. * `deleted:user:{emailid}?uid={uniqueid}`: An email address (plus unique identifier) representing a user that has been recently deleted. For example, `alice@example.com?uid=123456789012345678901`. If the user is recovered, this value reverts to `user:{emailid}` and the recovered user retains the role in the binding. * `deleted:serviceAccount:{emailid}?uid={uniqueid}`: An email address (plus unique identifier) representing a service account that has been recently deleted. For example, `my-other-app@appspot.gserviceaccount.com?uid=123456789012345678901`. If the service account is undeleted, this value reverts to `serviceAccount:{emailid}` and the undeleted service account retains the role in the binding. * `deleted:group:{emailid}?uid={uniqueid}`: An email address (plus unique identifier) representing a Google group that has been recently deleted. For example, `admins@example.com?uid=123456789012345678901`. If the group is recovered, this value reverts to `group:{emailid}` and the recovered group retains the role in the binding. * `domain:{domain}`: The G Suite domain (primary) that represents all the users of that domain. For example, `google.com` or `example.com`. + "members": [ # Specifies the principals requesting access for a Google Cloud resource. `members` can have the following values: * `allUsers`: A special identifier that represents anyone who is on the internet; with or without a Google account. * `allAuthenticatedUsers`: A special identifier that represents anyone who is authenticated with a Google account or a service account. * `user:{emailid}`: An email address that represents a specific Google account. For example, `alice@example.com` . * `serviceAccount:{emailid}`: An email address that represents a Google service account. For example, `my-other-app@appspot.gserviceaccount.com`. * `serviceAccount:{projectid}.svc.id.goog[{namespace}/{kubernetes-sa}]`: An identifier for a [Kubernetes service account](https://cloud.google.com/kubernetes-engine/docs/how-to/kubernetes-service-accounts). For example, `my-project.svc.id.goog[my-namespace/my-kubernetes-sa]`. * `group:{emailid}`: An email address that represents a Google group. For example, `admins@example.com`. * `deleted:user:{emailid}?uid={uniqueid}`: An email address (plus unique identifier) representing a user that has been recently deleted. For example, `alice@example.com?uid=123456789012345678901`. If the user is recovered, this value reverts to `user:{emailid}` and the recovered user retains the role in the binding. * `deleted:serviceAccount:{emailid}?uid={uniqueid}`: An email address (plus unique identifier) representing a service account that has been recently deleted. For example, `my-other-app@appspot.gserviceaccount.com?uid=123456789012345678901`. If the service account is undeleted, this value reverts to `serviceAccount:{emailid}` and the undeleted service account retains the role in the binding. * `deleted:group:{emailid}?uid={uniqueid}`: An email address (plus unique identifier) representing a Google group that has been recently deleted. For example, `admins@example.com?uid=123456789012345678901`. If the group is recovered, this value reverts to `group:{emailid}` and the recovered group retains the role in the binding. * `domain:{domain}`: The G Suite domain (primary) that represents all the users of that domain. For example, `google.com` or `example.com`. "A String", ], "role": "A String", # Role that is assigned to the list of `members`, or principals. For example, `roles/viewer`, `roles/editor`, or `roles/owner`. @@ -595,7 +595,7 @@

Method Details

"location": "A String", # Optional. String indicating the location of the expression for error reporting, e.g. a file name and a position in the file. "title": "A String", # Optional. Title for the expression, i.e. a short string describing its purpose. This can be used e.g. in UIs which allow to enter the expression. }, - "members": [ # Specifies the principals requesting access for a Google Cloud resource. `members` can have the following values: * `allUsers`: A special identifier that represents anyone who is on the internet; with or without a Google account. * `allAuthenticatedUsers`: A special identifier that represents anyone who is authenticated with a Google account or a service account. * `user:{emailid}`: An email address that represents a specific Google account. For example, `alice@example.com` . * `serviceAccount:{emailid}`: An email address that represents a service account. For example, `my-other-app@appspot.gserviceaccount.com`. * `group:{emailid}`: An email address that represents a Google group. For example, `admins@example.com`. * `deleted:user:{emailid}?uid={uniqueid}`: An email address (plus unique identifier) representing a user that has been recently deleted. For example, `alice@example.com?uid=123456789012345678901`. If the user is recovered, this value reverts to `user:{emailid}` and the recovered user retains the role in the binding. * `deleted:serviceAccount:{emailid}?uid={uniqueid}`: An email address (plus unique identifier) representing a service account that has been recently deleted. For example, `my-other-app@appspot.gserviceaccount.com?uid=123456789012345678901`. If the service account is undeleted, this value reverts to `serviceAccount:{emailid}` and the undeleted service account retains the role in the binding. * `deleted:group:{emailid}?uid={uniqueid}`: An email address (plus unique identifier) representing a Google group that has been recently deleted. For example, `admins@example.com?uid=123456789012345678901`. If the group is recovered, this value reverts to `group:{emailid}` and the recovered group retains the role in the binding. * `domain:{domain}`: The G Suite domain (primary) that represents all the users of that domain. For example, `google.com` or `example.com`. + "members": [ # Specifies the principals requesting access for a Google Cloud resource. `members` can have the following values: * `allUsers`: A special identifier that represents anyone who is on the internet; with or without a Google account. * `allAuthenticatedUsers`: A special identifier that represents anyone who is authenticated with a Google account or a service account. * `user:{emailid}`: An email address that represents a specific Google account. For example, `alice@example.com` . * `serviceAccount:{emailid}`: An email address that represents a Google service account. For example, `my-other-app@appspot.gserviceaccount.com`. * `serviceAccount:{projectid}.svc.id.goog[{namespace}/{kubernetes-sa}]`: An identifier for a [Kubernetes service account](https://cloud.google.com/kubernetes-engine/docs/how-to/kubernetes-service-accounts). For example, `my-project.svc.id.goog[my-namespace/my-kubernetes-sa]`. * `group:{emailid}`: An email address that represents a Google group. For example, `admins@example.com`. * `deleted:user:{emailid}?uid={uniqueid}`: An email address (plus unique identifier) representing a user that has been recently deleted. For example, `alice@example.com?uid=123456789012345678901`. If the user is recovered, this value reverts to `user:{emailid}` and the recovered user retains the role in the binding. * `deleted:serviceAccount:{emailid}?uid={uniqueid}`: An email address (plus unique identifier) representing a service account that has been recently deleted. For example, `my-other-app@appspot.gserviceaccount.com?uid=123456789012345678901`. If the service account is undeleted, this value reverts to `serviceAccount:{emailid}` and the undeleted service account retains the role in the binding. * `deleted:group:{emailid}?uid={uniqueid}`: An email address (plus unique identifier) representing a Google group that has been recently deleted. For example, `admins@example.com?uid=123456789012345678901`. If the group is recovered, this value reverts to `group:{emailid}` and the recovered group retains the role in the binding. * `domain:{domain}`: The G Suite domain (primary) that represents all the users of that domain. For example, `google.com` or `example.com`. "A String", ], "role": "A String", # Role that is assigned to the list of `members`, or principals. For example, `roles/viewer`, `roles/editor`, or `roles/owner`. @@ -1082,7 +1082,7 @@

Method Details

"location": "A String", # Optional. String indicating the location of the expression for error reporting, e.g. a file name and a position in the file. "title": "A String", # Optional. Title for the expression, i.e. a short string describing its purpose. This can be used e.g. in UIs which allow to enter the expression. }, - "members": [ # Specifies the principals requesting access for a Google Cloud resource. `members` can have the following values: * `allUsers`: A special identifier that represents anyone who is on the internet; with or without a Google account. * `allAuthenticatedUsers`: A special identifier that represents anyone who is authenticated with a Google account or a service account. * `user:{emailid}`: An email address that represents a specific Google account. For example, `alice@example.com` . * `serviceAccount:{emailid}`: An email address that represents a service account. For example, `my-other-app@appspot.gserviceaccount.com`. * `group:{emailid}`: An email address that represents a Google group. For example, `admins@example.com`. * `deleted:user:{emailid}?uid={uniqueid}`: An email address (plus unique identifier) representing a user that has been recently deleted. For example, `alice@example.com?uid=123456789012345678901`. If the user is recovered, this value reverts to `user:{emailid}` and the recovered user retains the role in the binding. * `deleted:serviceAccount:{emailid}?uid={uniqueid}`: An email address (plus unique identifier) representing a service account that has been recently deleted. For example, `my-other-app@appspot.gserviceaccount.com?uid=123456789012345678901`. If the service account is undeleted, this value reverts to `serviceAccount:{emailid}` and the undeleted service account retains the role in the binding. * `deleted:group:{emailid}?uid={uniqueid}`: An email address (plus unique identifier) representing a Google group that has been recently deleted. For example, `admins@example.com?uid=123456789012345678901`. If the group is recovered, this value reverts to `group:{emailid}` and the recovered group retains the role in the binding. * `domain:{domain}`: The G Suite domain (primary) that represents all the users of that domain. For example, `google.com` or `example.com`. + "members": [ # Specifies the principals requesting access for a Google Cloud resource. `members` can have the following values: * `allUsers`: A special identifier that represents anyone who is on the internet; with or without a Google account. * `allAuthenticatedUsers`: A special identifier that represents anyone who is authenticated with a Google account or a service account. * `user:{emailid}`: An email address that represents a specific Google account. For example, `alice@example.com` . * `serviceAccount:{emailid}`: An email address that represents a Google service account. For example, `my-other-app@appspot.gserviceaccount.com`. * `serviceAccount:{projectid}.svc.id.goog[{namespace}/{kubernetes-sa}]`: An identifier for a [Kubernetes service account](https://cloud.google.com/kubernetes-engine/docs/how-to/kubernetes-service-accounts). For example, `my-project.svc.id.goog[my-namespace/my-kubernetes-sa]`. * `group:{emailid}`: An email address that represents a Google group. For example, `admins@example.com`. * `deleted:user:{emailid}?uid={uniqueid}`: An email address (plus unique identifier) representing a user that has been recently deleted. For example, `alice@example.com?uid=123456789012345678901`. If the user is recovered, this value reverts to `user:{emailid}` and the recovered user retains the role in the binding. * `deleted:serviceAccount:{emailid}?uid={uniqueid}`: An email address (plus unique identifier) representing a service account that has been recently deleted. For example, `my-other-app@appspot.gserviceaccount.com?uid=123456789012345678901`. If the service account is undeleted, this value reverts to `serviceAccount:{emailid}` and the undeleted service account retains the role in the binding. * `deleted:group:{emailid}?uid={uniqueid}`: An email address (plus unique identifier) representing a Google group that has been recently deleted. For example, `admins@example.com?uid=123456789012345678901`. If the group is recovered, this value reverts to `group:{emailid}` and the recovered group retains the role in the binding. * `domain:{domain}`: The G Suite domain (primary) that represents all the users of that domain. For example, `google.com` or `example.com`. "A String", ], "role": "A String", # Role that is assigned to the list of `members`, or principals. For example, `roles/viewer`, `roles/editor`, or `roles/owner`. @@ -1619,7 +1619,7 @@

Method Details

"location": "A String", # Optional. String indicating the location of the expression for error reporting, e.g. a file name and a position in the file. "title": "A String", # Optional. Title for the expression, i.e. a short string describing its purpose. This can be used e.g. in UIs which allow to enter the expression. }, - "members": [ # Specifies the principals requesting access for a Google Cloud resource. `members` can have the following values: * `allUsers`: A special identifier that represents anyone who is on the internet; with or without a Google account. * `allAuthenticatedUsers`: A special identifier that represents anyone who is authenticated with a Google account or a service account. * `user:{emailid}`: An email address that represents a specific Google account. For example, `alice@example.com` . * `serviceAccount:{emailid}`: An email address that represents a service account. For example, `my-other-app@appspot.gserviceaccount.com`. * `group:{emailid}`: An email address that represents a Google group. For example, `admins@example.com`. * `deleted:user:{emailid}?uid={uniqueid}`: An email address (plus unique identifier) representing a user that has been recently deleted. For example, `alice@example.com?uid=123456789012345678901`. If the user is recovered, this value reverts to `user:{emailid}` and the recovered user retains the role in the binding. * `deleted:serviceAccount:{emailid}?uid={uniqueid}`: An email address (plus unique identifier) representing a service account that has been recently deleted. For example, `my-other-app@appspot.gserviceaccount.com?uid=123456789012345678901`. If the service account is undeleted, this value reverts to `serviceAccount:{emailid}` and the undeleted service account retains the role in the binding. * `deleted:group:{emailid}?uid={uniqueid}`: An email address (plus unique identifier) representing a Google group that has been recently deleted. For example, `admins@example.com?uid=123456789012345678901`. If the group is recovered, this value reverts to `group:{emailid}` and the recovered group retains the role in the binding. * `domain:{domain}`: The G Suite domain (primary) that represents all the users of that domain. For example, `google.com` or `example.com`. + "members": [ # Specifies the principals requesting access for a Google Cloud resource. `members` can have the following values: * `allUsers`: A special identifier that represents anyone who is on the internet; with or without a Google account. * `allAuthenticatedUsers`: A special identifier that represents anyone who is authenticated with a Google account or a service account. * `user:{emailid}`: An email address that represents a specific Google account. For example, `alice@example.com` . * `serviceAccount:{emailid}`: An email address that represents a Google service account. For example, `my-other-app@appspot.gserviceaccount.com`. * `serviceAccount:{projectid}.svc.id.goog[{namespace}/{kubernetes-sa}]`: An identifier for a [Kubernetes service account](https://cloud.google.com/kubernetes-engine/docs/how-to/kubernetes-service-accounts). For example, `my-project.svc.id.goog[my-namespace/my-kubernetes-sa]`. * `group:{emailid}`: An email address that represents a Google group. For example, `admins@example.com`. * `deleted:user:{emailid}?uid={uniqueid}`: An email address (plus unique identifier) representing a user that has been recently deleted. For example, `alice@example.com?uid=123456789012345678901`. If the user is recovered, this value reverts to `user:{emailid}` and the recovered user retains the role in the binding. * `deleted:serviceAccount:{emailid}?uid={uniqueid}`: An email address (plus unique identifier) representing a service account that has been recently deleted. For example, `my-other-app@appspot.gserviceaccount.com?uid=123456789012345678901`. If the service account is undeleted, this value reverts to `serviceAccount:{emailid}` and the undeleted service account retains the role in the binding. * `deleted:group:{emailid}?uid={uniqueid}`: An email address (plus unique identifier) representing a Google group that has been recently deleted. For example, `admins@example.com?uid=123456789012345678901`. If the group is recovered, this value reverts to `group:{emailid}` and the recovered group retains the role in the binding. * `domain:{domain}`: The G Suite domain (primary) that represents all the users of that domain. For example, `google.com` or `example.com`. "A String", ], "role": "A String", # Role that is assigned to the list of `members`, or principals. For example, `roles/viewer`, `roles/editor`, or `roles/owner`. @@ -1672,7 +1672,7 @@

Method Details

{ # Search all resources response. "nextPageToken": "A String", # If there are more results than those appearing in this response, then `next_page_token` is included. To get the next set of results, call this method again using the value of `next_page_token` as `page_token`. "results": [ # A list of Resources that match the search query. It contains the resource standard metadata information. - { # A result of Resource Search, containing information of a cloud resource. Next ID: 28 + { # A result of Resource Search, containing information of a cloud resource. Next ID: 29 "additionalAttributes": { # The additional searchable attributes of this resource. The attributes may vary from one resource type to another. Examples: `projectId` for Project, `dnsName` for DNS ManagedZone. This field contains a subset of the resource metadata fields that are returned by the List or Get APIs provided by the corresponding GCP service (e.g., Compute Engine). see [API references and supported searchable attributes](https://cloud.google.com/asset-inventory/docs/supported-asset-types#searchable_asset_types) to see which fields are included. You can search values of these fields through free text search. However, you should not consume the field programically as the field names and values may change as the GCP service updates to a new incompatible API version. To search against the `additional_attributes`: * use a free text query to match the attributes values. Example: to search `additional_attributes = { dnsName: "foobar" }`, you can issue a query `foobar`. "a_key": "", # Properties of the object. }, diff --git a/docs/dyn/cloudasset_v1beta1.organizations.html b/docs/dyn/cloudasset_v1beta1.organizations.html index ed5fa1a6be4..393b947113f 100644 --- a/docs/dyn/cloudasset_v1beta1.organizations.html +++ b/docs/dyn/cloudasset_v1beta1.organizations.html @@ -198,7 +198,7 @@

Method Details

"location": "A String", # Optional. String indicating the location of the expression for error reporting, e.g. a file name and a position in the file. "title": "A String", # Optional. Title for the expression, i.e. a short string describing its purpose. This can be used e.g. in UIs which allow to enter the expression. }, - "members": [ # Specifies the principals requesting access for a Google Cloud resource. `members` can have the following values: * `allUsers`: A special identifier that represents anyone who is on the internet; with or without a Google account. * `allAuthenticatedUsers`: A special identifier that represents anyone who is authenticated with a Google account or a service account. * `user:{emailid}`: An email address that represents a specific Google account. For example, `alice@example.com` . * `serviceAccount:{emailid}`: An email address that represents a service account. For example, `my-other-app@appspot.gserviceaccount.com`. * `group:{emailid}`: An email address that represents a Google group. For example, `admins@example.com`. * `deleted:user:{emailid}?uid={uniqueid}`: An email address (plus unique identifier) representing a user that has been recently deleted. For example, `alice@example.com?uid=123456789012345678901`. If the user is recovered, this value reverts to `user:{emailid}` and the recovered user retains the role in the binding. * `deleted:serviceAccount:{emailid}?uid={uniqueid}`: An email address (plus unique identifier) representing a service account that has been recently deleted. For example, `my-other-app@appspot.gserviceaccount.com?uid=123456789012345678901`. If the service account is undeleted, this value reverts to `serviceAccount:{emailid}` and the undeleted service account retains the role in the binding. * `deleted:group:{emailid}?uid={uniqueid}`: An email address (plus unique identifier) representing a Google group that has been recently deleted. For example, `admins@example.com?uid=123456789012345678901`. If the group is recovered, this value reverts to `group:{emailid}` and the recovered group retains the role in the binding. * `domain:{domain}`: The G Suite domain (primary) that represents all the users of that domain. For example, `google.com` or `example.com`. + "members": [ # Specifies the principals requesting access for a Google Cloud resource. `members` can have the following values: * `allUsers`: A special identifier that represents anyone who is on the internet; with or without a Google account. * `allAuthenticatedUsers`: A special identifier that represents anyone who is authenticated with a Google account or a service account. * `user:{emailid}`: An email address that represents a specific Google account. For example, `alice@example.com` . * `serviceAccount:{emailid}`: An email address that represents a Google service account. For example, `my-other-app@appspot.gserviceaccount.com`. * `serviceAccount:{projectid}.svc.id.goog[{namespace}/{kubernetes-sa}]`: An identifier for a [Kubernetes service account](https://cloud.google.com/kubernetes-engine/docs/how-to/kubernetes-service-accounts). For example, `my-project.svc.id.goog[my-namespace/my-kubernetes-sa]`. * `group:{emailid}`: An email address that represents a Google group. For example, `admins@example.com`. * `deleted:user:{emailid}?uid={uniqueid}`: An email address (plus unique identifier) representing a user that has been recently deleted. For example, `alice@example.com?uid=123456789012345678901`. If the user is recovered, this value reverts to `user:{emailid}` and the recovered user retains the role in the binding. * `deleted:serviceAccount:{emailid}?uid={uniqueid}`: An email address (plus unique identifier) representing a service account that has been recently deleted. For example, `my-other-app@appspot.gserviceaccount.com?uid=123456789012345678901`. If the service account is undeleted, this value reverts to `serviceAccount:{emailid}` and the undeleted service account retains the role in the binding. * `deleted:group:{emailid}?uid={uniqueid}`: An email address (plus unique identifier) representing a Google group that has been recently deleted. For example, `admins@example.com?uid=123456789012345678901`. If the group is recovered, this value reverts to `group:{emailid}` and the recovered group retains the role in the binding. * `domain:{domain}`: The G Suite domain (primary) that represents all the users of that domain. For example, `google.com` or `example.com`. "A String", ], "role": "A String", # Role that is assigned to the list of `members`, or principals. For example, `roles/viewer`, `roles/editor`, or `roles/owner`. diff --git a/docs/dyn/cloudasset_v1beta1.projects.html b/docs/dyn/cloudasset_v1beta1.projects.html index 26f09d61e4c..e1a397b1a5b 100644 --- a/docs/dyn/cloudasset_v1beta1.projects.html +++ b/docs/dyn/cloudasset_v1beta1.projects.html @@ -198,7 +198,7 @@

Method Details

"location": "A String", # Optional. String indicating the location of the expression for error reporting, e.g. a file name and a position in the file. "title": "A String", # Optional. Title for the expression, i.e. a short string describing its purpose. This can be used e.g. in UIs which allow to enter the expression. }, - "members": [ # Specifies the principals requesting access for a Google Cloud resource. `members` can have the following values: * `allUsers`: A special identifier that represents anyone who is on the internet; with or without a Google account. * `allAuthenticatedUsers`: A special identifier that represents anyone who is authenticated with a Google account or a service account. * `user:{emailid}`: An email address that represents a specific Google account. For example, `alice@example.com` . * `serviceAccount:{emailid}`: An email address that represents a service account. For example, `my-other-app@appspot.gserviceaccount.com`. * `group:{emailid}`: An email address that represents a Google group. For example, `admins@example.com`. * `deleted:user:{emailid}?uid={uniqueid}`: An email address (plus unique identifier) representing a user that has been recently deleted. For example, `alice@example.com?uid=123456789012345678901`. If the user is recovered, this value reverts to `user:{emailid}` and the recovered user retains the role in the binding. * `deleted:serviceAccount:{emailid}?uid={uniqueid}`: An email address (plus unique identifier) representing a service account that has been recently deleted. For example, `my-other-app@appspot.gserviceaccount.com?uid=123456789012345678901`. If the service account is undeleted, this value reverts to `serviceAccount:{emailid}` and the undeleted service account retains the role in the binding. * `deleted:group:{emailid}?uid={uniqueid}`: An email address (plus unique identifier) representing a Google group that has been recently deleted. For example, `admins@example.com?uid=123456789012345678901`. If the group is recovered, this value reverts to `group:{emailid}` and the recovered group retains the role in the binding. * `domain:{domain}`: The G Suite domain (primary) that represents all the users of that domain. For example, `google.com` or `example.com`. + "members": [ # Specifies the principals requesting access for a Google Cloud resource. `members` can have the following values: * `allUsers`: A special identifier that represents anyone who is on the internet; with or without a Google account. * `allAuthenticatedUsers`: A special identifier that represents anyone who is authenticated with a Google account or a service account. * `user:{emailid}`: An email address that represents a specific Google account. For example, `alice@example.com` . * `serviceAccount:{emailid}`: An email address that represents a Google service account. For example, `my-other-app@appspot.gserviceaccount.com`. * `serviceAccount:{projectid}.svc.id.goog[{namespace}/{kubernetes-sa}]`: An identifier for a [Kubernetes service account](https://cloud.google.com/kubernetes-engine/docs/how-to/kubernetes-service-accounts). For example, `my-project.svc.id.goog[my-namespace/my-kubernetes-sa]`. * `group:{emailid}`: An email address that represents a Google group. For example, `admins@example.com`. * `deleted:user:{emailid}?uid={uniqueid}`: An email address (plus unique identifier) representing a user that has been recently deleted. For example, `alice@example.com?uid=123456789012345678901`. If the user is recovered, this value reverts to `user:{emailid}` and the recovered user retains the role in the binding. * `deleted:serviceAccount:{emailid}?uid={uniqueid}`: An email address (plus unique identifier) representing a service account that has been recently deleted. For example, `my-other-app@appspot.gserviceaccount.com?uid=123456789012345678901`. If the service account is undeleted, this value reverts to `serviceAccount:{emailid}` and the undeleted service account retains the role in the binding. * `deleted:group:{emailid}?uid={uniqueid}`: An email address (plus unique identifier) representing a Google group that has been recently deleted. For example, `admins@example.com?uid=123456789012345678901`. If the group is recovered, this value reverts to `group:{emailid}` and the recovered group retains the role in the binding. * `domain:{domain}`: The G Suite domain (primary) that represents all the users of that domain. For example, `google.com` or `example.com`. "A String", ], "role": "A String", # Role that is assigned to the list of `members`, or principals. For example, `roles/viewer`, `roles/editor`, or `roles/owner`. diff --git a/docs/dyn/cloudasset_v1p1beta1.iamPolicies.html b/docs/dyn/cloudasset_v1p1beta1.iamPolicies.html index b504882cedb..46d767f4a5f 100644 --- a/docs/dyn/cloudasset_v1p1beta1.iamPolicies.html +++ b/docs/dyn/cloudasset_v1p1beta1.iamPolicies.html @@ -141,7 +141,7 @@

Method Details

"location": "A String", # Optional. String indicating the location of the expression for error reporting, e.g. a file name and a position in the file. "title": "A String", # Optional. Title for the expression, i.e. a short string describing its purpose. This can be used e.g. in UIs which allow to enter the expression. }, - "members": [ # Specifies the principals requesting access for a Google Cloud resource. `members` can have the following values: * `allUsers`: A special identifier that represents anyone who is on the internet; with or without a Google account. * `allAuthenticatedUsers`: A special identifier that represents anyone who is authenticated with a Google account or a service account. * `user:{emailid}`: An email address that represents a specific Google account. For example, `alice@example.com` . * `serviceAccount:{emailid}`: An email address that represents a service account. For example, `my-other-app@appspot.gserviceaccount.com`. * `group:{emailid}`: An email address that represents a Google group. For example, `admins@example.com`. * `deleted:user:{emailid}?uid={uniqueid}`: An email address (plus unique identifier) representing a user that has been recently deleted. For example, `alice@example.com?uid=123456789012345678901`. If the user is recovered, this value reverts to `user:{emailid}` and the recovered user retains the role in the binding. * `deleted:serviceAccount:{emailid}?uid={uniqueid}`: An email address (plus unique identifier) representing a service account that has been recently deleted. For example, `my-other-app@appspot.gserviceaccount.com?uid=123456789012345678901`. If the service account is undeleted, this value reverts to `serviceAccount:{emailid}` and the undeleted service account retains the role in the binding. * `deleted:group:{emailid}?uid={uniqueid}`: An email address (plus unique identifier) representing a Google group that has been recently deleted. For example, `admins@example.com?uid=123456789012345678901`. If the group is recovered, this value reverts to `group:{emailid}` and the recovered group retains the role in the binding. * `domain:{domain}`: The G Suite domain (primary) that represents all the users of that domain. For example, `google.com` or `example.com`. + "members": [ # Specifies the principals requesting access for a Google Cloud resource. `members` can have the following values: * `allUsers`: A special identifier that represents anyone who is on the internet; with or without a Google account. * `allAuthenticatedUsers`: A special identifier that represents anyone who is authenticated with a Google account or a service account. * `user:{emailid}`: An email address that represents a specific Google account. For example, `alice@example.com` . * `serviceAccount:{emailid}`: An email address that represents a Google service account. For example, `my-other-app@appspot.gserviceaccount.com`. * `serviceAccount:{projectid}.svc.id.goog[{namespace}/{kubernetes-sa}]`: An identifier for a [Kubernetes service account](https://cloud.google.com/kubernetes-engine/docs/how-to/kubernetes-service-accounts). For example, `my-project.svc.id.goog[my-namespace/my-kubernetes-sa]`. * `group:{emailid}`: An email address that represents a Google group. For example, `admins@example.com`. * `deleted:user:{emailid}?uid={uniqueid}`: An email address (plus unique identifier) representing a user that has been recently deleted. For example, `alice@example.com?uid=123456789012345678901`. If the user is recovered, this value reverts to `user:{emailid}` and the recovered user retains the role in the binding. * `deleted:serviceAccount:{emailid}?uid={uniqueid}`: An email address (plus unique identifier) representing a service account that has been recently deleted. For example, `my-other-app@appspot.gserviceaccount.com?uid=123456789012345678901`. If the service account is undeleted, this value reverts to `serviceAccount:{emailid}` and the undeleted service account retains the role in the binding. * `deleted:group:{emailid}?uid={uniqueid}`: An email address (plus unique identifier) representing a Google group that has been recently deleted. For example, `admins@example.com?uid=123456789012345678901`. If the group is recovered, this value reverts to `group:{emailid}` and the recovered group retains the role in the binding. * `domain:{domain}`: The G Suite domain (primary) that represents all the users of that domain. For example, `google.com` or `example.com`. "A String", ], "role": "A String", # Role that is assigned to the list of `members`, or principals. For example, `roles/viewer`, `roles/editor`, or `roles/owner`. diff --git a/docs/dyn/cloudasset_v1p5beta1.assets.html b/docs/dyn/cloudasset_v1p5beta1.assets.html index f36650608b1..ef9b86d0c1b 100644 --- a/docs/dyn/cloudasset_v1p5beta1.assets.html +++ b/docs/dyn/cloudasset_v1p5beta1.assets.html @@ -203,7 +203,7 @@

Method Details

"location": "A String", # Optional. String indicating the location of the expression for error reporting, e.g. a file name and a position in the file. "title": "A String", # Optional. Title for the expression, i.e. a short string describing its purpose. This can be used e.g. in UIs which allow to enter the expression. }, - "members": [ # Specifies the principals requesting access for a Google Cloud resource. `members` can have the following values: * `allUsers`: A special identifier that represents anyone who is on the internet; with or without a Google account. * `allAuthenticatedUsers`: A special identifier that represents anyone who is authenticated with a Google account or a service account. * `user:{emailid}`: An email address that represents a specific Google account. For example, `alice@example.com` . * `serviceAccount:{emailid}`: An email address that represents a service account. For example, `my-other-app@appspot.gserviceaccount.com`. * `group:{emailid}`: An email address that represents a Google group. For example, `admins@example.com`. * `deleted:user:{emailid}?uid={uniqueid}`: An email address (plus unique identifier) representing a user that has been recently deleted. For example, `alice@example.com?uid=123456789012345678901`. If the user is recovered, this value reverts to `user:{emailid}` and the recovered user retains the role in the binding. * `deleted:serviceAccount:{emailid}?uid={uniqueid}`: An email address (plus unique identifier) representing a service account that has been recently deleted. For example, `my-other-app@appspot.gserviceaccount.com?uid=123456789012345678901`. If the service account is undeleted, this value reverts to `serviceAccount:{emailid}` and the undeleted service account retains the role in the binding. * `deleted:group:{emailid}?uid={uniqueid}`: An email address (plus unique identifier) representing a Google group that has been recently deleted. For example, `admins@example.com?uid=123456789012345678901`. If the group is recovered, this value reverts to `group:{emailid}` and the recovered group retains the role in the binding. * `domain:{domain}`: The G Suite domain (primary) that represents all the users of that domain. For example, `google.com` or `example.com`. + "members": [ # Specifies the principals requesting access for a Google Cloud resource. `members` can have the following values: * `allUsers`: A special identifier that represents anyone who is on the internet; with or without a Google account. * `allAuthenticatedUsers`: A special identifier that represents anyone who is authenticated with a Google account or a service account. * `user:{emailid}`: An email address that represents a specific Google account. For example, `alice@example.com` . * `serviceAccount:{emailid}`: An email address that represents a Google service account. For example, `my-other-app@appspot.gserviceaccount.com`. * `serviceAccount:{projectid}.svc.id.goog[{namespace}/{kubernetes-sa}]`: An identifier for a [Kubernetes service account](https://cloud.google.com/kubernetes-engine/docs/how-to/kubernetes-service-accounts). For example, `my-project.svc.id.goog[my-namespace/my-kubernetes-sa]`. * `group:{emailid}`: An email address that represents a Google group. For example, `admins@example.com`. * `deleted:user:{emailid}?uid={uniqueid}`: An email address (plus unique identifier) representing a user that has been recently deleted. For example, `alice@example.com?uid=123456789012345678901`. If the user is recovered, this value reverts to `user:{emailid}` and the recovered user retains the role in the binding. * `deleted:serviceAccount:{emailid}?uid={uniqueid}`: An email address (plus unique identifier) representing a service account that has been recently deleted. For example, `my-other-app@appspot.gserviceaccount.com?uid=123456789012345678901`. If the service account is undeleted, this value reverts to `serviceAccount:{emailid}` and the undeleted service account retains the role in the binding. * `deleted:group:{emailid}?uid={uniqueid}`: An email address (plus unique identifier) representing a Google group that has been recently deleted. For example, `admins@example.com?uid=123456789012345678901`. If the group is recovered, this value reverts to `group:{emailid}` and the recovered group retains the role in the binding. * `domain:{domain}`: The G Suite domain (primary) that represents all the users of that domain. For example, `google.com` or `example.com`. "A String", ], "role": "A String", # Role that is assigned to the list of `members`, or principals. For example, `roles/viewer`, `roles/editor`, or `roles/owner`. diff --git a/docs/dyn/cloudbuild_v1.projects.locations.bitbucketServerConfigs.repos.html b/docs/dyn/cloudbuild_v1.projects.locations.bitbucketServerConfigs.repos.html index 24df13bde88..9a14488bbf7 100644 --- a/docs/dyn/cloudbuild_v1.projects.locations.bitbucketServerConfigs.repos.html +++ b/docs/dyn/cloudbuild_v1.projects.locations.bitbucketServerConfigs.repos.html @@ -95,7 +95,7 @@

Method Details

Args: parent: string, Required. Name of the parent resource. (required) - pageSize: integer, The maximum number of configs to return. The service may return fewer than this value. If unspecified, at most 50 configs will be returned. The maximum value is 1000; values above 1000 will be coerced to 1000. + pageSize: integer, The maximum number of configs to return. The service may return fewer than this value. The maximum value is 1000; values above 1000 will be coerced to 1000. pageToken: string, A page token, received from a previous `ListBitbucketServerRepositoriesRequest` call. Provide this to retrieve the subsequent page. When paginating, all other parameters provided to `ListBitbucketServerConfigsRequest` must match the call that provided the page token. x__xgafv: string, V1 error format. Allowed values diff --git a/docs/dyn/cloudchannel_v1.accounts.customers.entitlements.html b/docs/dyn/cloudchannel_v1.accounts.customers.entitlements.html index 4517245b14f..bc406d5510c 100644 --- a/docs/dyn/cloudchannel_v1.accounts.customers.entitlements.html +++ b/docs/dyn/cloudchannel_v1.accounts.customers.entitlements.html @@ -647,7 +647,6 @@

Method Details

], }, }, - "dealCode": "A String", # The deal code of the offer to get a special promotion or discount. "endTime": "A String", # Output only. End of the Offer validity time. "marketingInfo": { # Represents the marketing information for a Product, SKU or Offer. # Marketing information for the Offer. "defaultLogo": { # Represents media information. # Default logo. diff --git a/docs/dyn/cloudchannel_v1.accounts.customers.html b/docs/dyn/cloudchannel_v1.accounts.customers.html index 3d4196a936d..24284804c52 100644 --- a/docs/dyn/cloudchannel_v1.accounts.customers.html +++ b/docs/dyn/cloudchannel_v1.accounts.customers.html @@ -529,7 +529,6 @@

Method Details

], }, }, - "dealCode": "A String", # The deal code of the offer to get a special promotion or discount. "endTime": "A String", # Output only. End of the Offer validity time. "marketingInfo": { # Represents the marketing information for a Product, SKU or Offer. # Marketing information for the Offer. "defaultLogo": { # Represents media information. # Default logo. diff --git a/docs/dyn/cloudchannel_v1.accounts.html b/docs/dyn/cloudchannel_v1.accounts.html index bbb1065e049..33e30bf11bc 100644 --- a/docs/dyn/cloudchannel_v1.accounts.html +++ b/docs/dyn/cloudchannel_v1.accounts.html @@ -209,7 +209,7 @@

Method Details

{ # Request message for CloudChannelService.ListTransferableOffers "cloudIdentityId": "A String", # Customer's Cloud Identity ID "customerName": "A String", # A reseller should create a customer and use the resource name of that customer here. - "languageCode": "A String", # The BCP-47 language code. For example, "en-US". The response will localize in the corresponding language code, if specified. The default value is "en-US". + "languageCode": "A String", # Optional. The BCP-47 language code. For example, "en-US". The response will localize in the corresponding language code, if specified. The default value is "en-US". "pageSize": 42, # Requested page size. Server might return fewer results than requested. If unspecified, returns at most 100 offers. The maximum value is 1000; the server will coerce values above 1000. "pageToken": "A String", # A token for a page of results other than the first page. Obtained using ListTransferableOffersResponse.next_page_token of the previous CloudChannelService.ListTransferableOffers call. "sku": "A String", # Required. The SKU to look up Offers for. @@ -241,7 +241,6 @@

Method Details

], }, }, - "dealCode": "A String", # The deal code of the offer to get a special promotion or discount. "endTime": "A String", # Output only. End of the Offer validity time. "marketingInfo": { # Represents the marketing information for a Product, SKU or Offer. # Marketing information for the Offer. "defaultLogo": { # Represents media information. # Default logo. diff --git a/docs/dyn/cloudchannel_v1.accounts.offers.html b/docs/dyn/cloudchannel_v1.accounts.offers.html index 541541107dd..ab74a8418b9 100644 --- a/docs/dyn/cloudchannel_v1.accounts.offers.html +++ b/docs/dyn/cloudchannel_v1.accounts.offers.html @@ -124,7 +124,6 @@

Method Details

], }, }, - "dealCode": "A String", # The deal code of the offer to get a special promotion or discount. "endTime": "A String", # Output only. End of the Offer validity time. "marketingInfo": { # Represents the marketing information for a Product, SKU or Offer. # Marketing information for the Offer. "defaultLogo": { # Represents media information. # Default logo. diff --git a/docs/dyn/cloudresourcemanager_v1.organizations.html b/docs/dyn/cloudresourcemanager_v1.organizations.html index 66e536eec76..88bc3d861b0 100644 --- a/docs/dyn/cloudresourcemanager_v1.organizations.html +++ b/docs/dyn/cloudresourcemanager_v1.organizations.html @@ -266,7 +266,7 @@

Method Details

"location": "A String", # Optional. String indicating the location of the expression for error reporting, e.g. a file name and a position in the file. "title": "A String", # Optional. Title for the expression, i.e. a short string describing its purpose. This can be used e.g. in UIs which allow to enter the expression. }, - "members": [ # Specifies the principals requesting access for a Google Cloud resource. `members` can have the following values: * `allUsers`: A special identifier that represents anyone who is on the internet; with or without a Google account. * `allAuthenticatedUsers`: A special identifier that represents anyone who is authenticated with a Google account or a service account. * `user:{emailid}`: An email address that represents a specific Google account. For example, `alice@example.com` . * `serviceAccount:{emailid}`: An email address that represents a service account. For example, `my-other-app@appspot.gserviceaccount.com`. * `group:{emailid}`: An email address that represents a Google group. For example, `admins@example.com`. * `deleted:user:{emailid}?uid={uniqueid}`: An email address (plus unique identifier) representing a user that has been recently deleted. For example, `alice@example.com?uid=123456789012345678901`. If the user is recovered, this value reverts to `user:{emailid}` and the recovered user retains the role in the binding. * `deleted:serviceAccount:{emailid}?uid={uniqueid}`: An email address (plus unique identifier) representing a service account that has been recently deleted. For example, `my-other-app@appspot.gserviceaccount.com?uid=123456789012345678901`. If the service account is undeleted, this value reverts to `serviceAccount:{emailid}` and the undeleted service account retains the role in the binding. * `deleted:group:{emailid}?uid={uniqueid}`: An email address (plus unique identifier) representing a Google group that has been recently deleted. For example, `admins@example.com?uid=123456789012345678901`. If the group is recovered, this value reverts to `group:{emailid}` and the recovered group retains the role in the binding. * `domain:{domain}`: The G Suite domain (primary) that represents all the users of that domain. For example, `google.com` or `example.com`. + "members": [ # Specifies the principals requesting access for a Google Cloud resource. `members` can have the following values: * `allUsers`: A special identifier that represents anyone who is on the internet; with or without a Google account. * `allAuthenticatedUsers`: A special identifier that represents anyone who is authenticated with a Google account or a service account. * `user:{emailid}`: An email address that represents a specific Google account. For example, `alice@example.com` . * `serviceAccount:{emailid}`: An email address that represents a Google service account. For example, `my-other-app@appspot.gserviceaccount.com`. * `serviceAccount:{projectid}.svc.id.goog[{namespace}/{kubernetes-sa}]`: An identifier for a [Kubernetes service account](https://cloud.google.com/kubernetes-engine/docs/how-to/kubernetes-service-accounts). For example, `my-project.svc.id.goog[my-namespace/my-kubernetes-sa]`. * `group:{emailid}`: An email address that represents a Google group. For example, `admins@example.com`. * `deleted:user:{emailid}?uid={uniqueid}`: An email address (plus unique identifier) representing a user that has been recently deleted. For example, `alice@example.com?uid=123456789012345678901`. If the user is recovered, this value reverts to `user:{emailid}` and the recovered user retains the role in the binding. * `deleted:serviceAccount:{emailid}?uid={uniqueid}`: An email address (plus unique identifier) representing a service account that has been recently deleted. For example, `my-other-app@appspot.gserviceaccount.com?uid=123456789012345678901`. If the service account is undeleted, this value reverts to `serviceAccount:{emailid}` and the undeleted service account retains the role in the binding. * `deleted:group:{emailid}?uid={uniqueid}`: An email address (plus unique identifier) representing a Google group that has been recently deleted. For example, `admins@example.com?uid=123456789012345678901`. If the group is recovered, this value reverts to `group:{emailid}` and the recovered group retains the role in the binding. * `domain:{domain}`: The G Suite domain (primary) that represents all the users of that domain. For example, `google.com` or `example.com`. "A String", ], "role": "A String", # Role that is assigned to the list of `members`, or principals. For example, `roles/viewer`, `roles/editor`, or `roles/owner`. @@ -527,7 +527,7 @@

Method Details

"location": "A String", # Optional. String indicating the location of the expression for error reporting, e.g. a file name and a position in the file. "title": "A String", # Optional. Title for the expression, i.e. a short string describing its purpose. This can be used e.g. in UIs which allow to enter the expression. }, - "members": [ # Specifies the principals requesting access for a Google Cloud resource. `members` can have the following values: * `allUsers`: A special identifier that represents anyone who is on the internet; with or without a Google account. * `allAuthenticatedUsers`: A special identifier that represents anyone who is authenticated with a Google account or a service account. * `user:{emailid}`: An email address that represents a specific Google account. For example, `alice@example.com` . * `serviceAccount:{emailid}`: An email address that represents a service account. For example, `my-other-app@appspot.gserviceaccount.com`. * `group:{emailid}`: An email address that represents a Google group. For example, `admins@example.com`. * `deleted:user:{emailid}?uid={uniqueid}`: An email address (plus unique identifier) representing a user that has been recently deleted. For example, `alice@example.com?uid=123456789012345678901`. If the user is recovered, this value reverts to `user:{emailid}` and the recovered user retains the role in the binding. * `deleted:serviceAccount:{emailid}?uid={uniqueid}`: An email address (plus unique identifier) representing a service account that has been recently deleted. For example, `my-other-app@appspot.gserviceaccount.com?uid=123456789012345678901`. If the service account is undeleted, this value reverts to `serviceAccount:{emailid}` and the undeleted service account retains the role in the binding. * `deleted:group:{emailid}?uid={uniqueid}`: An email address (plus unique identifier) representing a Google group that has been recently deleted. For example, `admins@example.com?uid=123456789012345678901`. If the group is recovered, this value reverts to `group:{emailid}` and the recovered group retains the role in the binding. * `domain:{domain}`: The G Suite domain (primary) that represents all the users of that domain. For example, `google.com` or `example.com`. + "members": [ # Specifies the principals requesting access for a Google Cloud resource. `members` can have the following values: * `allUsers`: A special identifier that represents anyone who is on the internet; with or without a Google account. * `allAuthenticatedUsers`: A special identifier that represents anyone who is authenticated with a Google account or a service account. * `user:{emailid}`: An email address that represents a specific Google account. For example, `alice@example.com` . * `serviceAccount:{emailid}`: An email address that represents a Google service account. For example, `my-other-app@appspot.gserviceaccount.com`. * `serviceAccount:{projectid}.svc.id.goog[{namespace}/{kubernetes-sa}]`: An identifier for a [Kubernetes service account](https://cloud.google.com/kubernetes-engine/docs/how-to/kubernetes-service-accounts). For example, `my-project.svc.id.goog[my-namespace/my-kubernetes-sa]`. * `group:{emailid}`: An email address that represents a Google group. For example, `admins@example.com`. * `deleted:user:{emailid}?uid={uniqueid}`: An email address (plus unique identifier) representing a user that has been recently deleted. For example, `alice@example.com?uid=123456789012345678901`. If the user is recovered, this value reverts to `user:{emailid}` and the recovered user retains the role in the binding. * `deleted:serviceAccount:{emailid}?uid={uniqueid}`: An email address (plus unique identifier) representing a service account that has been recently deleted. For example, `my-other-app@appspot.gserviceaccount.com?uid=123456789012345678901`. If the service account is undeleted, this value reverts to `serviceAccount:{emailid}` and the undeleted service account retains the role in the binding. * `deleted:group:{emailid}?uid={uniqueid}`: An email address (plus unique identifier) representing a Google group that has been recently deleted. For example, `admins@example.com?uid=123456789012345678901`. If the group is recovered, this value reverts to `group:{emailid}` and the recovered group retains the role in the binding. * `domain:{domain}`: The G Suite domain (primary) that represents all the users of that domain. For example, `google.com` or `example.com`. "A String", ], "role": "A String", # Role that is assigned to the list of `members`, or principals. For example, `roles/viewer`, `roles/editor`, or `roles/owner`. @@ -569,7 +569,7 @@

Method Details

"location": "A String", # Optional. String indicating the location of the expression for error reporting, e.g. a file name and a position in the file. "title": "A String", # Optional. Title for the expression, i.e. a short string describing its purpose. This can be used e.g. in UIs which allow to enter the expression. }, - "members": [ # Specifies the principals requesting access for a Google Cloud resource. `members` can have the following values: * `allUsers`: A special identifier that represents anyone who is on the internet; with or without a Google account. * `allAuthenticatedUsers`: A special identifier that represents anyone who is authenticated with a Google account or a service account. * `user:{emailid}`: An email address that represents a specific Google account. For example, `alice@example.com` . * `serviceAccount:{emailid}`: An email address that represents a service account. For example, `my-other-app@appspot.gserviceaccount.com`. * `group:{emailid}`: An email address that represents a Google group. For example, `admins@example.com`. * `deleted:user:{emailid}?uid={uniqueid}`: An email address (plus unique identifier) representing a user that has been recently deleted. For example, `alice@example.com?uid=123456789012345678901`. If the user is recovered, this value reverts to `user:{emailid}` and the recovered user retains the role in the binding. * `deleted:serviceAccount:{emailid}?uid={uniqueid}`: An email address (plus unique identifier) representing a service account that has been recently deleted. For example, `my-other-app@appspot.gserviceaccount.com?uid=123456789012345678901`. If the service account is undeleted, this value reverts to `serviceAccount:{emailid}` and the undeleted service account retains the role in the binding. * `deleted:group:{emailid}?uid={uniqueid}`: An email address (plus unique identifier) representing a Google group that has been recently deleted. For example, `admins@example.com?uid=123456789012345678901`. If the group is recovered, this value reverts to `group:{emailid}` and the recovered group retains the role in the binding. * `domain:{domain}`: The G Suite domain (primary) that represents all the users of that domain. For example, `google.com` or `example.com`. + "members": [ # Specifies the principals requesting access for a Google Cloud resource. `members` can have the following values: * `allUsers`: A special identifier that represents anyone who is on the internet; with or without a Google account. * `allAuthenticatedUsers`: A special identifier that represents anyone who is authenticated with a Google account or a service account. * `user:{emailid}`: An email address that represents a specific Google account. For example, `alice@example.com` . * `serviceAccount:{emailid}`: An email address that represents a Google service account. For example, `my-other-app@appspot.gserviceaccount.com`. * `serviceAccount:{projectid}.svc.id.goog[{namespace}/{kubernetes-sa}]`: An identifier for a [Kubernetes service account](https://cloud.google.com/kubernetes-engine/docs/how-to/kubernetes-service-accounts). For example, `my-project.svc.id.goog[my-namespace/my-kubernetes-sa]`. * `group:{emailid}`: An email address that represents a Google group. For example, `admins@example.com`. * `deleted:user:{emailid}?uid={uniqueid}`: An email address (plus unique identifier) representing a user that has been recently deleted. For example, `alice@example.com?uid=123456789012345678901`. If the user is recovered, this value reverts to `user:{emailid}` and the recovered user retains the role in the binding. * `deleted:serviceAccount:{emailid}?uid={uniqueid}`: An email address (plus unique identifier) representing a service account that has been recently deleted. For example, `my-other-app@appspot.gserviceaccount.com?uid=123456789012345678901`. If the service account is undeleted, this value reverts to `serviceAccount:{emailid}` and the undeleted service account retains the role in the binding. * `deleted:group:{emailid}?uid={uniqueid}`: An email address (plus unique identifier) representing a Google group that has been recently deleted. For example, `admins@example.com?uid=123456789012345678901`. If the group is recovered, this value reverts to `group:{emailid}` and the recovered group retains the role in the binding. * `domain:{domain}`: The G Suite domain (primary) that represents all the users of that domain. For example, `google.com` or `example.com`. "A String", ], "role": "A String", # Role that is assigned to the list of `members`, or principals. For example, `roles/viewer`, `roles/editor`, or `roles/owner`. diff --git a/docs/dyn/cloudresourcemanager_v1.projects.html b/docs/dyn/cloudresourcemanager_v1.projects.html index 236b3a54ae2..46194e9e54b 100644 --- a/docs/dyn/cloudresourcemanager_v1.projects.html +++ b/docs/dyn/cloudresourcemanager_v1.projects.html @@ -388,7 +388,7 @@

Method Details

"location": "A String", # Optional. String indicating the location of the expression for error reporting, e.g. a file name and a position in the file. "title": "A String", # Optional. Title for the expression, i.e. a short string describing its purpose. This can be used e.g. in UIs which allow to enter the expression. }, - "members": [ # Specifies the principals requesting access for a Google Cloud resource. `members` can have the following values: * `allUsers`: A special identifier that represents anyone who is on the internet; with or without a Google account. * `allAuthenticatedUsers`: A special identifier that represents anyone who is authenticated with a Google account or a service account. * `user:{emailid}`: An email address that represents a specific Google account. For example, `alice@example.com` . * `serviceAccount:{emailid}`: An email address that represents a service account. For example, `my-other-app@appspot.gserviceaccount.com`. * `group:{emailid}`: An email address that represents a Google group. For example, `admins@example.com`. * `deleted:user:{emailid}?uid={uniqueid}`: An email address (plus unique identifier) representing a user that has been recently deleted. For example, `alice@example.com?uid=123456789012345678901`. If the user is recovered, this value reverts to `user:{emailid}` and the recovered user retains the role in the binding. * `deleted:serviceAccount:{emailid}?uid={uniqueid}`: An email address (plus unique identifier) representing a service account that has been recently deleted. For example, `my-other-app@appspot.gserviceaccount.com?uid=123456789012345678901`. If the service account is undeleted, this value reverts to `serviceAccount:{emailid}` and the undeleted service account retains the role in the binding. * `deleted:group:{emailid}?uid={uniqueid}`: An email address (plus unique identifier) representing a Google group that has been recently deleted. For example, `admins@example.com?uid=123456789012345678901`. If the group is recovered, this value reverts to `group:{emailid}` and the recovered group retains the role in the binding. * `domain:{domain}`: The G Suite domain (primary) that represents all the users of that domain. For example, `google.com` or `example.com`. + "members": [ # Specifies the principals requesting access for a Google Cloud resource. `members` can have the following values: * `allUsers`: A special identifier that represents anyone who is on the internet; with or without a Google account. * `allAuthenticatedUsers`: A special identifier that represents anyone who is authenticated with a Google account or a service account. * `user:{emailid}`: An email address that represents a specific Google account. For example, `alice@example.com` . * `serviceAccount:{emailid}`: An email address that represents a Google service account. For example, `my-other-app@appspot.gserviceaccount.com`. * `serviceAccount:{projectid}.svc.id.goog[{namespace}/{kubernetes-sa}]`: An identifier for a [Kubernetes service account](https://cloud.google.com/kubernetes-engine/docs/how-to/kubernetes-service-accounts). For example, `my-project.svc.id.goog[my-namespace/my-kubernetes-sa]`. * `group:{emailid}`: An email address that represents a Google group. For example, `admins@example.com`. * `deleted:user:{emailid}?uid={uniqueid}`: An email address (plus unique identifier) representing a user that has been recently deleted. For example, `alice@example.com?uid=123456789012345678901`. If the user is recovered, this value reverts to `user:{emailid}` and the recovered user retains the role in the binding. * `deleted:serviceAccount:{emailid}?uid={uniqueid}`: An email address (plus unique identifier) representing a service account that has been recently deleted. For example, `my-other-app@appspot.gserviceaccount.com?uid=123456789012345678901`. If the service account is undeleted, this value reverts to `serviceAccount:{emailid}` and the undeleted service account retains the role in the binding. * `deleted:group:{emailid}?uid={uniqueid}`: An email address (plus unique identifier) representing a Google group that has been recently deleted. For example, `admins@example.com?uid=123456789012345678901`. If the group is recovered, this value reverts to `group:{emailid}` and the recovered group retains the role in the binding. * `domain:{domain}`: The G Suite domain (primary) that represents all the users of that domain. For example, `google.com` or `example.com`. "A String", ], "role": "A String", # Role that is assigned to the list of `members`, or principals. For example, `roles/viewer`, `roles/editor`, or `roles/owner`. @@ -648,7 +648,7 @@

Method Details

"location": "A String", # Optional. String indicating the location of the expression for error reporting, e.g. a file name and a position in the file. "title": "A String", # Optional. Title for the expression, i.e. a short string describing its purpose. This can be used e.g. in UIs which allow to enter the expression. }, - "members": [ # Specifies the principals requesting access for a Google Cloud resource. `members` can have the following values: * `allUsers`: A special identifier that represents anyone who is on the internet; with or without a Google account. * `allAuthenticatedUsers`: A special identifier that represents anyone who is authenticated with a Google account or a service account. * `user:{emailid}`: An email address that represents a specific Google account. For example, `alice@example.com` . * `serviceAccount:{emailid}`: An email address that represents a service account. For example, `my-other-app@appspot.gserviceaccount.com`. * `group:{emailid}`: An email address that represents a Google group. For example, `admins@example.com`. * `deleted:user:{emailid}?uid={uniqueid}`: An email address (plus unique identifier) representing a user that has been recently deleted. For example, `alice@example.com?uid=123456789012345678901`. If the user is recovered, this value reverts to `user:{emailid}` and the recovered user retains the role in the binding. * `deleted:serviceAccount:{emailid}?uid={uniqueid}`: An email address (plus unique identifier) representing a service account that has been recently deleted. For example, `my-other-app@appspot.gserviceaccount.com?uid=123456789012345678901`. If the service account is undeleted, this value reverts to `serviceAccount:{emailid}` and the undeleted service account retains the role in the binding. * `deleted:group:{emailid}?uid={uniqueid}`: An email address (plus unique identifier) representing a Google group that has been recently deleted. For example, `admins@example.com?uid=123456789012345678901`. If the group is recovered, this value reverts to `group:{emailid}` and the recovered group retains the role in the binding. * `domain:{domain}`: The G Suite domain (primary) that represents all the users of that domain. For example, `google.com` or `example.com`. + "members": [ # Specifies the principals requesting access for a Google Cloud resource. `members` can have the following values: * `allUsers`: A special identifier that represents anyone who is on the internet; with or without a Google account. * `allAuthenticatedUsers`: A special identifier that represents anyone who is authenticated with a Google account or a service account. * `user:{emailid}`: An email address that represents a specific Google account. For example, `alice@example.com` . * `serviceAccount:{emailid}`: An email address that represents a Google service account. For example, `my-other-app@appspot.gserviceaccount.com`. * `serviceAccount:{projectid}.svc.id.goog[{namespace}/{kubernetes-sa}]`: An identifier for a [Kubernetes service account](https://cloud.google.com/kubernetes-engine/docs/how-to/kubernetes-service-accounts). For example, `my-project.svc.id.goog[my-namespace/my-kubernetes-sa]`. * `group:{emailid}`: An email address that represents a Google group. For example, `admins@example.com`. * `deleted:user:{emailid}?uid={uniqueid}`: An email address (plus unique identifier) representing a user that has been recently deleted. For example, `alice@example.com?uid=123456789012345678901`. If the user is recovered, this value reverts to `user:{emailid}` and the recovered user retains the role in the binding. * `deleted:serviceAccount:{emailid}?uid={uniqueid}`: An email address (plus unique identifier) representing a service account that has been recently deleted. For example, `my-other-app@appspot.gserviceaccount.com?uid=123456789012345678901`. If the service account is undeleted, this value reverts to `serviceAccount:{emailid}` and the undeleted service account retains the role in the binding. * `deleted:group:{emailid}?uid={uniqueid}`: An email address (plus unique identifier) representing a Google group that has been recently deleted. For example, `admins@example.com?uid=123456789012345678901`. If the group is recovered, this value reverts to `group:{emailid}` and the recovered group retains the role in the binding. * `domain:{domain}`: The G Suite domain (primary) that represents all the users of that domain. For example, `google.com` or `example.com`. "A String", ], "role": "A String", # Role that is assigned to the list of `members`, or principals. For example, `roles/viewer`, `roles/editor`, or `roles/owner`. @@ -690,7 +690,7 @@

Method Details

"location": "A String", # Optional. String indicating the location of the expression for error reporting, e.g. a file name and a position in the file. "title": "A String", # Optional. Title for the expression, i.e. a short string describing its purpose. This can be used e.g. in UIs which allow to enter the expression. }, - "members": [ # Specifies the principals requesting access for a Google Cloud resource. `members` can have the following values: * `allUsers`: A special identifier that represents anyone who is on the internet; with or without a Google account. * `allAuthenticatedUsers`: A special identifier that represents anyone who is authenticated with a Google account or a service account. * `user:{emailid}`: An email address that represents a specific Google account. For example, `alice@example.com` . * `serviceAccount:{emailid}`: An email address that represents a service account. For example, `my-other-app@appspot.gserviceaccount.com`. * `group:{emailid}`: An email address that represents a Google group. For example, `admins@example.com`. * `deleted:user:{emailid}?uid={uniqueid}`: An email address (plus unique identifier) representing a user that has been recently deleted. For example, `alice@example.com?uid=123456789012345678901`. If the user is recovered, this value reverts to `user:{emailid}` and the recovered user retains the role in the binding. * `deleted:serviceAccount:{emailid}?uid={uniqueid}`: An email address (plus unique identifier) representing a service account that has been recently deleted. For example, `my-other-app@appspot.gserviceaccount.com?uid=123456789012345678901`. If the service account is undeleted, this value reverts to `serviceAccount:{emailid}` and the undeleted service account retains the role in the binding. * `deleted:group:{emailid}?uid={uniqueid}`: An email address (plus unique identifier) representing a Google group that has been recently deleted. For example, `admins@example.com?uid=123456789012345678901`. If the group is recovered, this value reverts to `group:{emailid}` and the recovered group retains the role in the binding. * `domain:{domain}`: The G Suite domain (primary) that represents all the users of that domain. For example, `google.com` or `example.com`. + "members": [ # Specifies the principals requesting access for a Google Cloud resource. `members` can have the following values: * `allUsers`: A special identifier that represents anyone who is on the internet; with or without a Google account. * `allAuthenticatedUsers`: A special identifier that represents anyone who is authenticated with a Google account or a service account. * `user:{emailid}`: An email address that represents a specific Google account. For example, `alice@example.com` . * `serviceAccount:{emailid}`: An email address that represents a Google service account. For example, `my-other-app@appspot.gserviceaccount.com`. * `serviceAccount:{projectid}.svc.id.goog[{namespace}/{kubernetes-sa}]`: An identifier for a [Kubernetes service account](https://cloud.google.com/kubernetes-engine/docs/how-to/kubernetes-service-accounts). For example, `my-project.svc.id.goog[my-namespace/my-kubernetes-sa]`. * `group:{emailid}`: An email address that represents a Google group. For example, `admins@example.com`. * `deleted:user:{emailid}?uid={uniqueid}`: An email address (plus unique identifier) representing a user that has been recently deleted. For example, `alice@example.com?uid=123456789012345678901`. If the user is recovered, this value reverts to `user:{emailid}` and the recovered user retains the role in the binding. * `deleted:serviceAccount:{emailid}?uid={uniqueid}`: An email address (plus unique identifier) representing a service account that has been recently deleted. For example, `my-other-app@appspot.gserviceaccount.com?uid=123456789012345678901`. If the service account is undeleted, this value reverts to `serviceAccount:{emailid}` and the undeleted service account retains the role in the binding. * `deleted:group:{emailid}?uid={uniqueid}`: An email address (plus unique identifier) representing a Google group that has been recently deleted. For example, `admins@example.com?uid=123456789012345678901`. If the group is recovered, this value reverts to `group:{emailid}` and the recovered group retains the role in the binding. * `domain:{domain}`: The G Suite domain (primary) that represents all the users of that domain. For example, `google.com` or `example.com`. "A String", ], "role": "A String", # Role that is assigned to the list of `members`, or principals. For example, `roles/viewer`, `roles/editor`, or `roles/owner`. diff --git a/docs/dyn/cloudresourcemanager_v1beta1.organizations.html b/docs/dyn/cloudresourcemanager_v1beta1.organizations.html index 60badeecfec..bcf80909bd7 100644 --- a/docs/dyn/cloudresourcemanager_v1beta1.organizations.html +++ b/docs/dyn/cloudresourcemanager_v1beta1.organizations.html @@ -176,7 +176,7 @@

Method Details

"location": "A String", # Optional. String indicating the location of the expression for error reporting, e.g. a file name and a position in the file. "title": "A String", # Optional. Title for the expression, i.e. a short string describing its purpose. This can be used e.g. in UIs which allow to enter the expression. }, - "members": [ # Specifies the principals requesting access for a Google Cloud resource. `members` can have the following values: * `allUsers`: A special identifier that represents anyone who is on the internet; with or without a Google account. * `allAuthenticatedUsers`: A special identifier that represents anyone who is authenticated with a Google account or a service account. * `user:{emailid}`: An email address that represents a specific Google account. For example, `alice@example.com` . * `serviceAccount:{emailid}`: An email address that represents a service account. For example, `my-other-app@appspot.gserviceaccount.com`. * `group:{emailid}`: An email address that represents a Google group. For example, `admins@example.com`. * `deleted:user:{emailid}?uid={uniqueid}`: An email address (plus unique identifier) representing a user that has been recently deleted. For example, `alice@example.com?uid=123456789012345678901`. If the user is recovered, this value reverts to `user:{emailid}` and the recovered user retains the role in the binding. * `deleted:serviceAccount:{emailid}?uid={uniqueid}`: An email address (plus unique identifier) representing a service account that has been recently deleted. For example, `my-other-app@appspot.gserviceaccount.com?uid=123456789012345678901`. If the service account is undeleted, this value reverts to `serviceAccount:{emailid}` and the undeleted service account retains the role in the binding. * `deleted:group:{emailid}?uid={uniqueid}`: An email address (plus unique identifier) representing a Google group that has been recently deleted. For example, `admins@example.com?uid=123456789012345678901`. If the group is recovered, this value reverts to `group:{emailid}` and the recovered group retains the role in the binding. * `domain:{domain}`: The G Suite domain (primary) that represents all the users of that domain. For example, `google.com` or `example.com`. + "members": [ # Specifies the principals requesting access for a Google Cloud resource. `members` can have the following values: * `allUsers`: A special identifier that represents anyone who is on the internet; with or without a Google account. * `allAuthenticatedUsers`: A special identifier that represents anyone who is authenticated with a Google account or a service account. * `user:{emailid}`: An email address that represents a specific Google account. For example, `alice@example.com` . * `serviceAccount:{emailid}`: An email address that represents a Google service account. For example, `my-other-app@appspot.gserviceaccount.com`. * `serviceAccount:{projectid}.svc.id.goog[{namespace}/{kubernetes-sa}]`: An identifier for a [Kubernetes service account](https://cloud.google.com/kubernetes-engine/docs/how-to/kubernetes-service-accounts). For example, `my-project.svc.id.goog[my-namespace/my-kubernetes-sa]`. * `group:{emailid}`: An email address that represents a Google group. For example, `admins@example.com`. * `deleted:user:{emailid}?uid={uniqueid}`: An email address (plus unique identifier) representing a user that has been recently deleted. For example, `alice@example.com?uid=123456789012345678901`. If the user is recovered, this value reverts to `user:{emailid}` and the recovered user retains the role in the binding. * `deleted:serviceAccount:{emailid}?uid={uniqueid}`: An email address (plus unique identifier) representing a service account that has been recently deleted. For example, `my-other-app@appspot.gserviceaccount.com?uid=123456789012345678901`. If the service account is undeleted, this value reverts to `serviceAccount:{emailid}` and the undeleted service account retains the role in the binding. * `deleted:group:{emailid}?uid={uniqueid}`: An email address (plus unique identifier) representing a Google group that has been recently deleted. For example, `admins@example.com?uid=123456789012345678901`. If the group is recovered, this value reverts to `group:{emailid}` and the recovered group retains the role in the binding. * `domain:{domain}`: The G Suite domain (primary) that represents all the users of that domain. For example, `google.com` or `example.com`. "A String", ], "role": "A String", # Role that is assigned to the list of `members`, or principals. For example, `roles/viewer`, `roles/editor`, or `roles/owner`. @@ -266,7 +266,7 @@

Method Details

"location": "A String", # Optional. String indicating the location of the expression for error reporting, e.g. a file name and a position in the file. "title": "A String", # Optional. Title for the expression, i.e. a short string describing its purpose. This can be used e.g. in UIs which allow to enter the expression. }, - "members": [ # Specifies the principals requesting access for a Google Cloud resource. `members` can have the following values: * `allUsers`: A special identifier that represents anyone who is on the internet; with or without a Google account. * `allAuthenticatedUsers`: A special identifier that represents anyone who is authenticated with a Google account or a service account. * `user:{emailid}`: An email address that represents a specific Google account. For example, `alice@example.com` . * `serviceAccount:{emailid}`: An email address that represents a service account. For example, `my-other-app@appspot.gserviceaccount.com`. * `group:{emailid}`: An email address that represents a Google group. For example, `admins@example.com`. * `deleted:user:{emailid}?uid={uniqueid}`: An email address (plus unique identifier) representing a user that has been recently deleted. For example, `alice@example.com?uid=123456789012345678901`. If the user is recovered, this value reverts to `user:{emailid}` and the recovered user retains the role in the binding. * `deleted:serviceAccount:{emailid}?uid={uniqueid}`: An email address (plus unique identifier) representing a service account that has been recently deleted. For example, `my-other-app@appspot.gserviceaccount.com?uid=123456789012345678901`. If the service account is undeleted, this value reverts to `serviceAccount:{emailid}` and the undeleted service account retains the role in the binding. * `deleted:group:{emailid}?uid={uniqueid}`: An email address (plus unique identifier) representing a Google group that has been recently deleted. For example, `admins@example.com?uid=123456789012345678901`. If the group is recovered, this value reverts to `group:{emailid}` and the recovered group retains the role in the binding. * `domain:{domain}`: The G Suite domain (primary) that represents all the users of that domain. For example, `google.com` or `example.com`. + "members": [ # Specifies the principals requesting access for a Google Cloud resource. `members` can have the following values: * `allUsers`: A special identifier that represents anyone who is on the internet; with or without a Google account. * `allAuthenticatedUsers`: A special identifier that represents anyone who is authenticated with a Google account or a service account. * `user:{emailid}`: An email address that represents a specific Google account. For example, `alice@example.com` . * `serviceAccount:{emailid}`: An email address that represents a Google service account. For example, `my-other-app@appspot.gserviceaccount.com`. * `serviceAccount:{projectid}.svc.id.goog[{namespace}/{kubernetes-sa}]`: An identifier for a [Kubernetes service account](https://cloud.google.com/kubernetes-engine/docs/how-to/kubernetes-service-accounts). For example, `my-project.svc.id.goog[my-namespace/my-kubernetes-sa]`. * `group:{emailid}`: An email address that represents a Google group. For example, `admins@example.com`. * `deleted:user:{emailid}?uid={uniqueid}`: An email address (plus unique identifier) representing a user that has been recently deleted. For example, `alice@example.com?uid=123456789012345678901`. If the user is recovered, this value reverts to `user:{emailid}` and the recovered user retains the role in the binding. * `deleted:serviceAccount:{emailid}?uid={uniqueid}`: An email address (plus unique identifier) representing a service account that has been recently deleted. For example, `my-other-app@appspot.gserviceaccount.com?uid=123456789012345678901`. If the service account is undeleted, this value reverts to `serviceAccount:{emailid}` and the undeleted service account retains the role in the binding. * `deleted:group:{emailid}?uid={uniqueid}`: An email address (plus unique identifier) representing a Google group that has been recently deleted. For example, `admins@example.com?uid=123456789012345678901`. If the group is recovered, this value reverts to `group:{emailid}` and the recovered group retains the role in the binding. * `domain:{domain}`: The G Suite domain (primary) that represents all the users of that domain. For example, `google.com` or `example.com`. "A String", ], "role": "A String", # Role that is assigned to the list of `members`, or principals. For example, `roles/viewer`, `roles/editor`, or `roles/owner`. @@ -308,7 +308,7 @@

Method Details

"location": "A String", # Optional. String indicating the location of the expression for error reporting, e.g. a file name and a position in the file. "title": "A String", # Optional. Title for the expression, i.e. a short string describing its purpose. This can be used e.g. in UIs which allow to enter the expression. }, - "members": [ # Specifies the principals requesting access for a Google Cloud resource. `members` can have the following values: * `allUsers`: A special identifier that represents anyone who is on the internet; with or without a Google account. * `allAuthenticatedUsers`: A special identifier that represents anyone who is authenticated with a Google account or a service account. * `user:{emailid}`: An email address that represents a specific Google account. For example, `alice@example.com` . * `serviceAccount:{emailid}`: An email address that represents a service account. For example, `my-other-app@appspot.gserviceaccount.com`. * `group:{emailid}`: An email address that represents a Google group. For example, `admins@example.com`. * `deleted:user:{emailid}?uid={uniqueid}`: An email address (plus unique identifier) representing a user that has been recently deleted. For example, `alice@example.com?uid=123456789012345678901`. If the user is recovered, this value reverts to `user:{emailid}` and the recovered user retains the role in the binding. * `deleted:serviceAccount:{emailid}?uid={uniqueid}`: An email address (plus unique identifier) representing a service account that has been recently deleted. For example, `my-other-app@appspot.gserviceaccount.com?uid=123456789012345678901`. If the service account is undeleted, this value reverts to `serviceAccount:{emailid}` and the undeleted service account retains the role in the binding. * `deleted:group:{emailid}?uid={uniqueid}`: An email address (plus unique identifier) representing a Google group that has been recently deleted. For example, `admins@example.com?uid=123456789012345678901`. If the group is recovered, this value reverts to `group:{emailid}` and the recovered group retains the role in the binding. * `domain:{domain}`: The G Suite domain (primary) that represents all the users of that domain. For example, `google.com` or `example.com`. + "members": [ # Specifies the principals requesting access for a Google Cloud resource. `members` can have the following values: * `allUsers`: A special identifier that represents anyone who is on the internet; with or without a Google account. * `allAuthenticatedUsers`: A special identifier that represents anyone who is authenticated with a Google account or a service account. * `user:{emailid}`: An email address that represents a specific Google account. For example, `alice@example.com` . * `serviceAccount:{emailid}`: An email address that represents a Google service account. For example, `my-other-app@appspot.gserviceaccount.com`. * `serviceAccount:{projectid}.svc.id.goog[{namespace}/{kubernetes-sa}]`: An identifier for a [Kubernetes service account](https://cloud.google.com/kubernetes-engine/docs/how-to/kubernetes-service-accounts). For example, `my-project.svc.id.goog[my-namespace/my-kubernetes-sa]`. * `group:{emailid}`: An email address that represents a Google group. For example, `admins@example.com`. * `deleted:user:{emailid}?uid={uniqueid}`: An email address (plus unique identifier) representing a user that has been recently deleted. For example, `alice@example.com?uid=123456789012345678901`. If the user is recovered, this value reverts to `user:{emailid}` and the recovered user retains the role in the binding. * `deleted:serviceAccount:{emailid}?uid={uniqueid}`: An email address (plus unique identifier) representing a service account that has been recently deleted. For example, `my-other-app@appspot.gserviceaccount.com?uid=123456789012345678901`. If the service account is undeleted, this value reverts to `serviceAccount:{emailid}` and the undeleted service account retains the role in the binding. * `deleted:group:{emailid}?uid={uniqueid}`: An email address (plus unique identifier) representing a Google group that has been recently deleted. For example, `admins@example.com?uid=123456789012345678901`. If the group is recovered, this value reverts to `group:{emailid}` and the recovered group retains the role in the binding. * `domain:{domain}`: The G Suite domain (primary) that represents all the users of that domain. For example, `google.com` or `example.com`. "A String", ], "role": "A String", # Role that is assigned to the list of `members`, or principals. For example, `roles/viewer`, `roles/editor`, or `roles/owner`. diff --git a/docs/dyn/cloudresourcemanager_v1beta1.projects.html b/docs/dyn/cloudresourcemanager_v1beta1.projects.html index 7418014ae18..d913b29c02c 100644 --- a/docs/dyn/cloudresourcemanager_v1beta1.projects.html +++ b/docs/dyn/cloudresourcemanager_v1beta1.projects.html @@ -289,7 +289,7 @@

Method Details

"location": "A String", # Optional. String indicating the location of the expression for error reporting, e.g. a file name and a position in the file. "title": "A String", # Optional. Title for the expression, i.e. a short string describing its purpose. This can be used e.g. in UIs which allow to enter the expression. }, - "members": [ # Specifies the principals requesting access for a Google Cloud resource. `members` can have the following values: * `allUsers`: A special identifier that represents anyone who is on the internet; with or without a Google account. * `allAuthenticatedUsers`: A special identifier that represents anyone who is authenticated with a Google account or a service account. * `user:{emailid}`: An email address that represents a specific Google account. For example, `alice@example.com` . * `serviceAccount:{emailid}`: An email address that represents a service account. For example, `my-other-app@appspot.gserviceaccount.com`. * `group:{emailid}`: An email address that represents a Google group. For example, `admins@example.com`. * `deleted:user:{emailid}?uid={uniqueid}`: An email address (plus unique identifier) representing a user that has been recently deleted. For example, `alice@example.com?uid=123456789012345678901`. If the user is recovered, this value reverts to `user:{emailid}` and the recovered user retains the role in the binding. * `deleted:serviceAccount:{emailid}?uid={uniqueid}`: An email address (plus unique identifier) representing a service account that has been recently deleted. For example, `my-other-app@appspot.gserviceaccount.com?uid=123456789012345678901`. If the service account is undeleted, this value reverts to `serviceAccount:{emailid}` and the undeleted service account retains the role in the binding. * `deleted:group:{emailid}?uid={uniqueid}`: An email address (plus unique identifier) representing a Google group that has been recently deleted. For example, `admins@example.com?uid=123456789012345678901`. If the group is recovered, this value reverts to `group:{emailid}` and the recovered group retains the role in the binding. * `domain:{domain}`: The G Suite domain (primary) that represents all the users of that domain. For example, `google.com` or `example.com`. + "members": [ # Specifies the principals requesting access for a Google Cloud resource. `members` can have the following values: * `allUsers`: A special identifier that represents anyone who is on the internet; with or without a Google account. * `allAuthenticatedUsers`: A special identifier that represents anyone who is authenticated with a Google account or a service account. * `user:{emailid}`: An email address that represents a specific Google account. For example, `alice@example.com` . * `serviceAccount:{emailid}`: An email address that represents a Google service account. For example, `my-other-app@appspot.gserviceaccount.com`. * `serviceAccount:{projectid}.svc.id.goog[{namespace}/{kubernetes-sa}]`: An identifier for a [Kubernetes service account](https://cloud.google.com/kubernetes-engine/docs/how-to/kubernetes-service-accounts). For example, `my-project.svc.id.goog[my-namespace/my-kubernetes-sa]`. * `group:{emailid}`: An email address that represents a Google group. For example, `admins@example.com`. * `deleted:user:{emailid}?uid={uniqueid}`: An email address (plus unique identifier) representing a user that has been recently deleted. For example, `alice@example.com?uid=123456789012345678901`. If the user is recovered, this value reverts to `user:{emailid}` and the recovered user retains the role in the binding. * `deleted:serviceAccount:{emailid}?uid={uniqueid}`: An email address (plus unique identifier) representing a service account that has been recently deleted. For example, `my-other-app@appspot.gserviceaccount.com?uid=123456789012345678901`. If the service account is undeleted, this value reverts to `serviceAccount:{emailid}` and the undeleted service account retains the role in the binding. * `deleted:group:{emailid}?uid={uniqueid}`: An email address (plus unique identifier) representing a Google group that has been recently deleted. For example, `admins@example.com?uid=123456789012345678901`. If the group is recovered, this value reverts to `group:{emailid}` and the recovered group retains the role in the binding. * `domain:{domain}`: The G Suite domain (primary) that represents all the users of that domain. For example, `google.com` or `example.com`. "A String", ], "role": "A String", # Role that is assigned to the list of `members`, or principals. For example, `roles/viewer`, `roles/editor`, or `roles/owner`. @@ -383,7 +383,7 @@

Method Details

"location": "A String", # Optional. String indicating the location of the expression for error reporting, e.g. a file name and a position in the file. "title": "A String", # Optional. Title for the expression, i.e. a short string describing its purpose. This can be used e.g. in UIs which allow to enter the expression. }, - "members": [ # Specifies the principals requesting access for a Google Cloud resource. `members` can have the following values: * `allUsers`: A special identifier that represents anyone who is on the internet; with or without a Google account. * `allAuthenticatedUsers`: A special identifier that represents anyone who is authenticated with a Google account or a service account. * `user:{emailid}`: An email address that represents a specific Google account. For example, `alice@example.com` . * `serviceAccount:{emailid}`: An email address that represents a service account. For example, `my-other-app@appspot.gserviceaccount.com`. * `group:{emailid}`: An email address that represents a Google group. For example, `admins@example.com`. * `deleted:user:{emailid}?uid={uniqueid}`: An email address (plus unique identifier) representing a user that has been recently deleted. For example, `alice@example.com?uid=123456789012345678901`. If the user is recovered, this value reverts to `user:{emailid}` and the recovered user retains the role in the binding. * `deleted:serviceAccount:{emailid}?uid={uniqueid}`: An email address (plus unique identifier) representing a service account that has been recently deleted. For example, `my-other-app@appspot.gserviceaccount.com?uid=123456789012345678901`. If the service account is undeleted, this value reverts to `serviceAccount:{emailid}` and the undeleted service account retains the role in the binding. * `deleted:group:{emailid}?uid={uniqueid}`: An email address (plus unique identifier) representing a Google group that has been recently deleted. For example, `admins@example.com?uid=123456789012345678901`. If the group is recovered, this value reverts to `group:{emailid}` and the recovered group retains the role in the binding. * `domain:{domain}`: The G Suite domain (primary) that represents all the users of that domain. For example, `google.com` or `example.com`. + "members": [ # Specifies the principals requesting access for a Google Cloud resource. `members` can have the following values: * `allUsers`: A special identifier that represents anyone who is on the internet; with or without a Google account. * `allAuthenticatedUsers`: A special identifier that represents anyone who is authenticated with a Google account or a service account. * `user:{emailid}`: An email address that represents a specific Google account. For example, `alice@example.com` . * `serviceAccount:{emailid}`: An email address that represents a Google service account. For example, `my-other-app@appspot.gserviceaccount.com`. * `serviceAccount:{projectid}.svc.id.goog[{namespace}/{kubernetes-sa}]`: An identifier for a [Kubernetes service account](https://cloud.google.com/kubernetes-engine/docs/how-to/kubernetes-service-accounts). For example, `my-project.svc.id.goog[my-namespace/my-kubernetes-sa]`. * `group:{emailid}`: An email address that represents a Google group. For example, `admins@example.com`. * `deleted:user:{emailid}?uid={uniqueid}`: An email address (plus unique identifier) representing a user that has been recently deleted. For example, `alice@example.com?uid=123456789012345678901`. If the user is recovered, this value reverts to `user:{emailid}` and the recovered user retains the role in the binding. * `deleted:serviceAccount:{emailid}?uid={uniqueid}`: An email address (plus unique identifier) representing a service account that has been recently deleted. For example, `my-other-app@appspot.gserviceaccount.com?uid=123456789012345678901`. If the service account is undeleted, this value reverts to `serviceAccount:{emailid}` and the undeleted service account retains the role in the binding. * `deleted:group:{emailid}?uid={uniqueid}`: An email address (plus unique identifier) representing a Google group that has been recently deleted. For example, `admins@example.com?uid=123456789012345678901`. If the group is recovered, this value reverts to `group:{emailid}` and the recovered group retains the role in the binding. * `domain:{domain}`: The G Suite domain (primary) that represents all the users of that domain. For example, `google.com` or `example.com`. "A String", ], "role": "A String", # Role that is assigned to the list of `members`, or principals. For example, `roles/viewer`, `roles/editor`, or `roles/owner`. @@ -425,7 +425,7 @@

Method Details

"location": "A String", # Optional. String indicating the location of the expression for error reporting, e.g. a file name and a position in the file. "title": "A String", # Optional. Title for the expression, i.e. a short string describing its purpose. This can be used e.g. in UIs which allow to enter the expression. }, - "members": [ # Specifies the principals requesting access for a Google Cloud resource. `members` can have the following values: * `allUsers`: A special identifier that represents anyone who is on the internet; with or without a Google account. * `allAuthenticatedUsers`: A special identifier that represents anyone who is authenticated with a Google account or a service account. * `user:{emailid}`: An email address that represents a specific Google account. For example, `alice@example.com` . * `serviceAccount:{emailid}`: An email address that represents a service account. For example, `my-other-app@appspot.gserviceaccount.com`. * `group:{emailid}`: An email address that represents a Google group. For example, `admins@example.com`. * `deleted:user:{emailid}?uid={uniqueid}`: An email address (plus unique identifier) representing a user that has been recently deleted. For example, `alice@example.com?uid=123456789012345678901`. If the user is recovered, this value reverts to `user:{emailid}` and the recovered user retains the role in the binding. * `deleted:serviceAccount:{emailid}?uid={uniqueid}`: An email address (plus unique identifier) representing a service account that has been recently deleted. For example, `my-other-app@appspot.gserviceaccount.com?uid=123456789012345678901`. If the service account is undeleted, this value reverts to `serviceAccount:{emailid}` and the undeleted service account retains the role in the binding. * `deleted:group:{emailid}?uid={uniqueid}`: An email address (plus unique identifier) representing a Google group that has been recently deleted. For example, `admins@example.com?uid=123456789012345678901`. If the group is recovered, this value reverts to `group:{emailid}` and the recovered group retains the role in the binding. * `domain:{domain}`: The G Suite domain (primary) that represents all the users of that domain. For example, `google.com` or `example.com`. + "members": [ # Specifies the principals requesting access for a Google Cloud resource. `members` can have the following values: * `allUsers`: A special identifier that represents anyone who is on the internet; with or without a Google account. * `allAuthenticatedUsers`: A special identifier that represents anyone who is authenticated with a Google account or a service account. * `user:{emailid}`: An email address that represents a specific Google account. For example, `alice@example.com` . * `serviceAccount:{emailid}`: An email address that represents a Google service account. For example, `my-other-app@appspot.gserviceaccount.com`. * `serviceAccount:{projectid}.svc.id.goog[{namespace}/{kubernetes-sa}]`: An identifier for a [Kubernetes service account](https://cloud.google.com/kubernetes-engine/docs/how-to/kubernetes-service-accounts). For example, `my-project.svc.id.goog[my-namespace/my-kubernetes-sa]`. * `group:{emailid}`: An email address that represents a Google group. For example, `admins@example.com`. * `deleted:user:{emailid}?uid={uniqueid}`: An email address (plus unique identifier) representing a user that has been recently deleted. For example, `alice@example.com?uid=123456789012345678901`. If the user is recovered, this value reverts to `user:{emailid}` and the recovered user retains the role in the binding. * `deleted:serviceAccount:{emailid}?uid={uniqueid}`: An email address (plus unique identifier) representing a service account that has been recently deleted. For example, `my-other-app@appspot.gserviceaccount.com?uid=123456789012345678901`. If the service account is undeleted, this value reverts to `serviceAccount:{emailid}` and the undeleted service account retains the role in the binding. * `deleted:group:{emailid}?uid={uniqueid}`: An email address (plus unique identifier) representing a Google group that has been recently deleted. For example, `admins@example.com?uid=123456789012345678901`. If the group is recovered, this value reverts to `group:{emailid}` and the recovered group retains the role in the binding. * `domain:{domain}`: The G Suite domain (primary) that represents all the users of that domain. For example, `google.com` or `example.com`. "A String", ], "role": "A String", # Role that is assigned to the list of `members`, or principals. For example, `roles/viewer`, `roles/editor`, or `roles/owner`. diff --git a/docs/dyn/cloudresourcemanager_v2.folders.html b/docs/dyn/cloudresourcemanager_v2.folders.html index fe0718eae7e..9a110dd51bd 100644 --- a/docs/dyn/cloudresourcemanager_v2.folders.html +++ b/docs/dyn/cloudresourcemanager_v2.folders.html @@ -259,7 +259,7 @@

Method Details

"location": "A String", # Optional. String indicating the location of the expression for error reporting, e.g. a file name and a position in the file. "title": "A String", # Optional. Title for the expression, i.e. a short string describing its purpose. This can be used e.g. in UIs which allow to enter the expression. }, - "members": [ # Specifies the principals requesting access for a Google Cloud resource. `members` can have the following values: * `allUsers`: A special identifier that represents anyone who is on the internet; with or without a Google account. * `allAuthenticatedUsers`: A special identifier that represents anyone who is authenticated with a Google account or a service account. * `user:{emailid}`: An email address that represents a specific Google account. For example, `alice@example.com` . * `serviceAccount:{emailid}`: An email address that represents a service account. For example, `my-other-app@appspot.gserviceaccount.com`. * `group:{emailid}`: An email address that represents a Google group. For example, `admins@example.com`. * `deleted:user:{emailid}?uid={uniqueid}`: An email address (plus unique identifier) representing a user that has been recently deleted. For example, `alice@example.com?uid=123456789012345678901`. If the user is recovered, this value reverts to `user:{emailid}` and the recovered user retains the role in the binding. * `deleted:serviceAccount:{emailid}?uid={uniqueid}`: An email address (plus unique identifier) representing a service account that has been recently deleted. For example, `my-other-app@appspot.gserviceaccount.com?uid=123456789012345678901`. If the service account is undeleted, this value reverts to `serviceAccount:{emailid}` and the undeleted service account retains the role in the binding. * `deleted:group:{emailid}?uid={uniqueid}`: An email address (plus unique identifier) representing a Google group that has been recently deleted. For example, `admins@example.com?uid=123456789012345678901`. If the group is recovered, this value reverts to `group:{emailid}` and the recovered group retains the role in the binding. * `domain:{domain}`: The G Suite domain (primary) that represents all the users of that domain. For example, `google.com` or `example.com`. + "members": [ # Specifies the principals requesting access for a Google Cloud resource. `members` can have the following values: * `allUsers`: A special identifier that represents anyone who is on the internet; with or without a Google account. * `allAuthenticatedUsers`: A special identifier that represents anyone who is authenticated with a Google account or a service account. * `user:{emailid}`: An email address that represents a specific Google account. For example, `alice@example.com` . * `serviceAccount:{emailid}`: An email address that represents a Google service account. For example, `my-other-app@appspot.gserviceaccount.com`. * `serviceAccount:{projectid}.svc.id.goog[{namespace}/{kubernetes-sa}]`: An identifier for a [Kubernetes service account](https://cloud.google.com/kubernetes-engine/docs/how-to/kubernetes-service-accounts). For example, `my-project.svc.id.goog[my-namespace/my-kubernetes-sa]`. * `group:{emailid}`: An email address that represents a Google group. For example, `admins@example.com`. * `deleted:user:{emailid}?uid={uniqueid}`: An email address (plus unique identifier) representing a user that has been recently deleted. For example, `alice@example.com?uid=123456789012345678901`. If the user is recovered, this value reverts to `user:{emailid}` and the recovered user retains the role in the binding. * `deleted:serviceAccount:{emailid}?uid={uniqueid}`: An email address (plus unique identifier) representing a service account that has been recently deleted. For example, `my-other-app@appspot.gserviceaccount.com?uid=123456789012345678901`. If the service account is undeleted, this value reverts to `serviceAccount:{emailid}` and the undeleted service account retains the role in the binding. * `deleted:group:{emailid}?uid={uniqueid}`: An email address (plus unique identifier) representing a Google group that has been recently deleted. For example, `admins@example.com?uid=123456789012345678901`. If the group is recovered, this value reverts to `group:{emailid}` and the recovered group retains the role in the binding. * `domain:{domain}`: The G Suite domain (primary) that represents all the users of that domain. For example, `google.com` or `example.com`. "A String", ], "role": "A String", # Role that is assigned to the list of `members`, or principals. For example, `roles/viewer`, `roles/editor`, or `roles/owner`. @@ -474,7 +474,7 @@

Method Details

"location": "A String", # Optional. String indicating the location of the expression for error reporting, e.g. a file name and a position in the file. "title": "A String", # Optional. Title for the expression, i.e. a short string describing its purpose. This can be used e.g. in UIs which allow to enter the expression. }, - "members": [ # Specifies the principals requesting access for a Google Cloud resource. `members` can have the following values: * `allUsers`: A special identifier that represents anyone who is on the internet; with or without a Google account. * `allAuthenticatedUsers`: A special identifier that represents anyone who is authenticated with a Google account or a service account. * `user:{emailid}`: An email address that represents a specific Google account. For example, `alice@example.com` . * `serviceAccount:{emailid}`: An email address that represents a service account. For example, `my-other-app@appspot.gserviceaccount.com`. * `group:{emailid}`: An email address that represents a Google group. For example, `admins@example.com`. * `deleted:user:{emailid}?uid={uniqueid}`: An email address (plus unique identifier) representing a user that has been recently deleted. For example, `alice@example.com?uid=123456789012345678901`. If the user is recovered, this value reverts to `user:{emailid}` and the recovered user retains the role in the binding. * `deleted:serviceAccount:{emailid}?uid={uniqueid}`: An email address (plus unique identifier) representing a service account that has been recently deleted. For example, `my-other-app@appspot.gserviceaccount.com?uid=123456789012345678901`. If the service account is undeleted, this value reverts to `serviceAccount:{emailid}` and the undeleted service account retains the role in the binding. * `deleted:group:{emailid}?uid={uniqueid}`: An email address (plus unique identifier) representing a Google group that has been recently deleted. For example, `admins@example.com?uid=123456789012345678901`. If the group is recovered, this value reverts to `group:{emailid}` and the recovered group retains the role in the binding. * `domain:{domain}`: The G Suite domain (primary) that represents all the users of that domain. For example, `google.com` or `example.com`. + "members": [ # Specifies the principals requesting access for a Google Cloud resource. `members` can have the following values: * `allUsers`: A special identifier that represents anyone who is on the internet; with or without a Google account. * `allAuthenticatedUsers`: A special identifier that represents anyone who is authenticated with a Google account or a service account. * `user:{emailid}`: An email address that represents a specific Google account. For example, `alice@example.com` . * `serviceAccount:{emailid}`: An email address that represents a Google service account. For example, `my-other-app@appspot.gserviceaccount.com`. * `serviceAccount:{projectid}.svc.id.goog[{namespace}/{kubernetes-sa}]`: An identifier for a [Kubernetes service account](https://cloud.google.com/kubernetes-engine/docs/how-to/kubernetes-service-accounts). For example, `my-project.svc.id.goog[my-namespace/my-kubernetes-sa]`. * `group:{emailid}`: An email address that represents a Google group. For example, `admins@example.com`. * `deleted:user:{emailid}?uid={uniqueid}`: An email address (plus unique identifier) representing a user that has been recently deleted. For example, `alice@example.com?uid=123456789012345678901`. If the user is recovered, this value reverts to `user:{emailid}` and the recovered user retains the role in the binding. * `deleted:serviceAccount:{emailid}?uid={uniqueid}`: An email address (plus unique identifier) representing a service account that has been recently deleted. For example, `my-other-app@appspot.gserviceaccount.com?uid=123456789012345678901`. If the service account is undeleted, this value reverts to `serviceAccount:{emailid}` and the undeleted service account retains the role in the binding. * `deleted:group:{emailid}?uid={uniqueid}`: An email address (plus unique identifier) representing a Google group that has been recently deleted. For example, `admins@example.com?uid=123456789012345678901`. If the group is recovered, this value reverts to `group:{emailid}` and the recovered group retains the role in the binding. * `domain:{domain}`: The G Suite domain (primary) that represents all the users of that domain. For example, `google.com` or `example.com`. "A String", ], "role": "A String", # Role that is assigned to the list of `members`, or principals. For example, `roles/viewer`, `roles/editor`, or `roles/owner`. @@ -516,7 +516,7 @@

Method Details

"location": "A String", # Optional. String indicating the location of the expression for error reporting, e.g. a file name and a position in the file. "title": "A String", # Optional. Title for the expression, i.e. a short string describing its purpose. This can be used e.g. in UIs which allow to enter the expression. }, - "members": [ # Specifies the principals requesting access for a Google Cloud resource. `members` can have the following values: * `allUsers`: A special identifier that represents anyone who is on the internet; with or without a Google account. * `allAuthenticatedUsers`: A special identifier that represents anyone who is authenticated with a Google account or a service account. * `user:{emailid}`: An email address that represents a specific Google account. For example, `alice@example.com` . * `serviceAccount:{emailid}`: An email address that represents a service account. For example, `my-other-app@appspot.gserviceaccount.com`. * `group:{emailid}`: An email address that represents a Google group. For example, `admins@example.com`. * `deleted:user:{emailid}?uid={uniqueid}`: An email address (plus unique identifier) representing a user that has been recently deleted. For example, `alice@example.com?uid=123456789012345678901`. If the user is recovered, this value reverts to `user:{emailid}` and the recovered user retains the role in the binding. * `deleted:serviceAccount:{emailid}?uid={uniqueid}`: An email address (plus unique identifier) representing a service account that has been recently deleted. For example, `my-other-app@appspot.gserviceaccount.com?uid=123456789012345678901`. If the service account is undeleted, this value reverts to `serviceAccount:{emailid}` and the undeleted service account retains the role in the binding. * `deleted:group:{emailid}?uid={uniqueid}`: An email address (plus unique identifier) representing a Google group that has been recently deleted. For example, `admins@example.com?uid=123456789012345678901`. If the group is recovered, this value reverts to `group:{emailid}` and the recovered group retains the role in the binding. * `domain:{domain}`: The G Suite domain (primary) that represents all the users of that domain. For example, `google.com` or `example.com`. + "members": [ # Specifies the principals requesting access for a Google Cloud resource. `members` can have the following values: * `allUsers`: A special identifier that represents anyone who is on the internet; with or without a Google account. * `allAuthenticatedUsers`: A special identifier that represents anyone who is authenticated with a Google account or a service account. * `user:{emailid}`: An email address that represents a specific Google account. For example, `alice@example.com` . * `serviceAccount:{emailid}`: An email address that represents a Google service account. For example, `my-other-app@appspot.gserviceaccount.com`. * `serviceAccount:{projectid}.svc.id.goog[{namespace}/{kubernetes-sa}]`: An identifier for a [Kubernetes service account](https://cloud.google.com/kubernetes-engine/docs/how-to/kubernetes-service-accounts). For example, `my-project.svc.id.goog[my-namespace/my-kubernetes-sa]`. * `group:{emailid}`: An email address that represents a Google group. For example, `admins@example.com`. * `deleted:user:{emailid}?uid={uniqueid}`: An email address (plus unique identifier) representing a user that has been recently deleted. For example, `alice@example.com?uid=123456789012345678901`. If the user is recovered, this value reverts to `user:{emailid}` and the recovered user retains the role in the binding. * `deleted:serviceAccount:{emailid}?uid={uniqueid}`: An email address (plus unique identifier) representing a service account that has been recently deleted. For example, `my-other-app@appspot.gserviceaccount.com?uid=123456789012345678901`. If the service account is undeleted, this value reverts to `serviceAccount:{emailid}` and the undeleted service account retains the role in the binding. * `deleted:group:{emailid}?uid={uniqueid}`: An email address (plus unique identifier) representing a Google group that has been recently deleted. For example, `admins@example.com?uid=123456789012345678901`. If the group is recovered, this value reverts to `group:{emailid}` and the recovered group retains the role in the binding. * `domain:{domain}`: The G Suite domain (primary) that represents all the users of that domain. For example, `google.com` or `example.com`. "A String", ], "role": "A String", # Role that is assigned to the list of `members`, or principals. For example, `roles/viewer`, `roles/editor`, or `roles/owner`. diff --git a/docs/dyn/cloudresourcemanager_v2beta1.folders.html b/docs/dyn/cloudresourcemanager_v2beta1.folders.html index ce9dcb5b643..ecae405a3f3 100644 --- a/docs/dyn/cloudresourcemanager_v2beta1.folders.html +++ b/docs/dyn/cloudresourcemanager_v2beta1.folders.html @@ -259,7 +259,7 @@

Method Details

"location": "A String", # Optional. String indicating the location of the expression for error reporting, e.g. a file name and a position in the file. "title": "A String", # Optional. Title for the expression, i.e. a short string describing its purpose. This can be used e.g. in UIs which allow to enter the expression. }, - "members": [ # Specifies the principals requesting access for a Google Cloud resource. `members` can have the following values: * `allUsers`: A special identifier that represents anyone who is on the internet; with or without a Google account. * `allAuthenticatedUsers`: A special identifier that represents anyone who is authenticated with a Google account or a service account. * `user:{emailid}`: An email address that represents a specific Google account. For example, `alice@example.com` . * `serviceAccount:{emailid}`: An email address that represents a service account. For example, `my-other-app@appspot.gserviceaccount.com`. * `group:{emailid}`: An email address that represents a Google group. For example, `admins@example.com`. * `deleted:user:{emailid}?uid={uniqueid}`: An email address (plus unique identifier) representing a user that has been recently deleted. For example, `alice@example.com?uid=123456789012345678901`. If the user is recovered, this value reverts to `user:{emailid}` and the recovered user retains the role in the binding. * `deleted:serviceAccount:{emailid}?uid={uniqueid}`: An email address (plus unique identifier) representing a service account that has been recently deleted. For example, `my-other-app@appspot.gserviceaccount.com?uid=123456789012345678901`. If the service account is undeleted, this value reverts to `serviceAccount:{emailid}` and the undeleted service account retains the role in the binding. * `deleted:group:{emailid}?uid={uniqueid}`: An email address (plus unique identifier) representing a Google group that has been recently deleted. For example, `admins@example.com?uid=123456789012345678901`. If the group is recovered, this value reverts to `group:{emailid}` and the recovered group retains the role in the binding. * `domain:{domain}`: The G Suite domain (primary) that represents all the users of that domain. For example, `google.com` or `example.com`. + "members": [ # Specifies the principals requesting access for a Google Cloud resource. `members` can have the following values: * `allUsers`: A special identifier that represents anyone who is on the internet; with or without a Google account. * `allAuthenticatedUsers`: A special identifier that represents anyone who is authenticated with a Google account or a service account. * `user:{emailid}`: An email address that represents a specific Google account. For example, `alice@example.com` . * `serviceAccount:{emailid}`: An email address that represents a Google service account. For example, `my-other-app@appspot.gserviceaccount.com`. * `serviceAccount:{projectid}.svc.id.goog[{namespace}/{kubernetes-sa}]`: An identifier for a [Kubernetes service account](https://cloud.google.com/kubernetes-engine/docs/how-to/kubernetes-service-accounts). For example, `my-project.svc.id.goog[my-namespace/my-kubernetes-sa]`. * `group:{emailid}`: An email address that represents a Google group. For example, `admins@example.com`. * `deleted:user:{emailid}?uid={uniqueid}`: An email address (plus unique identifier) representing a user that has been recently deleted. For example, `alice@example.com?uid=123456789012345678901`. If the user is recovered, this value reverts to `user:{emailid}` and the recovered user retains the role in the binding. * `deleted:serviceAccount:{emailid}?uid={uniqueid}`: An email address (plus unique identifier) representing a service account that has been recently deleted. For example, `my-other-app@appspot.gserviceaccount.com?uid=123456789012345678901`. If the service account is undeleted, this value reverts to `serviceAccount:{emailid}` and the undeleted service account retains the role in the binding. * `deleted:group:{emailid}?uid={uniqueid}`: An email address (plus unique identifier) representing a Google group that has been recently deleted. For example, `admins@example.com?uid=123456789012345678901`. If the group is recovered, this value reverts to `group:{emailid}` and the recovered group retains the role in the binding. * `domain:{domain}`: The G Suite domain (primary) that represents all the users of that domain. For example, `google.com` or `example.com`. "A String", ], "role": "A String", # Role that is assigned to the list of `members`, or principals. For example, `roles/viewer`, `roles/editor`, or `roles/owner`. @@ -474,7 +474,7 @@

Method Details

"location": "A String", # Optional. String indicating the location of the expression for error reporting, e.g. a file name and a position in the file. "title": "A String", # Optional. Title for the expression, i.e. a short string describing its purpose. This can be used e.g. in UIs which allow to enter the expression. }, - "members": [ # Specifies the principals requesting access for a Google Cloud resource. `members` can have the following values: * `allUsers`: A special identifier that represents anyone who is on the internet; with or without a Google account. * `allAuthenticatedUsers`: A special identifier that represents anyone who is authenticated with a Google account or a service account. * `user:{emailid}`: An email address that represents a specific Google account. For example, `alice@example.com` . * `serviceAccount:{emailid}`: An email address that represents a service account. For example, `my-other-app@appspot.gserviceaccount.com`. * `group:{emailid}`: An email address that represents a Google group. For example, `admins@example.com`. * `deleted:user:{emailid}?uid={uniqueid}`: An email address (plus unique identifier) representing a user that has been recently deleted. For example, `alice@example.com?uid=123456789012345678901`. If the user is recovered, this value reverts to `user:{emailid}` and the recovered user retains the role in the binding. * `deleted:serviceAccount:{emailid}?uid={uniqueid}`: An email address (plus unique identifier) representing a service account that has been recently deleted. For example, `my-other-app@appspot.gserviceaccount.com?uid=123456789012345678901`. If the service account is undeleted, this value reverts to `serviceAccount:{emailid}` and the undeleted service account retains the role in the binding. * `deleted:group:{emailid}?uid={uniqueid}`: An email address (plus unique identifier) representing a Google group that has been recently deleted. For example, `admins@example.com?uid=123456789012345678901`. If the group is recovered, this value reverts to `group:{emailid}` and the recovered group retains the role in the binding. * `domain:{domain}`: The G Suite domain (primary) that represents all the users of that domain. For example, `google.com` or `example.com`. + "members": [ # Specifies the principals requesting access for a Google Cloud resource. `members` can have the following values: * `allUsers`: A special identifier that represents anyone who is on the internet; with or without a Google account. * `allAuthenticatedUsers`: A special identifier that represents anyone who is authenticated with a Google account or a service account. * `user:{emailid}`: An email address that represents a specific Google account. For example, `alice@example.com` . * `serviceAccount:{emailid}`: An email address that represents a Google service account. For example, `my-other-app@appspot.gserviceaccount.com`. * `serviceAccount:{projectid}.svc.id.goog[{namespace}/{kubernetes-sa}]`: An identifier for a [Kubernetes service account](https://cloud.google.com/kubernetes-engine/docs/how-to/kubernetes-service-accounts). For example, `my-project.svc.id.goog[my-namespace/my-kubernetes-sa]`. * `group:{emailid}`: An email address that represents a Google group. For example, `admins@example.com`. * `deleted:user:{emailid}?uid={uniqueid}`: An email address (plus unique identifier) representing a user that has been recently deleted. For example, `alice@example.com?uid=123456789012345678901`. If the user is recovered, this value reverts to `user:{emailid}` and the recovered user retains the role in the binding. * `deleted:serviceAccount:{emailid}?uid={uniqueid}`: An email address (plus unique identifier) representing a service account that has been recently deleted. For example, `my-other-app@appspot.gserviceaccount.com?uid=123456789012345678901`. If the service account is undeleted, this value reverts to `serviceAccount:{emailid}` and the undeleted service account retains the role in the binding. * `deleted:group:{emailid}?uid={uniqueid}`: An email address (plus unique identifier) representing a Google group that has been recently deleted. For example, `admins@example.com?uid=123456789012345678901`. If the group is recovered, this value reverts to `group:{emailid}` and the recovered group retains the role in the binding. * `domain:{domain}`: The G Suite domain (primary) that represents all the users of that domain. For example, `google.com` or `example.com`. "A String", ], "role": "A String", # Role that is assigned to the list of `members`, or principals. For example, `roles/viewer`, `roles/editor`, or `roles/owner`. @@ -516,7 +516,7 @@

Method Details

"location": "A String", # Optional. String indicating the location of the expression for error reporting, e.g. a file name and a position in the file. "title": "A String", # Optional. Title for the expression, i.e. a short string describing its purpose. This can be used e.g. in UIs which allow to enter the expression. }, - "members": [ # Specifies the principals requesting access for a Google Cloud resource. `members` can have the following values: * `allUsers`: A special identifier that represents anyone who is on the internet; with or without a Google account. * `allAuthenticatedUsers`: A special identifier that represents anyone who is authenticated with a Google account or a service account. * `user:{emailid}`: An email address that represents a specific Google account. For example, `alice@example.com` . * `serviceAccount:{emailid}`: An email address that represents a service account. For example, `my-other-app@appspot.gserviceaccount.com`. * `group:{emailid}`: An email address that represents a Google group. For example, `admins@example.com`. * `deleted:user:{emailid}?uid={uniqueid}`: An email address (plus unique identifier) representing a user that has been recently deleted. For example, `alice@example.com?uid=123456789012345678901`. If the user is recovered, this value reverts to `user:{emailid}` and the recovered user retains the role in the binding. * `deleted:serviceAccount:{emailid}?uid={uniqueid}`: An email address (plus unique identifier) representing a service account that has been recently deleted. For example, `my-other-app@appspot.gserviceaccount.com?uid=123456789012345678901`. If the service account is undeleted, this value reverts to `serviceAccount:{emailid}` and the undeleted service account retains the role in the binding. * `deleted:group:{emailid}?uid={uniqueid}`: An email address (plus unique identifier) representing a Google group that has been recently deleted. For example, `admins@example.com?uid=123456789012345678901`. If the group is recovered, this value reverts to `group:{emailid}` and the recovered group retains the role in the binding. * `domain:{domain}`: The G Suite domain (primary) that represents all the users of that domain. For example, `google.com` or `example.com`. + "members": [ # Specifies the principals requesting access for a Google Cloud resource. `members` can have the following values: * `allUsers`: A special identifier that represents anyone who is on the internet; with or without a Google account. * `allAuthenticatedUsers`: A special identifier that represents anyone who is authenticated with a Google account or a service account. * `user:{emailid}`: An email address that represents a specific Google account. For example, `alice@example.com` . * `serviceAccount:{emailid}`: An email address that represents a Google service account. For example, `my-other-app@appspot.gserviceaccount.com`. * `serviceAccount:{projectid}.svc.id.goog[{namespace}/{kubernetes-sa}]`: An identifier for a [Kubernetes service account](https://cloud.google.com/kubernetes-engine/docs/how-to/kubernetes-service-accounts). For example, `my-project.svc.id.goog[my-namespace/my-kubernetes-sa]`. * `group:{emailid}`: An email address that represents a Google group. For example, `admins@example.com`. * `deleted:user:{emailid}?uid={uniqueid}`: An email address (plus unique identifier) representing a user that has been recently deleted. For example, `alice@example.com?uid=123456789012345678901`. If the user is recovered, this value reverts to `user:{emailid}` and the recovered user retains the role in the binding. * `deleted:serviceAccount:{emailid}?uid={uniqueid}`: An email address (plus unique identifier) representing a service account that has been recently deleted. For example, `my-other-app@appspot.gserviceaccount.com?uid=123456789012345678901`. If the service account is undeleted, this value reverts to `serviceAccount:{emailid}` and the undeleted service account retains the role in the binding. * `deleted:group:{emailid}?uid={uniqueid}`: An email address (plus unique identifier) representing a Google group that has been recently deleted. For example, `admins@example.com?uid=123456789012345678901`. If the group is recovered, this value reverts to `group:{emailid}` and the recovered group retains the role in the binding. * `domain:{domain}`: The G Suite domain (primary) that represents all the users of that domain. For example, `google.com` or `example.com`. "A String", ], "role": "A String", # Role that is assigned to the list of `members`, or principals. For example, `roles/viewer`, `roles/editor`, or `roles/owner`. diff --git a/docs/dyn/cloudresourcemanager_v3.effectiveTags.html b/docs/dyn/cloudresourcemanager_v3.effectiveTags.html index 4948e6dc122..983ad96da96 100644 --- a/docs/dyn/cloudresourcemanager_v3.effectiveTags.html +++ b/docs/dyn/cloudresourcemanager_v3.effectiveTags.html @@ -109,8 +109,8 @@

Method Details

"effectiveTags": [ # A possibly paginated list of effective tags for the specified resource. { # An EffectiveTag represents a tag that applies to a resource during policy evaluation. Tags can be either directly bound to a resource or inherited from its ancestor. EffectiveTag contains the name and namespaced_name of the tag value and tag key, with additional fields of `inherited` to indicate the inheritance status of the effective tag. "inherited": True or False, # Indicates the inheritance status of a tag value attached to the given resource. If the tag value is inherited from one of the resource's ancestors, inherited will be true. If false, then the tag value is directly attached to the resource, inherited will be false. - "namespacedTagKey": "A String", # The namespaced_name of the TagKey, in the format of `{organization_id}/{tag_key_short_name}` - "namespacedTagValue": "A String", # Namespaced name of the TagValue. Must be in the format `{organization_id}/{tag_key_short_name}/{tag_value_short_name}`. + "namespacedTagKey": "A String", # The namespaced_name of the TagKey. Now only supported in the format of `{organization_id}/{tag_key_short_name}`. Other formats will be supported when we add non-org parented tags. + "namespacedTagValue": "A String", # Namespaced name of the TagValue. Now only supported in the format `{organization_id}/{tag_key_short_name}/{tag_value_short_name}`. Other formats will be supported when we add non-org parented tags. "tagKey": "A String", # The name of the TagKey, in the format `tagKeys/{id}`, such as `tagKeys/123`. "tagValue": "A String", # Resource name for TagValue in the format `tagValues/456`. }, diff --git a/docs/dyn/cloudresourcemanager_v3.folders.html b/docs/dyn/cloudresourcemanager_v3.folders.html index 5f92eee8d81..9c82e0e400a 100644 --- a/docs/dyn/cloudresourcemanager_v3.folders.html +++ b/docs/dyn/cloudresourcemanager_v3.folders.html @@ -276,7 +276,7 @@

Method Details

"location": "A String", # Optional. String indicating the location of the expression for error reporting, e.g. a file name and a position in the file. "title": "A String", # Optional. Title for the expression, i.e. a short string describing its purpose. This can be used e.g. in UIs which allow to enter the expression. }, - "members": [ # Specifies the principals requesting access for a Google Cloud resource. `members` can have the following values: * `allUsers`: A special identifier that represents anyone who is on the internet; with or without a Google account. * `allAuthenticatedUsers`: A special identifier that represents anyone who is authenticated with a Google account or a service account. * `user:{emailid}`: An email address that represents a specific Google account. For example, `alice@example.com` . * `serviceAccount:{emailid}`: An email address that represents a service account. For example, `my-other-app@appspot.gserviceaccount.com`. * `group:{emailid}`: An email address that represents a Google group. For example, `admins@example.com`. * `deleted:user:{emailid}?uid={uniqueid}`: An email address (plus unique identifier) representing a user that has been recently deleted. For example, `alice@example.com?uid=123456789012345678901`. If the user is recovered, this value reverts to `user:{emailid}` and the recovered user retains the role in the binding. * `deleted:serviceAccount:{emailid}?uid={uniqueid}`: An email address (plus unique identifier) representing a service account that has been recently deleted. For example, `my-other-app@appspot.gserviceaccount.com?uid=123456789012345678901`. If the service account is undeleted, this value reverts to `serviceAccount:{emailid}` and the undeleted service account retains the role in the binding. * `deleted:group:{emailid}?uid={uniqueid}`: An email address (plus unique identifier) representing a Google group that has been recently deleted. For example, `admins@example.com?uid=123456789012345678901`. If the group is recovered, this value reverts to `group:{emailid}` and the recovered group retains the role in the binding. * `domain:{domain}`: The G Suite domain (primary) that represents all the users of that domain. For example, `google.com` or `example.com`. + "members": [ # Specifies the principals requesting access for a Google Cloud resource. `members` can have the following values: * `allUsers`: A special identifier that represents anyone who is on the internet; with or without a Google account. * `allAuthenticatedUsers`: A special identifier that represents anyone who is authenticated with a Google account or a service account. * `user:{emailid}`: An email address that represents a specific Google account. For example, `alice@example.com` . * `serviceAccount:{emailid}`: An email address that represents a Google service account. For example, `my-other-app@appspot.gserviceaccount.com`. * `serviceAccount:{projectid}.svc.id.goog[{namespace}/{kubernetes-sa}]`: An identifier for a [Kubernetes service account](https://cloud.google.com/kubernetes-engine/docs/how-to/kubernetes-service-accounts). For example, `my-project.svc.id.goog[my-namespace/my-kubernetes-sa]`. * `group:{emailid}`: An email address that represents a Google group. For example, `admins@example.com`. * `deleted:user:{emailid}?uid={uniqueid}`: An email address (plus unique identifier) representing a user that has been recently deleted. For example, `alice@example.com?uid=123456789012345678901`. If the user is recovered, this value reverts to `user:{emailid}` and the recovered user retains the role in the binding. * `deleted:serviceAccount:{emailid}?uid={uniqueid}`: An email address (plus unique identifier) representing a service account that has been recently deleted. For example, `my-other-app@appspot.gserviceaccount.com?uid=123456789012345678901`. If the service account is undeleted, this value reverts to `serviceAccount:{emailid}` and the undeleted service account retains the role in the binding. * `deleted:group:{emailid}?uid={uniqueid}`: An email address (plus unique identifier) representing a Google group that has been recently deleted. For example, `admins@example.com?uid=123456789012345678901`. If the group is recovered, this value reverts to `group:{emailid}` and the recovered group retains the role in the binding. * `domain:{domain}`: The G Suite domain (primary) that represents all the users of that domain. For example, `google.com` or `example.com`. "A String", ], "role": "A String", # Role that is assigned to the list of `members`, or principals. For example, `roles/viewer`, `roles/editor`, or `roles/owner`. @@ -506,7 +506,7 @@

Method Details

"location": "A String", # Optional. String indicating the location of the expression for error reporting, e.g. a file name and a position in the file. "title": "A String", # Optional. Title for the expression, i.e. a short string describing its purpose. This can be used e.g. in UIs which allow to enter the expression. }, - "members": [ # Specifies the principals requesting access for a Google Cloud resource. `members` can have the following values: * `allUsers`: A special identifier that represents anyone who is on the internet; with or without a Google account. * `allAuthenticatedUsers`: A special identifier that represents anyone who is authenticated with a Google account or a service account. * `user:{emailid}`: An email address that represents a specific Google account. For example, `alice@example.com` . * `serviceAccount:{emailid}`: An email address that represents a service account. For example, `my-other-app@appspot.gserviceaccount.com`. * `group:{emailid}`: An email address that represents a Google group. For example, `admins@example.com`. * `deleted:user:{emailid}?uid={uniqueid}`: An email address (plus unique identifier) representing a user that has been recently deleted. For example, `alice@example.com?uid=123456789012345678901`. If the user is recovered, this value reverts to `user:{emailid}` and the recovered user retains the role in the binding. * `deleted:serviceAccount:{emailid}?uid={uniqueid}`: An email address (plus unique identifier) representing a service account that has been recently deleted. For example, `my-other-app@appspot.gserviceaccount.com?uid=123456789012345678901`. If the service account is undeleted, this value reverts to `serviceAccount:{emailid}` and the undeleted service account retains the role in the binding. * `deleted:group:{emailid}?uid={uniqueid}`: An email address (plus unique identifier) representing a Google group that has been recently deleted. For example, `admins@example.com?uid=123456789012345678901`. If the group is recovered, this value reverts to `group:{emailid}` and the recovered group retains the role in the binding. * `domain:{domain}`: The G Suite domain (primary) that represents all the users of that domain. For example, `google.com` or `example.com`. + "members": [ # Specifies the principals requesting access for a Google Cloud resource. `members` can have the following values: * `allUsers`: A special identifier that represents anyone who is on the internet; with or without a Google account. * `allAuthenticatedUsers`: A special identifier that represents anyone who is authenticated with a Google account or a service account. * `user:{emailid}`: An email address that represents a specific Google account. For example, `alice@example.com` . * `serviceAccount:{emailid}`: An email address that represents a Google service account. For example, `my-other-app@appspot.gserviceaccount.com`. * `serviceAccount:{projectid}.svc.id.goog[{namespace}/{kubernetes-sa}]`: An identifier for a [Kubernetes service account](https://cloud.google.com/kubernetes-engine/docs/how-to/kubernetes-service-accounts). For example, `my-project.svc.id.goog[my-namespace/my-kubernetes-sa]`. * `group:{emailid}`: An email address that represents a Google group. For example, `admins@example.com`. * `deleted:user:{emailid}?uid={uniqueid}`: An email address (plus unique identifier) representing a user that has been recently deleted. For example, `alice@example.com?uid=123456789012345678901`. If the user is recovered, this value reverts to `user:{emailid}` and the recovered user retains the role in the binding. * `deleted:serviceAccount:{emailid}?uid={uniqueid}`: An email address (plus unique identifier) representing a service account that has been recently deleted. For example, `my-other-app@appspot.gserviceaccount.com?uid=123456789012345678901`. If the service account is undeleted, this value reverts to `serviceAccount:{emailid}` and the undeleted service account retains the role in the binding. * `deleted:group:{emailid}?uid={uniqueid}`: An email address (plus unique identifier) representing a Google group that has been recently deleted. For example, `admins@example.com?uid=123456789012345678901`. If the group is recovered, this value reverts to `group:{emailid}` and the recovered group retains the role in the binding. * `domain:{domain}`: The G Suite domain (primary) that represents all the users of that domain. For example, `google.com` or `example.com`. "A String", ], "role": "A String", # Role that is assigned to the list of `members`, or principals. For example, `roles/viewer`, `roles/editor`, or `roles/owner`. @@ -548,7 +548,7 @@

Method Details

"location": "A String", # Optional. String indicating the location of the expression for error reporting, e.g. a file name and a position in the file. "title": "A String", # Optional. Title for the expression, i.e. a short string describing its purpose. This can be used e.g. in UIs which allow to enter the expression. }, - "members": [ # Specifies the principals requesting access for a Google Cloud resource. `members` can have the following values: * `allUsers`: A special identifier that represents anyone who is on the internet; with or without a Google account. * `allAuthenticatedUsers`: A special identifier that represents anyone who is authenticated with a Google account or a service account. * `user:{emailid}`: An email address that represents a specific Google account. For example, `alice@example.com` . * `serviceAccount:{emailid}`: An email address that represents a service account. For example, `my-other-app@appspot.gserviceaccount.com`. * `group:{emailid}`: An email address that represents a Google group. For example, `admins@example.com`. * `deleted:user:{emailid}?uid={uniqueid}`: An email address (plus unique identifier) representing a user that has been recently deleted. For example, `alice@example.com?uid=123456789012345678901`. If the user is recovered, this value reverts to `user:{emailid}` and the recovered user retains the role in the binding. * `deleted:serviceAccount:{emailid}?uid={uniqueid}`: An email address (plus unique identifier) representing a service account that has been recently deleted. For example, `my-other-app@appspot.gserviceaccount.com?uid=123456789012345678901`. If the service account is undeleted, this value reverts to `serviceAccount:{emailid}` and the undeleted service account retains the role in the binding. * `deleted:group:{emailid}?uid={uniqueid}`: An email address (plus unique identifier) representing a Google group that has been recently deleted. For example, `admins@example.com?uid=123456789012345678901`. If the group is recovered, this value reverts to `group:{emailid}` and the recovered group retains the role in the binding. * `domain:{domain}`: The G Suite domain (primary) that represents all the users of that domain. For example, `google.com` or `example.com`. + "members": [ # Specifies the principals requesting access for a Google Cloud resource. `members` can have the following values: * `allUsers`: A special identifier that represents anyone who is on the internet; with or without a Google account. * `allAuthenticatedUsers`: A special identifier that represents anyone who is authenticated with a Google account or a service account. * `user:{emailid}`: An email address that represents a specific Google account. For example, `alice@example.com` . * `serviceAccount:{emailid}`: An email address that represents a Google service account. For example, `my-other-app@appspot.gserviceaccount.com`. * `serviceAccount:{projectid}.svc.id.goog[{namespace}/{kubernetes-sa}]`: An identifier for a [Kubernetes service account](https://cloud.google.com/kubernetes-engine/docs/how-to/kubernetes-service-accounts). For example, `my-project.svc.id.goog[my-namespace/my-kubernetes-sa]`. * `group:{emailid}`: An email address that represents a Google group. For example, `admins@example.com`. * `deleted:user:{emailid}?uid={uniqueid}`: An email address (plus unique identifier) representing a user that has been recently deleted. For example, `alice@example.com?uid=123456789012345678901`. If the user is recovered, this value reverts to `user:{emailid}` and the recovered user retains the role in the binding. * `deleted:serviceAccount:{emailid}?uid={uniqueid}`: An email address (plus unique identifier) representing a service account that has been recently deleted. For example, `my-other-app@appspot.gserviceaccount.com?uid=123456789012345678901`. If the service account is undeleted, this value reverts to `serviceAccount:{emailid}` and the undeleted service account retains the role in the binding. * `deleted:group:{emailid}?uid={uniqueid}`: An email address (plus unique identifier) representing a Google group that has been recently deleted. For example, `admins@example.com?uid=123456789012345678901`. If the group is recovered, this value reverts to `group:{emailid}` and the recovered group retains the role in the binding. * `domain:{domain}`: The G Suite domain (primary) that represents all the users of that domain. For example, `google.com` or `example.com`. "A String", ], "role": "A String", # Role that is assigned to the list of `members`, or principals. For example, `roles/viewer`, `roles/editor`, or `roles/owner`. diff --git a/docs/dyn/cloudresourcemanager_v3.organizations.html b/docs/dyn/cloudresourcemanager_v3.organizations.html index 28c0dc71703..899a2f766f5 100644 --- a/docs/dyn/cloudresourcemanager_v3.organizations.html +++ b/docs/dyn/cloudresourcemanager_v3.organizations.html @@ -172,7 +172,7 @@

Method Details

"location": "A String", # Optional. String indicating the location of the expression for error reporting, e.g. a file name and a position in the file. "title": "A String", # Optional. Title for the expression, i.e. a short string describing its purpose. This can be used e.g. in UIs which allow to enter the expression. }, - "members": [ # Specifies the principals requesting access for a Google Cloud resource. `members` can have the following values: * `allUsers`: A special identifier that represents anyone who is on the internet; with or without a Google account. * `allAuthenticatedUsers`: A special identifier that represents anyone who is authenticated with a Google account or a service account. * `user:{emailid}`: An email address that represents a specific Google account. For example, `alice@example.com` . * `serviceAccount:{emailid}`: An email address that represents a service account. For example, `my-other-app@appspot.gserviceaccount.com`. * `group:{emailid}`: An email address that represents a Google group. For example, `admins@example.com`. * `deleted:user:{emailid}?uid={uniqueid}`: An email address (plus unique identifier) representing a user that has been recently deleted. For example, `alice@example.com?uid=123456789012345678901`. If the user is recovered, this value reverts to `user:{emailid}` and the recovered user retains the role in the binding. * `deleted:serviceAccount:{emailid}?uid={uniqueid}`: An email address (plus unique identifier) representing a service account that has been recently deleted. For example, `my-other-app@appspot.gserviceaccount.com?uid=123456789012345678901`. If the service account is undeleted, this value reverts to `serviceAccount:{emailid}` and the undeleted service account retains the role in the binding. * `deleted:group:{emailid}?uid={uniqueid}`: An email address (plus unique identifier) representing a Google group that has been recently deleted. For example, `admins@example.com?uid=123456789012345678901`. If the group is recovered, this value reverts to `group:{emailid}` and the recovered group retains the role in the binding. * `domain:{domain}`: The G Suite domain (primary) that represents all the users of that domain. For example, `google.com` or `example.com`. + "members": [ # Specifies the principals requesting access for a Google Cloud resource. `members` can have the following values: * `allUsers`: A special identifier that represents anyone who is on the internet; with or without a Google account. * `allAuthenticatedUsers`: A special identifier that represents anyone who is authenticated with a Google account or a service account. * `user:{emailid}`: An email address that represents a specific Google account. For example, `alice@example.com` . * `serviceAccount:{emailid}`: An email address that represents a Google service account. For example, `my-other-app@appspot.gserviceaccount.com`. * `serviceAccount:{projectid}.svc.id.goog[{namespace}/{kubernetes-sa}]`: An identifier for a [Kubernetes service account](https://cloud.google.com/kubernetes-engine/docs/how-to/kubernetes-service-accounts). For example, `my-project.svc.id.goog[my-namespace/my-kubernetes-sa]`. * `group:{emailid}`: An email address that represents a Google group. For example, `admins@example.com`. * `deleted:user:{emailid}?uid={uniqueid}`: An email address (plus unique identifier) representing a user that has been recently deleted. For example, `alice@example.com?uid=123456789012345678901`. If the user is recovered, this value reverts to `user:{emailid}` and the recovered user retains the role in the binding. * `deleted:serviceAccount:{emailid}?uid={uniqueid}`: An email address (plus unique identifier) representing a service account that has been recently deleted. For example, `my-other-app@appspot.gserviceaccount.com?uid=123456789012345678901`. If the service account is undeleted, this value reverts to `serviceAccount:{emailid}` and the undeleted service account retains the role in the binding. * `deleted:group:{emailid}?uid={uniqueid}`: An email address (plus unique identifier) representing a Google group that has been recently deleted. For example, `admins@example.com?uid=123456789012345678901`. If the group is recovered, this value reverts to `group:{emailid}` and the recovered group retains the role in the binding. * `domain:{domain}`: The G Suite domain (primary) that represents all the users of that domain. For example, `google.com` or `example.com`. "A String", ], "role": "A String", # Role that is assigned to the list of `members`, or principals. For example, `roles/viewer`, `roles/editor`, or `roles/owner`. @@ -262,7 +262,7 @@

Method Details

"location": "A String", # Optional. String indicating the location of the expression for error reporting, e.g. a file name and a position in the file. "title": "A String", # Optional. Title for the expression, i.e. a short string describing its purpose. This can be used e.g. in UIs which allow to enter the expression. }, - "members": [ # Specifies the principals requesting access for a Google Cloud resource. `members` can have the following values: * `allUsers`: A special identifier that represents anyone who is on the internet; with or without a Google account. * `allAuthenticatedUsers`: A special identifier that represents anyone who is authenticated with a Google account or a service account. * `user:{emailid}`: An email address that represents a specific Google account. For example, `alice@example.com` . * `serviceAccount:{emailid}`: An email address that represents a service account. For example, `my-other-app@appspot.gserviceaccount.com`. * `group:{emailid}`: An email address that represents a Google group. For example, `admins@example.com`. * `deleted:user:{emailid}?uid={uniqueid}`: An email address (plus unique identifier) representing a user that has been recently deleted. For example, `alice@example.com?uid=123456789012345678901`. If the user is recovered, this value reverts to `user:{emailid}` and the recovered user retains the role in the binding. * `deleted:serviceAccount:{emailid}?uid={uniqueid}`: An email address (plus unique identifier) representing a service account that has been recently deleted. For example, `my-other-app@appspot.gserviceaccount.com?uid=123456789012345678901`. If the service account is undeleted, this value reverts to `serviceAccount:{emailid}` and the undeleted service account retains the role in the binding. * `deleted:group:{emailid}?uid={uniqueid}`: An email address (plus unique identifier) representing a Google group that has been recently deleted. For example, `admins@example.com?uid=123456789012345678901`. If the group is recovered, this value reverts to `group:{emailid}` and the recovered group retains the role in the binding. * `domain:{domain}`: The G Suite domain (primary) that represents all the users of that domain. For example, `google.com` or `example.com`. + "members": [ # Specifies the principals requesting access for a Google Cloud resource. `members` can have the following values: * `allUsers`: A special identifier that represents anyone who is on the internet; with or without a Google account. * `allAuthenticatedUsers`: A special identifier that represents anyone who is authenticated with a Google account or a service account. * `user:{emailid}`: An email address that represents a specific Google account. For example, `alice@example.com` . * `serviceAccount:{emailid}`: An email address that represents a Google service account. For example, `my-other-app@appspot.gserviceaccount.com`. * `serviceAccount:{projectid}.svc.id.goog[{namespace}/{kubernetes-sa}]`: An identifier for a [Kubernetes service account](https://cloud.google.com/kubernetes-engine/docs/how-to/kubernetes-service-accounts). For example, `my-project.svc.id.goog[my-namespace/my-kubernetes-sa]`. * `group:{emailid}`: An email address that represents a Google group. For example, `admins@example.com`. * `deleted:user:{emailid}?uid={uniqueid}`: An email address (plus unique identifier) representing a user that has been recently deleted. For example, `alice@example.com?uid=123456789012345678901`. If the user is recovered, this value reverts to `user:{emailid}` and the recovered user retains the role in the binding. * `deleted:serviceAccount:{emailid}?uid={uniqueid}`: An email address (plus unique identifier) representing a service account that has been recently deleted. For example, `my-other-app@appspot.gserviceaccount.com?uid=123456789012345678901`. If the service account is undeleted, this value reverts to `serviceAccount:{emailid}` and the undeleted service account retains the role in the binding. * `deleted:group:{emailid}?uid={uniqueid}`: An email address (plus unique identifier) representing a Google group that has been recently deleted. For example, `admins@example.com?uid=123456789012345678901`. If the group is recovered, this value reverts to `group:{emailid}` and the recovered group retains the role in the binding. * `domain:{domain}`: The G Suite domain (primary) that represents all the users of that domain. For example, `google.com` or `example.com`. "A String", ], "role": "A String", # Role that is assigned to the list of `members`, or principals. For example, `roles/viewer`, `roles/editor`, or `roles/owner`. @@ -304,7 +304,7 @@

Method Details

"location": "A String", # Optional. String indicating the location of the expression for error reporting, e.g. a file name and a position in the file. "title": "A String", # Optional. Title for the expression, i.e. a short string describing its purpose. This can be used e.g. in UIs which allow to enter the expression. }, - "members": [ # Specifies the principals requesting access for a Google Cloud resource. `members` can have the following values: * `allUsers`: A special identifier that represents anyone who is on the internet; with or without a Google account. * `allAuthenticatedUsers`: A special identifier that represents anyone who is authenticated with a Google account or a service account. * `user:{emailid}`: An email address that represents a specific Google account. For example, `alice@example.com` . * `serviceAccount:{emailid}`: An email address that represents a service account. For example, `my-other-app@appspot.gserviceaccount.com`. * `group:{emailid}`: An email address that represents a Google group. For example, `admins@example.com`. * `deleted:user:{emailid}?uid={uniqueid}`: An email address (plus unique identifier) representing a user that has been recently deleted. For example, `alice@example.com?uid=123456789012345678901`. If the user is recovered, this value reverts to `user:{emailid}` and the recovered user retains the role in the binding. * `deleted:serviceAccount:{emailid}?uid={uniqueid}`: An email address (plus unique identifier) representing a service account that has been recently deleted. For example, `my-other-app@appspot.gserviceaccount.com?uid=123456789012345678901`. If the service account is undeleted, this value reverts to `serviceAccount:{emailid}` and the undeleted service account retains the role in the binding. * `deleted:group:{emailid}?uid={uniqueid}`: An email address (plus unique identifier) representing a Google group that has been recently deleted. For example, `admins@example.com?uid=123456789012345678901`. If the group is recovered, this value reverts to `group:{emailid}` and the recovered group retains the role in the binding. * `domain:{domain}`: The G Suite domain (primary) that represents all the users of that domain. For example, `google.com` or `example.com`. + "members": [ # Specifies the principals requesting access for a Google Cloud resource. `members` can have the following values: * `allUsers`: A special identifier that represents anyone who is on the internet; with or without a Google account. * `allAuthenticatedUsers`: A special identifier that represents anyone who is authenticated with a Google account or a service account. * `user:{emailid}`: An email address that represents a specific Google account. For example, `alice@example.com` . * `serviceAccount:{emailid}`: An email address that represents a Google service account. For example, `my-other-app@appspot.gserviceaccount.com`. * `serviceAccount:{projectid}.svc.id.goog[{namespace}/{kubernetes-sa}]`: An identifier for a [Kubernetes service account](https://cloud.google.com/kubernetes-engine/docs/how-to/kubernetes-service-accounts). For example, `my-project.svc.id.goog[my-namespace/my-kubernetes-sa]`. * `group:{emailid}`: An email address that represents a Google group. For example, `admins@example.com`. * `deleted:user:{emailid}?uid={uniqueid}`: An email address (plus unique identifier) representing a user that has been recently deleted. For example, `alice@example.com?uid=123456789012345678901`. If the user is recovered, this value reverts to `user:{emailid}` and the recovered user retains the role in the binding. * `deleted:serviceAccount:{emailid}?uid={uniqueid}`: An email address (plus unique identifier) representing a service account that has been recently deleted. For example, `my-other-app@appspot.gserviceaccount.com?uid=123456789012345678901`. If the service account is undeleted, this value reverts to `serviceAccount:{emailid}` and the undeleted service account retains the role in the binding. * `deleted:group:{emailid}?uid={uniqueid}`: An email address (plus unique identifier) representing a Google group that has been recently deleted. For example, `admins@example.com?uid=123456789012345678901`. If the group is recovered, this value reverts to `group:{emailid}` and the recovered group retains the role in the binding. * `domain:{domain}`: The G Suite domain (primary) that represents all the users of that domain. For example, `google.com` or `example.com`. "A String", ], "role": "A String", # Role that is assigned to the list of `members`, or principals. For example, `roles/viewer`, `roles/editor`, or `roles/owner`. diff --git a/docs/dyn/cloudresourcemanager_v3.projects.html b/docs/dyn/cloudresourcemanager_v3.projects.html index 66dd8f05bd7..ca49fb03e3b 100644 --- a/docs/dyn/cloudresourcemanager_v3.projects.html +++ b/docs/dyn/cloudresourcemanager_v3.projects.html @@ -284,7 +284,7 @@

Method Details

"location": "A String", # Optional. String indicating the location of the expression for error reporting, e.g. a file name and a position in the file. "title": "A String", # Optional. Title for the expression, i.e. a short string describing its purpose. This can be used e.g. in UIs which allow to enter the expression. }, - "members": [ # Specifies the principals requesting access for a Google Cloud resource. `members` can have the following values: * `allUsers`: A special identifier that represents anyone who is on the internet; with or without a Google account. * `allAuthenticatedUsers`: A special identifier that represents anyone who is authenticated with a Google account or a service account. * `user:{emailid}`: An email address that represents a specific Google account. For example, `alice@example.com` . * `serviceAccount:{emailid}`: An email address that represents a service account. For example, `my-other-app@appspot.gserviceaccount.com`. * `group:{emailid}`: An email address that represents a Google group. For example, `admins@example.com`. * `deleted:user:{emailid}?uid={uniqueid}`: An email address (plus unique identifier) representing a user that has been recently deleted. For example, `alice@example.com?uid=123456789012345678901`. If the user is recovered, this value reverts to `user:{emailid}` and the recovered user retains the role in the binding. * `deleted:serviceAccount:{emailid}?uid={uniqueid}`: An email address (plus unique identifier) representing a service account that has been recently deleted. For example, `my-other-app@appspot.gserviceaccount.com?uid=123456789012345678901`. If the service account is undeleted, this value reverts to `serviceAccount:{emailid}` and the undeleted service account retains the role in the binding. * `deleted:group:{emailid}?uid={uniqueid}`: An email address (plus unique identifier) representing a Google group that has been recently deleted. For example, `admins@example.com?uid=123456789012345678901`. If the group is recovered, this value reverts to `group:{emailid}` and the recovered group retains the role in the binding. * `domain:{domain}`: The G Suite domain (primary) that represents all the users of that domain. For example, `google.com` or `example.com`. + "members": [ # Specifies the principals requesting access for a Google Cloud resource. `members` can have the following values: * `allUsers`: A special identifier that represents anyone who is on the internet; with or without a Google account. * `allAuthenticatedUsers`: A special identifier that represents anyone who is authenticated with a Google account or a service account. * `user:{emailid}`: An email address that represents a specific Google account. For example, `alice@example.com` . * `serviceAccount:{emailid}`: An email address that represents a Google service account. For example, `my-other-app@appspot.gserviceaccount.com`. * `serviceAccount:{projectid}.svc.id.goog[{namespace}/{kubernetes-sa}]`: An identifier for a [Kubernetes service account](https://cloud.google.com/kubernetes-engine/docs/how-to/kubernetes-service-accounts). For example, `my-project.svc.id.goog[my-namespace/my-kubernetes-sa]`. * `group:{emailid}`: An email address that represents a Google group. For example, `admins@example.com`. * `deleted:user:{emailid}?uid={uniqueid}`: An email address (plus unique identifier) representing a user that has been recently deleted. For example, `alice@example.com?uid=123456789012345678901`. If the user is recovered, this value reverts to `user:{emailid}` and the recovered user retains the role in the binding. * `deleted:serviceAccount:{emailid}?uid={uniqueid}`: An email address (plus unique identifier) representing a service account that has been recently deleted. For example, `my-other-app@appspot.gserviceaccount.com?uid=123456789012345678901`. If the service account is undeleted, this value reverts to `serviceAccount:{emailid}` and the undeleted service account retains the role in the binding. * `deleted:group:{emailid}?uid={uniqueid}`: An email address (plus unique identifier) representing a Google group that has been recently deleted. For example, `admins@example.com?uid=123456789012345678901`. If the group is recovered, this value reverts to `group:{emailid}` and the recovered group retains the role in the binding. * `domain:{domain}`: The G Suite domain (primary) that represents all the users of that domain. For example, `google.com` or `example.com`. "A String", ], "role": "A String", # Role that is assigned to the list of `members`, or principals. For example, `roles/viewer`, `roles/editor`, or `roles/owner`. @@ -526,7 +526,7 @@

Method Details

"location": "A String", # Optional. String indicating the location of the expression for error reporting, e.g. a file name and a position in the file. "title": "A String", # Optional. Title for the expression, i.e. a short string describing its purpose. This can be used e.g. in UIs which allow to enter the expression. }, - "members": [ # Specifies the principals requesting access for a Google Cloud resource. `members` can have the following values: * `allUsers`: A special identifier that represents anyone who is on the internet; with or without a Google account. * `allAuthenticatedUsers`: A special identifier that represents anyone who is authenticated with a Google account or a service account. * `user:{emailid}`: An email address that represents a specific Google account. For example, `alice@example.com` . * `serviceAccount:{emailid}`: An email address that represents a service account. For example, `my-other-app@appspot.gserviceaccount.com`. * `group:{emailid}`: An email address that represents a Google group. For example, `admins@example.com`. * `deleted:user:{emailid}?uid={uniqueid}`: An email address (plus unique identifier) representing a user that has been recently deleted. For example, `alice@example.com?uid=123456789012345678901`. If the user is recovered, this value reverts to `user:{emailid}` and the recovered user retains the role in the binding. * `deleted:serviceAccount:{emailid}?uid={uniqueid}`: An email address (plus unique identifier) representing a service account that has been recently deleted. For example, `my-other-app@appspot.gserviceaccount.com?uid=123456789012345678901`. If the service account is undeleted, this value reverts to `serviceAccount:{emailid}` and the undeleted service account retains the role in the binding. * `deleted:group:{emailid}?uid={uniqueid}`: An email address (plus unique identifier) representing a Google group that has been recently deleted. For example, `admins@example.com?uid=123456789012345678901`. If the group is recovered, this value reverts to `group:{emailid}` and the recovered group retains the role in the binding. * `domain:{domain}`: The G Suite domain (primary) that represents all the users of that domain. For example, `google.com` or `example.com`. + "members": [ # Specifies the principals requesting access for a Google Cloud resource. `members` can have the following values: * `allUsers`: A special identifier that represents anyone who is on the internet; with or without a Google account. * `allAuthenticatedUsers`: A special identifier that represents anyone who is authenticated with a Google account or a service account. * `user:{emailid}`: An email address that represents a specific Google account. For example, `alice@example.com` . * `serviceAccount:{emailid}`: An email address that represents a Google service account. For example, `my-other-app@appspot.gserviceaccount.com`. * `serviceAccount:{projectid}.svc.id.goog[{namespace}/{kubernetes-sa}]`: An identifier for a [Kubernetes service account](https://cloud.google.com/kubernetes-engine/docs/how-to/kubernetes-service-accounts). For example, `my-project.svc.id.goog[my-namespace/my-kubernetes-sa]`. * `group:{emailid}`: An email address that represents a Google group. For example, `admins@example.com`. * `deleted:user:{emailid}?uid={uniqueid}`: An email address (plus unique identifier) representing a user that has been recently deleted. For example, `alice@example.com?uid=123456789012345678901`. If the user is recovered, this value reverts to `user:{emailid}` and the recovered user retains the role in the binding. * `deleted:serviceAccount:{emailid}?uid={uniqueid}`: An email address (plus unique identifier) representing a service account that has been recently deleted. For example, `my-other-app@appspot.gserviceaccount.com?uid=123456789012345678901`. If the service account is undeleted, this value reverts to `serviceAccount:{emailid}` and the undeleted service account retains the role in the binding. * `deleted:group:{emailid}?uid={uniqueid}`: An email address (plus unique identifier) representing a Google group that has been recently deleted. For example, `admins@example.com?uid=123456789012345678901`. If the group is recovered, this value reverts to `group:{emailid}` and the recovered group retains the role in the binding. * `domain:{domain}`: The G Suite domain (primary) that represents all the users of that domain. For example, `google.com` or `example.com`. "A String", ], "role": "A String", # Role that is assigned to the list of `members`, or principals. For example, `roles/viewer`, `roles/editor`, or `roles/owner`. @@ -568,7 +568,7 @@

Method Details

"location": "A String", # Optional. String indicating the location of the expression for error reporting, e.g. a file name and a position in the file. "title": "A String", # Optional. Title for the expression, i.e. a short string describing its purpose. This can be used e.g. in UIs which allow to enter the expression. }, - "members": [ # Specifies the principals requesting access for a Google Cloud resource. `members` can have the following values: * `allUsers`: A special identifier that represents anyone who is on the internet; with or without a Google account. * `allAuthenticatedUsers`: A special identifier that represents anyone who is authenticated with a Google account or a service account. * `user:{emailid}`: An email address that represents a specific Google account. For example, `alice@example.com` . * `serviceAccount:{emailid}`: An email address that represents a service account. For example, `my-other-app@appspot.gserviceaccount.com`. * `group:{emailid}`: An email address that represents a Google group. For example, `admins@example.com`. * `deleted:user:{emailid}?uid={uniqueid}`: An email address (plus unique identifier) representing a user that has been recently deleted. For example, `alice@example.com?uid=123456789012345678901`. If the user is recovered, this value reverts to `user:{emailid}` and the recovered user retains the role in the binding. * `deleted:serviceAccount:{emailid}?uid={uniqueid}`: An email address (plus unique identifier) representing a service account that has been recently deleted. For example, `my-other-app@appspot.gserviceaccount.com?uid=123456789012345678901`. If the service account is undeleted, this value reverts to `serviceAccount:{emailid}` and the undeleted service account retains the role in the binding. * `deleted:group:{emailid}?uid={uniqueid}`: An email address (plus unique identifier) representing a Google group that has been recently deleted. For example, `admins@example.com?uid=123456789012345678901`. If the group is recovered, this value reverts to `group:{emailid}` and the recovered group retains the role in the binding. * `domain:{domain}`: The G Suite domain (primary) that represents all the users of that domain. For example, `google.com` or `example.com`. + "members": [ # Specifies the principals requesting access for a Google Cloud resource. `members` can have the following values: * `allUsers`: A special identifier that represents anyone who is on the internet; with or without a Google account. * `allAuthenticatedUsers`: A special identifier that represents anyone who is authenticated with a Google account or a service account. * `user:{emailid}`: An email address that represents a specific Google account. For example, `alice@example.com` . * `serviceAccount:{emailid}`: An email address that represents a Google service account. For example, `my-other-app@appspot.gserviceaccount.com`. * `serviceAccount:{projectid}.svc.id.goog[{namespace}/{kubernetes-sa}]`: An identifier for a [Kubernetes service account](https://cloud.google.com/kubernetes-engine/docs/how-to/kubernetes-service-accounts). For example, `my-project.svc.id.goog[my-namespace/my-kubernetes-sa]`. * `group:{emailid}`: An email address that represents a Google group. For example, `admins@example.com`. * `deleted:user:{emailid}?uid={uniqueid}`: An email address (plus unique identifier) representing a user that has been recently deleted. For example, `alice@example.com?uid=123456789012345678901`. If the user is recovered, this value reverts to `user:{emailid}` and the recovered user retains the role in the binding. * `deleted:serviceAccount:{emailid}?uid={uniqueid}`: An email address (plus unique identifier) representing a service account that has been recently deleted. For example, `my-other-app@appspot.gserviceaccount.com?uid=123456789012345678901`. If the service account is undeleted, this value reverts to `serviceAccount:{emailid}` and the undeleted service account retains the role in the binding. * `deleted:group:{emailid}?uid={uniqueid}`: An email address (plus unique identifier) representing a Google group that has been recently deleted. For example, `admins@example.com?uid=123456789012345678901`. If the group is recovered, this value reverts to `group:{emailid}` and the recovered group retains the role in the binding. * `domain:{domain}`: The G Suite domain (primary) that represents all the users of that domain. For example, `google.com` or `example.com`. "A String", ], "role": "A String", # Role that is assigned to the list of `members`, or principals. For example, `roles/viewer`, `roles/editor`, or `roles/owner`. diff --git a/docs/dyn/cloudresourcemanager_v3.tagKeys.html b/docs/dyn/cloudresourcemanager_v3.tagKeys.html index e61e84e2f50..db1c7d50251 100644 --- a/docs/dyn/cloudresourcemanager_v3.tagKeys.html +++ b/docs/dyn/cloudresourcemanager_v3.tagKeys.html @@ -275,7 +275,7 @@

Method Details

"location": "A String", # Optional. String indicating the location of the expression for error reporting, e.g. a file name and a position in the file. "title": "A String", # Optional. Title for the expression, i.e. a short string describing its purpose. This can be used e.g. in UIs which allow to enter the expression. }, - "members": [ # Specifies the principals requesting access for a Google Cloud resource. `members` can have the following values: * `allUsers`: A special identifier that represents anyone who is on the internet; with or without a Google account. * `allAuthenticatedUsers`: A special identifier that represents anyone who is authenticated with a Google account or a service account. * `user:{emailid}`: An email address that represents a specific Google account. For example, `alice@example.com` . * `serviceAccount:{emailid}`: An email address that represents a service account. For example, `my-other-app@appspot.gserviceaccount.com`. * `group:{emailid}`: An email address that represents a Google group. For example, `admins@example.com`. * `deleted:user:{emailid}?uid={uniqueid}`: An email address (plus unique identifier) representing a user that has been recently deleted. For example, `alice@example.com?uid=123456789012345678901`. If the user is recovered, this value reverts to `user:{emailid}` and the recovered user retains the role in the binding. * `deleted:serviceAccount:{emailid}?uid={uniqueid}`: An email address (plus unique identifier) representing a service account that has been recently deleted. For example, `my-other-app@appspot.gserviceaccount.com?uid=123456789012345678901`. If the service account is undeleted, this value reverts to `serviceAccount:{emailid}` and the undeleted service account retains the role in the binding. * `deleted:group:{emailid}?uid={uniqueid}`: An email address (plus unique identifier) representing a Google group that has been recently deleted. For example, `admins@example.com?uid=123456789012345678901`. If the group is recovered, this value reverts to `group:{emailid}` and the recovered group retains the role in the binding. * `domain:{domain}`: The G Suite domain (primary) that represents all the users of that domain. For example, `google.com` or `example.com`. + "members": [ # Specifies the principals requesting access for a Google Cloud resource. `members` can have the following values: * `allUsers`: A special identifier that represents anyone who is on the internet; with or without a Google account. * `allAuthenticatedUsers`: A special identifier that represents anyone who is authenticated with a Google account or a service account. * `user:{emailid}`: An email address that represents a specific Google account. For example, `alice@example.com` . * `serviceAccount:{emailid}`: An email address that represents a Google service account. For example, `my-other-app@appspot.gserviceaccount.com`. * `serviceAccount:{projectid}.svc.id.goog[{namespace}/{kubernetes-sa}]`: An identifier for a [Kubernetes service account](https://cloud.google.com/kubernetes-engine/docs/how-to/kubernetes-service-accounts). For example, `my-project.svc.id.goog[my-namespace/my-kubernetes-sa]`. * `group:{emailid}`: An email address that represents a Google group. For example, `admins@example.com`. * `deleted:user:{emailid}?uid={uniqueid}`: An email address (plus unique identifier) representing a user that has been recently deleted. For example, `alice@example.com?uid=123456789012345678901`. If the user is recovered, this value reverts to `user:{emailid}` and the recovered user retains the role in the binding. * `deleted:serviceAccount:{emailid}?uid={uniqueid}`: An email address (plus unique identifier) representing a service account that has been recently deleted. For example, `my-other-app@appspot.gserviceaccount.com?uid=123456789012345678901`. If the service account is undeleted, this value reverts to `serviceAccount:{emailid}` and the undeleted service account retains the role in the binding. * `deleted:group:{emailid}?uid={uniqueid}`: An email address (plus unique identifier) representing a Google group that has been recently deleted. For example, `admins@example.com?uid=123456789012345678901`. If the group is recovered, this value reverts to `group:{emailid}` and the recovered group retains the role in the binding. * `domain:{domain}`: The G Suite domain (primary) that represents all the users of that domain. For example, `google.com` or `example.com`. "A String", ], "role": "A String", # Role that is assigned to the list of `members`, or principals. For example, `roles/viewer`, `roles/editor`, or `roles/owner`. @@ -424,7 +424,7 @@

Method Details

"location": "A String", # Optional. String indicating the location of the expression for error reporting, e.g. a file name and a position in the file. "title": "A String", # Optional. Title for the expression, i.e. a short string describing its purpose. This can be used e.g. in UIs which allow to enter the expression. }, - "members": [ # Specifies the principals requesting access for a Google Cloud resource. `members` can have the following values: * `allUsers`: A special identifier that represents anyone who is on the internet; with or without a Google account. * `allAuthenticatedUsers`: A special identifier that represents anyone who is authenticated with a Google account or a service account. * `user:{emailid}`: An email address that represents a specific Google account. For example, `alice@example.com` . * `serviceAccount:{emailid}`: An email address that represents a service account. For example, `my-other-app@appspot.gserviceaccount.com`. * `group:{emailid}`: An email address that represents a Google group. For example, `admins@example.com`. * `deleted:user:{emailid}?uid={uniqueid}`: An email address (plus unique identifier) representing a user that has been recently deleted. For example, `alice@example.com?uid=123456789012345678901`. If the user is recovered, this value reverts to `user:{emailid}` and the recovered user retains the role in the binding. * `deleted:serviceAccount:{emailid}?uid={uniqueid}`: An email address (plus unique identifier) representing a service account that has been recently deleted. For example, `my-other-app@appspot.gserviceaccount.com?uid=123456789012345678901`. If the service account is undeleted, this value reverts to `serviceAccount:{emailid}` and the undeleted service account retains the role in the binding. * `deleted:group:{emailid}?uid={uniqueid}`: An email address (plus unique identifier) representing a Google group that has been recently deleted. For example, `admins@example.com?uid=123456789012345678901`. If the group is recovered, this value reverts to `group:{emailid}` and the recovered group retains the role in the binding. * `domain:{domain}`: The G Suite domain (primary) that represents all the users of that domain. For example, `google.com` or `example.com`. + "members": [ # Specifies the principals requesting access for a Google Cloud resource. `members` can have the following values: * `allUsers`: A special identifier that represents anyone who is on the internet; with or without a Google account. * `allAuthenticatedUsers`: A special identifier that represents anyone who is authenticated with a Google account or a service account. * `user:{emailid}`: An email address that represents a specific Google account. For example, `alice@example.com` . * `serviceAccount:{emailid}`: An email address that represents a Google service account. For example, `my-other-app@appspot.gserviceaccount.com`. * `serviceAccount:{projectid}.svc.id.goog[{namespace}/{kubernetes-sa}]`: An identifier for a [Kubernetes service account](https://cloud.google.com/kubernetes-engine/docs/how-to/kubernetes-service-accounts). For example, `my-project.svc.id.goog[my-namespace/my-kubernetes-sa]`. * `group:{emailid}`: An email address that represents a Google group. For example, `admins@example.com`. * `deleted:user:{emailid}?uid={uniqueid}`: An email address (plus unique identifier) representing a user that has been recently deleted. For example, `alice@example.com?uid=123456789012345678901`. If the user is recovered, this value reverts to `user:{emailid}` and the recovered user retains the role in the binding. * `deleted:serviceAccount:{emailid}?uid={uniqueid}`: An email address (plus unique identifier) representing a service account that has been recently deleted. For example, `my-other-app@appspot.gserviceaccount.com?uid=123456789012345678901`. If the service account is undeleted, this value reverts to `serviceAccount:{emailid}` and the undeleted service account retains the role in the binding. * `deleted:group:{emailid}?uid={uniqueid}`: An email address (plus unique identifier) representing a Google group that has been recently deleted. For example, `admins@example.com?uid=123456789012345678901`. If the group is recovered, this value reverts to `group:{emailid}` and the recovered group retains the role in the binding. * `domain:{domain}`: The G Suite domain (primary) that represents all the users of that domain. For example, `google.com` or `example.com`. "A String", ], "role": "A String", # Role that is assigned to the list of `members`, or principals. For example, `roles/viewer`, `roles/editor`, or `roles/owner`. @@ -466,7 +466,7 @@

Method Details

"location": "A String", # Optional. String indicating the location of the expression for error reporting, e.g. a file name and a position in the file. "title": "A String", # Optional. Title for the expression, i.e. a short string describing its purpose. This can be used e.g. in UIs which allow to enter the expression. }, - "members": [ # Specifies the principals requesting access for a Google Cloud resource. `members` can have the following values: * `allUsers`: A special identifier that represents anyone who is on the internet; with or without a Google account. * `allAuthenticatedUsers`: A special identifier that represents anyone who is authenticated with a Google account or a service account. * `user:{emailid}`: An email address that represents a specific Google account. For example, `alice@example.com` . * `serviceAccount:{emailid}`: An email address that represents a service account. For example, `my-other-app@appspot.gserviceaccount.com`. * `group:{emailid}`: An email address that represents a Google group. For example, `admins@example.com`. * `deleted:user:{emailid}?uid={uniqueid}`: An email address (plus unique identifier) representing a user that has been recently deleted. For example, `alice@example.com?uid=123456789012345678901`. If the user is recovered, this value reverts to `user:{emailid}` and the recovered user retains the role in the binding. * `deleted:serviceAccount:{emailid}?uid={uniqueid}`: An email address (plus unique identifier) representing a service account that has been recently deleted. For example, `my-other-app@appspot.gserviceaccount.com?uid=123456789012345678901`. If the service account is undeleted, this value reverts to `serviceAccount:{emailid}` and the undeleted service account retains the role in the binding. * `deleted:group:{emailid}?uid={uniqueid}`: An email address (plus unique identifier) representing a Google group that has been recently deleted. For example, `admins@example.com?uid=123456789012345678901`. If the group is recovered, this value reverts to `group:{emailid}` and the recovered group retains the role in the binding. * `domain:{domain}`: The G Suite domain (primary) that represents all the users of that domain. For example, `google.com` or `example.com`. + "members": [ # Specifies the principals requesting access for a Google Cloud resource. `members` can have the following values: * `allUsers`: A special identifier that represents anyone who is on the internet; with or without a Google account. * `allAuthenticatedUsers`: A special identifier that represents anyone who is authenticated with a Google account or a service account. * `user:{emailid}`: An email address that represents a specific Google account. For example, `alice@example.com` . * `serviceAccount:{emailid}`: An email address that represents a Google service account. For example, `my-other-app@appspot.gserviceaccount.com`. * `serviceAccount:{projectid}.svc.id.goog[{namespace}/{kubernetes-sa}]`: An identifier for a [Kubernetes service account](https://cloud.google.com/kubernetes-engine/docs/how-to/kubernetes-service-accounts). For example, `my-project.svc.id.goog[my-namespace/my-kubernetes-sa]`. * `group:{emailid}`: An email address that represents a Google group. For example, `admins@example.com`. * `deleted:user:{emailid}?uid={uniqueid}`: An email address (plus unique identifier) representing a user that has been recently deleted. For example, `alice@example.com?uid=123456789012345678901`. If the user is recovered, this value reverts to `user:{emailid}` and the recovered user retains the role in the binding. * `deleted:serviceAccount:{emailid}?uid={uniqueid}`: An email address (plus unique identifier) representing a service account that has been recently deleted. For example, `my-other-app@appspot.gserviceaccount.com?uid=123456789012345678901`. If the service account is undeleted, this value reverts to `serviceAccount:{emailid}` and the undeleted service account retains the role in the binding. * `deleted:group:{emailid}?uid={uniqueid}`: An email address (plus unique identifier) representing a Google group that has been recently deleted. For example, `admins@example.com?uid=123456789012345678901`. If the group is recovered, this value reverts to `group:{emailid}` and the recovered group retains the role in the binding. * `domain:{domain}`: The G Suite domain (primary) that represents all the users of that domain. For example, `google.com` or `example.com`. "A String", ], "role": "A String", # Role that is assigned to the list of `members`, or principals. For example, `roles/viewer`, `roles/editor`, or `roles/owner`. diff --git a/docs/dyn/cloudresourcemanager_v3.tagValues.html b/docs/dyn/cloudresourcemanager_v3.tagValues.html index 231b3e867e9..15e90369477 100644 --- a/docs/dyn/cloudresourcemanager_v3.tagValues.html +++ b/docs/dyn/cloudresourcemanager_v3.tagValues.html @@ -90,7 +90,7 @@

Instance Methods

Deletes a TagValue. The TagValue cannot have any bindings when it is deleted.

get(name, x__xgafv=None)

-

Retrieves TagValue. If the TagValue or namespaced name does not exist, or if the user does not have permission to view it, this method will return `PERMISSION_DENIED`.

+

Retrieves a TagValue. This method will return `PERMISSION_DENIED` if the value does not exist or the user does not have permission to view it.

getIamPolicy(resource, body=None, x__xgafv=None)

Gets the access control policy for a TagValue. The returned policy may be empty if no such policy or resource exists. The `resource` field should be the TagValue's resource name. For example: `tagValues/1234`. The caller must have the `cloudresourcemanager.googleapis.com/tagValues.getIamPolicy` permission on the identified TagValue to get the access control policy.

@@ -128,7 +128,7 @@

Method Details

"description": "A String", # Optional. User-assigned description of the TagValue. Must not exceed 256 characters. Read-write. "etag": "A String", # Optional. Entity tag which users can pass to prevent race conditions. This field is always set in server responses. See UpdateTagValueRequest for details. "name": "A String", # Immutable. Resource name for TagValue in the format `tagValues/456`. - "namespacedName": "A String", # Output only. Namespaced name of the TagValue. Must be in the format `{organization_id}/{tag_key_short_name}/{short_name}`. + "namespacedName": "A String", # Output only. Namespaced name of the TagValue. Now only supported in the format `{organization_id}/{tag_key_short_name}/{short_name}`. Other formats will be supported when we add non-org parented tags. "parent": "A String", # Immutable. The resource name of the new TagValue's parent TagKey. Must be of the form `tagKeys/{tag_key_id}`. "shortName": "A String", # Required. Immutable. User-assigned short name for TagValue. The short name should be unique for TagValues within the same parent TagKey. The short name must be 63 characters or less, beginning and ending with an alphanumeric character ([a-z0-9A-Z]) with dashes (-), underscores (_), dots (.), and alphanumerics between. "updateTime": "A String", # Output only. Update time. @@ -203,7 +203,7 @@

Method Details

get(name, x__xgafv=None) -
Retrieves TagValue. If the TagValue or namespaced name does not exist, or if the user does not have permission to view it, this method will return `PERMISSION_DENIED`.
+  
Retrieves a TagValue. This method will return `PERMISSION_DENIED` if the value does not exist or the user does not have permission to view it.
 
 Args:
   name: string, Required. Resource name for TagValue to be fetched in the format `tagValues/456`. (required)
@@ -220,7 +220,7 @@ 

Method Details

"description": "A String", # Optional. User-assigned description of the TagValue. Must not exceed 256 characters. Read-write. "etag": "A String", # Optional. Entity tag which users can pass to prevent race conditions. This field is always set in server responses. See UpdateTagValueRequest for details. "name": "A String", # Immutable. Resource name for TagValue in the format `tagValues/456`. - "namespacedName": "A String", # Output only. Namespaced name of the TagValue. Must be in the format `{organization_id}/{tag_key_short_name}/{short_name}`. + "namespacedName": "A String", # Output only. Namespaced name of the TagValue. Now only supported in the format `{organization_id}/{tag_key_short_name}/{short_name}`. Other formats will be supported when we add non-org parented tags. "parent": "A String", # Immutable. The resource name of the new TagValue's parent TagKey. Must be of the form `tagKeys/{tag_key_id}`. "shortName": "A String", # Required. Immutable. User-assigned short name for TagValue. The short name should be unique for TagValues within the same parent TagKey. The short name must be 63 characters or less, beginning and ending with an alphanumeric character ([a-z0-9A-Z]) with dashes (-), underscores (_), dots (.), and alphanumerics between. "updateTime": "A String", # Output only. Update time. @@ -272,7 +272,7 @@

Method Details

"location": "A String", # Optional. String indicating the location of the expression for error reporting, e.g. a file name and a position in the file. "title": "A String", # Optional. Title for the expression, i.e. a short string describing its purpose. This can be used e.g. in UIs which allow to enter the expression. }, - "members": [ # Specifies the principals requesting access for a Google Cloud resource. `members` can have the following values: * `allUsers`: A special identifier that represents anyone who is on the internet; with or without a Google account. * `allAuthenticatedUsers`: A special identifier that represents anyone who is authenticated with a Google account or a service account. * `user:{emailid}`: An email address that represents a specific Google account. For example, `alice@example.com` . * `serviceAccount:{emailid}`: An email address that represents a service account. For example, `my-other-app@appspot.gserviceaccount.com`. * `group:{emailid}`: An email address that represents a Google group. For example, `admins@example.com`. * `deleted:user:{emailid}?uid={uniqueid}`: An email address (plus unique identifier) representing a user that has been recently deleted. For example, `alice@example.com?uid=123456789012345678901`. If the user is recovered, this value reverts to `user:{emailid}` and the recovered user retains the role in the binding. * `deleted:serviceAccount:{emailid}?uid={uniqueid}`: An email address (plus unique identifier) representing a service account that has been recently deleted. For example, `my-other-app@appspot.gserviceaccount.com?uid=123456789012345678901`. If the service account is undeleted, this value reverts to `serviceAccount:{emailid}` and the undeleted service account retains the role in the binding. * `deleted:group:{emailid}?uid={uniqueid}`: An email address (plus unique identifier) representing a Google group that has been recently deleted. For example, `admins@example.com?uid=123456789012345678901`. If the group is recovered, this value reverts to `group:{emailid}` and the recovered group retains the role in the binding. * `domain:{domain}`: The G Suite domain (primary) that represents all the users of that domain. For example, `google.com` or `example.com`. + "members": [ # Specifies the principals requesting access for a Google Cloud resource. `members` can have the following values: * `allUsers`: A special identifier that represents anyone who is on the internet; with or without a Google account. * `allAuthenticatedUsers`: A special identifier that represents anyone who is authenticated with a Google account or a service account. * `user:{emailid}`: An email address that represents a specific Google account. For example, `alice@example.com` . * `serviceAccount:{emailid}`: An email address that represents a Google service account. For example, `my-other-app@appspot.gserviceaccount.com`. * `serviceAccount:{projectid}.svc.id.goog[{namespace}/{kubernetes-sa}]`: An identifier for a [Kubernetes service account](https://cloud.google.com/kubernetes-engine/docs/how-to/kubernetes-service-accounts). For example, `my-project.svc.id.goog[my-namespace/my-kubernetes-sa]`. * `group:{emailid}`: An email address that represents a Google group. For example, `admins@example.com`. * `deleted:user:{emailid}?uid={uniqueid}`: An email address (plus unique identifier) representing a user that has been recently deleted. For example, `alice@example.com?uid=123456789012345678901`. If the user is recovered, this value reverts to `user:{emailid}` and the recovered user retains the role in the binding. * `deleted:serviceAccount:{emailid}?uid={uniqueid}`: An email address (plus unique identifier) representing a service account that has been recently deleted. For example, `my-other-app@appspot.gserviceaccount.com?uid=123456789012345678901`. If the service account is undeleted, this value reverts to `serviceAccount:{emailid}` and the undeleted service account retains the role in the binding. * `deleted:group:{emailid}?uid={uniqueid}`: An email address (plus unique identifier) representing a Google group that has been recently deleted. For example, `admins@example.com?uid=123456789012345678901`. If the group is recovered, this value reverts to `group:{emailid}` and the recovered group retains the role in the binding. * `domain:{domain}`: The G Suite domain (primary) that represents all the users of that domain. For example, `google.com` or `example.com`. "A String", ], "role": "A String", # Role that is assigned to the list of `members`, or principals. For example, `roles/viewer`, `roles/editor`, or `roles/owner`. @@ -307,7 +307,7 @@

Method Details

"description": "A String", # Optional. User-assigned description of the TagValue. Must not exceed 256 characters. Read-write. "etag": "A String", # Optional. Entity tag which users can pass to prevent race conditions. This field is always set in server responses. See UpdateTagValueRequest for details. "name": "A String", # Immutable. Resource name for TagValue in the format `tagValues/456`. - "namespacedName": "A String", # Output only. Namespaced name of the TagValue. Must be in the format `{organization_id}/{tag_key_short_name}/{short_name}`. + "namespacedName": "A String", # Output only. Namespaced name of the TagValue. Now only supported in the format `{organization_id}/{tag_key_short_name}/{short_name}`. Other formats will be supported when we add non-org parented tags. "parent": "A String", # Immutable. The resource name of the new TagValue's parent TagKey. Must be of the form `tagKeys/{tag_key_id}`. "shortName": "A String", # Required. Immutable. User-assigned short name for TagValue. The short name should be unique for TagValues within the same parent TagKey. The short name must be 63 characters or less, beginning and ending with an alphanumeric character ([a-z0-9A-Z]) with dashes (-), underscores (_), dots (.), and alphanumerics between. "updateTime": "A String", # Output only. Update time. @@ -344,7 +344,7 @@

Method Details

"description": "A String", # Optional. User-assigned description of the TagValue. Must not exceed 256 characters. Read-write. "etag": "A String", # Optional. Entity tag which users can pass to prevent race conditions. This field is always set in server responses. See UpdateTagValueRequest for details. "name": "A String", # Immutable. Resource name for TagValue in the format `tagValues/456`. - "namespacedName": "A String", # Output only. Namespaced name of the TagValue. Must be in the format `{organization_id}/{tag_key_short_name}/{short_name}`. + "namespacedName": "A String", # Output only. Namespaced name of the TagValue. Now only supported in the format `{organization_id}/{tag_key_short_name}/{short_name}`. Other formats will be supported when we add non-org parented tags. "parent": "A String", # Immutable. The resource name of the new TagValue's parent TagKey. Must be of the form `tagKeys/{tag_key_id}`. "shortName": "A String", # Required. Immutable. User-assigned short name for TagValue. The short name should be unique for TagValues within the same parent TagKey. The short name must be 63 characters or less, beginning and ending with an alphanumeric character ([a-z0-9A-Z]) with dashes (-), underscores (_), dots (.), and alphanumerics between. "updateTime": "A String", # Output only. Update time. @@ -413,7 +413,7 @@

Method Details

"location": "A String", # Optional. String indicating the location of the expression for error reporting, e.g. a file name and a position in the file. "title": "A String", # Optional. Title for the expression, i.e. a short string describing its purpose. This can be used e.g. in UIs which allow to enter the expression. }, - "members": [ # Specifies the principals requesting access for a Google Cloud resource. `members` can have the following values: * `allUsers`: A special identifier that represents anyone who is on the internet; with or without a Google account. * `allAuthenticatedUsers`: A special identifier that represents anyone who is authenticated with a Google account or a service account. * `user:{emailid}`: An email address that represents a specific Google account. For example, `alice@example.com` . * `serviceAccount:{emailid}`: An email address that represents a service account. For example, `my-other-app@appspot.gserviceaccount.com`. * `group:{emailid}`: An email address that represents a Google group. For example, `admins@example.com`. * `deleted:user:{emailid}?uid={uniqueid}`: An email address (plus unique identifier) representing a user that has been recently deleted. For example, `alice@example.com?uid=123456789012345678901`. If the user is recovered, this value reverts to `user:{emailid}` and the recovered user retains the role in the binding. * `deleted:serviceAccount:{emailid}?uid={uniqueid}`: An email address (plus unique identifier) representing a service account that has been recently deleted. For example, `my-other-app@appspot.gserviceaccount.com?uid=123456789012345678901`. If the service account is undeleted, this value reverts to `serviceAccount:{emailid}` and the undeleted service account retains the role in the binding. * `deleted:group:{emailid}?uid={uniqueid}`: An email address (plus unique identifier) representing a Google group that has been recently deleted. For example, `admins@example.com?uid=123456789012345678901`. If the group is recovered, this value reverts to `group:{emailid}` and the recovered group retains the role in the binding. * `domain:{domain}`: The G Suite domain (primary) that represents all the users of that domain. For example, `google.com` or `example.com`. + "members": [ # Specifies the principals requesting access for a Google Cloud resource. `members` can have the following values: * `allUsers`: A special identifier that represents anyone who is on the internet; with or without a Google account. * `allAuthenticatedUsers`: A special identifier that represents anyone who is authenticated with a Google account or a service account. * `user:{emailid}`: An email address that represents a specific Google account. For example, `alice@example.com` . * `serviceAccount:{emailid}`: An email address that represents a Google service account. For example, `my-other-app@appspot.gserviceaccount.com`. * `serviceAccount:{projectid}.svc.id.goog[{namespace}/{kubernetes-sa}]`: An identifier for a [Kubernetes service account](https://cloud.google.com/kubernetes-engine/docs/how-to/kubernetes-service-accounts). For example, `my-project.svc.id.goog[my-namespace/my-kubernetes-sa]`. * `group:{emailid}`: An email address that represents a Google group. For example, `admins@example.com`. * `deleted:user:{emailid}?uid={uniqueid}`: An email address (plus unique identifier) representing a user that has been recently deleted. For example, `alice@example.com?uid=123456789012345678901`. If the user is recovered, this value reverts to `user:{emailid}` and the recovered user retains the role in the binding. * `deleted:serviceAccount:{emailid}?uid={uniqueid}`: An email address (plus unique identifier) representing a service account that has been recently deleted. For example, `my-other-app@appspot.gserviceaccount.com?uid=123456789012345678901`. If the service account is undeleted, this value reverts to `serviceAccount:{emailid}` and the undeleted service account retains the role in the binding. * `deleted:group:{emailid}?uid={uniqueid}`: An email address (plus unique identifier) representing a Google group that has been recently deleted. For example, `admins@example.com?uid=123456789012345678901`. If the group is recovered, this value reverts to `group:{emailid}` and the recovered group retains the role in the binding. * `domain:{domain}`: The G Suite domain (primary) that represents all the users of that domain. For example, `google.com` or `example.com`. "A String", ], "role": "A String", # Role that is assigned to the list of `members`, or principals. For example, `roles/viewer`, `roles/editor`, or `roles/owner`. @@ -455,7 +455,7 @@

Method Details

"location": "A String", # Optional. String indicating the location of the expression for error reporting, e.g. a file name and a position in the file. "title": "A String", # Optional. Title for the expression, i.e. a short string describing its purpose. This can be used e.g. in UIs which allow to enter the expression. }, - "members": [ # Specifies the principals requesting access for a Google Cloud resource. `members` can have the following values: * `allUsers`: A special identifier that represents anyone who is on the internet; with or without a Google account. * `allAuthenticatedUsers`: A special identifier that represents anyone who is authenticated with a Google account or a service account. * `user:{emailid}`: An email address that represents a specific Google account. For example, `alice@example.com` . * `serviceAccount:{emailid}`: An email address that represents a service account. For example, `my-other-app@appspot.gserviceaccount.com`. * `group:{emailid}`: An email address that represents a Google group. For example, `admins@example.com`. * `deleted:user:{emailid}?uid={uniqueid}`: An email address (plus unique identifier) representing a user that has been recently deleted. For example, `alice@example.com?uid=123456789012345678901`. If the user is recovered, this value reverts to `user:{emailid}` and the recovered user retains the role in the binding. * `deleted:serviceAccount:{emailid}?uid={uniqueid}`: An email address (plus unique identifier) representing a service account that has been recently deleted. For example, `my-other-app@appspot.gserviceaccount.com?uid=123456789012345678901`. If the service account is undeleted, this value reverts to `serviceAccount:{emailid}` and the undeleted service account retains the role in the binding. * `deleted:group:{emailid}?uid={uniqueid}`: An email address (plus unique identifier) representing a Google group that has been recently deleted. For example, `admins@example.com?uid=123456789012345678901`. If the group is recovered, this value reverts to `group:{emailid}` and the recovered group retains the role in the binding. * `domain:{domain}`: The G Suite domain (primary) that represents all the users of that domain. For example, `google.com` or `example.com`. + "members": [ # Specifies the principals requesting access for a Google Cloud resource. `members` can have the following values: * `allUsers`: A special identifier that represents anyone who is on the internet; with or without a Google account. * `allAuthenticatedUsers`: A special identifier that represents anyone who is authenticated with a Google account or a service account. * `user:{emailid}`: An email address that represents a specific Google account. For example, `alice@example.com` . * `serviceAccount:{emailid}`: An email address that represents a Google service account. For example, `my-other-app@appspot.gserviceaccount.com`. * `serviceAccount:{projectid}.svc.id.goog[{namespace}/{kubernetes-sa}]`: An identifier for a [Kubernetes service account](https://cloud.google.com/kubernetes-engine/docs/how-to/kubernetes-service-accounts). For example, `my-project.svc.id.goog[my-namespace/my-kubernetes-sa]`. * `group:{emailid}`: An email address that represents a Google group. For example, `admins@example.com`. * `deleted:user:{emailid}?uid={uniqueid}`: An email address (plus unique identifier) representing a user that has been recently deleted. For example, `alice@example.com?uid=123456789012345678901`. If the user is recovered, this value reverts to `user:{emailid}` and the recovered user retains the role in the binding. * `deleted:serviceAccount:{emailid}?uid={uniqueid}`: An email address (plus unique identifier) representing a service account that has been recently deleted. For example, `my-other-app@appspot.gserviceaccount.com?uid=123456789012345678901`. If the service account is undeleted, this value reverts to `serviceAccount:{emailid}` and the undeleted service account retains the role in the binding. * `deleted:group:{emailid}?uid={uniqueid}`: An email address (plus unique identifier) representing a Google group that has been recently deleted. For example, `admins@example.com?uid=123456789012345678901`. If the group is recovered, this value reverts to `group:{emailid}` and the recovered group retains the role in the binding. * `domain:{domain}`: The G Suite domain (primary) that represents all the users of that domain. For example, `google.com` or `example.com`. "A String", ], "role": "A String", # Role that is assigned to the list of `members`, or principals. For example, `roles/viewer`, `roles/editor`, or `roles/owner`. diff --git a/docs/dyn/cloudscheduler_v1.projects.locations.jobs.html b/docs/dyn/cloudscheduler_v1.projects.locations.jobs.html index 2020b8981f1..f5981b303db 100644 --- a/docs/dyn/cloudscheduler_v1.projects.locations.jobs.html +++ b/docs/dyn/cloudscheduler_v1.projects.locations.jobs.html @@ -134,7 +134,7 @@

Method Details

"httpMethod": "A String", # The HTTP method to use for the request. PATCH and OPTIONS are not permitted. "relativeUri": "A String", # The relative URI. The relative URL must begin with "/" and must be a valid HTTP relative URL. It can contain a path, query string arguments, and `#` fragments. If the relative URL is empty, then the root path "/" will be used. No spaces are allowed, and the maximum length allowed is 2083 characters. }, - "attemptDeadline": "A String", # The deadline for job attempts. If the request handler does not respond by this deadline then the request is cancelled and the attempt is marked as a `DEADLINE_EXCEEDED` failure. The failed attempt can be viewed in execution logs. Cloud Scheduler will retry the job according to the RetryConfig. The allowed duration for this deadline is: * For HTTP targets, between 15 seconds and 30 minutes. * For App Engine HTTP targets, between 15 seconds and 24 hours 15 seconds. + "attemptDeadline": "A String", # The deadline for job attempts. If the request handler does not respond by this deadline then the request is cancelled and the attempt is marked as a `DEADLINE_EXCEEDED` failure. The failed attempt can be viewed in execution logs. Cloud Scheduler will retry the job according to the RetryConfig. The default and the allowed values depend on the type of target: * For HTTP targets, the default is 3 minutes. The deadline must be in the interval [15 seconds, 30 minutes]. * For App Engine HTTP targets, 0 indicates that the request has the default deadline. The default deadline depends on the scaling type of the service: 10 minutes for standard apps with automatic scaling, 24 hours for standard apps with manual and basic scaling, and 60 minutes for flex apps. If the request deadline is set, it must be in the interval [15 seconds, 24 hours 15 seconds]. * For Pub/Sub targets, this field is ignored. "description": "A String", # Optionally caller-specified in CreateJob or UpdateJob. A human-readable description for the job. This string must not contain more than 500 characters. "httpTarget": { # Http target. The job will be pushed to the job handler by means of an HTTP request via an http_method such as HTTP POST, HTTP GET, etc. The job is acknowledged by means of an HTTP response code in the range [200 - 299]. A failure to receive a response constitutes a failed execution. For a redirected request, the response returned by the redirected request is considered. # HTTP target. "body": "A String", # HTTP request body. A request body is allowed only if the HTTP method is POST, PUT, or PATCH. It is an error to set body on a job with an incompatible HttpMethod. @@ -207,7 +207,7 @@

Method Details

"httpMethod": "A String", # The HTTP method to use for the request. PATCH and OPTIONS are not permitted. "relativeUri": "A String", # The relative URI. The relative URL must begin with "/" and must be a valid HTTP relative URL. It can contain a path, query string arguments, and `#` fragments. If the relative URL is empty, then the root path "/" will be used. No spaces are allowed, and the maximum length allowed is 2083 characters. }, - "attemptDeadline": "A String", # The deadline for job attempts. If the request handler does not respond by this deadline then the request is cancelled and the attempt is marked as a `DEADLINE_EXCEEDED` failure. The failed attempt can be viewed in execution logs. Cloud Scheduler will retry the job according to the RetryConfig. The allowed duration for this deadline is: * For HTTP targets, between 15 seconds and 30 minutes. * For App Engine HTTP targets, between 15 seconds and 24 hours 15 seconds. + "attemptDeadline": "A String", # The deadline for job attempts. If the request handler does not respond by this deadline then the request is cancelled and the attempt is marked as a `DEADLINE_EXCEEDED` failure. The failed attempt can be viewed in execution logs. Cloud Scheduler will retry the job according to the RetryConfig. The default and the allowed values depend on the type of target: * For HTTP targets, the default is 3 minutes. The deadline must be in the interval [15 seconds, 30 minutes]. * For App Engine HTTP targets, 0 indicates that the request has the default deadline. The default deadline depends on the scaling type of the service: 10 minutes for standard apps with automatic scaling, 24 hours for standard apps with manual and basic scaling, and 60 minutes for flex apps. If the request deadline is set, it must be in the interval [15 seconds, 24 hours 15 seconds]. * For Pub/Sub targets, this field is ignored. "description": "A String", # Optionally caller-specified in CreateJob or UpdateJob. A human-readable description for the job. This string must not contain more than 500 characters. "httpTarget": { # Http target. The job will be pushed to the job handler by means of an HTTP request via an http_method such as HTTP POST, HTTP GET, etc. The job is acknowledged by means of an HTTP response code in the range [200 - 299]. A failure to receive a response constitutes a failed execution. For a redirected request, the response returned by the redirected request is considered. # HTTP target. "body": "A String", # HTTP request body. A request body is allowed only if the HTTP method is POST, PUT, or PATCH. It is an error to set body on a job with an incompatible HttpMethod. @@ -305,7 +305,7 @@

Method Details

"httpMethod": "A String", # The HTTP method to use for the request. PATCH and OPTIONS are not permitted. "relativeUri": "A String", # The relative URI. The relative URL must begin with "/" and must be a valid HTTP relative URL. It can contain a path, query string arguments, and `#` fragments. If the relative URL is empty, then the root path "/" will be used. No spaces are allowed, and the maximum length allowed is 2083 characters. }, - "attemptDeadline": "A String", # The deadline for job attempts. If the request handler does not respond by this deadline then the request is cancelled and the attempt is marked as a `DEADLINE_EXCEEDED` failure. The failed attempt can be viewed in execution logs. Cloud Scheduler will retry the job according to the RetryConfig. The allowed duration for this deadline is: * For HTTP targets, between 15 seconds and 30 minutes. * For App Engine HTTP targets, between 15 seconds and 24 hours 15 seconds. + "attemptDeadline": "A String", # The deadline for job attempts. If the request handler does not respond by this deadline then the request is cancelled and the attempt is marked as a `DEADLINE_EXCEEDED` failure. The failed attempt can be viewed in execution logs. Cloud Scheduler will retry the job according to the RetryConfig. The default and the allowed values depend on the type of target: * For HTTP targets, the default is 3 minutes. The deadline must be in the interval [15 seconds, 30 minutes]. * For App Engine HTTP targets, 0 indicates that the request has the default deadline. The default deadline depends on the scaling type of the service: 10 minutes for standard apps with automatic scaling, 24 hours for standard apps with manual and basic scaling, and 60 minutes for flex apps. If the request deadline is set, it must be in the interval [15 seconds, 24 hours 15 seconds]. * For Pub/Sub targets, this field is ignored. "description": "A String", # Optionally caller-specified in CreateJob or UpdateJob. A human-readable description for the job. This string must not contain more than 500 characters. "httpTarget": { # Http target. The job will be pushed to the job handler by means of an HTTP request via an http_method such as HTTP POST, HTTP GET, etc. The job is acknowledged by means of an HTTP response code in the range [200 - 299]. A failure to receive a response constitutes a failed execution. For a redirected request, the response returned by the redirected request is considered. # HTTP target. "body": "A String", # HTTP request body. A request body is allowed only if the HTTP method is POST, PUT, or PATCH. It is an error to set body on a job with an incompatible HttpMethod. @@ -389,7 +389,7 @@

Method Details

"httpMethod": "A String", # The HTTP method to use for the request. PATCH and OPTIONS are not permitted. "relativeUri": "A String", # The relative URI. The relative URL must begin with "/" and must be a valid HTTP relative URL. It can contain a path, query string arguments, and `#` fragments. If the relative URL is empty, then the root path "/" will be used. No spaces are allowed, and the maximum length allowed is 2083 characters. }, - "attemptDeadline": "A String", # The deadline for job attempts. If the request handler does not respond by this deadline then the request is cancelled and the attempt is marked as a `DEADLINE_EXCEEDED` failure. The failed attempt can be viewed in execution logs. Cloud Scheduler will retry the job according to the RetryConfig. The allowed duration for this deadline is: * For HTTP targets, between 15 seconds and 30 minutes. * For App Engine HTTP targets, between 15 seconds and 24 hours 15 seconds. + "attemptDeadline": "A String", # The deadline for job attempts. If the request handler does not respond by this deadline then the request is cancelled and the attempt is marked as a `DEADLINE_EXCEEDED` failure. The failed attempt can be viewed in execution logs. Cloud Scheduler will retry the job according to the RetryConfig. The default and the allowed values depend on the type of target: * For HTTP targets, the default is 3 minutes. The deadline must be in the interval [15 seconds, 30 minutes]. * For App Engine HTTP targets, 0 indicates that the request has the default deadline. The default deadline depends on the scaling type of the service: 10 minutes for standard apps with automatic scaling, 24 hours for standard apps with manual and basic scaling, and 60 minutes for flex apps. If the request deadline is set, it must be in the interval [15 seconds, 24 hours 15 seconds]. * For Pub/Sub targets, this field is ignored. "description": "A String", # Optionally caller-specified in CreateJob or UpdateJob. A human-readable description for the job. This string must not contain more than 500 characters. "httpTarget": { # Http target. The job will be pushed to the job handler by means of an HTTP request via an http_method such as HTTP POST, HTTP GET, etc. The job is acknowledged by means of an HTTP response code in the range [200 - 299]. A failure to receive a response constitutes a failed execution. For a redirected request, the response returned by the redirected request is considered. # HTTP target. "body": "A String", # HTTP request body. A request body is allowed only if the HTTP method is POST, PUT, or PATCH. It is an error to set body on a job with an incompatible HttpMethod. @@ -481,7 +481,7 @@

Method Details

"httpMethod": "A String", # The HTTP method to use for the request. PATCH and OPTIONS are not permitted. "relativeUri": "A String", # The relative URI. The relative URL must begin with "/" and must be a valid HTTP relative URL. It can contain a path, query string arguments, and `#` fragments. If the relative URL is empty, then the root path "/" will be used. No spaces are allowed, and the maximum length allowed is 2083 characters. }, - "attemptDeadline": "A String", # The deadline for job attempts. If the request handler does not respond by this deadline then the request is cancelled and the attempt is marked as a `DEADLINE_EXCEEDED` failure. The failed attempt can be viewed in execution logs. Cloud Scheduler will retry the job according to the RetryConfig. The allowed duration for this deadline is: * For HTTP targets, between 15 seconds and 30 minutes. * For App Engine HTTP targets, between 15 seconds and 24 hours 15 seconds. + "attemptDeadline": "A String", # The deadline for job attempts. If the request handler does not respond by this deadline then the request is cancelled and the attempt is marked as a `DEADLINE_EXCEEDED` failure. The failed attempt can be viewed in execution logs. Cloud Scheduler will retry the job according to the RetryConfig. The default and the allowed values depend on the type of target: * For HTTP targets, the default is 3 minutes. The deadline must be in the interval [15 seconds, 30 minutes]. * For App Engine HTTP targets, 0 indicates that the request has the default deadline. The default deadline depends on the scaling type of the service: 10 minutes for standard apps with automatic scaling, 24 hours for standard apps with manual and basic scaling, and 60 minutes for flex apps. If the request deadline is set, it must be in the interval [15 seconds, 24 hours 15 seconds]. * For Pub/Sub targets, this field is ignored. "description": "A String", # Optionally caller-specified in CreateJob or UpdateJob. A human-readable description for the job. This string must not contain more than 500 characters. "httpTarget": { # Http target. The job will be pushed to the job handler by means of an HTTP request via an http_method such as HTTP POST, HTTP GET, etc. The job is acknowledged by means of an HTTP response code in the range [200 - 299]. A failure to receive a response constitutes a failed execution. For a redirected request, the response returned by the redirected request is considered. # HTTP target. "body": "A String", # HTTP request body. A request body is allowed only if the HTTP method is POST, PUT, or PATCH. It is an error to set body on a job with an incompatible HttpMethod. @@ -555,7 +555,7 @@

Method Details

"httpMethod": "A String", # The HTTP method to use for the request. PATCH and OPTIONS are not permitted. "relativeUri": "A String", # The relative URI. The relative URL must begin with "/" and must be a valid HTTP relative URL. It can contain a path, query string arguments, and `#` fragments. If the relative URL is empty, then the root path "/" will be used. No spaces are allowed, and the maximum length allowed is 2083 characters. }, - "attemptDeadline": "A String", # The deadline for job attempts. If the request handler does not respond by this deadline then the request is cancelled and the attempt is marked as a `DEADLINE_EXCEEDED` failure. The failed attempt can be viewed in execution logs. Cloud Scheduler will retry the job according to the RetryConfig. The allowed duration for this deadline is: * For HTTP targets, between 15 seconds and 30 minutes. * For App Engine HTTP targets, between 15 seconds and 24 hours 15 seconds. + "attemptDeadline": "A String", # The deadline for job attempts. If the request handler does not respond by this deadline then the request is cancelled and the attempt is marked as a `DEADLINE_EXCEEDED` failure. The failed attempt can be viewed in execution logs. Cloud Scheduler will retry the job according to the RetryConfig. The default and the allowed values depend on the type of target: * For HTTP targets, the default is 3 minutes. The deadline must be in the interval [15 seconds, 30 minutes]. * For App Engine HTTP targets, 0 indicates that the request has the default deadline. The default deadline depends on the scaling type of the service: 10 minutes for standard apps with automatic scaling, 24 hours for standard apps with manual and basic scaling, and 60 minutes for flex apps. If the request deadline is set, it must be in the interval [15 seconds, 24 hours 15 seconds]. * For Pub/Sub targets, this field is ignored. "description": "A String", # Optionally caller-specified in CreateJob or UpdateJob. A human-readable description for the job. This string must not contain more than 500 characters. "httpTarget": { # Http target. The job will be pushed to the job handler by means of an HTTP request via an http_method such as HTTP POST, HTTP GET, etc. The job is acknowledged by means of an HTTP response code in the range [200 - 299]. A failure to receive a response constitutes a failed execution. For a redirected request, the response returned by the redirected request is considered. # HTTP target. "body": "A String", # HTTP request body. A request body is allowed only if the HTTP method is POST, PUT, or PATCH. It is an error to set body on a job with an incompatible HttpMethod. @@ -641,7 +641,7 @@

Method Details

"httpMethod": "A String", # The HTTP method to use for the request. PATCH and OPTIONS are not permitted. "relativeUri": "A String", # The relative URI. The relative URL must begin with "/" and must be a valid HTTP relative URL. It can contain a path, query string arguments, and `#` fragments. If the relative URL is empty, then the root path "/" will be used. No spaces are allowed, and the maximum length allowed is 2083 characters. }, - "attemptDeadline": "A String", # The deadline for job attempts. If the request handler does not respond by this deadline then the request is cancelled and the attempt is marked as a `DEADLINE_EXCEEDED` failure. The failed attempt can be viewed in execution logs. Cloud Scheduler will retry the job according to the RetryConfig. The allowed duration for this deadline is: * For HTTP targets, between 15 seconds and 30 minutes. * For App Engine HTTP targets, between 15 seconds and 24 hours 15 seconds. + "attemptDeadline": "A String", # The deadline for job attempts. If the request handler does not respond by this deadline then the request is cancelled and the attempt is marked as a `DEADLINE_EXCEEDED` failure. The failed attempt can be viewed in execution logs. Cloud Scheduler will retry the job according to the RetryConfig. The default and the allowed values depend on the type of target: * For HTTP targets, the default is 3 minutes. The deadline must be in the interval [15 seconds, 30 minutes]. * For App Engine HTTP targets, 0 indicates that the request has the default deadline. The default deadline depends on the scaling type of the service: 10 minutes for standard apps with automatic scaling, 24 hours for standard apps with manual and basic scaling, and 60 minutes for flex apps. If the request deadline is set, it must be in the interval [15 seconds, 24 hours 15 seconds]. * For Pub/Sub targets, this field is ignored. "description": "A String", # Optionally caller-specified in CreateJob or UpdateJob. A human-readable description for the job. This string must not contain more than 500 characters. "httpTarget": { # Http target. The job will be pushed to the job handler by means of an HTTP request via an http_method such as HTTP POST, HTTP GET, etc. The job is acknowledged by means of an HTTP response code in the range [200 - 299]. A failure to receive a response constitutes a failed execution. For a redirected request, the response returned by the redirected request is considered. # HTTP target. "body": "A String", # HTTP request body. A request body is allowed only if the HTTP method is POST, PUT, or PATCH. It is an error to set body on a job with an incompatible HttpMethod. @@ -727,7 +727,7 @@

Method Details

"httpMethod": "A String", # The HTTP method to use for the request. PATCH and OPTIONS are not permitted. "relativeUri": "A String", # The relative URI. The relative URL must begin with "/" and must be a valid HTTP relative URL. It can contain a path, query string arguments, and `#` fragments. If the relative URL is empty, then the root path "/" will be used. No spaces are allowed, and the maximum length allowed is 2083 characters. }, - "attemptDeadline": "A String", # The deadline for job attempts. If the request handler does not respond by this deadline then the request is cancelled and the attempt is marked as a `DEADLINE_EXCEEDED` failure. The failed attempt can be viewed in execution logs. Cloud Scheduler will retry the job according to the RetryConfig. The allowed duration for this deadline is: * For HTTP targets, between 15 seconds and 30 minutes. * For App Engine HTTP targets, between 15 seconds and 24 hours 15 seconds. + "attemptDeadline": "A String", # The deadline for job attempts. If the request handler does not respond by this deadline then the request is cancelled and the attempt is marked as a `DEADLINE_EXCEEDED` failure. The failed attempt can be viewed in execution logs. Cloud Scheduler will retry the job according to the RetryConfig. The default and the allowed values depend on the type of target: * For HTTP targets, the default is 3 minutes. The deadline must be in the interval [15 seconds, 30 minutes]. * For App Engine HTTP targets, 0 indicates that the request has the default deadline. The default deadline depends on the scaling type of the service: 10 minutes for standard apps with automatic scaling, 24 hours for standard apps with manual and basic scaling, and 60 minutes for flex apps. If the request deadline is set, it must be in the interval [15 seconds, 24 hours 15 seconds]. * For Pub/Sub targets, this field is ignored. "description": "A String", # Optionally caller-specified in CreateJob or UpdateJob. A human-readable description for the job. This string must not contain more than 500 characters. "httpTarget": { # Http target. The job will be pushed to the job handler by means of an HTTP request via an http_method such as HTTP POST, HTTP GET, etc. The job is acknowledged by means of an HTTP response code in the range [200 - 299]. A failure to receive a response constitutes a failed execution. For a redirected request, the response returned by the redirected request is considered. # HTTP target. "body": "A String", # HTTP request body. A request body is allowed only if the HTTP method is POST, PUT, or PATCH. It is an error to set body on a job with an incompatible HttpMethod. @@ -813,7 +813,7 @@

Method Details

"httpMethod": "A String", # The HTTP method to use for the request. PATCH and OPTIONS are not permitted. "relativeUri": "A String", # The relative URI. The relative URL must begin with "/" and must be a valid HTTP relative URL. It can contain a path, query string arguments, and `#` fragments. If the relative URL is empty, then the root path "/" will be used. No spaces are allowed, and the maximum length allowed is 2083 characters. }, - "attemptDeadline": "A String", # The deadline for job attempts. If the request handler does not respond by this deadline then the request is cancelled and the attempt is marked as a `DEADLINE_EXCEEDED` failure. The failed attempt can be viewed in execution logs. Cloud Scheduler will retry the job according to the RetryConfig. The allowed duration for this deadline is: * For HTTP targets, between 15 seconds and 30 minutes. * For App Engine HTTP targets, between 15 seconds and 24 hours 15 seconds. + "attemptDeadline": "A String", # The deadline for job attempts. If the request handler does not respond by this deadline then the request is cancelled and the attempt is marked as a `DEADLINE_EXCEEDED` failure. The failed attempt can be viewed in execution logs. Cloud Scheduler will retry the job according to the RetryConfig. The default and the allowed values depend on the type of target: * For HTTP targets, the default is 3 minutes. The deadline must be in the interval [15 seconds, 30 minutes]. * For App Engine HTTP targets, 0 indicates that the request has the default deadline. The default deadline depends on the scaling type of the service: 10 minutes for standard apps with automatic scaling, 24 hours for standard apps with manual and basic scaling, and 60 minutes for flex apps. If the request deadline is set, it must be in the interval [15 seconds, 24 hours 15 seconds]. * For Pub/Sub targets, this field is ignored. "description": "A String", # Optionally caller-specified in CreateJob or UpdateJob. A human-readable description for the job. This string must not contain more than 500 characters. "httpTarget": { # Http target. The job will be pushed to the job handler by means of an HTTP request via an http_method such as HTTP POST, HTTP GET, etc. The job is acknowledged by means of an HTTP response code in the range [200 - 299]. A failure to receive a response constitutes a failed execution. For a redirected request, the response returned by the redirected request is considered. # HTTP target. "body": "A String", # HTTP request body. A request body is allowed only if the HTTP method is POST, PUT, or PATCH. It is an error to set body on a job with an incompatible HttpMethod. diff --git a/docs/dyn/cloudscheduler_v1beta1.projects.locations.jobs.html b/docs/dyn/cloudscheduler_v1beta1.projects.locations.jobs.html index c234d6e8e0b..a30ddbe4f27 100644 --- a/docs/dyn/cloudscheduler_v1beta1.projects.locations.jobs.html +++ b/docs/dyn/cloudscheduler_v1beta1.projects.locations.jobs.html @@ -134,7 +134,7 @@

Method Details

"httpMethod": "A String", # The HTTP method to use for the request. PATCH and OPTIONS are not permitted. "relativeUri": "A String", # The relative URI. The relative URL must begin with "/" and must be a valid HTTP relative URL. It can contain a path, query string arguments, and `#` fragments. If the relative URL is empty, then the root path "/" will be used. No spaces are allowed, and the maximum length allowed is 2083 characters. }, - "attemptDeadline": "A String", # The deadline for job attempts. If the request handler does not respond by this deadline then the request is cancelled and the attempt is marked as a `DEADLINE_EXCEEDED` failure. The failed attempt can be viewed in execution logs. Cloud Scheduler will retry the job according to the RetryConfig. The allowed duration for this deadline is: * For HTTP targets, between 15 seconds and 30 minutes. * For App Engine HTTP targets, between 15 seconds and 24 hours 15 seconds. * For Pub/Sub targets, this field is ignored. + "attemptDeadline": "A String", # The deadline for job attempts. If the request handler does not respond by this deadline then the request is cancelled and the attempt is marked as a `DEADLINE_EXCEEDED` failure. The failed attempt can be viewed in execution logs. Cloud Scheduler will retry the job according to the RetryConfig. The default and the allowed values depend on the type of target: * For HTTP targets, the default is 3 minutes. The deadline must be in the interval [15 seconds, 30 minutes]. * For App Engine HTTP targets, 0 indicates that the request has the default deadline. The default deadline depends on the scaling type of the service: 10 minutes for standard apps with automatic scaling, 24 hours for standard apps with manual and basic scaling, and 60 minutes for flex apps. If the request deadline is set, it must be in the interval [15 seconds, 24 hours 15 seconds]. * For Pub/Sub targets, this field is ignored. "description": "A String", # Optionally caller-specified in CreateJob or UpdateJob. A human-readable description for the job. This string must not contain more than 500 characters. "httpTarget": { # Http target. The job will be pushed to the job handler by means of an HTTP request via an http_method such as HTTP POST, HTTP GET, etc. The job is acknowledged by means of an HTTP response code in the range [200 - 299]. A failure to receive a response constitutes a failed execution. For a redirected request, the response returned by the redirected request is considered. # HTTP target. "body": "A String", # HTTP request body. A request body is allowed only if the HTTP method is POST, PUT, or PATCH. It is an error to set body on a job with an incompatible HttpMethod. @@ -208,7 +208,7 @@

Method Details

"httpMethod": "A String", # The HTTP method to use for the request. PATCH and OPTIONS are not permitted. "relativeUri": "A String", # The relative URI. The relative URL must begin with "/" and must be a valid HTTP relative URL. It can contain a path, query string arguments, and `#` fragments. If the relative URL is empty, then the root path "/" will be used. No spaces are allowed, and the maximum length allowed is 2083 characters. }, - "attemptDeadline": "A String", # The deadline for job attempts. If the request handler does not respond by this deadline then the request is cancelled and the attempt is marked as a `DEADLINE_EXCEEDED` failure. The failed attempt can be viewed in execution logs. Cloud Scheduler will retry the job according to the RetryConfig. The allowed duration for this deadline is: * For HTTP targets, between 15 seconds and 30 minutes. * For App Engine HTTP targets, between 15 seconds and 24 hours 15 seconds. * For Pub/Sub targets, this field is ignored. + "attemptDeadline": "A String", # The deadline for job attempts. If the request handler does not respond by this deadline then the request is cancelled and the attempt is marked as a `DEADLINE_EXCEEDED` failure. The failed attempt can be viewed in execution logs. Cloud Scheduler will retry the job according to the RetryConfig. The default and the allowed values depend on the type of target: * For HTTP targets, the default is 3 minutes. The deadline must be in the interval [15 seconds, 30 minutes]. * For App Engine HTTP targets, 0 indicates that the request has the default deadline. The default deadline depends on the scaling type of the service: 10 minutes for standard apps with automatic scaling, 24 hours for standard apps with manual and basic scaling, and 60 minutes for flex apps. If the request deadline is set, it must be in the interval [15 seconds, 24 hours 15 seconds]. * For Pub/Sub targets, this field is ignored. "description": "A String", # Optionally caller-specified in CreateJob or UpdateJob. A human-readable description for the job. This string must not contain more than 500 characters. "httpTarget": { # Http target. The job will be pushed to the job handler by means of an HTTP request via an http_method such as HTTP POST, HTTP GET, etc. The job is acknowledged by means of an HTTP response code in the range [200 - 299]. A failure to receive a response constitutes a failed execution. For a redirected request, the response returned by the redirected request is considered. # HTTP target. "body": "A String", # HTTP request body. A request body is allowed only if the HTTP method is POST, PUT, or PATCH. It is an error to set body on a job with an incompatible HttpMethod. @@ -308,7 +308,7 @@

Method Details

"httpMethod": "A String", # The HTTP method to use for the request. PATCH and OPTIONS are not permitted. "relativeUri": "A String", # The relative URI. The relative URL must begin with "/" and must be a valid HTTP relative URL. It can contain a path, query string arguments, and `#` fragments. If the relative URL is empty, then the root path "/" will be used. No spaces are allowed, and the maximum length allowed is 2083 characters. }, - "attemptDeadline": "A String", # The deadline for job attempts. If the request handler does not respond by this deadline then the request is cancelled and the attempt is marked as a `DEADLINE_EXCEEDED` failure. The failed attempt can be viewed in execution logs. Cloud Scheduler will retry the job according to the RetryConfig. The allowed duration for this deadline is: * For HTTP targets, between 15 seconds and 30 minutes. * For App Engine HTTP targets, between 15 seconds and 24 hours 15 seconds. * For Pub/Sub targets, this field is ignored. + "attemptDeadline": "A String", # The deadline for job attempts. If the request handler does not respond by this deadline then the request is cancelled and the attempt is marked as a `DEADLINE_EXCEEDED` failure. The failed attempt can be viewed in execution logs. Cloud Scheduler will retry the job according to the RetryConfig. The default and the allowed values depend on the type of target: * For HTTP targets, the default is 3 minutes. The deadline must be in the interval [15 seconds, 30 minutes]. * For App Engine HTTP targets, 0 indicates that the request has the default deadline. The default deadline depends on the scaling type of the service: 10 minutes for standard apps with automatic scaling, 24 hours for standard apps with manual and basic scaling, and 60 minutes for flex apps. If the request deadline is set, it must be in the interval [15 seconds, 24 hours 15 seconds]. * For Pub/Sub targets, this field is ignored. "description": "A String", # Optionally caller-specified in CreateJob or UpdateJob. A human-readable description for the job. This string must not contain more than 500 characters. "httpTarget": { # Http target. The job will be pushed to the job handler by means of an HTTP request via an http_method such as HTTP POST, HTTP GET, etc. The job is acknowledged by means of an HTTP response code in the range [200 - 299]. A failure to receive a response constitutes a failed execution. For a redirected request, the response returned by the redirected request is considered. # HTTP target. "body": "A String", # HTTP request body. A request body is allowed only if the HTTP method is POST, PUT, or PATCH. It is an error to set body on a job with an incompatible HttpMethod. @@ -395,7 +395,7 @@

Method Details

"httpMethod": "A String", # The HTTP method to use for the request. PATCH and OPTIONS are not permitted. "relativeUri": "A String", # The relative URI. The relative URL must begin with "/" and must be a valid HTTP relative URL. It can contain a path, query string arguments, and `#` fragments. If the relative URL is empty, then the root path "/" will be used. No spaces are allowed, and the maximum length allowed is 2083 characters. }, - "attemptDeadline": "A String", # The deadline for job attempts. If the request handler does not respond by this deadline then the request is cancelled and the attempt is marked as a `DEADLINE_EXCEEDED` failure. The failed attempt can be viewed in execution logs. Cloud Scheduler will retry the job according to the RetryConfig. The allowed duration for this deadline is: * For HTTP targets, between 15 seconds and 30 minutes. * For App Engine HTTP targets, between 15 seconds and 24 hours 15 seconds. * For Pub/Sub targets, this field is ignored. + "attemptDeadline": "A String", # The deadline for job attempts. If the request handler does not respond by this deadline then the request is cancelled and the attempt is marked as a `DEADLINE_EXCEEDED` failure. The failed attempt can be viewed in execution logs. Cloud Scheduler will retry the job according to the RetryConfig. The default and the allowed values depend on the type of target: * For HTTP targets, the default is 3 minutes. The deadline must be in the interval [15 seconds, 30 minutes]. * For App Engine HTTP targets, 0 indicates that the request has the default deadline. The default deadline depends on the scaling type of the service: 10 minutes for standard apps with automatic scaling, 24 hours for standard apps with manual and basic scaling, and 60 minutes for flex apps. If the request deadline is set, it must be in the interval [15 seconds, 24 hours 15 seconds]. * For Pub/Sub targets, this field is ignored. "description": "A String", # Optionally caller-specified in CreateJob or UpdateJob. A human-readable description for the job. This string must not contain more than 500 characters. "httpTarget": { # Http target. The job will be pushed to the job handler by means of an HTTP request via an http_method such as HTTP POST, HTTP GET, etc. The job is acknowledged by means of an HTTP response code in the range [200 - 299]. A failure to receive a response constitutes a failed execution. For a redirected request, the response returned by the redirected request is considered. # HTTP target. "body": "A String", # HTTP request body. A request body is allowed only if the HTTP method is POST, PUT, or PATCH. It is an error to set body on a job with an incompatible HttpMethod. @@ -488,7 +488,7 @@

Method Details

"httpMethod": "A String", # The HTTP method to use for the request. PATCH and OPTIONS are not permitted. "relativeUri": "A String", # The relative URI. The relative URL must begin with "/" and must be a valid HTTP relative URL. It can contain a path, query string arguments, and `#` fragments. If the relative URL is empty, then the root path "/" will be used. No spaces are allowed, and the maximum length allowed is 2083 characters. }, - "attemptDeadline": "A String", # The deadline for job attempts. If the request handler does not respond by this deadline then the request is cancelled and the attempt is marked as a `DEADLINE_EXCEEDED` failure. The failed attempt can be viewed in execution logs. Cloud Scheduler will retry the job according to the RetryConfig. The allowed duration for this deadline is: * For HTTP targets, between 15 seconds and 30 minutes. * For App Engine HTTP targets, between 15 seconds and 24 hours 15 seconds. * For Pub/Sub targets, this field is ignored. + "attemptDeadline": "A String", # The deadline for job attempts. If the request handler does not respond by this deadline then the request is cancelled and the attempt is marked as a `DEADLINE_EXCEEDED` failure. The failed attempt can be viewed in execution logs. Cloud Scheduler will retry the job according to the RetryConfig. The default and the allowed values depend on the type of target: * For HTTP targets, the default is 3 minutes. The deadline must be in the interval [15 seconds, 30 minutes]. * For App Engine HTTP targets, 0 indicates that the request has the default deadline. The default deadline depends on the scaling type of the service: 10 minutes for standard apps with automatic scaling, 24 hours for standard apps with manual and basic scaling, and 60 minutes for flex apps. If the request deadline is set, it must be in the interval [15 seconds, 24 hours 15 seconds]. * For Pub/Sub targets, this field is ignored. "description": "A String", # Optionally caller-specified in CreateJob or UpdateJob. A human-readable description for the job. This string must not contain more than 500 characters. "httpTarget": { # Http target. The job will be pushed to the job handler by means of an HTTP request via an http_method such as HTTP POST, HTTP GET, etc. The job is acknowledged by means of an HTTP response code in the range [200 - 299]. A failure to receive a response constitutes a failed execution. For a redirected request, the response returned by the redirected request is considered. # HTTP target. "body": "A String", # HTTP request body. A request body is allowed only if the HTTP method is POST, PUT, or PATCH. It is an error to set body on a job with an incompatible HttpMethod. @@ -563,7 +563,7 @@

Method Details

"httpMethod": "A String", # The HTTP method to use for the request. PATCH and OPTIONS are not permitted. "relativeUri": "A String", # The relative URI. The relative URL must begin with "/" and must be a valid HTTP relative URL. It can contain a path, query string arguments, and `#` fragments. If the relative URL is empty, then the root path "/" will be used. No spaces are allowed, and the maximum length allowed is 2083 characters. }, - "attemptDeadline": "A String", # The deadline for job attempts. If the request handler does not respond by this deadline then the request is cancelled and the attempt is marked as a `DEADLINE_EXCEEDED` failure. The failed attempt can be viewed in execution logs. Cloud Scheduler will retry the job according to the RetryConfig. The allowed duration for this deadline is: * For HTTP targets, between 15 seconds and 30 minutes. * For App Engine HTTP targets, between 15 seconds and 24 hours 15 seconds. * For Pub/Sub targets, this field is ignored. + "attemptDeadline": "A String", # The deadline for job attempts. If the request handler does not respond by this deadline then the request is cancelled and the attempt is marked as a `DEADLINE_EXCEEDED` failure. The failed attempt can be viewed in execution logs. Cloud Scheduler will retry the job according to the RetryConfig. The default and the allowed values depend on the type of target: * For HTTP targets, the default is 3 minutes. The deadline must be in the interval [15 seconds, 30 minutes]. * For App Engine HTTP targets, 0 indicates that the request has the default deadline. The default deadline depends on the scaling type of the service: 10 minutes for standard apps with automatic scaling, 24 hours for standard apps with manual and basic scaling, and 60 minutes for flex apps. If the request deadline is set, it must be in the interval [15 seconds, 24 hours 15 seconds]. * For Pub/Sub targets, this field is ignored. "description": "A String", # Optionally caller-specified in CreateJob or UpdateJob. A human-readable description for the job. This string must not contain more than 500 characters. "httpTarget": { # Http target. The job will be pushed to the job handler by means of an HTTP request via an http_method such as HTTP POST, HTTP GET, etc. The job is acknowledged by means of an HTTP response code in the range [200 - 299]. A failure to receive a response constitutes a failed execution. For a redirected request, the response returned by the redirected request is considered. # HTTP target. "body": "A String", # HTTP request body. A request body is allowed only if the HTTP method is POST, PUT, or PATCH. It is an error to set body on a job with an incompatible HttpMethod. @@ -650,7 +650,7 @@

Method Details

"httpMethod": "A String", # The HTTP method to use for the request. PATCH and OPTIONS are not permitted. "relativeUri": "A String", # The relative URI. The relative URL must begin with "/" and must be a valid HTTP relative URL. It can contain a path, query string arguments, and `#` fragments. If the relative URL is empty, then the root path "/" will be used. No spaces are allowed, and the maximum length allowed is 2083 characters. }, - "attemptDeadline": "A String", # The deadline for job attempts. If the request handler does not respond by this deadline then the request is cancelled and the attempt is marked as a `DEADLINE_EXCEEDED` failure. The failed attempt can be viewed in execution logs. Cloud Scheduler will retry the job according to the RetryConfig. The allowed duration for this deadline is: * For HTTP targets, between 15 seconds and 30 minutes. * For App Engine HTTP targets, between 15 seconds and 24 hours 15 seconds. * For Pub/Sub targets, this field is ignored. + "attemptDeadline": "A String", # The deadline for job attempts. If the request handler does not respond by this deadline then the request is cancelled and the attempt is marked as a `DEADLINE_EXCEEDED` failure. The failed attempt can be viewed in execution logs. Cloud Scheduler will retry the job according to the RetryConfig. The default and the allowed values depend on the type of target: * For HTTP targets, the default is 3 minutes. The deadline must be in the interval [15 seconds, 30 minutes]. * For App Engine HTTP targets, 0 indicates that the request has the default deadline. The default deadline depends on the scaling type of the service: 10 minutes for standard apps with automatic scaling, 24 hours for standard apps with manual and basic scaling, and 60 minutes for flex apps. If the request deadline is set, it must be in the interval [15 seconds, 24 hours 15 seconds]. * For Pub/Sub targets, this field is ignored. "description": "A String", # Optionally caller-specified in CreateJob or UpdateJob. A human-readable description for the job. This string must not contain more than 500 characters. "httpTarget": { # Http target. The job will be pushed to the job handler by means of an HTTP request via an http_method such as HTTP POST, HTTP GET, etc. The job is acknowledged by means of an HTTP response code in the range [200 - 299]. A failure to receive a response constitutes a failed execution. For a redirected request, the response returned by the redirected request is considered. # HTTP target. "body": "A String", # HTTP request body. A request body is allowed only if the HTTP method is POST, PUT, or PATCH. It is an error to set body on a job with an incompatible HttpMethod. @@ -737,7 +737,7 @@

Method Details

"httpMethod": "A String", # The HTTP method to use for the request. PATCH and OPTIONS are not permitted. "relativeUri": "A String", # The relative URI. The relative URL must begin with "/" and must be a valid HTTP relative URL. It can contain a path, query string arguments, and `#` fragments. If the relative URL is empty, then the root path "/" will be used. No spaces are allowed, and the maximum length allowed is 2083 characters. }, - "attemptDeadline": "A String", # The deadline for job attempts. If the request handler does not respond by this deadline then the request is cancelled and the attempt is marked as a `DEADLINE_EXCEEDED` failure. The failed attempt can be viewed in execution logs. Cloud Scheduler will retry the job according to the RetryConfig. The allowed duration for this deadline is: * For HTTP targets, between 15 seconds and 30 minutes. * For App Engine HTTP targets, between 15 seconds and 24 hours 15 seconds. * For Pub/Sub targets, this field is ignored. + "attemptDeadline": "A String", # The deadline for job attempts. If the request handler does not respond by this deadline then the request is cancelled and the attempt is marked as a `DEADLINE_EXCEEDED` failure. The failed attempt can be viewed in execution logs. Cloud Scheduler will retry the job according to the RetryConfig. The default and the allowed values depend on the type of target: * For HTTP targets, the default is 3 minutes. The deadline must be in the interval [15 seconds, 30 minutes]. * For App Engine HTTP targets, 0 indicates that the request has the default deadline. The default deadline depends on the scaling type of the service: 10 minutes for standard apps with automatic scaling, 24 hours for standard apps with manual and basic scaling, and 60 minutes for flex apps. If the request deadline is set, it must be in the interval [15 seconds, 24 hours 15 seconds]. * For Pub/Sub targets, this field is ignored. "description": "A String", # Optionally caller-specified in CreateJob or UpdateJob. A human-readable description for the job. This string must not contain more than 500 characters. "httpTarget": { # Http target. The job will be pushed to the job handler by means of an HTTP request via an http_method such as HTTP POST, HTTP GET, etc. The job is acknowledged by means of an HTTP response code in the range [200 - 299]. A failure to receive a response constitutes a failed execution. For a redirected request, the response returned by the redirected request is considered. # HTTP target. "body": "A String", # HTTP request body. A request body is allowed only if the HTTP method is POST, PUT, or PATCH. It is an error to set body on a job with an incompatible HttpMethod. @@ -825,7 +825,7 @@

Method Details

"httpMethod": "A String", # The HTTP method to use for the request. PATCH and OPTIONS are not permitted. "relativeUri": "A String", # The relative URI. The relative URL must begin with "/" and must be a valid HTTP relative URL. It can contain a path, query string arguments, and `#` fragments. If the relative URL is empty, then the root path "/" will be used. No spaces are allowed, and the maximum length allowed is 2083 characters. }, - "attemptDeadline": "A String", # The deadline for job attempts. If the request handler does not respond by this deadline then the request is cancelled and the attempt is marked as a `DEADLINE_EXCEEDED` failure. The failed attempt can be viewed in execution logs. Cloud Scheduler will retry the job according to the RetryConfig. The allowed duration for this deadline is: * For HTTP targets, between 15 seconds and 30 minutes. * For App Engine HTTP targets, between 15 seconds and 24 hours 15 seconds. * For Pub/Sub targets, this field is ignored. + "attemptDeadline": "A String", # The deadline for job attempts. If the request handler does not respond by this deadline then the request is cancelled and the attempt is marked as a `DEADLINE_EXCEEDED` failure. The failed attempt can be viewed in execution logs. Cloud Scheduler will retry the job according to the RetryConfig. The default and the allowed values depend on the type of target: * For HTTP targets, the default is 3 minutes. The deadline must be in the interval [15 seconds, 30 minutes]. * For App Engine HTTP targets, 0 indicates that the request has the default deadline. The default deadline depends on the scaling type of the service: 10 minutes for standard apps with automatic scaling, 24 hours for standard apps with manual and basic scaling, and 60 minutes for flex apps. If the request deadline is set, it must be in the interval [15 seconds, 24 hours 15 seconds]. * For Pub/Sub targets, this field is ignored. "description": "A String", # Optionally caller-specified in CreateJob or UpdateJob. A human-readable description for the job. This string must not contain more than 500 characters. "httpTarget": { # Http target. The job will be pushed to the job handler by means of an HTTP request via an http_method such as HTTP POST, HTTP GET, etc. The job is acknowledged by means of an HTTP response code in the range [200 - 299]. A failure to receive a response constitutes a failed execution. For a redirected request, the response returned by the redirected request is considered. # HTTP target. "body": "A String", # HTTP request body. A request body is allowed only if the HTTP method is POST, PUT, or PATCH. It is an error to set body on a job with an incompatible HttpMethod. diff --git a/docs/dyn/cloudsearch_v1.settings.datasources.html b/docs/dyn/cloudsearch_v1.settings.datasources.html index c94bac63299..8c30f2152aa 100644 --- a/docs/dyn/cloudsearch_v1.settings.datasources.html +++ b/docs/dyn/cloudsearch_v1.settings.datasources.html @@ -92,6 +92,9 @@

Instance Methods

list_next()

Retrieves the next page of results.

+

+ patch(name, body=None, debugOptions_enableDebugging=None, x__xgafv=None)

+

Updates a datasource. **Note:** This API requires an admin account to execute.

update(name, body=None, x__xgafv=None)

Updates a datasource. **Note:** This API requires an admin account to execute.

@@ -292,6 +295,67 @@

Method Details

+
+ patch(name, body=None, debugOptions_enableDebugging=None, x__xgafv=None) +
Updates a datasource. **Note:** This API requires an admin account to execute.
+
+Args:
+  name: string, The name of the datasource resource. Format: datasources/{source_id}. The name is ignored when creating a datasource. (required)
+  body: object, The request body.
+    The object takes the form of:
+
+{ # Datasource is a logical namespace for items to be indexed. All items must belong to a datasource. This is the prerequisite before items can be indexed into Cloud Search.
+  "disableModifications": True or False, # If true, sets the datasource to read-only mode. In read-only mode, the Indexing API rejects any requests to index or delete items in this source. Enabling read-only mode does not stop the processing of previously accepted data.
+  "disableServing": True or False, # Disable serving any search or assist results.
+  "displayName": "A String", # Required. Display name of the datasource The maximum length is 300 characters.
+  "indexingServiceAccounts": [ # List of service accounts that have indexing access.
+    "A String",
+  ],
+  "itemsVisibility": [ # This field restricts visibility to items at the datasource level. Items within the datasource are restricted to the union of users and groups included in this field. Note that, this does not ensure access to a specific item, as users need to have ACL permissions on the contained items. This ensures a high level access on the entire datasource, and that the individual items are not shared outside this visibility.
+    {
+      "gsuiteDomain": True or False, # This principal represents all users of the Google Workspace domain of the customer.
+      "gsuiteGroupEmail": "A String", # This principal references a Google Workspace group name.
+      "gsuiteUserEmail": "A String", # This principal references a Google Workspace user account.
+    },
+  ],
+  "name": "A String", # The name of the datasource resource. Format: datasources/{source_id}. The name is ignored when creating a datasource.
+  "operationIds": [ # IDs of the Long Running Operations (LROs) currently running for this schema.
+    "A String",
+  ],
+  "returnThumbnailUrls": True or False, # Can a user request to get thumbnail URI for Items indexed in this data source.
+  "shortName": "A String", # A short name or alias for the source. This value will be used to match the 'source' operator. For example, if the short name is *<value>* then queries like *source:<value>* will only return results for this source. The value must be unique across all datasources. The value must only contain alphanumeric characters (a-zA-Z0-9). The value cannot start with 'google' and cannot be one of the following: mail, gmail, docs, drive, groups, sites, calendar, hangouts, gplus, keep, people, teams. Its maximum length is 32 characters.
+}
+
+  debugOptions_enableDebugging: boolean, If you are asked by Google to help with debugging, set this field. Otherwise, ignore this field.
+  x__xgafv: string, V1 error format.
+    Allowed values
+      1 - v1 error format
+      2 - v2 error format
+
+Returns:
+  An object of the form:
+
+    { # This resource represents a long-running operation that is the result of a network API call.
+  "done": True or False, # If the value is `false`, it means the operation is still in progress. If `true`, the operation is completed, and either `error` or `response` is available.
+  "error": { # The `Status` type defines a logical error model that is suitable for different programming environments, including REST APIs and RPC APIs. It is used by [gRPC](https://github.com/grpc). Each `Status` message contains three pieces of data: error code, error message, and error details. You can find out more about this error model and how to work with it in the [API Design Guide](https://cloud.google.com/apis/design/errors). # The error result of the operation in case of failure or cancellation.
+    "code": 42, # The status code, which should be an enum value of google.rpc.Code.
+    "details": [ # A list of messages that carry the error details. There is a common set of message types for APIs to use.
+      {
+        "a_key": "", # Properties of the object. Contains field @type with type URL.
+      },
+    ],
+    "message": "A String", # A developer-facing error message, which should be in English. Any user-facing error message should be localized and sent in the google.rpc.Status.details field, or localized by the client.
+  },
+  "metadata": { # Service-specific metadata associated with the operation. It typically contains progress information and common metadata such as create time. Some services might not provide such metadata. Any method that returns a long-running operation should document the metadata type, if any.
+    "a_key": "", # Properties of the object. Contains field @type with type URL.
+  },
+  "name": "A String", # The server-assigned name, which is only unique within the same service that originally returns it. If you use the default HTTP mapping, the `name` should be a resource name ending with `operations/{unique_id}`.
+  "response": { # The normal response of the operation in case of success. If the original method returns no data on success, such as `Delete`, the response is `google.protobuf.Empty`. If the original method is standard `Get`/`Create`/`Update`, the response should be the resource. For other methods, the response should have the type `XxxResponse`, where `Xxx` is the original method name. For example, if the original method name is `TakeSnapshot()`, the inferred response type is `TakeSnapshotResponse`.
+    "a_key": "", # Properties of the object. Contains field @type with type URL.
+  },
+}
+
+
update(name, body=None, x__xgafv=None)
Updates a datasource. **Note:** This API requires an admin account to execute.
diff --git a/docs/dyn/cloudsearch_v1.settings.searchapplications.html b/docs/dyn/cloudsearch_v1.settings.searchapplications.html
index 2562554455c..01edb7577ae 100644
--- a/docs/dyn/cloudsearch_v1.settings.searchapplications.html
+++ b/docs/dyn/cloudsearch_v1.settings.searchapplications.html
@@ -92,6 +92,9 @@ 

Instance Methods

list_next()

Retrieves the next page of results.

+

+ patch(name, body=None, x__xgafv=None)

+

Updates a search application. **Note:** This API requires an admin account to execute.

reset(name, body=None, x__xgafv=None)

Resets a search application to default settings. This will return an empty response. **Note:** This API requires an admin account to execute.

@@ -472,6 +475,125 @@

Method Details

+
+ patch(name, body=None, x__xgafv=None) +
Updates a search application. **Note:** This API requires an admin account to execute.
+
+Args:
+  name: string, The name of the Search Application. Format: searchapplications/{application_id}. (required)
+  body: object, The request body.
+    The object takes the form of:
+
+{ # SearchApplication
+  "dataSourceRestrictions": [ # Retrictions applied to the configurations. The maximum number of elements is 10.
+    { # Restriction on Datasource.
+      "filterOptions": [ # Filter options restricting the results. If multiple filters are present, they are grouped by object type before joining. Filters with the same object type are joined conjunctively, then the resulting expressions are joined disjunctively. The maximum number of elements is 20. NOTE: Suggest API supports only few filters at the moment: "objecttype", "type" and "mimetype". For now, schema specific filters cannot be used to filter suggestions.
+        { # Filter options to be applied on query.
+          "filter": { # A generic way of expressing filters in a query, which supports two approaches: **1. Setting a ValueFilter.** The name must match an operator_name defined in the schema for your data source. **2. Setting a CompositeFilter.** The filters are evaluated using the logical operator. The top-level operators can only be either an AND or a NOT. AND can appear only at the top-most level. OR can appear only under a top-level AND. # Generic filter to restrict the search, such as `lang:en`, `site:xyz`.
+            "compositeFilter": {
+              "logicOperator": "A String", # The logic operator of the sub filter.
+              "subFilters": [ # Sub filters.
+                # Object with schema name: Filter
+              ],
+            },
+            "valueFilter": {
+              "operatorName": "A String", # The `operator_name` applied to the query, such as *price_greater_than*. The filter can work against both types of filters defined in the schema for your data source: 1. `operator_name`, where the query filters results by the property that matches the value. 2. `greater_than_operator_name` or `less_than_operator_name` in your schema. The query filters the results for the property values that are greater than or less than the supplied value in the query.
+              "value": { # Definition of a single value with generic type. # The value to be compared with.
+                "booleanValue": True or False,
+                "dateValue": { # Represents a whole calendar date, for example a date of birth. The time of day and time zone are either specified elsewhere or are not significant. The date is relative to the [Proleptic Gregorian Calendar](https://en.wikipedia.org/wiki/Proleptic_Gregorian_calendar). The date must be a valid calendar date between the year 1 and 9999.
+                  "day": 42, # Day of month. Must be from 1 to 31 and valid for the year and month.
+                  "month": 42, # Month of date. Must be from 1 to 12.
+                  "year": 42, # Year of date. Must be from 1 to 9999.
+                },
+                "doubleValue": 3.14,
+                "integerValue": "A String",
+                "stringValue": "A String",
+                "timestampValue": "A String",
+              },
+            },
+          },
+          "objectType": "A String", # If object_type is set, only objects of that type are returned. This should correspond to the name of the object that was registered within the definition of schema. The maximum length is 256 characters.
+        },
+      ],
+      "source": { # Defines sources for the suggest/search APIs. # The source of restriction.
+        "name": "A String", # Source name for content indexed by the Indexing API.
+        "predefinedSource": "A String", # Predefined content source for Google Apps.
+      },
+    },
+  ],
+  "defaultFacetOptions": [ # The default fields for returning facet results. The sources specified here also have been included in data_source_restrictions above.
+    { # Specifies operators to return facet results for. There will be one FacetResult for every source_name/object_type/operator_name combination.
+      "numFacetBuckets": 42, # Maximum number of facet buckets that should be returned for this facet. Defaults to 10. Maximum value is 100.
+      "objectType": "A String", # If object_type is set, only those objects of that type will be used to compute facets. If empty, then all objects will be used to compute facets.
+      "operatorName": "A String", # The name of the operator chosen for faceting. @see cloudsearch.SchemaPropertyOptions
+      "sourceName": "A String", # Source name to facet on. Format: datasources/{source_id} If empty, all data sources will be used.
+    },
+  ],
+  "defaultSortOptions": { # The default options for sorting the search results
+    "operatorName": "A String", # The name of the operator corresponding to the field to sort on. The corresponding property must be marked as sortable.
+    "sortOrder": "A String", # Ascending is the default sort order
+  },
+  "displayName": "A String", # Display name of the Search Application. The maximum length is 300 characters.
+  "enableAuditLog": True or False, # Indicates whether audit logging is on/off for requests made for the search application in query APIs.
+  "name": "A String", # The name of the Search Application. Format: searchapplications/{application_id}.
+  "operationIds": [ # Output only. IDs of the Long Running Operations (LROs) currently running for this schema. Output only field.
+    "A String",
+  ],
+  "queryInterpretationConfig": { # Default options to interpret user query. # The default options for query interpretation
+    "forceDisableSupplementalResults": True or False, # Set this flag to disable supplemental results retrieval, setting a flag here will not retrieve supplemental results for queries associated with a given search application. If this flag is set to True, it will take precedence over the option set at Query level. For the default value of False, query level flag will set the correct interpretation for supplemental results.
+    "forceVerbatimMode": True or False, # Enable this flag to turn off all internal optimizations like natural language (NL) interpretation of queries, supplemental results retrieval, and usage of synonyms including custom ones. If this flag is set to True, it will take precedence over the option set at Query level. For the default value of False, query level flag will set the correct interpretation for verbatim mode.
+  },
+  "returnResultThumbnailUrls": True or False, # With each result we should return the URI for its thumbnail (when applicable)
+  "scoringConfig": { # Scoring configurations for a source while processing a Search or Suggest request. # Configuration for ranking results.
+    "disableFreshness": True or False, # Whether to use freshness as a ranking signal. By default, freshness is used as a ranking signal. Note that this setting is not available in the Admin UI.
+    "disablePersonalization": True or False, # Whether to personalize the results. By default, personal signals will be used to boost results.
+  },
+  "sourceConfig": [ # Configuration for a sources specified in data_source_restrictions.
+    { # Configurations for a source while processing a Search or Suggest request.
+      "crowdingConfig": { # Set search results crowding limits. Crowding is a situation in which multiple results from the same source or host "crowd out" other results, diminishing the quality of search for users. To foster better search quality and source diversity in search results, you can set a condition to reduce repetitive results by source. # The crowding configuration for the source.
+        "numResults": 42, # Maximum number of results allowed from a datasource in a result page as long as results from other sources are not exhausted. Value specified must not be negative. A default value is used if this value is equal to 0. To disable crowding, set the value greater than 100.
+        "numSuggestions": 42, # Maximum number of suggestions allowed from a source. No limits will be set on results if this value is less than or equal to 0.
+      },
+      "scoringConfig": { # Set the scoring configuration. This allows modifying the ranking of results for a source. # The scoring configuration for the source.
+        "sourceImportance": "A String", # Importance of the source.
+      },
+      "source": { # Defines sources for the suggest/search APIs. # The source for which this configuration is to be used.
+        "name": "A String", # Source name for content indexed by the Indexing API.
+        "predefinedSource": "A String", # Predefined content source for Google Apps.
+      },
+    },
+  ],
+}
+
+  x__xgafv: string, V1 error format.
+    Allowed values
+      1 - v1 error format
+      2 - v2 error format
+
+Returns:
+  An object of the form:
+
+    { # This resource represents a long-running operation that is the result of a network API call.
+  "done": True or False, # If the value is `false`, it means the operation is still in progress. If `true`, the operation is completed, and either `error` or `response` is available.
+  "error": { # The `Status` type defines a logical error model that is suitable for different programming environments, including REST APIs and RPC APIs. It is used by [gRPC](https://github.com/grpc). Each `Status` message contains three pieces of data: error code, error message, and error details. You can find out more about this error model and how to work with it in the [API Design Guide](https://cloud.google.com/apis/design/errors). # The error result of the operation in case of failure or cancellation.
+    "code": 42, # The status code, which should be an enum value of google.rpc.Code.
+    "details": [ # A list of messages that carry the error details. There is a common set of message types for APIs to use.
+      {
+        "a_key": "", # Properties of the object. Contains field @type with type URL.
+      },
+    ],
+    "message": "A String", # A developer-facing error message, which should be in English. Any user-facing error message should be localized and sent in the google.rpc.Status.details field, or localized by the client.
+  },
+  "metadata": { # Service-specific metadata associated with the operation. It typically contains progress information and common metadata such as create time. Some services might not provide such metadata. Any method that returns a long-running operation should document the metadata type, if any.
+    "a_key": "", # Properties of the object. Contains field @type with type URL.
+  },
+  "name": "A String", # The server-assigned name, which is only unique within the same service that originally returns it. If you use the default HTTP mapping, the `name` should be a resource name ending with `operations/{unique_id}`.
+  "response": { # The normal response of the operation in case of success. If the original method returns no data on success, such as `Delete`, the response is `google.protobuf.Empty`. If the original method is standard `Get`/`Create`/`Update`, the response should be the resource. For other methods, the response should have the type `XxxResponse`, where `Xxx` is the original method name. For example, if the original method name is `TakeSnapshot()`, the inferred response type is `TakeSnapshotResponse`.
+    "a_key": "", # Properties of the object. Contains field @type with type URL.
+  },
+}
+
+
reset(name, body=None, x__xgafv=None)
Resets a search application to default settings. This will return an empty response. **Note:** This API requires an admin account to execute.
diff --git a/docs/dyn/cloudsupport_v2beta.cases.html b/docs/dyn/cloudsupport_v2beta.cases.html
index 42bdd0a74b4..e4db74d636a 100644
--- a/docs/dyn/cloudsupport_v2beta.cases.html
+++ b/docs/dyn/cloudsupport_v2beta.cases.html
@@ -148,7 +148,6 @@ 

Method Details

"escalated": True or False, # Whether the case is currently escalated. "name": "A String", # The resource name for the case. "priority": "A String", # The priority of this case. If this is set, do not set severity. - "projectId": "A String", # The ID of the project associated with the case. "severity": "A String", # The severity of this case. Deprecated. Use priority instead. "state": "A String", # Output only. The current status of the support case. "subscriberEmailAddresses": [ # The email addresses to receive updates on this case. @@ -185,7 +184,6 @@

Method Details

"escalated": True or False, # Whether the case is currently escalated. "name": "A String", # The resource name for the case. "priority": "A String", # The priority of this case. If this is set, do not set severity. - "projectId": "A String", # The ID of the project associated with the case. "severity": "A String", # The severity of this case. Deprecated. Use priority instead. "state": "A String", # Output only. The current status of the support case. "subscriberEmailAddresses": [ # The email addresses to receive updates on this case. @@ -220,7 +218,6 @@

Method Details

"escalated": True or False, # Whether the case is currently escalated. "name": "A String", # The resource name for the case. "priority": "A String", # The priority of this case. If this is set, do not set severity. - "projectId": "A String", # The ID of the project associated with the case. "severity": "A String", # The severity of this case. Deprecated. Use priority instead. "state": "A String", # Output only. The current status of the support case. "subscriberEmailAddresses": [ # The email addresses to receive updates on this case. @@ -272,7 +269,6 @@

Method Details

"escalated": True or False, # Whether the case is currently escalated. "name": "A String", # The resource name for the case. "priority": "A String", # The priority of this case. If this is set, do not set severity. - "projectId": "A String", # The ID of the project associated with the case. "severity": "A String", # The severity of this case. Deprecated. Use priority instead. "state": "A String", # Output only. The current status of the support case. "subscriberEmailAddresses": [ # The email addresses to receive updates on this case. @@ -314,7 +310,6 @@

Method Details

"escalated": True or False, # Whether the case is currently escalated. "name": "A String", # The resource name for the case. "priority": "A String", # The priority of this case. If this is set, do not set severity. - "projectId": "A String", # The ID of the project associated with the case. "severity": "A String", # The severity of this case. Deprecated. Use priority instead. "state": "A String", # Output only. The current status of the support case. "subscriberEmailAddresses": [ # The email addresses to receive updates on this case. @@ -361,7 +356,6 @@

Method Details

"escalated": True or False, # Whether the case is currently escalated. "name": "A String", # The resource name for the case. "priority": "A String", # The priority of this case. If this is set, do not set severity. - "projectId": "A String", # The ID of the project associated with the case. "severity": "A String", # The severity of this case. Deprecated. Use priority instead. "state": "A String", # Output only. The current status of the support case. "subscriberEmailAddresses": [ # The email addresses to receive updates on this case. @@ -415,7 +409,6 @@

Method Details

"escalated": True or False, # Whether the case is currently escalated. "name": "A String", # The resource name for the case. "priority": "A String", # The priority of this case. If this is set, do not set severity. - "projectId": "A String", # The ID of the project associated with the case. "severity": "A String", # The severity of this case. Deprecated. Use priority instead. "state": "A String", # Output only. The current status of the support case. "subscriberEmailAddresses": [ # The email addresses to receive updates on this case. @@ -451,7 +444,6 @@

Method Details

"escalated": True or False, # Whether the case is currently escalated. "name": "A String", # The resource name for the case. "priority": "A String", # The priority of this case. If this is set, do not set severity. - "projectId": "A String", # The ID of the project associated with the case. "severity": "A String", # The severity of this case. Deprecated. Use priority instead. "state": "A String", # Output only. The current status of the support case. "subscriberEmailAddresses": [ # The email addresses to receive updates on this case. @@ -497,7 +489,6 @@

Method Details

"escalated": True or False, # Whether the case is currently escalated. "name": "A String", # The resource name for the case. "priority": "A String", # The priority of this case. If this is set, do not set severity. - "projectId": "A String", # The ID of the project associated with the case. "severity": "A String", # The severity of this case. Deprecated. Use priority instead. "state": "A String", # Output only. The current status of the support case. "subscriberEmailAddresses": [ # The email addresses to receive updates on this case. diff --git a/docs/dyn/cloudtasks_v2.projects.locations.queues.html b/docs/dyn/cloudtasks_v2.projects.locations.queues.html index b7d375930b0..f5e9df8777b 100644 --- a/docs/dyn/cloudtasks_v2.projects.locations.queues.html +++ b/docs/dyn/cloudtasks_v2.projects.locations.queues.html @@ -288,7 +288,7 @@

Method Details

"location": "A String", # Optional. String indicating the location of the expression for error reporting, e.g. a file name and a position in the file. "title": "A String", # Optional. Title for the expression, i.e. a short string describing its purpose. This can be used e.g. in UIs which allow to enter the expression. }, - "members": [ # Specifies the principals requesting access for a Google Cloud resource. `members` can have the following values: * `allUsers`: A special identifier that represents anyone who is on the internet; with or without a Google account. * `allAuthenticatedUsers`: A special identifier that represents anyone who is authenticated with a Google account or a service account. * `user:{emailid}`: An email address that represents a specific Google account. For example, `alice@example.com` . * `serviceAccount:{emailid}`: An email address that represents a service account. For example, `my-other-app@appspot.gserviceaccount.com`. * `group:{emailid}`: An email address that represents a Google group. For example, `admins@example.com`. * `deleted:user:{emailid}?uid={uniqueid}`: An email address (plus unique identifier) representing a user that has been recently deleted. For example, `alice@example.com?uid=123456789012345678901`. If the user is recovered, this value reverts to `user:{emailid}` and the recovered user retains the role in the binding. * `deleted:serviceAccount:{emailid}?uid={uniqueid}`: An email address (plus unique identifier) representing a service account that has been recently deleted. For example, `my-other-app@appspot.gserviceaccount.com?uid=123456789012345678901`. If the service account is undeleted, this value reverts to `serviceAccount:{emailid}` and the undeleted service account retains the role in the binding. * `deleted:group:{emailid}?uid={uniqueid}`: An email address (plus unique identifier) representing a Google group that has been recently deleted. For example, `admins@example.com?uid=123456789012345678901`. If the group is recovered, this value reverts to `group:{emailid}` and the recovered group retains the role in the binding. * `domain:{domain}`: The G Suite domain (primary) that represents all the users of that domain. For example, `google.com` or `example.com`. + "members": [ # Specifies the principals requesting access for a Google Cloud resource. `members` can have the following values: * `allUsers`: A special identifier that represents anyone who is on the internet; with or without a Google account. * `allAuthenticatedUsers`: A special identifier that represents anyone who is authenticated with a Google account or a service account. * `user:{emailid}`: An email address that represents a specific Google account. For example, `alice@example.com` . * `serviceAccount:{emailid}`: An email address that represents a Google service account. For example, `my-other-app@appspot.gserviceaccount.com`. * `serviceAccount:{projectid}.svc.id.goog[{namespace}/{kubernetes-sa}]`: An identifier for a [Kubernetes service account](https://cloud.google.com/kubernetes-engine/docs/how-to/kubernetes-service-accounts). For example, `my-project.svc.id.goog[my-namespace/my-kubernetes-sa]`. * `group:{emailid}`: An email address that represents a Google group. For example, `admins@example.com`. * `deleted:user:{emailid}?uid={uniqueid}`: An email address (plus unique identifier) representing a user that has been recently deleted. For example, `alice@example.com?uid=123456789012345678901`. If the user is recovered, this value reverts to `user:{emailid}` and the recovered user retains the role in the binding. * `deleted:serviceAccount:{emailid}?uid={uniqueid}`: An email address (plus unique identifier) representing a service account that has been recently deleted. For example, `my-other-app@appspot.gserviceaccount.com?uid=123456789012345678901`. If the service account is undeleted, this value reverts to `serviceAccount:{emailid}` and the undeleted service account retains the role in the binding. * `deleted:group:{emailid}?uid={uniqueid}`: An email address (plus unique identifier) representing a Google group that has been recently deleted. For example, `admins@example.com?uid=123456789012345678901`. If the group is recovered, this value reverts to `group:{emailid}` and the recovered group retains the role in the binding. * `domain:{domain}`: The G Suite domain (primary) that represents all the users of that domain. For example, `google.com` or `example.com`. "A String", ], "role": "A String", # Role that is assigned to the list of `members`, or principals. For example, `roles/viewer`, `roles/editor`, or `roles/owner`. @@ -599,7 +599,7 @@

Method Details

"location": "A String", # Optional. String indicating the location of the expression for error reporting, e.g. a file name and a position in the file. "title": "A String", # Optional. Title for the expression, i.e. a short string describing its purpose. This can be used e.g. in UIs which allow to enter the expression. }, - "members": [ # Specifies the principals requesting access for a Google Cloud resource. `members` can have the following values: * `allUsers`: A special identifier that represents anyone who is on the internet; with or without a Google account. * `allAuthenticatedUsers`: A special identifier that represents anyone who is authenticated with a Google account or a service account. * `user:{emailid}`: An email address that represents a specific Google account. For example, `alice@example.com` . * `serviceAccount:{emailid}`: An email address that represents a service account. For example, `my-other-app@appspot.gserviceaccount.com`. * `group:{emailid}`: An email address that represents a Google group. For example, `admins@example.com`. * `deleted:user:{emailid}?uid={uniqueid}`: An email address (plus unique identifier) representing a user that has been recently deleted. For example, `alice@example.com?uid=123456789012345678901`. If the user is recovered, this value reverts to `user:{emailid}` and the recovered user retains the role in the binding. * `deleted:serviceAccount:{emailid}?uid={uniqueid}`: An email address (plus unique identifier) representing a service account that has been recently deleted. For example, `my-other-app@appspot.gserviceaccount.com?uid=123456789012345678901`. If the service account is undeleted, this value reverts to `serviceAccount:{emailid}` and the undeleted service account retains the role in the binding. * `deleted:group:{emailid}?uid={uniqueid}`: An email address (plus unique identifier) representing a Google group that has been recently deleted. For example, `admins@example.com?uid=123456789012345678901`. If the group is recovered, this value reverts to `group:{emailid}` and the recovered group retains the role in the binding. * `domain:{domain}`: The G Suite domain (primary) that represents all the users of that domain. For example, `google.com` or `example.com`. + "members": [ # Specifies the principals requesting access for a Google Cloud resource. `members` can have the following values: * `allUsers`: A special identifier that represents anyone who is on the internet; with or without a Google account. * `allAuthenticatedUsers`: A special identifier that represents anyone who is authenticated with a Google account or a service account. * `user:{emailid}`: An email address that represents a specific Google account. For example, `alice@example.com` . * `serviceAccount:{emailid}`: An email address that represents a Google service account. For example, `my-other-app@appspot.gserviceaccount.com`. * `serviceAccount:{projectid}.svc.id.goog[{namespace}/{kubernetes-sa}]`: An identifier for a [Kubernetes service account](https://cloud.google.com/kubernetes-engine/docs/how-to/kubernetes-service-accounts). For example, `my-project.svc.id.goog[my-namespace/my-kubernetes-sa]`. * `group:{emailid}`: An email address that represents a Google group. For example, `admins@example.com`. * `deleted:user:{emailid}?uid={uniqueid}`: An email address (plus unique identifier) representing a user that has been recently deleted. For example, `alice@example.com?uid=123456789012345678901`. If the user is recovered, this value reverts to `user:{emailid}` and the recovered user retains the role in the binding. * `deleted:serviceAccount:{emailid}?uid={uniqueid}`: An email address (plus unique identifier) representing a service account that has been recently deleted. For example, `my-other-app@appspot.gserviceaccount.com?uid=123456789012345678901`. If the service account is undeleted, this value reverts to `serviceAccount:{emailid}` and the undeleted service account retains the role in the binding. * `deleted:group:{emailid}?uid={uniqueid}`: An email address (plus unique identifier) representing a Google group that has been recently deleted. For example, `admins@example.com?uid=123456789012345678901`. If the group is recovered, this value reverts to `group:{emailid}` and the recovered group retains the role in the binding. * `domain:{domain}`: The G Suite domain (primary) that represents all the users of that domain. For example, `google.com` or `example.com`. "A String", ], "role": "A String", # Role that is assigned to the list of `members`, or principals. For example, `roles/viewer`, `roles/editor`, or `roles/owner`. @@ -627,7 +627,7 @@

Method Details

"location": "A String", # Optional. String indicating the location of the expression for error reporting, e.g. a file name and a position in the file. "title": "A String", # Optional. Title for the expression, i.e. a short string describing its purpose. This can be used e.g. in UIs which allow to enter the expression. }, - "members": [ # Specifies the principals requesting access for a Google Cloud resource. `members` can have the following values: * `allUsers`: A special identifier that represents anyone who is on the internet; with or without a Google account. * `allAuthenticatedUsers`: A special identifier that represents anyone who is authenticated with a Google account or a service account. * `user:{emailid}`: An email address that represents a specific Google account. For example, `alice@example.com` . * `serviceAccount:{emailid}`: An email address that represents a service account. For example, `my-other-app@appspot.gserviceaccount.com`. * `group:{emailid}`: An email address that represents a Google group. For example, `admins@example.com`. * `deleted:user:{emailid}?uid={uniqueid}`: An email address (plus unique identifier) representing a user that has been recently deleted. For example, `alice@example.com?uid=123456789012345678901`. If the user is recovered, this value reverts to `user:{emailid}` and the recovered user retains the role in the binding. * `deleted:serviceAccount:{emailid}?uid={uniqueid}`: An email address (plus unique identifier) representing a service account that has been recently deleted. For example, `my-other-app@appspot.gserviceaccount.com?uid=123456789012345678901`. If the service account is undeleted, this value reverts to `serviceAccount:{emailid}` and the undeleted service account retains the role in the binding. * `deleted:group:{emailid}?uid={uniqueid}`: An email address (plus unique identifier) representing a Google group that has been recently deleted. For example, `admins@example.com?uid=123456789012345678901`. If the group is recovered, this value reverts to `group:{emailid}` and the recovered group retains the role in the binding. * `domain:{domain}`: The G Suite domain (primary) that represents all the users of that domain. For example, `google.com` or `example.com`. + "members": [ # Specifies the principals requesting access for a Google Cloud resource. `members` can have the following values: * `allUsers`: A special identifier that represents anyone who is on the internet; with or without a Google account. * `allAuthenticatedUsers`: A special identifier that represents anyone who is authenticated with a Google account or a service account. * `user:{emailid}`: An email address that represents a specific Google account. For example, `alice@example.com` . * `serviceAccount:{emailid}`: An email address that represents a Google service account. For example, `my-other-app@appspot.gserviceaccount.com`. * `serviceAccount:{projectid}.svc.id.goog[{namespace}/{kubernetes-sa}]`: An identifier for a [Kubernetes service account](https://cloud.google.com/kubernetes-engine/docs/how-to/kubernetes-service-accounts). For example, `my-project.svc.id.goog[my-namespace/my-kubernetes-sa]`. * `group:{emailid}`: An email address that represents a Google group. For example, `admins@example.com`. * `deleted:user:{emailid}?uid={uniqueid}`: An email address (plus unique identifier) representing a user that has been recently deleted. For example, `alice@example.com?uid=123456789012345678901`. If the user is recovered, this value reverts to `user:{emailid}` and the recovered user retains the role in the binding. * `deleted:serviceAccount:{emailid}?uid={uniqueid}`: An email address (plus unique identifier) representing a service account that has been recently deleted. For example, `my-other-app@appspot.gserviceaccount.com?uid=123456789012345678901`. If the service account is undeleted, this value reverts to `serviceAccount:{emailid}` and the undeleted service account retains the role in the binding. * `deleted:group:{emailid}?uid={uniqueid}`: An email address (plus unique identifier) representing a Google group that has been recently deleted. For example, `admins@example.com?uid=123456789012345678901`. If the group is recovered, this value reverts to `group:{emailid}` and the recovered group retains the role in the binding. * `domain:{domain}`: The G Suite domain (primary) that represents all the users of that domain. For example, `google.com` or `example.com`. "A String", ], "role": "A String", # Role that is assigned to the list of `members`, or principals. For example, `roles/viewer`, `roles/editor`, or `roles/owner`. diff --git a/docs/dyn/cloudtasks_v2beta2.projects.locations.queues.html b/docs/dyn/cloudtasks_v2beta2.projects.locations.queues.html index bb755bb02c9..9e0df4bab5a 100644 --- a/docs/dyn/cloudtasks_v2beta2.projects.locations.queues.html +++ b/docs/dyn/cloudtasks_v2beta2.projects.locations.queues.html @@ -437,7 +437,7 @@

Method Details

"location": "A String", # Optional. String indicating the location of the expression for error reporting, e.g. a file name and a position in the file. "title": "A String", # Optional. Title for the expression, i.e. a short string describing its purpose. This can be used e.g. in UIs which allow to enter the expression. }, - "members": [ # Specifies the principals requesting access for a Google Cloud resource. `members` can have the following values: * `allUsers`: A special identifier that represents anyone who is on the internet; with or without a Google account. * `allAuthenticatedUsers`: A special identifier that represents anyone who is authenticated with a Google account or a service account. * `user:{emailid}`: An email address that represents a specific Google account. For example, `alice@example.com` . * `serviceAccount:{emailid}`: An email address that represents a service account. For example, `my-other-app@appspot.gserviceaccount.com`. * `group:{emailid}`: An email address that represents a Google group. For example, `admins@example.com`. * `deleted:user:{emailid}?uid={uniqueid}`: An email address (plus unique identifier) representing a user that has been recently deleted. For example, `alice@example.com?uid=123456789012345678901`. If the user is recovered, this value reverts to `user:{emailid}` and the recovered user retains the role in the binding. * `deleted:serviceAccount:{emailid}?uid={uniqueid}`: An email address (plus unique identifier) representing a service account that has been recently deleted. For example, `my-other-app@appspot.gserviceaccount.com?uid=123456789012345678901`. If the service account is undeleted, this value reverts to `serviceAccount:{emailid}` and the undeleted service account retains the role in the binding. * `deleted:group:{emailid}?uid={uniqueid}`: An email address (plus unique identifier) representing a Google group that has been recently deleted. For example, `admins@example.com?uid=123456789012345678901`. If the group is recovered, this value reverts to `group:{emailid}` and the recovered group retains the role in the binding. * `domain:{domain}`: The G Suite domain (primary) that represents all the users of that domain. For example, `google.com` or `example.com`. + "members": [ # Specifies the principals requesting access for a Google Cloud resource. `members` can have the following values: * `allUsers`: A special identifier that represents anyone who is on the internet; with or without a Google account. * `allAuthenticatedUsers`: A special identifier that represents anyone who is authenticated with a Google account or a service account. * `user:{emailid}`: An email address that represents a specific Google account. For example, `alice@example.com` . * `serviceAccount:{emailid}`: An email address that represents a Google service account. For example, `my-other-app@appspot.gserviceaccount.com`. * `serviceAccount:{projectid}.svc.id.goog[{namespace}/{kubernetes-sa}]`: An identifier for a [Kubernetes service account](https://cloud.google.com/kubernetes-engine/docs/how-to/kubernetes-service-accounts). For example, `my-project.svc.id.goog[my-namespace/my-kubernetes-sa]`. * `group:{emailid}`: An email address that represents a Google group. For example, `admins@example.com`. * `deleted:user:{emailid}?uid={uniqueid}`: An email address (plus unique identifier) representing a user that has been recently deleted. For example, `alice@example.com?uid=123456789012345678901`. If the user is recovered, this value reverts to `user:{emailid}` and the recovered user retains the role in the binding. * `deleted:serviceAccount:{emailid}?uid={uniqueid}`: An email address (plus unique identifier) representing a service account that has been recently deleted. For example, `my-other-app@appspot.gserviceaccount.com?uid=123456789012345678901`. If the service account is undeleted, this value reverts to `serviceAccount:{emailid}` and the undeleted service account retains the role in the binding. * `deleted:group:{emailid}?uid={uniqueid}`: An email address (plus unique identifier) representing a Google group that has been recently deleted. For example, `admins@example.com?uid=123456789012345678901`. If the group is recovered, this value reverts to `group:{emailid}` and the recovered group retains the role in the binding. * `domain:{domain}`: The G Suite domain (primary) that represents all the users of that domain. For example, `google.com` or `example.com`. "A String", ], "role": "A String", # Role that is assigned to the list of `members`, or principals. For example, `roles/viewer`, `roles/editor`, or `roles/owner`. @@ -971,7 +971,7 @@

Method Details

"location": "A String", # Optional. String indicating the location of the expression for error reporting, e.g. a file name and a position in the file. "title": "A String", # Optional. Title for the expression, i.e. a short string describing its purpose. This can be used e.g. in UIs which allow to enter the expression. }, - "members": [ # Specifies the principals requesting access for a Google Cloud resource. `members` can have the following values: * `allUsers`: A special identifier that represents anyone who is on the internet; with or without a Google account. * `allAuthenticatedUsers`: A special identifier that represents anyone who is authenticated with a Google account or a service account. * `user:{emailid}`: An email address that represents a specific Google account. For example, `alice@example.com` . * `serviceAccount:{emailid}`: An email address that represents a service account. For example, `my-other-app@appspot.gserviceaccount.com`. * `group:{emailid}`: An email address that represents a Google group. For example, `admins@example.com`. * `deleted:user:{emailid}?uid={uniqueid}`: An email address (plus unique identifier) representing a user that has been recently deleted. For example, `alice@example.com?uid=123456789012345678901`. If the user is recovered, this value reverts to `user:{emailid}` and the recovered user retains the role in the binding. * `deleted:serviceAccount:{emailid}?uid={uniqueid}`: An email address (plus unique identifier) representing a service account that has been recently deleted. For example, `my-other-app@appspot.gserviceaccount.com?uid=123456789012345678901`. If the service account is undeleted, this value reverts to `serviceAccount:{emailid}` and the undeleted service account retains the role in the binding. * `deleted:group:{emailid}?uid={uniqueid}`: An email address (plus unique identifier) representing a Google group that has been recently deleted. For example, `admins@example.com?uid=123456789012345678901`. If the group is recovered, this value reverts to `group:{emailid}` and the recovered group retains the role in the binding. * `domain:{domain}`: The G Suite domain (primary) that represents all the users of that domain. For example, `google.com` or `example.com`. + "members": [ # Specifies the principals requesting access for a Google Cloud resource. `members` can have the following values: * `allUsers`: A special identifier that represents anyone who is on the internet; with or without a Google account. * `allAuthenticatedUsers`: A special identifier that represents anyone who is authenticated with a Google account or a service account. * `user:{emailid}`: An email address that represents a specific Google account. For example, `alice@example.com` . * `serviceAccount:{emailid}`: An email address that represents a Google service account. For example, `my-other-app@appspot.gserviceaccount.com`. * `serviceAccount:{projectid}.svc.id.goog[{namespace}/{kubernetes-sa}]`: An identifier for a [Kubernetes service account](https://cloud.google.com/kubernetes-engine/docs/how-to/kubernetes-service-accounts). For example, `my-project.svc.id.goog[my-namespace/my-kubernetes-sa]`. * `group:{emailid}`: An email address that represents a Google group. For example, `admins@example.com`. * `deleted:user:{emailid}?uid={uniqueid}`: An email address (plus unique identifier) representing a user that has been recently deleted. For example, `alice@example.com?uid=123456789012345678901`. If the user is recovered, this value reverts to `user:{emailid}` and the recovered user retains the role in the binding. * `deleted:serviceAccount:{emailid}?uid={uniqueid}`: An email address (plus unique identifier) representing a service account that has been recently deleted. For example, `my-other-app@appspot.gserviceaccount.com?uid=123456789012345678901`. If the service account is undeleted, this value reverts to `serviceAccount:{emailid}` and the undeleted service account retains the role in the binding. * `deleted:group:{emailid}?uid={uniqueid}`: An email address (plus unique identifier) representing a Google group that has been recently deleted. For example, `admins@example.com?uid=123456789012345678901`. If the group is recovered, this value reverts to `group:{emailid}` and the recovered group retains the role in the binding. * `domain:{domain}`: The G Suite domain (primary) that represents all the users of that domain. For example, `google.com` or `example.com`. "A String", ], "role": "A String", # Role that is assigned to the list of `members`, or principals. For example, `roles/viewer`, `roles/editor`, or `roles/owner`. @@ -999,7 +999,7 @@

Method Details

"location": "A String", # Optional. String indicating the location of the expression for error reporting, e.g. a file name and a position in the file. "title": "A String", # Optional. Title for the expression, i.e. a short string describing its purpose. This can be used e.g. in UIs which allow to enter the expression. }, - "members": [ # Specifies the principals requesting access for a Google Cloud resource. `members` can have the following values: * `allUsers`: A special identifier that represents anyone who is on the internet; with or without a Google account. * `allAuthenticatedUsers`: A special identifier that represents anyone who is authenticated with a Google account or a service account. * `user:{emailid}`: An email address that represents a specific Google account. For example, `alice@example.com` . * `serviceAccount:{emailid}`: An email address that represents a service account. For example, `my-other-app@appspot.gserviceaccount.com`. * `group:{emailid}`: An email address that represents a Google group. For example, `admins@example.com`. * `deleted:user:{emailid}?uid={uniqueid}`: An email address (plus unique identifier) representing a user that has been recently deleted. For example, `alice@example.com?uid=123456789012345678901`. If the user is recovered, this value reverts to `user:{emailid}` and the recovered user retains the role in the binding. * `deleted:serviceAccount:{emailid}?uid={uniqueid}`: An email address (plus unique identifier) representing a service account that has been recently deleted. For example, `my-other-app@appspot.gserviceaccount.com?uid=123456789012345678901`. If the service account is undeleted, this value reverts to `serviceAccount:{emailid}` and the undeleted service account retains the role in the binding. * `deleted:group:{emailid}?uid={uniqueid}`: An email address (plus unique identifier) representing a Google group that has been recently deleted. For example, `admins@example.com?uid=123456789012345678901`. If the group is recovered, this value reverts to `group:{emailid}` and the recovered group retains the role in the binding. * `domain:{domain}`: The G Suite domain (primary) that represents all the users of that domain. For example, `google.com` or `example.com`. + "members": [ # Specifies the principals requesting access for a Google Cloud resource. `members` can have the following values: * `allUsers`: A special identifier that represents anyone who is on the internet; with or without a Google account. * `allAuthenticatedUsers`: A special identifier that represents anyone who is authenticated with a Google account or a service account. * `user:{emailid}`: An email address that represents a specific Google account. For example, `alice@example.com` . * `serviceAccount:{emailid}`: An email address that represents a Google service account. For example, `my-other-app@appspot.gserviceaccount.com`. * `serviceAccount:{projectid}.svc.id.goog[{namespace}/{kubernetes-sa}]`: An identifier for a [Kubernetes service account](https://cloud.google.com/kubernetes-engine/docs/how-to/kubernetes-service-accounts). For example, `my-project.svc.id.goog[my-namespace/my-kubernetes-sa]`. * `group:{emailid}`: An email address that represents a Google group. For example, `admins@example.com`. * `deleted:user:{emailid}?uid={uniqueid}`: An email address (plus unique identifier) representing a user that has been recently deleted. For example, `alice@example.com?uid=123456789012345678901`. If the user is recovered, this value reverts to `user:{emailid}` and the recovered user retains the role in the binding. * `deleted:serviceAccount:{emailid}?uid={uniqueid}`: An email address (plus unique identifier) representing a service account that has been recently deleted. For example, `my-other-app@appspot.gserviceaccount.com?uid=123456789012345678901`. If the service account is undeleted, this value reverts to `serviceAccount:{emailid}` and the undeleted service account retains the role in the binding. * `deleted:group:{emailid}?uid={uniqueid}`: An email address (plus unique identifier) representing a Google group that has been recently deleted. For example, `admins@example.com?uid=123456789012345678901`. If the group is recovered, this value reverts to `group:{emailid}` and the recovered group retains the role in the binding. * `domain:{domain}`: The G Suite domain (primary) that represents all the users of that domain. For example, `google.com` or `example.com`. "A String", ], "role": "A String", # Role that is assigned to the list of `members`, or principals. For example, `roles/viewer`, `roles/editor`, or `roles/owner`. diff --git a/docs/dyn/cloudtasks_v2beta3.projects.locations.queues.html b/docs/dyn/cloudtasks_v2beta3.projects.locations.queues.html index 52059a53815..4d43722ba1f 100644 --- a/docs/dyn/cloudtasks_v2beta3.projects.locations.queues.html +++ b/docs/dyn/cloudtasks_v2beta3.projects.locations.queues.html @@ -325,7 +325,7 @@

Method Details

"location": "A String", # Optional. String indicating the location of the expression for error reporting, e.g. a file name and a position in the file. "title": "A String", # Optional. Title for the expression, i.e. a short string describing its purpose. This can be used e.g. in UIs which allow to enter the expression. }, - "members": [ # Specifies the principals requesting access for a Google Cloud resource. `members` can have the following values: * `allUsers`: A special identifier that represents anyone who is on the internet; with or without a Google account. * `allAuthenticatedUsers`: A special identifier that represents anyone who is authenticated with a Google account or a service account. * `user:{emailid}`: An email address that represents a specific Google account. For example, `alice@example.com` . * `serviceAccount:{emailid}`: An email address that represents a service account. For example, `my-other-app@appspot.gserviceaccount.com`. * `group:{emailid}`: An email address that represents a Google group. For example, `admins@example.com`. * `deleted:user:{emailid}?uid={uniqueid}`: An email address (plus unique identifier) representing a user that has been recently deleted. For example, `alice@example.com?uid=123456789012345678901`. If the user is recovered, this value reverts to `user:{emailid}` and the recovered user retains the role in the binding. * `deleted:serviceAccount:{emailid}?uid={uniqueid}`: An email address (plus unique identifier) representing a service account that has been recently deleted. For example, `my-other-app@appspot.gserviceaccount.com?uid=123456789012345678901`. If the service account is undeleted, this value reverts to `serviceAccount:{emailid}` and the undeleted service account retains the role in the binding. * `deleted:group:{emailid}?uid={uniqueid}`: An email address (plus unique identifier) representing a Google group that has been recently deleted. For example, `admins@example.com?uid=123456789012345678901`. If the group is recovered, this value reverts to `group:{emailid}` and the recovered group retains the role in the binding. * `domain:{domain}`: The G Suite domain (primary) that represents all the users of that domain. For example, `google.com` or `example.com`. + "members": [ # Specifies the principals requesting access for a Google Cloud resource. `members` can have the following values: * `allUsers`: A special identifier that represents anyone who is on the internet; with or without a Google account. * `allAuthenticatedUsers`: A special identifier that represents anyone who is authenticated with a Google account or a service account. * `user:{emailid}`: An email address that represents a specific Google account. For example, `alice@example.com` . * `serviceAccount:{emailid}`: An email address that represents a Google service account. For example, `my-other-app@appspot.gserviceaccount.com`. * `serviceAccount:{projectid}.svc.id.goog[{namespace}/{kubernetes-sa}]`: An identifier for a [Kubernetes service account](https://cloud.google.com/kubernetes-engine/docs/how-to/kubernetes-service-accounts). For example, `my-project.svc.id.goog[my-namespace/my-kubernetes-sa]`. * `group:{emailid}`: An email address that represents a Google group. For example, `admins@example.com`. * `deleted:user:{emailid}?uid={uniqueid}`: An email address (plus unique identifier) representing a user that has been recently deleted. For example, `alice@example.com?uid=123456789012345678901`. If the user is recovered, this value reverts to `user:{emailid}` and the recovered user retains the role in the binding. * `deleted:serviceAccount:{emailid}?uid={uniqueid}`: An email address (plus unique identifier) representing a service account that has been recently deleted. For example, `my-other-app@appspot.gserviceaccount.com?uid=123456789012345678901`. If the service account is undeleted, this value reverts to `serviceAccount:{emailid}` and the undeleted service account retains the role in the binding. * `deleted:group:{emailid}?uid={uniqueid}`: An email address (plus unique identifier) representing a Google group that has been recently deleted. For example, `admins@example.com?uid=123456789012345678901`. If the group is recovered, this value reverts to `group:{emailid}` and the recovered group retains the role in the binding. * `domain:{domain}`: The G Suite domain (primary) that represents all the users of that domain. For example, `google.com` or `example.com`. "A String", ], "role": "A String", # Role that is assigned to the list of `members`, or principals. For example, `roles/viewer`, `roles/editor`, or `roles/owner`. @@ -709,7 +709,7 @@

Method Details

"location": "A String", # Optional. String indicating the location of the expression for error reporting, e.g. a file name and a position in the file. "title": "A String", # Optional. Title for the expression, i.e. a short string describing its purpose. This can be used e.g. in UIs which allow to enter the expression. }, - "members": [ # Specifies the principals requesting access for a Google Cloud resource. `members` can have the following values: * `allUsers`: A special identifier that represents anyone who is on the internet; with or without a Google account. * `allAuthenticatedUsers`: A special identifier that represents anyone who is authenticated with a Google account or a service account. * `user:{emailid}`: An email address that represents a specific Google account. For example, `alice@example.com` . * `serviceAccount:{emailid}`: An email address that represents a service account. For example, `my-other-app@appspot.gserviceaccount.com`. * `group:{emailid}`: An email address that represents a Google group. For example, `admins@example.com`. * `deleted:user:{emailid}?uid={uniqueid}`: An email address (plus unique identifier) representing a user that has been recently deleted. For example, `alice@example.com?uid=123456789012345678901`. If the user is recovered, this value reverts to `user:{emailid}` and the recovered user retains the role in the binding. * `deleted:serviceAccount:{emailid}?uid={uniqueid}`: An email address (plus unique identifier) representing a service account that has been recently deleted. For example, `my-other-app@appspot.gserviceaccount.com?uid=123456789012345678901`. If the service account is undeleted, this value reverts to `serviceAccount:{emailid}` and the undeleted service account retains the role in the binding. * `deleted:group:{emailid}?uid={uniqueid}`: An email address (plus unique identifier) representing a Google group that has been recently deleted. For example, `admins@example.com?uid=123456789012345678901`. If the group is recovered, this value reverts to `group:{emailid}` and the recovered group retains the role in the binding. * `domain:{domain}`: The G Suite domain (primary) that represents all the users of that domain. For example, `google.com` or `example.com`. + "members": [ # Specifies the principals requesting access for a Google Cloud resource. `members` can have the following values: * `allUsers`: A special identifier that represents anyone who is on the internet; with or without a Google account. * `allAuthenticatedUsers`: A special identifier that represents anyone who is authenticated with a Google account or a service account. * `user:{emailid}`: An email address that represents a specific Google account. For example, `alice@example.com` . * `serviceAccount:{emailid}`: An email address that represents a Google service account. For example, `my-other-app@appspot.gserviceaccount.com`. * `serviceAccount:{projectid}.svc.id.goog[{namespace}/{kubernetes-sa}]`: An identifier for a [Kubernetes service account](https://cloud.google.com/kubernetes-engine/docs/how-to/kubernetes-service-accounts). For example, `my-project.svc.id.goog[my-namespace/my-kubernetes-sa]`. * `group:{emailid}`: An email address that represents a Google group. For example, `admins@example.com`. * `deleted:user:{emailid}?uid={uniqueid}`: An email address (plus unique identifier) representing a user that has been recently deleted. For example, `alice@example.com?uid=123456789012345678901`. If the user is recovered, this value reverts to `user:{emailid}` and the recovered user retains the role in the binding. * `deleted:serviceAccount:{emailid}?uid={uniqueid}`: An email address (plus unique identifier) representing a service account that has been recently deleted. For example, `my-other-app@appspot.gserviceaccount.com?uid=123456789012345678901`. If the service account is undeleted, this value reverts to `serviceAccount:{emailid}` and the undeleted service account retains the role in the binding. * `deleted:group:{emailid}?uid={uniqueid}`: An email address (plus unique identifier) representing a Google group that has been recently deleted. For example, `admins@example.com?uid=123456789012345678901`. If the group is recovered, this value reverts to `group:{emailid}` and the recovered group retains the role in the binding. * `domain:{domain}`: The G Suite domain (primary) that represents all the users of that domain. For example, `google.com` or `example.com`. "A String", ], "role": "A String", # Role that is assigned to the list of `members`, or principals. For example, `roles/viewer`, `roles/editor`, or `roles/owner`. @@ -737,7 +737,7 @@

Method Details

"location": "A String", # Optional. String indicating the location of the expression for error reporting, e.g. a file name and a position in the file. "title": "A String", # Optional. Title for the expression, i.e. a short string describing its purpose. This can be used e.g. in UIs which allow to enter the expression. }, - "members": [ # Specifies the principals requesting access for a Google Cloud resource. `members` can have the following values: * `allUsers`: A special identifier that represents anyone who is on the internet; with or without a Google account. * `allAuthenticatedUsers`: A special identifier that represents anyone who is authenticated with a Google account or a service account. * `user:{emailid}`: An email address that represents a specific Google account. For example, `alice@example.com` . * `serviceAccount:{emailid}`: An email address that represents a service account. For example, `my-other-app@appspot.gserviceaccount.com`. * `group:{emailid}`: An email address that represents a Google group. For example, `admins@example.com`. * `deleted:user:{emailid}?uid={uniqueid}`: An email address (plus unique identifier) representing a user that has been recently deleted. For example, `alice@example.com?uid=123456789012345678901`. If the user is recovered, this value reverts to `user:{emailid}` and the recovered user retains the role in the binding. * `deleted:serviceAccount:{emailid}?uid={uniqueid}`: An email address (plus unique identifier) representing a service account that has been recently deleted. For example, `my-other-app@appspot.gserviceaccount.com?uid=123456789012345678901`. If the service account is undeleted, this value reverts to `serviceAccount:{emailid}` and the undeleted service account retains the role in the binding. * `deleted:group:{emailid}?uid={uniqueid}`: An email address (plus unique identifier) representing a Google group that has been recently deleted. For example, `admins@example.com?uid=123456789012345678901`. If the group is recovered, this value reverts to `group:{emailid}` and the recovered group retains the role in the binding. * `domain:{domain}`: The G Suite domain (primary) that represents all the users of that domain. For example, `google.com` or `example.com`. + "members": [ # Specifies the principals requesting access for a Google Cloud resource. `members` can have the following values: * `allUsers`: A special identifier that represents anyone who is on the internet; with or without a Google account. * `allAuthenticatedUsers`: A special identifier that represents anyone who is authenticated with a Google account or a service account. * `user:{emailid}`: An email address that represents a specific Google account. For example, `alice@example.com` . * `serviceAccount:{emailid}`: An email address that represents a Google service account. For example, `my-other-app@appspot.gserviceaccount.com`. * `serviceAccount:{projectid}.svc.id.goog[{namespace}/{kubernetes-sa}]`: An identifier for a [Kubernetes service account](https://cloud.google.com/kubernetes-engine/docs/how-to/kubernetes-service-accounts). For example, `my-project.svc.id.goog[my-namespace/my-kubernetes-sa]`. * `group:{emailid}`: An email address that represents a Google group. For example, `admins@example.com`. * `deleted:user:{emailid}?uid={uniqueid}`: An email address (plus unique identifier) representing a user that has been recently deleted. For example, `alice@example.com?uid=123456789012345678901`. If the user is recovered, this value reverts to `user:{emailid}` and the recovered user retains the role in the binding. * `deleted:serviceAccount:{emailid}?uid={uniqueid}`: An email address (plus unique identifier) representing a service account that has been recently deleted. For example, `my-other-app@appspot.gserviceaccount.com?uid=123456789012345678901`. If the service account is undeleted, this value reverts to `serviceAccount:{emailid}` and the undeleted service account retains the role in the binding. * `deleted:group:{emailid}?uid={uniqueid}`: An email address (plus unique identifier) representing a Google group that has been recently deleted. For example, `admins@example.com?uid=123456789012345678901`. If the group is recovered, this value reverts to `group:{emailid}` and the recovered group retains the role in the binding. * `domain:{domain}`: The G Suite domain (primary) that represents all the users of that domain. For example, `google.com` or `example.com`. "A String", ], "role": "A String", # Role that is assigned to the list of `members`, or principals. For example, `roles/viewer`, `roles/editor`, or `roles/owner`. diff --git a/docs/dyn/composer_v1.projects.locations.environments.html b/docs/dyn/composer_v1.projects.locations.environments.html index 4d31080148d..98f4b01adb2 100644 --- a/docs/dyn/composer_v1.projects.locations.environments.html +++ b/docs/dyn/composer_v1.projects.locations.environments.html @@ -714,7 +714,7 @@

Method Details

"uuid": "A String", # Output only. The UUID (Universally Unique IDentifier) associated with this environment. This value is generated when the environment is created. } - updateMask: string, Required. A comma-separated list of paths, relative to `Environment`, of fields to update. For example, to set the version of scikit-learn to install in the environment to 0.19.0 and to remove an existing installation of numpy, the `updateMask` parameter would include the following two `paths` values: "config.softwareConfig.pypiPackages.scikit-learn" and "config.softwareConfig.pypiPackages.numpy". The included patch environment would specify the scikit-learn version as follows: { "config":{ "softwareConfig":{ "pypiPackages":{ "scikit-learn":"==0.19.0" } } } } Note that in the above example, any existing PyPI packages other than scikit-learn and numpy will be unaffected. Only one update type may be included in a single request's `updateMask`. For example, one cannot update both the PyPI packages and labels in the same request. However, it is possible to update multiple members of a map field simultaneously in the same request. For example, to set the labels "label1" and "label2" while clearing "label3" (assuming it already exists), one can provide the paths "labels.label1", "labels.label2", and "labels.label3" and populate the patch environment as follows: { "labels":{ "label1":"new-label1-value" "label2":"new-label2-value" } } Note that in the above example, any existing labels that are not included in the `updateMask` will be unaffected. It is also possible to replace an entire map field by providing the map field's path in the `updateMask`. The new value of the field will be that which is provided in the patch environment. For example, to delete all pre-existing user-specified PyPI packages and install botocore at version 1.7.14, the `updateMask` would contain the path "config.softwareConfig.pypiPackages", and the patch environment would be the following: { "config":{ "softwareConfig":{ "pypiPackages":{ "botocore":"==1.7.14" } } } } **Note:** Only the following fields can be updated: * `config.softwareConfig.pypiPackages` * Replace all custom custom PyPI packages. If a replacement package map is not included in `environment`, all custom PyPI packages are cleared. It is an error to provide both this mask and a mask specifying an individual package. * `config.softwareConfig.pypiPackages.`packagename * Update the custom PyPI package *packagename*, preserving other packages. To delete the package, include it in `updateMask`, and omit the mapping for it in `environment.config.softwareConfig.pypiPackages`. It is an error to provide both a mask of this form and the `config.softwareConfig.pypiPackages` mask. * `labels` * Replace all environment labels. If a replacement labels map is not included in `environment`, all labels are cleared. It is an error to provide both this mask and a mask specifying one or more individual labels. * `labels.`labelName * Set the label named *labelName*, while preserving other labels. To delete the label, include it in `updateMask` and omit its mapping in `environment.labels`. It is an error to provide both a mask of this form and the `labels` mask. * `config.nodeCount` * Horizontally scale the number of nodes in the environment. An integer greater than or equal to 3 must be provided in the `config.nodeCount` field. Supported for Cloud Composer environments in versions composer-1.*.*-airflow-*.*.*. * `config.webServerNetworkAccessControl` * Replace the environment's current `WebServerNetworkAccessControl`. * `config.softwareConfig.airflowConfigOverrides` * Replace all Apache Airflow config overrides. If a replacement config overrides map is not included in `environment`, all config overrides are cleared. It is an error to provide both this mask and a mask specifying one or more individual config overrides. * `config.softwareConfig.airflowConfigOverrides.`section-name * Override the Apache Airflow config property *name* in the section named *section*, preserving other properties. To delete the property override, include it in `updateMask` and omit its mapping in `environment.config.softwareConfig.airflowConfigOverrides`. It is an error to provide both a mask of this form and the `config.softwareConfig.airflowConfigOverrides` mask. * `config.softwareConfig.envVariables` * Replace all environment variables. If a replacement environment variable map is not included in `environment`, all custom environment variables are cleared. It is an error to provide both this mask and a mask specifying one or more individual environment variables. * `config.softwareConfig.schedulerCount` * Horizontally scale the number of schedulers in Airflow. A positive integer not greater than the number of nodes must be provided in the `config.softwareConfig.schedulerCount` field. Supported for Cloud Composer environments in versions composer-1.*.*-airflow-2.*.*. * `config.databaseConfig.machineType` * Cloud SQL machine type used by Airflow database. It has to be one of: db-n1-standard-2, db-n1-standard-4, db-n1-standard-8 or db-n1-standard-16. Supported for Cloud Composer environments in versions composer-1.*.*-airflow-*.*.*. * `config.webServerConfig.machineType` * Machine type on which Airflow web server is running. It has to be one of: composer-n1-webserver-2, composer-n1-webserver-4 or composer-n1-webserver-8. Supported for Cloud Composer environments in versions composer-1.*.*-airflow-*.*.*. + updateMask: string, Required. A comma-separated list of paths, relative to `Environment`, of fields to update. For example, to set the version of scikit-learn to install in the environment to 0.19.0 and to remove an existing installation of numpy, the `updateMask` parameter would include the following two `paths` values: "config.softwareConfig.pypiPackages.scikit-learn" and "config.softwareConfig.pypiPackages.numpy". The included patch environment would specify the scikit-learn version as follows: { "config":{ "softwareConfig":{ "pypiPackages":{ "scikit-learn":"==0.19.0" } } } } Note that in the above example, any existing PyPI packages other than scikit-learn and numpy will be unaffected. Only one update type may be included in a single request's `updateMask`. For example, one cannot update both the PyPI packages and labels in the same request. However, it is possible to update multiple members of a map field simultaneously in the same request. For example, to set the labels "label1" and "label2" while clearing "label3" (assuming it already exists), one can provide the paths "labels.label1", "labels.label2", and "labels.label3" and populate the patch environment as follows: { "labels":{ "label1":"new-label1-value" "label2":"new-label2-value" } } Note that in the above example, any existing labels that are not included in the `updateMask` will be unaffected. It is also possible to replace an entire map field by providing the map field's path in the `updateMask`. The new value of the field will be that which is provided in the patch environment. For example, to delete all pre-existing user-specified PyPI packages and install botocore at version 1.7.14, the `updateMask` would contain the path "config.softwareConfig.pypiPackages", and the patch environment would be the following: { "config":{ "softwareConfig":{ "pypiPackages":{ "botocore":"==1.7.14" } } } } **Note:** Only the following fields can be updated: * `config.softwareConfig.pypiPackages` * Replace all custom custom PyPI packages. If a replacement package map is not included in `environment`, all custom PyPI packages are cleared. It is an error to provide both this mask and a mask specifying an individual package. * `config.softwareConfig.pypiPackages.`packagename * Update the custom PyPI package *packagename*, preserving other packages. To delete the package, include it in `updateMask`, and omit the mapping for it in `environment.config.softwareConfig.pypiPackages`. It is an error to provide both a mask of this form and the `config.softwareConfig.pypiPackages` mask. * `labels` * Replace all environment labels. If a replacement labels map is not included in `environment`, all labels are cleared. It is an error to provide both this mask and a mask specifying one or more individual labels. * `labels.`labelName * Set the label named *labelName*, while preserving other labels. To delete the label, include it in `updateMask` and omit its mapping in `environment.labels`. It is an error to provide both a mask of this form and the `labels` mask. * `config.nodeCount` * Horizontally scale the number of nodes in the environment. An integer greater than or equal to 3 must be provided in the `config.nodeCount` field. Supported for Cloud Composer environments in versions composer-1.*.*-airflow-*.*.*. * `config.webServerNetworkAccessControl` * Replace the environment's current `WebServerNetworkAccessControl`. * `config.softwareConfig.airflowConfigOverrides` * Replace all Apache Airflow config overrides. If a replacement config overrides map is not included in `environment`, all config overrides are cleared. It is an error to provide both this mask and a mask specifying one or more individual config overrides. * `config.softwareConfig.airflowConfigOverrides.`section-name * Override the Apache Airflow config property *name* in the section named *section*, preserving other properties. To delete the property override, include it in `updateMask` and omit its mapping in `environment.config.softwareConfig.airflowConfigOverrides`. It is an error to provide both a mask of this form and the `config.softwareConfig.airflowConfigOverrides` mask. * `config.softwareConfig.envVariables` * Replace all environment variables. If a replacement environment variable map is not included in `environment`, all custom environment variables are cleared. * `config.softwareConfig.schedulerCount` * Horizontally scale the number of schedulers in Airflow. A positive integer not greater than the number of nodes must be provided in the `config.softwareConfig.schedulerCount` field. Supported for Cloud Composer environments in versions composer-1.*.*-airflow-2.*.*. * `config.databaseConfig.machineType` * Cloud SQL machine type used by Airflow database. It has to be one of: db-n1-standard-2, db-n1-standard-4, db-n1-standard-8 or db-n1-standard-16. Supported for Cloud Composer environments in versions composer-1.*.*-airflow-*.*.*. * `config.webServerConfig.machineType` * Machine type on which Airflow web server is running. It has to be one of: composer-n1-webserver-2, composer-n1-webserver-4 or composer-n1-webserver-8. Supported for Cloud Composer environments in versions composer-1.*.*-airflow-*.*.*. x__xgafv: string, V1 error format. Allowed values 1 - v1 error format diff --git a/docs/dyn/composer_v1beta1.projects.locations.environments.html b/docs/dyn/composer_v1beta1.projects.locations.environments.html index c24efce0e8a..eac2fb00891 100644 --- a/docs/dyn/composer_v1beta1.projects.locations.environments.html +++ b/docs/dyn/composer_v1beta1.projects.locations.environments.html @@ -815,7 +815,7 @@

Method Details

"uuid": "A String", # Output only. The UUID (Universally Unique IDentifier) associated with this environment. This value is generated when the environment is created. } - updateMask: string, Required. A comma-separated list of paths, relative to `Environment`, of fields to update. For example, to set the version of scikit-learn to install in the environment to 0.19.0 and to remove an existing installation of argparse, the `updateMask` parameter would include the following two `paths` values: "config.softwareConfig.pypiPackages.scikit-learn" and "config.softwareConfig.pypiPackages.argparse". The included patch environment would specify the scikit-learn version as follows: { "config":{ "softwareConfig":{ "pypiPackages":{ "scikit-learn":"==0.19.0" } } } } Note that in the above example, any existing PyPI packages other than scikit-learn and argparse will be unaffected. Only one update type may be included in a single request's `updateMask`. For example, one cannot update both the PyPI packages and labels in the same request. However, it is possible to update multiple members of a map field simultaneously in the same request. For example, to set the labels "label1" and "label2" while clearing "label3" (assuming it already exists), one can provide the paths "labels.label1", "labels.label2", and "labels.label3" and populate the patch environment as follows: { "labels":{ "label1":"new-label1-value" "label2":"new-label2-value" } } Note that in the above example, any existing labels that are not included in the `updateMask` will be unaffected. It is also possible to replace an entire map field by providing the map field's path in the `updateMask`. The new value of the field will be that which is provided in the patch environment. For example, to delete all pre-existing user-specified PyPI packages and install botocore at version 1.7.14, the `updateMask` would contain the path "config.softwareConfig.pypiPackages", and the patch environment would be the following: { "config":{ "softwareConfig":{ "pypiPackages":{ "botocore":"==1.7.14" } } } } **Note:** Only the following fields can be updated: * `config.softwareConfig.pypiPackages` * Replace all custom custom PyPI packages. If a replacement package map is not included in `environment`, all custom PyPI packages are cleared. It is an error to provide both this mask and a mask specifying an individual package. * `config.softwareConfig.pypiPackages.`packagename * Update the custom PyPI package *packagename*, preserving other packages. To delete the package, include it in `updateMask`, and omit the mapping for it in `environment.config.softwareConfig.pypiPackages`. It is an error to provide both a mask of this form and the `config.softwareConfig.pypiPackages` mask. * `labels` * Replace all environment labels. If a replacement labels map is not included in `environment`, all labels are cleared. It is an error to provide both this mask and a mask specifying one or more individual labels. * `labels.`labelName * Set the label named *labelName*, while preserving other labels. To delete the label, include it in `updateMask` and omit its mapping in `environment.labels`. It is an error to provide both a mask of this form and the `labels` mask. * `config.nodeCount` * Horizontally scale the number of nodes in the environment. An integer greater than or equal to 3 must be provided in the `config.nodeCount` field. Supported for Cloud Composer environments in versions composer-1.*.*-airflow-*.*.*. * `config.webServerNetworkAccessControl` * Replace the environment's current WebServerNetworkAccessControl. * `config.softwareConfig.airflowConfigOverrides` * Replace all Apache Airflow config overrides. If a replacement config overrides map is not included in `environment`, all config overrides are cleared. It is an error to provide both this mask and a mask specifying one or more individual config overrides. * `config.softwareConfig.airflowConfigOverrides.`section-name * Override the Apache Airflow config property *name* in the section named *section*, preserving other properties. To delete the property override, include it in `updateMask` and omit its mapping in `environment.config.softwareConfig.airflowConfigOverrides`. It is an error to provide both a mask of this form and the `config.softwareConfig.airflowConfigOverrides` mask. * `config.softwareConfig.envVariables` * Replace all environment variables. If a replacement environment variable map is not included in `environment`, all custom environment variables are cleared. It is an error to provide both this mask and a mask specifying one or more individual environment variables. * `config.softwareConfig.imageVersion` * Upgrade the version of the environment in-place. Refer to `SoftwareConfig.image_version` for information on how to format the new image version. Additionally, the new image version cannot effect a version downgrade, and must match the current image version's Composer and Airflow major versions. Consult the [Cloud Composer version list](/composer/docs/concepts/versioning/composer-versions) for valid values. * `config.softwareConfig.schedulerCount` * Horizontally scale the number of schedulers in Airflow. A positive integer not greater than the number of nodes must be provided in the `config.softwareConfig.schedulerCount` field. Supported for Cloud Composer environments in versions composer-1.*.*-airflow-2.*.*. * `config.softwareConfig.cloudDataLineageIntegration` * Configuration for Cloud Data Lineage integration. * `config.databaseConfig.machineType` * Cloud SQL machine type used by Airflow database. It has to be one of: db-n1-standard-2, db-n1-standard-4, db-n1-standard-8 or db-n1-standard-16. Supported for Cloud Composer environments in versions composer-1.*.*-airflow-*.*.*. * `config.webServerConfig.machineType` * Machine type on which Airflow web server is running. It has to be one of: composer-n1-webserver-2, composer-n1-webserver-4 or composer-n1-webserver-8. Supported for Cloud Composer environments in versions composer-1.*.*-airflow-*.*.*. * `config.maintenanceWindow` * Maintenance window during which Cloud Composer components may be under maintenance. * `config.workloadsConfig` * The workloads configuration settings for the GKE cluster associated with the Cloud Composer environment. Supported for Cloud Composer environments in versions composer-2.*.*-airflow-*.*.* and newer. * `config.environmentSize` * The size of the Cloud Composer environment. Supported for Cloud Composer environments in versions composer-2.*.*-airflow-*.*.* and newer. + updateMask: string, Required. A comma-separated list of paths, relative to `Environment`, of fields to update. For example, to set the version of scikit-learn to install in the environment to 0.19.0 and to remove an existing installation of argparse, the `updateMask` parameter would include the following two `paths` values: "config.softwareConfig.pypiPackages.scikit-learn" and "config.softwareConfig.pypiPackages.argparse". The included patch environment would specify the scikit-learn version as follows: { "config":{ "softwareConfig":{ "pypiPackages":{ "scikit-learn":"==0.19.0" } } } } Note that in the above example, any existing PyPI packages other than scikit-learn and argparse will be unaffected. Only one update type may be included in a single request's `updateMask`. For example, one cannot update both the PyPI packages and labels in the same request. However, it is possible to update multiple members of a map field simultaneously in the same request. For example, to set the labels "label1" and "label2" while clearing "label3" (assuming it already exists), one can provide the paths "labels.label1", "labels.label2", and "labels.label3" and populate the patch environment as follows: { "labels":{ "label1":"new-label1-value" "label2":"new-label2-value" } } Note that in the above example, any existing labels that are not included in the `updateMask` will be unaffected. It is also possible to replace an entire map field by providing the map field's path in the `updateMask`. The new value of the field will be that which is provided in the patch environment. For example, to delete all pre-existing user-specified PyPI packages and install botocore at version 1.7.14, the `updateMask` would contain the path "config.softwareConfig.pypiPackages", and the patch environment would be the following: { "config":{ "softwareConfig":{ "pypiPackages":{ "botocore":"==1.7.14" } } } } **Note:** Only the following fields can be updated: * `config.softwareConfig.pypiPackages` * Replace all custom custom PyPI packages. If a replacement package map is not included in `environment`, all custom PyPI packages are cleared. It is an error to provide both this mask and a mask specifying an individual package. * `config.softwareConfig.pypiPackages.`packagename * Update the custom PyPI package *packagename*, preserving other packages. To delete the package, include it in `updateMask`, and omit the mapping for it in `environment.config.softwareConfig.pypiPackages`. It is an error to provide both a mask of this form and the `config.softwareConfig.pypiPackages` mask. * `labels` * Replace all environment labels. If a replacement labels map is not included in `environment`, all labels are cleared. It is an error to provide both this mask and a mask specifying one or more individual labels. * `labels.`labelName * Set the label named *labelName*, while preserving other labels. To delete the label, include it in `updateMask` and omit its mapping in `environment.labels`. It is an error to provide both a mask of this form and the `labels` mask. * `config.nodeCount` * Horizontally scale the number of nodes in the environment. An integer greater than or equal to 3 must be provided in the `config.nodeCount` field. Supported for Cloud Composer environments in versions composer-1.*.*-airflow-*.*.*. * `config.webServerNetworkAccessControl` * Replace the environment's current WebServerNetworkAccessControl. * `config.softwareConfig.airflowConfigOverrides` * Replace all Apache Airflow config overrides. If a replacement config overrides map is not included in `environment`, all config overrides are cleared. It is an error to provide both this mask and a mask specifying one or more individual config overrides. * `config.softwareConfig.airflowConfigOverrides.`section-name * Override the Apache Airflow config property *name* in the section named *section*, preserving other properties. To delete the property override, include it in `updateMask` and omit its mapping in `environment.config.softwareConfig.airflowConfigOverrides`. It is an error to provide both a mask of this form and the `config.softwareConfig.airflowConfigOverrides` mask. * `config.softwareConfig.envVariables` * Replace all environment variables. If a replacement environment variable map is not included in `environment`, all custom environment variables are cleared. * `config.softwareConfig.imageVersion` * Upgrade the version of the environment in-place. Refer to `SoftwareConfig.image_version` for information on how to format the new image version. Additionally, the new image version cannot effect a version downgrade, and must match the current image version's Composer and Airflow major versions. Consult the [Cloud Composer version list](/composer/docs/concepts/versioning/composer-versions) for valid values. * `config.softwareConfig.schedulerCount` * Horizontally scale the number of schedulers in Airflow. A positive integer not greater than the number of nodes must be provided in the `config.softwareConfig.schedulerCount` field. Supported for Cloud Composer environments in versions composer-1.*.*-airflow-2.*.*. * `config.softwareConfig.cloudDataLineageIntegration` * Configuration for Cloud Data Lineage integration. * `config.databaseConfig.machineType` * Cloud SQL machine type used by Airflow database. It has to be one of: db-n1-standard-2, db-n1-standard-4, db-n1-standard-8 or db-n1-standard-16. Supported for Cloud Composer environments in versions composer-1.*.*-airflow-*.*.*. * `config.webServerConfig.machineType` * Machine type on which Airflow web server is running. It has to be one of: composer-n1-webserver-2, composer-n1-webserver-4 or composer-n1-webserver-8. Supported for Cloud Composer environments in versions composer-1.*.*-airflow-*.*.*. * `config.maintenanceWindow` * Maintenance window during which Cloud Composer components may be under maintenance. * `config.workloadsConfig` * The workloads configuration settings for the GKE cluster associated with the Cloud Composer environment. Supported for Cloud Composer environments in versions composer-2.*.*-airflow-*.*.* and newer. * `config.environmentSize` * The size of the Cloud Composer environment. Supported for Cloud Composer environments in versions composer-2.*.*-airflow-*.*.* and newer. x__xgafv: string, V1 error format. Allowed values 1 - v1 error format diff --git a/docs/dyn/compute_alpha.firewallPolicies.html b/docs/dyn/compute_alpha.firewallPolicies.html index d05296ab1da..d0a7cb6a0fb 100644 --- a/docs/dyn/compute_alpha.firewallPolicies.html +++ b/docs/dyn/compute_alpha.firewallPolicies.html @@ -309,7 +309,7 @@

Method Details

"priority": 42, # An integer indicating the priority of a rule in the list. The priority must be a positive value between 0 and 2147483647. Rules are evaluated from highest to lowest priority where 0 is the highest priority and 2147483647 is the lowest prority. "ruleName": "A String", # An optional name for the rule. This field is not a unique identifier and can be updated. "ruleTupleCount": 42, # [Output Only] Calculation of the complexity of a single firewall policy rule. - "securityProfileGroup": "A String", # A fully-qualified URL of a SecurityProfile resource instance. Example: https://networksecurity.googleapis.com/v1/projects/{project}/locations/{location}/securityProfileGroups/my-security-profile-group Must be specified if action = 'apply_profile_group' and cannot be specified for other actions. + "securityProfileGroup": "A String", # A fully-qualified URL of a SecurityProfile resource instance. Example: https://networksecurity.googleapis.com/v1/projects/{project}/locations/{location}/securityProfileGroups/my-security-profile-group Must be specified if action = 'apply_security_profile_group' and cannot be specified for other actions. "targetResources": [ # A list of network resource URLs to which this rule applies. This field allows you to control which network's VMs get this rule. If this field is left blank, all VMs within the organization will receive the rule. "A String", ], @@ -706,7 +706,7 @@

Method Details

"priority": 42, # An integer indicating the priority of a rule in the list. The priority must be a positive value between 0 and 2147483647. Rules are evaluated from highest to lowest priority where 0 is the highest priority and 2147483647 is the lowest prority. "ruleName": "A String", # An optional name for the rule. This field is not a unique identifier and can be updated. "ruleTupleCount": 42, # [Output Only] Calculation of the complexity of a single firewall policy rule. - "securityProfileGroup": "A String", # A fully-qualified URL of a SecurityProfile resource instance. Example: https://networksecurity.googleapis.com/v1/projects/{project}/locations/{location}/securityProfileGroups/my-security-profile-group Must be specified if action = 'apply_profile_group' and cannot be specified for other actions. + "securityProfileGroup": "A String", # A fully-qualified URL of a SecurityProfile resource instance. Example: https://networksecurity.googleapis.com/v1/projects/{project}/locations/{location}/securityProfileGroups/my-security-profile-group Must be specified if action = 'apply_security_profile_group' and cannot be specified for other actions. "targetResources": [ # A list of network resource URLs to which this rule applies. This field allows you to control which network's VMs get this rule. If this field is left blank, all VMs within the organization will receive the rule. "A String", ], @@ -925,7 +925,7 @@

Method Details

"priority": 42, # An integer indicating the priority of a rule in the list. The priority must be a positive value between 0 and 2147483647. Rules are evaluated from highest to lowest priority where 0 is the highest priority and 2147483647 is the lowest prority. "ruleName": "A String", # An optional name for the rule. This field is not a unique identifier and can be updated. "ruleTupleCount": 42, # [Output Only] Calculation of the complexity of a single firewall policy rule. - "securityProfileGroup": "A String", # A fully-qualified URL of a SecurityProfile resource instance. Example: https://networksecurity.googleapis.com/v1/projects/{project}/locations/{location}/securityProfileGroups/my-security-profile-group Must be specified if action = 'apply_profile_group' and cannot be specified for other actions. + "securityProfileGroup": "A String", # A fully-qualified URL of a SecurityProfile resource instance. Example: https://networksecurity.googleapis.com/v1/projects/{project}/locations/{location}/securityProfileGroups/my-security-profile-group Must be specified if action = 'apply_security_profile_group' and cannot be specified for other actions. "targetResources": [ # A list of network resource URLs to which this rule applies. This field allows you to control which network's VMs get this rule. If this field is left blank, all VMs within the organization will receive the rule. "A String", ], @@ -1026,7 +1026,7 @@

Method Details

"priority": 42, # An integer indicating the priority of a rule in the list. The priority must be a positive value between 0 and 2147483647. Rules are evaluated from highest to lowest priority where 0 is the highest priority and 2147483647 is the lowest prority. "ruleName": "A String", # An optional name for the rule. This field is not a unique identifier and can be updated. "ruleTupleCount": 42, # [Output Only] Calculation of the complexity of a single firewall policy rule. - "securityProfileGroup": "A String", # A fully-qualified URL of a SecurityProfile resource instance. Example: https://networksecurity.googleapis.com/v1/projects/{project}/locations/{location}/securityProfileGroups/my-security-profile-group Must be specified if action = 'apply_profile_group' and cannot be specified for other actions. + "securityProfileGroup": "A String", # A fully-qualified URL of a SecurityProfile resource instance. Example: https://networksecurity.googleapis.com/v1/projects/{project}/locations/{location}/securityProfileGroups/my-security-profile-group Must be specified if action = 'apply_security_profile_group' and cannot be specified for other actions. "targetResources": [ # A list of network resource URLs to which this rule applies. This field allows you to control which network's VMs get this rule. If this field is left blank, all VMs within the organization will receive the rule. "A String", ], @@ -1238,7 +1238,7 @@

Method Details

"priority": 42, # An integer indicating the priority of a rule in the list. The priority must be a positive value between 0 and 2147483647. Rules are evaluated from highest to lowest priority where 0 is the highest priority and 2147483647 is the lowest prority. "ruleName": "A String", # An optional name for the rule. This field is not a unique identifier and can be updated. "ruleTupleCount": 42, # [Output Only] Calculation of the complexity of a single firewall policy rule. - "securityProfileGroup": "A String", # A fully-qualified URL of a SecurityProfile resource instance. Example: https://networksecurity.googleapis.com/v1/projects/{project}/locations/{location}/securityProfileGroups/my-security-profile-group Must be specified if action = 'apply_profile_group' and cannot be specified for other actions. + "securityProfileGroup": "A String", # A fully-qualified URL of a SecurityProfile resource instance. Example: https://networksecurity.googleapis.com/v1/projects/{project}/locations/{location}/securityProfileGroups/my-security-profile-group Must be specified if action = 'apply_security_profile_group' and cannot be specified for other actions. "targetResources": [ # A list of network resource URLs to which this rule applies. This field allows you to control which network's VMs get this rule. If this field is left blank, all VMs within the organization will receive the rule. "A String", ], @@ -1500,7 +1500,7 @@

Method Details

"priority": 42, # An integer indicating the priority of a rule in the list. The priority must be a positive value between 0 and 2147483647. Rules are evaluated from highest to lowest priority where 0 is the highest priority and 2147483647 is the lowest prority. "ruleName": "A String", # An optional name for the rule. This field is not a unique identifier and can be updated. "ruleTupleCount": 42, # [Output Only] Calculation of the complexity of a single firewall policy rule. - "securityProfileGroup": "A String", # A fully-qualified URL of a SecurityProfile resource instance. Example: https://networksecurity.googleapis.com/v1/projects/{project}/locations/{location}/securityProfileGroups/my-security-profile-group Must be specified if action = 'apply_profile_group' and cannot be specified for other actions. + "securityProfileGroup": "A String", # A fully-qualified URL of a SecurityProfile resource instance. Example: https://networksecurity.googleapis.com/v1/projects/{project}/locations/{location}/securityProfileGroups/my-security-profile-group Must be specified if action = 'apply_security_profile_group' and cannot be specified for other actions. "targetResources": [ # A list of network resource URLs to which this rule applies. This field allows you to control which network's VMs get this rule. If this field is left blank, all VMs within the organization will receive the rule. "A String", ], @@ -1677,7 +1677,7 @@

Method Details

"priority": 42, # An integer indicating the priority of a rule in the list. The priority must be a positive value between 0 and 2147483647. Rules are evaluated from highest to lowest priority where 0 is the highest priority and 2147483647 is the lowest prority. "ruleName": "A String", # An optional name for the rule. This field is not a unique identifier and can be updated. "ruleTupleCount": 42, # [Output Only] Calculation of the complexity of a single firewall policy rule. - "securityProfileGroup": "A String", # A fully-qualified URL of a SecurityProfile resource instance. Example: https://networksecurity.googleapis.com/v1/projects/{project}/locations/{location}/securityProfileGroups/my-security-profile-group Must be specified if action = 'apply_profile_group' and cannot be specified for other actions. + "securityProfileGroup": "A String", # A fully-qualified URL of a SecurityProfile resource instance. Example: https://networksecurity.googleapis.com/v1/projects/{project}/locations/{location}/securityProfileGroups/my-security-profile-group Must be specified if action = 'apply_security_profile_group' and cannot be specified for other actions. "targetResources": [ # A list of network resource URLs to which this rule applies. This field allows you to control which network's VMs get this rule. If this field is left blank, all VMs within the organization will receive the rule. "A String", ], diff --git a/docs/dyn/compute_alpha.futureReservations.html b/docs/dyn/compute_alpha.futureReservations.html index 562a06a3b05..f914e0efdda 100644 --- a/docs/dyn/compute_alpha.futureReservations.html +++ b/docs/dyn/compute_alpha.futureReservations.html @@ -138,6 +138,7 @@

Method Details

"kind": "compute#futureReservation", # [Output Only] Type of the resource. Always compute#futureReservation for future reservations. "name": "A String", # The name of the resource, provided by the client when initially creating the resource. The resource name must be 1-63 characters long, and comply with RFC1035. Specifically, the name must be 1-63 characters long and match the regular expression `[a-z]([-a-z0-9]*[a-z0-9])?` which means the first character must be a lowercase letter, and all following characters must be a dash, lowercase letter, or digit, except the last character, which cannot be a dash. "namePrefix": "A String", # Name prefix for the reservations to be created at the time of delivery. The name prefix must comply with RFC1035. Maximum allowed length for name prefix is 20. Automatically created reservations name format will be -date-####. + "planningStatus": "A String", # Planning state before being submitted for evaluation "selfLink": "A String", # [Output Only] Server-defined fully-qualified URL for this resource. "selfLinkWithId": "A String", # [Output Only] Server-defined URL for this resource with the resource id. "shareSettings": { # The share setting for reservations and sole tenancy node groups. # List of Projects/Folders to share with. @@ -176,6 +177,7 @@

Method Details

"maintenanceInterval": "A String", # For more information about maintenance intervals, see Setting maintenance intervals. "minCpuPlatform": "A String", # Minimum cpu platform the reservation. }, + "sourceInstanceTemplate": "A String", # The instance template that will be used to populate the ReservedInstanceProperties of the future reservation "totalCount": "A String", # Total number of instances for which capacity assurance is requested at a future time period. }, "status": { # [Output only] Represents status related to the future reservation. # [Output only] Status of the Future Reservation @@ -185,6 +187,9 @@

Method Details

"fulfilledCount": "A String", # This count indicates the fulfilled capacity so far. This is set during "PROVISIONING" state. This count also includes capacity delivered as part of existing matching reservations. "lockTime": "A String", # Time when Future Reservation would become LOCKED, after which no modifications to Future Reservation will be allowed. Applicable only after the Future Reservation is in the APPROVED state. The lock_time is an RFC3339 string. The procurement_status will transition to PROCURING state at this time. "procurementStatus": "A String", # Current state of this Future Reservation + "specificSkuProperties": { # Properties to be set for the Future Reservation. + "sourceInstanceTemplateId": "A String", # ID of the instance template used to populate the Future Reservation properties. + }, }, "timeWindow": { # Time window for this Future Reservation. "duration": { # A Duration represents a fixed-length span of time represented as a count of seconds and fractions of seconds at nanosecond resolution. It is independent of any calendar and concepts like "day" or "month". Range is approximately 10,000 years. @@ -468,6 +473,7 @@

Method Details

"kind": "compute#futureReservation", # [Output Only] Type of the resource. Always compute#futureReservation for future reservations. "name": "A String", # The name of the resource, provided by the client when initially creating the resource. The resource name must be 1-63 characters long, and comply with RFC1035. Specifically, the name must be 1-63 characters long and match the regular expression `[a-z]([-a-z0-9]*[a-z0-9])?` which means the first character must be a lowercase letter, and all following characters must be a dash, lowercase letter, or digit, except the last character, which cannot be a dash. "namePrefix": "A String", # Name prefix for the reservations to be created at the time of delivery. The name prefix must comply with RFC1035. Maximum allowed length for name prefix is 20. Automatically created reservations name format will be -date-####. + "planningStatus": "A String", # Planning state before being submitted for evaluation "selfLink": "A String", # [Output Only] Server-defined fully-qualified URL for this resource. "selfLinkWithId": "A String", # [Output Only] Server-defined URL for this resource with the resource id. "shareSettings": { # The share setting for reservations and sole tenancy node groups. # List of Projects/Folders to share with. @@ -506,6 +512,7 @@

Method Details

"maintenanceInterval": "A String", # For more information about maintenance intervals, see Setting maintenance intervals. "minCpuPlatform": "A String", # Minimum cpu platform the reservation. }, + "sourceInstanceTemplate": "A String", # The instance template that will be used to populate the ReservedInstanceProperties of the future reservation "totalCount": "A String", # Total number of instances for which capacity assurance is requested at a future time period. }, "status": { # [Output only] Represents status related to the future reservation. # [Output only] Status of the Future Reservation @@ -515,6 +522,9 @@

Method Details

"fulfilledCount": "A String", # This count indicates the fulfilled capacity so far. This is set during "PROVISIONING" state. This count also includes capacity delivered as part of existing matching reservations. "lockTime": "A String", # Time when Future Reservation would become LOCKED, after which no modifications to Future Reservation will be allowed. Applicable only after the Future Reservation is in the APPROVED state. The lock_time is an RFC3339 string. The procurement_status will transition to PROCURING state at this time. "procurementStatus": "A String", # Current state of this Future Reservation + "specificSkuProperties": { # Properties to be set for the Future Reservation. + "sourceInstanceTemplateId": "A String", # ID of the instance template used to populate the Future Reservation properties. + }, }, "timeWindow": { # Time window for this Future Reservation. "duration": { # A Duration represents a fixed-length span of time represented as a count of seconds and fractions of seconds at nanosecond resolution. It is independent of any calendar and concepts like "day" or "month". Range is approximately 10,000 years. @@ -545,6 +555,7 @@

Method Details

"kind": "compute#futureReservation", # [Output Only] Type of the resource. Always compute#futureReservation for future reservations. "name": "A String", # The name of the resource, provided by the client when initially creating the resource. The resource name must be 1-63 characters long, and comply with RFC1035. Specifically, the name must be 1-63 characters long and match the regular expression `[a-z]([-a-z0-9]*[a-z0-9])?` which means the first character must be a lowercase letter, and all following characters must be a dash, lowercase letter, or digit, except the last character, which cannot be a dash. "namePrefix": "A String", # Name prefix for the reservations to be created at the time of delivery. The name prefix must comply with RFC1035. Maximum allowed length for name prefix is 20. Automatically created reservations name format will be -date-####. + "planningStatus": "A String", # Planning state before being submitted for evaluation "selfLink": "A String", # [Output Only] Server-defined fully-qualified URL for this resource. "selfLinkWithId": "A String", # [Output Only] Server-defined URL for this resource with the resource id. "shareSettings": { # The share setting for reservations and sole tenancy node groups. # List of Projects/Folders to share with. @@ -583,6 +594,7 @@

Method Details

"maintenanceInterval": "A String", # For more information about maintenance intervals, see Setting maintenance intervals. "minCpuPlatform": "A String", # Minimum cpu platform the reservation. }, + "sourceInstanceTemplate": "A String", # The instance template that will be used to populate the ReservedInstanceProperties of the future reservation "totalCount": "A String", # Total number of instances for which capacity assurance is requested at a future time period. }, "status": { # [Output only] Represents status related to the future reservation. # [Output only] Status of the Future Reservation @@ -592,6 +604,9 @@

Method Details

"fulfilledCount": "A String", # This count indicates the fulfilled capacity so far. This is set during "PROVISIONING" state. This count also includes capacity delivered as part of existing matching reservations. "lockTime": "A String", # Time when Future Reservation would become LOCKED, after which no modifications to Future Reservation will be allowed. Applicable only after the Future Reservation is in the APPROVED state. The lock_time is an RFC3339 string. The procurement_status will transition to PROCURING state at this time. "procurementStatus": "A String", # Current state of this Future Reservation + "specificSkuProperties": { # Properties to be set for the Future Reservation. + "sourceInstanceTemplateId": "A String", # ID of the instance template used to populate the Future Reservation properties. + }, }, "timeWindow": { # Time window for this Future Reservation. "duration": { # A Duration represents a fixed-length span of time represented as a count of seconds and fractions of seconds at nanosecond resolution. It is independent of any calendar and concepts like "day" or "month". Range is approximately 10,000 years. @@ -726,6 +741,7 @@

Method Details

"kind": "compute#futureReservation", # [Output Only] Type of the resource. Always compute#futureReservation for future reservations. "name": "A String", # The name of the resource, provided by the client when initially creating the resource. The resource name must be 1-63 characters long, and comply with RFC1035. Specifically, the name must be 1-63 characters long and match the regular expression `[a-z]([-a-z0-9]*[a-z0-9])?` which means the first character must be a lowercase letter, and all following characters must be a dash, lowercase letter, or digit, except the last character, which cannot be a dash. "namePrefix": "A String", # Name prefix for the reservations to be created at the time of delivery. The name prefix must comply with RFC1035. Maximum allowed length for name prefix is 20. Automatically created reservations name format will be -date-####. + "planningStatus": "A String", # Planning state before being submitted for evaluation "selfLink": "A String", # [Output Only] Server-defined fully-qualified URL for this resource. "selfLinkWithId": "A String", # [Output Only] Server-defined URL for this resource with the resource id. "shareSettings": { # The share setting for reservations and sole tenancy node groups. # List of Projects/Folders to share with. @@ -764,6 +780,7 @@

Method Details

"maintenanceInterval": "A String", # For more information about maintenance intervals, see Setting maintenance intervals. "minCpuPlatform": "A String", # Minimum cpu platform the reservation. }, + "sourceInstanceTemplate": "A String", # The instance template that will be used to populate the ReservedInstanceProperties of the future reservation "totalCount": "A String", # Total number of instances for which capacity assurance is requested at a future time period. }, "status": { # [Output only] Represents status related to the future reservation. # [Output only] Status of the Future Reservation @@ -773,6 +790,9 @@

Method Details

"fulfilledCount": "A String", # This count indicates the fulfilled capacity so far. This is set during "PROVISIONING" state. This count also includes capacity delivered as part of existing matching reservations. "lockTime": "A String", # Time when Future Reservation would become LOCKED, after which no modifications to Future Reservation will be allowed. Applicable only after the Future Reservation is in the APPROVED state. The lock_time is an RFC3339 string. The procurement_status will transition to PROCURING state at this time. "procurementStatus": "A String", # Current state of this Future Reservation + "specificSkuProperties": { # Properties to be set for the Future Reservation. + "sourceInstanceTemplateId": "A String", # ID of the instance template used to populate the Future Reservation properties. + }, }, "timeWindow": { # Time window for this Future Reservation. "duration": { # A Duration represents a fixed-length span of time represented as a count of seconds and fractions of seconds at nanosecond resolution. It is independent of any calendar and concepts like "day" or "month". Range is approximately 10,000 years. @@ -836,6 +856,7 @@

Method Details

"kind": "compute#futureReservation", # [Output Only] Type of the resource. Always compute#futureReservation for future reservations. "name": "A String", # The name of the resource, provided by the client when initially creating the resource. The resource name must be 1-63 characters long, and comply with RFC1035. Specifically, the name must be 1-63 characters long and match the regular expression `[a-z]([-a-z0-9]*[a-z0-9])?` which means the first character must be a lowercase letter, and all following characters must be a dash, lowercase letter, or digit, except the last character, which cannot be a dash. "namePrefix": "A String", # Name prefix for the reservations to be created at the time of delivery. The name prefix must comply with RFC1035. Maximum allowed length for name prefix is 20. Automatically created reservations name format will be -date-####. + "planningStatus": "A String", # Planning state before being submitted for evaluation "selfLink": "A String", # [Output Only] Server-defined fully-qualified URL for this resource. "selfLinkWithId": "A String", # [Output Only] Server-defined URL for this resource with the resource id. "shareSettings": { # The share setting for reservations and sole tenancy node groups. # List of Projects/Folders to share with. @@ -874,6 +895,7 @@

Method Details

"maintenanceInterval": "A String", # For more information about maintenance intervals, see Setting maintenance intervals. "minCpuPlatform": "A String", # Minimum cpu platform the reservation. }, + "sourceInstanceTemplate": "A String", # The instance template that will be used to populate the ReservedInstanceProperties of the future reservation "totalCount": "A String", # Total number of instances for which capacity assurance is requested at a future time period. }, "status": { # [Output only] Represents status related to the future reservation. # [Output only] Status of the Future Reservation @@ -883,6 +905,9 @@

Method Details

"fulfilledCount": "A String", # This count indicates the fulfilled capacity so far. This is set during "PROVISIONING" state. This count also includes capacity delivered as part of existing matching reservations. "lockTime": "A String", # Time when Future Reservation would become LOCKED, after which no modifications to Future Reservation will be allowed. Applicable only after the Future Reservation is in the APPROVED state. The lock_time is an RFC3339 string. The procurement_status will transition to PROCURING state at this time. "procurementStatus": "A String", # Current state of this Future Reservation + "specificSkuProperties": { # Properties to be set for the Future Reservation. + "sourceInstanceTemplateId": "A String", # ID of the instance template used to populate the Future Reservation properties. + }, }, "timeWindow": { # Time window for this Future Reservation. "duration": { # A Duration represents a fixed-length span of time represented as a count of seconds and fractions of seconds at nanosecond resolution. It is independent of any calendar and concepts like "day" or "month". Range is approximately 10,000 years. diff --git a/docs/dyn/compute_alpha.instanceTemplates.html b/docs/dyn/compute_alpha.instanceTemplates.html index d9645381a57..93576ac62c8 100644 --- a/docs/dyn/compute_alpha.instanceTemplates.html +++ b/docs/dyn/compute_alpha.instanceTemplates.html @@ -455,7 +455,7 @@

Method Details

"resourcePolicies": [ # Resource policies (names, not URLs) applied to instances created from these properties. Note that for MachineImage, this is not supported yet. "A String", ], - "scheduling": { # Sets the scheduling options for an Instance. NextID: 21 # Specifies the scheduling options for the instances that are created from these properties. + "scheduling": { # Sets the scheduling options for an Instance. # Specifies the scheduling options for the instances that are created from these properties. "automaticRestart": True or False, # Specifies whether the instance should be automatically restarted if it is terminated by Compute Engine (not terminated by a user). You can only set the automatic restart option for standard instances. Preemptible instances cannot be automatically restarted. By default, this is set to true so an instance is automatically restarted if it is terminated by Compute Engine. "availabilityDomain": 42, # Specifies the availability domain (AD), which this instance should be scheduled on. The AD belongs to the spread GroupPlacementPolicy resource policy that has been assigned to the instance. Specify a value between 1-max count of availability domains in your GroupPlacementPolicy. See go/placement-policy-extension for more details. "currentCpus": 42, # Current number of vCPUs available for VM. 0 or unset means default vCPUs of the current machine type. @@ -877,7 +877,7 @@

Method Details

"resourcePolicies": [ # Resource policies (names, not URLs) applied to instances created from these properties. Note that for MachineImage, this is not supported yet. "A String", ], - "scheduling": { # Sets the scheduling options for an Instance. NextID: 21 # Specifies the scheduling options for the instances that are created from these properties. + "scheduling": { # Sets the scheduling options for an Instance. # Specifies the scheduling options for the instances that are created from these properties. "automaticRestart": True or False, # Specifies whether the instance should be automatically restarted if it is terminated by Compute Engine (not terminated by a user). You can only set the automatic restart option for standard instances. Preemptible instances cannot be automatically restarted. By default, this is set to true so an instance is automatically restarted if it is terminated by Compute Engine. "availabilityDomain": 42, # Specifies the availability domain (AD), which this instance should be scheduled on. The AD belongs to the spread GroupPlacementPolicy resource policy that has been assigned to the instance. Specify a value between 1-max count of availability domains in your GroupPlacementPolicy. See go/placement-policy-extension for more details. "currentCpus": 42, # Current number of vCPUs available for VM. 0 or unset means default vCPUs of the current machine type. @@ -1299,7 +1299,7 @@

Method Details

"resourcePolicies": [ # Resource policies (names, not URLs) applied to instances created from these properties. Note that for MachineImage, this is not supported yet. "A String", ], - "scheduling": { # Sets the scheduling options for an Instance. NextID: 21 # Specifies the scheduling options for the instances that are created from these properties. + "scheduling": { # Sets the scheduling options for an Instance. # Specifies the scheduling options for the instances that are created from these properties. "automaticRestart": True or False, # Specifies whether the instance should be automatically restarted if it is terminated by Compute Engine (not terminated by a user). You can only set the automatic restart option for standard instances. Preemptible instances cannot be automatically restarted. By default, this is set to true so an instance is automatically restarted if it is terminated by Compute Engine. "availabilityDomain": 42, # Specifies the availability domain (AD), which this instance should be scheduled on. The AD belongs to the spread GroupPlacementPolicy resource policy that has been assigned to the instance. Specify a value between 1-max count of availability domains in your GroupPlacementPolicy. See go/placement-policy-extension for more details. "currentCpus": 42, # Current number of vCPUs available for VM. 0 or unset means default vCPUs of the current machine type. diff --git a/docs/dyn/compute_alpha.instances.html b/docs/dyn/compute_alpha.instances.html index 59d4587abb1..1a78448e6c5 100644 --- a/docs/dyn/compute_alpha.instances.html +++ b/docs/dyn/compute_alpha.instances.html @@ -750,7 +750,7 @@

Method Details

}, }, "satisfiesPzs": True or False, # [Output Only] Reserved for future use. - "scheduling": { # Sets the scheduling options for an Instance. NextID: 21 # Sets the scheduling options for this instance. + "scheduling": { # Sets the scheduling options for an Instance. # Sets the scheduling options for this instance. "automaticRestart": True or False, # Specifies whether the instance should be automatically restarted if it is terminated by Compute Engine (not terminated by a user). You can only set the automatic restart option for standard instances. Preemptible instances cannot be automatically restarted. By default, this is set to true so an instance is automatically restarted if it is terminated by Compute Engine. "availabilityDomain": 42, # Specifies the availability domain (AD), which this instance should be scheduled on. The AD belongs to the spread GroupPlacementPolicy resource policy that has been assigned to the instance. Specify a value between 1-max count of availability domains in your GroupPlacementPolicy. See go/placement-policy-extension for more details. "currentCpus": 42, # Current number of vCPUs available for VM. 0 or unset means default vCPUs of the current machine type. @@ -1372,7 +1372,7 @@

Method Details

}, }, "satisfiesPzs": True or False, # [Output Only] Reserved for future use. - "scheduling": { # Sets the scheduling options for an Instance. NextID: 21 # Sets the scheduling options for this instance. + "scheduling": { # Sets the scheduling options for an Instance. # Sets the scheduling options for this instance. "automaticRestart": True or False, # Specifies whether the instance should be automatically restarted if it is terminated by Compute Engine (not terminated by a user). You can only set the automatic restart option for standard instances. Preemptible instances cannot be automatically restarted. By default, this is set to true so an instance is automatically restarted if it is terminated by Compute Engine. "availabilityDomain": 42, # Specifies the availability domain (AD), which this instance should be scheduled on. The AD belongs to the spread GroupPlacementPolicy resource policy that has been assigned to the instance. Specify a value between 1-max count of availability domains in your GroupPlacementPolicy. See go/placement-policy-extension for more details. "currentCpus": 42, # Current number of vCPUs available for VM. 0 or unset means default vCPUs of the current machine type. @@ -1689,7 +1689,7 @@

Method Details

"resourcePolicies": [ # Resource policies (names, not URLs) applied to instances created from these properties. Note that for MachineImage, this is not supported yet. "A String", ], - "scheduling": { # Sets the scheduling options for an Instance. NextID: 21 # Specifies the scheduling options for the instances that are created from these properties. + "scheduling": { # Sets the scheduling options for an Instance. # Specifies the scheduling options for the instances that are created from these properties. "automaticRestart": True or False, # Specifies whether the instance should be automatically restarted if it is terminated by Compute Engine (not terminated by a user). You can only set the automatic restart option for standard instances. Preemptible instances cannot be automatically restarted. By default, this is set to true so an instance is automatically restarted if it is terminated by Compute Engine. "availabilityDomain": 42, # Specifies the availability domain (AD), which this instance should be scheduled on. The AD belongs to the spread GroupPlacementPolicy resource policy that has been assigned to the instance. Specify a value between 1-max count of availability domains in your GroupPlacementPolicy. See go/placement-policy-extension for more details. "currentCpus": 42, # Current number of vCPUs available for VM. 0 or unset means default vCPUs of the current machine type. @@ -2443,7 +2443,7 @@

Method Details

}, }, "satisfiesPzs": True or False, # [Output Only] Reserved for future use. - "scheduling": { # Sets the scheduling options for an Instance. NextID: 21 # Sets the scheduling options for this instance. + "scheduling": { # Sets the scheduling options for an Instance. # Sets the scheduling options for this instance. "automaticRestart": True or False, # Specifies whether the instance should be automatically restarted if it is terminated by Compute Engine (not terminated by a user). You can only set the automatic restart option for standard instances. Preemptible instances cannot be automatically restarted. By default, this is set to true so an instance is automatically restarted if it is terminated by Compute Engine. "availabilityDomain": 42, # Specifies the availability domain (AD), which this instance should be scheduled on. The AD belongs to the spread GroupPlacementPolicy resource policy that has been assigned to the instance. Specify a value between 1-max count of availability domains in your GroupPlacementPolicy. See go/placement-policy-extension for more details. "currentCpus": 42, # Current number of vCPUs available for VM. 0 or unset means default vCPUs of the current machine type. @@ -2612,7 +2612,7 @@

Method Details

"priority": 42, # An integer indicating the priority of a rule in the list. The priority must be a positive value between 0 and 2147483647. Rules are evaluated from highest to lowest priority where 0 is the highest priority and 2147483647 is the lowest prority. "ruleName": "A String", # An optional name for the rule. This field is not a unique identifier and can be updated. "ruleTupleCount": 42, # [Output Only] Calculation of the complexity of a single firewall policy rule. - "securityProfileGroup": "A String", # A fully-qualified URL of a SecurityProfile resource instance. Example: https://networksecurity.googleapis.com/v1/projects/{project}/locations/{location}/securityProfileGroups/my-security-profile-group Must be specified if action = 'apply_profile_group' and cannot be specified for other actions. + "securityProfileGroup": "A String", # A fully-qualified URL of a SecurityProfile resource instance. Example: https://networksecurity.googleapis.com/v1/projects/{project}/locations/{location}/securityProfileGroups/my-security-profile-group Must be specified if action = 'apply_security_profile_group' and cannot be specified for other actions. "targetResources": [ # A list of network resource URLs to which this rule applies. This field allows you to control which network's VMs get this rule. If this field is left blank, all VMs within the organization will receive the rule. "A String", ], @@ -3310,7 +3310,7 @@

Method Details

}, }, "satisfiesPzs": True or False, # [Output Only] Reserved for future use. - "scheduling": { # Sets the scheduling options for an Instance. NextID: 21 # Sets the scheduling options for this instance. + "scheduling": { # Sets the scheduling options for an Instance. # Sets the scheduling options for this instance. "automaticRestart": True or False, # Specifies whether the instance should be automatically restarted if it is terminated by Compute Engine (not terminated by a user). You can only set the automatic restart option for standard instances. Preemptible instances cannot be automatically restarted. By default, this is set to true so an instance is automatically restarted if it is terminated by Compute Engine. "availabilityDomain": 42, # Specifies the availability domain (AD), which this instance should be scheduled on. The AD belongs to the spread GroupPlacementPolicy resource policy that has been assigned to the instance. Specify a value between 1-max count of availability domains in your GroupPlacementPolicy. See go/placement-policy-extension for more details. "currentCpus": 42, # Current number of vCPUs available for VM. 0 or unset means default vCPUs of the current machine type. @@ -3778,7 +3778,7 @@

Method Details

}, }, "satisfiesPzs": True or False, # [Output Only] Reserved for future use. - "scheduling": { # Sets the scheduling options for an Instance. NextID: 21 # Sets the scheduling options for this instance. + "scheduling": { # Sets the scheduling options for an Instance. # Sets the scheduling options for this instance. "automaticRestart": True or False, # Specifies whether the instance should be automatically restarted if it is terminated by Compute Engine (not terminated by a user). You can only set the automatic restart option for standard instances. Preemptible instances cannot be automatically restarted. By default, this is set to true so an instance is automatically restarted if it is terminated by Compute Engine. "availabilityDomain": 42, # Specifies the availability domain (AD), which this instance should be scheduled on. The AD belongs to the spread GroupPlacementPolicy resource policy that has been assigned to the instance. Specify a value between 1-max count of availability domains in your GroupPlacementPolicy. See go/placement-policy-extension for more details. "currentCpus": 42, # Current number of vCPUs available for VM. 0 or unset means default vCPUs of the current machine type. @@ -5477,7 +5477,7 @@

Method Details

body: object, The request body. The object takes the form of: -{ # Sets the scheduling options for an Instance. NextID: 21 +{ # Sets the scheduling options for an Instance. "automaticRestart": True or False, # Specifies whether the instance should be automatically restarted if it is terminated by Compute Engine (not terminated by a user). You can only set the automatic restart option for standard instances. Preemptible instances cannot be automatically restarted. By default, this is set to true so an instance is automatically restarted if it is terminated by Compute Engine. "availabilityDomain": 42, # Specifies the availability domain (AD), which this instance should be scheduled on. The AD belongs to the spread GroupPlacementPolicy resource policy that has been assigned to the instance. Specify a value between 1-max count of availability domains in your GroupPlacementPolicy. See go/placement-policy-extension for more details. "currentCpus": 42, # Current number of vCPUs available for VM. 0 or unset means default vCPUs of the current machine type. @@ -6857,7 +6857,7 @@

Method Details

}, }, "satisfiesPzs": True or False, # [Output Only] Reserved for future use. - "scheduling": { # Sets the scheduling options for an Instance. NextID: 21 # Sets the scheduling options for this instance. + "scheduling": { # Sets the scheduling options for an Instance. # Sets the scheduling options for this instance. "automaticRestart": True or False, # Specifies whether the instance should be automatically restarted if it is terminated by Compute Engine (not terminated by a user). You can only set the automatic restart option for standard instances. Preemptible instances cannot be automatically restarted. By default, this is set to true so an instance is automatically restarted if it is terminated by Compute Engine. "availabilityDomain": 42, # Specifies the availability domain (AD), which this instance should be scheduled on. The AD belongs to the spread GroupPlacementPolicy resource policy that has been assigned to the instance. Specify a value between 1-max count of availability domains in your GroupPlacementPolicy. See go/placement-policy-extension for more details. "currentCpus": 42, # Current number of vCPUs available for VM. 0 or unset means default vCPUs of the current machine type. diff --git a/docs/dyn/compute_alpha.machineImages.html b/docs/dyn/compute_alpha.machineImages.html index 8ad85423ae5..360a49904fd 100644 --- a/docs/dyn/compute_alpha.machineImages.html +++ b/docs/dyn/compute_alpha.machineImages.html @@ -454,7 +454,7 @@

Method Details

"resourcePolicies": [ # Resource policies (names, not URLs) applied to instances created from these properties. Note that for MachineImage, this is not supported yet. "A String", ], - "scheduling": { # Sets the scheduling options for an Instance. NextID: 21 # Specifies the scheduling options for the instances that are created from these properties. + "scheduling": { # Sets the scheduling options for an Instance. # Specifies the scheduling options for the instances that are created from these properties. "automaticRestart": True or False, # Specifies whether the instance should be automatically restarted if it is terminated by Compute Engine (not terminated by a user). You can only set the automatic restart option for standard instances. Preemptible instances cannot be automatically restarted. By default, this is set to true so an instance is automatically restarted if it is terminated by Compute Engine. "availabilityDomain": 42, # Specifies the availability domain (AD), which this instance should be scheduled on. The AD belongs to the spread GroupPlacementPolicy resource policy that has been assigned to the instance. Specify a value between 1-max count of availability domains in your GroupPlacementPolicy. See go/placement-policy-extension for more details. "currentCpus": 42, # Current number of vCPUs available for VM. 0 or unset means default vCPUs of the current machine type. @@ -665,7 +665,7 @@

Method Details

}, ], "postKeyRevocationActionType": "A String", # PostKeyRevocationActionType of the instance. - "scheduling": { # Sets the scheduling options for an Instance. NextID: 21 # Specifies the scheduling options for the instances that are created from this machine image. + "scheduling": { # Sets the scheduling options for an Instance. # Specifies the scheduling options for the instances that are created from this machine image. "automaticRestart": True or False, # Specifies whether the instance should be automatically restarted if it is terminated by Compute Engine (not terminated by a user). You can only set the automatic restart option for standard instances. Preemptible instances cannot be automatically restarted. By default, this is set to true so an instance is automatically restarted if it is terminated by Compute Engine. "availabilityDomain": 42, # Specifies the availability domain (AD), which this instance should be scheduled on. The AD belongs to the spread GroupPlacementPolicy resource policy that has been assigned to the instance. Specify a value between 1-max count of availability domains in your GroupPlacementPolicy. See go/placement-policy-extension for more details. "currentCpus": 42, # Current number of vCPUs available for VM. 0 or unset means default vCPUs of the current machine type. @@ -1064,7 +1064,7 @@

Method Details

"resourcePolicies": [ # Resource policies (names, not URLs) applied to instances created from these properties. Note that for MachineImage, this is not supported yet. "A String", ], - "scheduling": { # Sets the scheduling options for an Instance. NextID: 21 # Specifies the scheduling options for the instances that are created from these properties. + "scheduling": { # Sets the scheduling options for an Instance. # Specifies the scheduling options for the instances that are created from these properties. "automaticRestart": True or False, # Specifies whether the instance should be automatically restarted if it is terminated by Compute Engine (not terminated by a user). You can only set the automatic restart option for standard instances. Preemptible instances cannot be automatically restarted. By default, this is set to true so an instance is automatically restarted if it is terminated by Compute Engine. "availabilityDomain": 42, # Specifies the availability domain (AD), which this instance should be scheduled on. The AD belongs to the spread GroupPlacementPolicy resource policy that has been assigned to the instance. Specify a value between 1-max count of availability domains in your GroupPlacementPolicy. See go/placement-policy-extension for more details. "currentCpus": 42, # Current number of vCPUs available for VM. 0 or unset means default vCPUs of the current machine type. @@ -1275,7 +1275,7 @@

Method Details

}, ], "postKeyRevocationActionType": "A String", # PostKeyRevocationActionType of the instance. - "scheduling": { # Sets the scheduling options for an Instance. NextID: 21 # Specifies the scheduling options for the instances that are created from this machine image. + "scheduling": { # Sets the scheduling options for an Instance. # Specifies the scheduling options for the instances that are created from this machine image. "automaticRestart": True or False, # Specifies whether the instance should be automatically restarted if it is terminated by Compute Engine (not terminated by a user). You can only set the automatic restart option for standard instances. Preemptible instances cannot be automatically restarted. By default, this is set to true so an instance is automatically restarted if it is terminated by Compute Engine. "availabilityDomain": 42, # Specifies the availability domain (AD), which this instance should be scheduled on. The AD belongs to the spread GroupPlacementPolicy resource policy that has been assigned to the instance. Specify a value between 1-max count of availability domains in your GroupPlacementPolicy. See go/placement-policy-extension for more details. "currentCpus": 42, # Current number of vCPUs available for VM. 0 or unset means default vCPUs of the current machine type. @@ -1675,7 +1675,7 @@

Method Details

"resourcePolicies": [ # Resource policies (names, not URLs) applied to instances created from these properties. Note that for MachineImage, this is not supported yet. "A String", ], - "scheduling": { # Sets the scheduling options for an Instance. NextID: 21 # Specifies the scheduling options for the instances that are created from these properties. + "scheduling": { # Sets the scheduling options for an Instance. # Specifies the scheduling options for the instances that are created from these properties. "automaticRestart": True or False, # Specifies whether the instance should be automatically restarted if it is terminated by Compute Engine (not terminated by a user). You can only set the automatic restart option for standard instances. Preemptible instances cannot be automatically restarted. By default, this is set to true so an instance is automatically restarted if it is terminated by Compute Engine. "availabilityDomain": 42, # Specifies the availability domain (AD), which this instance should be scheduled on. The AD belongs to the spread GroupPlacementPolicy resource policy that has been assigned to the instance. Specify a value between 1-max count of availability domains in your GroupPlacementPolicy. See go/placement-policy-extension for more details. "currentCpus": 42, # Current number of vCPUs available for VM. 0 or unset means default vCPUs of the current machine type. @@ -1886,7 +1886,7 @@

Method Details

}, ], "postKeyRevocationActionType": "A String", # PostKeyRevocationActionType of the instance. - "scheduling": { # Sets the scheduling options for an Instance. NextID: 21 # Specifies the scheduling options for the instances that are created from this machine image. + "scheduling": { # Sets the scheduling options for an Instance. # Specifies the scheduling options for the instances that are created from this machine image. "automaticRestart": True or False, # Specifies whether the instance should be automatically restarted if it is terminated by Compute Engine (not terminated by a user). You can only set the automatic restart option for standard instances. Preemptible instances cannot be automatically restarted. By default, this is set to true so an instance is automatically restarted if it is terminated by Compute Engine. "availabilityDomain": 42, # Specifies the availability domain (AD), which this instance should be scheduled on. The AD belongs to the spread GroupPlacementPolicy resource policy that has been assigned to the instance. Specify a value between 1-max count of availability domains in your GroupPlacementPolicy. See go/placement-policy-extension for more details. "currentCpus": 42, # Current number of vCPUs available for VM. 0 or unset means default vCPUs of the current machine type. diff --git a/docs/dyn/compute_alpha.networkFirewallPolicies.html b/docs/dyn/compute_alpha.networkFirewallPolicies.html index 71bb4271c72..5f7a723f710 100644 --- a/docs/dyn/compute_alpha.networkFirewallPolicies.html +++ b/docs/dyn/compute_alpha.networkFirewallPolicies.html @@ -305,7 +305,7 @@

Method Details

"priority": 42, # An integer indicating the priority of a rule in the list. The priority must be a positive value between 0 and 2147483647. Rules are evaluated from highest to lowest priority where 0 is the highest priority and 2147483647 is the lowest prority. "ruleName": "A String", # An optional name for the rule. This field is not a unique identifier and can be updated. "ruleTupleCount": 42, # [Output Only] Calculation of the complexity of a single firewall policy rule. - "securityProfileGroup": "A String", # A fully-qualified URL of a SecurityProfile resource instance. Example: https://networksecurity.googleapis.com/v1/projects/{project}/locations/{location}/securityProfileGroups/my-security-profile-group Must be specified if action = 'apply_profile_group' and cannot be specified for other actions. + "securityProfileGroup": "A String", # A fully-qualified URL of a SecurityProfile resource instance. Example: https://networksecurity.googleapis.com/v1/projects/{project}/locations/{location}/securityProfileGroups/my-security-profile-group Must be specified if action = 'apply_security_profile_group' and cannot be specified for other actions. "targetResources": [ # A list of network resource URLs to which this rule applies. This field allows you to control which network's VMs get this rule. If this field is left blank, all VMs within the organization will receive the rule. "A String", ], @@ -707,7 +707,7 @@

Method Details

"priority": 42, # An integer indicating the priority of a rule in the list. The priority must be a positive value between 0 and 2147483647. Rules are evaluated from highest to lowest priority where 0 is the highest priority and 2147483647 is the lowest prority. "ruleName": "A String", # An optional name for the rule. This field is not a unique identifier and can be updated. "ruleTupleCount": 42, # [Output Only] Calculation of the complexity of a single firewall policy rule. - "securityProfileGroup": "A String", # A fully-qualified URL of a SecurityProfile resource instance. Example: https://networksecurity.googleapis.com/v1/projects/{project}/locations/{location}/securityProfileGroups/my-security-profile-group Must be specified if action = 'apply_profile_group' and cannot be specified for other actions. + "securityProfileGroup": "A String", # A fully-qualified URL of a SecurityProfile resource instance. Example: https://networksecurity.googleapis.com/v1/projects/{project}/locations/{location}/securityProfileGroups/my-security-profile-group Must be specified if action = 'apply_security_profile_group' and cannot be specified for other actions. "targetResources": [ # A list of network resource URLs to which this rule applies. This field allows you to control which network's VMs get this rule. If this field is left blank, all VMs within the organization will receive the rule. "A String", ], @@ -929,7 +929,7 @@

Method Details

"priority": 42, # An integer indicating the priority of a rule in the list. The priority must be a positive value between 0 and 2147483647. Rules are evaluated from highest to lowest priority where 0 is the highest priority and 2147483647 is the lowest prority. "ruleName": "A String", # An optional name for the rule. This field is not a unique identifier and can be updated. "ruleTupleCount": 42, # [Output Only] Calculation of the complexity of a single firewall policy rule. - "securityProfileGroup": "A String", # A fully-qualified URL of a SecurityProfile resource instance. Example: https://networksecurity.googleapis.com/v1/projects/{project}/locations/{location}/securityProfileGroups/my-security-profile-group Must be specified if action = 'apply_profile_group' and cannot be specified for other actions. + "securityProfileGroup": "A String", # A fully-qualified URL of a SecurityProfile resource instance. Example: https://networksecurity.googleapis.com/v1/projects/{project}/locations/{location}/securityProfileGroups/my-security-profile-group Must be specified if action = 'apply_security_profile_group' and cannot be specified for other actions. "targetResources": [ # A list of network resource URLs to which this rule applies. This field allows you to control which network's VMs get this rule. If this field is left blank, all VMs within the organization will receive the rule. "A String", ], @@ -1031,7 +1031,7 @@

Method Details

"priority": 42, # An integer indicating the priority of a rule in the list. The priority must be a positive value between 0 and 2147483647. Rules are evaluated from highest to lowest priority where 0 is the highest priority and 2147483647 is the lowest prority. "ruleName": "A String", # An optional name for the rule. This field is not a unique identifier and can be updated. "ruleTupleCount": 42, # [Output Only] Calculation of the complexity of a single firewall policy rule. - "securityProfileGroup": "A String", # A fully-qualified URL of a SecurityProfile resource instance. Example: https://networksecurity.googleapis.com/v1/projects/{project}/locations/{location}/securityProfileGroups/my-security-profile-group Must be specified if action = 'apply_profile_group' and cannot be specified for other actions. + "securityProfileGroup": "A String", # A fully-qualified URL of a SecurityProfile resource instance. Example: https://networksecurity.googleapis.com/v1/projects/{project}/locations/{location}/securityProfileGroups/my-security-profile-group Must be specified if action = 'apply_security_profile_group' and cannot be specified for other actions. "targetResources": [ # A list of network resource URLs to which this rule applies. This field allows you to control which network's VMs get this rule. If this field is left blank, all VMs within the organization will receive the rule. "A String", ], @@ -1242,7 +1242,7 @@

Method Details

"priority": 42, # An integer indicating the priority of a rule in the list. The priority must be a positive value between 0 and 2147483647. Rules are evaluated from highest to lowest priority where 0 is the highest priority and 2147483647 is the lowest prority. "ruleName": "A String", # An optional name for the rule. This field is not a unique identifier and can be updated. "ruleTupleCount": 42, # [Output Only] Calculation of the complexity of a single firewall policy rule. - "securityProfileGroup": "A String", # A fully-qualified URL of a SecurityProfile resource instance. Example: https://networksecurity.googleapis.com/v1/projects/{project}/locations/{location}/securityProfileGroups/my-security-profile-group Must be specified if action = 'apply_profile_group' and cannot be specified for other actions. + "securityProfileGroup": "A String", # A fully-qualified URL of a SecurityProfile resource instance. Example: https://networksecurity.googleapis.com/v1/projects/{project}/locations/{location}/securityProfileGroups/my-security-profile-group Must be specified if action = 'apply_security_profile_group' and cannot be specified for other actions. "targetResources": [ # A list of network resource URLs to which this rule applies. This field allows you to control which network's VMs get this rule. If this field is left blank, all VMs within the organization will receive the rule. "A String", ], @@ -1379,7 +1379,7 @@

Method Details

"priority": 42, # An integer indicating the priority of a rule in the list. The priority must be a positive value between 0 and 2147483647. Rules are evaluated from highest to lowest priority where 0 is the highest priority and 2147483647 is the lowest prority. "ruleName": "A String", # An optional name for the rule. This field is not a unique identifier and can be updated. "ruleTupleCount": 42, # [Output Only] Calculation of the complexity of a single firewall policy rule. - "securityProfileGroup": "A String", # A fully-qualified URL of a SecurityProfile resource instance. Example: https://networksecurity.googleapis.com/v1/projects/{project}/locations/{location}/securityProfileGroups/my-security-profile-group Must be specified if action = 'apply_profile_group' and cannot be specified for other actions. + "securityProfileGroup": "A String", # A fully-qualified URL of a SecurityProfile resource instance. Example: https://networksecurity.googleapis.com/v1/projects/{project}/locations/{location}/securityProfileGroups/my-security-profile-group Must be specified if action = 'apply_security_profile_group' and cannot be specified for other actions. "targetResources": [ # A list of network resource URLs to which this rule applies. This field allows you to control which network's VMs get this rule. If this field is left blank, all VMs within the organization will receive the rule. "A String", ], @@ -1557,7 +1557,7 @@

Method Details

"priority": 42, # An integer indicating the priority of a rule in the list. The priority must be a positive value between 0 and 2147483647. Rules are evaluated from highest to lowest priority where 0 is the highest priority and 2147483647 is the lowest prority. "ruleName": "A String", # An optional name for the rule. This field is not a unique identifier and can be updated. "ruleTupleCount": 42, # [Output Only] Calculation of the complexity of a single firewall policy rule. - "securityProfileGroup": "A String", # A fully-qualified URL of a SecurityProfile resource instance. Example: https://networksecurity.googleapis.com/v1/projects/{project}/locations/{location}/securityProfileGroups/my-security-profile-group Must be specified if action = 'apply_profile_group' and cannot be specified for other actions. + "securityProfileGroup": "A String", # A fully-qualified URL of a SecurityProfile resource instance. Example: https://networksecurity.googleapis.com/v1/projects/{project}/locations/{location}/securityProfileGroups/my-security-profile-group Must be specified if action = 'apply_security_profile_group' and cannot be specified for other actions. "targetResources": [ # A list of network resource URLs to which this rule applies. This field allows you to control which network's VMs get this rule. If this field is left blank, all VMs within the organization will receive the rule. "A String", ], diff --git a/docs/dyn/compute_alpha.networks.html b/docs/dyn/compute_alpha.networks.html index 7e0a4a23607..dd7f8c05a55 100644 --- a/docs/dyn/compute_alpha.networks.html +++ b/docs/dyn/compute_alpha.networks.html @@ -494,7 +494,7 @@

Method Details

"priority": 42, # An integer indicating the priority of a rule in the list. The priority must be a positive value between 0 and 2147483647. Rules are evaluated from highest to lowest priority where 0 is the highest priority and 2147483647 is the lowest prority. "ruleName": "A String", # An optional name for the rule. This field is not a unique identifier and can be updated. "ruleTupleCount": 42, # [Output Only] Calculation of the complexity of a single firewall policy rule. - "securityProfileGroup": "A String", # A fully-qualified URL of a SecurityProfile resource instance. Example: https://networksecurity.googleapis.com/v1/projects/{project}/locations/{location}/securityProfileGroups/my-security-profile-group Must be specified if action = 'apply_profile_group' and cannot be specified for other actions. + "securityProfileGroup": "A String", # A fully-qualified URL of a SecurityProfile resource instance. Example: https://networksecurity.googleapis.com/v1/projects/{project}/locations/{location}/securityProfileGroups/my-security-profile-group Must be specified if action = 'apply_security_profile_group' and cannot be specified for other actions. "targetResources": [ # A list of network resource URLs to which this rule applies. This field allows you to control which network's VMs get this rule. If this field is left blank, all VMs within the organization will receive the rule. "A String", ], diff --git a/docs/dyn/compute_alpha.organizationSecurityPolicies.html b/docs/dyn/compute_alpha.organizationSecurityPolicies.html index d27009359d0..fd2a44601ad 100644 --- a/docs/dyn/compute_alpha.organizationSecurityPolicies.html +++ b/docs/dyn/compute_alpha.organizationSecurityPolicies.html @@ -650,6 +650,11 @@

Method Details

}, }, "advancedOptionsConfig": { + "jsonCustomConfig": { # Custom configuration to apply the JSON parsing. Only applicable when json_parsing is set to STANDARD. + "contentTypes": [ # A list of custom Content-Type header values to apply the JSON parsing. As per RFC 1341, a Content-Type header value has the following format: Content-Type := type "/" subtype *[";" parameter] When configuring a custom Content-Type header value, only the type/subtype needs to be specified, and the parameters should be excluded. + "A String", + ], + }, "jsonParsing": "A String", "logLevel": "A String", }, @@ -928,6 +933,11 @@

Method Details

}, }, "advancedOptionsConfig": { + "jsonCustomConfig": { # Custom configuration to apply the JSON parsing. Only applicable when json_parsing is set to STANDARD. + "contentTypes": [ # A list of custom Content-Type header values to apply the JSON parsing. As per RFC 1341, a Content-Type header value has the following format: Content-Type := type "/" subtype *[";" parameter] When configuring a custom Content-Type header value, only the type/subtype needs to be specified, and the parameters should be excluded. + "A String", + ], + }, "jsonParsing": "A String", "logLevel": "A String", }, @@ -1185,6 +1195,11 @@

Method Details

}, }, "advancedOptionsConfig": { + "jsonCustomConfig": { # Custom configuration to apply the JSON parsing. Only applicable when json_parsing is set to STANDARD. + "contentTypes": [ # A list of custom Content-Type header values to apply the JSON parsing. As per RFC 1341, a Content-Type header value has the following format: Content-Type := type "/" subtype *[";" parameter] When configuring a custom Content-Type header value, only the type/subtype needs to be specified, and the parameters should be excluded. + "A String", + ], + }, "jsonParsing": "A String", "logLevel": "A String", }, @@ -1493,6 +1508,11 @@

Method Details

}, }, "advancedOptionsConfig": { + "jsonCustomConfig": { # Custom configuration to apply the JSON parsing. Only applicable when json_parsing is set to STANDARD. + "contentTypes": [ # A list of custom Content-Type header values to apply the JSON parsing. As per RFC 1341, a Content-Type header value has the following format: Content-Type := type "/" subtype *[";" parameter] When configuring a custom Content-Type header value, only the type/subtype needs to be specified, and the parameters should be excluded. + "A String", + ], + }, "jsonParsing": "A String", "logLevel": "A String", }, diff --git a/docs/dyn/compute_alpha.regionCommitments.html b/docs/dyn/compute_alpha.regionCommitments.html index e95dc221728..a66472f0a2e 100644 --- a/docs/dyn/compute_alpha.regionCommitments.html +++ b/docs/dyn/compute_alpha.regionCommitments.html @@ -160,6 +160,11 @@

Method Details

"resourcePolicies": { # Resource policies to be added to this reservation. The key is defined by user, and the value is resource policy url. This is to define placement policy with reservation. "a_key": "A String", }, + "resourceStatus": { # [Output Only] Contains output only fields. # [Output Only] Status information for Reservation resource. + "specificSkuAllocation": { # Contains Properties set for the reservation. # Allocation Properties of this reservation. + "sourceInstanceTemplateId": "A String", # ID of the instance template used to populate reservation properties. + }, + }, "satisfiesPzs": True or False, # [Output Only] Reserved for future use. "selfLink": "A String", # [Output Only] Server-defined fully-qualified URL for this resource. "selfLinkWithId": "A String", # [Output Only] Server-defined URL for this resource with the resource id. @@ -202,6 +207,7 @@

Method Details

"maintenanceInterval": "A String", # For more information about maintenance intervals, see Setting maintenance intervals. "minCpuPlatform": "A String", # Minimum cpu platform the reservation. }, + "sourceInstanceTemplate": "A String", # Specific URL of the instance template used in the reservation }, "specificReservationRequired": True or False, # Indicates whether the reservation can be consumed by VMs with affinity for "any" reservation. If the field is set, then only VMs that target the reservation by name can consume from this reservation. "status": "A String", # [Output Only] The status of the reservation. @@ -320,6 +326,11 @@

Method Details

"resourcePolicies": { # Resource policies to be added to this reservation. The key is defined by user, and the value is resource policy url. This is to define placement policy with reservation. "a_key": "A String", }, + "resourceStatus": { # [Output Only] Contains output only fields. # [Output Only] Status information for Reservation resource. + "specificSkuAllocation": { # Contains Properties set for the reservation. # Allocation Properties of this reservation. + "sourceInstanceTemplateId": "A String", # ID of the instance template used to populate reservation properties. + }, + }, "satisfiesPzs": True or False, # [Output Only] Reserved for future use. "selfLink": "A String", # [Output Only] Server-defined fully-qualified URL for this resource. "selfLinkWithId": "A String", # [Output Only] Server-defined URL for this resource with the resource id. @@ -362,6 +373,7 @@

Method Details

"maintenanceInterval": "A String", # For more information about maintenance intervals, see Setting maintenance intervals. "minCpuPlatform": "A String", # Minimum cpu platform the reservation. }, + "sourceInstanceTemplate": "A String", # Specific URL of the instance template used in the reservation }, "specificReservationRequired": True or False, # Indicates whether the reservation can be consumed by VMs with affinity for "any" reservation. If the field is set, then only VMs that target the reservation by name can consume from this reservation. "status": "A String", # [Output Only] The status of the reservation. @@ -425,6 +437,11 @@

Method Details

"resourcePolicies": { # Resource policies to be added to this reservation. The key is defined by user, and the value is resource policy url. This is to define placement policy with reservation. "a_key": "A String", }, + "resourceStatus": { # [Output Only] Contains output only fields. # [Output Only] Status information for Reservation resource. + "specificSkuAllocation": { # Contains Properties set for the reservation. # Allocation Properties of this reservation. + "sourceInstanceTemplateId": "A String", # ID of the instance template used to populate reservation properties. + }, + }, "satisfiesPzs": True or False, # [Output Only] Reserved for future use. "selfLink": "A String", # [Output Only] Server-defined fully-qualified URL for this resource. "selfLinkWithId": "A String", # [Output Only] Server-defined URL for this resource with the resource id. @@ -467,6 +484,7 @@

Method Details

"maintenanceInterval": "A String", # For more information about maintenance intervals, see Setting maintenance intervals. "minCpuPlatform": "A String", # Minimum cpu platform the reservation. }, + "sourceInstanceTemplate": "A String", # Specific URL of the instance template used in the reservation }, "specificReservationRequired": True or False, # Indicates whether the reservation can be consumed by VMs with affinity for "any" reservation. If the field is set, then only VMs that target the reservation by name can consume from this reservation. "status": "A String", # [Output Only] The status of the reservation. @@ -633,6 +651,11 @@

Method Details

"resourcePolicies": { # Resource policies to be added to this reservation. The key is defined by user, and the value is resource policy url. This is to define placement policy with reservation. "a_key": "A String", }, + "resourceStatus": { # [Output Only] Contains output only fields. # [Output Only] Status information for Reservation resource. + "specificSkuAllocation": { # Contains Properties set for the reservation. # Allocation Properties of this reservation. + "sourceInstanceTemplateId": "A String", # ID of the instance template used to populate reservation properties. + }, + }, "satisfiesPzs": True or False, # [Output Only] Reserved for future use. "selfLink": "A String", # [Output Only] Server-defined fully-qualified URL for this resource. "selfLinkWithId": "A String", # [Output Only] Server-defined URL for this resource with the resource id. @@ -675,6 +698,7 @@

Method Details

"maintenanceInterval": "A String", # For more information about maintenance intervals, see Setting maintenance intervals. "minCpuPlatform": "A String", # Minimum cpu platform the reservation. }, + "sourceInstanceTemplate": "A String", # Specific URL of the instance template used in the reservation }, "specificReservationRequired": True or False, # Indicates whether the reservation can be consumed by VMs with affinity for "any" reservation. If the field is set, then only VMs that target the reservation by name can consume from this reservation. "status": "A String", # [Output Only] The status of the reservation. @@ -800,6 +824,11 @@

Method Details

"resourcePolicies": { # Resource policies to be added to this reservation. The key is defined by user, and the value is resource policy url. This is to define placement policy with reservation. "a_key": "A String", }, + "resourceStatus": { # [Output Only] Contains output only fields. # [Output Only] Status information for Reservation resource. + "specificSkuAllocation": { # Contains Properties set for the reservation. # Allocation Properties of this reservation. + "sourceInstanceTemplateId": "A String", # ID of the instance template used to populate reservation properties. + }, + }, "satisfiesPzs": True or False, # [Output Only] Reserved for future use. "selfLink": "A String", # [Output Only] Server-defined fully-qualified URL for this resource. "selfLinkWithId": "A String", # [Output Only] Server-defined URL for this resource with the resource id. @@ -842,6 +871,7 @@

Method Details

"maintenanceInterval": "A String", # For more information about maintenance intervals, see Setting maintenance intervals. "minCpuPlatform": "A String", # Minimum cpu platform the reservation. }, + "sourceInstanceTemplate": "A String", # Specific URL of the instance template used in the reservation }, "specificReservationRequired": True or False, # Indicates whether the reservation can be consumed by VMs with affinity for "any" reservation. If the field is set, then only VMs that target the reservation by name can consume from this reservation. "status": "A String", # [Output Only] The status of the reservation. @@ -980,6 +1010,11 @@

Method Details

"resourcePolicies": { # Resource policies to be added to this reservation. The key is defined by user, and the value is resource policy url. This is to define placement policy with reservation. "a_key": "A String", }, + "resourceStatus": { # [Output Only] Contains output only fields. # [Output Only] Status information for Reservation resource. + "specificSkuAllocation": { # Contains Properties set for the reservation. # Allocation Properties of this reservation. + "sourceInstanceTemplateId": "A String", # ID of the instance template used to populate reservation properties. + }, + }, "satisfiesPzs": True or False, # [Output Only] Reserved for future use. "selfLink": "A String", # [Output Only] Server-defined fully-qualified URL for this resource. "selfLinkWithId": "A String", # [Output Only] Server-defined URL for this resource with the resource id. @@ -1022,6 +1057,7 @@

Method Details

"maintenanceInterval": "A String", # For more information about maintenance intervals, see Setting maintenance intervals. "minCpuPlatform": "A String", # Minimum cpu platform the reservation. }, + "sourceInstanceTemplate": "A String", # Specific URL of the instance template used in the reservation }, "specificReservationRequired": True or False, # Indicates whether the reservation can be consumed by VMs with affinity for "any" reservation. If the field is set, then only VMs that target the reservation by name can consume from this reservation. "status": "A String", # [Output Only] The status of the reservation. diff --git a/docs/dyn/compute_alpha.regionInstanceTemplates.html b/docs/dyn/compute_alpha.regionInstanceTemplates.html index c93fc630694..82a0b9d1748 100644 --- a/docs/dyn/compute_alpha.regionInstanceTemplates.html +++ b/docs/dyn/compute_alpha.regionInstanceTemplates.html @@ -448,7 +448,7 @@

Method Details

"resourcePolicies": [ # Resource policies (names, not URLs) applied to instances created from these properties. Note that for MachineImage, this is not supported yet. "A String", ], - "scheduling": { # Sets the scheduling options for an Instance. NextID: 21 # Specifies the scheduling options for the instances that are created from these properties. + "scheduling": { # Sets the scheduling options for an Instance. # Specifies the scheduling options for the instances that are created from these properties. "automaticRestart": True or False, # Specifies whether the instance should be automatically restarted if it is terminated by Compute Engine (not terminated by a user). You can only set the automatic restart option for standard instances. Preemptible instances cannot be automatically restarted. By default, this is set to true so an instance is automatically restarted if it is terminated by Compute Engine. "availabilityDomain": 42, # Specifies the availability domain (AD), which this instance should be scheduled on. The AD belongs to the spread GroupPlacementPolicy resource policy that has been assigned to the instance. Specify a value between 1-max count of availability domains in your GroupPlacementPolicy. See go/placement-policy-extension for more details. "currentCpus": 42, # Current number of vCPUs available for VM. 0 or unset means default vCPUs of the current machine type. @@ -768,7 +768,7 @@

Method Details

"resourcePolicies": [ # Resource policies (names, not URLs) applied to instances created from these properties. Note that for MachineImage, this is not supported yet. "A String", ], - "scheduling": { # Sets the scheduling options for an Instance. NextID: 21 # Specifies the scheduling options for the instances that are created from these properties. + "scheduling": { # Sets the scheduling options for an Instance. # Specifies the scheduling options for the instances that are created from these properties. "automaticRestart": True or False, # Specifies whether the instance should be automatically restarted if it is terminated by Compute Engine (not terminated by a user). You can only set the automatic restart option for standard instances. Preemptible instances cannot be automatically restarted. By default, this is set to true so an instance is automatically restarted if it is terminated by Compute Engine. "availabilityDomain": 42, # Specifies the availability domain (AD), which this instance should be scheduled on. The AD belongs to the spread GroupPlacementPolicy resource policy that has been assigned to the instance. Specify a value between 1-max count of availability domains in your GroupPlacementPolicy. See go/placement-policy-extension for more details. "currentCpus": 42, # Current number of vCPUs available for VM. 0 or unset means default vCPUs of the current machine type. @@ -1191,7 +1191,7 @@

Method Details

"resourcePolicies": [ # Resource policies (names, not URLs) applied to instances created from these properties. Note that for MachineImage, this is not supported yet. "A String", ], - "scheduling": { # Sets the scheduling options for an Instance. NextID: 21 # Specifies the scheduling options for the instances that are created from these properties. + "scheduling": { # Sets the scheduling options for an Instance. # Specifies the scheduling options for the instances that are created from these properties. "automaticRestart": True or False, # Specifies whether the instance should be automatically restarted if it is terminated by Compute Engine (not terminated by a user). You can only set the automatic restart option for standard instances. Preemptible instances cannot be automatically restarted. By default, this is set to true so an instance is automatically restarted if it is terminated by Compute Engine. "availabilityDomain": 42, # Specifies the availability domain (AD), which this instance should be scheduled on. The AD belongs to the spread GroupPlacementPolicy resource policy that has been assigned to the instance. Specify a value between 1-max count of availability domains in your GroupPlacementPolicy. See go/placement-policy-extension for more details. "currentCpus": 42, # Current number of vCPUs available for VM. 0 or unset means default vCPUs of the current machine type. diff --git a/docs/dyn/compute_alpha.regionInstances.html b/docs/dyn/compute_alpha.regionInstances.html index e6441f7ac44..f6a81c02083 100644 --- a/docs/dyn/compute_alpha.regionInstances.html +++ b/docs/dyn/compute_alpha.regionInstances.html @@ -356,7 +356,7 @@

Method Details

}, }, "satisfiesPzs": True or False, # [Output Only] Reserved for future use. - "scheduling": { # Sets the scheduling options for an Instance. NextID: 21 # Sets the scheduling options for this instance. + "scheduling": { # Sets the scheduling options for an Instance. # Sets the scheduling options for this instance. "automaticRestart": True or False, # Specifies whether the instance should be automatically restarted if it is terminated by Compute Engine (not terminated by a user). You can only set the automatic restart option for standard instances. Preemptible instances cannot be automatically restarted. By default, this is set to true so an instance is automatically restarted if it is terminated by Compute Engine. "availabilityDomain": 42, # Specifies the availability domain (AD), which this instance should be scheduled on. The AD belongs to the spread GroupPlacementPolicy resource policy that has been assigned to the instance. Specify a value between 1-max count of availability domains in your GroupPlacementPolicy. See go/placement-policy-extension for more details. "currentCpus": 42, # Current number of vCPUs available for VM. 0 or unset means default vCPUs of the current machine type. @@ -673,7 +673,7 @@

Method Details

"resourcePolicies": [ # Resource policies (names, not URLs) applied to instances created from these properties. Note that for MachineImage, this is not supported yet. "A String", ], - "scheduling": { # Sets the scheduling options for an Instance. NextID: 21 # Specifies the scheduling options for the instances that are created from these properties. + "scheduling": { # Sets the scheduling options for an Instance. # Specifies the scheduling options for the instances that are created from these properties. "automaticRestart": True or False, # Specifies whether the instance should be automatically restarted if it is terminated by Compute Engine (not terminated by a user). You can only set the automatic restart option for standard instances. Preemptible instances cannot be automatically restarted. By default, this is set to true so an instance is automatically restarted if it is terminated by Compute Engine. "availabilityDomain": 42, # Specifies the availability domain (AD), which this instance should be scheduled on. The AD belongs to the spread GroupPlacementPolicy resource policy that has been assigned to the instance. Specify a value between 1-max count of availability domains in your GroupPlacementPolicy. See go/placement-policy-extension for more details. "currentCpus": 42, # Current number of vCPUs available for VM. 0 or unset means default vCPUs of the current machine type. diff --git a/docs/dyn/compute_alpha.regionNetworkFirewallPolicies.html b/docs/dyn/compute_alpha.regionNetworkFirewallPolicies.html index 227e3806c37..1c7fbc8a7a2 100644 --- a/docs/dyn/compute_alpha.regionNetworkFirewallPolicies.html +++ b/docs/dyn/compute_alpha.regionNetworkFirewallPolicies.html @@ -310,7 +310,7 @@

Method Details

"priority": 42, # An integer indicating the priority of a rule in the list. The priority must be a positive value between 0 and 2147483647. Rules are evaluated from highest to lowest priority where 0 is the highest priority and 2147483647 is the lowest prority. "ruleName": "A String", # An optional name for the rule. This field is not a unique identifier and can be updated. "ruleTupleCount": 42, # [Output Only] Calculation of the complexity of a single firewall policy rule. - "securityProfileGroup": "A String", # A fully-qualified URL of a SecurityProfile resource instance. Example: https://networksecurity.googleapis.com/v1/projects/{project}/locations/{location}/securityProfileGroups/my-security-profile-group Must be specified if action = 'apply_profile_group' and cannot be specified for other actions. + "securityProfileGroup": "A String", # A fully-qualified URL of a SecurityProfile resource instance. Example: https://networksecurity.googleapis.com/v1/projects/{project}/locations/{location}/securityProfileGroups/my-security-profile-group Must be specified if action = 'apply_security_profile_group' and cannot be specified for other actions. "targetResources": [ # A list of network resource URLs to which this rule applies. This field allows you to control which network's VMs get this rule. If this field is left blank, all VMs within the organization will receive the rule. "A String", ], @@ -715,7 +715,7 @@

Method Details

"priority": 42, # An integer indicating the priority of a rule in the list. The priority must be a positive value between 0 and 2147483647. Rules are evaluated from highest to lowest priority where 0 is the highest priority and 2147483647 is the lowest prority. "ruleName": "A String", # An optional name for the rule. This field is not a unique identifier and can be updated. "ruleTupleCount": 42, # [Output Only] Calculation of the complexity of a single firewall policy rule. - "securityProfileGroup": "A String", # A fully-qualified URL of a SecurityProfile resource instance. Example: https://networksecurity.googleapis.com/v1/projects/{project}/locations/{location}/securityProfileGroups/my-security-profile-group Must be specified if action = 'apply_profile_group' and cannot be specified for other actions. + "securityProfileGroup": "A String", # A fully-qualified URL of a SecurityProfile resource instance. Example: https://networksecurity.googleapis.com/v1/projects/{project}/locations/{location}/securityProfileGroups/my-security-profile-group Must be specified if action = 'apply_security_profile_group' and cannot be specified for other actions. "targetResources": [ # A list of network resource URLs to which this rule applies. This field allows you to control which network's VMs get this rule. If this field is left blank, all VMs within the organization will receive the rule. "A String", ], @@ -841,7 +841,7 @@

Method Details

"priority": 42, # An integer indicating the priority of a rule in the list. The priority must be a positive value between 0 and 2147483647. Rules are evaluated from highest to lowest priority where 0 is the highest priority and 2147483647 is the lowest prority. "ruleName": "A String", # An optional name for the rule. This field is not a unique identifier and can be updated. "ruleTupleCount": 42, # [Output Only] Calculation of the complexity of a single firewall policy rule. - "securityProfileGroup": "A String", # A fully-qualified URL of a SecurityProfile resource instance. Example: https://networksecurity.googleapis.com/v1/projects/{project}/locations/{location}/securityProfileGroups/my-security-profile-group Must be specified if action = 'apply_profile_group' and cannot be specified for other actions. + "securityProfileGroup": "A String", # A fully-qualified URL of a SecurityProfile resource instance. Example: https://networksecurity.googleapis.com/v1/projects/{project}/locations/{location}/securityProfileGroups/my-security-profile-group Must be specified if action = 'apply_security_profile_group' and cannot be specified for other actions. "targetResources": [ # A list of network resource URLs to which this rule applies. This field allows you to control which network's VMs get this rule. If this field is left blank, all VMs within the organization will receive the rule. "A String", ], @@ -1093,7 +1093,7 @@

Method Details

"priority": 42, # An integer indicating the priority of a rule in the list. The priority must be a positive value between 0 and 2147483647. Rules are evaluated from highest to lowest priority where 0 is the highest priority and 2147483647 is the lowest prority. "ruleName": "A String", # An optional name for the rule. This field is not a unique identifier and can be updated. "ruleTupleCount": 42, # [Output Only] Calculation of the complexity of a single firewall policy rule. - "securityProfileGroup": "A String", # A fully-qualified URL of a SecurityProfile resource instance. Example: https://networksecurity.googleapis.com/v1/projects/{project}/locations/{location}/securityProfileGroups/my-security-profile-group Must be specified if action = 'apply_profile_group' and cannot be specified for other actions. + "securityProfileGroup": "A String", # A fully-qualified URL of a SecurityProfile resource instance. Example: https://networksecurity.googleapis.com/v1/projects/{project}/locations/{location}/securityProfileGroups/my-security-profile-group Must be specified if action = 'apply_security_profile_group' and cannot be specified for other actions. "targetResources": [ # A list of network resource URLs to which this rule applies. This field allows you to control which network's VMs get this rule. If this field is left blank, all VMs within the organization will receive the rule. "A String", ], @@ -1196,7 +1196,7 @@

Method Details

"priority": 42, # An integer indicating the priority of a rule in the list. The priority must be a positive value between 0 and 2147483647. Rules are evaluated from highest to lowest priority where 0 is the highest priority and 2147483647 is the lowest prority. "ruleName": "A String", # An optional name for the rule. This field is not a unique identifier and can be updated. "ruleTupleCount": 42, # [Output Only] Calculation of the complexity of a single firewall policy rule. - "securityProfileGroup": "A String", # A fully-qualified URL of a SecurityProfile resource instance. Example: https://networksecurity.googleapis.com/v1/projects/{project}/locations/{location}/securityProfileGroups/my-security-profile-group Must be specified if action = 'apply_profile_group' and cannot be specified for other actions. + "securityProfileGroup": "A String", # A fully-qualified URL of a SecurityProfile resource instance. Example: https://networksecurity.googleapis.com/v1/projects/{project}/locations/{location}/securityProfileGroups/my-security-profile-group Must be specified if action = 'apply_security_profile_group' and cannot be specified for other actions. "targetResources": [ # A list of network resource URLs to which this rule applies. This field allows you to control which network's VMs get this rule. If this field is left blank, all VMs within the organization will receive the rule. "A String", ], @@ -1408,7 +1408,7 @@

Method Details

"priority": 42, # An integer indicating the priority of a rule in the list. The priority must be a positive value between 0 and 2147483647. Rules are evaluated from highest to lowest priority where 0 is the highest priority and 2147483647 is the lowest prority. "ruleName": "A String", # An optional name for the rule. This field is not a unique identifier and can be updated. "ruleTupleCount": 42, # [Output Only] Calculation of the complexity of a single firewall policy rule. - "securityProfileGroup": "A String", # A fully-qualified URL of a SecurityProfile resource instance. Example: https://networksecurity.googleapis.com/v1/projects/{project}/locations/{location}/securityProfileGroups/my-security-profile-group Must be specified if action = 'apply_profile_group' and cannot be specified for other actions. + "securityProfileGroup": "A String", # A fully-qualified URL of a SecurityProfile resource instance. Example: https://networksecurity.googleapis.com/v1/projects/{project}/locations/{location}/securityProfileGroups/my-security-profile-group Must be specified if action = 'apply_security_profile_group' and cannot be specified for other actions. "targetResources": [ # A list of network resource URLs to which this rule applies. This field allows you to control which network's VMs get this rule. If this field is left blank, all VMs within the organization will receive the rule. "A String", ], @@ -1546,7 +1546,7 @@

Method Details

"priority": 42, # An integer indicating the priority of a rule in the list. The priority must be a positive value between 0 and 2147483647. Rules are evaluated from highest to lowest priority where 0 is the highest priority and 2147483647 is the lowest prority. "ruleName": "A String", # An optional name for the rule. This field is not a unique identifier and can be updated. "ruleTupleCount": 42, # [Output Only] Calculation of the complexity of a single firewall policy rule. - "securityProfileGroup": "A String", # A fully-qualified URL of a SecurityProfile resource instance. Example: https://networksecurity.googleapis.com/v1/projects/{project}/locations/{location}/securityProfileGroups/my-security-profile-group Must be specified if action = 'apply_profile_group' and cannot be specified for other actions. + "securityProfileGroup": "A String", # A fully-qualified URL of a SecurityProfile resource instance. Example: https://networksecurity.googleapis.com/v1/projects/{project}/locations/{location}/securityProfileGroups/my-security-profile-group Must be specified if action = 'apply_security_profile_group' and cannot be specified for other actions. "targetResources": [ # A list of network resource URLs to which this rule applies. This field allows you to control which network's VMs get this rule. If this field is left blank, all VMs within the organization will receive the rule. "A String", ], @@ -1725,7 +1725,7 @@

Method Details

"priority": 42, # An integer indicating the priority of a rule in the list. The priority must be a positive value between 0 and 2147483647. Rules are evaluated from highest to lowest priority where 0 is the highest priority and 2147483647 is the lowest prority. "ruleName": "A String", # An optional name for the rule. This field is not a unique identifier and can be updated. "ruleTupleCount": 42, # [Output Only] Calculation of the complexity of a single firewall policy rule. - "securityProfileGroup": "A String", # A fully-qualified URL of a SecurityProfile resource instance. Example: https://networksecurity.googleapis.com/v1/projects/{project}/locations/{location}/securityProfileGroups/my-security-profile-group Must be specified if action = 'apply_profile_group' and cannot be specified for other actions. + "securityProfileGroup": "A String", # A fully-qualified URL of a SecurityProfile resource instance. Example: https://networksecurity.googleapis.com/v1/projects/{project}/locations/{location}/securityProfileGroups/my-security-profile-group Must be specified if action = 'apply_security_profile_group' and cannot be specified for other actions. "targetResources": [ # A list of network resource URLs to which this rule applies. This field allows you to control which network's VMs get this rule. If this field is left blank, all VMs within the organization will receive the rule. "A String", ], diff --git a/docs/dyn/compute_alpha.regionSecurityPolicies.html b/docs/dyn/compute_alpha.regionSecurityPolicies.html index 271a99e82e7..c5771ebbe96 100644 --- a/docs/dyn/compute_alpha.regionSecurityPolicies.html +++ b/docs/dyn/compute_alpha.regionSecurityPolicies.html @@ -230,6 +230,11 @@

Method Details

}, }, "advancedOptionsConfig": { + "jsonCustomConfig": { # Custom configuration to apply the JSON parsing. Only applicable when json_parsing is set to STANDARD. + "contentTypes": [ # A list of custom Content-Type header values to apply the JSON parsing. As per RFC 1341, a Content-Type header value has the following format: Content-Type := type "/" subtype *[";" parameter] When configuring a custom Content-Type header value, only the type/subtype needs to be specified, and the parameters should be excluded. + "A String", + ], + }, "jsonParsing": "A String", "logLevel": "A String", }, @@ -383,6 +388,11 @@

Method Details

}, }, "advancedOptionsConfig": { + "jsonCustomConfig": { # Custom configuration to apply the JSON parsing. Only applicable when json_parsing is set to STANDARD. + "contentTypes": [ # A list of custom Content-Type header values to apply the JSON parsing. As per RFC 1341, a Content-Type header value has the following format: Content-Type := type "/" subtype *[";" parameter] When configuring a custom Content-Type header value, only the type/subtype needs to be specified, and the parameters should be excluded. + "A String", + ], + }, "jsonParsing": "A String", "logLevel": "A String", }, @@ -641,6 +651,11 @@

Method Details

}, }, "advancedOptionsConfig": { + "jsonCustomConfig": { # Custom configuration to apply the JSON parsing. Only applicable when json_parsing is set to STANDARD. + "contentTypes": [ # A list of custom Content-Type header values to apply the JSON parsing. As per RFC 1341, a Content-Type header value has the following format: Content-Type := type "/" subtype *[";" parameter] When configuring a custom Content-Type header value, only the type/subtype needs to be specified, and the parameters should be excluded. + "A String", + ], + }, "jsonParsing": "A String", "logLevel": "A String", }, @@ -826,6 +841,11 @@

Method Details

}, }, "advancedOptionsConfig": { + "jsonCustomConfig": { # Custom configuration to apply the JSON parsing. Only applicable when json_parsing is set to STANDARD. + "contentTypes": [ # A list of custom Content-Type header values to apply the JSON parsing. As per RFC 1341, a Content-Type header value has the following format: Content-Type := type "/" subtype *[";" parameter] When configuring a custom Content-Type header value, only the type/subtype needs to be specified, and the parameters should be excluded. + "A String", + ], + }, "jsonParsing": "A String", "logLevel": "A String", }, diff --git a/docs/dyn/compute_alpha.reservations.html b/docs/dyn/compute_alpha.reservations.html index 11eaf4f12b4..ce4db157910 100644 --- a/docs/dyn/compute_alpha.reservations.html +++ b/docs/dyn/compute_alpha.reservations.html @@ -149,6 +149,11 @@

Method Details

"resourcePolicies": { # Resource policies to be added to this reservation. The key is defined by user, and the value is resource policy url. This is to define placement policy with reservation. "a_key": "A String", }, + "resourceStatus": { # [Output Only] Contains output only fields. # [Output Only] Status information for Reservation resource. + "specificSkuAllocation": { # Contains Properties set for the reservation. # Allocation Properties of this reservation. + "sourceInstanceTemplateId": "A String", # ID of the instance template used to populate reservation properties. + }, + }, "satisfiesPzs": True or False, # [Output Only] Reserved for future use. "selfLink": "A String", # [Output Only] Server-defined fully-qualified URL for this resource. "selfLinkWithId": "A String", # [Output Only] Server-defined URL for this resource with the resource id. @@ -191,6 +196,7 @@

Method Details

"maintenanceInterval": "A String", # For more information about maintenance intervals, see Setting maintenance intervals. "minCpuPlatform": "A String", # Minimum cpu platform the reservation. }, + "sourceInstanceTemplate": "A String", # Specific URL of the instance template used in the reservation }, "specificReservationRequired": True or False, # Indicates whether the reservation can be consumed by VMs with affinity for "any" reservation. If the field is set, then only VMs that target the reservation by name can consume from this reservation. "status": "A String", # [Output Only] The status of the reservation. @@ -372,6 +378,11 @@

Method Details

"resourcePolicies": { # Resource policies to be added to this reservation. The key is defined by user, and the value is resource policy url. This is to define placement policy with reservation. "a_key": "A String", }, + "resourceStatus": { # [Output Only] Contains output only fields. # [Output Only] Status information for Reservation resource. + "specificSkuAllocation": { # Contains Properties set for the reservation. # Allocation Properties of this reservation. + "sourceInstanceTemplateId": "A String", # ID of the instance template used to populate reservation properties. + }, + }, "satisfiesPzs": True or False, # [Output Only] Reserved for future use. "selfLink": "A String", # [Output Only] Server-defined fully-qualified URL for this resource. "selfLinkWithId": "A String", # [Output Only] Server-defined URL for this resource with the resource id. @@ -414,6 +425,7 @@

Method Details

"maintenanceInterval": "A String", # For more information about maintenance intervals, see Setting maintenance intervals. "minCpuPlatform": "A String", # Minimum cpu platform the reservation. }, + "sourceInstanceTemplate": "A String", # Specific URL of the instance template used in the reservation }, "specificReservationRequired": True or False, # Indicates whether the reservation can be consumed by VMs with affinity for "any" reservation. If the field is set, then only VMs that target the reservation by name can consume from this reservation. "status": "A String", # [Output Only] The status of the reservation. @@ -545,6 +557,11 @@

Method Details

"resourcePolicies": { # Resource policies to be added to this reservation. The key is defined by user, and the value is resource policy url. This is to define placement policy with reservation. "a_key": "A String", }, + "resourceStatus": { # [Output Only] Contains output only fields. # [Output Only] Status information for Reservation resource. + "specificSkuAllocation": { # Contains Properties set for the reservation. # Allocation Properties of this reservation. + "sourceInstanceTemplateId": "A String", # ID of the instance template used to populate reservation properties. + }, + }, "satisfiesPzs": True or False, # [Output Only] Reserved for future use. "selfLink": "A String", # [Output Only] Server-defined fully-qualified URL for this resource. "selfLinkWithId": "A String", # [Output Only] Server-defined URL for this resource with the resource id. @@ -587,6 +604,7 @@

Method Details

"maintenanceInterval": "A String", # For more information about maintenance intervals, see Setting maintenance intervals. "minCpuPlatform": "A String", # Minimum cpu platform the reservation. }, + "sourceInstanceTemplate": "A String", # Specific URL of the instance template used in the reservation }, "specificReservationRequired": True or False, # Indicates whether the reservation can be consumed by VMs with affinity for "any" reservation. If the field is set, then only VMs that target the reservation by name can consume from this reservation. "status": "A String", # [Output Only] The status of the reservation. @@ -717,6 +735,11 @@

Method Details

"resourcePolicies": { # Resource policies to be added to this reservation. The key is defined by user, and the value is resource policy url. This is to define placement policy with reservation. "a_key": "A String", }, + "resourceStatus": { # [Output Only] Contains output only fields. # [Output Only] Status information for Reservation resource. + "specificSkuAllocation": { # Contains Properties set for the reservation. # Allocation Properties of this reservation. + "sourceInstanceTemplateId": "A String", # ID of the instance template used to populate reservation properties. + }, + }, "satisfiesPzs": True or False, # [Output Only] Reserved for future use. "selfLink": "A String", # [Output Only] Server-defined fully-qualified URL for this resource. "selfLinkWithId": "A String", # [Output Only] Server-defined URL for this resource with the resource id. @@ -759,6 +782,7 @@

Method Details

"maintenanceInterval": "A String", # For more information about maintenance intervals, see Setting maintenance intervals. "minCpuPlatform": "A String", # Minimum cpu platform the reservation. }, + "sourceInstanceTemplate": "A String", # Specific URL of the instance template used in the reservation }, "specificReservationRequired": True or False, # Indicates whether the reservation can be consumed by VMs with affinity for "any" reservation. If the field is set, then only VMs that target the reservation by name can consume from this reservation. "status": "A String", # [Output Only] The status of the reservation. @@ -1164,6 +1188,11 @@

Method Details

"resourcePolicies": { # Resource policies to be added to this reservation. The key is defined by user, and the value is resource policy url. This is to define placement policy with reservation. "a_key": "A String", }, + "resourceStatus": { # [Output Only] Contains output only fields. # [Output Only] Status information for Reservation resource. + "specificSkuAllocation": { # Contains Properties set for the reservation. # Allocation Properties of this reservation. + "sourceInstanceTemplateId": "A String", # ID of the instance template used to populate reservation properties. + }, + }, "satisfiesPzs": True or False, # [Output Only] Reserved for future use. "selfLink": "A String", # [Output Only] Server-defined fully-qualified URL for this resource. "selfLinkWithId": "A String", # [Output Only] Server-defined URL for this resource with the resource id. @@ -1206,6 +1235,7 @@

Method Details

"maintenanceInterval": "A String", # For more information about maintenance intervals, see Setting maintenance intervals. "minCpuPlatform": "A String", # Minimum cpu platform the reservation. }, + "sourceInstanceTemplate": "A String", # Specific URL of the instance template used in the reservation }, "specificReservationRequired": True or False, # Indicates whether the reservation can be consumed by VMs with affinity for "any" reservation. If the field is set, then only VMs that target the reservation by name can consume from this reservation. "status": "A String", # [Output Only] The status of the reservation. diff --git a/docs/dyn/compute_alpha.securityPolicies.html b/docs/dyn/compute_alpha.securityPolicies.html index a9b37f5d2a0..1431a26f575 100644 --- a/docs/dyn/compute_alpha.securityPolicies.html +++ b/docs/dyn/compute_alpha.securityPolicies.html @@ -352,6 +352,11 @@

Method Details

}, }, "advancedOptionsConfig": { + "jsonCustomConfig": { # Custom configuration to apply the JSON parsing. Only applicable when json_parsing is set to STANDARD. + "contentTypes": [ # A list of custom Content-Type header values to apply the JSON parsing. As per RFC 1341, a Content-Type header value has the following format: Content-Type := type "/" subtype *[";" parameter] When configuring a custom Content-Type header value, only the type/subtype needs to be specified, and the parameters should be excluded. + "A String", + ], + }, "jsonParsing": "A String", "logLevel": "A String", }, @@ -657,6 +662,11 @@

Method Details

}, }, "advancedOptionsConfig": { + "jsonCustomConfig": { # Custom configuration to apply the JSON parsing. Only applicable when json_parsing is set to STANDARD. + "contentTypes": [ # A list of custom Content-Type header values to apply the JSON parsing. As per RFC 1341, a Content-Type header value has the following format: Content-Type := type "/" subtype *[";" parameter] When configuring a custom Content-Type header value, only the type/subtype needs to be specified, and the parameters should be excluded. + "A String", + ], + }, "jsonParsing": "A String", "logLevel": "A String", }, @@ -914,6 +924,11 @@

Method Details

}, }, "advancedOptionsConfig": { + "jsonCustomConfig": { # Custom configuration to apply the JSON parsing. Only applicable when json_parsing is set to STANDARD. + "contentTypes": [ # A list of custom Content-Type header values to apply the JSON parsing. As per RFC 1341, a Content-Type header value has the following format: Content-Type := type "/" subtype *[";" parameter] When configuring a custom Content-Type header value, only the type/subtype needs to be specified, and the parameters should be excluded. + "A String", + ], + }, "jsonParsing": "A String", "logLevel": "A String", }, @@ -1171,6 +1186,11 @@

Method Details

}, }, "advancedOptionsConfig": { + "jsonCustomConfig": { # Custom configuration to apply the JSON parsing. Only applicable when json_parsing is set to STANDARD. + "contentTypes": [ # A list of custom Content-Type header values to apply the JSON parsing. As per RFC 1341, a Content-Type header value has the following format: Content-Type := type "/" subtype *[";" parameter] When configuring a custom Content-Type header value, only the type/subtype needs to be specified, and the parameters should be excluded. + "A String", + ], + }, "jsonParsing": "A String", "logLevel": "A String", }, @@ -1395,6 +1415,11 @@

Method Details

}, }, "advancedOptionsConfig": { + "jsonCustomConfig": { # Custom configuration to apply the JSON parsing. Only applicable when json_parsing is set to STANDARD. + "contentTypes": [ # A list of custom Content-Type header values to apply the JSON parsing. As per RFC 1341, a Content-Type header value has the following format: Content-Type := type "/" subtype *[";" parameter] When configuring a custom Content-Type header value, only the type/subtype needs to be specified, and the parameters should be excluded. + "A String", + ], + }, "jsonParsing": "A String", "logLevel": "A String", }, diff --git a/docs/dyn/compute_alpha.zoneQueuedResources.html b/docs/dyn/compute_alpha.zoneQueuedResources.html index e8ba13a64a7..5d37f958f42 100644 --- a/docs/dyn/compute_alpha.zoneQueuedResources.html +++ b/docs/dyn/compute_alpha.zoneQueuedResources.html @@ -581,7 +581,7 @@

Method Details

}, }, "satisfiesPzs": True or False, # [Output Only] Reserved for future use. - "scheduling": { # Sets the scheduling options for an Instance. NextID: 21 # Sets the scheduling options for this instance. + "scheduling": { # Sets the scheduling options for an Instance. # Sets the scheduling options for this instance. "automaticRestart": True or False, # Specifies whether the instance should be automatically restarted if it is terminated by Compute Engine (not terminated by a user). You can only set the automatic restart option for standard instances. Preemptible instances cannot be automatically restarted. By default, this is set to true so an instance is automatically restarted if it is terminated by Compute Engine. "availabilityDomain": 42, # Specifies the availability domain (AD), which this instance should be scheduled on. The AD belongs to the spread GroupPlacementPolicy resource policy that has been assigned to the instance. Specify a value between 1-max count of availability domains in your GroupPlacementPolicy. See go/placement-policy-extension for more details. "currentCpus": 42, # Current number of vCPUs available for VM. 0 or unset means default vCPUs of the current machine type. @@ -898,7 +898,7 @@

Method Details

"resourcePolicies": [ # Resource policies (names, not URLs) applied to instances created from these properties. Note that for MachineImage, this is not supported yet. "A String", ], - "scheduling": { # Sets the scheduling options for an Instance. NextID: 21 # Specifies the scheduling options for the instances that are created from these properties. + "scheduling": { # Sets the scheduling options for an Instance. # Specifies the scheduling options for the instances that are created from these properties. "automaticRestart": True or False, # Specifies whether the instance should be automatically restarted if it is terminated by Compute Engine (not terminated by a user). You can only set the automatic restart option for standard instances. Preemptible instances cannot be automatically restarted. By default, this is set to true so an instance is automatically restarted if it is terminated by Compute Engine. "availabilityDomain": 42, # Specifies the availability domain (AD), which this instance should be scheduled on. The AD belongs to the spread GroupPlacementPolicy resource policy that has been assigned to the instance. Specify a value between 1-max count of availability domains in your GroupPlacementPolicy. See go/placement-policy-extension for more details. "currentCpus": 42, # Current number of vCPUs available for VM. 0 or unset means default vCPUs of the current machine type. @@ -1326,7 +1326,7 @@

Method Details

}, }, "satisfiesPzs": True or False, # [Output Only] Reserved for future use. - "scheduling": { # Sets the scheduling options for an Instance. NextID: 21 # Sets the scheduling options for this instance. + "scheduling": { # Sets the scheduling options for an Instance. # Sets the scheduling options for this instance. "automaticRestart": True or False, # Specifies whether the instance should be automatically restarted if it is terminated by Compute Engine (not terminated by a user). You can only set the automatic restart option for standard instances. Preemptible instances cannot be automatically restarted. By default, this is set to true so an instance is automatically restarted if it is terminated by Compute Engine. "availabilityDomain": 42, # Specifies the availability domain (AD), which this instance should be scheduled on. The AD belongs to the spread GroupPlacementPolicy resource policy that has been assigned to the instance. Specify a value between 1-max count of availability domains in your GroupPlacementPolicy. See go/placement-policy-extension for more details. "currentCpus": 42, # Current number of vCPUs available for VM. 0 or unset means default vCPUs of the current machine type. @@ -1643,7 +1643,7 @@

Method Details

"resourcePolicies": [ # Resource policies (names, not URLs) applied to instances created from these properties. Note that for MachineImage, this is not supported yet. "A String", ], - "scheduling": { # Sets the scheduling options for an Instance. NextID: 21 # Specifies the scheduling options for the instances that are created from these properties. + "scheduling": { # Sets the scheduling options for an Instance. # Specifies the scheduling options for the instances that are created from these properties. "automaticRestart": True or False, # Specifies whether the instance should be automatically restarted if it is terminated by Compute Engine (not terminated by a user). You can only set the automatic restart option for standard instances. Preemptible instances cannot be automatically restarted. By default, this is set to true so an instance is automatically restarted if it is terminated by Compute Engine. "availabilityDomain": 42, # Specifies the availability domain (AD), which this instance should be scheduled on. The AD belongs to the spread GroupPlacementPolicy resource policy that has been assigned to the instance. Specify a value between 1-max count of availability domains in your GroupPlacementPolicy. See go/placement-policy-extension for more details. "currentCpus": 42, # Current number of vCPUs available for VM. 0 or unset means default vCPUs of the current machine type. @@ -2175,7 +2175,7 @@

Method Details

}, }, "satisfiesPzs": True or False, # [Output Only] Reserved for future use. - "scheduling": { # Sets the scheduling options for an Instance. NextID: 21 # Sets the scheduling options for this instance. + "scheduling": { # Sets the scheduling options for an Instance. # Sets the scheduling options for this instance. "automaticRestart": True or False, # Specifies whether the instance should be automatically restarted if it is terminated by Compute Engine (not terminated by a user). You can only set the automatic restart option for standard instances. Preemptible instances cannot be automatically restarted. By default, this is set to true so an instance is automatically restarted if it is terminated by Compute Engine. "availabilityDomain": 42, # Specifies the availability domain (AD), which this instance should be scheduled on. The AD belongs to the spread GroupPlacementPolicy resource policy that has been assigned to the instance. Specify a value between 1-max count of availability domains in your GroupPlacementPolicy. See go/placement-policy-extension for more details. "currentCpus": 42, # Current number of vCPUs available for VM. 0 or unset means default vCPUs of the current machine type. @@ -2492,7 +2492,7 @@

Method Details

"resourcePolicies": [ # Resource policies (names, not URLs) applied to instances created from these properties. Note that for MachineImage, this is not supported yet. "A String", ], - "scheduling": { # Sets the scheduling options for an Instance. NextID: 21 # Specifies the scheduling options for the instances that are created from these properties. + "scheduling": { # Sets the scheduling options for an Instance. # Specifies the scheduling options for the instances that are created from these properties. "automaticRestart": True or False, # Specifies whether the instance should be automatically restarted if it is terminated by Compute Engine (not terminated by a user). You can only set the automatic restart option for standard instances. Preemptible instances cannot be automatically restarted. By default, this is set to true so an instance is automatically restarted if it is terminated by Compute Engine. "availabilityDomain": 42, # Specifies the availability domain (AD), which this instance should be scheduled on. The AD belongs to the spread GroupPlacementPolicy resource policy that has been assigned to the instance. Specify a value between 1-max count of availability domains in your GroupPlacementPolicy. See go/placement-policy-extension for more details. "currentCpus": 42, # Current number of vCPUs available for VM. 0 or unset means default vCPUs of the current machine type. diff --git a/docs/dyn/compute_beta.disks.html b/docs/dyn/compute_beta.disks.html index 0728668bd9f..6db4d91e6c1 100644 --- a/docs/dyn/compute_beta.disks.html +++ b/docs/dyn/compute_beta.disks.html @@ -284,6 +284,11 @@

Method Details

"multiWriter": True or False, # Indicates whether or not the disk can be read/write attached to more than one instance. "name": "A String", # Name of the resource. Provided by the client when the resource is created. The name must be 1-63 characters long, and comply with RFC1035. Specifically, the name must be 1-63 characters long and match the regular expression `[a-z]([-a-z0-9]*[a-z0-9])?` which means the first character must be a lowercase letter, and all following characters must be a dash, lowercase letter, or digit, except the last character, which cannot be a dash. "options": "A String", # Internal use only. + "params": { # Additional disk params. # Input only. [Input Only] Additional params passed with the request, but not persisted as part of resource payload. + "resourceManagerTags": { # Resource manager tags to be bound to the disk. Tag keys and values have the same definition as resource manager tags. Keys must be in the format `tagKeys/{tag_key_id}`, and values are in the format `tagValues/456`. The field is ignored (both PUT & PATCH) when empty. + "a_key": "A String", + }, + }, "physicalBlockSizeBytes": "A String", # Physical block size of the persistent disk, in bytes. If not present in a request, a default value is used. The currently supported size is 4096, other sizes may be added in the future. If an unsupported value is requested, the error message will list the supported values for the caller's project. "provisionedIops": "A String", # Indicates how many IOPS to provision for the disk. This sets the number of I/O operations per second that the disk can handle. Values must be between 10,000 and 120,000. For more details, see the Extreme persistent disk documentation. "region": "A String", # [Output Only] URL of the region where the disk resides. Only applicable for regional resources. You must specify this field as part of the HTTP request URL. It is not settable as a field in the request body. @@ -666,6 +671,11 @@

Method Details

"multiWriter": True or False, # Indicates whether or not the disk can be read/write attached to more than one instance. "name": "A String", # Name of the resource. Provided by the client when the resource is created. The name must be 1-63 characters long, and comply with RFC1035. Specifically, the name must be 1-63 characters long and match the regular expression `[a-z]([-a-z0-9]*[a-z0-9])?` which means the first character must be a lowercase letter, and all following characters must be a dash, lowercase letter, or digit, except the last character, which cannot be a dash. "options": "A String", # Internal use only. + "params": { # Additional disk params. # Input only. [Input Only] Additional params passed with the request, but not persisted as part of resource payload. + "resourceManagerTags": { # Resource manager tags to be bound to the disk. Tag keys and values have the same definition as resource manager tags. Keys must be in the format `tagKeys/{tag_key_id}`, and values are in the format `tagValues/456`. The field is ignored (both PUT & PATCH) when empty. + "a_key": "A String", + }, + }, "physicalBlockSizeBytes": "A String", # Physical block size of the persistent disk, in bytes. If not present in a request, a default value is used. The currently supported size is 4096, other sizes may be added in the future. If an unsupported value is requested, the error message will list the supported values for the caller's project. "provisionedIops": "A String", # Indicates how many IOPS to provision for the disk. This sets the number of I/O operations per second that the disk can handle. Values must be between 10,000 and 120,000. For more details, see the Extreme persistent disk documentation. "region": "A String", # [Output Only] URL of the region where the disk resides. Only applicable for regional resources. You must specify this field as part of the HTTP request URL. It is not settable as a field in the request body. @@ -863,6 +873,11 @@

Method Details

"multiWriter": True or False, # Indicates whether or not the disk can be read/write attached to more than one instance. "name": "A String", # Name of the resource. Provided by the client when the resource is created. The name must be 1-63 characters long, and comply with RFC1035. Specifically, the name must be 1-63 characters long and match the regular expression `[a-z]([-a-z0-9]*[a-z0-9])?` which means the first character must be a lowercase letter, and all following characters must be a dash, lowercase letter, or digit, except the last character, which cannot be a dash. "options": "A String", # Internal use only. + "params": { # Additional disk params. # Input only. [Input Only] Additional params passed with the request, but not persisted as part of resource payload. + "resourceManagerTags": { # Resource manager tags to be bound to the disk. Tag keys and values have the same definition as resource manager tags. Keys must be in the format `tagKeys/{tag_key_id}`, and values are in the format `tagValues/456`. The field is ignored (both PUT & PATCH) when empty. + "a_key": "A String", + }, + }, "physicalBlockSizeBytes": "A String", # Physical block size of the persistent disk, in bytes. If not present in a request, a default value is used. The currently supported size is 4096, other sizes may be added in the future. If an unsupported value is requested, the error message will list the supported values for the caller's project. "provisionedIops": "A String", # Indicates how many IOPS to provision for the disk. This sets the number of I/O operations per second that the disk can handle. Values must be between 10,000 and 120,000. For more details, see the Extreme persistent disk documentation. "region": "A String", # [Output Only] URL of the region where the disk resides. Only applicable for regional resources. You must specify this field as part of the HTTP request URL. It is not settable as a field in the request body. @@ -1048,6 +1063,11 @@

Method Details

"multiWriter": True or False, # Indicates whether or not the disk can be read/write attached to more than one instance. "name": "A String", # Name of the resource. Provided by the client when the resource is created. The name must be 1-63 characters long, and comply with RFC1035. Specifically, the name must be 1-63 characters long and match the regular expression `[a-z]([-a-z0-9]*[a-z0-9])?` which means the first character must be a lowercase letter, and all following characters must be a dash, lowercase letter, or digit, except the last character, which cannot be a dash. "options": "A String", # Internal use only. + "params": { # Additional disk params. # Input only. [Input Only] Additional params passed with the request, but not persisted as part of resource payload. + "resourceManagerTags": { # Resource manager tags to be bound to the disk. Tag keys and values have the same definition as resource manager tags. Keys must be in the format `tagKeys/{tag_key_id}`, and values are in the format `tagValues/456`. The field is ignored (both PUT & PATCH) when empty. + "a_key": "A String", + }, + }, "physicalBlockSizeBytes": "A String", # Physical block size of the persistent disk, in bytes. If not present in a request, a default value is used. The currently supported size is 4096, other sizes may be added in the future. If an unsupported value is requested, the error message will list the supported values for the caller's project. "provisionedIops": "A String", # Indicates how many IOPS to provision for the disk. This sets the number of I/O operations per second that the disk can handle. Values must be between 10,000 and 120,000. For more details, see the Extreme persistent disk documentation. "region": "A String", # [Output Only] URL of the region where the disk resides. Only applicable for regional resources. You must specify this field as part of the HTTP request URL. It is not settable as a field in the request body. @@ -1700,6 +1720,11 @@

Method Details

"multiWriter": True or False, # Indicates whether or not the disk can be read/write attached to more than one instance. "name": "A String", # Name of the resource. Provided by the client when the resource is created. The name must be 1-63 characters long, and comply with RFC1035. Specifically, the name must be 1-63 characters long and match the regular expression `[a-z]([-a-z0-9]*[a-z0-9])?` which means the first character must be a lowercase letter, and all following characters must be a dash, lowercase letter, or digit, except the last character, which cannot be a dash. "options": "A String", # Internal use only. + "params": { # Additional disk params. # Input only. [Input Only] Additional params passed with the request, but not persisted as part of resource payload. + "resourceManagerTags": { # Resource manager tags to be bound to the disk. Tag keys and values have the same definition as resource manager tags. Keys must be in the format `tagKeys/{tag_key_id}`, and values are in the format `tagValues/456`. The field is ignored (both PUT & PATCH) when empty. + "a_key": "A String", + }, + }, "physicalBlockSizeBytes": "A String", # Physical block size of the persistent disk, in bytes. If not present in a request, a default value is used. The currently supported size is 4096, other sizes may be added in the future. If an unsupported value is requested, the error message will list the supported values for the caller's project. "provisionedIops": "A String", # Indicates how many IOPS to provision for the disk. This sets the number of I/O operations per second that the disk can handle. Values must be between 10,000 and 120,000. For more details, see the Extreme persistent disk documentation. "region": "A String", # [Output Only] URL of the region where the disk resides. Only applicable for regional resources. You must specify this field as part of the HTTP request URL. It is not settable as a field in the request body. diff --git a/docs/dyn/compute_beta.instanceTemplates.html b/docs/dyn/compute_beta.instanceTemplates.html index b8012d853eb..10fa91f7225 100644 --- a/docs/dyn/compute_beta.instanceTemplates.html +++ b/docs/dyn/compute_beta.instanceTemplates.html @@ -266,6 +266,9 @@

Method Details

"multiWriter": True or False, # Indicates whether or not the disk can be read/write attached to more than one instance. "onUpdateAction": "A String", # Specifies which action to take on instance update with this disk. Default is to use the existing disk. "provisionedIops": "A String", # Indicates how many IOPS to provision for the disk. This sets the number of I/O operations per second that the disk can handle. Values must be between 10,000 and 120,000. For more details, see the Extreme persistent disk documentation. + "resourceManagerTags": { # Resource manager tags to be bound to the disk. Tag keys and values have the same definition as resource manager tags. Keys must be in the format `tagKeys/{tag_key_id}`, and values are in the format `tagValues/456`. The field is ignored (both PUT & PATCH) when empty. + "a_key": "A String", + }, "resourcePolicies": [ # Resource policies applied to this disk for automatic snapshot creations. Specified using the full or partial URL. For instance template, specify only the resource policy name. "A String", ], @@ -415,7 +418,7 @@

Method Details

"resourcePolicies": [ # Resource policies (names, not URLs) applied to instances created from these properties. Note that for MachineImage, this is not supported yet. "A String", ], - "scheduling": { # Sets the scheduling options for an Instance. NextID: 21 # Specifies the scheduling options for the instances that are created from these properties. + "scheduling": { # Sets the scheduling options for an Instance. # Specifies the scheduling options for the instances that are created from these properties. "automaticRestart": True or False, # Specifies whether the instance should be automatically restarted if it is terminated by Compute Engine (not terminated by a user). You can only set the automatic restart option for standard instances. Preemptible instances cannot be automatically restarted. By default, this is set to true so an instance is automatically restarted if it is terminated by Compute Engine. "hostErrorTimeoutSeconds": 42, # Specify the time in seconds for host error detection, the value must be within the range of [90, 330] with the increment of 30, if unset, the default behavior of host error recovery will be used. "instanceTerminationAction": "A String", # Specifies the termination action for the instance. @@ -646,6 +649,9 @@

Method Details

"multiWriter": True or False, # Indicates whether or not the disk can be read/write attached to more than one instance. "onUpdateAction": "A String", # Specifies which action to take on instance update with this disk. Default is to use the existing disk. "provisionedIops": "A String", # Indicates how many IOPS to provision for the disk. This sets the number of I/O operations per second that the disk can handle. Values must be between 10,000 and 120,000. For more details, see the Extreme persistent disk documentation. + "resourceManagerTags": { # Resource manager tags to be bound to the disk. Tag keys and values have the same definition as resource manager tags. Keys must be in the format `tagKeys/{tag_key_id}`, and values are in the format `tagValues/456`. The field is ignored (both PUT & PATCH) when empty. + "a_key": "A String", + }, "resourcePolicies": [ # Resource policies applied to this disk for automatic snapshot creations. Specified using the full or partial URL. For instance template, specify only the resource policy name. "A String", ], @@ -795,7 +801,7 @@

Method Details

"resourcePolicies": [ # Resource policies (names, not URLs) applied to instances created from these properties. Note that for MachineImage, this is not supported yet. "A String", ], - "scheduling": { # Sets the scheduling options for an Instance. NextID: 21 # Specifies the scheduling options for the instances that are created from these properties. + "scheduling": { # Sets the scheduling options for an Instance. # Specifies the scheduling options for the instances that are created from these properties. "automaticRestart": True or False, # Specifies whether the instance should be automatically restarted if it is terminated by Compute Engine (not terminated by a user). You can only set the automatic restart option for standard instances. Preemptible instances cannot be automatically restarted. By default, this is set to true so an instance is automatically restarted if it is terminated by Compute Engine. "hostErrorTimeoutSeconds": 42, # Specify the time in seconds for host error detection, the value must be within the range of [90, 330] with the increment of 30, if unset, the default behavior of host error recovery will be used. "instanceTerminationAction": "A String", # Specifies the termination action for the instance. @@ -1014,6 +1020,9 @@

Method Details

"multiWriter": True or False, # Indicates whether or not the disk can be read/write attached to more than one instance. "onUpdateAction": "A String", # Specifies which action to take on instance update with this disk. Default is to use the existing disk. "provisionedIops": "A String", # Indicates how many IOPS to provision for the disk. This sets the number of I/O operations per second that the disk can handle. Values must be between 10,000 and 120,000. For more details, see the Extreme persistent disk documentation. + "resourceManagerTags": { # Resource manager tags to be bound to the disk. Tag keys and values have the same definition as resource manager tags. Keys must be in the format `tagKeys/{tag_key_id}`, and values are in the format `tagValues/456`. The field is ignored (both PUT & PATCH) when empty. + "a_key": "A String", + }, "resourcePolicies": [ # Resource policies applied to this disk for automatic snapshot creations. Specified using the full or partial URL. For instance template, specify only the resource policy name. "A String", ], @@ -1163,7 +1172,7 @@

Method Details

"resourcePolicies": [ # Resource policies (names, not URLs) applied to instances created from these properties. Note that for MachineImage, this is not supported yet. "A String", ], - "scheduling": { # Sets the scheduling options for an Instance. NextID: 21 # Specifies the scheduling options for the instances that are created from these properties. + "scheduling": { # Sets the scheduling options for an Instance. # Specifies the scheduling options for the instances that are created from these properties. "automaticRestart": True or False, # Specifies whether the instance should be automatically restarted if it is terminated by Compute Engine (not terminated by a user). You can only set the automatic restart option for standard instances. Preemptible instances cannot be automatically restarted. By default, this is set to true so an instance is automatically restarted if it is terminated by Compute Engine. "hostErrorTimeoutSeconds": 42, # Specify the time in seconds for host error detection, the value must be within the range of [90, 330] with the increment of 30, if unset, the default behavior of host error recovery will be used. "instanceTerminationAction": "A String", # Specifies the termination action for the instance. diff --git a/docs/dyn/compute_beta.instances.html b/docs/dyn/compute_beta.instances.html index f6e5d4175f2..6f980533b13 100644 --- a/docs/dyn/compute_beta.instances.html +++ b/docs/dyn/compute_beta.instances.html @@ -513,6 +513,9 @@

Method Details

"multiWriter": True or False, # Indicates whether or not the disk can be read/write attached to more than one instance. "onUpdateAction": "A String", # Specifies which action to take on instance update with this disk. Default is to use the existing disk. "provisionedIops": "A String", # Indicates how many IOPS to provision for the disk. This sets the number of I/O operations per second that the disk can handle. Values must be between 10,000 and 120,000. For more details, see the Extreme persistent disk documentation. + "resourceManagerTags": { # Resource manager tags to be bound to the disk. Tag keys and values have the same definition as resource manager tags. Keys must be in the format `tagKeys/{tag_key_id}`, and values are in the format `tagValues/456`. The field is ignored (both PUT & PATCH) when empty. + "a_key": "A String", + }, "resourcePolicies": [ # Resource policies applied to this disk for automatic snapshot creations. Specified using the full or partial URL. For instance template, specify only the resource policy name. "A String", ], @@ -675,7 +678,7 @@

Method Details

"A String", ], "satisfiesPzs": True or False, # [Output Only] Reserved for future use. - "scheduling": { # Sets the scheduling options for an Instance. NextID: 21 # Sets the scheduling options for this instance. + "scheduling": { # Sets the scheduling options for an Instance. # Sets the scheduling options for this instance. "automaticRestart": True or False, # Specifies whether the instance should be automatically restarted if it is terminated by Compute Engine (not terminated by a user). You can only set the automatic restart option for standard instances. Preemptible instances cannot be automatically restarted. By default, this is set to true so an instance is automatically restarted if it is terminated by Compute Engine. "hostErrorTimeoutSeconds": 42, # Specify the time in seconds for host error detection, the value must be within the range of [90, 330] with the increment of 30, if unset, the default behavior of host error recovery will be used. "instanceTerminationAction": "A String", # Specifies the termination action for the instance. @@ -836,6 +839,9 @@

Method Details

"multiWriter": True or False, # Indicates whether or not the disk can be read/write attached to more than one instance. "onUpdateAction": "A String", # Specifies which action to take on instance update with this disk. Default is to use the existing disk. "provisionedIops": "A String", # Indicates how many IOPS to provision for the disk. This sets the number of I/O operations per second that the disk can handle. Values must be between 10,000 and 120,000. For more details, see the Extreme persistent disk documentation. + "resourceManagerTags": { # Resource manager tags to be bound to the disk. Tag keys and values have the same definition as resource manager tags. Keys must be in the format `tagKeys/{tag_key_id}`, and values are in the format `tagValues/456`. The field is ignored (both PUT & PATCH) when empty. + "a_key": "A String", + }, "resourcePolicies": [ # Resource policies applied to this disk for automatic snapshot creations. Specified using the full or partial URL. For instance template, specify only the resource policy name. "A String", ], @@ -1038,6 +1044,9 @@

Method Details

"multiWriter": True or False, # Indicates whether or not the disk can be read/write attached to more than one instance. "onUpdateAction": "A String", # Specifies which action to take on instance update with this disk. Default is to use the existing disk. "provisionedIops": "A String", # Indicates how many IOPS to provision for the disk. This sets the number of I/O operations per second that the disk can handle. Values must be between 10,000 and 120,000. For more details, see the Extreme persistent disk documentation. + "resourceManagerTags": { # Resource manager tags to be bound to the disk. Tag keys and values have the same definition as resource manager tags. Keys must be in the format `tagKeys/{tag_key_id}`, and values are in the format `tagValues/456`. The field is ignored (both PUT & PATCH) when empty. + "a_key": "A String", + }, "resourcePolicies": [ # Resource policies applied to this disk for automatic snapshot creations. Specified using the full or partial URL. For instance template, specify only the resource policy name. "A String", ], @@ -1187,7 +1196,7 @@

Method Details

"resourcePolicies": [ # Resource policies (names, not URLs) applied to instances created from these properties. Note that for MachineImage, this is not supported yet. "A String", ], - "scheduling": { # Sets the scheduling options for an Instance. NextID: 21 # Specifies the scheduling options for the instances that are created from these properties. + "scheduling": { # Sets the scheduling options for an Instance. # Specifies the scheduling options for the instances that are created from these properties. "automaticRestart": True or False, # Specifies whether the instance should be automatically restarted if it is terminated by Compute Engine (not terminated by a user). You can only set the automatic restart option for standard instances. Preemptible instances cannot be automatically restarted. By default, this is set to true so an instance is automatically restarted if it is terminated by Compute Engine. "hostErrorTimeoutSeconds": 42, # Specify the time in seconds for host error detection, the value must be within the range of [90, 330] with the increment of 30, if unset, the default behavior of host error recovery will be used. "instanceTerminationAction": "A String", # Specifies the termination action for the instance. @@ -1673,6 +1682,9 @@

Method Details

"multiWriter": True or False, # Indicates whether or not the disk can be read/write attached to more than one instance. "onUpdateAction": "A String", # Specifies which action to take on instance update with this disk. Default is to use the existing disk. "provisionedIops": "A String", # Indicates how many IOPS to provision for the disk. This sets the number of I/O operations per second that the disk can handle. Values must be between 10,000 and 120,000. For more details, see the Extreme persistent disk documentation. + "resourceManagerTags": { # Resource manager tags to be bound to the disk. Tag keys and values have the same definition as resource manager tags. Keys must be in the format `tagKeys/{tag_key_id}`, and values are in the format `tagValues/456`. The field is ignored (both PUT & PATCH) when empty. + "a_key": "A String", + }, "resourcePolicies": [ # Resource policies applied to this disk for automatic snapshot creations. Specified using the full or partial URL. For instance template, specify only the resource policy name. "A String", ], @@ -1835,7 +1847,7 @@

Method Details

"A String", ], "satisfiesPzs": True or False, # [Output Only] Reserved for future use. - "scheduling": { # Sets the scheduling options for an Instance. NextID: 21 # Sets the scheduling options for this instance. + "scheduling": { # Sets the scheduling options for an Instance. # Sets the scheduling options for this instance. "automaticRestart": True or False, # Specifies whether the instance should be automatically restarted if it is terminated by Compute Engine (not terminated by a user). You can only set the automatic restart option for standard instances. Preemptible instances cannot be automatically restarted. By default, this is set to true so an instance is automatically restarted if it is terminated by Compute Engine. "hostErrorTimeoutSeconds": 42, # Specify the time in seconds for host error detection, the value must be within the range of [90, 330] with the increment of 30, if unset, the default behavior of host error recovery will be used. "instanceTerminationAction": "A String", # Specifies the termination action for the instance. @@ -2441,6 +2453,9 @@

Method Details

"multiWriter": True or False, # Indicates whether or not the disk can be read/write attached to more than one instance. "onUpdateAction": "A String", # Specifies which action to take on instance update with this disk. Default is to use the existing disk. "provisionedIops": "A String", # Indicates how many IOPS to provision for the disk. This sets the number of I/O operations per second that the disk can handle. Values must be between 10,000 and 120,000. For more details, see the Extreme persistent disk documentation. + "resourceManagerTags": { # Resource manager tags to be bound to the disk. Tag keys and values have the same definition as resource manager tags. Keys must be in the format `tagKeys/{tag_key_id}`, and values are in the format `tagValues/456`. The field is ignored (both PUT & PATCH) when empty. + "a_key": "A String", + }, "resourcePolicies": [ # Resource policies applied to this disk for automatic snapshot creations. Specified using the full or partial URL. For instance template, specify only the resource policy name. "A String", ], @@ -2603,7 +2618,7 @@

Method Details

"A String", ], "satisfiesPzs": True or False, # [Output Only] Reserved for future use. - "scheduling": { # Sets the scheduling options for an Instance. NextID: 21 # Sets the scheduling options for this instance. + "scheduling": { # Sets the scheduling options for an Instance. # Sets the scheduling options for this instance. "automaticRestart": True or False, # Specifies whether the instance should be automatically restarted if it is terminated by Compute Engine (not terminated by a user). You can only set the automatic restart option for standard instances. Preemptible instances cannot be automatically restarted. By default, this is set to true so an instance is automatically restarted if it is terminated by Compute Engine. "hostErrorTimeoutSeconds": 42, # Specify the time in seconds for host error detection, the value must be within the range of [90, 330] with the increment of 30, if unset, the default behavior of host error recovery will be used. "instanceTerminationAction": "A String", # Specifies the termination action for the instance. @@ -2828,6 +2843,9 @@

Method Details

"multiWriter": True or False, # Indicates whether or not the disk can be read/write attached to more than one instance. "onUpdateAction": "A String", # Specifies which action to take on instance update with this disk. Default is to use the existing disk. "provisionedIops": "A String", # Indicates how many IOPS to provision for the disk. This sets the number of I/O operations per second that the disk can handle. Values must be between 10,000 and 120,000. For more details, see the Extreme persistent disk documentation. + "resourceManagerTags": { # Resource manager tags to be bound to the disk. Tag keys and values have the same definition as resource manager tags. Keys must be in the format `tagKeys/{tag_key_id}`, and values are in the format `tagValues/456`. The field is ignored (both PUT & PATCH) when empty. + "a_key": "A String", + }, "resourcePolicies": [ # Resource policies applied to this disk for automatic snapshot creations. Specified using the full or partial URL. For instance template, specify only the resource policy name. "A String", ], @@ -2990,7 +3008,7 @@

Method Details

"A String", ], "satisfiesPzs": True or False, # [Output Only] Reserved for future use. - "scheduling": { # Sets the scheduling options for an Instance. NextID: 21 # Sets the scheduling options for this instance. + "scheduling": { # Sets the scheduling options for an Instance. # Sets the scheduling options for this instance. "automaticRestart": True or False, # Specifies whether the instance should be automatically restarted if it is terminated by Compute Engine (not terminated by a user). You can only set the automatic restart option for standard instances. Preemptible instances cannot be automatically restarted. By default, this is set to true so an instance is automatically restarted if it is terminated by Compute Engine. "hostErrorTimeoutSeconds": 42, # Specify the time in seconds for host error detection, the value must be within the range of [90, 330] with the increment of 30, if unset, the default behavior of host error recovery will be used. "instanceTerminationAction": "A String", # Specifies the termination action for the instance. @@ -4435,7 +4453,7 @@

Method Details

body: object, The request body. The object takes the form of: -{ # Sets the scheduling options for an Instance. NextID: 21 +{ # Sets the scheduling options for an Instance. "automaticRestart": True or False, # Specifies whether the instance should be automatically restarted if it is terminated by Compute Engine (not terminated by a user). You can only set the automatic restart option for standard instances. Preemptible instances cannot be automatically restarted. By default, this is set to true so an instance is automatically restarted if it is terminated by Compute Engine. "hostErrorTimeoutSeconds": 42, # Specify the time in seconds for host error detection, the value must be within the range of [90, 330] with the increment of 30, if unset, the default behavior of host error recovery will be used. "instanceTerminationAction": "A String", # Specifies the termination action for the instance. @@ -5469,6 +5487,9 @@

Method Details

"multiWriter": True or False, # Indicates whether or not the disk can be read/write attached to more than one instance. "onUpdateAction": "A String", # Specifies which action to take on instance update with this disk. Default is to use the existing disk. "provisionedIops": "A String", # Indicates how many IOPS to provision for the disk. This sets the number of I/O operations per second that the disk can handle. Values must be between 10,000 and 120,000. For more details, see the Extreme persistent disk documentation. + "resourceManagerTags": { # Resource manager tags to be bound to the disk. Tag keys and values have the same definition as resource manager tags. Keys must be in the format `tagKeys/{tag_key_id}`, and values are in the format `tagValues/456`. The field is ignored (both PUT & PATCH) when empty. + "a_key": "A String", + }, "resourcePolicies": [ # Resource policies applied to this disk for automatic snapshot creations. Specified using the full or partial URL. For instance template, specify only the resource policy name. "A String", ], @@ -5631,7 +5652,7 @@

Method Details

"A String", ], "satisfiesPzs": True or False, # [Output Only] Reserved for future use. - "scheduling": { # Sets the scheduling options for an Instance. NextID: 21 # Sets the scheduling options for this instance. + "scheduling": { # Sets the scheduling options for an Instance. # Sets the scheduling options for this instance. "automaticRestart": True or False, # Specifies whether the instance should be automatically restarted if it is terminated by Compute Engine (not terminated by a user). You can only set the automatic restart option for standard instances. Preemptible instances cannot be automatically restarted. By default, this is set to true so an instance is automatically restarted if it is terminated by Compute Engine. "hostErrorTimeoutSeconds": 42, # Specify the time in seconds for host error detection, the value must be within the range of [90, 330] with the increment of 30, if unset, the default behavior of host error recovery will be used. "instanceTerminationAction": "A String", # Specifies the termination action for the instance. diff --git a/docs/dyn/compute_beta.machineImages.html b/docs/dyn/compute_beta.machineImages.html index 4e25f530670..f01c28791e9 100644 --- a/docs/dyn/compute_beta.machineImages.html +++ b/docs/dyn/compute_beta.machineImages.html @@ -265,6 +265,9 @@

Method Details

"multiWriter": True or False, # Indicates whether or not the disk can be read/write attached to more than one instance. "onUpdateAction": "A String", # Specifies which action to take on instance update with this disk. Default is to use the existing disk. "provisionedIops": "A String", # Indicates how many IOPS to provision for the disk. This sets the number of I/O operations per second that the disk can handle. Values must be between 10,000 and 120,000. For more details, see the Extreme persistent disk documentation. + "resourceManagerTags": { # Resource manager tags to be bound to the disk. Tag keys and values have the same definition as resource manager tags. Keys must be in the format `tagKeys/{tag_key_id}`, and values are in the format `tagValues/456`. The field is ignored (both PUT & PATCH) when empty. + "a_key": "A String", + }, "resourcePolicies": [ # Resource policies applied to this disk for automatic snapshot creations. Specified using the full or partial URL. For instance template, specify only the resource policy name. "A String", ], @@ -414,7 +417,7 @@

Method Details

"resourcePolicies": [ # Resource policies (names, not URLs) applied to instances created from these properties. Note that for MachineImage, this is not supported yet. "A String", ], - "scheduling": { # Sets the scheduling options for an Instance. NextID: 21 # Specifies the scheduling options for the instances that are created from these properties. + "scheduling": { # Sets the scheduling options for an Instance. # Specifies the scheduling options for the instances that are created from these properties. "automaticRestart": True or False, # Specifies whether the instance should be automatically restarted if it is terminated by Compute Engine (not terminated by a user). You can only set the automatic restart option for standard instances. Preemptible instances cannot be automatically restarted. By default, this is set to true so an instance is automatically restarted if it is terminated by Compute Engine. "hostErrorTimeoutSeconds": 42, # Specify the time in seconds for host error detection, the value must be within the range of [90, 330] with the increment of 30, if unset, the default behavior of host error recovery will be used. "instanceTerminationAction": "A String", # Specifies the termination action for the instance. @@ -600,7 +603,7 @@

Method Details

}, ], "postKeyRevocationActionType": "A String", # PostKeyRevocationActionType of the instance. - "scheduling": { # Sets the scheduling options for an Instance. NextID: 21 # Specifies the scheduling options for the instances that are created from this machine image. + "scheduling": { # Sets the scheduling options for an Instance. # Specifies the scheduling options for the instances that are created from this machine image. "automaticRestart": True or False, # Specifies whether the instance should be automatically restarted if it is terminated by Compute Engine (not terminated by a user). You can only set the automatic restart option for standard instances. Preemptible instances cannot be automatically restarted. By default, this is set to true so an instance is automatically restarted if it is terminated by Compute Engine. "hostErrorTimeoutSeconds": 42, # Specify the time in seconds for host error detection, the value must be within the range of [90, 330] with the increment of 30, if unset, the default behavior of host error recovery will be used. "instanceTerminationAction": "A String", # Specifies the termination action for the instance. @@ -813,6 +816,9 @@

Method Details

"multiWriter": True or False, # Indicates whether or not the disk can be read/write attached to more than one instance. "onUpdateAction": "A String", # Specifies which action to take on instance update with this disk. Default is to use the existing disk. "provisionedIops": "A String", # Indicates how many IOPS to provision for the disk. This sets the number of I/O operations per second that the disk can handle. Values must be between 10,000 and 120,000. For more details, see the Extreme persistent disk documentation. + "resourceManagerTags": { # Resource manager tags to be bound to the disk. Tag keys and values have the same definition as resource manager tags. Keys must be in the format `tagKeys/{tag_key_id}`, and values are in the format `tagValues/456`. The field is ignored (both PUT & PATCH) when empty. + "a_key": "A String", + }, "resourcePolicies": [ # Resource policies applied to this disk for automatic snapshot creations. Specified using the full or partial URL. For instance template, specify only the resource policy name. "A String", ], @@ -962,7 +968,7 @@

Method Details

"resourcePolicies": [ # Resource policies (names, not URLs) applied to instances created from these properties. Note that for MachineImage, this is not supported yet. "A String", ], - "scheduling": { # Sets the scheduling options for an Instance. NextID: 21 # Specifies the scheduling options for the instances that are created from these properties. + "scheduling": { # Sets the scheduling options for an Instance. # Specifies the scheduling options for the instances that are created from these properties. "automaticRestart": True or False, # Specifies whether the instance should be automatically restarted if it is terminated by Compute Engine (not terminated by a user). You can only set the automatic restart option for standard instances. Preemptible instances cannot be automatically restarted. By default, this is set to true so an instance is automatically restarted if it is terminated by Compute Engine. "hostErrorTimeoutSeconds": 42, # Specify the time in seconds for host error detection, the value must be within the range of [90, 330] with the increment of 30, if unset, the default behavior of host error recovery will be used. "instanceTerminationAction": "A String", # Specifies the termination action for the instance. @@ -1148,7 +1154,7 @@

Method Details

}, ], "postKeyRevocationActionType": "A String", # PostKeyRevocationActionType of the instance. - "scheduling": { # Sets the scheduling options for an Instance. NextID: 21 # Specifies the scheduling options for the instances that are created from this machine image. + "scheduling": { # Sets the scheduling options for an Instance. # Specifies the scheduling options for the instances that are created from this machine image. "automaticRestart": True or False, # Specifies whether the instance should be automatically restarted if it is terminated by Compute Engine (not terminated by a user). You can only set the automatic restart option for standard instances. Preemptible instances cannot be automatically restarted. By default, this is set to true so an instance is automatically restarted if it is terminated by Compute Engine. "hostErrorTimeoutSeconds": 42, # Specify the time in seconds for host error detection, the value must be within the range of [90, 330] with the increment of 30, if unset, the default behavior of host error recovery will be used. "instanceTerminationAction": "A String", # Specifies the termination action for the instance. @@ -1350,6 +1356,9 @@

Method Details

"multiWriter": True or False, # Indicates whether or not the disk can be read/write attached to more than one instance. "onUpdateAction": "A String", # Specifies which action to take on instance update with this disk. Default is to use the existing disk. "provisionedIops": "A String", # Indicates how many IOPS to provision for the disk. This sets the number of I/O operations per second that the disk can handle. Values must be between 10,000 and 120,000. For more details, see the Extreme persistent disk documentation. + "resourceManagerTags": { # Resource manager tags to be bound to the disk. Tag keys and values have the same definition as resource manager tags. Keys must be in the format `tagKeys/{tag_key_id}`, and values are in the format `tagValues/456`. The field is ignored (both PUT & PATCH) when empty. + "a_key": "A String", + }, "resourcePolicies": [ # Resource policies applied to this disk for automatic snapshot creations. Specified using the full or partial URL. For instance template, specify only the resource policy name. "A String", ], @@ -1499,7 +1508,7 @@

Method Details

"resourcePolicies": [ # Resource policies (names, not URLs) applied to instances created from these properties. Note that for MachineImage, this is not supported yet. "A String", ], - "scheduling": { # Sets the scheduling options for an Instance. NextID: 21 # Specifies the scheduling options for the instances that are created from these properties. + "scheduling": { # Sets the scheduling options for an Instance. # Specifies the scheduling options for the instances that are created from these properties. "automaticRestart": True or False, # Specifies whether the instance should be automatically restarted if it is terminated by Compute Engine (not terminated by a user). You can only set the automatic restart option for standard instances. Preemptible instances cannot be automatically restarted. By default, this is set to true so an instance is automatically restarted if it is terminated by Compute Engine. "hostErrorTimeoutSeconds": 42, # Specify the time in seconds for host error detection, the value must be within the range of [90, 330] with the increment of 30, if unset, the default behavior of host error recovery will be used. "instanceTerminationAction": "A String", # Specifies the termination action for the instance. @@ -1685,7 +1694,7 @@

Method Details

}, ], "postKeyRevocationActionType": "A String", # PostKeyRevocationActionType of the instance. - "scheduling": { # Sets the scheduling options for an Instance. NextID: 21 # Specifies the scheduling options for the instances that are created from this machine image. + "scheduling": { # Sets the scheduling options for an Instance. # Specifies the scheduling options for the instances that are created from this machine image. "automaticRestart": True or False, # Specifies whether the instance should be automatically restarted if it is terminated by Compute Engine (not terminated by a user). You can only set the automatic restart option for standard instances. Preemptible instances cannot be automatically restarted. By default, this is set to true so an instance is automatically restarted if it is terminated by Compute Engine. "hostErrorTimeoutSeconds": 42, # Specify the time in seconds for host error detection, the value must be within the range of [90, 330] with the increment of 30, if unset, the default behavior of host error recovery will be used. "instanceTerminationAction": "A String", # Specifies the termination action for the instance. diff --git a/docs/dyn/compute_beta.organizationSecurityPolicies.html b/docs/dyn/compute_beta.organizationSecurityPolicies.html index 39667f97b84..ca3f8231176 100644 --- a/docs/dyn/compute_beta.organizationSecurityPolicies.html +++ b/docs/dyn/compute_beta.organizationSecurityPolicies.html @@ -588,6 +588,11 @@

Method Details

}, }, "advancedOptionsConfig": { + "jsonCustomConfig": { # Custom configuration to apply the JSON parsing. Only applicable when json_parsing is set to STANDARD. + "contentTypes": [ # A list of custom Content-Type header values to apply the JSON parsing. As per RFC 1341, a Content-Type header value has the following format: Content-Type := type "/" subtype *[";" parameter] When configuring a custom Content-Type header value, only the type/subtype needs to be specified, and the parameters should be excluded. + "A String", + ], + }, "jsonParsing": "A String", "logLevel": "A String", }, @@ -835,6 +840,11 @@

Method Details

}, }, "advancedOptionsConfig": { + "jsonCustomConfig": { # Custom configuration to apply the JSON parsing. Only applicable when json_parsing is set to STANDARD. + "contentTypes": [ # A list of custom Content-Type header values to apply the JSON parsing. As per RFC 1341, a Content-Type header value has the following format: Content-Type := type "/" subtype *[";" parameter] When configuring a custom Content-Type header value, only the type/subtype needs to be specified, and the parameters should be excluded. + "A String", + ], + }, "jsonParsing": "A String", "logLevel": "A String", }, @@ -1062,6 +1072,11 @@

Method Details

}, }, "advancedOptionsConfig": { + "jsonCustomConfig": { # Custom configuration to apply the JSON parsing. Only applicable when json_parsing is set to STANDARD. + "contentTypes": [ # A list of custom Content-Type header values to apply the JSON parsing. As per RFC 1341, a Content-Type header value has the following format: Content-Type := type "/" subtype *[";" parameter] When configuring a custom Content-Type header value, only the type/subtype needs to be specified, and the parameters should be excluded. + "A String", + ], + }, "jsonParsing": "A String", "logLevel": "A String", }, @@ -1338,6 +1353,11 @@

Method Details

}, }, "advancedOptionsConfig": { + "jsonCustomConfig": { # Custom configuration to apply the JSON parsing. Only applicable when json_parsing is set to STANDARD. + "contentTypes": [ # A list of custom Content-Type header values to apply the JSON parsing. As per RFC 1341, a Content-Type header value has the following format: Content-Type := type "/" subtype *[";" parameter] When configuring a custom Content-Type header value, only the type/subtype needs to be specified, and the parameters should be excluded. + "A String", + ], + }, "jsonParsing": "A String", "logLevel": "A String", }, diff --git a/docs/dyn/compute_beta.regionDisks.html b/docs/dyn/compute_beta.regionDisks.html index 509e1e5b890..a6b878ee43b 100644 --- a/docs/dyn/compute_beta.regionDisks.html +++ b/docs/dyn/compute_beta.regionDisks.html @@ -507,6 +507,11 @@

Method Details

"multiWriter": True or False, # Indicates whether or not the disk can be read/write attached to more than one instance. "name": "A String", # Name of the resource. Provided by the client when the resource is created. The name must be 1-63 characters long, and comply with RFC1035. Specifically, the name must be 1-63 characters long and match the regular expression `[a-z]([-a-z0-9]*[a-z0-9])?` which means the first character must be a lowercase letter, and all following characters must be a dash, lowercase letter, or digit, except the last character, which cannot be a dash. "options": "A String", # Internal use only. + "params": { # Additional disk params. # Input only. [Input Only] Additional params passed with the request, but not persisted as part of resource payload. + "resourceManagerTags": { # Resource manager tags to be bound to the disk. Tag keys and values have the same definition as resource manager tags. Keys must be in the format `tagKeys/{tag_key_id}`, and values are in the format `tagValues/456`. The field is ignored (both PUT & PATCH) when empty. + "a_key": "A String", + }, + }, "physicalBlockSizeBytes": "A String", # Physical block size of the persistent disk, in bytes. If not present in a request, a default value is used. The currently supported size is 4096, other sizes may be added in the future. If an unsupported value is requested, the error message will list the supported values for the caller's project. "provisionedIops": "A String", # Indicates how many IOPS to provision for the disk. This sets the number of I/O operations per second that the disk can handle. Values must be between 10,000 and 120,000. For more details, see the Extreme persistent disk documentation. "region": "A String", # [Output Only] URL of the region where the disk resides. Only applicable for regional resources. You must specify this field as part of the HTTP request URL. It is not settable as a field in the request body. @@ -704,6 +709,11 @@

Method Details

"multiWriter": True or False, # Indicates whether or not the disk can be read/write attached to more than one instance. "name": "A String", # Name of the resource. Provided by the client when the resource is created. The name must be 1-63 characters long, and comply with RFC1035. Specifically, the name must be 1-63 characters long and match the regular expression `[a-z]([-a-z0-9]*[a-z0-9])?` which means the first character must be a lowercase letter, and all following characters must be a dash, lowercase letter, or digit, except the last character, which cannot be a dash. "options": "A String", # Internal use only. + "params": { # Additional disk params. # Input only. [Input Only] Additional params passed with the request, but not persisted as part of resource payload. + "resourceManagerTags": { # Resource manager tags to be bound to the disk. Tag keys and values have the same definition as resource manager tags. Keys must be in the format `tagKeys/{tag_key_id}`, and values are in the format `tagValues/456`. The field is ignored (both PUT & PATCH) when empty. + "a_key": "A String", + }, + }, "physicalBlockSizeBytes": "A String", # Physical block size of the persistent disk, in bytes. If not present in a request, a default value is used. The currently supported size is 4096, other sizes may be added in the future. If an unsupported value is requested, the error message will list the supported values for the caller's project. "provisionedIops": "A String", # Indicates how many IOPS to provision for the disk. This sets the number of I/O operations per second that the disk can handle. Values must be between 10,000 and 120,000. For more details, see the Extreme persistent disk documentation. "region": "A String", # [Output Only] URL of the region where the disk resides. Only applicable for regional resources. You must specify this field as part of the HTTP request URL. It is not settable as a field in the request body. @@ -889,6 +899,11 @@

Method Details

"multiWriter": True or False, # Indicates whether or not the disk can be read/write attached to more than one instance. "name": "A String", # Name of the resource. Provided by the client when the resource is created. The name must be 1-63 characters long, and comply with RFC1035. Specifically, the name must be 1-63 characters long and match the regular expression `[a-z]([-a-z0-9]*[a-z0-9])?` which means the first character must be a lowercase letter, and all following characters must be a dash, lowercase letter, or digit, except the last character, which cannot be a dash. "options": "A String", # Internal use only. + "params": { # Additional disk params. # Input only. [Input Only] Additional params passed with the request, but not persisted as part of resource payload. + "resourceManagerTags": { # Resource manager tags to be bound to the disk. Tag keys and values have the same definition as resource manager tags. Keys must be in the format `tagKeys/{tag_key_id}`, and values are in the format `tagValues/456`. The field is ignored (both PUT & PATCH) when empty. + "a_key": "A String", + }, + }, "physicalBlockSizeBytes": "A String", # Physical block size of the persistent disk, in bytes. If not present in a request, a default value is used. The currently supported size is 4096, other sizes may be added in the future. If an unsupported value is requested, the error message will list the supported values for the caller's project. "provisionedIops": "A String", # Indicates how many IOPS to provision for the disk. This sets the number of I/O operations per second that the disk can handle. Values must be between 10,000 and 120,000. For more details, see the Extreme persistent disk documentation. "region": "A String", # [Output Only] URL of the region where the disk resides. Only applicable for regional resources. You must specify this field as part of the HTTP request URL. It is not settable as a field in the request body. @@ -1541,6 +1556,11 @@

Method Details

"multiWriter": True or False, # Indicates whether or not the disk can be read/write attached to more than one instance. "name": "A String", # Name of the resource. Provided by the client when the resource is created. The name must be 1-63 characters long, and comply with RFC1035. Specifically, the name must be 1-63 characters long and match the regular expression `[a-z]([-a-z0-9]*[a-z0-9])?` which means the first character must be a lowercase letter, and all following characters must be a dash, lowercase letter, or digit, except the last character, which cannot be a dash. "options": "A String", # Internal use only. + "params": { # Additional disk params. # Input only. [Input Only] Additional params passed with the request, but not persisted as part of resource payload. + "resourceManagerTags": { # Resource manager tags to be bound to the disk. Tag keys and values have the same definition as resource manager tags. Keys must be in the format `tagKeys/{tag_key_id}`, and values are in the format `tagValues/456`. The field is ignored (both PUT & PATCH) when empty. + "a_key": "A String", + }, + }, "physicalBlockSizeBytes": "A String", # Physical block size of the persistent disk, in bytes. If not present in a request, a default value is used. The currently supported size is 4096, other sizes may be added in the future. If an unsupported value is requested, the error message will list the supported values for the caller's project. "provisionedIops": "A String", # Indicates how many IOPS to provision for the disk. This sets the number of I/O operations per second that the disk can handle. Values must be between 10,000 and 120,000. For more details, see the Extreme persistent disk documentation. "region": "A String", # [Output Only] URL of the region where the disk resides. Only applicable for regional resources. You must specify this field as part of the HTTP request URL. It is not settable as a field in the request body. diff --git a/docs/dyn/compute_beta.regionInstances.html b/docs/dyn/compute_beta.regionInstances.html index 73d4a82771a..e62c7a2975f 100644 --- a/docs/dyn/compute_beta.regionInstances.html +++ b/docs/dyn/compute_beta.regionInstances.html @@ -145,6 +145,9 @@

Method Details

"multiWriter": True or False, # Indicates whether or not the disk can be read/write attached to more than one instance. "onUpdateAction": "A String", # Specifies which action to take on instance update with this disk. Default is to use the existing disk. "provisionedIops": "A String", # Indicates how many IOPS to provision for the disk. This sets the number of I/O operations per second that the disk can handle. Values must be between 10,000 and 120,000. For more details, see the Extreme persistent disk documentation. + "resourceManagerTags": { # Resource manager tags to be bound to the disk. Tag keys and values have the same definition as resource manager tags. Keys must be in the format `tagKeys/{tag_key_id}`, and values are in the format `tagValues/456`. The field is ignored (both PUT & PATCH) when empty. + "a_key": "A String", + }, "resourcePolicies": [ # Resource policies applied to this disk for automatic snapshot creations. Specified using the full or partial URL. For instance template, specify only the resource policy name. "A String", ], @@ -294,7 +297,7 @@

Method Details

"resourcePolicies": [ # Resource policies (names, not URLs) applied to instances created from these properties. Note that for MachineImage, this is not supported yet. "A String", ], - "scheduling": { # Sets the scheduling options for an Instance. NextID: 21 # Specifies the scheduling options for the instances that are created from these properties. + "scheduling": { # Sets the scheduling options for an Instance. # Specifies the scheduling options for the instances that are created from these properties. "automaticRestart": True or False, # Specifies whether the instance should be automatically restarted if it is terminated by Compute Engine (not terminated by a user). You can only set the automatic restart option for standard instances. Preemptible instances cannot be automatically restarted. By default, this is set to true so an instance is automatically restarted if it is terminated by Compute Engine. "hostErrorTimeoutSeconds": 42, # Specify the time in seconds for host error detection, the value must be within the range of [90, 330] with the increment of 30, if unset, the default behavior of host error recovery will be used. "instanceTerminationAction": "A String", # Specifies the termination action for the instance. diff --git a/docs/dyn/compute_beta.regionSecurityPolicies.html b/docs/dyn/compute_beta.regionSecurityPolicies.html index 22df324e981..409198d8002 100644 --- a/docs/dyn/compute_beta.regionSecurityPolicies.html +++ b/docs/dyn/compute_beta.regionSecurityPolicies.html @@ -218,6 +218,11 @@

Method Details

}, }, "advancedOptionsConfig": { + "jsonCustomConfig": { # Custom configuration to apply the JSON parsing. Only applicable when json_parsing is set to STANDARD. + "contentTypes": [ # A list of custom Content-Type header values to apply the JSON parsing. As per RFC 1341, a Content-Type header value has the following format: Content-Type := type "/" subtype *[";" parameter] When configuring a custom Content-Type header value, only the type/subtype needs to be specified, and the parameters should be excluded. + "A String", + ], + }, "jsonParsing": "A String", "logLevel": "A String", }, @@ -354,6 +359,11 @@

Method Details

}, }, "advancedOptionsConfig": { + "jsonCustomConfig": { # Custom configuration to apply the JSON parsing. Only applicable when json_parsing is set to STANDARD. + "contentTypes": [ # A list of custom Content-Type header values to apply the JSON parsing. As per RFC 1341, a Content-Type header value has the following format: Content-Type := type "/" subtype *[";" parameter] When configuring a custom Content-Type header value, only the type/subtype needs to be specified, and the parameters should be excluded. + "A String", + ], + }, "jsonParsing": "A String", "logLevel": "A String", }, @@ -582,6 +592,11 @@

Method Details

}, }, "advancedOptionsConfig": { + "jsonCustomConfig": { # Custom configuration to apply the JSON parsing. Only applicable when json_parsing is set to STANDARD. + "contentTypes": [ # A list of custom Content-Type header values to apply the JSON parsing. As per RFC 1341, a Content-Type header value has the following format: Content-Type := type "/" subtype *[";" parameter] When configuring a custom Content-Type header value, only the type/subtype needs to be specified, and the parameters should be excluded. + "A String", + ], + }, "jsonParsing": "A String", "logLevel": "A String", }, @@ -747,6 +762,11 @@

Method Details

}, }, "advancedOptionsConfig": { + "jsonCustomConfig": { # Custom configuration to apply the JSON parsing. Only applicable when json_parsing is set to STANDARD. + "contentTypes": [ # A list of custom Content-Type header values to apply the JSON parsing. As per RFC 1341, a Content-Type header value has the following format: Content-Type := type "/" subtype *[";" parameter] When configuring a custom Content-Type header value, only the type/subtype needs to be specified, and the parameters should be excluded. + "A String", + ], + }, "jsonParsing": "A String", "logLevel": "A String", }, diff --git a/docs/dyn/compute_beta.securityPolicies.html b/docs/dyn/compute_beta.securityPolicies.html index 73118489814..2ae85b59b60 100644 --- a/docs/dyn/compute_beta.securityPolicies.html +++ b/docs/dyn/compute_beta.securityPolicies.html @@ -326,6 +326,11 @@

Method Details

}, }, "advancedOptionsConfig": { + "jsonCustomConfig": { # Custom configuration to apply the JSON parsing. Only applicable when json_parsing is set to STANDARD. + "contentTypes": [ # A list of custom Content-Type header values to apply the JSON parsing. As per RFC 1341, a Content-Type header value has the following format: Content-Type := type "/" subtype *[";" parameter] When configuring a custom Content-Type header value, only the type/subtype needs to be specified, and the parameters should be excluded. + "A String", + ], + }, "jsonParsing": "A String", "logLevel": "A String", }, @@ -602,6 +607,11 @@

Method Details

}, }, "advancedOptionsConfig": { + "jsonCustomConfig": { # Custom configuration to apply the JSON parsing. Only applicable when json_parsing is set to STANDARD. + "contentTypes": [ # A list of custom Content-Type header values to apply the JSON parsing. As per RFC 1341, a Content-Type header value has the following format: Content-Type := type "/" subtype *[";" parameter] When configuring a custom Content-Type header value, only the type/subtype needs to be specified, and the parameters should be excluded. + "A String", + ], + }, "jsonParsing": "A String", "logLevel": "A String", }, @@ -828,6 +838,11 @@

Method Details

}, }, "advancedOptionsConfig": { + "jsonCustomConfig": { # Custom configuration to apply the JSON parsing. Only applicable when json_parsing is set to STANDARD. + "contentTypes": [ # A list of custom Content-Type header values to apply the JSON parsing. As per RFC 1341, a Content-Type header value has the following format: Content-Type := type "/" subtype *[";" parameter] When configuring a custom Content-Type header value, only the type/subtype needs to be specified, and the parameters should be excluded. + "A String", + ], + }, "jsonParsing": "A String", "logLevel": "A String", }, @@ -1055,6 +1070,11 @@

Method Details

}, }, "advancedOptionsConfig": { + "jsonCustomConfig": { # Custom configuration to apply the JSON parsing. Only applicable when json_parsing is set to STANDARD. + "contentTypes": [ # A list of custom Content-Type header values to apply the JSON parsing. As per RFC 1341, a Content-Type header value has the following format: Content-Type := type "/" subtype *[";" parameter] When configuring a custom Content-Type header value, only the type/subtype needs to be specified, and the parameters should be excluded. + "A String", + ], + }, "jsonParsing": "A String", "logLevel": "A String", }, @@ -1259,6 +1279,11 @@

Method Details

}, }, "advancedOptionsConfig": { + "jsonCustomConfig": { # Custom configuration to apply the JSON parsing. Only applicable when json_parsing is set to STANDARD. + "contentTypes": [ # A list of custom Content-Type header values to apply the JSON parsing. As per RFC 1341, a Content-Type header value has the following format: Content-Type := type "/" subtype *[";" parameter] When configuring a custom Content-Type header value, only the type/subtype needs to be specified, and the parameters should be excluded. + "A String", + ], + }, "jsonParsing": "A String", "logLevel": "A String", }, diff --git a/docs/dyn/compute_v1.disks.html b/docs/dyn/compute_v1.disks.html index 6a2883be742..fb539433659 100644 --- a/docs/dyn/compute_v1.disks.html +++ b/docs/dyn/compute_v1.disks.html @@ -277,6 +277,11 @@

Method Details

"locationHint": "A String", # An opaque location hint used to place the disk close to other resources. This field is for use by internal tools that use the public API. "name": "A String", # Name of the resource. Provided by the client when the resource is created. The name must be 1-63 characters long, and comply with RFC1035. Specifically, the name must be 1-63 characters long and match the regular expression `[a-z]([-a-z0-9]*[a-z0-9])?` which means the first character must be a lowercase letter, and all following characters must be a dash, lowercase letter, or digit, except the last character, which cannot be a dash. "options": "A String", # Internal use only. + "params": { # Additional disk params. # Input only. [Input Only] Additional params passed with the request, but not persisted as part of resource payload. + "resourceManagerTags": { # Resource manager tags to be bound to the disk. Tag keys and values have the same definition as resource manager tags. Keys must be in the format `tagKeys/{tag_key_id}`, and values are in the format `tagValues/456`. The field is ignored (both PUT & PATCH) when empty. + "a_key": "A String", + }, + }, "physicalBlockSizeBytes": "A String", # Physical block size of the persistent disk, in bytes. If not present in a request, a default value is used. The currently supported size is 4096, other sizes may be added in the future. If an unsupported value is requested, the error message will list the supported values for the caller's project. "provisionedIops": "A String", # Indicates how many IOPS to provision for the disk. This sets the number of I/O operations per second that the disk can handle. Values must be between 10,000 and 120,000. For more details, see the Extreme persistent disk documentation. "region": "A String", # [Output Only] URL of the region where the disk resides. Only applicable for regional resources. You must specify this field as part of the HTTP request URL. It is not settable as a field in the request body. @@ -647,6 +652,11 @@

Method Details

"locationHint": "A String", # An opaque location hint used to place the disk close to other resources. This field is for use by internal tools that use the public API. "name": "A String", # Name of the resource. Provided by the client when the resource is created. The name must be 1-63 characters long, and comply with RFC1035. Specifically, the name must be 1-63 characters long and match the regular expression `[a-z]([-a-z0-9]*[a-z0-9])?` which means the first character must be a lowercase letter, and all following characters must be a dash, lowercase letter, or digit, except the last character, which cannot be a dash. "options": "A String", # Internal use only. + "params": { # Additional disk params. # Input only. [Input Only] Additional params passed with the request, but not persisted as part of resource payload. + "resourceManagerTags": { # Resource manager tags to be bound to the disk. Tag keys and values have the same definition as resource manager tags. Keys must be in the format `tagKeys/{tag_key_id}`, and values are in the format `tagValues/456`. The field is ignored (both PUT & PATCH) when empty. + "a_key": "A String", + }, + }, "physicalBlockSizeBytes": "A String", # Physical block size of the persistent disk, in bytes. If not present in a request, a default value is used. The currently supported size is 4096, other sizes may be added in the future. If an unsupported value is requested, the error message will list the supported values for the caller's project. "provisionedIops": "A String", # Indicates how many IOPS to provision for the disk. This sets the number of I/O operations per second that the disk can handle. Values must be between 10,000 and 120,000. For more details, see the Extreme persistent disk documentation. "region": "A String", # [Output Only] URL of the region where the disk resides. Only applicable for regional resources. You must specify this field as part of the HTTP request URL. It is not settable as a field in the request body. @@ -836,6 +846,11 @@

Method Details

"locationHint": "A String", # An opaque location hint used to place the disk close to other resources. This field is for use by internal tools that use the public API. "name": "A String", # Name of the resource. Provided by the client when the resource is created. The name must be 1-63 characters long, and comply with RFC1035. Specifically, the name must be 1-63 characters long and match the regular expression `[a-z]([-a-z0-9]*[a-z0-9])?` which means the first character must be a lowercase letter, and all following characters must be a dash, lowercase letter, or digit, except the last character, which cannot be a dash. "options": "A String", # Internal use only. + "params": { # Additional disk params. # Input only. [Input Only] Additional params passed with the request, but not persisted as part of resource payload. + "resourceManagerTags": { # Resource manager tags to be bound to the disk. Tag keys and values have the same definition as resource manager tags. Keys must be in the format `tagKeys/{tag_key_id}`, and values are in the format `tagValues/456`. The field is ignored (both PUT & PATCH) when empty. + "a_key": "A String", + }, + }, "physicalBlockSizeBytes": "A String", # Physical block size of the persistent disk, in bytes. If not present in a request, a default value is used. The currently supported size is 4096, other sizes may be added in the future. If an unsupported value is requested, the error message will list the supported values for the caller's project. "provisionedIops": "A String", # Indicates how many IOPS to provision for the disk. This sets the number of I/O operations per second that the disk can handle. Values must be between 10,000 and 120,000. For more details, see the Extreme persistent disk documentation. "region": "A String", # [Output Only] URL of the region where the disk resides. Only applicable for regional resources. You must specify this field as part of the HTTP request URL. It is not settable as a field in the request body. @@ -1013,6 +1028,11 @@

Method Details

"locationHint": "A String", # An opaque location hint used to place the disk close to other resources. This field is for use by internal tools that use the public API. "name": "A String", # Name of the resource. Provided by the client when the resource is created. The name must be 1-63 characters long, and comply with RFC1035. Specifically, the name must be 1-63 characters long and match the regular expression `[a-z]([-a-z0-9]*[a-z0-9])?` which means the first character must be a lowercase letter, and all following characters must be a dash, lowercase letter, or digit, except the last character, which cannot be a dash. "options": "A String", # Internal use only. + "params": { # Additional disk params. # Input only. [Input Only] Additional params passed with the request, but not persisted as part of resource payload. + "resourceManagerTags": { # Resource manager tags to be bound to the disk. Tag keys and values have the same definition as resource manager tags. Keys must be in the format `tagKeys/{tag_key_id}`, and values are in the format `tagValues/456`. The field is ignored (both PUT & PATCH) when empty. + "a_key": "A String", + }, + }, "physicalBlockSizeBytes": "A String", # Physical block size of the persistent disk, in bytes. If not present in a request, a default value is used. The currently supported size is 4096, other sizes may be added in the future. If an unsupported value is requested, the error message will list the supported values for the caller's project. "provisionedIops": "A String", # Indicates how many IOPS to provision for the disk. This sets the number of I/O operations per second that the disk can handle. Values must be between 10,000 and 120,000. For more details, see the Extreme persistent disk documentation. "region": "A String", # [Output Only] URL of the region where the disk resides. Only applicable for regional resources. You must specify this field as part of the HTTP request URL. It is not settable as a field in the request body. diff --git a/docs/dyn/compute_v1.instanceTemplates.html b/docs/dyn/compute_v1.instanceTemplates.html index 94dc256950f..3e1b3e4f275 100644 --- a/docs/dyn/compute_v1.instanceTemplates.html +++ b/docs/dyn/compute_v1.instanceTemplates.html @@ -259,6 +259,9 @@

Method Details

], "onUpdateAction": "A String", # Specifies which action to take on instance update with this disk. Default is to use the existing disk. "provisionedIops": "A String", # Indicates how many IOPS to provision for the disk. This sets the number of I/O operations per second that the disk can handle. Values must be between 10,000 and 120,000. For more details, see the Extreme persistent disk documentation. + "resourceManagerTags": { # Resource manager tags to be bound to the disk. Tag keys and values have the same definition as resource manager tags. Keys must be in the format `tagKeys/{tag_key_id}`, and values are in the format `tagValues/456`. The field is ignored (both PUT & PATCH) when empty. + "a_key": "A String", + }, "resourcePolicies": [ # Resource policies applied to this disk for automatic snapshot creations. Specified using the full or partial URL. For instance template, specify only the resource policy name. "A String", ], @@ -400,7 +403,7 @@

Method Details

"resourcePolicies": [ # Resource policies (names, not URLs) applied to instances created from these properties. Note that for MachineImage, this is not supported yet. "A String", ], - "scheduling": { # Sets the scheduling options for an Instance. NextID: 21 # Specifies the scheduling options for the instances that are created from these properties. + "scheduling": { # Sets the scheduling options for an Instance. # Specifies the scheduling options for the instances that are created from these properties. "automaticRestart": True or False, # Specifies whether the instance should be automatically restarted if it is terminated by Compute Engine (not terminated by a user). You can only set the automatic restart option for standard instances. Preemptible instances cannot be automatically restarted. By default, this is set to true so an instance is automatically restarted if it is terminated by Compute Engine. "instanceTerminationAction": "A String", # Specifies the termination action for the instance. "locationHint": "A String", # An opaque location hint used to place the instance close to other resources. This field is for use by internal tools that use the public API. @@ -616,6 +619,9 @@

Method Details

], "onUpdateAction": "A String", # Specifies which action to take on instance update with this disk. Default is to use the existing disk. "provisionedIops": "A String", # Indicates how many IOPS to provision for the disk. This sets the number of I/O operations per second that the disk can handle. Values must be between 10,000 and 120,000. For more details, see the Extreme persistent disk documentation. + "resourceManagerTags": { # Resource manager tags to be bound to the disk. Tag keys and values have the same definition as resource manager tags. Keys must be in the format `tagKeys/{tag_key_id}`, and values are in the format `tagValues/456`. The field is ignored (both PUT & PATCH) when empty. + "a_key": "A String", + }, "resourcePolicies": [ # Resource policies applied to this disk for automatic snapshot creations. Specified using the full or partial URL. For instance template, specify only the resource policy name. "A String", ], @@ -757,7 +763,7 @@

Method Details

"resourcePolicies": [ # Resource policies (names, not URLs) applied to instances created from these properties. Note that for MachineImage, this is not supported yet. "A String", ], - "scheduling": { # Sets the scheduling options for an Instance. NextID: 21 # Specifies the scheduling options for the instances that are created from these properties. + "scheduling": { # Sets the scheduling options for an Instance. # Specifies the scheduling options for the instances that are created from these properties. "automaticRestart": True or False, # Specifies whether the instance should be automatically restarted if it is terminated by Compute Engine (not terminated by a user). You can only set the automatic restart option for standard instances. Preemptible instances cannot be automatically restarted. By default, this is set to true so an instance is automatically restarted if it is terminated by Compute Engine. "instanceTerminationAction": "A String", # Specifies the termination action for the instance. "locationHint": "A String", # An opaque location hint used to place the instance close to other resources. This field is for use by internal tools that use the public API. @@ -961,6 +967,9 @@

Method Details

], "onUpdateAction": "A String", # Specifies which action to take on instance update with this disk. Default is to use the existing disk. "provisionedIops": "A String", # Indicates how many IOPS to provision for the disk. This sets the number of I/O operations per second that the disk can handle. Values must be between 10,000 and 120,000. For more details, see the Extreme persistent disk documentation. + "resourceManagerTags": { # Resource manager tags to be bound to the disk. Tag keys and values have the same definition as resource manager tags. Keys must be in the format `tagKeys/{tag_key_id}`, and values are in the format `tagValues/456`. The field is ignored (both PUT & PATCH) when empty. + "a_key": "A String", + }, "resourcePolicies": [ # Resource policies applied to this disk for automatic snapshot creations. Specified using the full or partial URL. For instance template, specify only the resource policy name. "A String", ], @@ -1102,7 +1111,7 @@

Method Details

"resourcePolicies": [ # Resource policies (names, not URLs) applied to instances created from these properties. Note that for MachineImage, this is not supported yet. "A String", ], - "scheduling": { # Sets the scheduling options for an Instance. NextID: 21 # Specifies the scheduling options for the instances that are created from these properties. + "scheduling": { # Sets the scheduling options for an Instance. # Specifies the scheduling options for the instances that are created from these properties. "automaticRestart": True or False, # Specifies whether the instance should be automatically restarted if it is terminated by Compute Engine (not terminated by a user). You can only set the automatic restart option for standard instances. Preemptible instances cannot be automatically restarted. By default, this is set to true so an instance is automatically restarted if it is terminated by Compute Engine. "instanceTerminationAction": "A String", # Specifies the termination action for the instance. "locationHint": "A String", # An opaque location hint used to place the instance close to other resources. This field is for use by internal tools that use the public API. diff --git a/docs/dyn/compute_v1.instances.html b/docs/dyn/compute_v1.instances.html index b443bd2a892..86a0a7c7d50 100644 --- a/docs/dyn/compute_v1.instances.html +++ b/docs/dyn/compute_v1.instances.html @@ -494,6 +494,9 @@

Method Details

], "onUpdateAction": "A String", # Specifies which action to take on instance update with this disk. Default is to use the existing disk. "provisionedIops": "A String", # Indicates how many IOPS to provision for the disk. This sets the number of I/O operations per second that the disk can handle. Values must be between 10,000 and 120,000. For more details, see the Extreme persistent disk documentation. + "resourceManagerTags": { # Resource manager tags to be bound to the disk. Tag keys and values have the same definition as resource manager tags. Keys must be in the format `tagKeys/{tag_key_id}`, and values are in the format `tagValues/456`. The field is ignored (both PUT & PATCH) when empty. + "a_key": "A String", + }, "resourcePolicies": [ # Resource policies applied to this disk for automatic snapshot creations. Specified using the full or partial URL. For instance template, specify only the resource policy name. "A String", ], @@ -650,7 +653,7 @@

Method Details

"A String", ], "satisfiesPzs": True or False, # [Output Only] Reserved for future use. - "scheduling": { # Sets the scheduling options for an Instance. NextID: 21 # Sets the scheduling options for this instance. + "scheduling": { # Sets the scheduling options for an Instance. # Sets the scheduling options for this instance. "automaticRestart": True or False, # Specifies whether the instance should be automatically restarted if it is terminated by Compute Engine (not terminated by a user). You can only set the automatic restart option for standard instances. Preemptible instances cannot be automatically restarted. By default, this is set to true so an instance is automatically restarted if it is terminated by Compute Engine. "instanceTerminationAction": "A String", # Specifies the termination action for the instance. "locationHint": "A String", # An opaque location hint used to place the instance close to other resources. This field is for use by internal tools that use the public API. @@ -794,6 +797,9 @@

Method Details

], "onUpdateAction": "A String", # Specifies which action to take on instance update with this disk. Default is to use the existing disk. "provisionedIops": "A String", # Indicates how many IOPS to provision for the disk. This sets the number of I/O operations per second that the disk can handle. Values must be between 10,000 and 120,000. For more details, see the Extreme persistent disk documentation. + "resourceManagerTags": { # Resource manager tags to be bound to the disk. Tag keys and values have the same definition as resource manager tags. Keys must be in the format `tagKeys/{tag_key_id}`, and values are in the format `tagValues/456`. The field is ignored (both PUT & PATCH) when empty. + "a_key": "A String", + }, "resourcePolicies": [ # Resource policies applied to this disk for automatic snapshot creations. Specified using the full or partial URL. For instance template, specify only the resource policy name. "A String", ], @@ -985,6 +991,9 @@

Method Details

], "onUpdateAction": "A String", # Specifies which action to take on instance update with this disk. Default is to use the existing disk. "provisionedIops": "A String", # Indicates how many IOPS to provision for the disk. This sets the number of I/O operations per second that the disk can handle. Values must be between 10,000 and 120,000. For more details, see the Extreme persistent disk documentation. + "resourceManagerTags": { # Resource manager tags to be bound to the disk. Tag keys and values have the same definition as resource manager tags. Keys must be in the format `tagKeys/{tag_key_id}`, and values are in the format `tagValues/456`. The field is ignored (both PUT & PATCH) when empty. + "a_key": "A String", + }, "resourcePolicies": [ # Resource policies applied to this disk for automatic snapshot creations. Specified using the full or partial URL. For instance template, specify only the resource policy name. "A String", ], @@ -1126,7 +1135,7 @@

Method Details

"resourcePolicies": [ # Resource policies (names, not URLs) applied to instances created from these properties. Note that for MachineImage, this is not supported yet. "A String", ], - "scheduling": { # Sets the scheduling options for an Instance. NextID: 21 # Specifies the scheduling options for the instances that are created from these properties. + "scheduling": { # Sets the scheduling options for an Instance. # Specifies the scheduling options for the instances that are created from these properties. "automaticRestart": True or False, # Specifies whether the instance should be automatically restarted if it is terminated by Compute Engine (not terminated by a user). You can only set the automatic restart option for standard instances. Preemptible instances cannot be automatically restarted. By default, this is set to true so an instance is automatically restarted if it is terminated by Compute Engine. "instanceTerminationAction": "A String", # Specifies the termination action for the instance. "locationHint": "A String", # An opaque location hint used to place the instance close to other resources. This field is for use by internal tools that use the public API. @@ -1597,6 +1606,9 @@

Method Details

], "onUpdateAction": "A String", # Specifies which action to take on instance update with this disk. Default is to use the existing disk. "provisionedIops": "A String", # Indicates how many IOPS to provision for the disk. This sets the number of I/O operations per second that the disk can handle. Values must be between 10,000 and 120,000. For more details, see the Extreme persistent disk documentation. + "resourceManagerTags": { # Resource manager tags to be bound to the disk. Tag keys and values have the same definition as resource manager tags. Keys must be in the format `tagKeys/{tag_key_id}`, and values are in the format `tagValues/456`. The field is ignored (both PUT & PATCH) when empty. + "a_key": "A String", + }, "resourcePolicies": [ # Resource policies applied to this disk for automatic snapshot creations. Specified using the full or partial URL. For instance template, specify only the resource policy name. "A String", ], @@ -1753,7 +1765,7 @@

Method Details

"A String", ], "satisfiesPzs": True or False, # [Output Only] Reserved for future use. - "scheduling": { # Sets the scheduling options for an Instance. NextID: 21 # Sets the scheduling options for this instance. + "scheduling": { # Sets the scheduling options for an Instance. # Sets the scheduling options for this instance. "automaticRestart": True or False, # Specifies whether the instance should be automatically restarted if it is terminated by Compute Engine (not terminated by a user). You can only set the automatic restart option for standard instances. Preemptible instances cannot be automatically restarted. By default, this is set to true so an instance is automatically restarted if it is terminated by Compute Engine. "instanceTerminationAction": "A String", # Specifies the termination action for the instance. "locationHint": "A String", # An opaque location hint used to place the instance close to other resources. This field is for use by internal tools that use the public API. @@ -2213,6 +2225,9 @@

Method Details

], "onUpdateAction": "A String", # Specifies which action to take on instance update with this disk. Default is to use the existing disk. "provisionedIops": "A String", # Indicates how many IOPS to provision for the disk. This sets the number of I/O operations per second that the disk can handle. Values must be between 10,000 and 120,000. For more details, see the Extreme persistent disk documentation. + "resourceManagerTags": { # Resource manager tags to be bound to the disk. Tag keys and values have the same definition as resource manager tags. Keys must be in the format `tagKeys/{tag_key_id}`, and values are in the format `tagValues/456`. The field is ignored (both PUT & PATCH) when empty. + "a_key": "A String", + }, "resourcePolicies": [ # Resource policies applied to this disk for automatic snapshot creations. Specified using the full or partial URL. For instance template, specify only the resource policy name. "A String", ], @@ -2369,7 +2384,7 @@

Method Details

"A String", ], "satisfiesPzs": True or False, # [Output Only] Reserved for future use. - "scheduling": { # Sets the scheduling options for an Instance. NextID: 21 # Sets the scheduling options for this instance. + "scheduling": { # Sets the scheduling options for an Instance. # Sets the scheduling options for this instance. "automaticRestart": True or False, # Specifies whether the instance should be automatically restarted if it is terminated by Compute Engine (not terminated by a user). You can only set the automatic restart option for standard instances. Preemptible instances cannot be automatically restarted. By default, this is set to true so an instance is automatically restarted if it is terminated by Compute Engine. "instanceTerminationAction": "A String", # Specifies the termination action for the instance. "locationHint": "A String", # An opaque location hint used to place the instance close to other resources. This field is for use by internal tools that use the public API. @@ -2576,6 +2591,9 @@

Method Details

], "onUpdateAction": "A String", # Specifies which action to take on instance update with this disk. Default is to use the existing disk. "provisionedIops": "A String", # Indicates how many IOPS to provision for the disk. This sets the number of I/O operations per second that the disk can handle. Values must be between 10,000 and 120,000. For more details, see the Extreme persistent disk documentation. + "resourceManagerTags": { # Resource manager tags to be bound to the disk. Tag keys and values have the same definition as resource manager tags. Keys must be in the format `tagKeys/{tag_key_id}`, and values are in the format `tagValues/456`. The field is ignored (both PUT & PATCH) when empty. + "a_key": "A String", + }, "resourcePolicies": [ # Resource policies applied to this disk for automatic snapshot creations. Specified using the full or partial URL. For instance template, specify only the resource policy name. "A String", ], @@ -2732,7 +2750,7 @@

Method Details

"A String", ], "satisfiesPzs": True or False, # [Output Only] Reserved for future use. - "scheduling": { # Sets the scheduling options for an Instance. NextID: 21 # Sets the scheduling options for this instance. + "scheduling": { # Sets the scheduling options for an Instance. # Sets the scheduling options for this instance. "automaticRestart": True or False, # Specifies whether the instance should be automatically restarted if it is terminated by Compute Engine (not terminated by a user). You can only set the automatic restart option for standard instances. Preemptible instances cannot be automatically restarted. By default, this is set to true so an instance is automatically restarted if it is terminated by Compute Engine. "instanceTerminationAction": "A String", # Specifies the termination action for the instance. "locationHint": "A String", # An opaque location hint used to place the instance close to other resources. This field is for use by internal tools that use the public API. @@ -4046,7 +4064,7 @@

Method Details

body: object, The request body. The object takes the form of: -{ # Sets the scheduling options for an Instance. NextID: 21 +{ # Sets the scheduling options for an Instance. "automaticRestart": True or False, # Specifies whether the instance should be automatically restarted if it is terminated by Compute Engine (not terminated by a user). You can only set the automatic restart option for standard instances. Preemptible instances cannot be automatically restarted. By default, this is set to true so an instance is automatically restarted if it is terminated by Compute Engine. "instanceTerminationAction": "A String", # Specifies the termination action for the instance. "locationHint": "A String", # An opaque location hint used to place the instance close to other resources. This field is for use by internal tools that use the public API. @@ -4975,6 +4993,9 @@

Method Details

], "onUpdateAction": "A String", # Specifies which action to take on instance update with this disk. Default is to use the existing disk. "provisionedIops": "A String", # Indicates how many IOPS to provision for the disk. This sets the number of I/O operations per second that the disk can handle. Values must be between 10,000 and 120,000. For more details, see the Extreme persistent disk documentation. + "resourceManagerTags": { # Resource manager tags to be bound to the disk. Tag keys and values have the same definition as resource manager tags. Keys must be in the format `tagKeys/{tag_key_id}`, and values are in the format `tagValues/456`. The field is ignored (both PUT & PATCH) when empty. + "a_key": "A String", + }, "resourcePolicies": [ # Resource policies applied to this disk for automatic snapshot creations. Specified using the full or partial URL. For instance template, specify only the resource policy name. "A String", ], @@ -5131,7 +5152,7 @@

Method Details

"A String", ], "satisfiesPzs": True or False, # [Output Only] Reserved for future use. - "scheduling": { # Sets the scheduling options for an Instance. NextID: 21 # Sets the scheduling options for this instance. + "scheduling": { # Sets the scheduling options for an Instance. # Sets the scheduling options for this instance. "automaticRestart": True or False, # Specifies whether the instance should be automatically restarted if it is terminated by Compute Engine (not terminated by a user). You can only set the automatic restart option for standard instances. Preemptible instances cannot be automatically restarted. By default, this is set to true so an instance is automatically restarted if it is terminated by Compute Engine. "instanceTerminationAction": "A String", # Specifies the termination action for the instance. "locationHint": "A String", # An opaque location hint used to place the instance close to other resources. This field is for use by internal tools that use the public API. diff --git a/docs/dyn/compute_v1.machineImages.html b/docs/dyn/compute_v1.machineImages.html index a000f8272f4..ed7e4eaa30d 100644 --- a/docs/dyn/compute_v1.machineImages.html +++ b/docs/dyn/compute_v1.machineImages.html @@ -258,6 +258,9 @@

Method Details

], "onUpdateAction": "A String", # Specifies which action to take on instance update with this disk. Default is to use the existing disk. "provisionedIops": "A String", # Indicates how many IOPS to provision for the disk. This sets the number of I/O operations per second that the disk can handle. Values must be between 10,000 and 120,000. For more details, see the Extreme persistent disk documentation. + "resourceManagerTags": { # Resource manager tags to be bound to the disk. Tag keys and values have the same definition as resource manager tags. Keys must be in the format `tagKeys/{tag_key_id}`, and values are in the format `tagValues/456`. The field is ignored (both PUT & PATCH) when empty. + "a_key": "A String", + }, "resourcePolicies": [ # Resource policies applied to this disk for automatic snapshot creations. Specified using the full or partial URL. For instance template, specify only the resource policy name. "A String", ], @@ -399,7 +402,7 @@

Method Details

"resourcePolicies": [ # Resource policies (names, not URLs) applied to instances created from these properties. Note that for MachineImage, this is not supported yet. "A String", ], - "scheduling": { # Sets the scheduling options for an Instance. NextID: 21 # Specifies the scheduling options for the instances that are created from these properties. + "scheduling": { # Sets the scheduling options for an Instance. # Specifies the scheduling options for the instances that are created from these properties. "automaticRestart": True or False, # Specifies whether the instance should be automatically restarted if it is terminated by Compute Engine (not terminated by a user). You can only set the automatic restart option for standard instances. Preemptible instances cannot be automatically restarted. By default, this is set to true so an instance is automatically restarted if it is terminated by Compute Engine. "instanceTerminationAction": "A String", # Specifies the termination action for the instance. "locationHint": "A String", # An opaque location hint used to place the instance close to other resources. This field is for use by internal tools that use the public API. @@ -576,7 +579,7 @@

Method Details

"subnetwork": "A String", # The URL of the Subnetwork resource for this instance. If the network resource is in legacy mode, do not specify this field. If the network is in auto subnet mode, specifying the subnetwork is optional. If the network is in custom subnet mode, specifying the subnetwork is required. If you specify this field, you can specify the subnetwork as a full or partial URL. For example, the following are all valid URLs: - https://www.googleapis.com/compute/v1/projects/project/regions/region /subnetworks/subnetwork - regions/region/subnetworks/subnetwork }, ], - "scheduling": { # Sets the scheduling options for an Instance. NextID: 21 # Specifies the scheduling options for the instances that are created from this machine image. + "scheduling": { # Sets the scheduling options for an Instance. # Specifies the scheduling options for the instances that are created from this machine image. "automaticRestart": True or False, # Specifies whether the instance should be automatically restarted if it is terminated by Compute Engine (not terminated by a user). You can only set the automatic restart option for standard instances. Preemptible instances cannot be automatically restarted. By default, this is set to true so an instance is automatically restarted if it is terminated by Compute Engine. "instanceTerminationAction": "A String", # Specifies the termination action for the instance. "locationHint": "A String", # An opaque location hint used to place the instance close to other resources. This field is for use by internal tools that use the public API. @@ -779,6 +782,9 @@

Method Details

], "onUpdateAction": "A String", # Specifies which action to take on instance update with this disk. Default is to use the existing disk. "provisionedIops": "A String", # Indicates how many IOPS to provision for the disk. This sets the number of I/O operations per second that the disk can handle. Values must be between 10,000 and 120,000. For more details, see the Extreme persistent disk documentation. + "resourceManagerTags": { # Resource manager tags to be bound to the disk. Tag keys and values have the same definition as resource manager tags. Keys must be in the format `tagKeys/{tag_key_id}`, and values are in the format `tagValues/456`. The field is ignored (both PUT & PATCH) when empty. + "a_key": "A String", + }, "resourcePolicies": [ # Resource policies applied to this disk for automatic snapshot creations. Specified using the full or partial URL. For instance template, specify only the resource policy name. "A String", ], @@ -920,7 +926,7 @@

Method Details

"resourcePolicies": [ # Resource policies (names, not URLs) applied to instances created from these properties. Note that for MachineImage, this is not supported yet. "A String", ], - "scheduling": { # Sets the scheduling options for an Instance. NextID: 21 # Specifies the scheduling options for the instances that are created from these properties. + "scheduling": { # Sets the scheduling options for an Instance. # Specifies the scheduling options for the instances that are created from these properties. "automaticRestart": True or False, # Specifies whether the instance should be automatically restarted if it is terminated by Compute Engine (not terminated by a user). You can only set the automatic restart option for standard instances. Preemptible instances cannot be automatically restarted. By default, this is set to true so an instance is automatically restarted if it is terminated by Compute Engine. "instanceTerminationAction": "A String", # Specifies the termination action for the instance. "locationHint": "A String", # An opaque location hint used to place the instance close to other resources. This field is for use by internal tools that use the public API. @@ -1097,7 +1103,7 @@

Method Details

"subnetwork": "A String", # The URL of the Subnetwork resource for this instance. If the network resource is in legacy mode, do not specify this field. If the network is in auto subnet mode, specifying the subnetwork is optional. If the network is in custom subnet mode, specifying the subnetwork is required. If you specify this field, you can specify the subnetwork as a full or partial URL. For example, the following are all valid URLs: - https://www.googleapis.com/compute/v1/projects/project/regions/region /subnetworks/subnetwork - regions/region/subnetworks/subnetwork }, ], - "scheduling": { # Sets the scheduling options for an Instance. NextID: 21 # Specifies the scheduling options for the instances that are created from this machine image. + "scheduling": { # Sets the scheduling options for an Instance. # Specifies the scheduling options for the instances that are created from this machine image. "automaticRestart": True or False, # Specifies whether the instance should be automatically restarted if it is terminated by Compute Engine (not terminated by a user). You can only set the automatic restart option for standard instances. Preemptible instances cannot be automatically restarted. By default, this is set to true so an instance is automatically restarted if it is terminated by Compute Engine. "instanceTerminationAction": "A String", # Specifies the termination action for the instance. "locationHint": "A String", # An opaque location hint used to place the instance close to other resources. This field is for use by internal tools that use the public API. @@ -1289,6 +1295,9 @@

Method Details

], "onUpdateAction": "A String", # Specifies which action to take on instance update with this disk. Default is to use the existing disk. "provisionedIops": "A String", # Indicates how many IOPS to provision for the disk. This sets the number of I/O operations per second that the disk can handle. Values must be between 10,000 and 120,000. For more details, see the Extreme persistent disk documentation. + "resourceManagerTags": { # Resource manager tags to be bound to the disk. Tag keys and values have the same definition as resource manager tags. Keys must be in the format `tagKeys/{tag_key_id}`, and values are in the format `tagValues/456`. The field is ignored (both PUT & PATCH) when empty. + "a_key": "A String", + }, "resourcePolicies": [ # Resource policies applied to this disk for automatic snapshot creations. Specified using the full or partial URL. For instance template, specify only the resource policy name. "A String", ], @@ -1430,7 +1439,7 @@

Method Details

"resourcePolicies": [ # Resource policies (names, not URLs) applied to instances created from these properties. Note that for MachineImage, this is not supported yet. "A String", ], - "scheduling": { # Sets the scheduling options for an Instance. NextID: 21 # Specifies the scheduling options for the instances that are created from these properties. + "scheduling": { # Sets the scheduling options for an Instance. # Specifies the scheduling options for the instances that are created from these properties. "automaticRestart": True or False, # Specifies whether the instance should be automatically restarted if it is terminated by Compute Engine (not terminated by a user). You can only set the automatic restart option for standard instances. Preemptible instances cannot be automatically restarted. By default, this is set to true so an instance is automatically restarted if it is terminated by Compute Engine. "instanceTerminationAction": "A String", # Specifies the termination action for the instance. "locationHint": "A String", # An opaque location hint used to place the instance close to other resources. This field is for use by internal tools that use the public API. @@ -1607,7 +1616,7 @@

Method Details

"subnetwork": "A String", # The URL of the Subnetwork resource for this instance. If the network resource is in legacy mode, do not specify this field. If the network is in auto subnet mode, specifying the subnetwork is optional. If the network is in custom subnet mode, specifying the subnetwork is required. If you specify this field, you can specify the subnetwork as a full or partial URL. For example, the following are all valid URLs: - https://www.googleapis.com/compute/v1/projects/project/regions/region /subnetworks/subnetwork - regions/region/subnetworks/subnetwork }, ], - "scheduling": { # Sets the scheduling options for an Instance. NextID: 21 # Specifies the scheduling options for the instances that are created from this machine image. + "scheduling": { # Sets the scheduling options for an Instance. # Specifies the scheduling options for the instances that are created from this machine image. "automaticRestart": True or False, # Specifies whether the instance should be automatically restarted if it is terminated by Compute Engine (not terminated by a user). You can only set the automatic restart option for standard instances. Preemptible instances cannot be automatically restarted. By default, this is set to true so an instance is automatically restarted if it is terminated by Compute Engine. "instanceTerminationAction": "A String", # Specifies the termination action for the instance. "locationHint": "A String", # An opaque location hint used to place the instance close to other resources. This field is for use by internal tools that use the public API. diff --git a/docs/dyn/compute_v1.regionDisks.html b/docs/dyn/compute_v1.regionDisks.html index 19457760e14..d67562d51e4 100644 --- a/docs/dyn/compute_v1.regionDisks.html +++ b/docs/dyn/compute_v1.regionDisks.html @@ -496,6 +496,11 @@

Method Details

"locationHint": "A String", # An opaque location hint used to place the disk close to other resources. This field is for use by internal tools that use the public API. "name": "A String", # Name of the resource. Provided by the client when the resource is created. The name must be 1-63 characters long, and comply with RFC1035. Specifically, the name must be 1-63 characters long and match the regular expression `[a-z]([-a-z0-9]*[a-z0-9])?` which means the first character must be a lowercase letter, and all following characters must be a dash, lowercase letter, or digit, except the last character, which cannot be a dash. "options": "A String", # Internal use only. + "params": { # Additional disk params. # Input only. [Input Only] Additional params passed with the request, but not persisted as part of resource payload. + "resourceManagerTags": { # Resource manager tags to be bound to the disk. Tag keys and values have the same definition as resource manager tags. Keys must be in the format `tagKeys/{tag_key_id}`, and values are in the format `tagValues/456`. The field is ignored (both PUT & PATCH) when empty. + "a_key": "A String", + }, + }, "physicalBlockSizeBytes": "A String", # Physical block size of the persistent disk, in bytes. If not present in a request, a default value is used. The currently supported size is 4096, other sizes may be added in the future. If an unsupported value is requested, the error message will list the supported values for the caller's project. "provisionedIops": "A String", # Indicates how many IOPS to provision for the disk. This sets the number of I/O operations per second that the disk can handle. Values must be between 10,000 and 120,000. For more details, see the Extreme persistent disk documentation. "region": "A String", # [Output Only] URL of the region where the disk resides. Only applicable for regional resources. You must specify this field as part of the HTTP request URL. It is not settable as a field in the request body. @@ -685,6 +690,11 @@

Method Details

"locationHint": "A String", # An opaque location hint used to place the disk close to other resources. This field is for use by internal tools that use the public API. "name": "A String", # Name of the resource. Provided by the client when the resource is created. The name must be 1-63 characters long, and comply with RFC1035. Specifically, the name must be 1-63 characters long and match the regular expression `[a-z]([-a-z0-9]*[a-z0-9])?` which means the first character must be a lowercase letter, and all following characters must be a dash, lowercase letter, or digit, except the last character, which cannot be a dash. "options": "A String", # Internal use only. + "params": { # Additional disk params. # Input only. [Input Only] Additional params passed with the request, but not persisted as part of resource payload. + "resourceManagerTags": { # Resource manager tags to be bound to the disk. Tag keys and values have the same definition as resource manager tags. Keys must be in the format `tagKeys/{tag_key_id}`, and values are in the format `tagValues/456`. The field is ignored (both PUT & PATCH) when empty. + "a_key": "A String", + }, + }, "physicalBlockSizeBytes": "A String", # Physical block size of the persistent disk, in bytes. If not present in a request, a default value is used. The currently supported size is 4096, other sizes may be added in the future. If an unsupported value is requested, the error message will list the supported values for the caller's project. "provisionedIops": "A String", # Indicates how many IOPS to provision for the disk. This sets the number of I/O operations per second that the disk can handle. Values must be between 10,000 and 120,000. For more details, see the Extreme persistent disk documentation. "region": "A String", # [Output Only] URL of the region where the disk resides. Only applicable for regional resources. You must specify this field as part of the HTTP request URL. It is not settable as a field in the request body. @@ -862,6 +872,11 @@

Method Details

"locationHint": "A String", # An opaque location hint used to place the disk close to other resources. This field is for use by internal tools that use the public API. "name": "A String", # Name of the resource. Provided by the client when the resource is created. The name must be 1-63 characters long, and comply with RFC1035. Specifically, the name must be 1-63 characters long and match the regular expression `[a-z]([-a-z0-9]*[a-z0-9])?` which means the first character must be a lowercase letter, and all following characters must be a dash, lowercase letter, or digit, except the last character, which cannot be a dash. "options": "A String", # Internal use only. + "params": { # Additional disk params. # Input only. [Input Only] Additional params passed with the request, but not persisted as part of resource payload. + "resourceManagerTags": { # Resource manager tags to be bound to the disk. Tag keys and values have the same definition as resource manager tags. Keys must be in the format `tagKeys/{tag_key_id}`, and values are in the format `tagValues/456`. The field is ignored (both PUT & PATCH) when empty. + "a_key": "A String", + }, + }, "physicalBlockSizeBytes": "A String", # Physical block size of the persistent disk, in bytes. If not present in a request, a default value is used. The currently supported size is 4096, other sizes may be added in the future. If an unsupported value is requested, the error message will list the supported values for the caller's project. "provisionedIops": "A String", # Indicates how many IOPS to provision for the disk. This sets the number of I/O operations per second that the disk can handle. Values must be between 10,000 and 120,000. For more details, see the Extreme persistent disk documentation. "region": "A String", # [Output Only] URL of the region where the disk resides. Only applicable for regional resources. You must specify this field as part of the HTTP request URL. It is not settable as a field in the request body. diff --git a/docs/dyn/compute_v1.regionInstances.html b/docs/dyn/compute_v1.regionInstances.html index c25a02f49a5..5e0e5134813 100644 --- a/docs/dyn/compute_v1.regionInstances.html +++ b/docs/dyn/compute_v1.regionInstances.html @@ -138,6 +138,9 @@

Method Details

], "onUpdateAction": "A String", # Specifies which action to take on instance update with this disk. Default is to use the existing disk. "provisionedIops": "A String", # Indicates how many IOPS to provision for the disk. This sets the number of I/O operations per second that the disk can handle. Values must be between 10,000 and 120,000. For more details, see the Extreme persistent disk documentation. + "resourceManagerTags": { # Resource manager tags to be bound to the disk. Tag keys and values have the same definition as resource manager tags. Keys must be in the format `tagKeys/{tag_key_id}`, and values are in the format `tagValues/456`. The field is ignored (both PUT & PATCH) when empty. + "a_key": "A String", + }, "resourcePolicies": [ # Resource policies applied to this disk for automatic snapshot creations. Specified using the full or partial URL. For instance template, specify only the resource policy name. "A String", ], @@ -279,7 +282,7 @@

Method Details

"resourcePolicies": [ # Resource policies (names, not URLs) applied to instances created from these properties. Note that for MachineImage, this is not supported yet. "A String", ], - "scheduling": { # Sets the scheduling options for an Instance. NextID: 21 # Specifies the scheduling options for the instances that are created from these properties. + "scheduling": { # Sets the scheduling options for an Instance. # Specifies the scheduling options for the instances that are created from these properties. "automaticRestart": True or False, # Specifies whether the instance should be automatically restarted if it is terminated by Compute Engine (not terminated by a user). You can only set the automatic restart option for standard instances. Preemptible instances cannot be automatically restarted. By default, this is set to true so an instance is automatically restarted if it is terminated by Compute Engine. "instanceTerminationAction": "A String", # Specifies the termination action for the instance. "locationHint": "A String", # An opaque location hint used to place the instance close to other resources. This field is for use by internal tools that use the public API. diff --git a/docs/dyn/compute_v1.regionSecurityPolicies.html b/docs/dyn/compute_v1.regionSecurityPolicies.html index bb176cf1aca..3998f4f1900 100644 --- a/docs/dyn/compute_v1.regionSecurityPolicies.html +++ b/docs/dyn/compute_v1.regionSecurityPolicies.html @@ -212,6 +212,11 @@

Method Details

}, }, "advancedOptionsConfig": { + "jsonCustomConfig": { # Custom configuration to apply the JSON parsing. Only applicable when json_parsing is set to STANDARD. + "contentTypes": [ # A list of custom Content-Type header values to apply the JSON parsing. As per RFC 1341, a Content-Type header value has the following format: Content-Type := type "/" subtype *[";" parameter] When configuring a custom Content-Type header value, only the type/subtype needs to be specified, and the parameters should be excluded. + "A String", + ], + }, "jsonParsing": "A String", "logLevel": "A String", }, @@ -305,6 +310,11 @@

Method Details

}, }, "advancedOptionsConfig": { + "jsonCustomConfig": { # Custom configuration to apply the JSON parsing. Only applicable when json_parsing is set to STANDARD. + "contentTypes": [ # A list of custom Content-Type header values to apply the JSON parsing. As per RFC 1341, a Content-Type header value has the following format: Content-Type := type "/" subtype *[";" parameter] When configuring a custom Content-Type header value, only the type/subtype needs to be specified, and the parameters should be excluded. + "A String", + ], + }, "jsonParsing": "A String", "logLevel": "A String", }, @@ -490,6 +500,11 @@

Method Details

}, }, "advancedOptionsConfig": { + "jsonCustomConfig": { # Custom configuration to apply the JSON parsing. Only applicable when json_parsing is set to STANDARD. + "contentTypes": [ # A list of custom Content-Type header values to apply the JSON parsing. As per RFC 1341, a Content-Type header value has the following format: Content-Type := type "/" subtype *[";" parameter] When configuring a custom Content-Type header value, only the type/subtype needs to be specified, and the parameters should be excluded. + "A String", + ], + }, "jsonParsing": "A String", "logLevel": "A String", }, @@ -612,6 +627,11 @@

Method Details

}, }, "advancedOptionsConfig": { + "jsonCustomConfig": { # Custom configuration to apply the JSON parsing. Only applicable when json_parsing is set to STANDARD. + "contentTypes": [ # A list of custom Content-Type header values to apply the JSON parsing. As per RFC 1341, a Content-Type header value has the following format: Content-Type := type "/" subtype *[";" parameter] When configuring a custom Content-Type header value, only the type/subtype needs to be specified, and the parameters should be excluded. + "A String", + ], + }, "jsonParsing": "A String", "logLevel": "A String", }, diff --git a/docs/dyn/compute_v1.securityPolicies.html b/docs/dyn/compute_v1.securityPolicies.html index ee96508ca2f..6594ec01d24 100644 --- a/docs/dyn/compute_v1.securityPolicies.html +++ b/docs/dyn/compute_v1.securityPolicies.html @@ -293,6 +293,11 @@

Method Details

}, }, "advancedOptionsConfig": { + "jsonCustomConfig": { # Custom configuration to apply the JSON parsing. Only applicable when json_parsing is set to STANDARD. + "contentTypes": [ # A list of custom Content-Type header values to apply the JSON parsing. As per RFC 1341, a Content-Type header value has the following format: Content-Type := type "/" subtype *[";" parameter] When configuring a custom Content-Type header value, only the type/subtype needs to be specified, and the parameters should be excluded. + "A String", + ], + }, "jsonParsing": "A String", "logLevel": "A String", }, @@ -526,6 +531,11 @@

Method Details

}, }, "advancedOptionsConfig": { + "jsonCustomConfig": { # Custom configuration to apply the JSON parsing. Only applicable when json_parsing is set to STANDARD. + "contentTypes": [ # A list of custom Content-Type header values to apply the JSON parsing. As per RFC 1341, a Content-Type header value has the following format: Content-Type := type "/" subtype *[";" parameter] When configuring a custom Content-Type header value, only the type/subtype needs to be specified, and the parameters should be excluded. + "A String", + ], + }, "jsonParsing": "A String", "logLevel": "A String", }, @@ -688,6 +698,11 @@

Method Details

}, }, "advancedOptionsConfig": { + "jsonCustomConfig": { # Custom configuration to apply the JSON parsing. Only applicable when json_parsing is set to STANDARD. + "contentTypes": [ # A list of custom Content-Type header values to apply the JSON parsing. As per RFC 1341, a Content-Type header value has the following format: Content-Type := type "/" subtype *[";" parameter] When configuring a custom Content-Type header value, only the type/subtype needs to be specified, and the parameters should be excluded. + "A String", + ], + }, "jsonParsing": "A String", "logLevel": "A String", }, @@ -872,6 +887,11 @@

Method Details

}, }, "advancedOptionsConfig": { + "jsonCustomConfig": { # Custom configuration to apply the JSON parsing. Only applicable when json_parsing is set to STANDARD. + "contentTypes": [ # A list of custom Content-Type header values to apply the JSON parsing. As per RFC 1341, a Content-Type header value has the following format: Content-Type := type "/" subtype *[";" parameter] When configuring a custom Content-Type header value, only the type/subtype needs to be specified, and the parameters should be excluded. + "A String", + ], + }, "jsonParsing": "A String", "logLevel": "A String", }, @@ -1033,6 +1053,11 @@

Method Details

}, }, "advancedOptionsConfig": { + "jsonCustomConfig": { # Custom configuration to apply the JSON parsing. Only applicable when json_parsing is set to STANDARD. + "contentTypes": [ # A list of custom Content-Type header values to apply the JSON parsing. As per RFC 1341, a Content-Type header value has the following format: Content-Type := type "/" subtype *[";" parameter] When configuring a custom Content-Type header value, only the type/subtype needs to be specified, and the parameters should be excluded. + "A String", + ], + }, "jsonParsing": "A String", "logLevel": "A String", }, diff --git a/docs/dyn/connectors_v1.projects.locations.global_.providers.connectors.versions.html b/docs/dyn/connectors_v1.projects.locations.global_.providers.connectors.versions.html index e3b682f744f..7a21bef5d90 100644 --- a/docs/dyn/connectors_v1.projects.locations.global_.providers.connectors.versions.html +++ b/docs/dyn/connectors_v1.projects.locations.global_.providers.connectors.versions.html @@ -118,6 +118,8 @@

Method Details

"configVariableTemplates": [ # Config variables to describe an `AuthConfig` for a `Connection`. { # ConfigVariableTemplate provides metadata about a `ConfigVariable` that is used in a Connection. "authorizationCodeLink": { # This configuration captures the details required to render an authorization link for the OAuth Authorization Code Flow. # Authorization code link options. To be populated if `ValueType` is `AUTHORIZATION_CODE` + "clientId": "A String", # The client ID assigned to the GCP Connectors OAuth app for the connector data source. + "enablePkce": True or False, # Whether to enable PKCE for the auth code flow. "scopes": [ # The scopes for which the user will authorize GCP Connectors on the connector data source. "A String", ], @@ -144,6 +146,7 @@

Method Details

"A String", ], }, + "state": "A String", # State of the config variable. "validationRegex": "A String", # Regular expression in RE2 syntax used for validating the `value` of a `ConfigVariable`. "valueType": "A String", # Type of the parameter: string, int, bool etc. consider custom type for the benefit for the validation. }, @@ -153,6 +156,8 @@

Method Details

"configVariableTemplates": [ # Output only. List of config variables needed to create a connection. { # ConfigVariableTemplate provides metadata about a `ConfigVariable` that is used in a Connection. "authorizationCodeLink": { # This configuration captures the details required to render an authorization link for the OAuth Authorization Code Flow. # Authorization code link options. To be populated if `ValueType` is `AUTHORIZATION_CODE` + "clientId": "A String", # The client ID assigned to the GCP Connectors OAuth app for the connector data source. + "enablePkce": True or False, # Whether to enable PKCE for the auth code flow. "scopes": [ # The scopes for which the user will authorize GCP Connectors on the connector data source. "A String", ], @@ -179,6 +184,7 @@

Method Details

"A String", ], }, + "state": "A String", # State of the config variable. "validationRegex": "A String", # Regular expression in RE2 syntax used for validating the `value` of a `ConfigVariable`. "valueType": "A String", # Type of the parameter: string, int, bool etc. consider custom type for the benefit for the validation. }, @@ -268,6 +274,8 @@

Method Details

"configVariableTemplates": [ # Config variables to describe an `AuthConfig` for a `Connection`. { # ConfigVariableTemplate provides metadata about a `ConfigVariable` that is used in a Connection. "authorizationCodeLink": { # This configuration captures the details required to render an authorization link for the OAuth Authorization Code Flow. # Authorization code link options. To be populated if `ValueType` is `AUTHORIZATION_CODE` + "clientId": "A String", # The client ID assigned to the GCP Connectors OAuth app for the connector data source. + "enablePkce": True or False, # Whether to enable PKCE for the auth code flow. "scopes": [ # The scopes for which the user will authorize GCP Connectors on the connector data source. "A String", ], @@ -294,6 +302,7 @@

Method Details

"A String", ], }, + "state": "A String", # State of the config variable. "validationRegex": "A String", # Regular expression in RE2 syntax used for validating the `value` of a `ConfigVariable`. "valueType": "A String", # Type of the parameter: string, int, bool etc. consider custom type for the benefit for the validation. }, @@ -303,6 +312,8 @@

Method Details

"configVariableTemplates": [ # Output only. List of config variables needed to create a connection. { # ConfigVariableTemplate provides metadata about a `ConfigVariable` that is used in a Connection. "authorizationCodeLink": { # This configuration captures the details required to render an authorization link for the OAuth Authorization Code Flow. # Authorization code link options. To be populated if `ValueType` is `AUTHORIZATION_CODE` + "clientId": "A String", # The client ID assigned to the GCP Connectors OAuth app for the connector data source. + "enablePkce": True or False, # Whether to enable PKCE for the auth code flow. "scopes": [ # The scopes for which the user will authorize GCP Connectors on the connector data source. "A String", ], @@ -329,6 +340,7 @@

Method Details

"A String", ], }, + "state": "A String", # State of the config variable. "validationRegex": "A String", # Regular expression in RE2 syntax used for validating the `value` of a `ConfigVariable`. "valueType": "A String", # Type of the parameter: string, int, bool etc. consider custom type for the benefit for the validation. }, diff --git a/docs/dyn/content_v2_1.accounts.html b/docs/dyn/content_v2_1.accounts.html index 16f1c47f931..f4da1c7ab0d 100644 --- a/docs/dyn/content_v2_1.accounts.html +++ b/docs/dyn/content_v2_1.accounts.html @@ -399,7 +399,7 @@

Method Details

], }, "batchId": 42, # The ID of the request entry this entry responds to. - "errors": { # A list of errors returned by a failed batch entry. # A list of errors defined if and only if the request failed. + "errors": { # A list of errors returned by a failed batch entry. # A list of errors for failed custombatch entries. *Note:* Schema errors fail the whole request. "code": 42, # The HTTP status of the first error in `errors`. "errors": [ # A list of errors. { # An error returned by the API. diff --git a/docs/dyn/content_v2_1.accountstatuses.html b/docs/dyn/content_v2_1.accountstatuses.html index 9cd045e6ae8..1d854d0761f 100644 --- a/docs/dyn/content_v2_1.accountstatuses.html +++ b/docs/dyn/content_v2_1.accountstatuses.html @@ -171,7 +171,7 @@

Method Details

"websiteClaimed": True or False, # Whether the account's website is claimed or not. }, "batchId": 42, # The ID of the request entry this entry responds to. - "errors": { # A list of errors returned by a failed batch entry. # A list of errors defined if and only if the request failed. + "errors": { # A list of errors returned by a failed batch entry. # A list of errors for failed custombatch entries. *Note:* Schema errors fail the whole request. "code": 42, # The HTTP status of the first error in `errors`. "errors": [ # A list of errors. { # An error returned by the API. diff --git a/docs/dyn/content_v2_1.accounttax.html b/docs/dyn/content_v2_1.accounttax.html index f7b5023103a..d032829e85b 100644 --- a/docs/dyn/content_v2_1.accounttax.html +++ b/docs/dyn/content_v2_1.accounttax.html @@ -155,7 +155,7 @@

Method Details

], }, "batchId": 42, # The ID of the request entry this entry responds to. - "errors": { # A list of errors returned by a failed batch entry. # A list of errors defined if and only if the request failed. + "errors": { # A list of errors returned by a failed batch entry. # A list of errors for failed custombatch entries. *Note:* Schema errors fail the whole request. "code": 42, # The HTTP status of the first error in `errors`. "errors": [ # A list of errors. { # An error returned by the API. diff --git a/docs/dyn/content_v2_1.datafeeds.html b/docs/dyn/content_v2_1.datafeeds.html index 77886d62879..ff145817aa2 100644 --- a/docs/dyn/content_v2_1.datafeeds.html +++ b/docs/dyn/content_v2_1.datafeeds.html @@ -210,7 +210,7 @@

Method Details

}, ], }, - "errors": { # A list of errors returned by a failed batch entry. # A list of errors defined if and only if the request failed. + "errors": { # A list of errors returned by a failed batch entry. # A list of errors for failed custombatch entries. *Note:* Schema errors fail the whole request. "code": 42, # The HTTP status of the first error in `errors`. "errors": [ # A list of errors. { # An error returned by the API. diff --git a/docs/dyn/content_v2_1.datafeedstatuses.html b/docs/dyn/content_v2_1.datafeedstatuses.html index d7485737cb1..c4a54aabc51 100644 --- a/docs/dyn/content_v2_1.datafeedstatuses.html +++ b/docs/dyn/content_v2_1.datafeedstatuses.html @@ -166,7 +166,7 @@

Method Details

}, ], }, - "errors": { # A list of errors returned by a failed batch entry. # A list of errors defined if and only if the request failed. + "errors": { # A list of errors returned by a failed batch entry. # A list of errors for failed custombatch entries. *Note:* Schema errors fail the whole request. "code": 42, # The HTTP status of the first error in `errors`. "errors": [ # A list of errors. { # An error returned by the API. diff --git a/docs/dyn/content_v2_1.html b/docs/dyn/content_v2_1.html index 40f3f9d9a89..8d8660cd0fa 100644 --- a/docs/dyn/content_v2_1.html +++ b/docs/dyn/content_v2_1.html @@ -84,11 +84,6 @@

Instance Methods

Returns the accountstatuses Resource.

-

- accountstatusesbyexternalsellerid() -

-

Returns the accountstatusesbyexternalsellerid Resource.

-

accounttax()

diff --git a/docs/dyn/content_v2_1.localinventory.html b/docs/dyn/content_v2_1.localinventory.html index 06b2d6f8aca..9b6a86b05dd 100644 --- a/docs/dyn/content_v2_1.localinventory.html +++ b/docs/dyn/content_v2_1.localinventory.html @@ -138,7 +138,7 @@

Method Details

"entries": [ # The result of the execution of the batch requests. { # Batch entry encoding a single local inventory update response. "batchId": 42, # The ID of the request entry this entry responds to. - "errors": { # A list of errors returned by a failed batch entry. # A list of errors defined if and only if the request failed. + "errors": { # A list of errors returned by a failed batch entry. # A list of errors for failed custombatch entries. *Note:* Schema errors fail the whole request. "code": 42, # The HTTP status of the first error in `errors`. "errors": [ # A list of errors. { # An error returned by the API. diff --git a/docs/dyn/content_v2_1.ordertrackingsignals.html b/docs/dyn/content_v2_1.ordertrackingsignals.html index 8032cf20d16..4cc9c41e956 100644 --- a/docs/dyn/content_v2_1.ordertrackingsignals.html +++ b/docs/dyn/content_v2_1.ordertrackingsignals.html @@ -117,13 +117,13 @@

Method Details

}, ], "merchantId": "A String", # The Google merchant ID of this order tracking signal. This value is optional. If left unset, the caller's merchant ID is used. You must request access in order to provide data on behalf of another merchant. For more information, see [Submitting Order Tracking Signals](/shopping-content/guides/order-tracking-signals). - "orderCreatedTime": { # Represents civil time (or occasionally physical time). This type can represent a civil time in one of a few possible ways: * When utc_offset is set and time_zone is unset: a civil time on a calendar day with a particular offset from UTC. * When time_zone is set and utc_offset is unset: a civil time on a calendar day in a particular time zone. * When neither time_zone nor utc_offset is set: a civil time on a calendar day in local time. The date is relative to the Proleptic Gregorian Calendar. If year is 0, the DateTime is considered not to have a specific year. month and day must have valid, non-zero values. This type may also be used to represent a physical time if all the date and time fields are set and either case of the `time_offset` oneof is set. Consider using `Timestamp` message for physical time instead. If your use case also would like to store the user's timezone, that can be done in another field. This type is more flexible than some applications may want. Make sure to document and validate your application's limitations. # Required. The time when the order was created on the merchant side. Include the year and timezone string, if available. - "day": 42, # Required. Day of month. Must be from 1 to 31 and valid for the year and month. - "hours": 42, # Required. Hours of day in 24 hour format. Should be from 0 to 23. An API may choose to allow the value "24:00:00" for scenarios like business closing time. - "minutes": 42, # Required. Minutes of hour of day. Must be from 0 to 59. - "month": 42, # Required. Month of year. Must be from 1 to 12. - "nanos": 42, # Required. Fractions of seconds in nanoseconds. Must be from 0 to 999,999,999. - "seconds": 42, # Required. Seconds of minutes of the time. Must normally be from 0 to 59. An API may allow the value 60 if it allows leap-seconds. + "orderCreatedTime": { # Represents civil time (or occasionally physical time). This type can represent a civil time in one of a few possible ways: * When utc_offset is set and time_zone is unset: a civil time on a calendar day with a particular offset from UTC. * When time_zone is set and utc_offset is unset: a civil time on a calendar day in a particular time zone. * When neither time_zone nor utc_offset is set: a civil time on a calendar day in local time. The date is relative to the Proleptic Gregorian Calendar. If year, month, or day are 0, the DateTime is considered not to have a specific year, month, or day respectively. This type may also be used to represent a physical time if all the date and time fields are set and either case of the `time_offset` oneof is set. Consider using `Timestamp` message for physical time instead. If your use case also would like to store the user's timezone, that can be done in another field. This type is more flexible than some applications may want. Make sure to document and validate your application's limitations. # Required. The time when the order was created on the merchant side. Include the year and timezone string, if available. + "day": 42, # Optional. Day of month. Must be from 1 to 31 and valid for the year and month, or 0 if specifying a datetime without a day. + "hours": 42, # Optional. Hours of day in 24 hour format. Should be from 0 to 23, defaults to 0 (midnight). An API may choose to allow the value "24:00:00" for scenarios like business closing time. + "minutes": 42, # Optional. Minutes of hour of day. Must be from 0 to 59, defaults to 0. + "month": 42, # Optional. Month of year. Must be from 1 to 12, or 0 if specifying a datetime without a month. + "nanos": 42, # Optional. Fractions of seconds in nanoseconds. Must be from 0 to 999,999,999, defaults to 0. + "seconds": 42, # Optional. Seconds of minutes of the time. Must normally be from 0 to 59, defaults to 0. An API may allow the value 60 if it allows leap-seconds. "timeZone": { # Represents a time zone from the [IANA Time Zone Database](https://www.iana.org/time-zones). # Time zone. "id": "A String", # IANA Time Zone Database time zone, e.g. "America/New_York". "version": "A String", # Optional. IANA Time Zone Database version number, e.g. "2019a". @@ -142,13 +142,13 @@

Method Details

], "shippingInfo": [ # The shipping information for the order. { # The shipping information for the order. - "actualDeliveryTime": { # Represents civil time (or occasionally physical time). This type can represent a civil time in one of a few possible ways: * When utc_offset is set and time_zone is unset: a civil time on a calendar day with a particular offset from UTC. * When time_zone is set and utc_offset is unset: a civil time on a calendar day in a particular time zone. * When neither time_zone nor utc_offset is set: a civil time on a calendar day in local time. The date is relative to the Proleptic Gregorian Calendar. If year is 0, the DateTime is considered not to have a specific year. month and day must have valid, non-zero values. This type may also be used to represent a physical time if all the date and time fields are set and either case of the `time_offset` oneof is set. Consider using `Timestamp` message for physical time instead. If your use case also would like to store the user's timezone, that can be done in another field. This type is more flexible than some applications may want. Make sure to document and validate your application's limitations. # The time when the shipment was actually delivered. Include the year and timezone string, if available. This field is required, if one of the following fields is absent: tracking_id or carrier_name. - "day": 42, # Required. Day of month. Must be from 1 to 31 and valid for the year and month. - "hours": 42, # Required. Hours of day in 24 hour format. Should be from 0 to 23. An API may choose to allow the value "24:00:00" for scenarios like business closing time. - "minutes": 42, # Required. Minutes of hour of day. Must be from 0 to 59. - "month": 42, # Required. Month of year. Must be from 1 to 12. - "nanos": 42, # Required. Fractions of seconds in nanoseconds. Must be from 0 to 999,999,999. - "seconds": 42, # Required. Seconds of minutes of the time. Must normally be from 0 to 59. An API may allow the value 60 if it allows leap-seconds. + "actualDeliveryTime": { # Represents civil time (or occasionally physical time). This type can represent a civil time in one of a few possible ways: * When utc_offset is set and time_zone is unset: a civil time on a calendar day with a particular offset from UTC. * When time_zone is set and utc_offset is unset: a civil time on a calendar day in a particular time zone. * When neither time_zone nor utc_offset is set: a civil time on a calendar day in local time. The date is relative to the Proleptic Gregorian Calendar. If year, month, or day are 0, the DateTime is considered not to have a specific year, month, or day respectively. This type may also be used to represent a physical time if all the date and time fields are set and either case of the `time_offset` oneof is set. Consider using `Timestamp` message for physical time instead. If your use case also would like to store the user's timezone, that can be done in another field. This type is more flexible than some applications may want. Make sure to document and validate your application's limitations. # The time when the shipment was actually delivered. Include the year and timezone string, if available. This field is required, if one of the following fields is absent: tracking_id or carrier_name. + "day": 42, # Optional. Day of month. Must be from 1 to 31 and valid for the year and month, or 0 if specifying a datetime without a day. + "hours": 42, # Optional. Hours of day in 24 hour format. Should be from 0 to 23, defaults to 0 (midnight). An API may choose to allow the value "24:00:00" for scenarios like business closing time. + "minutes": 42, # Optional. Minutes of hour of day. Must be from 0 to 59, defaults to 0. + "month": 42, # Optional. Month of year. Must be from 1 to 12, or 0 if specifying a datetime without a month. + "nanos": 42, # Optional. Fractions of seconds in nanoseconds. Must be from 0 to 999,999,999, defaults to 0. + "seconds": 42, # Optional. Seconds of minutes of the time. Must normally be from 0 to 59, defaults to 0. An API may allow the value 60 if it allows leap-seconds. "timeZone": { # Represents a time zone from the [IANA Time Zone Database](https://www.iana.org/time-zones). # Time zone. "id": "A String", # IANA Time Zone Database time zone, e.g. "America/New_York". "version": "A String", # Optional. IANA Time Zone Database version number, e.g. "2019a". @@ -158,13 +158,13 @@

Method Details

}, "carrierName": "A String", # The name of the shipping carrier for the delivery. This field is required if one of the following fields is absent: earliest_delivery_promise_time, latest_delivery_promise_time, and actual_delivery_time. "carrierServiceName": "A String", # The service type for fulfillment, e.g., GROUND, FIRST_CLASS, etc. - "earliestDeliveryPromiseTime": { # Represents civil time (or occasionally physical time). This type can represent a civil time in one of a few possible ways: * When utc_offset is set and time_zone is unset: a civil time on a calendar day with a particular offset from UTC. * When time_zone is set and utc_offset is unset: a civil time on a calendar day in a particular time zone. * When neither time_zone nor utc_offset is set: a civil time on a calendar day in local time. The date is relative to the Proleptic Gregorian Calendar. If year is 0, the DateTime is considered not to have a specific year. month and day must have valid, non-zero values. This type may also be used to represent a physical time if all the date and time fields are set and either case of the `time_offset` oneof is set. Consider using `Timestamp` message for physical time instead. If your use case also would like to store the user's timezone, that can be done in another field. This type is more flexible than some applications may want. Make sure to document and validate your application's limitations. # The earliest delivery promised time. Include the year and timezone string, if available. This field is required, if one of the following fields is absent: tracking_id or carrier_name. - "day": 42, # Required. Day of month. Must be from 1 to 31 and valid for the year and month. - "hours": 42, # Required. Hours of day in 24 hour format. Should be from 0 to 23. An API may choose to allow the value "24:00:00" for scenarios like business closing time. - "minutes": 42, # Required. Minutes of hour of day. Must be from 0 to 59. - "month": 42, # Required. Month of year. Must be from 1 to 12. - "nanos": 42, # Required. Fractions of seconds in nanoseconds. Must be from 0 to 999,999,999. - "seconds": 42, # Required. Seconds of minutes of the time. Must normally be from 0 to 59. An API may allow the value 60 if it allows leap-seconds. + "earliestDeliveryPromiseTime": { # Represents civil time (or occasionally physical time). This type can represent a civil time in one of a few possible ways: * When utc_offset is set and time_zone is unset: a civil time on a calendar day with a particular offset from UTC. * When time_zone is set and utc_offset is unset: a civil time on a calendar day in a particular time zone. * When neither time_zone nor utc_offset is set: a civil time on a calendar day in local time. The date is relative to the Proleptic Gregorian Calendar. If year, month, or day are 0, the DateTime is considered not to have a specific year, month, or day respectively. This type may also be used to represent a physical time if all the date and time fields are set and either case of the `time_offset` oneof is set. Consider using `Timestamp` message for physical time instead. If your use case also would like to store the user's timezone, that can be done in another field. This type is more flexible than some applications may want. Make sure to document and validate your application's limitations. # The earliest delivery promised time. Include the year and timezone string, if available. This field is required, if one of the following fields is absent: tracking_id or carrier_name. + "day": 42, # Optional. Day of month. Must be from 1 to 31 and valid for the year and month, or 0 if specifying a datetime without a day. + "hours": 42, # Optional. Hours of day in 24 hour format. Should be from 0 to 23, defaults to 0 (midnight). An API may choose to allow the value "24:00:00" for scenarios like business closing time. + "minutes": 42, # Optional. Minutes of hour of day. Must be from 0 to 59, defaults to 0. + "month": 42, # Optional. Month of year. Must be from 1 to 12, or 0 if specifying a datetime without a month. + "nanos": 42, # Optional. Fractions of seconds in nanoseconds. Must be from 0 to 999,999,999, defaults to 0. + "seconds": 42, # Optional. Seconds of minutes of the time. Must normally be from 0 to 59, defaults to 0. An API may allow the value 60 if it allows leap-seconds. "timeZone": { # Represents a time zone from the [IANA Time Zone Database](https://www.iana.org/time-zones). # Time zone. "id": "A String", # IANA Time Zone Database time zone, e.g. "America/New_York". "version": "A String", # Optional. IANA Time Zone Database version number, e.g. "2019a". @@ -172,13 +172,13 @@

Method Details

"utcOffset": "A String", # UTC offset. Must be whole seconds, between -18 hours and +18 hours. For example, a UTC offset of -4:00 would be represented as { seconds: -14400 }. "year": 42, # Optional. Year of date. Must be from 1 to 9999, or 0 if specifying a datetime without a year. }, - "latestDeliveryPromiseTime": { # Represents civil time (or occasionally physical time). This type can represent a civil time in one of a few possible ways: * When utc_offset is set and time_zone is unset: a civil time on a calendar day with a particular offset from UTC. * When time_zone is set and utc_offset is unset: a civil time on a calendar day in a particular time zone. * When neither time_zone nor utc_offset is set: a civil time on a calendar day in local time. The date is relative to the Proleptic Gregorian Calendar. If year is 0, the DateTime is considered not to have a specific year. month and day must have valid, non-zero values. This type may also be used to represent a physical time if all the date and time fields are set and either case of the `time_offset` oneof is set. Consider using `Timestamp` message for physical time instead. If your use case also would like to store the user's timezone, that can be done in another field. This type is more flexible than some applications may want. Make sure to document and validate your application's limitations. # The latest delivery promised time. Include the year and timezone string, if available. This field is required, if one of the following fields is absent: tracking_id or carrier_name. - "day": 42, # Required. Day of month. Must be from 1 to 31 and valid for the year and month. - "hours": 42, # Required. Hours of day in 24 hour format. Should be from 0 to 23. An API may choose to allow the value "24:00:00" for scenarios like business closing time. - "minutes": 42, # Required. Minutes of hour of day. Must be from 0 to 59. - "month": 42, # Required. Month of year. Must be from 1 to 12. - "nanos": 42, # Required. Fractions of seconds in nanoseconds. Must be from 0 to 999,999,999. - "seconds": 42, # Required. Seconds of minutes of the time. Must normally be from 0 to 59. An API may allow the value 60 if it allows leap-seconds. + "latestDeliveryPromiseTime": { # Represents civil time (or occasionally physical time). This type can represent a civil time in one of a few possible ways: * When utc_offset is set and time_zone is unset: a civil time on a calendar day with a particular offset from UTC. * When time_zone is set and utc_offset is unset: a civil time on a calendar day in a particular time zone. * When neither time_zone nor utc_offset is set: a civil time on a calendar day in local time. The date is relative to the Proleptic Gregorian Calendar. If year, month, or day are 0, the DateTime is considered not to have a specific year, month, or day respectively. This type may also be used to represent a physical time if all the date and time fields are set and either case of the `time_offset` oneof is set. Consider using `Timestamp` message for physical time instead. If your use case also would like to store the user's timezone, that can be done in another field. This type is more flexible than some applications may want. Make sure to document and validate your application's limitations. # The latest delivery promised time. Include the year and timezone string, if available. This field is required, if one of the following fields is absent: tracking_id or carrier_name. + "day": 42, # Optional. Day of month. Must be from 1 to 31 and valid for the year and month, or 0 if specifying a datetime without a day. + "hours": 42, # Optional. Hours of day in 24 hour format. Should be from 0 to 23, defaults to 0 (midnight). An API may choose to allow the value "24:00:00" for scenarios like business closing time. + "minutes": 42, # Optional. Minutes of hour of day. Must be from 0 to 59, defaults to 0. + "month": 42, # Optional. Month of year. Must be from 1 to 12, or 0 if specifying a datetime without a month. + "nanos": 42, # Optional. Fractions of seconds in nanoseconds. Must be from 0 to 999,999,999, defaults to 0. + "seconds": 42, # Optional. Seconds of minutes of the time. Must normally be from 0 to 59, defaults to 0. An API may allow the value 60 if it allows leap-seconds. "timeZone": { # Represents a time zone from the [IANA Time Zone Database](https://www.iana.org/time-zones). # Time zone. "id": "A String", # IANA Time Zone Database time zone, e.g. "America/New_York". "version": "A String", # Optional. IANA Time Zone Database version number, e.g. "2019a". @@ -189,13 +189,13 @@

Method Details

"originPostalCode": "A String", # The origin postal code, as a continuous string without spaces or dashes, e.g. "95016". This field will be anonymized in returned OrderTrackingSignal creation response. "originRegionCode": "A String", # The [CLDR territory code] (http://www.unicode.org/repos/cldr/tags/latest/common/main/en.xml) for the shipping origin. "shipmentId": "A String", # Required. The shipment ID. This field will be hashed in returned OrderTrackingSignal creation response. - "shippedTime": { # Represents civil time (or occasionally physical time). This type can represent a civil time in one of a few possible ways: * When utc_offset is set and time_zone is unset: a civil time on a calendar day with a particular offset from UTC. * When time_zone is set and utc_offset is unset: a civil time on a calendar day in a particular time zone. * When neither time_zone nor utc_offset is set: a civil time on a calendar day in local time. The date is relative to the Proleptic Gregorian Calendar. If year is 0, the DateTime is considered not to have a specific year. month and day must have valid, non-zero values. This type may also be used to represent a physical time if all the date and time fields are set and either case of the `time_offset` oneof is set. Consider using `Timestamp` message for physical time instead. If your use case also would like to store the user's timezone, that can be done in another field. This type is more flexible than some applications may want. Make sure to document and validate your application's limitations. # The time when the shipment was shipped. Include the year and timezone string, if available. - "day": 42, # Required. Day of month. Must be from 1 to 31 and valid for the year and month. - "hours": 42, # Required. Hours of day in 24 hour format. Should be from 0 to 23. An API may choose to allow the value "24:00:00" for scenarios like business closing time. - "minutes": 42, # Required. Minutes of hour of day. Must be from 0 to 59. - "month": 42, # Required. Month of year. Must be from 1 to 12. - "nanos": 42, # Required. Fractions of seconds in nanoseconds. Must be from 0 to 999,999,999. - "seconds": 42, # Required. Seconds of minutes of the time. Must normally be from 0 to 59. An API may allow the value 60 if it allows leap-seconds. + "shippedTime": { # Represents civil time (or occasionally physical time). This type can represent a civil time in one of a few possible ways: * When utc_offset is set and time_zone is unset: a civil time on a calendar day with a particular offset from UTC. * When time_zone is set and utc_offset is unset: a civil time on a calendar day in a particular time zone. * When neither time_zone nor utc_offset is set: a civil time on a calendar day in local time. The date is relative to the Proleptic Gregorian Calendar. If year, month, or day are 0, the DateTime is considered not to have a specific year, month, or day respectively. This type may also be used to represent a physical time if all the date and time fields are set and either case of the `time_offset` oneof is set. Consider using `Timestamp` message for physical time instead. If your use case also would like to store the user's timezone, that can be done in another field. This type is more flexible than some applications may want. Make sure to document and validate your application's limitations. # The time when the shipment was shipped. Include the year and timezone string, if available. + "day": 42, # Optional. Day of month. Must be from 1 to 31 and valid for the year and month, or 0 if specifying a datetime without a day. + "hours": 42, # Optional. Hours of day in 24 hour format. Should be from 0 to 23, defaults to 0 (midnight). An API may choose to allow the value "24:00:00" for scenarios like business closing time. + "minutes": 42, # Optional. Minutes of hour of day. Must be from 0 to 59, defaults to 0. + "month": 42, # Optional. Month of year. Must be from 1 to 12, or 0 if specifying a datetime without a month. + "nanos": 42, # Optional. Fractions of seconds in nanoseconds. Must be from 0 to 999,999,999, defaults to 0. + "seconds": 42, # Optional. Seconds of minutes of the time. Must normally be from 0 to 59, defaults to 0. An API may allow the value 60 if it allows leap-seconds. "timeZone": { # Represents a time zone from the [IANA Time Zone Database](https://www.iana.org/time-zones). # Time zone. "id": "A String", # IANA Time Zone Database time zone, e.g. "America/New_York". "version": "A String", # Optional. IANA Time Zone Database version number, e.g. "2019a". @@ -239,13 +239,13 @@

Method Details

}, ], "merchantId": "A String", # The Google merchant ID of this order tracking signal. This value is optional. If left unset, the caller's merchant ID is used. You must request access in order to provide data on behalf of another merchant. For more information, see [Submitting Order Tracking Signals](/shopping-content/guides/order-tracking-signals). - "orderCreatedTime": { # Represents civil time (or occasionally physical time). This type can represent a civil time in one of a few possible ways: * When utc_offset is set and time_zone is unset: a civil time on a calendar day with a particular offset from UTC. * When time_zone is set and utc_offset is unset: a civil time on a calendar day in a particular time zone. * When neither time_zone nor utc_offset is set: a civil time on a calendar day in local time. The date is relative to the Proleptic Gregorian Calendar. If year is 0, the DateTime is considered not to have a specific year. month and day must have valid, non-zero values. This type may also be used to represent a physical time if all the date and time fields are set and either case of the `time_offset` oneof is set. Consider using `Timestamp` message for physical time instead. If your use case also would like to store the user's timezone, that can be done in another field. This type is more flexible than some applications may want. Make sure to document and validate your application's limitations. # Required. The time when the order was created on the merchant side. Include the year and timezone string, if available. - "day": 42, # Required. Day of month. Must be from 1 to 31 and valid for the year and month. - "hours": 42, # Required. Hours of day in 24 hour format. Should be from 0 to 23. An API may choose to allow the value "24:00:00" for scenarios like business closing time. - "minutes": 42, # Required. Minutes of hour of day. Must be from 0 to 59. - "month": 42, # Required. Month of year. Must be from 1 to 12. - "nanos": 42, # Required. Fractions of seconds in nanoseconds. Must be from 0 to 999,999,999. - "seconds": 42, # Required. Seconds of minutes of the time. Must normally be from 0 to 59. An API may allow the value 60 if it allows leap-seconds. + "orderCreatedTime": { # Represents civil time (or occasionally physical time). This type can represent a civil time in one of a few possible ways: * When utc_offset is set and time_zone is unset: a civil time on a calendar day with a particular offset from UTC. * When time_zone is set and utc_offset is unset: a civil time on a calendar day in a particular time zone. * When neither time_zone nor utc_offset is set: a civil time on a calendar day in local time. The date is relative to the Proleptic Gregorian Calendar. If year, month, or day are 0, the DateTime is considered not to have a specific year, month, or day respectively. This type may also be used to represent a physical time if all the date and time fields are set and either case of the `time_offset` oneof is set. Consider using `Timestamp` message for physical time instead. If your use case also would like to store the user's timezone, that can be done in another field. This type is more flexible than some applications may want. Make sure to document and validate your application's limitations. # Required. The time when the order was created on the merchant side. Include the year and timezone string, if available. + "day": 42, # Optional. Day of month. Must be from 1 to 31 and valid for the year and month, or 0 if specifying a datetime without a day. + "hours": 42, # Optional. Hours of day in 24 hour format. Should be from 0 to 23, defaults to 0 (midnight). An API may choose to allow the value "24:00:00" for scenarios like business closing time. + "minutes": 42, # Optional. Minutes of hour of day. Must be from 0 to 59, defaults to 0. + "month": 42, # Optional. Month of year. Must be from 1 to 12, or 0 if specifying a datetime without a month. + "nanos": 42, # Optional. Fractions of seconds in nanoseconds. Must be from 0 to 999,999,999, defaults to 0. + "seconds": 42, # Optional. Seconds of minutes of the time. Must normally be from 0 to 59, defaults to 0. An API may allow the value 60 if it allows leap-seconds. "timeZone": { # Represents a time zone from the [IANA Time Zone Database](https://www.iana.org/time-zones). # Time zone. "id": "A String", # IANA Time Zone Database time zone, e.g. "America/New_York". "version": "A String", # Optional. IANA Time Zone Database version number, e.g. "2019a". @@ -264,13 +264,13 @@

Method Details

], "shippingInfo": [ # The shipping information for the order. { # The shipping information for the order. - "actualDeliveryTime": { # Represents civil time (or occasionally physical time). This type can represent a civil time in one of a few possible ways: * When utc_offset is set and time_zone is unset: a civil time on a calendar day with a particular offset from UTC. * When time_zone is set and utc_offset is unset: a civil time on a calendar day in a particular time zone. * When neither time_zone nor utc_offset is set: a civil time on a calendar day in local time. The date is relative to the Proleptic Gregorian Calendar. If year is 0, the DateTime is considered not to have a specific year. month and day must have valid, non-zero values. This type may also be used to represent a physical time if all the date and time fields are set and either case of the `time_offset` oneof is set. Consider using `Timestamp` message for physical time instead. If your use case also would like to store the user's timezone, that can be done in another field. This type is more flexible than some applications may want. Make sure to document and validate your application's limitations. # The time when the shipment was actually delivered. Include the year and timezone string, if available. This field is required, if one of the following fields is absent: tracking_id or carrier_name. - "day": 42, # Required. Day of month. Must be from 1 to 31 and valid for the year and month. - "hours": 42, # Required. Hours of day in 24 hour format. Should be from 0 to 23. An API may choose to allow the value "24:00:00" for scenarios like business closing time. - "minutes": 42, # Required. Minutes of hour of day. Must be from 0 to 59. - "month": 42, # Required. Month of year. Must be from 1 to 12. - "nanos": 42, # Required. Fractions of seconds in nanoseconds. Must be from 0 to 999,999,999. - "seconds": 42, # Required. Seconds of minutes of the time. Must normally be from 0 to 59. An API may allow the value 60 if it allows leap-seconds. + "actualDeliveryTime": { # Represents civil time (or occasionally physical time). This type can represent a civil time in one of a few possible ways: * When utc_offset is set and time_zone is unset: a civil time on a calendar day with a particular offset from UTC. * When time_zone is set and utc_offset is unset: a civil time on a calendar day in a particular time zone. * When neither time_zone nor utc_offset is set: a civil time on a calendar day in local time. The date is relative to the Proleptic Gregorian Calendar. If year, month, or day are 0, the DateTime is considered not to have a specific year, month, or day respectively. This type may also be used to represent a physical time if all the date and time fields are set and either case of the `time_offset` oneof is set. Consider using `Timestamp` message for physical time instead. If your use case also would like to store the user's timezone, that can be done in another field. This type is more flexible than some applications may want. Make sure to document and validate your application's limitations. # The time when the shipment was actually delivered. Include the year and timezone string, if available. This field is required, if one of the following fields is absent: tracking_id or carrier_name. + "day": 42, # Optional. Day of month. Must be from 1 to 31 and valid for the year and month, or 0 if specifying a datetime without a day. + "hours": 42, # Optional. Hours of day in 24 hour format. Should be from 0 to 23, defaults to 0 (midnight). An API may choose to allow the value "24:00:00" for scenarios like business closing time. + "minutes": 42, # Optional. Minutes of hour of day. Must be from 0 to 59, defaults to 0. + "month": 42, # Optional. Month of year. Must be from 1 to 12, or 0 if specifying a datetime without a month. + "nanos": 42, # Optional. Fractions of seconds in nanoseconds. Must be from 0 to 999,999,999, defaults to 0. + "seconds": 42, # Optional. Seconds of minutes of the time. Must normally be from 0 to 59, defaults to 0. An API may allow the value 60 if it allows leap-seconds. "timeZone": { # Represents a time zone from the [IANA Time Zone Database](https://www.iana.org/time-zones). # Time zone. "id": "A String", # IANA Time Zone Database time zone, e.g. "America/New_York". "version": "A String", # Optional. IANA Time Zone Database version number, e.g. "2019a". @@ -280,13 +280,13 @@

Method Details

}, "carrierName": "A String", # The name of the shipping carrier for the delivery. This field is required if one of the following fields is absent: earliest_delivery_promise_time, latest_delivery_promise_time, and actual_delivery_time. "carrierServiceName": "A String", # The service type for fulfillment, e.g., GROUND, FIRST_CLASS, etc. - "earliestDeliveryPromiseTime": { # Represents civil time (or occasionally physical time). This type can represent a civil time in one of a few possible ways: * When utc_offset is set and time_zone is unset: a civil time on a calendar day with a particular offset from UTC. * When time_zone is set and utc_offset is unset: a civil time on a calendar day in a particular time zone. * When neither time_zone nor utc_offset is set: a civil time on a calendar day in local time. The date is relative to the Proleptic Gregorian Calendar. If year is 0, the DateTime is considered not to have a specific year. month and day must have valid, non-zero values. This type may also be used to represent a physical time if all the date and time fields are set and either case of the `time_offset` oneof is set. Consider using `Timestamp` message for physical time instead. If your use case also would like to store the user's timezone, that can be done in another field. This type is more flexible than some applications may want. Make sure to document and validate your application's limitations. # The earliest delivery promised time. Include the year and timezone string, if available. This field is required, if one of the following fields is absent: tracking_id or carrier_name. - "day": 42, # Required. Day of month. Must be from 1 to 31 and valid for the year and month. - "hours": 42, # Required. Hours of day in 24 hour format. Should be from 0 to 23. An API may choose to allow the value "24:00:00" for scenarios like business closing time. - "minutes": 42, # Required. Minutes of hour of day. Must be from 0 to 59. - "month": 42, # Required. Month of year. Must be from 1 to 12. - "nanos": 42, # Required. Fractions of seconds in nanoseconds. Must be from 0 to 999,999,999. - "seconds": 42, # Required. Seconds of minutes of the time. Must normally be from 0 to 59. An API may allow the value 60 if it allows leap-seconds. + "earliestDeliveryPromiseTime": { # Represents civil time (or occasionally physical time). This type can represent a civil time in one of a few possible ways: * When utc_offset is set and time_zone is unset: a civil time on a calendar day with a particular offset from UTC. * When time_zone is set and utc_offset is unset: a civil time on a calendar day in a particular time zone. * When neither time_zone nor utc_offset is set: a civil time on a calendar day in local time. The date is relative to the Proleptic Gregorian Calendar. If year, month, or day are 0, the DateTime is considered not to have a specific year, month, or day respectively. This type may also be used to represent a physical time if all the date and time fields are set and either case of the `time_offset` oneof is set. Consider using `Timestamp` message for physical time instead. If your use case also would like to store the user's timezone, that can be done in another field. This type is more flexible than some applications may want. Make sure to document and validate your application's limitations. # The earliest delivery promised time. Include the year and timezone string, if available. This field is required, if one of the following fields is absent: tracking_id or carrier_name. + "day": 42, # Optional. Day of month. Must be from 1 to 31 and valid for the year and month, or 0 if specifying a datetime without a day. + "hours": 42, # Optional. Hours of day in 24 hour format. Should be from 0 to 23, defaults to 0 (midnight). An API may choose to allow the value "24:00:00" for scenarios like business closing time. + "minutes": 42, # Optional. Minutes of hour of day. Must be from 0 to 59, defaults to 0. + "month": 42, # Optional. Month of year. Must be from 1 to 12, or 0 if specifying a datetime without a month. + "nanos": 42, # Optional. Fractions of seconds in nanoseconds. Must be from 0 to 999,999,999, defaults to 0. + "seconds": 42, # Optional. Seconds of minutes of the time. Must normally be from 0 to 59, defaults to 0. An API may allow the value 60 if it allows leap-seconds. "timeZone": { # Represents a time zone from the [IANA Time Zone Database](https://www.iana.org/time-zones). # Time zone. "id": "A String", # IANA Time Zone Database time zone, e.g. "America/New_York". "version": "A String", # Optional. IANA Time Zone Database version number, e.g. "2019a". @@ -294,13 +294,13 @@

Method Details

"utcOffset": "A String", # UTC offset. Must be whole seconds, between -18 hours and +18 hours. For example, a UTC offset of -4:00 would be represented as { seconds: -14400 }. "year": 42, # Optional. Year of date. Must be from 1 to 9999, or 0 if specifying a datetime without a year. }, - "latestDeliveryPromiseTime": { # Represents civil time (or occasionally physical time). This type can represent a civil time in one of a few possible ways: * When utc_offset is set and time_zone is unset: a civil time on a calendar day with a particular offset from UTC. * When time_zone is set and utc_offset is unset: a civil time on a calendar day in a particular time zone. * When neither time_zone nor utc_offset is set: a civil time on a calendar day in local time. The date is relative to the Proleptic Gregorian Calendar. If year is 0, the DateTime is considered not to have a specific year. month and day must have valid, non-zero values. This type may also be used to represent a physical time if all the date and time fields are set and either case of the `time_offset` oneof is set. Consider using `Timestamp` message for physical time instead. If your use case also would like to store the user's timezone, that can be done in another field. This type is more flexible than some applications may want. Make sure to document and validate your application's limitations. # The latest delivery promised time. Include the year and timezone string, if available. This field is required, if one of the following fields is absent: tracking_id or carrier_name. - "day": 42, # Required. Day of month. Must be from 1 to 31 and valid for the year and month. - "hours": 42, # Required. Hours of day in 24 hour format. Should be from 0 to 23. An API may choose to allow the value "24:00:00" for scenarios like business closing time. - "minutes": 42, # Required. Minutes of hour of day. Must be from 0 to 59. - "month": 42, # Required. Month of year. Must be from 1 to 12. - "nanos": 42, # Required. Fractions of seconds in nanoseconds. Must be from 0 to 999,999,999. - "seconds": 42, # Required. Seconds of minutes of the time. Must normally be from 0 to 59. An API may allow the value 60 if it allows leap-seconds. + "latestDeliveryPromiseTime": { # Represents civil time (or occasionally physical time). This type can represent a civil time in one of a few possible ways: * When utc_offset is set and time_zone is unset: a civil time on a calendar day with a particular offset from UTC. * When time_zone is set and utc_offset is unset: a civil time on a calendar day in a particular time zone. * When neither time_zone nor utc_offset is set: a civil time on a calendar day in local time. The date is relative to the Proleptic Gregorian Calendar. If year, month, or day are 0, the DateTime is considered not to have a specific year, month, or day respectively. This type may also be used to represent a physical time if all the date and time fields are set and either case of the `time_offset` oneof is set. Consider using `Timestamp` message for physical time instead. If your use case also would like to store the user's timezone, that can be done in another field. This type is more flexible than some applications may want. Make sure to document and validate your application's limitations. # The latest delivery promised time. Include the year and timezone string, if available. This field is required, if one of the following fields is absent: tracking_id or carrier_name. + "day": 42, # Optional. Day of month. Must be from 1 to 31 and valid for the year and month, or 0 if specifying a datetime without a day. + "hours": 42, # Optional. Hours of day in 24 hour format. Should be from 0 to 23, defaults to 0 (midnight). An API may choose to allow the value "24:00:00" for scenarios like business closing time. + "minutes": 42, # Optional. Minutes of hour of day. Must be from 0 to 59, defaults to 0. + "month": 42, # Optional. Month of year. Must be from 1 to 12, or 0 if specifying a datetime without a month. + "nanos": 42, # Optional. Fractions of seconds in nanoseconds. Must be from 0 to 999,999,999, defaults to 0. + "seconds": 42, # Optional. Seconds of minutes of the time. Must normally be from 0 to 59, defaults to 0. An API may allow the value 60 if it allows leap-seconds. "timeZone": { # Represents a time zone from the [IANA Time Zone Database](https://www.iana.org/time-zones). # Time zone. "id": "A String", # IANA Time Zone Database time zone, e.g. "America/New_York". "version": "A String", # Optional. IANA Time Zone Database version number, e.g. "2019a". @@ -311,13 +311,13 @@

Method Details

"originPostalCode": "A String", # The origin postal code, as a continuous string without spaces or dashes, e.g. "95016". This field will be anonymized in returned OrderTrackingSignal creation response. "originRegionCode": "A String", # The [CLDR territory code] (http://www.unicode.org/repos/cldr/tags/latest/common/main/en.xml) for the shipping origin. "shipmentId": "A String", # Required. The shipment ID. This field will be hashed in returned OrderTrackingSignal creation response. - "shippedTime": { # Represents civil time (or occasionally physical time). This type can represent a civil time in one of a few possible ways: * When utc_offset is set and time_zone is unset: a civil time on a calendar day with a particular offset from UTC. * When time_zone is set and utc_offset is unset: a civil time on a calendar day in a particular time zone. * When neither time_zone nor utc_offset is set: a civil time on a calendar day in local time. The date is relative to the Proleptic Gregorian Calendar. If year is 0, the DateTime is considered not to have a specific year. month and day must have valid, non-zero values. This type may also be used to represent a physical time if all the date and time fields are set and either case of the `time_offset` oneof is set. Consider using `Timestamp` message for physical time instead. If your use case also would like to store the user's timezone, that can be done in another field. This type is more flexible than some applications may want. Make sure to document and validate your application's limitations. # The time when the shipment was shipped. Include the year and timezone string, if available. - "day": 42, # Required. Day of month. Must be from 1 to 31 and valid for the year and month. - "hours": 42, # Required. Hours of day in 24 hour format. Should be from 0 to 23. An API may choose to allow the value "24:00:00" for scenarios like business closing time. - "minutes": 42, # Required. Minutes of hour of day. Must be from 0 to 59. - "month": 42, # Required. Month of year. Must be from 1 to 12. - "nanos": 42, # Required. Fractions of seconds in nanoseconds. Must be from 0 to 999,999,999. - "seconds": 42, # Required. Seconds of minutes of the time. Must normally be from 0 to 59. An API may allow the value 60 if it allows leap-seconds. + "shippedTime": { # Represents civil time (or occasionally physical time). This type can represent a civil time in one of a few possible ways: * When utc_offset is set and time_zone is unset: a civil time on a calendar day with a particular offset from UTC. * When time_zone is set and utc_offset is unset: a civil time on a calendar day in a particular time zone. * When neither time_zone nor utc_offset is set: a civil time on a calendar day in local time. The date is relative to the Proleptic Gregorian Calendar. If year, month, or day are 0, the DateTime is considered not to have a specific year, month, or day respectively. This type may also be used to represent a physical time if all the date and time fields are set and either case of the `time_offset` oneof is set. Consider using `Timestamp` message for physical time instead. If your use case also would like to store the user's timezone, that can be done in another field. This type is more flexible than some applications may want. Make sure to document and validate your application's limitations. # The time when the shipment was shipped. Include the year and timezone string, if available. + "day": 42, # Optional. Day of month. Must be from 1 to 31 and valid for the year and month, or 0 if specifying a datetime without a day. + "hours": 42, # Optional. Hours of day in 24 hour format. Should be from 0 to 23, defaults to 0 (midnight). An API may choose to allow the value "24:00:00" for scenarios like business closing time. + "minutes": 42, # Optional. Minutes of hour of day. Must be from 0 to 59, defaults to 0. + "month": 42, # Optional. Month of year. Must be from 1 to 12, or 0 if specifying a datetime without a month. + "nanos": 42, # Optional. Fractions of seconds in nanoseconds. Must be from 0 to 999,999,999, defaults to 0. + "seconds": 42, # Optional. Seconds of minutes of the time. Must normally be from 0 to 59, defaults to 0. An API may allow the value 60 if it allows leap-seconds. "timeZone": { # Represents a time zone from the [IANA Time Zone Database](https://www.iana.org/time-zones). # Time zone. "id": "A String", # IANA Time Zone Database time zone, e.g. "America/New_York". "version": "A String", # Optional. IANA Time Zone Database version number, e.g. "2019a". diff --git a/docs/dyn/content_v2_1.products.html b/docs/dyn/content_v2_1.products.html index c0978b8d2ce..c83d588aad4 100644 --- a/docs/dyn/content_v2_1.products.html +++ b/docs/dyn/content_v2_1.products.html @@ -346,7 +346,7 @@

Method Details

"entries": [ # The result of the execution of the batch requests. { # A batch entry encoding a single non-batch products response. "batchId": 42, # The ID of the request entry this entry responds to. - "errors": { # A list of errors returned by a failed batch entry. # A list of errors defined if and only if the request failed. + "errors": { # A list of errors returned by a failed batch entry. # A list of errors for failed custombatch entries. *Note:* Schema errors fail the whole request. "code": 42, # The HTTP status of the first error in `errors`. "errors": [ # A list of errors. { # An error returned by the API. diff --git a/docs/dyn/content_v2_1.productstatuses.html b/docs/dyn/content_v2_1.productstatuses.html index 49a5229c7e9..dd784e17479 100644 --- a/docs/dyn/content_v2_1.productstatuses.html +++ b/docs/dyn/content_v2_1.productstatuses.html @@ -135,7 +135,7 @@

Method Details

"entries": [ # The result of the execution of the batch requests. { # A batch entry encoding a single non-batch productstatuses response. "batchId": 42, # The ID of the request entry this entry responds to. - "errors": { # A list of errors returned by a failed batch entry. # A list of errors, if the request failed. + "errors": { # A list of errors returned by a failed batch entry. # A list of errors for failed custombatch entries. *Note:* Schema errors fail the whole request. "code": 42, # The HTTP status of the first error in `errors`. "errors": [ # A list of errors. { # An error returned by the API. diff --git a/docs/dyn/content_v2_1.regionalinventory.html b/docs/dyn/content_v2_1.regionalinventory.html index 73c96e55c89..2d6d38d5c35 100644 --- a/docs/dyn/content_v2_1.regionalinventory.html +++ b/docs/dyn/content_v2_1.regionalinventory.html @@ -143,7 +143,7 @@

Method Details

"entries": [ # The result of the execution of the batch requests. { # A batch entry encoding a single non-batch regional inventory response. "batchId": 42, # The ID of the request entry this entry responds to. - "errors": { # A list of errors returned by a failed batch entry. # A list of errors defined if and only if the request failed. + "errors": { # A list of errors returned by a failed batch entry. # A list of errors for failed custombatch entries. *Note:* Schema errors fail the whole request. "code": 42, # The HTTP status of the first error in `errors`. "errors": [ # A list of errors. { # An error returned by the API. diff --git a/docs/dyn/content_v2_1.reports.html b/docs/dyn/content_v2_1.reports.html index dfef0c17973..f81b6f3f34d 100644 --- a/docs/dyn/content_v2_1.reports.html +++ b/docs/dyn/content_v2_1.reports.html @@ -141,6 +141,52 @@

Method Details

"unshippedItems": 3.14, # Number of ordered items not shipped up until the end of the queried day. If a multi-day period is specified in the search query, the returned value is the average number of unshipped items over the days in the queried period. **This metric cannot be segmented by customer_country_code.** "unshippedOrders": 3.14, # Number of orders not shipped or partially shipped up until the end of the queried day. If a multi-day period is specified in the search query, the returned value is the average number of unshipped orders over the days in the queried period. **This metric cannot be segmented by product dimensions and customer_country_code.** }, + "productView": { # Product fields. Values are only set for fields requested explicitly in the request's search query. # Product fields requested by the merchant in the query. Field values are only set if the merchant queries `ProductView`. `product_view` field is available only to allowlisted users who can query the `ProductView` table. + "aggregatedDestinationStatus": "A String", # Aggregated destination status. + "availability": "A String", # Availability of the product. + "brand": "A String", # Brand of the product. + "channel": "A String", # Channel of the product (online versus local). + "condition": "A String", # Condition of the product. + "creationTime": "A String", # The time the merchant created the product in timestamp seconds. + "currencyCode": "A String", # Product price currency code (for example, ISO 4217). Absent if product price is not available. + "expirationDate": { # Represents a whole or partial calendar date, such as a birthday. The time of day and time zone are either specified elsewhere or are insignificant. The date is relative to the Gregorian Calendar. This can represent one of the following: * A full date, with non-zero year, month, and day values. * A month and day, with a zero year (for example, an anniversary). * A year on its own, with a zero month and a zero day. * A year and month, with a zero day (for example, a credit card expiration date). Related types: * google.type.TimeOfDay * google.type.DateTime * google.protobuf.Timestamp # Expiration date for the product. Specified on insertion. + "day": 42, # Day of a month. Must be from 1 to 31 and valid for the year and month, or 0 to specify a year by itself or a year and month where the day isn't significant. + "month": 42, # Month of a year. Must be from 1 to 12, or 0 to specify a year without a month and day. + "year": 42, # Year of the date. Must be from 1 to 9999, or 0 to specify a date without a year. + }, + "gtin": [ # GTIN of the product. + "A String", + ], + "id": "A String", # The REST ID of the product, in the form of channel:contentLanguage:targetCountry:offerId. Content API methods that operate on products take this as their productId parameter. Should always be included in the SELECT clause. + "itemGroupId": "A String", # Item group ID provided by the merchant for grouping variants together. + "itemIssues": [ # List of item issues for the product. + { # Item issue associated with the product. + "issueType": { # Type of the item issue. # Item issue type. + "canonicalAttribute": "A String", # Canonical attribute name for attribute-specific issues. + }, + "resolution": "A String", # Item issue resolution. + "severity": { # Severity of an issue per destination in a region, and aggregated severity. # Item issue severity. + "aggregatedSeverity": "A String", # Severity of an issue aggregated for destination. + "severityPerDestination": [ # Item issue severity for every destination. + { # Issue severity for all affected regions in a destination. + "demotedCountries": [ # List of demoted countries in the destination. + "A String", + ], + "destination": "A String", # Issue destination. + "disapprovedCountries": [ # List of disapproved countries in the destination. + "A String", + ], + }, + ], + }, + }, + ], + "languageCode": "A String", # Language code of the product in BCP 47 format. + "offerId": "A String", # Merchant-provided id of the product. + "priceMicros": "A String", # Product price specified as micros in the product currency. Absent in case the information about the price of the product is not available. + "shippingLabel": "A String", # The normalized shipping label specified in the feed + "title": "A String", # Title of the product. + }, "segments": { # Dimensions according to which metrics are segmented in the response. Values of product dimensions, such as `offer_id`, reflect the state of a product at the time of the corresponding event, for example, impression or order. Segment fields cannot be selected in queries without also selecting at least one metric field. Values are only set for dimensions requested explicitly in the request's search query. # Segmentation dimensions requested by the merchant in the query. Dimension values are only set for dimensions requested explicitly in the query. "brand": "A String", # Brand of the product. "categoryL1": "A String", # [Product category (1st level)](https://developers.google.com/shopping-content/guides/reports/segmentation#category_and_product_type) in Google's product taxonomy. diff --git a/docs/dyn/content_v2_1.shippingsettings.html b/docs/dyn/content_v2_1.shippingsettings.html index c11dc6eb84b..b1f8d97d7f5 100644 --- a/docs/dyn/content_v2_1.shippingsettings.html +++ b/docs/dyn/content_v2_1.shippingsettings.html @@ -445,7 +445,7 @@

Method Details

"entries": [ # The result of the execution of the batch requests. { # A batch entry encoding a single non-batch shipping settings response. "batchId": 42, # The ID of the request entry to which this entry responds. - "errors": { # A list of errors returned by a failed batch entry. # A list of errors defined if, and only if, the request failed. + "errors": { # A list of errors returned by a failed batch entry. # A list of errors for failed custombatch entries. *Note:* Schema errors fail the whole request. "code": 42, # The HTTP status of the first error in `errors`. "errors": [ # A list of errors. { # An error returned by the API. diff --git a/docs/dyn/dataplex_v1.projects.locations.lakes.tasks.html b/docs/dyn/dataplex_v1.projects.locations.lakes.tasks.html index 42504674de5..b084fd7381e 100644 --- a/docs/dyn/dataplex_v1.projects.locations.lakes.tasks.html +++ b/docs/dyn/dataplex_v1.projects.locations.lakes.tasks.html @@ -134,7 +134,7 @@

Method Details

}, "kmsKey": "A String", # Optional. The Cloud KMS key to use for encryption, of the form: projects/{project_number}/locations/{location_id}/keyRings/{key-ring-name}/cryptoKeys/{key-name}. "maxJobExecutionLifetime": "A String", # Optional. The maximum duration after which the job execution is expired. - "project": "A String", # Optional. The project in which jobs are run. By default, the project containing the Lake is used. If a project is provided, the executionspec.service_account must belong to this same project. + "project": "A String", # Optional. The project in which jobs are run. By default, the project containing the Lake is used. If a project is provided, the ExecutionSpec.service_account must belong to this project. "serviceAccount": "A String", # Required. Service account to use to execute a task. If not provided, the default Compute service account for the project is used. }, "executionStatus": { # Status of the task execution (e.g. Jobs). # Output only. Status of the latest task executions. @@ -295,7 +295,7 @@

Method Details

}, "kmsKey": "A String", # Optional. The Cloud KMS key to use for encryption, of the form: projects/{project_number}/locations/{location_id}/keyRings/{key-ring-name}/cryptoKeys/{key-name}. "maxJobExecutionLifetime": "A String", # Optional. The maximum duration after which the job execution is expired. - "project": "A String", # Optional. The project in which jobs are run. By default, the project containing the Lake is used. If a project is provided, the executionspec.service_account must belong to this same project. + "project": "A String", # Optional. The project in which jobs are run. By default, the project containing the Lake is used. If a project is provided, the ExecutionSpec.service_account must belong to this project. "serviceAccount": "A String", # Required. Service account to use to execute a task. If not provided, the default Compute service account for the project is used. }, "executionStatus": { # Status of the task execution (e.g. Jobs). # Output only. Status of the latest task executions. @@ -446,7 +446,7 @@

Method Details

}, "kmsKey": "A String", # Optional. The Cloud KMS key to use for encryption, of the form: projects/{project_number}/locations/{location_id}/keyRings/{key-ring-name}/cryptoKeys/{key-name}. "maxJobExecutionLifetime": "A String", # Optional. The maximum duration after which the job execution is expired. - "project": "A String", # Optional. The project in which jobs are run. By default, the project containing the Lake is used. If a project is provided, the executionspec.service_account must belong to this same project. + "project": "A String", # Optional. The project in which jobs are run. By default, the project containing the Lake is used. If a project is provided, the ExecutionSpec.service_account must belong to this project. "serviceAccount": "A String", # Required. Service account to use to execute a task. If not provided, the default Compute service account for the project is used. }, "executionStatus": { # Status of the task execution (e.g. Jobs). # Output only. Status of the latest task executions. @@ -556,7 +556,7 @@

Method Details

}, "kmsKey": "A String", # Optional. The Cloud KMS key to use for encryption, of the form: projects/{project_number}/locations/{location_id}/keyRings/{key-ring-name}/cryptoKeys/{key-name}. "maxJobExecutionLifetime": "A String", # Optional. The maximum duration after which the job execution is expired. - "project": "A String", # Optional. The project in which jobs are run. By default, the project containing the Lake is used. If a project is provided, the executionspec.service_account must belong to this same project. + "project": "A String", # Optional. The project in which jobs are run. By default, the project containing the Lake is used. If a project is provided, the ExecutionSpec.service_account must belong to this project. "serviceAccount": "A String", # Required. Service account to use to execute a task. If not provided, the default Compute service account for the project is used. }, "executionStatus": { # Status of the task execution (e.g. Jobs). # Output only. Status of the latest task executions. diff --git a/docs/dyn/dataproc_v1.projects.regions.clusters.html b/docs/dyn/dataproc_v1.projects.regions.clusters.html index 7dd87e2d191..9eed9bc8e93 100644 --- a/docs/dyn/dataproc_v1.projects.regions.clusters.html +++ b/docs/dyn/dataproc_v1.projects.regions.clusters.html @@ -1831,6 +1831,7 @@

Method Details

{ # A request to repair a cluster. "clusterUuid": "A String", # Optional. Specifying the cluster_uuid means the RPC will fail (with error NOT_FOUND) if a cluster with the specified UUID does not exist. + "gracefulDecommissionTimeout": "A String", # Optional. Timeout for graceful YARN decomissioning. Graceful decommissioning facilitates the removal of cluster nodes without interrupting jobs in progress. The timeout specifies the amount of time to wait for jobs finish before forcefully removing nodes. The default timeout is 0 for forceful decommissioning, and the maximum timeout period is 1 day. (see JSON Mapping—Duration (https://developers.google.com/protocol-buffers/docs/proto3#json)).graceful_decommission_timeout is supported in Dataproc image versions 1.2+. "nodePools": [ # Optional. Node pools and corresponding repair action to be taken. All node pools should be unique in this request. i.e. Multiple entries for the same node pool id are not allowed. { # indicating a list of workers of same type "id": "A String", # Required. A unique id of the node pool. Primary and Secondary workers can be specified using special reserved ids PRIMARY_WORKER_POOL and SECONDARY_WORKER_POOL respectively. Aux node pools can be referenced using corresponding pool id. @@ -1840,6 +1841,7 @@

Method Details

"repairAction": "A String", # Required. Repair action to take on specified resources of the node pool. }, ], + "parentOperationId": "A String", # Optional. operation id of the parent operation sending the repair request "requestId": "A String", # Optional. A unique ID used to identify the request. If the server receives two RepairClusterRequests with the same ID, the second request is ignored, and the first google.longrunning.Operation created and stored in the backend is returned.Recommendation: Set this value to a UUID (https://en.wikipedia.org/wiki/Universally_unique_identifier).The ID must contain only letters (a-z, A-Z), numbers (0-9), underscores (_), and hyphens (-). The maximum length is 40 characters. } diff --git a/docs/dyn/displayvideo_v1.customBiddingAlgorithms.html b/docs/dyn/displayvideo_v1.customBiddingAlgorithms.html index 800fd479e8f..aba0673c787 100644 --- a/docs/dyn/displayvideo_v1.customBiddingAlgorithms.html +++ b/docs/dyn/displayvideo_v1.customBiddingAlgorithms.html @@ -206,7 +206,7 @@

Method Details

Args: advertiserId: string, The ID of the DV360 advertiser that has access to the custom bidding algorithm. - filter: string, Allows filtering by custom bidding algorithm fields. Supported syntax: * Filter expressions are made up of one or more restrictions. * Restrictions can be combined by `AND`. A sequence of restrictions * implicitly uses `AND`. * A restriction has the form of `{field} {operator} {value}`. * The operator must be `CONTAINS (:)` or `EQUALS (=)`. * The operator must be `CONTAINS (:)` for the following field: - `displayName` * The operator must be `EQUALS (=)` for the following field: - `customBiddingAlgorithmType` - `customBiddingAlgorithmState` * For `displayName`, the value is a string. We return all custom bidding algorithms whose display_name contains such string. * For `customBiddingAlgorithmType`, the value is a string. We return all algorithms whose custom_bidding_algorithm_type is equal to the given type. * For `customBiddingAlgorithmState`, the value is a string. We return all algorithms whose custom_bidding_algorithm_state is equal to the given type. Examples: * All custom bidding algorithms for which the display name contains "politics": `displayName:politics`. * All custom bidding algorithms for which the type is "SCRIPT_BASED": `customBiddingAlgorithmType=SCRIPT_BASED` * All custom bidding algorithms for which the state is "ENABLED": `customBiddingAlgorithmState=ENABLED` The length of this field should be no more than 500 characters. + filter: string, Allows filtering by custom bidding algorithm fields. Supported syntax: * Filter expressions are made up of one or more restrictions. * Restrictions can be combined by `AND`. A sequence of restrictions * implicitly uses `AND`. * A restriction has the form of `{field} {operator} {value}`. * The operator must be `CONTAINS (:)` or `EQUALS (=)`. * The operator must be `CONTAINS (:)` for the following field: - `displayName` * The operator must be `EQUALS (=)` for the following field: - `customBiddingAlgorithmType` * For `displayName`, the value is a string. We return all custom bidding algorithms whose display_name contains such string. * For `customBiddingAlgorithmType`, the value is a string. We return all algorithms whose custom_bidding_algorithm_type is equal to the given type. Examples: * All custom bidding algorithms for which the display name contains "politics": `displayName:politics`. * All custom bidding algorithms for which the type is "SCRIPT_BASED": `customBiddingAlgorithmType=SCRIPT_BASED` The length of this field should be no more than 500 characters. orderBy: string, Field by which to sort the list. Acceptable values are: * `displayName` (default) The default sorting order is ascending. To specify descending order for a field, a suffix "desc" should be added to the field name. Example: `displayName desc`. pageSize: integer, Requested page size. Must be between `1` and `100`. If unspecified will default to `100`. Returns error code `INVALID_ARGUMENT` if an invalid value is specified. pageToken: string, A token identifying a page of results the server should return. Typically, this is the value of next_page_token returned from the previous call to `ListCustomBiddingAlgorithms` method. If not specified, the first page of results will be returned. diff --git a/docs/dyn/dlp_v2.infoTypes.html b/docs/dyn/dlp_v2.infoTypes.html index 8a60d15795b..0260d7f1f5f 100644 --- a/docs/dyn/dlp_v2.infoTypes.html +++ b/docs/dyn/dlp_v2.infoTypes.html @@ -79,7 +79,7 @@

Instance Methods

Close httplib2 connections.

list(filter=None, languageCode=None, locationId=None, parent=None, x__xgafv=None)

-

Returns a list of the sensitive information types that the DLP API supports. See https://cloud.google.com/dlp/docs/infotypes-reference to learn more.

+

Returns a list of the sensitive information types that DLP API supports. See https://cloud.google.com/dlp/docs/infotypes-reference to learn more.

Method Details

close() @@ -88,7 +88,7 @@

Method Details

list(filter=None, languageCode=None, locationId=None, parent=None, x__xgafv=None) -
Returns a list of the sensitive information types that the DLP API supports. See https://cloud.google.com/dlp/docs/infotypes-reference to learn more.
+  
Returns a list of the sensitive information types that DLP API supports. See https://cloud.google.com/dlp/docs/infotypes-reference to learn more.
 
 Args:
   filter: string, filter to only return infoTypes supported by certain parts of the API. Defaults to supported_by=INSPECT.
@@ -119,6 +119,12 @@ 

Method Details

"supportedBy": [ # Which parts of the API supports this InfoType. "A String", ], + "versions": [ # A list of available versions for the infotype. + { # Details about each available version for an infotype. + "description": "A String", # Description of the version. + "version": "A String", # Name of the version + }, + ], }, ], }
diff --git a/docs/dyn/dlp_v2.locations.infoTypes.html b/docs/dyn/dlp_v2.locations.infoTypes.html index a465f984d45..c4f4596ffa5 100644 --- a/docs/dyn/dlp_v2.locations.infoTypes.html +++ b/docs/dyn/dlp_v2.locations.infoTypes.html @@ -79,7 +79,7 @@

Instance Methods

Close httplib2 connections.

list(parent, filter=None, languageCode=None, locationId=None, x__xgafv=None)

-

Returns a list of the sensitive information types that the DLP API supports. See https://cloud.google.com/dlp/docs/infotypes-reference to learn more.

+

Returns a list of the sensitive information types that DLP API supports. See https://cloud.google.com/dlp/docs/infotypes-reference to learn more.

Method Details

close() @@ -88,7 +88,7 @@

Method Details

list(parent, filter=None, languageCode=None, locationId=None, x__xgafv=None) -
Returns a list of the sensitive information types that the DLP API supports. See https://cloud.google.com/dlp/docs/infotypes-reference to learn more.
+  
Returns a list of the sensitive information types that DLP API supports. See https://cloud.google.com/dlp/docs/infotypes-reference to learn more.
 
 Args:
   parent: string, The parent resource name. The format of this value is as follows: locations/ LOCATION_ID (required)
@@ -119,6 +119,12 @@ 

Method Details

"supportedBy": [ # Which parts of the API supports this InfoType. "A String", ], + "versions": [ # A list of available versions for the infotype. + { # Details about each available version for an infotype. + "description": "A String", # Description of the version. + "version": "A String", # Name of the version + }, + ], }, ], }
diff --git a/docs/dyn/dlp_v2.organizations.deidentifyTemplates.html b/docs/dyn/dlp_v2.organizations.deidentifyTemplates.html index 853deb63288..0522d40ed47 100644 --- a/docs/dyn/dlp_v2.organizations.deidentifyTemplates.html +++ b/docs/dyn/dlp_v2.organizations.deidentifyTemplates.html @@ -79,7 +79,7 @@

Instance Methods

Close httplib2 connections.

create(parent, body=None, x__xgafv=None)

-

Creates a DeidentifyTemplate for re-using frequently used configuration for de-identifying content, images, and storage. See https://cloud.google.com/dlp/docs/creating-templates-deid to learn more.

+

Creates a DeidentifyTemplate for reusing frequently used configuration for de-identifying content, images, and storage. See https://cloud.google.com/dlp/docs/creating-templates-deid to learn more.

delete(name, x__xgafv=None)

Deletes a DeidentifyTemplate. See https://cloud.google.com/dlp/docs/creating-templates-deid to learn more.

@@ -103,7 +103,7 @@

Method Details

create(parent, body=None, x__xgafv=None) -
Creates a DeidentifyTemplate for re-using frequently used configuration for de-identifying content, images, and storage. See https://cloud.google.com/dlp/docs/creating-templates-deid to learn more.
+  
Creates a DeidentifyTemplate for reusing frequently used configuration for de-identifying content, images, and storage. See https://cloud.google.com/dlp/docs/creating-templates-deid to learn more.
 
 Args:
   parent: string, Required. Parent resource name. The format of this value varies depending on the scope of the request (project or organization) and whether you have [specified a processing location](https://cloud.google.com/dlp/docs/specifying-location): + Projects scope, location specified: `projects/`PROJECT_ID`/locations/`LOCATION_ID + Projects scope, no location specified (defaults to global): `projects/`PROJECT_ID + Organizations scope, location specified: `organizations/`ORG_ID`/locations/`LOCATION_ID + Organizations scope, no location specified (defaults to global): `organizations/`ORG_ID The following example `parent` string specifies a parent project with the identifier `example-project`, and specifies the `europe-west3` location for processing data: parent=projects/example-project/locations/europe-west3 (required)
@@ -199,7 +199,7 @@ 

Method Details

"reverseOrder": True or False, # Mask characters in reverse order. For example, if `masking_character` is `0`, `number_to_mask` is `14`, and `reverse_order` is `false`, then the input string `1234-5678-9012-3456` is masked as `00000000000000-3456`. If `masking_character` is `*`, `number_to_mask` is `3`, and `reverse_order` is `true`, then the string `12345` is masked as `12***`. }, "cryptoDeterministicConfig": { # Pseudonymization method that generates deterministic encryption for the given input. Outputs a base64 encoded representation of the encrypted output. Uses AES-SIV based on the RFC https://tools.ietf.org/html/rfc5297. # Deterministic Crypto - "context": { # General identifier of a data field in a storage service. # A context may be used for higher security and maintaining referential integrity such that the same identifier in two different contexts will be given a distinct surrogate. The context is appended to plaintext value being encrypted. On decryption the provided context is validated against the value used during encryption. If a context was provided during encryption, same context must be provided during decryption as well. If the context is not set, plaintext would be used as is for encryption. If the context is set but: 1. there is no record present when transforming a given value or 2. the field is not present when transforming a given value, plaintext would be used as is for encryption. Note that case (1) is expected when an `InfoTypeTransformation` is applied to both structured and non-structured `ContentItem`s. + "context": { # General identifier of a data field in a storage service. # A context may be used for higher security and maintaining referential integrity such that the same identifier in two different contexts will be given a distinct surrogate. The context is appended to plaintext value being encrypted. On decryption the provided context is validated against the value used during encryption. If a context was provided during encryption, same context must be provided during decryption as well. If the context is not set, plaintext would be used as is for encryption. If the context is set but: 1. there is no record present when transforming a given value or 2. the field is not present when transforming a given value, plaintext would be used as is for encryption. Note that case (1) is expected when an `InfoTypeTransformation` is applied to both structured and unstructured `ContentItem`s. "name": "A String", # Name describing the field. }, "cryptoKey": { # This is a data encryption key (DEK) (as opposed to a key encryption key (KEK) stored by Cloud Key Management Service (Cloud KMS). When using Cloud KMS to wrap or unwrap a DEK, be sure to set an appropriate IAM policy on the KEK to ensure an attacker cannot unwrap the DEK. # The key used by the encryption function. For deterministic encryption using AES-SIV, the provided key is internally expanded to 64 bytes prior to use. @@ -235,7 +235,7 @@

Method Details

}, "cryptoReplaceFfxFpeConfig": { # Replaces an identifier with a surrogate using Format Preserving Encryption (FPE) with the FFX mode of operation; however when used in the `ReidentifyContent` API method, it serves the opposite function by reversing the surrogate back into the original identifier. The identifier must be encoded as ASCII. For a given crypto key and context, the same identifier will be replaced with the same surrogate. Identifiers must be at least two characters long. In the case that the identifier is the empty string, it will be skipped. See https://cloud.google.com/dlp/docs/pseudonymization to learn more. Note: We recommend using CryptoDeterministicConfig for all use cases which do not require preserving the input alphabet space and size, plus warrant referential integrity. # Ffx-Fpe "commonAlphabet": "A String", # Common alphabets. - "context": { # General identifier of a data field in a storage service. # The 'tweak', a context may be used for higher security since the same identifier in two different contexts won't be given the same surrogate. If the context is not set, a default tweak will be used. If the context is set but: 1. there is no record present when transforming a given value or 1. the field is not present when transforming a given value, a default tweak will be used. Note that case (1) is expected when an `InfoTypeTransformation` is applied to both structured and non-structured `ContentItem`s. Currently, the referenced field may be of value type integer or string. The tweak is constructed as a sequence of bytes in big endian byte order such that: - a 64 bit integer is encoded followed by a single byte of value 1 - a string is encoded in UTF-8 format followed by a single byte of value 2 + "context": { # General identifier of a data field in a storage service. # The 'tweak', a context may be used for higher security since the same identifier in two different contexts won't be given the same surrogate. If the context is not set, a default tweak will be used. If the context is set but: 1. there is no record present when transforming a given value or 1. the field is not present when transforming a given value, a default tweak will be used. Note that case (1) is expected when an `InfoTypeTransformation` is applied to both structured and unstructured `ContentItem`s. Currently, the referenced field may be of value type integer or string. The tweak is constructed as a sequence of bytes in big endian byte order such that: - a 64 bit integer is encoded followed by a single byte of value 1 - a string is encoded in UTF-8 format followed by a single byte of value 2 "name": "A String", # Name describing the field. }, "cryptoKey": { # This is a data encryption key (DEK) (as opposed to a key encryption key (KEK) stored by Cloud Key Management Service (Cloud KMS). When using Cloud KMS to wrap or unwrap a DEK, be sure to set an appropriate IAM policy on the KEK to ensure an attacker cannot unwrap the DEK. # Required. The key used by the encryption algorithm. @@ -360,7 +360,7 @@

Method Details

"fieldTransformations": [ # Transform the record by applying various field transformations. { # The transformation to apply to the field. "condition": { # A condition for determining whether a transformation should be applied to a field. # Only apply the transformation if the condition evaluates to true for the given `RecordCondition`. The conditions are allowed to reference fields that are not used in the actual transformation. Example Use Cases: - Apply a different bucket transformation to an age column if the zip code column for the same record is within a specific range. - Redact a field if the date of birth field is greater than 85. - "expressions": { # An expression, consisting or an operator and conditions. # An expression. + "expressions": { # An expression, consisting of an operator and conditions. # An expression. "conditions": { # A collection of conditions. # Conditions to apply to the expression. "conditions": [ # A collection of conditions. { # The field type of `value` and `field` do not need to match to be considered equal, but not all comparisons are possible. EQUAL_TO and NOT_EQUAL_TO attempt to compare even with incompatible types, but all other comparisons are invalid with incompatible types. A `value` of type: - `string` can be compared against all other types - `boolean` can only be compared against other booleans - `integer` can be compared against doubles or a string if the string value can be parsed as an integer. - `double` can be compared against integers or a string if the string can be parsed as a double. - `Timestamp` can be compared against strings in RFC 3339 date string format. - `TimeOfDay` can be compared against timestamps and strings in the format of 'HH:mm:ss'. If we fail to compare do to type mismatch, a warning will be given and the condition will evaluate to false. @@ -483,7 +483,7 @@

Method Details

"reverseOrder": True or False, # Mask characters in reverse order. For example, if `masking_character` is `0`, `number_to_mask` is `14`, and `reverse_order` is `false`, then the input string `1234-5678-9012-3456` is masked as `00000000000000-3456`. If `masking_character` is `*`, `number_to_mask` is `3`, and `reverse_order` is `true`, then the string `12345` is masked as `12***`. }, "cryptoDeterministicConfig": { # Pseudonymization method that generates deterministic encryption for the given input. Outputs a base64 encoded representation of the encrypted output. Uses AES-SIV based on the RFC https://tools.ietf.org/html/rfc5297. # Deterministic Crypto - "context": { # General identifier of a data field in a storage service. # A context may be used for higher security and maintaining referential integrity such that the same identifier in two different contexts will be given a distinct surrogate. The context is appended to plaintext value being encrypted. On decryption the provided context is validated against the value used during encryption. If a context was provided during encryption, same context must be provided during decryption as well. If the context is not set, plaintext would be used as is for encryption. If the context is set but: 1. there is no record present when transforming a given value or 2. the field is not present when transforming a given value, plaintext would be used as is for encryption. Note that case (1) is expected when an `InfoTypeTransformation` is applied to both structured and non-structured `ContentItem`s. + "context": { # General identifier of a data field in a storage service. # A context may be used for higher security and maintaining referential integrity such that the same identifier in two different contexts will be given a distinct surrogate. The context is appended to plaintext value being encrypted. On decryption the provided context is validated against the value used during encryption. If a context was provided during encryption, same context must be provided during decryption as well. If the context is not set, plaintext would be used as is for encryption. If the context is set but: 1. there is no record present when transforming a given value or 2. the field is not present when transforming a given value, plaintext would be used as is for encryption. Note that case (1) is expected when an `InfoTypeTransformation` is applied to both structured and unstructured `ContentItem`s. "name": "A String", # Name describing the field. }, "cryptoKey": { # This is a data encryption key (DEK) (as opposed to a key encryption key (KEK) stored by Cloud Key Management Service (Cloud KMS). When using Cloud KMS to wrap or unwrap a DEK, be sure to set an appropriate IAM policy on the KEK to ensure an attacker cannot unwrap the DEK. # The key used by the encryption function. For deterministic encryption using AES-SIV, the provided key is internally expanded to 64 bytes prior to use. @@ -519,7 +519,7 @@

Method Details

}, "cryptoReplaceFfxFpeConfig": { # Replaces an identifier with a surrogate using Format Preserving Encryption (FPE) with the FFX mode of operation; however when used in the `ReidentifyContent` API method, it serves the opposite function by reversing the surrogate back into the original identifier. The identifier must be encoded as ASCII. For a given crypto key and context, the same identifier will be replaced with the same surrogate. Identifiers must be at least two characters long. In the case that the identifier is the empty string, it will be skipped. See https://cloud.google.com/dlp/docs/pseudonymization to learn more. Note: We recommend using CryptoDeterministicConfig for all use cases which do not require preserving the input alphabet space and size, plus warrant referential integrity. # Ffx-Fpe "commonAlphabet": "A String", # Common alphabets. - "context": { # General identifier of a data field in a storage service. # The 'tweak', a context may be used for higher security since the same identifier in two different contexts won't be given the same surrogate. If the context is not set, a default tweak will be used. If the context is set but: 1. there is no record present when transforming a given value or 1. the field is not present when transforming a given value, a default tweak will be used. Note that case (1) is expected when an `InfoTypeTransformation` is applied to both structured and non-structured `ContentItem`s. Currently, the referenced field may be of value type integer or string. The tweak is constructed as a sequence of bytes in big endian byte order such that: - a 64 bit integer is encoded followed by a single byte of value 1 - a string is encoded in UTF-8 format followed by a single byte of value 2 + "context": { # General identifier of a data field in a storage service. # The 'tweak', a context may be used for higher security since the same identifier in two different contexts won't be given the same surrogate. If the context is not set, a default tweak will be used. If the context is set but: 1. there is no record present when transforming a given value or 1. the field is not present when transforming a given value, a default tweak will be used. Note that case (1) is expected when an `InfoTypeTransformation` is applied to both structured and unstructured `ContentItem`s. Currently, the referenced field may be of value type integer or string. The tweak is constructed as a sequence of bytes in big endian byte order such that: - a 64 bit integer is encoded followed by a single byte of value 1 - a string is encoded in UTF-8 format followed by a single byte of value 2 "name": "A String", # Name describing the field. }, "cryptoKey": { # This is a data encryption key (DEK) (as opposed to a key encryption key (KEK) stored by Cloud Key Management Service (Cloud KMS). When using Cloud KMS to wrap or unwrap a DEK, be sure to set an appropriate IAM policy on the KEK to ensure an attacker cannot unwrap the DEK. # Required. The key used by the encryption algorithm. @@ -716,7 +716,7 @@

Method Details

"reverseOrder": True or False, # Mask characters in reverse order. For example, if `masking_character` is `0`, `number_to_mask` is `14`, and `reverse_order` is `false`, then the input string `1234-5678-9012-3456` is masked as `00000000000000-3456`. If `masking_character` is `*`, `number_to_mask` is `3`, and `reverse_order` is `true`, then the string `12345` is masked as `12***`. }, "cryptoDeterministicConfig": { # Pseudonymization method that generates deterministic encryption for the given input. Outputs a base64 encoded representation of the encrypted output. Uses AES-SIV based on the RFC https://tools.ietf.org/html/rfc5297. # Deterministic Crypto - "context": { # General identifier of a data field in a storage service. # A context may be used for higher security and maintaining referential integrity such that the same identifier in two different contexts will be given a distinct surrogate. The context is appended to plaintext value being encrypted. On decryption the provided context is validated against the value used during encryption. If a context was provided during encryption, same context must be provided during decryption as well. If the context is not set, plaintext would be used as is for encryption. If the context is set but: 1. there is no record present when transforming a given value or 2. the field is not present when transforming a given value, plaintext would be used as is for encryption. Note that case (1) is expected when an `InfoTypeTransformation` is applied to both structured and non-structured `ContentItem`s. + "context": { # General identifier of a data field in a storage service. # A context may be used for higher security and maintaining referential integrity such that the same identifier in two different contexts will be given a distinct surrogate. The context is appended to plaintext value being encrypted. On decryption the provided context is validated against the value used during encryption. If a context was provided during encryption, same context must be provided during decryption as well. If the context is not set, plaintext would be used as is for encryption. If the context is set but: 1. there is no record present when transforming a given value or 2. the field is not present when transforming a given value, plaintext would be used as is for encryption. Note that case (1) is expected when an `InfoTypeTransformation` is applied to both structured and unstructured `ContentItem`s. "name": "A String", # Name describing the field. }, "cryptoKey": { # This is a data encryption key (DEK) (as opposed to a key encryption key (KEK) stored by Cloud Key Management Service (Cloud KMS). When using Cloud KMS to wrap or unwrap a DEK, be sure to set an appropriate IAM policy on the KEK to ensure an attacker cannot unwrap the DEK. # The key used by the encryption function. For deterministic encryption using AES-SIV, the provided key is internally expanded to 64 bytes prior to use. @@ -752,7 +752,7 @@

Method Details

}, "cryptoReplaceFfxFpeConfig": { # Replaces an identifier with a surrogate using Format Preserving Encryption (FPE) with the FFX mode of operation; however when used in the `ReidentifyContent` API method, it serves the opposite function by reversing the surrogate back into the original identifier. The identifier must be encoded as ASCII. For a given crypto key and context, the same identifier will be replaced with the same surrogate. Identifiers must be at least two characters long. In the case that the identifier is the empty string, it will be skipped. See https://cloud.google.com/dlp/docs/pseudonymization to learn more. Note: We recommend using CryptoDeterministicConfig for all use cases which do not require preserving the input alphabet space and size, plus warrant referential integrity. # Ffx-Fpe "commonAlphabet": "A String", # Common alphabets. - "context": { # General identifier of a data field in a storage service. # The 'tweak', a context may be used for higher security since the same identifier in two different contexts won't be given the same surrogate. If the context is not set, a default tweak will be used. If the context is set but: 1. there is no record present when transforming a given value or 1. the field is not present when transforming a given value, a default tweak will be used. Note that case (1) is expected when an `InfoTypeTransformation` is applied to both structured and non-structured `ContentItem`s. Currently, the referenced field may be of value type integer or string. The tweak is constructed as a sequence of bytes in big endian byte order such that: - a 64 bit integer is encoded followed by a single byte of value 1 - a string is encoded in UTF-8 format followed by a single byte of value 2 + "context": { # General identifier of a data field in a storage service. # The 'tweak', a context may be used for higher security since the same identifier in two different contexts won't be given the same surrogate. If the context is not set, a default tweak will be used. If the context is set but: 1. there is no record present when transforming a given value or 1. the field is not present when transforming a given value, a default tweak will be used. Note that case (1) is expected when an `InfoTypeTransformation` is applied to both structured and unstructured `ContentItem`s. Currently, the referenced field may be of value type integer or string. The tweak is constructed as a sequence of bytes in big endian byte order such that: - a 64 bit integer is encoded followed by a single byte of value 1 - a string is encoded in UTF-8 format followed by a single byte of value 2 "name": "A String", # Name describing the field. }, "cryptoKey": { # This is a data encryption key (DEK) (as opposed to a key encryption key (KEK) stored by Cloud Key Management Service (Cloud KMS). When using Cloud KMS to wrap or unwrap a DEK, be sure to set an appropriate IAM policy on the KEK to ensure an attacker cannot unwrap the DEK. # Required. The key used by the encryption algorithm. @@ -875,7 +875,7 @@

Method Details

"recordSuppressions": [ # Configuration defining which records get suppressed entirely. Records that match any suppression rule are omitted from the output. { # Configuration to suppress records whose suppression conditions evaluate to true. "condition": { # A condition for determining whether a transformation should be applied to a field. # A condition that when it evaluates to true will result in the record being evaluated to be suppressed from the transformed content. - "expressions": { # An expression, consisting or an operator and conditions. # An expression. + "expressions": { # An expression, consisting of an operator and conditions. # An expression. "conditions": { # A collection of conditions. # Conditions to apply to the expression. "conditions": [ # A collection of conditions. { # The field type of `value` and `field` do not need to match to be considered equal, but not all comparisons are possible. EQUAL_TO and NOT_EQUAL_TO attempt to compare even with incompatible types, but all other comparisons are invalid with incompatible types. A `value` of type: - `string` can be compared against all other types - `boolean` can only be compared against other booleans - `integer` can be compared against doubles or a string if the string value can be parsed as an integer. - `double` can be compared against integers or a string if the string can be parsed as a double. - `Timestamp` can be compared against strings in RFC 3339 date string format. - `TimeOfDay` can be compared against timestamps and strings in the format of 'HH:mm:ss'. If we fail to compare do to type mismatch, a warning will be given and the condition will evaluate to false. @@ -1023,7 +1023,7 @@

Method Details

"reverseOrder": True or False, # Mask characters in reverse order. For example, if `masking_character` is `0`, `number_to_mask` is `14`, and `reverse_order` is `false`, then the input string `1234-5678-9012-3456` is masked as `00000000000000-3456`. If `masking_character` is `*`, `number_to_mask` is `3`, and `reverse_order` is `true`, then the string `12345` is masked as `12***`. }, "cryptoDeterministicConfig": { # Pseudonymization method that generates deterministic encryption for the given input. Outputs a base64 encoded representation of the encrypted output. Uses AES-SIV based on the RFC https://tools.ietf.org/html/rfc5297. # Deterministic Crypto - "context": { # General identifier of a data field in a storage service. # A context may be used for higher security and maintaining referential integrity such that the same identifier in two different contexts will be given a distinct surrogate. The context is appended to plaintext value being encrypted. On decryption the provided context is validated against the value used during encryption. If a context was provided during encryption, same context must be provided during decryption as well. If the context is not set, plaintext would be used as is for encryption. If the context is set but: 1. there is no record present when transforming a given value or 2. the field is not present when transforming a given value, plaintext would be used as is for encryption. Note that case (1) is expected when an `InfoTypeTransformation` is applied to both structured and non-structured `ContentItem`s. + "context": { # General identifier of a data field in a storage service. # A context may be used for higher security and maintaining referential integrity such that the same identifier in two different contexts will be given a distinct surrogate. The context is appended to plaintext value being encrypted. On decryption the provided context is validated against the value used during encryption. If a context was provided during encryption, same context must be provided during decryption as well. If the context is not set, plaintext would be used as is for encryption. If the context is set but: 1. there is no record present when transforming a given value or 2. the field is not present when transforming a given value, plaintext would be used as is for encryption. Note that case (1) is expected when an `InfoTypeTransformation` is applied to both structured and unstructured `ContentItem`s. "name": "A String", # Name describing the field. }, "cryptoKey": { # This is a data encryption key (DEK) (as opposed to a key encryption key (KEK) stored by Cloud Key Management Service (Cloud KMS). When using Cloud KMS to wrap or unwrap a DEK, be sure to set an appropriate IAM policy on the KEK to ensure an attacker cannot unwrap the DEK. # The key used by the encryption function. For deterministic encryption using AES-SIV, the provided key is internally expanded to 64 bytes prior to use. @@ -1059,7 +1059,7 @@

Method Details

}, "cryptoReplaceFfxFpeConfig": { # Replaces an identifier with a surrogate using Format Preserving Encryption (FPE) with the FFX mode of operation; however when used in the `ReidentifyContent` API method, it serves the opposite function by reversing the surrogate back into the original identifier. The identifier must be encoded as ASCII. For a given crypto key and context, the same identifier will be replaced with the same surrogate. Identifiers must be at least two characters long. In the case that the identifier is the empty string, it will be skipped. See https://cloud.google.com/dlp/docs/pseudonymization to learn more. Note: We recommend using CryptoDeterministicConfig for all use cases which do not require preserving the input alphabet space and size, plus warrant referential integrity. # Ffx-Fpe "commonAlphabet": "A String", # Common alphabets. - "context": { # General identifier of a data field in a storage service. # The 'tweak', a context may be used for higher security since the same identifier in two different contexts won't be given the same surrogate. If the context is not set, a default tweak will be used. If the context is set but: 1. there is no record present when transforming a given value or 1. the field is not present when transforming a given value, a default tweak will be used. Note that case (1) is expected when an `InfoTypeTransformation` is applied to both structured and non-structured `ContentItem`s. Currently, the referenced field may be of value type integer or string. The tweak is constructed as a sequence of bytes in big endian byte order such that: - a 64 bit integer is encoded followed by a single byte of value 1 - a string is encoded in UTF-8 format followed by a single byte of value 2 + "context": { # General identifier of a data field in a storage service. # The 'tweak', a context may be used for higher security since the same identifier in two different contexts won't be given the same surrogate. If the context is not set, a default tweak will be used. If the context is set but: 1. there is no record present when transforming a given value or 1. the field is not present when transforming a given value, a default tweak will be used. Note that case (1) is expected when an `InfoTypeTransformation` is applied to both structured and unstructured `ContentItem`s. Currently, the referenced field may be of value type integer or string. The tweak is constructed as a sequence of bytes in big endian byte order such that: - a 64 bit integer is encoded followed by a single byte of value 1 - a string is encoded in UTF-8 format followed by a single byte of value 2 "name": "A String", # Name describing the field. }, "cryptoKey": { # This is a data encryption key (DEK) (as opposed to a key encryption key (KEK) stored by Cloud Key Management Service (Cloud KMS). When using Cloud KMS to wrap or unwrap a DEK, be sure to set an appropriate IAM policy on the KEK to ensure an attacker cannot unwrap the DEK. # Required. The key used by the encryption algorithm. @@ -1184,7 +1184,7 @@

Method Details

"fieldTransformations": [ # Transform the record by applying various field transformations. { # The transformation to apply to the field. "condition": { # A condition for determining whether a transformation should be applied to a field. # Only apply the transformation if the condition evaluates to true for the given `RecordCondition`. The conditions are allowed to reference fields that are not used in the actual transformation. Example Use Cases: - Apply a different bucket transformation to an age column if the zip code column for the same record is within a specific range. - Redact a field if the date of birth field is greater than 85. - "expressions": { # An expression, consisting or an operator and conditions. # An expression. + "expressions": { # An expression, consisting of an operator and conditions. # An expression. "conditions": { # A collection of conditions. # Conditions to apply to the expression. "conditions": [ # A collection of conditions. { # The field type of `value` and `field` do not need to match to be considered equal, but not all comparisons are possible. EQUAL_TO and NOT_EQUAL_TO attempt to compare even with incompatible types, but all other comparisons are invalid with incompatible types. A `value` of type: - `string` can be compared against all other types - `boolean` can only be compared against other booleans - `integer` can be compared against doubles or a string if the string value can be parsed as an integer. - `double` can be compared against integers or a string if the string can be parsed as a double. - `Timestamp` can be compared against strings in RFC 3339 date string format. - `TimeOfDay` can be compared against timestamps and strings in the format of 'HH:mm:ss'. If we fail to compare do to type mismatch, a warning will be given and the condition will evaluate to false. @@ -1307,7 +1307,7 @@

Method Details

"reverseOrder": True or False, # Mask characters in reverse order. For example, if `masking_character` is `0`, `number_to_mask` is `14`, and `reverse_order` is `false`, then the input string `1234-5678-9012-3456` is masked as `00000000000000-3456`. If `masking_character` is `*`, `number_to_mask` is `3`, and `reverse_order` is `true`, then the string `12345` is masked as `12***`. }, "cryptoDeterministicConfig": { # Pseudonymization method that generates deterministic encryption for the given input. Outputs a base64 encoded representation of the encrypted output. Uses AES-SIV based on the RFC https://tools.ietf.org/html/rfc5297. # Deterministic Crypto - "context": { # General identifier of a data field in a storage service. # A context may be used for higher security and maintaining referential integrity such that the same identifier in two different contexts will be given a distinct surrogate. The context is appended to plaintext value being encrypted. On decryption the provided context is validated against the value used during encryption. If a context was provided during encryption, same context must be provided during decryption as well. If the context is not set, plaintext would be used as is for encryption. If the context is set but: 1. there is no record present when transforming a given value or 2. the field is not present when transforming a given value, plaintext would be used as is for encryption. Note that case (1) is expected when an `InfoTypeTransformation` is applied to both structured and non-structured `ContentItem`s. + "context": { # General identifier of a data field in a storage service. # A context may be used for higher security and maintaining referential integrity such that the same identifier in two different contexts will be given a distinct surrogate. The context is appended to plaintext value being encrypted. On decryption the provided context is validated against the value used during encryption. If a context was provided during encryption, same context must be provided during decryption as well. If the context is not set, plaintext would be used as is for encryption. If the context is set but: 1. there is no record present when transforming a given value or 2. the field is not present when transforming a given value, plaintext would be used as is for encryption. Note that case (1) is expected when an `InfoTypeTransformation` is applied to both structured and unstructured `ContentItem`s. "name": "A String", # Name describing the field. }, "cryptoKey": { # This is a data encryption key (DEK) (as opposed to a key encryption key (KEK) stored by Cloud Key Management Service (Cloud KMS). When using Cloud KMS to wrap or unwrap a DEK, be sure to set an appropriate IAM policy on the KEK to ensure an attacker cannot unwrap the DEK. # The key used by the encryption function. For deterministic encryption using AES-SIV, the provided key is internally expanded to 64 bytes prior to use. @@ -1343,7 +1343,7 @@

Method Details

}, "cryptoReplaceFfxFpeConfig": { # Replaces an identifier with a surrogate using Format Preserving Encryption (FPE) with the FFX mode of operation; however when used in the `ReidentifyContent` API method, it serves the opposite function by reversing the surrogate back into the original identifier. The identifier must be encoded as ASCII. For a given crypto key and context, the same identifier will be replaced with the same surrogate. Identifiers must be at least two characters long. In the case that the identifier is the empty string, it will be skipped. See https://cloud.google.com/dlp/docs/pseudonymization to learn more. Note: We recommend using CryptoDeterministicConfig for all use cases which do not require preserving the input alphabet space and size, plus warrant referential integrity. # Ffx-Fpe "commonAlphabet": "A String", # Common alphabets. - "context": { # General identifier of a data field in a storage service. # The 'tweak', a context may be used for higher security since the same identifier in two different contexts won't be given the same surrogate. If the context is not set, a default tweak will be used. If the context is set but: 1. there is no record present when transforming a given value or 1. the field is not present when transforming a given value, a default tweak will be used. Note that case (1) is expected when an `InfoTypeTransformation` is applied to both structured and non-structured `ContentItem`s. Currently, the referenced field may be of value type integer or string. The tweak is constructed as a sequence of bytes in big endian byte order such that: - a 64 bit integer is encoded followed by a single byte of value 1 - a string is encoded in UTF-8 format followed by a single byte of value 2 + "context": { # General identifier of a data field in a storage service. # The 'tweak', a context may be used for higher security since the same identifier in two different contexts won't be given the same surrogate. If the context is not set, a default tweak will be used. If the context is set but: 1. there is no record present when transforming a given value or 1. the field is not present when transforming a given value, a default tweak will be used. Note that case (1) is expected when an `InfoTypeTransformation` is applied to both structured and unstructured `ContentItem`s. Currently, the referenced field may be of value type integer or string. The tweak is constructed as a sequence of bytes in big endian byte order such that: - a 64 bit integer is encoded followed by a single byte of value 1 - a string is encoded in UTF-8 format followed by a single byte of value 2 "name": "A String", # Name describing the field. }, "cryptoKey": { # This is a data encryption key (DEK) (as opposed to a key encryption key (KEK) stored by Cloud Key Management Service (Cloud KMS). When using Cloud KMS to wrap or unwrap a DEK, be sure to set an appropriate IAM policy on the KEK to ensure an attacker cannot unwrap the DEK. # Required. The key used by the encryption algorithm. @@ -1540,7 +1540,7 @@

Method Details

"reverseOrder": True or False, # Mask characters in reverse order. For example, if `masking_character` is `0`, `number_to_mask` is `14`, and `reverse_order` is `false`, then the input string `1234-5678-9012-3456` is masked as `00000000000000-3456`. If `masking_character` is `*`, `number_to_mask` is `3`, and `reverse_order` is `true`, then the string `12345` is masked as `12***`. }, "cryptoDeterministicConfig": { # Pseudonymization method that generates deterministic encryption for the given input. Outputs a base64 encoded representation of the encrypted output. Uses AES-SIV based on the RFC https://tools.ietf.org/html/rfc5297. # Deterministic Crypto - "context": { # General identifier of a data field in a storage service. # A context may be used for higher security and maintaining referential integrity such that the same identifier in two different contexts will be given a distinct surrogate. The context is appended to plaintext value being encrypted. On decryption the provided context is validated against the value used during encryption. If a context was provided during encryption, same context must be provided during decryption as well. If the context is not set, plaintext would be used as is for encryption. If the context is set but: 1. there is no record present when transforming a given value or 2. the field is not present when transforming a given value, plaintext would be used as is for encryption. Note that case (1) is expected when an `InfoTypeTransformation` is applied to both structured and non-structured `ContentItem`s. + "context": { # General identifier of a data field in a storage service. # A context may be used for higher security and maintaining referential integrity such that the same identifier in two different contexts will be given a distinct surrogate. The context is appended to plaintext value being encrypted. On decryption the provided context is validated against the value used during encryption. If a context was provided during encryption, same context must be provided during decryption as well. If the context is not set, plaintext would be used as is for encryption. If the context is set but: 1. there is no record present when transforming a given value or 2. the field is not present when transforming a given value, plaintext would be used as is for encryption. Note that case (1) is expected when an `InfoTypeTransformation` is applied to both structured and unstructured `ContentItem`s. "name": "A String", # Name describing the field. }, "cryptoKey": { # This is a data encryption key (DEK) (as opposed to a key encryption key (KEK) stored by Cloud Key Management Service (Cloud KMS). When using Cloud KMS to wrap or unwrap a DEK, be sure to set an appropriate IAM policy on the KEK to ensure an attacker cannot unwrap the DEK. # The key used by the encryption function. For deterministic encryption using AES-SIV, the provided key is internally expanded to 64 bytes prior to use. @@ -1576,7 +1576,7 @@

Method Details

}, "cryptoReplaceFfxFpeConfig": { # Replaces an identifier with a surrogate using Format Preserving Encryption (FPE) with the FFX mode of operation; however when used in the `ReidentifyContent` API method, it serves the opposite function by reversing the surrogate back into the original identifier. The identifier must be encoded as ASCII. For a given crypto key and context, the same identifier will be replaced with the same surrogate. Identifiers must be at least two characters long. In the case that the identifier is the empty string, it will be skipped. See https://cloud.google.com/dlp/docs/pseudonymization to learn more. Note: We recommend using CryptoDeterministicConfig for all use cases which do not require preserving the input alphabet space and size, plus warrant referential integrity. # Ffx-Fpe "commonAlphabet": "A String", # Common alphabets. - "context": { # General identifier of a data field in a storage service. # The 'tweak', a context may be used for higher security since the same identifier in two different contexts won't be given the same surrogate. If the context is not set, a default tweak will be used. If the context is set but: 1. there is no record present when transforming a given value or 1. the field is not present when transforming a given value, a default tweak will be used. Note that case (1) is expected when an `InfoTypeTransformation` is applied to both structured and non-structured `ContentItem`s. Currently, the referenced field may be of value type integer or string. The tweak is constructed as a sequence of bytes in big endian byte order such that: - a 64 bit integer is encoded followed by a single byte of value 1 - a string is encoded in UTF-8 format followed by a single byte of value 2 + "context": { # General identifier of a data field in a storage service. # The 'tweak', a context may be used for higher security since the same identifier in two different contexts won't be given the same surrogate. If the context is not set, a default tweak will be used. If the context is set but: 1. there is no record present when transforming a given value or 1. the field is not present when transforming a given value, a default tweak will be used. Note that case (1) is expected when an `InfoTypeTransformation` is applied to both structured and unstructured `ContentItem`s. Currently, the referenced field may be of value type integer or string. The tweak is constructed as a sequence of bytes in big endian byte order such that: - a 64 bit integer is encoded followed by a single byte of value 1 - a string is encoded in UTF-8 format followed by a single byte of value 2 "name": "A String", # Name describing the field. }, "cryptoKey": { # This is a data encryption key (DEK) (as opposed to a key encryption key (KEK) stored by Cloud Key Management Service (Cloud KMS). When using Cloud KMS to wrap or unwrap a DEK, be sure to set an appropriate IAM policy on the KEK to ensure an attacker cannot unwrap the DEK. # Required. The key used by the encryption algorithm. @@ -1699,7 +1699,7 @@

Method Details

"recordSuppressions": [ # Configuration defining which records get suppressed entirely. Records that match any suppression rule are omitted from the output. { # Configuration to suppress records whose suppression conditions evaluate to true. "condition": { # A condition for determining whether a transformation should be applied to a field. # A condition that when it evaluates to true will result in the record being evaluated to be suppressed from the transformed content. - "expressions": { # An expression, consisting or an operator and conditions. # An expression. + "expressions": { # An expression, consisting of an operator and conditions. # An expression. "conditions": { # A collection of conditions. # Conditions to apply to the expression. "conditions": [ # A collection of conditions. { # The field type of `value` and `field` do not need to match to be considered equal, but not all comparisons are possible. EQUAL_TO and NOT_EQUAL_TO attempt to compare even with incompatible types, but all other comparisons are invalid with incompatible types. A `value` of type: - `string` can be compared against all other types - `boolean` can only be compared against other booleans - `integer` can be compared against doubles or a string if the string value can be parsed as an integer. - `double` can be compared against integers or a string if the string can be parsed as a double. - `Timestamp` can be compared against strings in RFC 3339 date string format. - `TimeOfDay` can be compared against timestamps and strings in the format of 'HH:mm:ss'. If we fail to compare do to type mismatch, a warning will be given and the condition will evaluate to false. @@ -1869,7 +1869,7 @@

Method Details

"reverseOrder": True or False, # Mask characters in reverse order. For example, if `masking_character` is `0`, `number_to_mask` is `14`, and `reverse_order` is `false`, then the input string `1234-5678-9012-3456` is masked as `00000000000000-3456`. If `masking_character` is `*`, `number_to_mask` is `3`, and `reverse_order` is `true`, then the string `12345` is masked as `12***`. }, "cryptoDeterministicConfig": { # Pseudonymization method that generates deterministic encryption for the given input. Outputs a base64 encoded representation of the encrypted output. Uses AES-SIV based on the RFC https://tools.ietf.org/html/rfc5297. # Deterministic Crypto - "context": { # General identifier of a data field in a storage service. # A context may be used for higher security and maintaining referential integrity such that the same identifier in two different contexts will be given a distinct surrogate. The context is appended to plaintext value being encrypted. On decryption the provided context is validated against the value used during encryption. If a context was provided during encryption, same context must be provided during decryption as well. If the context is not set, plaintext would be used as is for encryption. If the context is set but: 1. there is no record present when transforming a given value or 2. the field is not present when transforming a given value, plaintext would be used as is for encryption. Note that case (1) is expected when an `InfoTypeTransformation` is applied to both structured and non-structured `ContentItem`s. + "context": { # General identifier of a data field in a storage service. # A context may be used for higher security and maintaining referential integrity such that the same identifier in two different contexts will be given a distinct surrogate. The context is appended to plaintext value being encrypted. On decryption the provided context is validated against the value used during encryption. If a context was provided during encryption, same context must be provided during decryption as well. If the context is not set, plaintext would be used as is for encryption. If the context is set but: 1. there is no record present when transforming a given value or 2. the field is not present when transforming a given value, plaintext would be used as is for encryption. Note that case (1) is expected when an `InfoTypeTransformation` is applied to both structured and unstructured `ContentItem`s. "name": "A String", # Name describing the field. }, "cryptoKey": { # This is a data encryption key (DEK) (as opposed to a key encryption key (KEK) stored by Cloud Key Management Service (Cloud KMS). When using Cloud KMS to wrap or unwrap a DEK, be sure to set an appropriate IAM policy on the KEK to ensure an attacker cannot unwrap the DEK. # The key used by the encryption function. For deterministic encryption using AES-SIV, the provided key is internally expanded to 64 bytes prior to use. @@ -1905,7 +1905,7 @@

Method Details

}, "cryptoReplaceFfxFpeConfig": { # Replaces an identifier with a surrogate using Format Preserving Encryption (FPE) with the FFX mode of operation; however when used in the `ReidentifyContent` API method, it serves the opposite function by reversing the surrogate back into the original identifier. The identifier must be encoded as ASCII. For a given crypto key and context, the same identifier will be replaced with the same surrogate. Identifiers must be at least two characters long. In the case that the identifier is the empty string, it will be skipped. See https://cloud.google.com/dlp/docs/pseudonymization to learn more. Note: We recommend using CryptoDeterministicConfig for all use cases which do not require preserving the input alphabet space and size, plus warrant referential integrity. # Ffx-Fpe "commonAlphabet": "A String", # Common alphabets. - "context": { # General identifier of a data field in a storage service. # The 'tweak', a context may be used for higher security since the same identifier in two different contexts won't be given the same surrogate. If the context is not set, a default tweak will be used. If the context is set but: 1. there is no record present when transforming a given value or 1. the field is not present when transforming a given value, a default tweak will be used. Note that case (1) is expected when an `InfoTypeTransformation` is applied to both structured and non-structured `ContentItem`s. Currently, the referenced field may be of value type integer or string. The tweak is constructed as a sequence of bytes in big endian byte order such that: - a 64 bit integer is encoded followed by a single byte of value 1 - a string is encoded in UTF-8 format followed by a single byte of value 2 + "context": { # General identifier of a data field in a storage service. # The 'tweak', a context may be used for higher security since the same identifier in two different contexts won't be given the same surrogate. If the context is not set, a default tweak will be used. If the context is set but: 1. there is no record present when transforming a given value or 1. the field is not present when transforming a given value, a default tweak will be used. Note that case (1) is expected when an `InfoTypeTransformation` is applied to both structured and unstructured `ContentItem`s. Currently, the referenced field may be of value type integer or string. The tweak is constructed as a sequence of bytes in big endian byte order such that: - a 64 bit integer is encoded followed by a single byte of value 1 - a string is encoded in UTF-8 format followed by a single byte of value 2 "name": "A String", # Name describing the field. }, "cryptoKey": { # This is a data encryption key (DEK) (as opposed to a key encryption key (KEK) stored by Cloud Key Management Service (Cloud KMS). When using Cloud KMS to wrap or unwrap a DEK, be sure to set an appropriate IAM policy on the KEK to ensure an attacker cannot unwrap the DEK. # Required. The key used by the encryption algorithm. @@ -2030,7 +2030,7 @@

Method Details

"fieldTransformations": [ # Transform the record by applying various field transformations. { # The transformation to apply to the field. "condition": { # A condition for determining whether a transformation should be applied to a field. # Only apply the transformation if the condition evaluates to true for the given `RecordCondition`. The conditions are allowed to reference fields that are not used in the actual transformation. Example Use Cases: - Apply a different bucket transformation to an age column if the zip code column for the same record is within a specific range. - Redact a field if the date of birth field is greater than 85. - "expressions": { # An expression, consisting or an operator and conditions. # An expression. + "expressions": { # An expression, consisting of an operator and conditions. # An expression. "conditions": { # A collection of conditions. # Conditions to apply to the expression. "conditions": [ # A collection of conditions. { # The field type of `value` and `field` do not need to match to be considered equal, but not all comparisons are possible. EQUAL_TO and NOT_EQUAL_TO attempt to compare even with incompatible types, but all other comparisons are invalid with incompatible types. A `value` of type: - `string` can be compared against all other types - `boolean` can only be compared against other booleans - `integer` can be compared against doubles or a string if the string value can be parsed as an integer. - `double` can be compared against integers or a string if the string can be parsed as a double. - `Timestamp` can be compared against strings in RFC 3339 date string format. - `TimeOfDay` can be compared against timestamps and strings in the format of 'HH:mm:ss'. If we fail to compare do to type mismatch, a warning will be given and the condition will evaluate to false. @@ -2153,7 +2153,7 @@

Method Details

"reverseOrder": True or False, # Mask characters in reverse order. For example, if `masking_character` is `0`, `number_to_mask` is `14`, and `reverse_order` is `false`, then the input string `1234-5678-9012-3456` is masked as `00000000000000-3456`. If `masking_character` is `*`, `number_to_mask` is `3`, and `reverse_order` is `true`, then the string `12345` is masked as `12***`. }, "cryptoDeterministicConfig": { # Pseudonymization method that generates deterministic encryption for the given input. Outputs a base64 encoded representation of the encrypted output. Uses AES-SIV based on the RFC https://tools.ietf.org/html/rfc5297. # Deterministic Crypto - "context": { # General identifier of a data field in a storage service. # A context may be used for higher security and maintaining referential integrity such that the same identifier in two different contexts will be given a distinct surrogate. The context is appended to plaintext value being encrypted. On decryption the provided context is validated against the value used during encryption. If a context was provided during encryption, same context must be provided during decryption as well. If the context is not set, plaintext would be used as is for encryption. If the context is set but: 1. there is no record present when transforming a given value or 2. the field is not present when transforming a given value, plaintext would be used as is for encryption. Note that case (1) is expected when an `InfoTypeTransformation` is applied to both structured and non-structured `ContentItem`s. + "context": { # General identifier of a data field in a storage service. # A context may be used for higher security and maintaining referential integrity such that the same identifier in two different contexts will be given a distinct surrogate. The context is appended to plaintext value being encrypted. On decryption the provided context is validated against the value used during encryption. If a context was provided during encryption, same context must be provided during decryption as well. If the context is not set, plaintext would be used as is for encryption. If the context is set but: 1. there is no record present when transforming a given value or 2. the field is not present when transforming a given value, plaintext would be used as is for encryption. Note that case (1) is expected when an `InfoTypeTransformation` is applied to both structured and unstructured `ContentItem`s. "name": "A String", # Name describing the field. }, "cryptoKey": { # This is a data encryption key (DEK) (as opposed to a key encryption key (KEK) stored by Cloud Key Management Service (Cloud KMS). When using Cloud KMS to wrap or unwrap a DEK, be sure to set an appropriate IAM policy on the KEK to ensure an attacker cannot unwrap the DEK. # The key used by the encryption function. For deterministic encryption using AES-SIV, the provided key is internally expanded to 64 bytes prior to use. @@ -2189,7 +2189,7 @@

Method Details

}, "cryptoReplaceFfxFpeConfig": { # Replaces an identifier with a surrogate using Format Preserving Encryption (FPE) with the FFX mode of operation; however when used in the `ReidentifyContent` API method, it serves the opposite function by reversing the surrogate back into the original identifier. The identifier must be encoded as ASCII. For a given crypto key and context, the same identifier will be replaced with the same surrogate. Identifiers must be at least two characters long. In the case that the identifier is the empty string, it will be skipped. See https://cloud.google.com/dlp/docs/pseudonymization to learn more. Note: We recommend using CryptoDeterministicConfig for all use cases which do not require preserving the input alphabet space and size, plus warrant referential integrity. # Ffx-Fpe "commonAlphabet": "A String", # Common alphabets. - "context": { # General identifier of a data field in a storage service. # The 'tweak', a context may be used for higher security since the same identifier in two different contexts won't be given the same surrogate. If the context is not set, a default tweak will be used. If the context is set but: 1. there is no record present when transforming a given value or 1. the field is not present when transforming a given value, a default tweak will be used. Note that case (1) is expected when an `InfoTypeTransformation` is applied to both structured and non-structured `ContentItem`s. Currently, the referenced field may be of value type integer or string. The tweak is constructed as a sequence of bytes in big endian byte order such that: - a 64 bit integer is encoded followed by a single byte of value 1 - a string is encoded in UTF-8 format followed by a single byte of value 2 + "context": { # General identifier of a data field in a storage service. # The 'tweak', a context may be used for higher security since the same identifier in two different contexts won't be given the same surrogate. If the context is not set, a default tweak will be used. If the context is set but: 1. there is no record present when transforming a given value or 1. the field is not present when transforming a given value, a default tweak will be used. Note that case (1) is expected when an `InfoTypeTransformation` is applied to both structured and unstructured `ContentItem`s. Currently, the referenced field may be of value type integer or string. The tweak is constructed as a sequence of bytes in big endian byte order such that: - a 64 bit integer is encoded followed by a single byte of value 1 - a string is encoded in UTF-8 format followed by a single byte of value 2 "name": "A String", # Name describing the field. }, "cryptoKey": { # This is a data encryption key (DEK) (as opposed to a key encryption key (KEK) stored by Cloud Key Management Service (Cloud KMS). When using Cloud KMS to wrap or unwrap a DEK, be sure to set an appropriate IAM policy on the KEK to ensure an attacker cannot unwrap the DEK. # Required. The key used by the encryption algorithm. @@ -2386,7 +2386,7 @@

Method Details

"reverseOrder": True or False, # Mask characters in reverse order. For example, if `masking_character` is `0`, `number_to_mask` is `14`, and `reverse_order` is `false`, then the input string `1234-5678-9012-3456` is masked as `00000000000000-3456`. If `masking_character` is `*`, `number_to_mask` is `3`, and `reverse_order` is `true`, then the string `12345` is masked as `12***`. }, "cryptoDeterministicConfig": { # Pseudonymization method that generates deterministic encryption for the given input. Outputs a base64 encoded representation of the encrypted output. Uses AES-SIV based on the RFC https://tools.ietf.org/html/rfc5297. # Deterministic Crypto - "context": { # General identifier of a data field in a storage service. # A context may be used for higher security and maintaining referential integrity such that the same identifier in two different contexts will be given a distinct surrogate. The context is appended to plaintext value being encrypted. On decryption the provided context is validated against the value used during encryption. If a context was provided during encryption, same context must be provided during decryption as well. If the context is not set, plaintext would be used as is for encryption. If the context is set but: 1. there is no record present when transforming a given value or 2. the field is not present when transforming a given value, plaintext would be used as is for encryption. Note that case (1) is expected when an `InfoTypeTransformation` is applied to both structured and non-structured `ContentItem`s. + "context": { # General identifier of a data field in a storage service. # A context may be used for higher security and maintaining referential integrity such that the same identifier in two different contexts will be given a distinct surrogate. The context is appended to plaintext value being encrypted. On decryption the provided context is validated against the value used during encryption. If a context was provided during encryption, same context must be provided during decryption as well. If the context is not set, plaintext would be used as is for encryption. If the context is set but: 1. there is no record present when transforming a given value or 2. the field is not present when transforming a given value, plaintext would be used as is for encryption. Note that case (1) is expected when an `InfoTypeTransformation` is applied to both structured and unstructured `ContentItem`s. "name": "A String", # Name describing the field. }, "cryptoKey": { # This is a data encryption key (DEK) (as opposed to a key encryption key (KEK) stored by Cloud Key Management Service (Cloud KMS). When using Cloud KMS to wrap or unwrap a DEK, be sure to set an appropriate IAM policy on the KEK to ensure an attacker cannot unwrap the DEK. # The key used by the encryption function. For deterministic encryption using AES-SIV, the provided key is internally expanded to 64 bytes prior to use. @@ -2422,7 +2422,7 @@

Method Details

}, "cryptoReplaceFfxFpeConfig": { # Replaces an identifier with a surrogate using Format Preserving Encryption (FPE) with the FFX mode of operation; however when used in the `ReidentifyContent` API method, it serves the opposite function by reversing the surrogate back into the original identifier. The identifier must be encoded as ASCII. For a given crypto key and context, the same identifier will be replaced with the same surrogate. Identifiers must be at least two characters long. In the case that the identifier is the empty string, it will be skipped. See https://cloud.google.com/dlp/docs/pseudonymization to learn more. Note: We recommend using CryptoDeterministicConfig for all use cases which do not require preserving the input alphabet space and size, plus warrant referential integrity. # Ffx-Fpe "commonAlphabet": "A String", # Common alphabets. - "context": { # General identifier of a data field in a storage service. # The 'tweak', a context may be used for higher security since the same identifier in two different contexts won't be given the same surrogate. If the context is not set, a default tweak will be used. If the context is set but: 1. there is no record present when transforming a given value or 1. the field is not present when transforming a given value, a default tweak will be used. Note that case (1) is expected when an `InfoTypeTransformation` is applied to both structured and non-structured `ContentItem`s. Currently, the referenced field may be of value type integer or string. The tweak is constructed as a sequence of bytes in big endian byte order such that: - a 64 bit integer is encoded followed by a single byte of value 1 - a string is encoded in UTF-8 format followed by a single byte of value 2 + "context": { # General identifier of a data field in a storage service. # The 'tweak', a context may be used for higher security since the same identifier in two different contexts won't be given the same surrogate. If the context is not set, a default tweak will be used. If the context is set but: 1. there is no record present when transforming a given value or 1. the field is not present when transforming a given value, a default tweak will be used. Note that case (1) is expected when an `InfoTypeTransformation` is applied to both structured and unstructured `ContentItem`s. Currently, the referenced field may be of value type integer or string. The tweak is constructed as a sequence of bytes in big endian byte order such that: - a 64 bit integer is encoded followed by a single byte of value 1 - a string is encoded in UTF-8 format followed by a single byte of value 2 "name": "A String", # Name describing the field. }, "cryptoKey": { # This is a data encryption key (DEK) (as opposed to a key encryption key (KEK) stored by Cloud Key Management Service (Cloud KMS). When using Cloud KMS to wrap or unwrap a DEK, be sure to set an appropriate IAM policy on the KEK to ensure an attacker cannot unwrap the DEK. # Required. The key used by the encryption algorithm. @@ -2545,7 +2545,7 @@

Method Details

"recordSuppressions": [ # Configuration defining which records get suppressed entirely. Records that match any suppression rule are omitted from the output. { # Configuration to suppress records whose suppression conditions evaluate to true. "condition": { # A condition for determining whether a transformation should be applied to a field. # A condition that when it evaluates to true will result in the record being evaluated to be suppressed from the transformed content. - "expressions": { # An expression, consisting or an operator and conditions. # An expression. + "expressions": { # An expression, consisting of an operator and conditions. # An expression. "conditions": { # A collection of conditions. # Conditions to apply to the expression. "conditions": [ # A collection of conditions. { # The field type of `value` and `field` do not need to match to be considered equal, but not all comparisons are possible. EQUAL_TO and NOT_EQUAL_TO attempt to compare even with incompatible types, but all other comparisons are invalid with incompatible types. A `value` of type: - `string` can be compared against all other types - `boolean` can only be compared against other booleans - `integer` can be compared against doubles or a string if the string value can be parsed as an integer. - `double` can be compared against integers or a string if the string can be parsed as a double. - `Timestamp` can be compared against strings in RFC 3339 date string format. - `TimeOfDay` can be compared against timestamps and strings in the format of 'HH:mm:ss'. If we fail to compare do to type mismatch, a warning will be given and the condition will evaluate to false. @@ -2602,8 +2602,8 @@

Method Details

Args: parent: string, Required. Parent resource name. The format of this value varies depending on the scope of the request (project or organization) and whether you have [specified a processing location](https://cloud.google.com/dlp/docs/specifying-location): + Projects scope, location specified: `projects/`PROJECT_ID`/locations/`LOCATION_ID + Projects scope, no location specified (defaults to global): `projects/`PROJECT_ID + Organizations scope, location specified: `organizations/`ORG_ID`/locations/`LOCATION_ID + Organizations scope, no location specified (defaults to global): `organizations/`ORG_ID The following example `parent` string specifies a parent project with the identifier `example-project`, and specifies the `europe-west3` location for processing data: parent=projects/example-project/locations/europe-west3 (required) locationId: string, Deprecated. This field has no effect. - orderBy: string, Comma separated list of fields to order by, followed by `asc` or `desc` postfix. This list is case-insensitive, default sorting order is ascending, redundant space characters are insignificant. Example: `name asc,update_time, create_time desc` Supported fields are: - `create_time`: corresponds to time the template was created. - `update_time`: corresponds to time the template was last updated. - `name`: corresponds to template's name. - `display_name`: corresponds to template's display name. - pageSize: integer, Size of the page, can be limited by server. If zero server returns a page of max size 100. + orderBy: string, Comma separated list of fields to order by, followed by `asc` or `desc` postfix. This list is case-insensitive, default sorting order is ascending, redundant space characters are insignificant. Example: `name asc,update_time, create_time desc` Supported fields are: - `create_time`: corresponds to the time the template was created. - `update_time`: corresponds to the time the template was last updated. - `name`: corresponds to the template's name. - `display_name`: corresponds to the template's display name. + pageSize: integer, Size of the page, can be limited by the server. If zero server returns a page of max size 100. pageToken: string, Page token to continue retrieval. Comes from previous call to `ListDeidentifyTemplates`. x__xgafv: string, V1 error format. Allowed values @@ -2703,7 +2703,7 @@

Method Details

"reverseOrder": True or False, # Mask characters in reverse order. For example, if `masking_character` is `0`, `number_to_mask` is `14`, and `reverse_order` is `false`, then the input string `1234-5678-9012-3456` is masked as `00000000000000-3456`. If `masking_character` is `*`, `number_to_mask` is `3`, and `reverse_order` is `true`, then the string `12345` is masked as `12***`. }, "cryptoDeterministicConfig": { # Pseudonymization method that generates deterministic encryption for the given input. Outputs a base64 encoded representation of the encrypted output. Uses AES-SIV based on the RFC https://tools.ietf.org/html/rfc5297. # Deterministic Crypto - "context": { # General identifier of a data field in a storage service. # A context may be used for higher security and maintaining referential integrity such that the same identifier in two different contexts will be given a distinct surrogate. The context is appended to plaintext value being encrypted. On decryption the provided context is validated against the value used during encryption. If a context was provided during encryption, same context must be provided during decryption as well. If the context is not set, plaintext would be used as is for encryption. If the context is set but: 1. there is no record present when transforming a given value or 2. the field is not present when transforming a given value, plaintext would be used as is for encryption. Note that case (1) is expected when an `InfoTypeTransformation` is applied to both structured and non-structured `ContentItem`s. + "context": { # General identifier of a data field in a storage service. # A context may be used for higher security and maintaining referential integrity such that the same identifier in two different contexts will be given a distinct surrogate. The context is appended to plaintext value being encrypted. On decryption the provided context is validated against the value used during encryption. If a context was provided during encryption, same context must be provided during decryption as well. If the context is not set, plaintext would be used as is for encryption. If the context is set but: 1. there is no record present when transforming a given value or 2. the field is not present when transforming a given value, plaintext would be used as is for encryption. Note that case (1) is expected when an `InfoTypeTransformation` is applied to both structured and unstructured `ContentItem`s. "name": "A String", # Name describing the field. }, "cryptoKey": { # This is a data encryption key (DEK) (as opposed to a key encryption key (KEK) stored by Cloud Key Management Service (Cloud KMS). When using Cloud KMS to wrap or unwrap a DEK, be sure to set an appropriate IAM policy on the KEK to ensure an attacker cannot unwrap the DEK. # The key used by the encryption function. For deterministic encryption using AES-SIV, the provided key is internally expanded to 64 bytes prior to use. @@ -2739,7 +2739,7 @@

Method Details

}, "cryptoReplaceFfxFpeConfig": { # Replaces an identifier with a surrogate using Format Preserving Encryption (FPE) with the FFX mode of operation; however when used in the `ReidentifyContent` API method, it serves the opposite function by reversing the surrogate back into the original identifier. The identifier must be encoded as ASCII. For a given crypto key and context, the same identifier will be replaced with the same surrogate. Identifiers must be at least two characters long. In the case that the identifier is the empty string, it will be skipped. See https://cloud.google.com/dlp/docs/pseudonymization to learn more. Note: We recommend using CryptoDeterministicConfig for all use cases which do not require preserving the input alphabet space and size, plus warrant referential integrity. # Ffx-Fpe "commonAlphabet": "A String", # Common alphabets. - "context": { # General identifier of a data field in a storage service. # The 'tweak', a context may be used for higher security since the same identifier in two different contexts won't be given the same surrogate. If the context is not set, a default tweak will be used. If the context is set but: 1. there is no record present when transforming a given value or 1. the field is not present when transforming a given value, a default tweak will be used. Note that case (1) is expected when an `InfoTypeTransformation` is applied to both structured and non-structured `ContentItem`s. Currently, the referenced field may be of value type integer or string. The tweak is constructed as a sequence of bytes in big endian byte order such that: - a 64 bit integer is encoded followed by a single byte of value 1 - a string is encoded in UTF-8 format followed by a single byte of value 2 + "context": { # General identifier of a data field in a storage service. # The 'tweak', a context may be used for higher security since the same identifier in two different contexts won't be given the same surrogate. If the context is not set, a default tweak will be used. If the context is set but: 1. there is no record present when transforming a given value or 1. the field is not present when transforming a given value, a default tweak will be used. Note that case (1) is expected when an `InfoTypeTransformation` is applied to both structured and unstructured `ContentItem`s. Currently, the referenced field may be of value type integer or string. The tweak is constructed as a sequence of bytes in big endian byte order such that: - a 64 bit integer is encoded followed by a single byte of value 1 - a string is encoded in UTF-8 format followed by a single byte of value 2 "name": "A String", # Name describing the field. }, "cryptoKey": { # This is a data encryption key (DEK) (as opposed to a key encryption key (KEK) stored by Cloud Key Management Service (Cloud KMS). When using Cloud KMS to wrap or unwrap a DEK, be sure to set an appropriate IAM policy on the KEK to ensure an attacker cannot unwrap the DEK. # Required. The key used by the encryption algorithm. @@ -2864,7 +2864,7 @@

Method Details

"fieldTransformations": [ # Transform the record by applying various field transformations. { # The transformation to apply to the field. "condition": { # A condition for determining whether a transformation should be applied to a field. # Only apply the transformation if the condition evaluates to true for the given `RecordCondition`. The conditions are allowed to reference fields that are not used in the actual transformation. Example Use Cases: - Apply a different bucket transformation to an age column if the zip code column for the same record is within a specific range. - Redact a field if the date of birth field is greater than 85. - "expressions": { # An expression, consisting or an operator and conditions. # An expression. + "expressions": { # An expression, consisting of an operator and conditions. # An expression. "conditions": { # A collection of conditions. # Conditions to apply to the expression. "conditions": [ # A collection of conditions. { # The field type of `value` and `field` do not need to match to be considered equal, but not all comparisons are possible. EQUAL_TO and NOT_EQUAL_TO attempt to compare even with incompatible types, but all other comparisons are invalid with incompatible types. A `value` of type: - `string` can be compared against all other types - `boolean` can only be compared against other booleans - `integer` can be compared against doubles or a string if the string value can be parsed as an integer. - `double` can be compared against integers or a string if the string can be parsed as a double. - `Timestamp` can be compared against strings in RFC 3339 date string format. - `TimeOfDay` can be compared against timestamps and strings in the format of 'HH:mm:ss'. If we fail to compare do to type mismatch, a warning will be given and the condition will evaluate to false. @@ -2987,7 +2987,7 @@

Method Details

"reverseOrder": True or False, # Mask characters in reverse order. For example, if `masking_character` is `0`, `number_to_mask` is `14`, and `reverse_order` is `false`, then the input string `1234-5678-9012-3456` is masked as `00000000000000-3456`. If `masking_character` is `*`, `number_to_mask` is `3`, and `reverse_order` is `true`, then the string `12345` is masked as `12***`. }, "cryptoDeterministicConfig": { # Pseudonymization method that generates deterministic encryption for the given input. Outputs a base64 encoded representation of the encrypted output. Uses AES-SIV based on the RFC https://tools.ietf.org/html/rfc5297. # Deterministic Crypto - "context": { # General identifier of a data field in a storage service. # A context may be used for higher security and maintaining referential integrity such that the same identifier in two different contexts will be given a distinct surrogate. The context is appended to plaintext value being encrypted. On decryption the provided context is validated against the value used during encryption. If a context was provided during encryption, same context must be provided during decryption as well. If the context is not set, plaintext would be used as is for encryption. If the context is set but: 1. there is no record present when transforming a given value or 2. the field is not present when transforming a given value, plaintext would be used as is for encryption. Note that case (1) is expected when an `InfoTypeTransformation` is applied to both structured and non-structured `ContentItem`s. + "context": { # General identifier of a data field in a storage service. # A context may be used for higher security and maintaining referential integrity such that the same identifier in two different contexts will be given a distinct surrogate. The context is appended to plaintext value being encrypted. On decryption the provided context is validated against the value used during encryption. If a context was provided during encryption, same context must be provided during decryption as well. If the context is not set, plaintext would be used as is for encryption. If the context is set but: 1. there is no record present when transforming a given value or 2. the field is not present when transforming a given value, plaintext would be used as is for encryption. Note that case (1) is expected when an `InfoTypeTransformation` is applied to both structured and unstructured `ContentItem`s. "name": "A String", # Name describing the field. }, "cryptoKey": { # This is a data encryption key (DEK) (as opposed to a key encryption key (KEK) stored by Cloud Key Management Service (Cloud KMS). When using Cloud KMS to wrap or unwrap a DEK, be sure to set an appropriate IAM policy on the KEK to ensure an attacker cannot unwrap the DEK. # The key used by the encryption function. For deterministic encryption using AES-SIV, the provided key is internally expanded to 64 bytes prior to use. @@ -3023,7 +3023,7 @@

Method Details

}, "cryptoReplaceFfxFpeConfig": { # Replaces an identifier with a surrogate using Format Preserving Encryption (FPE) with the FFX mode of operation; however when used in the `ReidentifyContent` API method, it serves the opposite function by reversing the surrogate back into the original identifier. The identifier must be encoded as ASCII. For a given crypto key and context, the same identifier will be replaced with the same surrogate. Identifiers must be at least two characters long. In the case that the identifier is the empty string, it will be skipped. See https://cloud.google.com/dlp/docs/pseudonymization to learn more. Note: We recommend using CryptoDeterministicConfig for all use cases which do not require preserving the input alphabet space and size, plus warrant referential integrity. # Ffx-Fpe "commonAlphabet": "A String", # Common alphabets. - "context": { # General identifier of a data field in a storage service. # The 'tweak', a context may be used for higher security since the same identifier in two different contexts won't be given the same surrogate. If the context is not set, a default tweak will be used. If the context is set but: 1. there is no record present when transforming a given value or 1. the field is not present when transforming a given value, a default tweak will be used. Note that case (1) is expected when an `InfoTypeTransformation` is applied to both structured and non-structured `ContentItem`s. Currently, the referenced field may be of value type integer or string. The tweak is constructed as a sequence of bytes in big endian byte order such that: - a 64 bit integer is encoded followed by a single byte of value 1 - a string is encoded in UTF-8 format followed by a single byte of value 2 + "context": { # General identifier of a data field in a storage service. # The 'tweak', a context may be used for higher security since the same identifier in two different contexts won't be given the same surrogate. If the context is not set, a default tweak will be used. If the context is set but: 1. there is no record present when transforming a given value or 1. the field is not present when transforming a given value, a default tweak will be used. Note that case (1) is expected when an `InfoTypeTransformation` is applied to both structured and unstructured `ContentItem`s. Currently, the referenced field may be of value type integer or string. The tweak is constructed as a sequence of bytes in big endian byte order such that: - a 64 bit integer is encoded followed by a single byte of value 1 - a string is encoded in UTF-8 format followed by a single byte of value 2 "name": "A String", # Name describing the field. }, "cryptoKey": { # This is a data encryption key (DEK) (as opposed to a key encryption key (KEK) stored by Cloud Key Management Service (Cloud KMS). When using Cloud KMS to wrap or unwrap a DEK, be sure to set an appropriate IAM policy on the KEK to ensure an attacker cannot unwrap the DEK. # Required. The key used by the encryption algorithm. @@ -3220,7 +3220,7 @@

Method Details

"reverseOrder": True or False, # Mask characters in reverse order. For example, if `masking_character` is `0`, `number_to_mask` is `14`, and `reverse_order` is `false`, then the input string `1234-5678-9012-3456` is masked as `00000000000000-3456`. If `masking_character` is `*`, `number_to_mask` is `3`, and `reverse_order` is `true`, then the string `12345` is masked as `12***`. }, "cryptoDeterministicConfig": { # Pseudonymization method that generates deterministic encryption for the given input. Outputs a base64 encoded representation of the encrypted output. Uses AES-SIV based on the RFC https://tools.ietf.org/html/rfc5297. # Deterministic Crypto - "context": { # General identifier of a data field in a storage service. # A context may be used for higher security and maintaining referential integrity such that the same identifier in two different contexts will be given a distinct surrogate. The context is appended to plaintext value being encrypted. On decryption the provided context is validated against the value used during encryption. If a context was provided during encryption, same context must be provided during decryption as well. If the context is not set, plaintext would be used as is for encryption. If the context is set but: 1. there is no record present when transforming a given value or 2. the field is not present when transforming a given value, plaintext would be used as is for encryption. Note that case (1) is expected when an `InfoTypeTransformation` is applied to both structured and non-structured `ContentItem`s. + "context": { # General identifier of a data field in a storage service. # A context may be used for higher security and maintaining referential integrity such that the same identifier in two different contexts will be given a distinct surrogate. The context is appended to plaintext value being encrypted. On decryption the provided context is validated against the value used during encryption. If a context was provided during encryption, same context must be provided during decryption as well. If the context is not set, plaintext would be used as is for encryption. If the context is set but: 1. there is no record present when transforming a given value or 2. the field is not present when transforming a given value, plaintext would be used as is for encryption. Note that case (1) is expected when an `InfoTypeTransformation` is applied to both structured and unstructured `ContentItem`s. "name": "A String", # Name describing the field. }, "cryptoKey": { # This is a data encryption key (DEK) (as opposed to a key encryption key (KEK) stored by Cloud Key Management Service (Cloud KMS). When using Cloud KMS to wrap or unwrap a DEK, be sure to set an appropriate IAM policy on the KEK to ensure an attacker cannot unwrap the DEK. # The key used by the encryption function. For deterministic encryption using AES-SIV, the provided key is internally expanded to 64 bytes prior to use. @@ -3256,7 +3256,7 @@

Method Details

}, "cryptoReplaceFfxFpeConfig": { # Replaces an identifier with a surrogate using Format Preserving Encryption (FPE) with the FFX mode of operation; however when used in the `ReidentifyContent` API method, it serves the opposite function by reversing the surrogate back into the original identifier. The identifier must be encoded as ASCII. For a given crypto key and context, the same identifier will be replaced with the same surrogate. Identifiers must be at least two characters long. In the case that the identifier is the empty string, it will be skipped. See https://cloud.google.com/dlp/docs/pseudonymization to learn more. Note: We recommend using CryptoDeterministicConfig for all use cases which do not require preserving the input alphabet space and size, plus warrant referential integrity. # Ffx-Fpe "commonAlphabet": "A String", # Common alphabets. - "context": { # General identifier of a data field in a storage service. # The 'tweak', a context may be used for higher security since the same identifier in two different contexts won't be given the same surrogate. If the context is not set, a default tweak will be used. If the context is set but: 1. there is no record present when transforming a given value or 1. the field is not present when transforming a given value, a default tweak will be used. Note that case (1) is expected when an `InfoTypeTransformation` is applied to both structured and non-structured `ContentItem`s. Currently, the referenced field may be of value type integer or string. The tweak is constructed as a sequence of bytes in big endian byte order such that: - a 64 bit integer is encoded followed by a single byte of value 1 - a string is encoded in UTF-8 format followed by a single byte of value 2 + "context": { # General identifier of a data field in a storage service. # The 'tweak', a context may be used for higher security since the same identifier in two different contexts won't be given the same surrogate. If the context is not set, a default tweak will be used. If the context is set but: 1. there is no record present when transforming a given value or 1. the field is not present when transforming a given value, a default tweak will be used. Note that case (1) is expected when an `InfoTypeTransformation` is applied to both structured and unstructured `ContentItem`s. Currently, the referenced field may be of value type integer or string. The tweak is constructed as a sequence of bytes in big endian byte order such that: - a 64 bit integer is encoded followed by a single byte of value 1 - a string is encoded in UTF-8 format followed by a single byte of value 2 "name": "A String", # Name describing the field. }, "cryptoKey": { # This is a data encryption key (DEK) (as opposed to a key encryption key (KEK) stored by Cloud Key Management Service (Cloud KMS). When using Cloud KMS to wrap or unwrap a DEK, be sure to set an appropriate IAM policy on the KEK to ensure an attacker cannot unwrap the DEK. # Required. The key used by the encryption algorithm. @@ -3379,7 +3379,7 @@

Method Details

"recordSuppressions": [ # Configuration defining which records get suppressed entirely. Records that match any suppression rule are omitted from the output. { # Configuration to suppress records whose suppression conditions evaluate to true. "condition": { # A condition for determining whether a transformation should be applied to a field. # A condition that when it evaluates to true will result in the record being evaluated to be suppressed from the transformed content. - "expressions": { # An expression, consisting or an operator and conditions. # An expression. + "expressions": { # An expression, consisting of an operator and conditions. # An expression. "conditions": { # A collection of conditions. # Conditions to apply to the expression. "conditions": [ # A collection of conditions. { # The field type of `value` and `field` do not need to match to be considered equal, but not all comparisons are possible. EQUAL_TO and NOT_EQUAL_TO attempt to compare even with incompatible types, but all other comparisons are invalid with incompatible types. A `value` of type: - `string` can be compared against all other types - `boolean` can only be compared against other booleans - `integer` can be compared against doubles or a string if the string value can be parsed as an integer. - `double` can be compared against integers or a string if the string can be parsed as a double. - `Timestamp` can be compared against strings in RFC 3339 date string format. - `TimeOfDay` can be compared against timestamps and strings in the format of 'HH:mm:ss'. If we fail to compare do to type mismatch, a warning will be given and the condition will evaluate to false. @@ -3544,7 +3544,7 @@

Method Details

"reverseOrder": True or False, # Mask characters in reverse order. For example, if `masking_character` is `0`, `number_to_mask` is `14`, and `reverse_order` is `false`, then the input string `1234-5678-9012-3456` is masked as `00000000000000-3456`. If `masking_character` is `*`, `number_to_mask` is `3`, and `reverse_order` is `true`, then the string `12345` is masked as `12***`. }, "cryptoDeterministicConfig": { # Pseudonymization method that generates deterministic encryption for the given input. Outputs a base64 encoded representation of the encrypted output. Uses AES-SIV based on the RFC https://tools.ietf.org/html/rfc5297. # Deterministic Crypto - "context": { # General identifier of a data field in a storage service. # A context may be used for higher security and maintaining referential integrity such that the same identifier in two different contexts will be given a distinct surrogate. The context is appended to plaintext value being encrypted. On decryption the provided context is validated against the value used during encryption. If a context was provided during encryption, same context must be provided during decryption as well. If the context is not set, plaintext would be used as is for encryption. If the context is set but: 1. there is no record present when transforming a given value or 2. the field is not present when transforming a given value, plaintext would be used as is for encryption. Note that case (1) is expected when an `InfoTypeTransformation` is applied to both structured and non-structured `ContentItem`s. + "context": { # General identifier of a data field in a storage service. # A context may be used for higher security and maintaining referential integrity such that the same identifier in two different contexts will be given a distinct surrogate. The context is appended to plaintext value being encrypted. On decryption the provided context is validated against the value used during encryption. If a context was provided during encryption, same context must be provided during decryption as well. If the context is not set, plaintext would be used as is for encryption. If the context is set but: 1. there is no record present when transforming a given value or 2. the field is not present when transforming a given value, plaintext would be used as is for encryption. Note that case (1) is expected when an `InfoTypeTransformation` is applied to both structured and unstructured `ContentItem`s. "name": "A String", # Name describing the field. }, "cryptoKey": { # This is a data encryption key (DEK) (as opposed to a key encryption key (KEK) stored by Cloud Key Management Service (Cloud KMS). When using Cloud KMS to wrap or unwrap a DEK, be sure to set an appropriate IAM policy on the KEK to ensure an attacker cannot unwrap the DEK. # The key used by the encryption function. For deterministic encryption using AES-SIV, the provided key is internally expanded to 64 bytes prior to use. @@ -3580,7 +3580,7 @@

Method Details

}, "cryptoReplaceFfxFpeConfig": { # Replaces an identifier with a surrogate using Format Preserving Encryption (FPE) with the FFX mode of operation; however when used in the `ReidentifyContent` API method, it serves the opposite function by reversing the surrogate back into the original identifier. The identifier must be encoded as ASCII. For a given crypto key and context, the same identifier will be replaced with the same surrogate. Identifiers must be at least two characters long. In the case that the identifier is the empty string, it will be skipped. See https://cloud.google.com/dlp/docs/pseudonymization to learn more. Note: We recommend using CryptoDeterministicConfig for all use cases which do not require preserving the input alphabet space and size, plus warrant referential integrity. # Ffx-Fpe "commonAlphabet": "A String", # Common alphabets. - "context": { # General identifier of a data field in a storage service. # The 'tweak', a context may be used for higher security since the same identifier in two different contexts won't be given the same surrogate. If the context is not set, a default tweak will be used. If the context is set but: 1. there is no record present when transforming a given value or 1. the field is not present when transforming a given value, a default tweak will be used. Note that case (1) is expected when an `InfoTypeTransformation` is applied to both structured and non-structured `ContentItem`s. Currently, the referenced field may be of value type integer or string. The tweak is constructed as a sequence of bytes in big endian byte order such that: - a 64 bit integer is encoded followed by a single byte of value 1 - a string is encoded in UTF-8 format followed by a single byte of value 2 + "context": { # General identifier of a data field in a storage service. # The 'tweak', a context may be used for higher security since the same identifier in two different contexts won't be given the same surrogate. If the context is not set, a default tweak will be used. If the context is set but: 1. there is no record present when transforming a given value or 1. the field is not present when transforming a given value, a default tweak will be used. Note that case (1) is expected when an `InfoTypeTransformation` is applied to both structured and unstructured `ContentItem`s. Currently, the referenced field may be of value type integer or string. The tweak is constructed as a sequence of bytes in big endian byte order such that: - a 64 bit integer is encoded followed by a single byte of value 1 - a string is encoded in UTF-8 format followed by a single byte of value 2 "name": "A String", # Name describing the field. }, "cryptoKey": { # This is a data encryption key (DEK) (as opposed to a key encryption key (KEK) stored by Cloud Key Management Service (Cloud KMS). When using Cloud KMS to wrap or unwrap a DEK, be sure to set an appropriate IAM policy on the KEK to ensure an attacker cannot unwrap the DEK. # Required. The key used by the encryption algorithm. @@ -3705,7 +3705,7 @@

Method Details

"fieldTransformations": [ # Transform the record by applying various field transformations. { # The transformation to apply to the field. "condition": { # A condition for determining whether a transformation should be applied to a field. # Only apply the transformation if the condition evaluates to true for the given `RecordCondition`. The conditions are allowed to reference fields that are not used in the actual transformation. Example Use Cases: - Apply a different bucket transformation to an age column if the zip code column for the same record is within a specific range. - Redact a field if the date of birth field is greater than 85. - "expressions": { # An expression, consisting or an operator and conditions. # An expression. + "expressions": { # An expression, consisting of an operator and conditions. # An expression. "conditions": { # A collection of conditions. # Conditions to apply to the expression. "conditions": [ # A collection of conditions. { # The field type of `value` and `field` do not need to match to be considered equal, but not all comparisons are possible. EQUAL_TO and NOT_EQUAL_TO attempt to compare even with incompatible types, but all other comparisons are invalid with incompatible types. A `value` of type: - `string` can be compared against all other types - `boolean` can only be compared against other booleans - `integer` can be compared against doubles or a string if the string value can be parsed as an integer. - `double` can be compared against integers or a string if the string can be parsed as a double. - `Timestamp` can be compared against strings in RFC 3339 date string format. - `TimeOfDay` can be compared against timestamps and strings in the format of 'HH:mm:ss'. If we fail to compare do to type mismatch, a warning will be given and the condition will evaluate to false. @@ -3828,7 +3828,7 @@

Method Details

"reverseOrder": True or False, # Mask characters in reverse order. For example, if `masking_character` is `0`, `number_to_mask` is `14`, and `reverse_order` is `false`, then the input string `1234-5678-9012-3456` is masked as `00000000000000-3456`. If `masking_character` is `*`, `number_to_mask` is `3`, and `reverse_order` is `true`, then the string `12345` is masked as `12***`. }, "cryptoDeterministicConfig": { # Pseudonymization method that generates deterministic encryption for the given input. Outputs a base64 encoded representation of the encrypted output. Uses AES-SIV based on the RFC https://tools.ietf.org/html/rfc5297. # Deterministic Crypto - "context": { # General identifier of a data field in a storage service. # A context may be used for higher security and maintaining referential integrity such that the same identifier in two different contexts will be given a distinct surrogate. The context is appended to plaintext value being encrypted. On decryption the provided context is validated against the value used during encryption. If a context was provided during encryption, same context must be provided during decryption as well. If the context is not set, plaintext would be used as is for encryption. If the context is set but: 1. there is no record present when transforming a given value or 2. the field is not present when transforming a given value, plaintext would be used as is for encryption. Note that case (1) is expected when an `InfoTypeTransformation` is applied to both structured and non-structured `ContentItem`s. + "context": { # General identifier of a data field in a storage service. # A context may be used for higher security and maintaining referential integrity such that the same identifier in two different contexts will be given a distinct surrogate. The context is appended to plaintext value being encrypted. On decryption the provided context is validated against the value used during encryption. If a context was provided during encryption, same context must be provided during decryption as well. If the context is not set, plaintext would be used as is for encryption. If the context is set but: 1. there is no record present when transforming a given value or 2. the field is not present when transforming a given value, plaintext would be used as is for encryption. Note that case (1) is expected when an `InfoTypeTransformation` is applied to both structured and unstructured `ContentItem`s. "name": "A String", # Name describing the field. }, "cryptoKey": { # This is a data encryption key (DEK) (as opposed to a key encryption key (KEK) stored by Cloud Key Management Service (Cloud KMS). When using Cloud KMS to wrap or unwrap a DEK, be sure to set an appropriate IAM policy on the KEK to ensure an attacker cannot unwrap the DEK. # The key used by the encryption function. For deterministic encryption using AES-SIV, the provided key is internally expanded to 64 bytes prior to use. @@ -3864,7 +3864,7 @@

Method Details

}, "cryptoReplaceFfxFpeConfig": { # Replaces an identifier with a surrogate using Format Preserving Encryption (FPE) with the FFX mode of operation; however when used in the `ReidentifyContent` API method, it serves the opposite function by reversing the surrogate back into the original identifier. The identifier must be encoded as ASCII. For a given crypto key and context, the same identifier will be replaced with the same surrogate. Identifiers must be at least two characters long. In the case that the identifier is the empty string, it will be skipped. See https://cloud.google.com/dlp/docs/pseudonymization to learn more. Note: We recommend using CryptoDeterministicConfig for all use cases which do not require preserving the input alphabet space and size, plus warrant referential integrity. # Ffx-Fpe "commonAlphabet": "A String", # Common alphabets. - "context": { # General identifier of a data field in a storage service. # The 'tweak', a context may be used for higher security since the same identifier in two different contexts won't be given the same surrogate. If the context is not set, a default tweak will be used. If the context is set but: 1. there is no record present when transforming a given value or 1. the field is not present when transforming a given value, a default tweak will be used. Note that case (1) is expected when an `InfoTypeTransformation` is applied to both structured and non-structured `ContentItem`s. Currently, the referenced field may be of value type integer or string. The tweak is constructed as a sequence of bytes in big endian byte order such that: - a 64 bit integer is encoded followed by a single byte of value 1 - a string is encoded in UTF-8 format followed by a single byte of value 2 + "context": { # General identifier of a data field in a storage service. # The 'tweak', a context may be used for higher security since the same identifier in two different contexts won't be given the same surrogate. If the context is not set, a default tweak will be used. If the context is set but: 1. there is no record present when transforming a given value or 1. the field is not present when transforming a given value, a default tweak will be used. Note that case (1) is expected when an `InfoTypeTransformation` is applied to both structured and unstructured `ContentItem`s. Currently, the referenced field may be of value type integer or string. The tweak is constructed as a sequence of bytes in big endian byte order such that: - a 64 bit integer is encoded followed by a single byte of value 1 - a string is encoded in UTF-8 format followed by a single byte of value 2 "name": "A String", # Name describing the field. }, "cryptoKey": { # This is a data encryption key (DEK) (as opposed to a key encryption key (KEK) stored by Cloud Key Management Service (Cloud KMS). When using Cloud KMS to wrap or unwrap a DEK, be sure to set an appropriate IAM policy on the KEK to ensure an attacker cannot unwrap the DEK. # Required. The key used by the encryption algorithm. @@ -4061,7 +4061,7 @@

Method Details

"reverseOrder": True or False, # Mask characters in reverse order. For example, if `masking_character` is `0`, `number_to_mask` is `14`, and `reverse_order` is `false`, then the input string `1234-5678-9012-3456` is masked as `00000000000000-3456`. If `masking_character` is `*`, `number_to_mask` is `3`, and `reverse_order` is `true`, then the string `12345` is masked as `12***`. }, "cryptoDeterministicConfig": { # Pseudonymization method that generates deterministic encryption for the given input. Outputs a base64 encoded representation of the encrypted output. Uses AES-SIV based on the RFC https://tools.ietf.org/html/rfc5297. # Deterministic Crypto - "context": { # General identifier of a data field in a storage service. # A context may be used for higher security and maintaining referential integrity such that the same identifier in two different contexts will be given a distinct surrogate. The context is appended to plaintext value being encrypted. On decryption the provided context is validated against the value used during encryption. If a context was provided during encryption, same context must be provided during decryption as well. If the context is not set, plaintext would be used as is for encryption. If the context is set but: 1. there is no record present when transforming a given value or 2. the field is not present when transforming a given value, plaintext would be used as is for encryption. Note that case (1) is expected when an `InfoTypeTransformation` is applied to both structured and non-structured `ContentItem`s. + "context": { # General identifier of a data field in a storage service. # A context may be used for higher security and maintaining referential integrity such that the same identifier in two different contexts will be given a distinct surrogate. The context is appended to plaintext value being encrypted. On decryption the provided context is validated against the value used during encryption. If a context was provided during encryption, same context must be provided during decryption as well. If the context is not set, plaintext would be used as is for encryption. If the context is set but: 1. there is no record present when transforming a given value or 2. the field is not present when transforming a given value, plaintext would be used as is for encryption. Note that case (1) is expected when an `InfoTypeTransformation` is applied to both structured and unstructured `ContentItem`s. "name": "A String", # Name describing the field. }, "cryptoKey": { # This is a data encryption key (DEK) (as opposed to a key encryption key (KEK) stored by Cloud Key Management Service (Cloud KMS). When using Cloud KMS to wrap or unwrap a DEK, be sure to set an appropriate IAM policy on the KEK to ensure an attacker cannot unwrap the DEK. # The key used by the encryption function. For deterministic encryption using AES-SIV, the provided key is internally expanded to 64 bytes prior to use. @@ -4097,7 +4097,7 @@

Method Details

}, "cryptoReplaceFfxFpeConfig": { # Replaces an identifier with a surrogate using Format Preserving Encryption (FPE) with the FFX mode of operation; however when used in the `ReidentifyContent` API method, it serves the opposite function by reversing the surrogate back into the original identifier. The identifier must be encoded as ASCII. For a given crypto key and context, the same identifier will be replaced with the same surrogate. Identifiers must be at least two characters long. In the case that the identifier is the empty string, it will be skipped. See https://cloud.google.com/dlp/docs/pseudonymization to learn more. Note: We recommend using CryptoDeterministicConfig for all use cases which do not require preserving the input alphabet space and size, plus warrant referential integrity. # Ffx-Fpe "commonAlphabet": "A String", # Common alphabets. - "context": { # General identifier of a data field in a storage service. # The 'tweak', a context may be used for higher security since the same identifier in two different contexts won't be given the same surrogate. If the context is not set, a default tweak will be used. If the context is set but: 1. there is no record present when transforming a given value or 1. the field is not present when transforming a given value, a default tweak will be used. Note that case (1) is expected when an `InfoTypeTransformation` is applied to both structured and non-structured `ContentItem`s. Currently, the referenced field may be of value type integer or string. The tweak is constructed as a sequence of bytes in big endian byte order such that: - a 64 bit integer is encoded followed by a single byte of value 1 - a string is encoded in UTF-8 format followed by a single byte of value 2 + "context": { # General identifier of a data field in a storage service. # The 'tweak', a context may be used for higher security since the same identifier in two different contexts won't be given the same surrogate. If the context is not set, a default tweak will be used. If the context is set but: 1. there is no record present when transforming a given value or 1. the field is not present when transforming a given value, a default tweak will be used. Note that case (1) is expected when an `InfoTypeTransformation` is applied to both structured and unstructured `ContentItem`s. Currently, the referenced field may be of value type integer or string. The tweak is constructed as a sequence of bytes in big endian byte order such that: - a 64 bit integer is encoded followed by a single byte of value 1 - a string is encoded in UTF-8 format followed by a single byte of value 2 "name": "A String", # Name describing the field. }, "cryptoKey": { # This is a data encryption key (DEK) (as opposed to a key encryption key (KEK) stored by Cloud Key Management Service (Cloud KMS). When using Cloud KMS to wrap or unwrap a DEK, be sure to set an appropriate IAM policy on the KEK to ensure an attacker cannot unwrap the DEK. # Required. The key used by the encryption algorithm. @@ -4220,7 +4220,7 @@

Method Details

"recordSuppressions": [ # Configuration defining which records get suppressed entirely. Records that match any suppression rule are omitted from the output. { # Configuration to suppress records whose suppression conditions evaluate to true. "condition": { # A condition for determining whether a transformation should be applied to a field. # A condition that when it evaluates to true will result in the record being evaluated to be suppressed from the transformed content. - "expressions": { # An expression, consisting or an operator and conditions. # An expression. + "expressions": { # An expression, consisting of an operator and conditions. # An expression. "conditions": { # A collection of conditions. # Conditions to apply to the expression. "conditions": [ # A collection of conditions. { # The field type of `value` and `field` do not need to match to be considered equal, but not all comparisons are possible. EQUAL_TO and NOT_EQUAL_TO attempt to compare even with incompatible types, but all other comparisons are invalid with incompatible types. A `value` of type: - `string` can be compared against all other types - `boolean` can only be compared against other booleans - `integer` can be compared against doubles or a string if the string value can be parsed as an integer. - `double` can be compared against integers or a string if the string can be parsed as a double. - `Timestamp` can be compared against strings in RFC 3339 date string format. - `TimeOfDay` can be compared against timestamps and strings in the format of 'HH:mm:ss'. If we fail to compare do to type mismatch, a warning will be given and the condition will evaluate to false. @@ -4367,7 +4367,7 @@

Method Details

"reverseOrder": True or False, # Mask characters in reverse order. For example, if `masking_character` is `0`, `number_to_mask` is `14`, and `reverse_order` is `false`, then the input string `1234-5678-9012-3456` is masked as `00000000000000-3456`. If `masking_character` is `*`, `number_to_mask` is `3`, and `reverse_order` is `true`, then the string `12345` is masked as `12***`. }, "cryptoDeterministicConfig": { # Pseudonymization method that generates deterministic encryption for the given input. Outputs a base64 encoded representation of the encrypted output. Uses AES-SIV based on the RFC https://tools.ietf.org/html/rfc5297. # Deterministic Crypto - "context": { # General identifier of a data field in a storage service. # A context may be used for higher security and maintaining referential integrity such that the same identifier in two different contexts will be given a distinct surrogate. The context is appended to plaintext value being encrypted. On decryption the provided context is validated against the value used during encryption. If a context was provided during encryption, same context must be provided during decryption as well. If the context is not set, plaintext would be used as is for encryption. If the context is set but: 1. there is no record present when transforming a given value or 2. the field is not present when transforming a given value, plaintext would be used as is for encryption. Note that case (1) is expected when an `InfoTypeTransformation` is applied to both structured and non-structured `ContentItem`s. + "context": { # General identifier of a data field in a storage service. # A context may be used for higher security and maintaining referential integrity such that the same identifier in two different contexts will be given a distinct surrogate. The context is appended to plaintext value being encrypted. On decryption the provided context is validated against the value used during encryption. If a context was provided during encryption, same context must be provided during decryption as well. If the context is not set, plaintext would be used as is for encryption. If the context is set but: 1. there is no record present when transforming a given value or 2. the field is not present when transforming a given value, plaintext would be used as is for encryption. Note that case (1) is expected when an `InfoTypeTransformation` is applied to both structured and unstructured `ContentItem`s. "name": "A String", # Name describing the field. }, "cryptoKey": { # This is a data encryption key (DEK) (as opposed to a key encryption key (KEK) stored by Cloud Key Management Service (Cloud KMS). When using Cloud KMS to wrap or unwrap a DEK, be sure to set an appropriate IAM policy on the KEK to ensure an attacker cannot unwrap the DEK. # The key used by the encryption function. For deterministic encryption using AES-SIV, the provided key is internally expanded to 64 bytes prior to use. @@ -4403,7 +4403,7 @@

Method Details

}, "cryptoReplaceFfxFpeConfig": { # Replaces an identifier with a surrogate using Format Preserving Encryption (FPE) with the FFX mode of operation; however when used in the `ReidentifyContent` API method, it serves the opposite function by reversing the surrogate back into the original identifier. The identifier must be encoded as ASCII. For a given crypto key and context, the same identifier will be replaced with the same surrogate. Identifiers must be at least two characters long. In the case that the identifier is the empty string, it will be skipped. See https://cloud.google.com/dlp/docs/pseudonymization to learn more. Note: We recommend using CryptoDeterministicConfig for all use cases which do not require preserving the input alphabet space and size, plus warrant referential integrity. # Ffx-Fpe "commonAlphabet": "A String", # Common alphabets. - "context": { # General identifier of a data field in a storage service. # The 'tweak', a context may be used for higher security since the same identifier in two different contexts won't be given the same surrogate. If the context is not set, a default tweak will be used. If the context is set but: 1. there is no record present when transforming a given value or 1. the field is not present when transforming a given value, a default tweak will be used. Note that case (1) is expected when an `InfoTypeTransformation` is applied to both structured and non-structured `ContentItem`s. Currently, the referenced field may be of value type integer or string. The tweak is constructed as a sequence of bytes in big endian byte order such that: - a 64 bit integer is encoded followed by a single byte of value 1 - a string is encoded in UTF-8 format followed by a single byte of value 2 + "context": { # General identifier of a data field in a storage service. # The 'tweak', a context may be used for higher security since the same identifier in two different contexts won't be given the same surrogate. If the context is not set, a default tweak will be used. If the context is set but: 1. there is no record present when transforming a given value or 1. the field is not present when transforming a given value, a default tweak will be used. Note that case (1) is expected when an `InfoTypeTransformation` is applied to both structured and unstructured `ContentItem`s. Currently, the referenced field may be of value type integer or string. The tweak is constructed as a sequence of bytes in big endian byte order such that: - a 64 bit integer is encoded followed by a single byte of value 1 - a string is encoded in UTF-8 format followed by a single byte of value 2 "name": "A String", # Name describing the field. }, "cryptoKey": { # This is a data encryption key (DEK) (as opposed to a key encryption key (KEK) stored by Cloud Key Management Service (Cloud KMS). When using Cloud KMS to wrap or unwrap a DEK, be sure to set an appropriate IAM policy on the KEK to ensure an attacker cannot unwrap the DEK. # Required. The key used by the encryption algorithm. @@ -4528,7 +4528,7 @@

Method Details

"fieldTransformations": [ # Transform the record by applying various field transformations. { # The transformation to apply to the field. "condition": { # A condition for determining whether a transformation should be applied to a field. # Only apply the transformation if the condition evaluates to true for the given `RecordCondition`. The conditions are allowed to reference fields that are not used in the actual transformation. Example Use Cases: - Apply a different bucket transformation to an age column if the zip code column for the same record is within a specific range. - Redact a field if the date of birth field is greater than 85. - "expressions": { # An expression, consisting or an operator and conditions. # An expression. + "expressions": { # An expression, consisting of an operator and conditions. # An expression. "conditions": { # A collection of conditions. # Conditions to apply to the expression. "conditions": [ # A collection of conditions. { # The field type of `value` and `field` do not need to match to be considered equal, but not all comparisons are possible. EQUAL_TO and NOT_EQUAL_TO attempt to compare even with incompatible types, but all other comparisons are invalid with incompatible types. A `value` of type: - `string` can be compared against all other types - `boolean` can only be compared against other booleans - `integer` can be compared against doubles or a string if the string value can be parsed as an integer. - `double` can be compared against integers or a string if the string can be parsed as a double. - `Timestamp` can be compared against strings in RFC 3339 date string format. - `TimeOfDay` can be compared against timestamps and strings in the format of 'HH:mm:ss'. If we fail to compare do to type mismatch, a warning will be given and the condition will evaluate to false. @@ -4651,7 +4651,7 @@

Method Details

"reverseOrder": True or False, # Mask characters in reverse order. For example, if `masking_character` is `0`, `number_to_mask` is `14`, and `reverse_order` is `false`, then the input string `1234-5678-9012-3456` is masked as `00000000000000-3456`. If `masking_character` is `*`, `number_to_mask` is `3`, and `reverse_order` is `true`, then the string `12345` is masked as `12***`. }, "cryptoDeterministicConfig": { # Pseudonymization method that generates deterministic encryption for the given input. Outputs a base64 encoded representation of the encrypted output. Uses AES-SIV based on the RFC https://tools.ietf.org/html/rfc5297. # Deterministic Crypto - "context": { # General identifier of a data field in a storage service. # A context may be used for higher security and maintaining referential integrity such that the same identifier in two different contexts will be given a distinct surrogate. The context is appended to plaintext value being encrypted. On decryption the provided context is validated against the value used during encryption. If a context was provided during encryption, same context must be provided during decryption as well. If the context is not set, plaintext would be used as is for encryption. If the context is set but: 1. there is no record present when transforming a given value or 2. the field is not present when transforming a given value, plaintext would be used as is for encryption. Note that case (1) is expected when an `InfoTypeTransformation` is applied to both structured and non-structured `ContentItem`s. + "context": { # General identifier of a data field in a storage service. # A context may be used for higher security and maintaining referential integrity such that the same identifier in two different contexts will be given a distinct surrogate. The context is appended to plaintext value being encrypted. On decryption the provided context is validated against the value used during encryption. If a context was provided during encryption, same context must be provided during decryption as well. If the context is not set, plaintext would be used as is for encryption. If the context is set but: 1. there is no record present when transforming a given value or 2. the field is not present when transforming a given value, plaintext would be used as is for encryption. Note that case (1) is expected when an `InfoTypeTransformation` is applied to both structured and unstructured `ContentItem`s. "name": "A String", # Name describing the field. }, "cryptoKey": { # This is a data encryption key (DEK) (as opposed to a key encryption key (KEK) stored by Cloud Key Management Service (Cloud KMS). When using Cloud KMS to wrap or unwrap a DEK, be sure to set an appropriate IAM policy on the KEK to ensure an attacker cannot unwrap the DEK. # The key used by the encryption function. For deterministic encryption using AES-SIV, the provided key is internally expanded to 64 bytes prior to use. @@ -4687,7 +4687,7 @@

Method Details

}, "cryptoReplaceFfxFpeConfig": { # Replaces an identifier with a surrogate using Format Preserving Encryption (FPE) with the FFX mode of operation; however when used in the `ReidentifyContent` API method, it serves the opposite function by reversing the surrogate back into the original identifier. The identifier must be encoded as ASCII. For a given crypto key and context, the same identifier will be replaced with the same surrogate. Identifiers must be at least two characters long. In the case that the identifier is the empty string, it will be skipped. See https://cloud.google.com/dlp/docs/pseudonymization to learn more. Note: We recommend using CryptoDeterministicConfig for all use cases which do not require preserving the input alphabet space and size, plus warrant referential integrity. # Ffx-Fpe "commonAlphabet": "A String", # Common alphabets. - "context": { # General identifier of a data field in a storage service. # The 'tweak', a context may be used for higher security since the same identifier in two different contexts won't be given the same surrogate. If the context is not set, a default tweak will be used. If the context is set but: 1. there is no record present when transforming a given value or 1. the field is not present when transforming a given value, a default tweak will be used. Note that case (1) is expected when an `InfoTypeTransformation` is applied to both structured and non-structured `ContentItem`s. Currently, the referenced field may be of value type integer or string. The tweak is constructed as a sequence of bytes in big endian byte order such that: - a 64 bit integer is encoded followed by a single byte of value 1 - a string is encoded in UTF-8 format followed by a single byte of value 2 + "context": { # General identifier of a data field in a storage service. # The 'tweak', a context may be used for higher security since the same identifier in two different contexts won't be given the same surrogate. If the context is not set, a default tweak will be used. If the context is set but: 1. there is no record present when transforming a given value or 1. the field is not present when transforming a given value, a default tweak will be used. Note that case (1) is expected when an `InfoTypeTransformation` is applied to both structured and unstructured `ContentItem`s. Currently, the referenced field may be of value type integer or string. The tweak is constructed as a sequence of bytes in big endian byte order such that: - a 64 bit integer is encoded followed by a single byte of value 1 - a string is encoded in UTF-8 format followed by a single byte of value 2 "name": "A String", # Name describing the field. }, "cryptoKey": { # This is a data encryption key (DEK) (as opposed to a key encryption key (KEK) stored by Cloud Key Management Service (Cloud KMS). When using Cloud KMS to wrap or unwrap a DEK, be sure to set an appropriate IAM policy on the KEK to ensure an attacker cannot unwrap the DEK. # Required. The key used by the encryption algorithm. @@ -4884,7 +4884,7 @@

Method Details

"reverseOrder": True or False, # Mask characters in reverse order. For example, if `masking_character` is `0`, `number_to_mask` is `14`, and `reverse_order` is `false`, then the input string `1234-5678-9012-3456` is masked as `00000000000000-3456`. If `masking_character` is `*`, `number_to_mask` is `3`, and `reverse_order` is `true`, then the string `12345` is masked as `12***`. }, "cryptoDeterministicConfig": { # Pseudonymization method that generates deterministic encryption for the given input. Outputs a base64 encoded representation of the encrypted output. Uses AES-SIV based on the RFC https://tools.ietf.org/html/rfc5297. # Deterministic Crypto - "context": { # General identifier of a data field in a storage service. # A context may be used for higher security and maintaining referential integrity such that the same identifier in two different contexts will be given a distinct surrogate. The context is appended to plaintext value being encrypted. On decryption the provided context is validated against the value used during encryption. If a context was provided during encryption, same context must be provided during decryption as well. If the context is not set, plaintext would be used as is for encryption. If the context is set but: 1. there is no record present when transforming a given value or 2. the field is not present when transforming a given value, plaintext would be used as is for encryption. Note that case (1) is expected when an `InfoTypeTransformation` is applied to both structured and non-structured `ContentItem`s. + "context": { # General identifier of a data field in a storage service. # A context may be used for higher security and maintaining referential integrity such that the same identifier in two different contexts will be given a distinct surrogate. The context is appended to plaintext value being encrypted. On decryption the provided context is validated against the value used during encryption. If a context was provided during encryption, same context must be provided during decryption as well. If the context is not set, plaintext would be used as is for encryption. If the context is set but: 1. there is no record present when transforming a given value or 2. the field is not present when transforming a given value, plaintext would be used as is for encryption. Note that case (1) is expected when an `InfoTypeTransformation` is applied to both structured and unstructured `ContentItem`s. "name": "A String", # Name describing the field. }, "cryptoKey": { # This is a data encryption key (DEK) (as opposed to a key encryption key (KEK) stored by Cloud Key Management Service (Cloud KMS). When using Cloud KMS to wrap or unwrap a DEK, be sure to set an appropriate IAM policy on the KEK to ensure an attacker cannot unwrap the DEK. # The key used by the encryption function. For deterministic encryption using AES-SIV, the provided key is internally expanded to 64 bytes prior to use. @@ -4920,7 +4920,7 @@

Method Details

}, "cryptoReplaceFfxFpeConfig": { # Replaces an identifier with a surrogate using Format Preserving Encryption (FPE) with the FFX mode of operation; however when used in the `ReidentifyContent` API method, it serves the opposite function by reversing the surrogate back into the original identifier. The identifier must be encoded as ASCII. For a given crypto key and context, the same identifier will be replaced with the same surrogate. Identifiers must be at least two characters long. In the case that the identifier is the empty string, it will be skipped. See https://cloud.google.com/dlp/docs/pseudonymization to learn more. Note: We recommend using CryptoDeterministicConfig for all use cases which do not require preserving the input alphabet space and size, plus warrant referential integrity. # Ffx-Fpe "commonAlphabet": "A String", # Common alphabets. - "context": { # General identifier of a data field in a storage service. # The 'tweak', a context may be used for higher security since the same identifier in two different contexts won't be given the same surrogate. If the context is not set, a default tweak will be used. If the context is set but: 1. there is no record present when transforming a given value or 1. the field is not present when transforming a given value, a default tweak will be used. Note that case (1) is expected when an `InfoTypeTransformation` is applied to both structured and non-structured `ContentItem`s. Currently, the referenced field may be of value type integer or string. The tweak is constructed as a sequence of bytes in big endian byte order such that: - a 64 bit integer is encoded followed by a single byte of value 1 - a string is encoded in UTF-8 format followed by a single byte of value 2 + "context": { # General identifier of a data field in a storage service. # The 'tweak', a context may be used for higher security since the same identifier in two different contexts won't be given the same surrogate. If the context is not set, a default tweak will be used. If the context is set but: 1. there is no record present when transforming a given value or 1. the field is not present when transforming a given value, a default tweak will be used. Note that case (1) is expected when an `InfoTypeTransformation` is applied to both structured and unstructured `ContentItem`s. Currently, the referenced field may be of value type integer or string. The tweak is constructed as a sequence of bytes in big endian byte order such that: - a 64 bit integer is encoded followed by a single byte of value 1 - a string is encoded in UTF-8 format followed by a single byte of value 2 "name": "A String", # Name describing the field. }, "cryptoKey": { # This is a data encryption key (DEK) (as opposed to a key encryption key (KEK) stored by Cloud Key Management Service (Cloud KMS). When using Cloud KMS to wrap or unwrap a DEK, be sure to set an appropriate IAM policy on the KEK to ensure an attacker cannot unwrap the DEK. # Required. The key used by the encryption algorithm. @@ -5043,7 +5043,7 @@

Method Details

"recordSuppressions": [ # Configuration defining which records get suppressed entirely. Records that match any suppression rule are omitted from the output. { # Configuration to suppress records whose suppression conditions evaluate to true. "condition": { # A condition for determining whether a transformation should be applied to a field. # A condition that when it evaluates to true will result in the record being evaluated to be suppressed from the transformed content. - "expressions": { # An expression, consisting or an operator and conditions. # An expression. + "expressions": { # An expression, consisting of an operator and conditions. # An expression. "conditions": { # A collection of conditions. # Conditions to apply to the expression. "conditions": [ # A collection of conditions. { # The field type of `value` and `field` do not need to match to be considered equal, but not all comparisons are possible. EQUAL_TO and NOT_EQUAL_TO attempt to compare even with incompatible types, but all other comparisons are invalid with incompatible types. A `value` of type: - `string` can be compared against all other types - `boolean` can only be compared against other booleans - `integer` can be compared against doubles or a string if the string value can be parsed as an integer. - `double` can be compared against integers or a string if the string can be parsed as a double. - `Timestamp` can be compared against strings in RFC 3339 date string format. - `TimeOfDay` can be compared against timestamps and strings in the format of 'HH:mm:ss'. If we fail to compare do to type mismatch, a warning will be given and the condition will evaluate to false. diff --git a/docs/dyn/dlp_v2.organizations.inspectTemplates.html b/docs/dyn/dlp_v2.organizations.inspectTemplates.html index ae7f1fc842f..3edcfa709f2 100644 --- a/docs/dyn/dlp_v2.organizations.inspectTemplates.html +++ b/docs/dyn/dlp_v2.organizations.inspectTemplates.html @@ -79,7 +79,7 @@

Instance Methods

Close httplib2 connections.

create(parent, body=None, x__xgafv=None)

-

Creates an InspectTemplate for re-using frequently used configuration for inspecting content, images, and storage. See https://cloud.google.com/dlp/docs/creating-templates to learn more.

+

Creates an InspectTemplate for reusing frequently used configuration for inspecting content, images, and storage. See https://cloud.google.com/dlp/docs/creating-templates to learn more.

delete(name, x__xgafv=None)

Deletes an InspectTemplate. See https://cloud.google.com/dlp/docs/creating-templates to learn more.

@@ -103,7 +103,7 @@

Method Details

create(parent, body=None, x__xgafv=None) -
Creates an InspectTemplate for re-using frequently used configuration for inspecting content, images, and storage. See https://cloud.google.com/dlp/docs/creating-templates to learn more.
+  
Creates an InspectTemplate for reusing frequently used configuration for inspecting content, images, and storage. See https://cloud.google.com/dlp/docs/creating-templates to learn more.
 
 Args:
   parent: string, Required. Parent resource name. The format of this value varies depending on the scope of the request (project or organization) and whether you have [specified a processing location](https://cloud.google.com/dlp/docs/specifying-location): + Projects scope, location specified: `projects/`PROJECT_ID`/locations/`LOCATION_ID + Projects scope, no location specified (defaults to global): `projects/`PROJECT_ID + Organizations scope, location specified: `organizations/`ORG_ID`/locations/`LOCATION_ID + Organizations scope, no location specified (defaults to global): `organizations/`ORG_ID The following example `parent` string specifies a parent project with the identifier `example-project`, and specifies the `europe-west3` location for processing data: parent=projects/example-project/locations/europe-west3 (required)
@@ -179,7 +179,7 @@ 

Method Details

"version": "A String", # Optional version name for this InfoType. }, ], - "limits": { # Configuration to control the number of findings returned for inspection. This is not used for de-identification or data profiling. # Configuration to control the number of findings returned. This is not used for data profiling. + "limits": { # Configuration to control the number of findings returned for inspection. This is not used for de-identification or data profiling. When redacting sensitive data from images, finding limits don't apply. They can cause unexpected or inconsistent results, where only some data is redacted. Don't include finding limits in RedactImage requests. Otherwise, Cloud DLP returns an error. # Configuration to control the number of findings returned. This is not used for data profiling. When redacting sensitive data from images, finding limits don't apply. They can cause unexpected or inconsistent results, where only some data is redacted. Don't include finding limits in RedactImage requests. Otherwise, Cloud DLP returns an error. "maxFindingsPerInfoType": [ # Configuration of findings limit given for specified infoTypes. { # Max findings configuration per infoType, per content item or long running DlpJob. "infoType": { # Type of information detected by the API. # Type of information the findings limit applies to. Only one limit per info_type should be provided. If InfoTypeLimit does not have an info_type, the DLP API applies the limit against all info_types that are found but not specified in another InfoTypeLimit. @@ -214,7 +214,7 @@

Method Details

], }, }, - "excludeInfoTypes": { # List of exclude infoTypes. # Set of infoTypes for which findings would affect this rule. + "excludeInfoTypes": { # List of excluded infoTypes. # Set of infoTypes for which findings would affect this rule. "infoTypes": [ # InfoType list in ExclusionRule rule drops a finding when it overlaps or contained within with a finding of an infoType from this list. For example, for `InspectionRuleSet.info_types` containing "PHONE_NUMBER"` and `exclusion_rule` containing `exclude_info_types.info_types` with "EMAIL_ADDRESS" the phone number findings are dropped if they overlap with EMAIL_ADDRESS finding. That leads to "555-222-2222@example.org" to generate only a single finding, namely email address. { # Type of information detected by the API. "name": "A String", # Name of the information type. Either a name of your choosing when creating a CustomInfoType, or one of the names listed at https://cloud.google.com/dlp/docs/infotypes-reference when specifying a built-in type. When sending Cloud DLP results to Data Catalog, infoType names should conform to the pattern `[A-Za-z0-9$-_]{1,64}`. @@ -334,7 +334,7 @@

Method Details

"version": "A String", # Optional version name for this InfoType. }, ], - "limits": { # Configuration to control the number of findings returned for inspection. This is not used for de-identification or data profiling. # Configuration to control the number of findings returned. This is not used for data profiling. + "limits": { # Configuration to control the number of findings returned for inspection. This is not used for de-identification or data profiling. When redacting sensitive data from images, finding limits don't apply. They can cause unexpected or inconsistent results, where only some data is redacted. Don't include finding limits in RedactImage requests. Otherwise, Cloud DLP returns an error. # Configuration to control the number of findings returned. This is not used for data profiling. When redacting sensitive data from images, finding limits don't apply. They can cause unexpected or inconsistent results, where only some data is redacted. Don't include finding limits in RedactImage requests. Otherwise, Cloud DLP returns an error. "maxFindingsPerInfoType": [ # Configuration of findings limit given for specified infoTypes. { # Max findings configuration per infoType, per content item or long running DlpJob. "infoType": { # Type of information detected by the API. # Type of information the findings limit applies to. Only one limit per info_type should be provided. If InfoTypeLimit does not have an info_type, the DLP API applies the limit against all info_types that are found but not specified in another InfoTypeLimit. @@ -369,7 +369,7 @@

Method Details

], }, }, - "excludeInfoTypes": { # List of exclude infoTypes. # Set of infoTypes for which findings would affect this rule. + "excludeInfoTypes": { # List of excluded infoTypes. # Set of infoTypes for which findings would affect this rule. "infoTypes": [ # InfoType list in ExclusionRule rule drops a finding when it overlaps or contained within with a finding of an infoType from this list. For example, for `InspectionRuleSet.info_types` containing "PHONE_NUMBER"` and `exclusion_rule` containing `exclude_info_types.info_types` with "EMAIL_ADDRESS" the phone number findings are dropped if they overlap with EMAIL_ADDRESS finding. That leads to "555-222-2222@example.org" to generate only a single finding, namely email address. { # Type of information detected by the API. "name": "A String", # Name of the information type. Either a name of your choosing when creating a CustomInfoType, or one of the names listed at https://cloud.google.com/dlp/docs/infotypes-reference when specifying a built-in type. When sending Cloud DLP results to Data Catalog, infoType names should conform to the pattern `[A-Za-z0-9$-_]{1,64}`. @@ -511,7 +511,7 @@

Method Details

"version": "A String", # Optional version name for this InfoType. }, ], - "limits": { # Configuration to control the number of findings returned for inspection. This is not used for de-identification or data profiling. # Configuration to control the number of findings returned. This is not used for data profiling. + "limits": { # Configuration to control the number of findings returned for inspection. This is not used for de-identification or data profiling. When redacting sensitive data from images, finding limits don't apply. They can cause unexpected or inconsistent results, where only some data is redacted. Don't include finding limits in RedactImage requests. Otherwise, Cloud DLP returns an error. # Configuration to control the number of findings returned. This is not used for data profiling. When redacting sensitive data from images, finding limits don't apply. They can cause unexpected or inconsistent results, where only some data is redacted. Don't include finding limits in RedactImage requests. Otherwise, Cloud DLP returns an error. "maxFindingsPerInfoType": [ # Configuration of findings limit given for specified infoTypes. { # Max findings configuration per infoType, per content item or long running DlpJob. "infoType": { # Type of information detected by the API. # Type of information the findings limit applies to. Only one limit per info_type should be provided. If InfoTypeLimit does not have an info_type, the DLP API applies the limit against all info_types that are found but not specified in another InfoTypeLimit. @@ -546,7 +546,7 @@

Method Details

], }, }, - "excludeInfoTypes": { # List of exclude infoTypes. # Set of infoTypes for which findings would affect this rule. + "excludeInfoTypes": { # List of excluded infoTypes. # Set of infoTypes for which findings would affect this rule. "infoTypes": [ # InfoType list in ExclusionRule rule drops a finding when it overlaps or contained within with a finding of an infoType from this list. For example, for `InspectionRuleSet.info_types` containing "PHONE_NUMBER"` and `exclusion_rule` containing `exclude_info_types.info_types` with "EMAIL_ADDRESS" the phone number findings are dropped if they overlap with EMAIL_ADDRESS finding. That leads to "555-222-2222@example.org" to generate only a single finding, namely email address. { # Type of information detected by the API. "name": "A String", # Name of the information type. Either a name of your choosing when creating a CustomInfoType, or one of the names listed at https://cloud.google.com/dlp/docs/infotypes-reference when specifying a built-in type. When sending Cloud DLP results to Data Catalog, infoType names should conform to the pattern `[A-Za-z0-9$-_]{1,64}`. @@ -595,8 +595,8 @@

Method Details

Args: parent: string, Required. Parent resource name. The format of this value varies depending on the scope of the request (project or organization) and whether you have [specified a processing location](https://cloud.google.com/dlp/docs/specifying-location): + Projects scope, location specified: `projects/`PROJECT_ID`/locations/`LOCATION_ID + Projects scope, no location specified (defaults to global): `projects/`PROJECT_ID + Organizations scope, location specified: `organizations/`ORG_ID`/locations/`LOCATION_ID + Organizations scope, no location specified (defaults to global): `organizations/`ORG_ID The following example `parent` string specifies a parent project with the identifier `example-project`, and specifies the `europe-west3` location for processing data: parent=projects/example-project/locations/europe-west3 (required) locationId: string, Deprecated. This field has no effect. - orderBy: string, Comma separated list of fields to order by, followed by `asc` or `desc` postfix. This list is case-insensitive, default sorting order is ascending, redundant space characters are insignificant. Example: `name asc,update_time, create_time desc` Supported fields are: - `create_time`: corresponds to time the template was created. - `update_time`: corresponds to time the template was last updated. - `name`: corresponds to template's name. - `display_name`: corresponds to template's display name. - pageSize: integer, Size of the page, can be limited by server. If zero server returns a page of max size 100. + orderBy: string, Comma separated list of fields to order by, followed by `asc` or `desc` postfix. This list is case-insensitive, default sorting order is ascending, redundant space characters are insignificant. Example: `name asc,update_time, create_time desc` Supported fields are: - `create_time`: corresponds to the time the template was created. - `update_time`: corresponds to the time the template was last updated. - `name`: corresponds to the template's name. - `display_name`: corresponds to the template's display name. + pageSize: integer, Size of the page, can be limited by the server. If zero server returns a page of max size 100. pageToken: string, Page token to continue retrieval. Comes from previous call to `ListInspectTemplates`. x__xgafv: string, V1 error format. Allowed values @@ -676,7 +676,7 @@

Method Details

"version": "A String", # Optional version name for this InfoType. }, ], - "limits": { # Configuration to control the number of findings returned for inspection. This is not used for de-identification or data profiling. # Configuration to control the number of findings returned. This is not used for data profiling. + "limits": { # Configuration to control the number of findings returned for inspection. This is not used for de-identification or data profiling. When redacting sensitive data from images, finding limits don't apply. They can cause unexpected or inconsistent results, where only some data is redacted. Don't include finding limits in RedactImage requests. Otherwise, Cloud DLP returns an error. # Configuration to control the number of findings returned. This is not used for data profiling. When redacting sensitive data from images, finding limits don't apply. They can cause unexpected or inconsistent results, where only some data is redacted. Don't include finding limits in RedactImage requests. Otherwise, Cloud DLP returns an error. "maxFindingsPerInfoType": [ # Configuration of findings limit given for specified infoTypes. { # Max findings configuration per infoType, per content item or long running DlpJob. "infoType": { # Type of information detected by the API. # Type of information the findings limit applies to. Only one limit per info_type should be provided. If InfoTypeLimit does not have an info_type, the DLP API applies the limit against all info_types that are found but not specified in another InfoTypeLimit. @@ -711,7 +711,7 @@

Method Details

], }, }, - "excludeInfoTypes": { # List of exclude infoTypes. # Set of infoTypes for which findings would affect this rule. + "excludeInfoTypes": { # List of excluded infoTypes. # Set of infoTypes for which findings would affect this rule. "infoTypes": [ # InfoType list in ExclusionRule rule drops a finding when it overlaps or contained within with a finding of an infoType from this list. For example, for `InspectionRuleSet.info_types` containing "PHONE_NUMBER"` and `exclusion_rule` containing `exclude_info_types.info_types` with "EMAIL_ADDRESS" the phone number findings are dropped if they overlap with EMAIL_ADDRESS finding. That leads to "555-222-2222@example.org" to generate only a single finding, namely email address. { # Type of information detected by the API. "name": "A String", # Name of the information type. Either a name of your choosing when creating a CustomInfoType, or one of the names listed at https://cloud.google.com/dlp/docs/infotypes-reference when specifying a built-in type. When sending Cloud DLP results to Data Catalog, infoType names should conform to the pattern `[A-Za-z0-9$-_]{1,64}`. @@ -848,7 +848,7 @@

Method Details

"version": "A String", # Optional version name for this InfoType. }, ], - "limits": { # Configuration to control the number of findings returned for inspection. This is not used for de-identification or data profiling. # Configuration to control the number of findings returned. This is not used for data profiling. + "limits": { # Configuration to control the number of findings returned for inspection. This is not used for de-identification or data profiling. When redacting sensitive data from images, finding limits don't apply. They can cause unexpected or inconsistent results, where only some data is redacted. Don't include finding limits in RedactImage requests. Otherwise, Cloud DLP returns an error. # Configuration to control the number of findings returned. This is not used for data profiling. When redacting sensitive data from images, finding limits don't apply. They can cause unexpected or inconsistent results, where only some data is redacted. Don't include finding limits in RedactImage requests. Otherwise, Cloud DLP returns an error. "maxFindingsPerInfoType": [ # Configuration of findings limit given for specified infoTypes. { # Max findings configuration per infoType, per content item or long running DlpJob. "infoType": { # Type of information detected by the API. # Type of information the findings limit applies to. Only one limit per info_type should be provided. If InfoTypeLimit does not have an info_type, the DLP API applies the limit against all info_types that are found but not specified in another InfoTypeLimit. @@ -883,7 +883,7 @@

Method Details

], }, }, - "excludeInfoTypes": { # List of exclude infoTypes. # Set of infoTypes for which findings would affect this rule. + "excludeInfoTypes": { # List of excluded infoTypes. # Set of infoTypes for which findings would affect this rule. "infoTypes": [ # InfoType list in ExclusionRule rule drops a finding when it overlaps or contained within with a finding of an infoType from this list. For example, for `InspectionRuleSet.info_types` containing "PHONE_NUMBER"` and `exclusion_rule` containing `exclude_info_types.info_types` with "EMAIL_ADDRESS" the phone number findings are dropped if they overlap with EMAIL_ADDRESS finding. That leads to "555-222-2222@example.org" to generate only a single finding, namely email address. { # Type of information detected by the API. "name": "A String", # Name of the information type. Either a name of your choosing when creating a CustomInfoType, or one of the names listed at https://cloud.google.com/dlp/docs/infotypes-reference when specifying a built-in type. When sending Cloud DLP results to Data Catalog, infoType names should conform to the pattern `[A-Za-z0-9$-_]{1,64}`. @@ -1002,7 +1002,7 @@

Method Details

"version": "A String", # Optional version name for this InfoType. }, ], - "limits": { # Configuration to control the number of findings returned for inspection. This is not used for de-identification or data profiling. # Configuration to control the number of findings returned. This is not used for data profiling. + "limits": { # Configuration to control the number of findings returned for inspection. This is not used for de-identification or data profiling. When redacting sensitive data from images, finding limits don't apply. They can cause unexpected or inconsistent results, where only some data is redacted. Don't include finding limits in RedactImage requests. Otherwise, Cloud DLP returns an error. # Configuration to control the number of findings returned. This is not used for data profiling. When redacting sensitive data from images, finding limits don't apply. They can cause unexpected or inconsistent results, where only some data is redacted. Don't include finding limits in RedactImage requests. Otherwise, Cloud DLP returns an error. "maxFindingsPerInfoType": [ # Configuration of findings limit given for specified infoTypes. { # Max findings configuration per infoType, per content item or long running DlpJob. "infoType": { # Type of information detected by the API. # Type of information the findings limit applies to. Only one limit per info_type should be provided. If InfoTypeLimit does not have an info_type, the DLP API applies the limit against all info_types that are found but not specified in another InfoTypeLimit. @@ -1037,7 +1037,7 @@

Method Details

], }, }, - "excludeInfoTypes": { # List of exclude infoTypes. # Set of infoTypes for which findings would affect this rule. + "excludeInfoTypes": { # List of excluded infoTypes. # Set of infoTypes for which findings would affect this rule. "infoTypes": [ # InfoType list in ExclusionRule rule drops a finding when it overlaps or contained within with a finding of an infoType from this list. For example, for `InspectionRuleSet.info_types` containing "PHONE_NUMBER"` and `exclusion_rule` containing `exclude_info_types.info_types` with "EMAIL_ADDRESS" the phone number findings are dropped if they overlap with EMAIL_ADDRESS finding. That leads to "555-222-2222@example.org" to generate only a single finding, namely email address. { # Type of information detected by the API. "name": "A String", # Name of the information type. Either a name of your choosing when creating a CustomInfoType, or one of the names listed at https://cloud.google.com/dlp/docs/infotypes-reference when specifying a built-in type. When sending Cloud DLP results to Data Catalog, infoType names should conform to the pattern `[A-Za-z0-9$-_]{1,64}`. diff --git a/docs/dyn/dlp_v2.organizations.locations.deidentifyTemplates.html b/docs/dyn/dlp_v2.organizations.locations.deidentifyTemplates.html index 732a10bb573..904f0a85cc5 100644 --- a/docs/dyn/dlp_v2.organizations.locations.deidentifyTemplates.html +++ b/docs/dyn/dlp_v2.organizations.locations.deidentifyTemplates.html @@ -79,7 +79,7 @@

Instance Methods

Close httplib2 connections.

create(parent, body=None, x__xgafv=None)

-

Creates a DeidentifyTemplate for re-using frequently used configuration for de-identifying content, images, and storage. See https://cloud.google.com/dlp/docs/creating-templates-deid to learn more.

+

Creates a DeidentifyTemplate for reusing frequently used configuration for de-identifying content, images, and storage. See https://cloud.google.com/dlp/docs/creating-templates-deid to learn more.

delete(name, x__xgafv=None)

Deletes a DeidentifyTemplate. See https://cloud.google.com/dlp/docs/creating-templates-deid to learn more.

@@ -103,7 +103,7 @@

Method Details

create(parent, body=None, x__xgafv=None) -
Creates a DeidentifyTemplate for re-using frequently used configuration for de-identifying content, images, and storage. See https://cloud.google.com/dlp/docs/creating-templates-deid to learn more.
+  
Creates a DeidentifyTemplate for reusing frequently used configuration for de-identifying content, images, and storage. See https://cloud.google.com/dlp/docs/creating-templates-deid to learn more.
 
 Args:
   parent: string, Required. Parent resource name. The format of this value varies depending on the scope of the request (project or organization) and whether you have [specified a processing location](https://cloud.google.com/dlp/docs/specifying-location): + Projects scope, location specified: `projects/`PROJECT_ID`/locations/`LOCATION_ID + Projects scope, no location specified (defaults to global): `projects/`PROJECT_ID + Organizations scope, location specified: `organizations/`ORG_ID`/locations/`LOCATION_ID + Organizations scope, no location specified (defaults to global): `organizations/`ORG_ID The following example `parent` string specifies a parent project with the identifier `example-project`, and specifies the `europe-west3` location for processing data: parent=projects/example-project/locations/europe-west3 (required)
@@ -199,7 +199,7 @@ 

Method Details

"reverseOrder": True or False, # Mask characters in reverse order. For example, if `masking_character` is `0`, `number_to_mask` is `14`, and `reverse_order` is `false`, then the input string `1234-5678-9012-3456` is masked as `00000000000000-3456`. If `masking_character` is `*`, `number_to_mask` is `3`, and `reverse_order` is `true`, then the string `12345` is masked as `12***`. }, "cryptoDeterministicConfig": { # Pseudonymization method that generates deterministic encryption for the given input. Outputs a base64 encoded representation of the encrypted output. Uses AES-SIV based on the RFC https://tools.ietf.org/html/rfc5297. # Deterministic Crypto - "context": { # General identifier of a data field in a storage service. # A context may be used for higher security and maintaining referential integrity such that the same identifier in two different contexts will be given a distinct surrogate. The context is appended to plaintext value being encrypted. On decryption the provided context is validated against the value used during encryption. If a context was provided during encryption, same context must be provided during decryption as well. If the context is not set, plaintext would be used as is for encryption. If the context is set but: 1. there is no record present when transforming a given value or 2. the field is not present when transforming a given value, plaintext would be used as is for encryption. Note that case (1) is expected when an `InfoTypeTransformation` is applied to both structured and non-structured `ContentItem`s. + "context": { # General identifier of a data field in a storage service. # A context may be used for higher security and maintaining referential integrity such that the same identifier in two different contexts will be given a distinct surrogate. The context is appended to plaintext value being encrypted. On decryption the provided context is validated against the value used during encryption. If a context was provided during encryption, same context must be provided during decryption as well. If the context is not set, plaintext would be used as is for encryption. If the context is set but: 1. there is no record present when transforming a given value or 2. the field is not present when transforming a given value, plaintext would be used as is for encryption. Note that case (1) is expected when an `InfoTypeTransformation` is applied to both structured and unstructured `ContentItem`s. "name": "A String", # Name describing the field. }, "cryptoKey": { # This is a data encryption key (DEK) (as opposed to a key encryption key (KEK) stored by Cloud Key Management Service (Cloud KMS). When using Cloud KMS to wrap or unwrap a DEK, be sure to set an appropriate IAM policy on the KEK to ensure an attacker cannot unwrap the DEK. # The key used by the encryption function. For deterministic encryption using AES-SIV, the provided key is internally expanded to 64 bytes prior to use. @@ -235,7 +235,7 @@

Method Details

}, "cryptoReplaceFfxFpeConfig": { # Replaces an identifier with a surrogate using Format Preserving Encryption (FPE) with the FFX mode of operation; however when used in the `ReidentifyContent` API method, it serves the opposite function by reversing the surrogate back into the original identifier. The identifier must be encoded as ASCII. For a given crypto key and context, the same identifier will be replaced with the same surrogate. Identifiers must be at least two characters long. In the case that the identifier is the empty string, it will be skipped. See https://cloud.google.com/dlp/docs/pseudonymization to learn more. Note: We recommend using CryptoDeterministicConfig for all use cases which do not require preserving the input alphabet space and size, plus warrant referential integrity. # Ffx-Fpe "commonAlphabet": "A String", # Common alphabets. - "context": { # General identifier of a data field in a storage service. # The 'tweak', a context may be used for higher security since the same identifier in two different contexts won't be given the same surrogate. If the context is not set, a default tweak will be used. If the context is set but: 1. there is no record present when transforming a given value or 1. the field is not present when transforming a given value, a default tweak will be used. Note that case (1) is expected when an `InfoTypeTransformation` is applied to both structured and non-structured `ContentItem`s. Currently, the referenced field may be of value type integer or string. The tweak is constructed as a sequence of bytes in big endian byte order such that: - a 64 bit integer is encoded followed by a single byte of value 1 - a string is encoded in UTF-8 format followed by a single byte of value 2 + "context": { # General identifier of a data field in a storage service. # The 'tweak', a context may be used for higher security since the same identifier in two different contexts won't be given the same surrogate. If the context is not set, a default tweak will be used. If the context is set but: 1. there is no record present when transforming a given value or 1. the field is not present when transforming a given value, a default tweak will be used. Note that case (1) is expected when an `InfoTypeTransformation` is applied to both structured and unstructured `ContentItem`s. Currently, the referenced field may be of value type integer or string. The tweak is constructed as a sequence of bytes in big endian byte order such that: - a 64 bit integer is encoded followed by a single byte of value 1 - a string is encoded in UTF-8 format followed by a single byte of value 2 "name": "A String", # Name describing the field. }, "cryptoKey": { # This is a data encryption key (DEK) (as opposed to a key encryption key (KEK) stored by Cloud Key Management Service (Cloud KMS). When using Cloud KMS to wrap or unwrap a DEK, be sure to set an appropriate IAM policy on the KEK to ensure an attacker cannot unwrap the DEK. # Required. The key used by the encryption algorithm. @@ -360,7 +360,7 @@

Method Details

"fieldTransformations": [ # Transform the record by applying various field transformations. { # The transformation to apply to the field. "condition": { # A condition for determining whether a transformation should be applied to a field. # Only apply the transformation if the condition evaluates to true for the given `RecordCondition`. The conditions are allowed to reference fields that are not used in the actual transformation. Example Use Cases: - Apply a different bucket transformation to an age column if the zip code column for the same record is within a specific range. - Redact a field if the date of birth field is greater than 85. - "expressions": { # An expression, consisting or an operator and conditions. # An expression. + "expressions": { # An expression, consisting of an operator and conditions. # An expression. "conditions": { # A collection of conditions. # Conditions to apply to the expression. "conditions": [ # A collection of conditions. { # The field type of `value` and `field` do not need to match to be considered equal, but not all comparisons are possible. EQUAL_TO and NOT_EQUAL_TO attempt to compare even with incompatible types, but all other comparisons are invalid with incompatible types. A `value` of type: - `string` can be compared against all other types - `boolean` can only be compared against other booleans - `integer` can be compared against doubles or a string if the string value can be parsed as an integer. - `double` can be compared against integers or a string if the string can be parsed as a double. - `Timestamp` can be compared against strings in RFC 3339 date string format. - `TimeOfDay` can be compared against timestamps and strings in the format of 'HH:mm:ss'. If we fail to compare do to type mismatch, a warning will be given and the condition will evaluate to false. @@ -483,7 +483,7 @@

Method Details

"reverseOrder": True or False, # Mask characters in reverse order. For example, if `masking_character` is `0`, `number_to_mask` is `14`, and `reverse_order` is `false`, then the input string `1234-5678-9012-3456` is masked as `00000000000000-3456`. If `masking_character` is `*`, `number_to_mask` is `3`, and `reverse_order` is `true`, then the string `12345` is masked as `12***`. }, "cryptoDeterministicConfig": { # Pseudonymization method that generates deterministic encryption for the given input. Outputs a base64 encoded representation of the encrypted output. Uses AES-SIV based on the RFC https://tools.ietf.org/html/rfc5297. # Deterministic Crypto - "context": { # General identifier of a data field in a storage service. # A context may be used for higher security and maintaining referential integrity such that the same identifier in two different contexts will be given a distinct surrogate. The context is appended to plaintext value being encrypted. On decryption the provided context is validated against the value used during encryption. If a context was provided during encryption, same context must be provided during decryption as well. If the context is not set, plaintext would be used as is for encryption. If the context is set but: 1. there is no record present when transforming a given value or 2. the field is not present when transforming a given value, plaintext would be used as is for encryption. Note that case (1) is expected when an `InfoTypeTransformation` is applied to both structured and non-structured `ContentItem`s. + "context": { # General identifier of a data field in a storage service. # A context may be used for higher security and maintaining referential integrity such that the same identifier in two different contexts will be given a distinct surrogate. The context is appended to plaintext value being encrypted. On decryption the provided context is validated against the value used during encryption. If a context was provided during encryption, same context must be provided during decryption as well. If the context is not set, plaintext would be used as is for encryption. If the context is set but: 1. there is no record present when transforming a given value or 2. the field is not present when transforming a given value, plaintext would be used as is for encryption. Note that case (1) is expected when an `InfoTypeTransformation` is applied to both structured and unstructured `ContentItem`s. "name": "A String", # Name describing the field. }, "cryptoKey": { # This is a data encryption key (DEK) (as opposed to a key encryption key (KEK) stored by Cloud Key Management Service (Cloud KMS). When using Cloud KMS to wrap or unwrap a DEK, be sure to set an appropriate IAM policy on the KEK to ensure an attacker cannot unwrap the DEK. # The key used by the encryption function. For deterministic encryption using AES-SIV, the provided key is internally expanded to 64 bytes prior to use. @@ -519,7 +519,7 @@

Method Details

}, "cryptoReplaceFfxFpeConfig": { # Replaces an identifier with a surrogate using Format Preserving Encryption (FPE) with the FFX mode of operation; however when used in the `ReidentifyContent` API method, it serves the opposite function by reversing the surrogate back into the original identifier. The identifier must be encoded as ASCII. For a given crypto key and context, the same identifier will be replaced with the same surrogate. Identifiers must be at least two characters long. In the case that the identifier is the empty string, it will be skipped. See https://cloud.google.com/dlp/docs/pseudonymization to learn more. Note: We recommend using CryptoDeterministicConfig for all use cases which do not require preserving the input alphabet space and size, plus warrant referential integrity. # Ffx-Fpe "commonAlphabet": "A String", # Common alphabets. - "context": { # General identifier of a data field in a storage service. # The 'tweak', a context may be used for higher security since the same identifier in two different contexts won't be given the same surrogate. If the context is not set, a default tweak will be used. If the context is set but: 1. there is no record present when transforming a given value or 1. the field is not present when transforming a given value, a default tweak will be used. Note that case (1) is expected when an `InfoTypeTransformation` is applied to both structured and non-structured `ContentItem`s. Currently, the referenced field may be of value type integer or string. The tweak is constructed as a sequence of bytes in big endian byte order such that: - a 64 bit integer is encoded followed by a single byte of value 1 - a string is encoded in UTF-8 format followed by a single byte of value 2 + "context": { # General identifier of a data field in a storage service. # The 'tweak', a context may be used for higher security since the same identifier in two different contexts won't be given the same surrogate. If the context is not set, a default tweak will be used. If the context is set but: 1. there is no record present when transforming a given value or 1. the field is not present when transforming a given value, a default tweak will be used. Note that case (1) is expected when an `InfoTypeTransformation` is applied to both structured and unstructured `ContentItem`s. Currently, the referenced field may be of value type integer or string. The tweak is constructed as a sequence of bytes in big endian byte order such that: - a 64 bit integer is encoded followed by a single byte of value 1 - a string is encoded in UTF-8 format followed by a single byte of value 2 "name": "A String", # Name describing the field. }, "cryptoKey": { # This is a data encryption key (DEK) (as opposed to a key encryption key (KEK) stored by Cloud Key Management Service (Cloud KMS). When using Cloud KMS to wrap or unwrap a DEK, be sure to set an appropriate IAM policy on the KEK to ensure an attacker cannot unwrap the DEK. # Required. The key used by the encryption algorithm. @@ -716,7 +716,7 @@

Method Details

"reverseOrder": True or False, # Mask characters in reverse order. For example, if `masking_character` is `0`, `number_to_mask` is `14`, and `reverse_order` is `false`, then the input string `1234-5678-9012-3456` is masked as `00000000000000-3456`. If `masking_character` is `*`, `number_to_mask` is `3`, and `reverse_order` is `true`, then the string `12345` is masked as `12***`. }, "cryptoDeterministicConfig": { # Pseudonymization method that generates deterministic encryption for the given input. Outputs a base64 encoded representation of the encrypted output. Uses AES-SIV based on the RFC https://tools.ietf.org/html/rfc5297. # Deterministic Crypto - "context": { # General identifier of a data field in a storage service. # A context may be used for higher security and maintaining referential integrity such that the same identifier in two different contexts will be given a distinct surrogate. The context is appended to plaintext value being encrypted. On decryption the provided context is validated against the value used during encryption. If a context was provided during encryption, same context must be provided during decryption as well. If the context is not set, plaintext would be used as is for encryption. If the context is set but: 1. there is no record present when transforming a given value or 2. the field is not present when transforming a given value, plaintext would be used as is for encryption. Note that case (1) is expected when an `InfoTypeTransformation` is applied to both structured and non-structured `ContentItem`s. + "context": { # General identifier of a data field in a storage service. # A context may be used for higher security and maintaining referential integrity such that the same identifier in two different contexts will be given a distinct surrogate. The context is appended to plaintext value being encrypted. On decryption the provided context is validated against the value used during encryption. If a context was provided during encryption, same context must be provided during decryption as well. If the context is not set, plaintext would be used as is for encryption. If the context is set but: 1. there is no record present when transforming a given value or 2. the field is not present when transforming a given value, plaintext would be used as is for encryption. Note that case (1) is expected when an `InfoTypeTransformation` is applied to both structured and unstructured `ContentItem`s. "name": "A String", # Name describing the field. }, "cryptoKey": { # This is a data encryption key (DEK) (as opposed to a key encryption key (KEK) stored by Cloud Key Management Service (Cloud KMS). When using Cloud KMS to wrap or unwrap a DEK, be sure to set an appropriate IAM policy on the KEK to ensure an attacker cannot unwrap the DEK. # The key used by the encryption function. For deterministic encryption using AES-SIV, the provided key is internally expanded to 64 bytes prior to use. @@ -752,7 +752,7 @@

Method Details

}, "cryptoReplaceFfxFpeConfig": { # Replaces an identifier with a surrogate using Format Preserving Encryption (FPE) with the FFX mode of operation; however when used in the `ReidentifyContent` API method, it serves the opposite function by reversing the surrogate back into the original identifier. The identifier must be encoded as ASCII. For a given crypto key and context, the same identifier will be replaced with the same surrogate. Identifiers must be at least two characters long. In the case that the identifier is the empty string, it will be skipped. See https://cloud.google.com/dlp/docs/pseudonymization to learn more. Note: We recommend using CryptoDeterministicConfig for all use cases which do not require preserving the input alphabet space and size, plus warrant referential integrity. # Ffx-Fpe "commonAlphabet": "A String", # Common alphabets. - "context": { # General identifier of a data field in a storage service. # The 'tweak', a context may be used for higher security since the same identifier in two different contexts won't be given the same surrogate. If the context is not set, a default tweak will be used. If the context is set but: 1. there is no record present when transforming a given value or 1. the field is not present when transforming a given value, a default tweak will be used. Note that case (1) is expected when an `InfoTypeTransformation` is applied to both structured and non-structured `ContentItem`s. Currently, the referenced field may be of value type integer or string. The tweak is constructed as a sequence of bytes in big endian byte order such that: - a 64 bit integer is encoded followed by a single byte of value 1 - a string is encoded in UTF-8 format followed by a single byte of value 2 + "context": { # General identifier of a data field in a storage service. # The 'tweak', a context may be used for higher security since the same identifier in two different contexts won't be given the same surrogate. If the context is not set, a default tweak will be used. If the context is set but: 1. there is no record present when transforming a given value or 1. the field is not present when transforming a given value, a default tweak will be used. Note that case (1) is expected when an `InfoTypeTransformation` is applied to both structured and unstructured `ContentItem`s. Currently, the referenced field may be of value type integer or string. The tweak is constructed as a sequence of bytes in big endian byte order such that: - a 64 bit integer is encoded followed by a single byte of value 1 - a string is encoded in UTF-8 format followed by a single byte of value 2 "name": "A String", # Name describing the field. }, "cryptoKey": { # This is a data encryption key (DEK) (as opposed to a key encryption key (KEK) stored by Cloud Key Management Service (Cloud KMS). When using Cloud KMS to wrap or unwrap a DEK, be sure to set an appropriate IAM policy on the KEK to ensure an attacker cannot unwrap the DEK. # Required. The key used by the encryption algorithm. @@ -875,7 +875,7 @@

Method Details

"recordSuppressions": [ # Configuration defining which records get suppressed entirely. Records that match any suppression rule are omitted from the output. { # Configuration to suppress records whose suppression conditions evaluate to true. "condition": { # A condition for determining whether a transformation should be applied to a field. # A condition that when it evaluates to true will result in the record being evaluated to be suppressed from the transformed content. - "expressions": { # An expression, consisting or an operator and conditions. # An expression. + "expressions": { # An expression, consisting of an operator and conditions. # An expression. "conditions": { # A collection of conditions. # Conditions to apply to the expression. "conditions": [ # A collection of conditions. { # The field type of `value` and `field` do not need to match to be considered equal, but not all comparisons are possible. EQUAL_TO and NOT_EQUAL_TO attempt to compare even with incompatible types, but all other comparisons are invalid with incompatible types. A `value` of type: - `string` can be compared against all other types - `boolean` can only be compared against other booleans - `integer` can be compared against doubles or a string if the string value can be parsed as an integer. - `double` can be compared against integers or a string if the string can be parsed as a double. - `Timestamp` can be compared against strings in RFC 3339 date string format. - `TimeOfDay` can be compared against timestamps and strings in the format of 'HH:mm:ss'. If we fail to compare do to type mismatch, a warning will be given and the condition will evaluate to false. @@ -1023,7 +1023,7 @@

Method Details

"reverseOrder": True or False, # Mask characters in reverse order. For example, if `masking_character` is `0`, `number_to_mask` is `14`, and `reverse_order` is `false`, then the input string `1234-5678-9012-3456` is masked as `00000000000000-3456`. If `masking_character` is `*`, `number_to_mask` is `3`, and `reverse_order` is `true`, then the string `12345` is masked as `12***`. }, "cryptoDeterministicConfig": { # Pseudonymization method that generates deterministic encryption for the given input. Outputs a base64 encoded representation of the encrypted output. Uses AES-SIV based on the RFC https://tools.ietf.org/html/rfc5297. # Deterministic Crypto - "context": { # General identifier of a data field in a storage service. # A context may be used for higher security and maintaining referential integrity such that the same identifier in two different contexts will be given a distinct surrogate. The context is appended to plaintext value being encrypted. On decryption the provided context is validated against the value used during encryption. If a context was provided during encryption, same context must be provided during decryption as well. If the context is not set, plaintext would be used as is for encryption. If the context is set but: 1. there is no record present when transforming a given value or 2. the field is not present when transforming a given value, plaintext would be used as is for encryption. Note that case (1) is expected when an `InfoTypeTransformation` is applied to both structured and non-structured `ContentItem`s. + "context": { # General identifier of a data field in a storage service. # A context may be used for higher security and maintaining referential integrity such that the same identifier in two different contexts will be given a distinct surrogate. The context is appended to plaintext value being encrypted. On decryption the provided context is validated against the value used during encryption. If a context was provided during encryption, same context must be provided during decryption as well. If the context is not set, plaintext would be used as is for encryption. If the context is set but: 1. there is no record present when transforming a given value or 2. the field is not present when transforming a given value, plaintext would be used as is for encryption. Note that case (1) is expected when an `InfoTypeTransformation` is applied to both structured and unstructured `ContentItem`s. "name": "A String", # Name describing the field. }, "cryptoKey": { # This is a data encryption key (DEK) (as opposed to a key encryption key (KEK) stored by Cloud Key Management Service (Cloud KMS). When using Cloud KMS to wrap or unwrap a DEK, be sure to set an appropriate IAM policy on the KEK to ensure an attacker cannot unwrap the DEK. # The key used by the encryption function. For deterministic encryption using AES-SIV, the provided key is internally expanded to 64 bytes prior to use. @@ -1059,7 +1059,7 @@

Method Details

}, "cryptoReplaceFfxFpeConfig": { # Replaces an identifier with a surrogate using Format Preserving Encryption (FPE) with the FFX mode of operation; however when used in the `ReidentifyContent` API method, it serves the opposite function by reversing the surrogate back into the original identifier. The identifier must be encoded as ASCII. For a given crypto key and context, the same identifier will be replaced with the same surrogate. Identifiers must be at least two characters long. In the case that the identifier is the empty string, it will be skipped. See https://cloud.google.com/dlp/docs/pseudonymization to learn more. Note: We recommend using CryptoDeterministicConfig for all use cases which do not require preserving the input alphabet space and size, plus warrant referential integrity. # Ffx-Fpe "commonAlphabet": "A String", # Common alphabets. - "context": { # General identifier of a data field in a storage service. # The 'tweak', a context may be used for higher security since the same identifier in two different contexts won't be given the same surrogate. If the context is not set, a default tweak will be used. If the context is set but: 1. there is no record present when transforming a given value or 1. the field is not present when transforming a given value, a default tweak will be used. Note that case (1) is expected when an `InfoTypeTransformation` is applied to both structured and non-structured `ContentItem`s. Currently, the referenced field may be of value type integer or string. The tweak is constructed as a sequence of bytes in big endian byte order such that: - a 64 bit integer is encoded followed by a single byte of value 1 - a string is encoded in UTF-8 format followed by a single byte of value 2 + "context": { # General identifier of a data field in a storage service. # The 'tweak', a context may be used for higher security since the same identifier in two different contexts won't be given the same surrogate. If the context is not set, a default tweak will be used. If the context is set but: 1. there is no record present when transforming a given value or 1. the field is not present when transforming a given value, a default tweak will be used. Note that case (1) is expected when an `InfoTypeTransformation` is applied to both structured and unstructured `ContentItem`s. Currently, the referenced field may be of value type integer or string. The tweak is constructed as a sequence of bytes in big endian byte order such that: - a 64 bit integer is encoded followed by a single byte of value 1 - a string is encoded in UTF-8 format followed by a single byte of value 2 "name": "A String", # Name describing the field. }, "cryptoKey": { # This is a data encryption key (DEK) (as opposed to a key encryption key (KEK) stored by Cloud Key Management Service (Cloud KMS). When using Cloud KMS to wrap or unwrap a DEK, be sure to set an appropriate IAM policy on the KEK to ensure an attacker cannot unwrap the DEK. # Required. The key used by the encryption algorithm. @@ -1184,7 +1184,7 @@

Method Details

"fieldTransformations": [ # Transform the record by applying various field transformations. { # The transformation to apply to the field. "condition": { # A condition for determining whether a transformation should be applied to a field. # Only apply the transformation if the condition evaluates to true for the given `RecordCondition`. The conditions are allowed to reference fields that are not used in the actual transformation. Example Use Cases: - Apply a different bucket transformation to an age column if the zip code column for the same record is within a specific range. - Redact a field if the date of birth field is greater than 85. - "expressions": { # An expression, consisting or an operator and conditions. # An expression. + "expressions": { # An expression, consisting of an operator and conditions. # An expression. "conditions": { # A collection of conditions. # Conditions to apply to the expression. "conditions": [ # A collection of conditions. { # The field type of `value` and `field` do not need to match to be considered equal, but not all comparisons are possible. EQUAL_TO and NOT_EQUAL_TO attempt to compare even with incompatible types, but all other comparisons are invalid with incompatible types. A `value` of type: - `string` can be compared against all other types - `boolean` can only be compared against other booleans - `integer` can be compared against doubles or a string if the string value can be parsed as an integer. - `double` can be compared against integers or a string if the string can be parsed as a double. - `Timestamp` can be compared against strings in RFC 3339 date string format. - `TimeOfDay` can be compared against timestamps and strings in the format of 'HH:mm:ss'. If we fail to compare do to type mismatch, a warning will be given and the condition will evaluate to false. @@ -1307,7 +1307,7 @@

Method Details

"reverseOrder": True or False, # Mask characters in reverse order. For example, if `masking_character` is `0`, `number_to_mask` is `14`, and `reverse_order` is `false`, then the input string `1234-5678-9012-3456` is masked as `00000000000000-3456`. If `masking_character` is `*`, `number_to_mask` is `3`, and `reverse_order` is `true`, then the string `12345` is masked as `12***`. }, "cryptoDeterministicConfig": { # Pseudonymization method that generates deterministic encryption for the given input. Outputs a base64 encoded representation of the encrypted output. Uses AES-SIV based on the RFC https://tools.ietf.org/html/rfc5297. # Deterministic Crypto - "context": { # General identifier of a data field in a storage service. # A context may be used for higher security and maintaining referential integrity such that the same identifier in two different contexts will be given a distinct surrogate. The context is appended to plaintext value being encrypted. On decryption the provided context is validated against the value used during encryption. If a context was provided during encryption, same context must be provided during decryption as well. If the context is not set, plaintext would be used as is for encryption. If the context is set but: 1. there is no record present when transforming a given value or 2. the field is not present when transforming a given value, plaintext would be used as is for encryption. Note that case (1) is expected when an `InfoTypeTransformation` is applied to both structured and non-structured `ContentItem`s. + "context": { # General identifier of a data field in a storage service. # A context may be used for higher security and maintaining referential integrity such that the same identifier in two different contexts will be given a distinct surrogate. The context is appended to plaintext value being encrypted. On decryption the provided context is validated against the value used during encryption. If a context was provided during encryption, same context must be provided during decryption as well. If the context is not set, plaintext would be used as is for encryption. If the context is set but: 1. there is no record present when transforming a given value or 2. the field is not present when transforming a given value, plaintext would be used as is for encryption. Note that case (1) is expected when an `InfoTypeTransformation` is applied to both structured and unstructured `ContentItem`s. "name": "A String", # Name describing the field. }, "cryptoKey": { # This is a data encryption key (DEK) (as opposed to a key encryption key (KEK) stored by Cloud Key Management Service (Cloud KMS). When using Cloud KMS to wrap or unwrap a DEK, be sure to set an appropriate IAM policy on the KEK to ensure an attacker cannot unwrap the DEK. # The key used by the encryption function. For deterministic encryption using AES-SIV, the provided key is internally expanded to 64 bytes prior to use. @@ -1343,7 +1343,7 @@

Method Details

}, "cryptoReplaceFfxFpeConfig": { # Replaces an identifier with a surrogate using Format Preserving Encryption (FPE) with the FFX mode of operation; however when used in the `ReidentifyContent` API method, it serves the opposite function by reversing the surrogate back into the original identifier. The identifier must be encoded as ASCII. For a given crypto key and context, the same identifier will be replaced with the same surrogate. Identifiers must be at least two characters long. In the case that the identifier is the empty string, it will be skipped. See https://cloud.google.com/dlp/docs/pseudonymization to learn more. Note: We recommend using CryptoDeterministicConfig for all use cases which do not require preserving the input alphabet space and size, plus warrant referential integrity. # Ffx-Fpe "commonAlphabet": "A String", # Common alphabets. - "context": { # General identifier of a data field in a storage service. # The 'tweak', a context may be used for higher security since the same identifier in two different contexts won't be given the same surrogate. If the context is not set, a default tweak will be used. If the context is set but: 1. there is no record present when transforming a given value or 1. the field is not present when transforming a given value, a default tweak will be used. Note that case (1) is expected when an `InfoTypeTransformation` is applied to both structured and non-structured `ContentItem`s. Currently, the referenced field may be of value type integer or string. The tweak is constructed as a sequence of bytes in big endian byte order such that: - a 64 bit integer is encoded followed by a single byte of value 1 - a string is encoded in UTF-8 format followed by a single byte of value 2 + "context": { # General identifier of a data field in a storage service. # The 'tweak', a context may be used for higher security since the same identifier in two different contexts won't be given the same surrogate. If the context is not set, a default tweak will be used. If the context is set but: 1. there is no record present when transforming a given value or 1. the field is not present when transforming a given value, a default tweak will be used. Note that case (1) is expected when an `InfoTypeTransformation` is applied to both structured and unstructured `ContentItem`s. Currently, the referenced field may be of value type integer or string. The tweak is constructed as a sequence of bytes in big endian byte order such that: - a 64 bit integer is encoded followed by a single byte of value 1 - a string is encoded in UTF-8 format followed by a single byte of value 2 "name": "A String", # Name describing the field. }, "cryptoKey": { # This is a data encryption key (DEK) (as opposed to a key encryption key (KEK) stored by Cloud Key Management Service (Cloud KMS). When using Cloud KMS to wrap or unwrap a DEK, be sure to set an appropriate IAM policy on the KEK to ensure an attacker cannot unwrap the DEK. # Required. The key used by the encryption algorithm. @@ -1540,7 +1540,7 @@

Method Details

"reverseOrder": True or False, # Mask characters in reverse order. For example, if `masking_character` is `0`, `number_to_mask` is `14`, and `reverse_order` is `false`, then the input string `1234-5678-9012-3456` is masked as `00000000000000-3456`. If `masking_character` is `*`, `number_to_mask` is `3`, and `reverse_order` is `true`, then the string `12345` is masked as `12***`. }, "cryptoDeterministicConfig": { # Pseudonymization method that generates deterministic encryption for the given input. Outputs a base64 encoded representation of the encrypted output. Uses AES-SIV based on the RFC https://tools.ietf.org/html/rfc5297. # Deterministic Crypto - "context": { # General identifier of a data field in a storage service. # A context may be used for higher security and maintaining referential integrity such that the same identifier in two different contexts will be given a distinct surrogate. The context is appended to plaintext value being encrypted. On decryption the provided context is validated against the value used during encryption. If a context was provided during encryption, same context must be provided during decryption as well. If the context is not set, plaintext would be used as is for encryption. If the context is set but: 1. there is no record present when transforming a given value or 2. the field is not present when transforming a given value, plaintext would be used as is for encryption. Note that case (1) is expected when an `InfoTypeTransformation` is applied to both structured and non-structured `ContentItem`s. + "context": { # General identifier of a data field in a storage service. # A context may be used for higher security and maintaining referential integrity such that the same identifier in two different contexts will be given a distinct surrogate. The context is appended to plaintext value being encrypted. On decryption the provided context is validated against the value used during encryption. If a context was provided during encryption, same context must be provided during decryption as well. If the context is not set, plaintext would be used as is for encryption. If the context is set but: 1. there is no record present when transforming a given value or 2. the field is not present when transforming a given value, plaintext would be used as is for encryption. Note that case (1) is expected when an `InfoTypeTransformation` is applied to both structured and unstructured `ContentItem`s. "name": "A String", # Name describing the field. }, "cryptoKey": { # This is a data encryption key (DEK) (as opposed to a key encryption key (KEK) stored by Cloud Key Management Service (Cloud KMS). When using Cloud KMS to wrap or unwrap a DEK, be sure to set an appropriate IAM policy on the KEK to ensure an attacker cannot unwrap the DEK. # The key used by the encryption function. For deterministic encryption using AES-SIV, the provided key is internally expanded to 64 bytes prior to use. @@ -1576,7 +1576,7 @@

Method Details

}, "cryptoReplaceFfxFpeConfig": { # Replaces an identifier with a surrogate using Format Preserving Encryption (FPE) with the FFX mode of operation; however when used in the `ReidentifyContent` API method, it serves the opposite function by reversing the surrogate back into the original identifier. The identifier must be encoded as ASCII. For a given crypto key and context, the same identifier will be replaced with the same surrogate. Identifiers must be at least two characters long. In the case that the identifier is the empty string, it will be skipped. See https://cloud.google.com/dlp/docs/pseudonymization to learn more. Note: We recommend using CryptoDeterministicConfig for all use cases which do not require preserving the input alphabet space and size, plus warrant referential integrity. # Ffx-Fpe "commonAlphabet": "A String", # Common alphabets. - "context": { # General identifier of a data field in a storage service. # The 'tweak', a context may be used for higher security since the same identifier in two different contexts won't be given the same surrogate. If the context is not set, a default tweak will be used. If the context is set but: 1. there is no record present when transforming a given value or 1. the field is not present when transforming a given value, a default tweak will be used. Note that case (1) is expected when an `InfoTypeTransformation` is applied to both structured and non-structured `ContentItem`s. Currently, the referenced field may be of value type integer or string. The tweak is constructed as a sequence of bytes in big endian byte order such that: - a 64 bit integer is encoded followed by a single byte of value 1 - a string is encoded in UTF-8 format followed by a single byte of value 2 + "context": { # General identifier of a data field in a storage service. # The 'tweak', a context may be used for higher security since the same identifier in two different contexts won't be given the same surrogate. If the context is not set, a default tweak will be used. If the context is set but: 1. there is no record present when transforming a given value or 1. the field is not present when transforming a given value, a default tweak will be used. Note that case (1) is expected when an `InfoTypeTransformation` is applied to both structured and unstructured `ContentItem`s. Currently, the referenced field may be of value type integer or string. The tweak is constructed as a sequence of bytes in big endian byte order such that: - a 64 bit integer is encoded followed by a single byte of value 1 - a string is encoded in UTF-8 format followed by a single byte of value 2 "name": "A String", # Name describing the field. }, "cryptoKey": { # This is a data encryption key (DEK) (as opposed to a key encryption key (KEK) stored by Cloud Key Management Service (Cloud KMS). When using Cloud KMS to wrap or unwrap a DEK, be sure to set an appropriate IAM policy on the KEK to ensure an attacker cannot unwrap the DEK. # Required. The key used by the encryption algorithm. @@ -1699,7 +1699,7 @@

Method Details

"recordSuppressions": [ # Configuration defining which records get suppressed entirely. Records that match any suppression rule are omitted from the output. { # Configuration to suppress records whose suppression conditions evaluate to true. "condition": { # A condition for determining whether a transformation should be applied to a field. # A condition that when it evaluates to true will result in the record being evaluated to be suppressed from the transformed content. - "expressions": { # An expression, consisting or an operator and conditions. # An expression. + "expressions": { # An expression, consisting of an operator and conditions. # An expression. "conditions": { # A collection of conditions. # Conditions to apply to the expression. "conditions": [ # A collection of conditions. { # The field type of `value` and `field` do not need to match to be considered equal, but not all comparisons are possible. EQUAL_TO and NOT_EQUAL_TO attempt to compare even with incompatible types, but all other comparisons are invalid with incompatible types. A `value` of type: - `string` can be compared against all other types - `boolean` can only be compared against other booleans - `integer` can be compared against doubles or a string if the string value can be parsed as an integer. - `double` can be compared against integers or a string if the string can be parsed as a double. - `Timestamp` can be compared against strings in RFC 3339 date string format. - `TimeOfDay` can be compared against timestamps and strings in the format of 'HH:mm:ss'. If we fail to compare do to type mismatch, a warning will be given and the condition will evaluate to false. @@ -1869,7 +1869,7 @@

Method Details

"reverseOrder": True or False, # Mask characters in reverse order. For example, if `masking_character` is `0`, `number_to_mask` is `14`, and `reverse_order` is `false`, then the input string `1234-5678-9012-3456` is masked as `00000000000000-3456`. If `masking_character` is `*`, `number_to_mask` is `3`, and `reverse_order` is `true`, then the string `12345` is masked as `12***`. }, "cryptoDeterministicConfig": { # Pseudonymization method that generates deterministic encryption for the given input. Outputs a base64 encoded representation of the encrypted output. Uses AES-SIV based on the RFC https://tools.ietf.org/html/rfc5297. # Deterministic Crypto - "context": { # General identifier of a data field in a storage service. # A context may be used for higher security and maintaining referential integrity such that the same identifier in two different contexts will be given a distinct surrogate. The context is appended to plaintext value being encrypted. On decryption the provided context is validated against the value used during encryption. If a context was provided during encryption, same context must be provided during decryption as well. If the context is not set, plaintext would be used as is for encryption. If the context is set but: 1. there is no record present when transforming a given value or 2. the field is not present when transforming a given value, plaintext would be used as is for encryption. Note that case (1) is expected when an `InfoTypeTransformation` is applied to both structured and non-structured `ContentItem`s. + "context": { # General identifier of a data field in a storage service. # A context may be used for higher security and maintaining referential integrity such that the same identifier in two different contexts will be given a distinct surrogate. The context is appended to plaintext value being encrypted. On decryption the provided context is validated against the value used during encryption. If a context was provided during encryption, same context must be provided during decryption as well. If the context is not set, plaintext would be used as is for encryption. If the context is set but: 1. there is no record present when transforming a given value or 2. the field is not present when transforming a given value, plaintext would be used as is for encryption. Note that case (1) is expected when an `InfoTypeTransformation` is applied to both structured and unstructured `ContentItem`s. "name": "A String", # Name describing the field. }, "cryptoKey": { # This is a data encryption key (DEK) (as opposed to a key encryption key (KEK) stored by Cloud Key Management Service (Cloud KMS). When using Cloud KMS to wrap or unwrap a DEK, be sure to set an appropriate IAM policy on the KEK to ensure an attacker cannot unwrap the DEK. # The key used by the encryption function. For deterministic encryption using AES-SIV, the provided key is internally expanded to 64 bytes prior to use. @@ -1905,7 +1905,7 @@

Method Details

}, "cryptoReplaceFfxFpeConfig": { # Replaces an identifier with a surrogate using Format Preserving Encryption (FPE) with the FFX mode of operation; however when used in the `ReidentifyContent` API method, it serves the opposite function by reversing the surrogate back into the original identifier. The identifier must be encoded as ASCII. For a given crypto key and context, the same identifier will be replaced with the same surrogate. Identifiers must be at least two characters long. In the case that the identifier is the empty string, it will be skipped. See https://cloud.google.com/dlp/docs/pseudonymization to learn more. Note: We recommend using CryptoDeterministicConfig for all use cases which do not require preserving the input alphabet space and size, plus warrant referential integrity. # Ffx-Fpe "commonAlphabet": "A String", # Common alphabets. - "context": { # General identifier of a data field in a storage service. # The 'tweak', a context may be used for higher security since the same identifier in two different contexts won't be given the same surrogate. If the context is not set, a default tweak will be used. If the context is set but: 1. there is no record present when transforming a given value or 1. the field is not present when transforming a given value, a default tweak will be used. Note that case (1) is expected when an `InfoTypeTransformation` is applied to both structured and non-structured `ContentItem`s. Currently, the referenced field may be of value type integer or string. The tweak is constructed as a sequence of bytes in big endian byte order such that: - a 64 bit integer is encoded followed by a single byte of value 1 - a string is encoded in UTF-8 format followed by a single byte of value 2 + "context": { # General identifier of a data field in a storage service. # The 'tweak', a context may be used for higher security since the same identifier in two different contexts won't be given the same surrogate. If the context is not set, a default tweak will be used. If the context is set but: 1. there is no record present when transforming a given value or 1. the field is not present when transforming a given value, a default tweak will be used. Note that case (1) is expected when an `InfoTypeTransformation` is applied to both structured and unstructured `ContentItem`s. Currently, the referenced field may be of value type integer or string. The tweak is constructed as a sequence of bytes in big endian byte order such that: - a 64 bit integer is encoded followed by a single byte of value 1 - a string is encoded in UTF-8 format followed by a single byte of value 2 "name": "A String", # Name describing the field. }, "cryptoKey": { # This is a data encryption key (DEK) (as opposed to a key encryption key (KEK) stored by Cloud Key Management Service (Cloud KMS). When using Cloud KMS to wrap or unwrap a DEK, be sure to set an appropriate IAM policy on the KEK to ensure an attacker cannot unwrap the DEK. # Required. The key used by the encryption algorithm. @@ -2030,7 +2030,7 @@

Method Details

"fieldTransformations": [ # Transform the record by applying various field transformations. { # The transformation to apply to the field. "condition": { # A condition for determining whether a transformation should be applied to a field. # Only apply the transformation if the condition evaluates to true for the given `RecordCondition`. The conditions are allowed to reference fields that are not used in the actual transformation. Example Use Cases: - Apply a different bucket transformation to an age column if the zip code column for the same record is within a specific range. - Redact a field if the date of birth field is greater than 85. - "expressions": { # An expression, consisting or an operator and conditions. # An expression. + "expressions": { # An expression, consisting of an operator and conditions. # An expression. "conditions": { # A collection of conditions. # Conditions to apply to the expression. "conditions": [ # A collection of conditions. { # The field type of `value` and `field` do not need to match to be considered equal, but not all comparisons are possible. EQUAL_TO and NOT_EQUAL_TO attempt to compare even with incompatible types, but all other comparisons are invalid with incompatible types. A `value` of type: - `string` can be compared against all other types - `boolean` can only be compared against other booleans - `integer` can be compared against doubles or a string if the string value can be parsed as an integer. - `double` can be compared against integers or a string if the string can be parsed as a double. - `Timestamp` can be compared against strings in RFC 3339 date string format. - `TimeOfDay` can be compared against timestamps and strings in the format of 'HH:mm:ss'. If we fail to compare do to type mismatch, a warning will be given and the condition will evaluate to false. @@ -2153,7 +2153,7 @@

Method Details

"reverseOrder": True or False, # Mask characters in reverse order. For example, if `masking_character` is `0`, `number_to_mask` is `14`, and `reverse_order` is `false`, then the input string `1234-5678-9012-3456` is masked as `00000000000000-3456`. If `masking_character` is `*`, `number_to_mask` is `3`, and `reverse_order` is `true`, then the string `12345` is masked as `12***`. }, "cryptoDeterministicConfig": { # Pseudonymization method that generates deterministic encryption for the given input. Outputs a base64 encoded representation of the encrypted output. Uses AES-SIV based on the RFC https://tools.ietf.org/html/rfc5297. # Deterministic Crypto - "context": { # General identifier of a data field in a storage service. # A context may be used for higher security and maintaining referential integrity such that the same identifier in two different contexts will be given a distinct surrogate. The context is appended to plaintext value being encrypted. On decryption the provided context is validated against the value used during encryption. If a context was provided during encryption, same context must be provided during decryption as well. If the context is not set, plaintext would be used as is for encryption. If the context is set but: 1. there is no record present when transforming a given value or 2. the field is not present when transforming a given value, plaintext would be used as is for encryption. Note that case (1) is expected when an `InfoTypeTransformation` is applied to both structured and non-structured `ContentItem`s. + "context": { # General identifier of a data field in a storage service. # A context may be used for higher security and maintaining referential integrity such that the same identifier in two different contexts will be given a distinct surrogate. The context is appended to plaintext value being encrypted. On decryption the provided context is validated against the value used during encryption. If a context was provided during encryption, same context must be provided during decryption as well. If the context is not set, plaintext would be used as is for encryption. If the context is set but: 1. there is no record present when transforming a given value or 2. the field is not present when transforming a given value, plaintext would be used as is for encryption. Note that case (1) is expected when an `InfoTypeTransformation` is applied to both structured and unstructured `ContentItem`s. "name": "A String", # Name describing the field. }, "cryptoKey": { # This is a data encryption key (DEK) (as opposed to a key encryption key (KEK) stored by Cloud Key Management Service (Cloud KMS). When using Cloud KMS to wrap or unwrap a DEK, be sure to set an appropriate IAM policy on the KEK to ensure an attacker cannot unwrap the DEK. # The key used by the encryption function. For deterministic encryption using AES-SIV, the provided key is internally expanded to 64 bytes prior to use. @@ -2189,7 +2189,7 @@

Method Details

}, "cryptoReplaceFfxFpeConfig": { # Replaces an identifier with a surrogate using Format Preserving Encryption (FPE) with the FFX mode of operation; however when used in the `ReidentifyContent` API method, it serves the opposite function by reversing the surrogate back into the original identifier. The identifier must be encoded as ASCII. For a given crypto key and context, the same identifier will be replaced with the same surrogate. Identifiers must be at least two characters long. In the case that the identifier is the empty string, it will be skipped. See https://cloud.google.com/dlp/docs/pseudonymization to learn more. Note: We recommend using CryptoDeterministicConfig for all use cases which do not require preserving the input alphabet space and size, plus warrant referential integrity. # Ffx-Fpe "commonAlphabet": "A String", # Common alphabets. - "context": { # General identifier of a data field in a storage service. # The 'tweak', a context may be used for higher security since the same identifier in two different contexts won't be given the same surrogate. If the context is not set, a default tweak will be used. If the context is set but: 1. there is no record present when transforming a given value or 1. the field is not present when transforming a given value, a default tweak will be used. Note that case (1) is expected when an `InfoTypeTransformation` is applied to both structured and non-structured `ContentItem`s. Currently, the referenced field may be of value type integer or string. The tweak is constructed as a sequence of bytes in big endian byte order such that: - a 64 bit integer is encoded followed by a single byte of value 1 - a string is encoded in UTF-8 format followed by a single byte of value 2 + "context": { # General identifier of a data field in a storage service. # The 'tweak', a context may be used for higher security since the same identifier in two different contexts won't be given the same surrogate. If the context is not set, a default tweak will be used. If the context is set but: 1. there is no record present when transforming a given value or 1. the field is not present when transforming a given value, a default tweak will be used. Note that case (1) is expected when an `InfoTypeTransformation` is applied to both structured and unstructured `ContentItem`s. Currently, the referenced field may be of value type integer or string. The tweak is constructed as a sequence of bytes in big endian byte order such that: - a 64 bit integer is encoded followed by a single byte of value 1 - a string is encoded in UTF-8 format followed by a single byte of value 2 "name": "A String", # Name describing the field. }, "cryptoKey": { # This is a data encryption key (DEK) (as opposed to a key encryption key (KEK) stored by Cloud Key Management Service (Cloud KMS). When using Cloud KMS to wrap or unwrap a DEK, be sure to set an appropriate IAM policy on the KEK to ensure an attacker cannot unwrap the DEK. # Required. The key used by the encryption algorithm. @@ -2386,7 +2386,7 @@

Method Details

"reverseOrder": True or False, # Mask characters in reverse order. For example, if `masking_character` is `0`, `number_to_mask` is `14`, and `reverse_order` is `false`, then the input string `1234-5678-9012-3456` is masked as `00000000000000-3456`. If `masking_character` is `*`, `number_to_mask` is `3`, and `reverse_order` is `true`, then the string `12345` is masked as `12***`. }, "cryptoDeterministicConfig": { # Pseudonymization method that generates deterministic encryption for the given input. Outputs a base64 encoded representation of the encrypted output. Uses AES-SIV based on the RFC https://tools.ietf.org/html/rfc5297. # Deterministic Crypto - "context": { # General identifier of a data field in a storage service. # A context may be used for higher security and maintaining referential integrity such that the same identifier in two different contexts will be given a distinct surrogate. The context is appended to plaintext value being encrypted. On decryption the provided context is validated against the value used during encryption. If a context was provided during encryption, same context must be provided during decryption as well. If the context is not set, plaintext would be used as is for encryption. If the context is set but: 1. there is no record present when transforming a given value or 2. the field is not present when transforming a given value, plaintext would be used as is for encryption. Note that case (1) is expected when an `InfoTypeTransformation` is applied to both structured and non-structured `ContentItem`s. + "context": { # General identifier of a data field in a storage service. # A context may be used for higher security and maintaining referential integrity such that the same identifier in two different contexts will be given a distinct surrogate. The context is appended to plaintext value being encrypted. On decryption the provided context is validated against the value used during encryption. If a context was provided during encryption, same context must be provided during decryption as well. If the context is not set, plaintext would be used as is for encryption. If the context is set but: 1. there is no record present when transforming a given value or 2. the field is not present when transforming a given value, plaintext would be used as is for encryption. Note that case (1) is expected when an `InfoTypeTransformation` is applied to both structured and unstructured `ContentItem`s. "name": "A String", # Name describing the field. }, "cryptoKey": { # This is a data encryption key (DEK) (as opposed to a key encryption key (KEK) stored by Cloud Key Management Service (Cloud KMS). When using Cloud KMS to wrap or unwrap a DEK, be sure to set an appropriate IAM policy on the KEK to ensure an attacker cannot unwrap the DEK. # The key used by the encryption function. For deterministic encryption using AES-SIV, the provided key is internally expanded to 64 bytes prior to use. @@ -2422,7 +2422,7 @@

Method Details

}, "cryptoReplaceFfxFpeConfig": { # Replaces an identifier with a surrogate using Format Preserving Encryption (FPE) with the FFX mode of operation; however when used in the `ReidentifyContent` API method, it serves the opposite function by reversing the surrogate back into the original identifier. The identifier must be encoded as ASCII. For a given crypto key and context, the same identifier will be replaced with the same surrogate. Identifiers must be at least two characters long. In the case that the identifier is the empty string, it will be skipped. See https://cloud.google.com/dlp/docs/pseudonymization to learn more. Note: We recommend using CryptoDeterministicConfig for all use cases which do not require preserving the input alphabet space and size, plus warrant referential integrity. # Ffx-Fpe "commonAlphabet": "A String", # Common alphabets. - "context": { # General identifier of a data field in a storage service. # The 'tweak', a context may be used for higher security since the same identifier in two different contexts won't be given the same surrogate. If the context is not set, a default tweak will be used. If the context is set but: 1. there is no record present when transforming a given value or 1. the field is not present when transforming a given value, a default tweak will be used. Note that case (1) is expected when an `InfoTypeTransformation` is applied to both structured and non-structured `ContentItem`s. Currently, the referenced field may be of value type integer or string. The tweak is constructed as a sequence of bytes in big endian byte order such that: - a 64 bit integer is encoded followed by a single byte of value 1 - a string is encoded in UTF-8 format followed by a single byte of value 2 + "context": { # General identifier of a data field in a storage service. # The 'tweak', a context may be used for higher security since the same identifier in two different contexts won't be given the same surrogate. If the context is not set, a default tweak will be used. If the context is set but: 1. there is no record present when transforming a given value or 1. the field is not present when transforming a given value, a default tweak will be used. Note that case (1) is expected when an `InfoTypeTransformation` is applied to both structured and unstructured `ContentItem`s. Currently, the referenced field may be of value type integer or string. The tweak is constructed as a sequence of bytes in big endian byte order such that: - a 64 bit integer is encoded followed by a single byte of value 1 - a string is encoded in UTF-8 format followed by a single byte of value 2 "name": "A String", # Name describing the field. }, "cryptoKey": { # This is a data encryption key (DEK) (as opposed to a key encryption key (KEK) stored by Cloud Key Management Service (Cloud KMS). When using Cloud KMS to wrap or unwrap a DEK, be sure to set an appropriate IAM policy on the KEK to ensure an attacker cannot unwrap the DEK. # Required. The key used by the encryption algorithm. @@ -2545,7 +2545,7 @@

Method Details

"recordSuppressions": [ # Configuration defining which records get suppressed entirely. Records that match any suppression rule are omitted from the output. { # Configuration to suppress records whose suppression conditions evaluate to true. "condition": { # A condition for determining whether a transformation should be applied to a field. # A condition that when it evaluates to true will result in the record being evaluated to be suppressed from the transformed content. - "expressions": { # An expression, consisting or an operator and conditions. # An expression. + "expressions": { # An expression, consisting of an operator and conditions. # An expression. "conditions": { # A collection of conditions. # Conditions to apply to the expression. "conditions": [ # A collection of conditions. { # The field type of `value` and `field` do not need to match to be considered equal, but not all comparisons are possible. EQUAL_TO and NOT_EQUAL_TO attempt to compare even with incompatible types, but all other comparisons are invalid with incompatible types. A `value` of type: - `string` can be compared against all other types - `boolean` can only be compared against other booleans - `integer` can be compared against doubles or a string if the string value can be parsed as an integer. - `double` can be compared against integers or a string if the string can be parsed as a double. - `Timestamp` can be compared against strings in RFC 3339 date string format. - `TimeOfDay` can be compared against timestamps and strings in the format of 'HH:mm:ss'. If we fail to compare do to type mismatch, a warning will be given and the condition will evaluate to false. @@ -2602,8 +2602,8 @@

Method Details

Args: parent: string, Required. Parent resource name. The format of this value varies depending on the scope of the request (project or organization) and whether you have [specified a processing location](https://cloud.google.com/dlp/docs/specifying-location): + Projects scope, location specified: `projects/`PROJECT_ID`/locations/`LOCATION_ID + Projects scope, no location specified (defaults to global): `projects/`PROJECT_ID + Organizations scope, location specified: `organizations/`ORG_ID`/locations/`LOCATION_ID + Organizations scope, no location specified (defaults to global): `organizations/`ORG_ID The following example `parent` string specifies a parent project with the identifier `example-project`, and specifies the `europe-west3` location for processing data: parent=projects/example-project/locations/europe-west3 (required) locationId: string, Deprecated. This field has no effect. - orderBy: string, Comma separated list of fields to order by, followed by `asc` or `desc` postfix. This list is case-insensitive, default sorting order is ascending, redundant space characters are insignificant. Example: `name asc,update_time, create_time desc` Supported fields are: - `create_time`: corresponds to time the template was created. - `update_time`: corresponds to time the template was last updated. - `name`: corresponds to template's name. - `display_name`: corresponds to template's display name. - pageSize: integer, Size of the page, can be limited by server. If zero server returns a page of max size 100. + orderBy: string, Comma separated list of fields to order by, followed by `asc` or `desc` postfix. This list is case-insensitive, default sorting order is ascending, redundant space characters are insignificant. Example: `name asc,update_time, create_time desc` Supported fields are: - `create_time`: corresponds to the time the template was created. - `update_time`: corresponds to the time the template was last updated. - `name`: corresponds to the template's name. - `display_name`: corresponds to the template's display name. + pageSize: integer, Size of the page, can be limited by the server. If zero server returns a page of max size 100. pageToken: string, Page token to continue retrieval. Comes from previous call to `ListDeidentifyTemplates`. x__xgafv: string, V1 error format. Allowed values @@ -2703,7 +2703,7 @@

Method Details

"reverseOrder": True or False, # Mask characters in reverse order. For example, if `masking_character` is `0`, `number_to_mask` is `14`, and `reverse_order` is `false`, then the input string `1234-5678-9012-3456` is masked as `00000000000000-3456`. If `masking_character` is `*`, `number_to_mask` is `3`, and `reverse_order` is `true`, then the string `12345` is masked as `12***`. }, "cryptoDeterministicConfig": { # Pseudonymization method that generates deterministic encryption for the given input. Outputs a base64 encoded representation of the encrypted output. Uses AES-SIV based on the RFC https://tools.ietf.org/html/rfc5297. # Deterministic Crypto - "context": { # General identifier of a data field in a storage service. # A context may be used for higher security and maintaining referential integrity such that the same identifier in two different contexts will be given a distinct surrogate. The context is appended to plaintext value being encrypted. On decryption the provided context is validated against the value used during encryption. If a context was provided during encryption, same context must be provided during decryption as well. If the context is not set, plaintext would be used as is for encryption. If the context is set but: 1. there is no record present when transforming a given value or 2. the field is not present when transforming a given value, plaintext would be used as is for encryption. Note that case (1) is expected when an `InfoTypeTransformation` is applied to both structured and non-structured `ContentItem`s. + "context": { # General identifier of a data field in a storage service. # A context may be used for higher security and maintaining referential integrity such that the same identifier in two different contexts will be given a distinct surrogate. The context is appended to plaintext value being encrypted. On decryption the provided context is validated against the value used during encryption. If a context was provided during encryption, same context must be provided during decryption as well. If the context is not set, plaintext would be used as is for encryption. If the context is set but: 1. there is no record present when transforming a given value or 2. the field is not present when transforming a given value, plaintext would be used as is for encryption. Note that case (1) is expected when an `InfoTypeTransformation` is applied to both structured and unstructured `ContentItem`s. "name": "A String", # Name describing the field. }, "cryptoKey": { # This is a data encryption key (DEK) (as opposed to a key encryption key (KEK) stored by Cloud Key Management Service (Cloud KMS). When using Cloud KMS to wrap or unwrap a DEK, be sure to set an appropriate IAM policy on the KEK to ensure an attacker cannot unwrap the DEK. # The key used by the encryption function. For deterministic encryption using AES-SIV, the provided key is internally expanded to 64 bytes prior to use. @@ -2739,7 +2739,7 @@

Method Details

}, "cryptoReplaceFfxFpeConfig": { # Replaces an identifier with a surrogate using Format Preserving Encryption (FPE) with the FFX mode of operation; however when used in the `ReidentifyContent` API method, it serves the opposite function by reversing the surrogate back into the original identifier. The identifier must be encoded as ASCII. For a given crypto key and context, the same identifier will be replaced with the same surrogate. Identifiers must be at least two characters long. In the case that the identifier is the empty string, it will be skipped. See https://cloud.google.com/dlp/docs/pseudonymization to learn more. Note: We recommend using CryptoDeterministicConfig for all use cases which do not require preserving the input alphabet space and size, plus warrant referential integrity. # Ffx-Fpe "commonAlphabet": "A String", # Common alphabets. - "context": { # General identifier of a data field in a storage service. # The 'tweak', a context may be used for higher security since the same identifier in two different contexts won't be given the same surrogate. If the context is not set, a default tweak will be used. If the context is set but: 1. there is no record present when transforming a given value or 1. the field is not present when transforming a given value, a default tweak will be used. Note that case (1) is expected when an `InfoTypeTransformation` is applied to both structured and non-structured `ContentItem`s. Currently, the referenced field may be of value type integer or string. The tweak is constructed as a sequence of bytes in big endian byte order such that: - a 64 bit integer is encoded followed by a single byte of value 1 - a string is encoded in UTF-8 format followed by a single byte of value 2 + "context": { # General identifier of a data field in a storage service. # The 'tweak', a context may be used for higher security since the same identifier in two different contexts won't be given the same surrogate. If the context is not set, a default tweak will be used. If the context is set but: 1. there is no record present when transforming a given value or 1. the field is not present when transforming a given value, a default tweak will be used. Note that case (1) is expected when an `InfoTypeTransformation` is applied to both structured and unstructured `ContentItem`s. Currently, the referenced field may be of value type integer or string. The tweak is constructed as a sequence of bytes in big endian byte order such that: - a 64 bit integer is encoded followed by a single byte of value 1 - a string is encoded in UTF-8 format followed by a single byte of value 2 "name": "A String", # Name describing the field. }, "cryptoKey": { # This is a data encryption key (DEK) (as opposed to a key encryption key (KEK) stored by Cloud Key Management Service (Cloud KMS). When using Cloud KMS to wrap or unwrap a DEK, be sure to set an appropriate IAM policy on the KEK to ensure an attacker cannot unwrap the DEK. # Required. The key used by the encryption algorithm. @@ -2864,7 +2864,7 @@

Method Details

"fieldTransformations": [ # Transform the record by applying various field transformations. { # The transformation to apply to the field. "condition": { # A condition for determining whether a transformation should be applied to a field. # Only apply the transformation if the condition evaluates to true for the given `RecordCondition`. The conditions are allowed to reference fields that are not used in the actual transformation. Example Use Cases: - Apply a different bucket transformation to an age column if the zip code column for the same record is within a specific range. - Redact a field if the date of birth field is greater than 85. - "expressions": { # An expression, consisting or an operator and conditions. # An expression. + "expressions": { # An expression, consisting of an operator and conditions. # An expression. "conditions": { # A collection of conditions. # Conditions to apply to the expression. "conditions": [ # A collection of conditions. { # The field type of `value` and `field` do not need to match to be considered equal, but not all comparisons are possible. EQUAL_TO and NOT_EQUAL_TO attempt to compare even with incompatible types, but all other comparisons are invalid with incompatible types. A `value` of type: - `string` can be compared against all other types - `boolean` can only be compared against other booleans - `integer` can be compared against doubles or a string if the string value can be parsed as an integer. - `double` can be compared against integers or a string if the string can be parsed as a double. - `Timestamp` can be compared against strings in RFC 3339 date string format. - `TimeOfDay` can be compared against timestamps and strings in the format of 'HH:mm:ss'. If we fail to compare do to type mismatch, a warning will be given and the condition will evaluate to false. @@ -2987,7 +2987,7 @@

Method Details

"reverseOrder": True or False, # Mask characters in reverse order. For example, if `masking_character` is `0`, `number_to_mask` is `14`, and `reverse_order` is `false`, then the input string `1234-5678-9012-3456` is masked as `00000000000000-3456`. If `masking_character` is `*`, `number_to_mask` is `3`, and `reverse_order` is `true`, then the string `12345` is masked as `12***`. }, "cryptoDeterministicConfig": { # Pseudonymization method that generates deterministic encryption for the given input. Outputs a base64 encoded representation of the encrypted output. Uses AES-SIV based on the RFC https://tools.ietf.org/html/rfc5297. # Deterministic Crypto - "context": { # General identifier of a data field in a storage service. # A context may be used for higher security and maintaining referential integrity such that the same identifier in two different contexts will be given a distinct surrogate. The context is appended to plaintext value being encrypted. On decryption the provided context is validated against the value used during encryption. If a context was provided during encryption, same context must be provided during decryption as well. If the context is not set, plaintext would be used as is for encryption. If the context is set but: 1. there is no record present when transforming a given value or 2. the field is not present when transforming a given value, plaintext would be used as is for encryption. Note that case (1) is expected when an `InfoTypeTransformation` is applied to both structured and non-structured `ContentItem`s. + "context": { # General identifier of a data field in a storage service. # A context may be used for higher security and maintaining referential integrity such that the same identifier in two different contexts will be given a distinct surrogate. The context is appended to plaintext value being encrypted. On decryption the provided context is validated against the value used during encryption. If a context was provided during encryption, same context must be provided during decryption as well. If the context is not set, plaintext would be used as is for encryption. If the context is set but: 1. there is no record present when transforming a given value or 2. the field is not present when transforming a given value, plaintext would be used as is for encryption. Note that case (1) is expected when an `InfoTypeTransformation` is applied to both structured and unstructured `ContentItem`s. "name": "A String", # Name describing the field. }, "cryptoKey": { # This is a data encryption key (DEK) (as opposed to a key encryption key (KEK) stored by Cloud Key Management Service (Cloud KMS). When using Cloud KMS to wrap or unwrap a DEK, be sure to set an appropriate IAM policy on the KEK to ensure an attacker cannot unwrap the DEK. # The key used by the encryption function. For deterministic encryption using AES-SIV, the provided key is internally expanded to 64 bytes prior to use. @@ -3023,7 +3023,7 @@

Method Details

}, "cryptoReplaceFfxFpeConfig": { # Replaces an identifier with a surrogate using Format Preserving Encryption (FPE) with the FFX mode of operation; however when used in the `ReidentifyContent` API method, it serves the opposite function by reversing the surrogate back into the original identifier. The identifier must be encoded as ASCII. For a given crypto key and context, the same identifier will be replaced with the same surrogate. Identifiers must be at least two characters long. In the case that the identifier is the empty string, it will be skipped. See https://cloud.google.com/dlp/docs/pseudonymization to learn more. Note: We recommend using CryptoDeterministicConfig for all use cases which do not require preserving the input alphabet space and size, plus warrant referential integrity. # Ffx-Fpe "commonAlphabet": "A String", # Common alphabets. - "context": { # General identifier of a data field in a storage service. # The 'tweak', a context may be used for higher security since the same identifier in two different contexts won't be given the same surrogate. If the context is not set, a default tweak will be used. If the context is set but: 1. there is no record present when transforming a given value or 1. the field is not present when transforming a given value, a default tweak will be used. Note that case (1) is expected when an `InfoTypeTransformation` is applied to both structured and non-structured `ContentItem`s. Currently, the referenced field may be of value type integer or string. The tweak is constructed as a sequence of bytes in big endian byte order such that: - a 64 bit integer is encoded followed by a single byte of value 1 - a string is encoded in UTF-8 format followed by a single byte of value 2 + "context": { # General identifier of a data field in a storage service. # The 'tweak', a context may be used for higher security since the same identifier in two different contexts won't be given the same surrogate. If the context is not set, a default tweak will be used. If the context is set but: 1. there is no record present when transforming a given value or 1. the field is not present when transforming a given value, a default tweak will be used. Note that case (1) is expected when an `InfoTypeTransformation` is applied to both structured and unstructured `ContentItem`s. Currently, the referenced field may be of value type integer or string. The tweak is constructed as a sequence of bytes in big endian byte order such that: - a 64 bit integer is encoded followed by a single byte of value 1 - a string is encoded in UTF-8 format followed by a single byte of value 2 "name": "A String", # Name describing the field. }, "cryptoKey": { # This is a data encryption key (DEK) (as opposed to a key encryption key (KEK) stored by Cloud Key Management Service (Cloud KMS). When using Cloud KMS to wrap or unwrap a DEK, be sure to set an appropriate IAM policy on the KEK to ensure an attacker cannot unwrap the DEK. # Required. The key used by the encryption algorithm. @@ -3220,7 +3220,7 @@

Method Details

"reverseOrder": True or False, # Mask characters in reverse order. For example, if `masking_character` is `0`, `number_to_mask` is `14`, and `reverse_order` is `false`, then the input string `1234-5678-9012-3456` is masked as `00000000000000-3456`. If `masking_character` is `*`, `number_to_mask` is `3`, and `reverse_order` is `true`, then the string `12345` is masked as `12***`. }, "cryptoDeterministicConfig": { # Pseudonymization method that generates deterministic encryption for the given input. Outputs a base64 encoded representation of the encrypted output. Uses AES-SIV based on the RFC https://tools.ietf.org/html/rfc5297. # Deterministic Crypto - "context": { # General identifier of a data field in a storage service. # A context may be used for higher security and maintaining referential integrity such that the same identifier in two different contexts will be given a distinct surrogate. The context is appended to plaintext value being encrypted. On decryption the provided context is validated against the value used during encryption. If a context was provided during encryption, same context must be provided during decryption as well. If the context is not set, plaintext would be used as is for encryption. If the context is set but: 1. there is no record present when transforming a given value or 2. the field is not present when transforming a given value, plaintext would be used as is for encryption. Note that case (1) is expected when an `InfoTypeTransformation` is applied to both structured and non-structured `ContentItem`s. + "context": { # General identifier of a data field in a storage service. # A context may be used for higher security and maintaining referential integrity such that the same identifier in two different contexts will be given a distinct surrogate. The context is appended to plaintext value being encrypted. On decryption the provided context is validated against the value used during encryption. If a context was provided during encryption, same context must be provided during decryption as well. If the context is not set, plaintext would be used as is for encryption. If the context is set but: 1. there is no record present when transforming a given value or 2. the field is not present when transforming a given value, plaintext would be used as is for encryption. Note that case (1) is expected when an `InfoTypeTransformation` is applied to both structured and unstructured `ContentItem`s. "name": "A String", # Name describing the field. }, "cryptoKey": { # This is a data encryption key (DEK) (as opposed to a key encryption key (KEK) stored by Cloud Key Management Service (Cloud KMS). When using Cloud KMS to wrap or unwrap a DEK, be sure to set an appropriate IAM policy on the KEK to ensure an attacker cannot unwrap the DEK. # The key used by the encryption function. For deterministic encryption using AES-SIV, the provided key is internally expanded to 64 bytes prior to use. @@ -3256,7 +3256,7 @@

Method Details

}, "cryptoReplaceFfxFpeConfig": { # Replaces an identifier with a surrogate using Format Preserving Encryption (FPE) with the FFX mode of operation; however when used in the `ReidentifyContent` API method, it serves the opposite function by reversing the surrogate back into the original identifier. The identifier must be encoded as ASCII. For a given crypto key and context, the same identifier will be replaced with the same surrogate. Identifiers must be at least two characters long. In the case that the identifier is the empty string, it will be skipped. See https://cloud.google.com/dlp/docs/pseudonymization to learn more. Note: We recommend using CryptoDeterministicConfig for all use cases which do not require preserving the input alphabet space and size, plus warrant referential integrity. # Ffx-Fpe "commonAlphabet": "A String", # Common alphabets. - "context": { # General identifier of a data field in a storage service. # The 'tweak', a context may be used for higher security since the same identifier in two different contexts won't be given the same surrogate. If the context is not set, a default tweak will be used. If the context is set but: 1. there is no record present when transforming a given value or 1. the field is not present when transforming a given value, a default tweak will be used. Note that case (1) is expected when an `InfoTypeTransformation` is applied to both structured and non-structured `ContentItem`s. Currently, the referenced field may be of value type integer or string. The tweak is constructed as a sequence of bytes in big endian byte order such that: - a 64 bit integer is encoded followed by a single byte of value 1 - a string is encoded in UTF-8 format followed by a single byte of value 2 + "context": { # General identifier of a data field in a storage service. # The 'tweak', a context may be used for higher security since the same identifier in two different contexts won't be given the same surrogate. If the context is not set, a default tweak will be used. If the context is set but: 1. there is no record present when transforming a given value or 1. the field is not present when transforming a given value, a default tweak will be used. Note that case (1) is expected when an `InfoTypeTransformation` is applied to both structured and unstructured `ContentItem`s. Currently, the referenced field may be of value type integer or string. The tweak is constructed as a sequence of bytes in big endian byte order such that: - a 64 bit integer is encoded followed by a single byte of value 1 - a string is encoded in UTF-8 format followed by a single byte of value 2 "name": "A String", # Name describing the field. }, "cryptoKey": { # This is a data encryption key (DEK) (as opposed to a key encryption key (KEK) stored by Cloud Key Management Service (Cloud KMS). When using Cloud KMS to wrap or unwrap a DEK, be sure to set an appropriate IAM policy on the KEK to ensure an attacker cannot unwrap the DEK. # Required. The key used by the encryption algorithm. @@ -3379,7 +3379,7 @@

Method Details

"recordSuppressions": [ # Configuration defining which records get suppressed entirely. Records that match any suppression rule are omitted from the output. { # Configuration to suppress records whose suppression conditions evaluate to true. "condition": { # A condition for determining whether a transformation should be applied to a field. # A condition that when it evaluates to true will result in the record being evaluated to be suppressed from the transformed content. - "expressions": { # An expression, consisting or an operator and conditions. # An expression. + "expressions": { # An expression, consisting of an operator and conditions. # An expression. "conditions": { # A collection of conditions. # Conditions to apply to the expression. "conditions": [ # A collection of conditions. { # The field type of `value` and `field` do not need to match to be considered equal, but not all comparisons are possible. EQUAL_TO and NOT_EQUAL_TO attempt to compare even with incompatible types, but all other comparisons are invalid with incompatible types. A `value` of type: - `string` can be compared against all other types - `boolean` can only be compared against other booleans - `integer` can be compared against doubles or a string if the string value can be parsed as an integer. - `double` can be compared against integers or a string if the string can be parsed as a double. - `Timestamp` can be compared against strings in RFC 3339 date string format. - `TimeOfDay` can be compared against timestamps and strings in the format of 'HH:mm:ss'. If we fail to compare do to type mismatch, a warning will be given and the condition will evaluate to false. @@ -3544,7 +3544,7 @@

Method Details

"reverseOrder": True or False, # Mask characters in reverse order. For example, if `masking_character` is `0`, `number_to_mask` is `14`, and `reverse_order` is `false`, then the input string `1234-5678-9012-3456` is masked as `00000000000000-3456`. If `masking_character` is `*`, `number_to_mask` is `3`, and `reverse_order` is `true`, then the string `12345` is masked as `12***`. }, "cryptoDeterministicConfig": { # Pseudonymization method that generates deterministic encryption for the given input. Outputs a base64 encoded representation of the encrypted output. Uses AES-SIV based on the RFC https://tools.ietf.org/html/rfc5297. # Deterministic Crypto - "context": { # General identifier of a data field in a storage service. # A context may be used for higher security and maintaining referential integrity such that the same identifier in two different contexts will be given a distinct surrogate. The context is appended to plaintext value being encrypted. On decryption the provided context is validated against the value used during encryption. If a context was provided during encryption, same context must be provided during decryption as well. If the context is not set, plaintext would be used as is for encryption. If the context is set but: 1. there is no record present when transforming a given value or 2. the field is not present when transforming a given value, plaintext would be used as is for encryption. Note that case (1) is expected when an `InfoTypeTransformation` is applied to both structured and non-structured `ContentItem`s. + "context": { # General identifier of a data field in a storage service. # A context may be used for higher security and maintaining referential integrity such that the same identifier in two different contexts will be given a distinct surrogate. The context is appended to plaintext value being encrypted. On decryption the provided context is validated against the value used during encryption. If a context was provided during encryption, same context must be provided during decryption as well. If the context is not set, plaintext would be used as is for encryption. If the context is set but: 1. there is no record present when transforming a given value or 2. the field is not present when transforming a given value, plaintext would be used as is for encryption. Note that case (1) is expected when an `InfoTypeTransformation` is applied to both structured and unstructured `ContentItem`s. "name": "A String", # Name describing the field. }, "cryptoKey": { # This is a data encryption key (DEK) (as opposed to a key encryption key (KEK) stored by Cloud Key Management Service (Cloud KMS). When using Cloud KMS to wrap or unwrap a DEK, be sure to set an appropriate IAM policy on the KEK to ensure an attacker cannot unwrap the DEK. # The key used by the encryption function. For deterministic encryption using AES-SIV, the provided key is internally expanded to 64 bytes prior to use. @@ -3580,7 +3580,7 @@

Method Details

}, "cryptoReplaceFfxFpeConfig": { # Replaces an identifier with a surrogate using Format Preserving Encryption (FPE) with the FFX mode of operation; however when used in the `ReidentifyContent` API method, it serves the opposite function by reversing the surrogate back into the original identifier. The identifier must be encoded as ASCII. For a given crypto key and context, the same identifier will be replaced with the same surrogate. Identifiers must be at least two characters long. In the case that the identifier is the empty string, it will be skipped. See https://cloud.google.com/dlp/docs/pseudonymization to learn more. Note: We recommend using CryptoDeterministicConfig for all use cases which do not require preserving the input alphabet space and size, plus warrant referential integrity. # Ffx-Fpe "commonAlphabet": "A String", # Common alphabets. - "context": { # General identifier of a data field in a storage service. # The 'tweak', a context may be used for higher security since the same identifier in two different contexts won't be given the same surrogate. If the context is not set, a default tweak will be used. If the context is set but: 1. there is no record present when transforming a given value or 1. the field is not present when transforming a given value, a default tweak will be used. Note that case (1) is expected when an `InfoTypeTransformation` is applied to both structured and non-structured `ContentItem`s. Currently, the referenced field may be of value type integer or string. The tweak is constructed as a sequence of bytes in big endian byte order such that: - a 64 bit integer is encoded followed by a single byte of value 1 - a string is encoded in UTF-8 format followed by a single byte of value 2 + "context": { # General identifier of a data field in a storage service. # The 'tweak', a context may be used for higher security since the same identifier in two different contexts won't be given the same surrogate. If the context is not set, a default tweak will be used. If the context is set but: 1. there is no record present when transforming a given value or 1. the field is not present when transforming a given value, a default tweak will be used. Note that case (1) is expected when an `InfoTypeTransformation` is applied to both structured and unstructured `ContentItem`s. Currently, the referenced field may be of value type integer or string. The tweak is constructed as a sequence of bytes in big endian byte order such that: - a 64 bit integer is encoded followed by a single byte of value 1 - a string is encoded in UTF-8 format followed by a single byte of value 2 "name": "A String", # Name describing the field. }, "cryptoKey": { # This is a data encryption key (DEK) (as opposed to a key encryption key (KEK) stored by Cloud Key Management Service (Cloud KMS). When using Cloud KMS to wrap or unwrap a DEK, be sure to set an appropriate IAM policy on the KEK to ensure an attacker cannot unwrap the DEK. # Required. The key used by the encryption algorithm. @@ -3705,7 +3705,7 @@

Method Details

"fieldTransformations": [ # Transform the record by applying various field transformations. { # The transformation to apply to the field. "condition": { # A condition for determining whether a transformation should be applied to a field. # Only apply the transformation if the condition evaluates to true for the given `RecordCondition`. The conditions are allowed to reference fields that are not used in the actual transformation. Example Use Cases: - Apply a different bucket transformation to an age column if the zip code column for the same record is within a specific range. - Redact a field if the date of birth field is greater than 85. - "expressions": { # An expression, consisting or an operator and conditions. # An expression. + "expressions": { # An expression, consisting of an operator and conditions. # An expression. "conditions": { # A collection of conditions. # Conditions to apply to the expression. "conditions": [ # A collection of conditions. { # The field type of `value` and `field` do not need to match to be considered equal, but not all comparisons are possible. EQUAL_TO and NOT_EQUAL_TO attempt to compare even with incompatible types, but all other comparisons are invalid with incompatible types. A `value` of type: - `string` can be compared against all other types - `boolean` can only be compared against other booleans - `integer` can be compared against doubles or a string if the string value can be parsed as an integer. - `double` can be compared against integers or a string if the string can be parsed as a double. - `Timestamp` can be compared against strings in RFC 3339 date string format. - `TimeOfDay` can be compared against timestamps and strings in the format of 'HH:mm:ss'. If we fail to compare do to type mismatch, a warning will be given and the condition will evaluate to false. @@ -3828,7 +3828,7 @@

Method Details

"reverseOrder": True or False, # Mask characters in reverse order. For example, if `masking_character` is `0`, `number_to_mask` is `14`, and `reverse_order` is `false`, then the input string `1234-5678-9012-3456` is masked as `00000000000000-3456`. If `masking_character` is `*`, `number_to_mask` is `3`, and `reverse_order` is `true`, then the string `12345` is masked as `12***`. }, "cryptoDeterministicConfig": { # Pseudonymization method that generates deterministic encryption for the given input. Outputs a base64 encoded representation of the encrypted output. Uses AES-SIV based on the RFC https://tools.ietf.org/html/rfc5297. # Deterministic Crypto - "context": { # General identifier of a data field in a storage service. # A context may be used for higher security and maintaining referential integrity such that the same identifier in two different contexts will be given a distinct surrogate. The context is appended to plaintext value being encrypted. On decryption the provided context is validated against the value used during encryption. If a context was provided during encryption, same context must be provided during decryption as well. If the context is not set, plaintext would be used as is for encryption. If the context is set but: 1. there is no record present when transforming a given value or 2. the field is not present when transforming a given value, plaintext would be used as is for encryption. Note that case (1) is expected when an `InfoTypeTransformation` is applied to both structured and non-structured `ContentItem`s. + "context": { # General identifier of a data field in a storage service. # A context may be used for higher security and maintaining referential integrity such that the same identifier in two different contexts will be given a distinct surrogate. The context is appended to plaintext value being encrypted. On decryption the provided context is validated against the value used during encryption. If a context was provided during encryption, same context must be provided during decryption as well. If the context is not set, plaintext would be used as is for encryption. If the context is set but: 1. there is no record present when transforming a given value or 2. the field is not present when transforming a given value, plaintext would be used as is for encryption. Note that case (1) is expected when an `InfoTypeTransformation` is applied to both structured and unstructured `ContentItem`s. "name": "A String", # Name describing the field. }, "cryptoKey": { # This is a data encryption key (DEK) (as opposed to a key encryption key (KEK) stored by Cloud Key Management Service (Cloud KMS). When using Cloud KMS to wrap or unwrap a DEK, be sure to set an appropriate IAM policy on the KEK to ensure an attacker cannot unwrap the DEK. # The key used by the encryption function. For deterministic encryption using AES-SIV, the provided key is internally expanded to 64 bytes prior to use. @@ -3864,7 +3864,7 @@

Method Details

}, "cryptoReplaceFfxFpeConfig": { # Replaces an identifier with a surrogate using Format Preserving Encryption (FPE) with the FFX mode of operation; however when used in the `ReidentifyContent` API method, it serves the opposite function by reversing the surrogate back into the original identifier. The identifier must be encoded as ASCII. For a given crypto key and context, the same identifier will be replaced with the same surrogate. Identifiers must be at least two characters long. In the case that the identifier is the empty string, it will be skipped. See https://cloud.google.com/dlp/docs/pseudonymization to learn more. Note: We recommend using CryptoDeterministicConfig for all use cases which do not require preserving the input alphabet space and size, plus warrant referential integrity. # Ffx-Fpe "commonAlphabet": "A String", # Common alphabets. - "context": { # General identifier of a data field in a storage service. # The 'tweak', a context may be used for higher security since the same identifier in two different contexts won't be given the same surrogate. If the context is not set, a default tweak will be used. If the context is set but: 1. there is no record present when transforming a given value or 1. the field is not present when transforming a given value, a default tweak will be used. Note that case (1) is expected when an `InfoTypeTransformation` is applied to both structured and non-structured `ContentItem`s. Currently, the referenced field may be of value type integer or string. The tweak is constructed as a sequence of bytes in big endian byte order such that: - a 64 bit integer is encoded followed by a single byte of value 1 - a string is encoded in UTF-8 format followed by a single byte of value 2 + "context": { # General identifier of a data field in a storage service. # The 'tweak', a context may be used for higher security since the same identifier in two different contexts won't be given the same surrogate. If the context is not set, a default tweak will be used. If the context is set but: 1. there is no record present when transforming a given value or 1. the field is not present when transforming a given value, a default tweak will be used. Note that case (1) is expected when an `InfoTypeTransformation` is applied to both structured and unstructured `ContentItem`s. Currently, the referenced field may be of value type integer or string. The tweak is constructed as a sequence of bytes in big endian byte order such that: - a 64 bit integer is encoded followed by a single byte of value 1 - a string is encoded in UTF-8 format followed by a single byte of value 2 "name": "A String", # Name describing the field. }, "cryptoKey": { # This is a data encryption key (DEK) (as opposed to a key encryption key (KEK) stored by Cloud Key Management Service (Cloud KMS). When using Cloud KMS to wrap or unwrap a DEK, be sure to set an appropriate IAM policy on the KEK to ensure an attacker cannot unwrap the DEK. # Required. The key used by the encryption algorithm. @@ -4061,7 +4061,7 @@

Method Details

"reverseOrder": True or False, # Mask characters in reverse order. For example, if `masking_character` is `0`, `number_to_mask` is `14`, and `reverse_order` is `false`, then the input string `1234-5678-9012-3456` is masked as `00000000000000-3456`. If `masking_character` is `*`, `number_to_mask` is `3`, and `reverse_order` is `true`, then the string `12345` is masked as `12***`. }, "cryptoDeterministicConfig": { # Pseudonymization method that generates deterministic encryption for the given input. Outputs a base64 encoded representation of the encrypted output. Uses AES-SIV based on the RFC https://tools.ietf.org/html/rfc5297. # Deterministic Crypto - "context": { # General identifier of a data field in a storage service. # A context may be used for higher security and maintaining referential integrity such that the same identifier in two different contexts will be given a distinct surrogate. The context is appended to plaintext value being encrypted. On decryption the provided context is validated against the value used during encryption. If a context was provided during encryption, same context must be provided during decryption as well. If the context is not set, plaintext would be used as is for encryption. If the context is set but: 1. there is no record present when transforming a given value or 2. the field is not present when transforming a given value, plaintext would be used as is for encryption. Note that case (1) is expected when an `InfoTypeTransformation` is applied to both structured and non-structured `ContentItem`s. + "context": { # General identifier of a data field in a storage service. # A context may be used for higher security and maintaining referential integrity such that the same identifier in two different contexts will be given a distinct surrogate. The context is appended to plaintext value being encrypted. On decryption the provided context is validated against the value used during encryption. If a context was provided during encryption, same context must be provided during decryption as well. If the context is not set, plaintext would be used as is for encryption. If the context is set but: 1. there is no record present when transforming a given value or 2. the field is not present when transforming a given value, plaintext would be used as is for encryption. Note that case (1) is expected when an `InfoTypeTransformation` is applied to both structured and unstructured `ContentItem`s. "name": "A String", # Name describing the field. }, "cryptoKey": { # This is a data encryption key (DEK) (as opposed to a key encryption key (KEK) stored by Cloud Key Management Service (Cloud KMS). When using Cloud KMS to wrap or unwrap a DEK, be sure to set an appropriate IAM policy on the KEK to ensure an attacker cannot unwrap the DEK. # The key used by the encryption function. For deterministic encryption using AES-SIV, the provided key is internally expanded to 64 bytes prior to use. @@ -4097,7 +4097,7 @@

Method Details

}, "cryptoReplaceFfxFpeConfig": { # Replaces an identifier with a surrogate using Format Preserving Encryption (FPE) with the FFX mode of operation; however when used in the `ReidentifyContent` API method, it serves the opposite function by reversing the surrogate back into the original identifier. The identifier must be encoded as ASCII. For a given crypto key and context, the same identifier will be replaced with the same surrogate. Identifiers must be at least two characters long. In the case that the identifier is the empty string, it will be skipped. See https://cloud.google.com/dlp/docs/pseudonymization to learn more. Note: We recommend using CryptoDeterministicConfig for all use cases which do not require preserving the input alphabet space and size, plus warrant referential integrity. # Ffx-Fpe "commonAlphabet": "A String", # Common alphabets. - "context": { # General identifier of a data field in a storage service. # The 'tweak', a context may be used for higher security since the same identifier in two different contexts won't be given the same surrogate. If the context is not set, a default tweak will be used. If the context is set but: 1. there is no record present when transforming a given value or 1. the field is not present when transforming a given value, a default tweak will be used. Note that case (1) is expected when an `InfoTypeTransformation` is applied to both structured and non-structured `ContentItem`s. Currently, the referenced field may be of value type integer or string. The tweak is constructed as a sequence of bytes in big endian byte order such that: - a 64 bit integer is encoded followed by a single byte of value 1 - a string is encoded in UTF-8 format followed by a single byte of value 2 + "context": { # General identifier of a data field in a storage service. # The 'tweak', a context may be used for higher security since the same identifier in two different contexts won't be given the same surrogate. If the context is not set, a default tweak will be used. If the context is set but: 1. there is no record present when transforming a given value or 1. the field is not present when transforming a given value, a default tweak will be used. Note that case (1) is expected when an `InfoTypeTransformation` is applied to both structured and unstructured `ContentItem`s. Currently, the referenced field may be of value type integer or string. The tweak is constructed as a sequence of bytes in big endian byte order such that: - a 64 bit integer is encoded followed by a single byte of value 1 - a string is encoded in UTF-8 format followed by a single byte of value 2 "name": "A String", # Name describing the field. }, "cryptoKey": { # This is a data encryption key (DEK) (as opposed to a key encryption key (KEK) stored by Cloud Key Management Service (Cloud KMS). When using Cloud KMS to wrap or unwrap a DEK, be sure to set an appropriate IAM policy on the KEK to ensure an attacker cannot unwrap the DEK. # Required. The key used by the encryption algorithm. @@ -4220,7 +4220,7 @@

Method Details

"recordSuppressions": [ # Configuration defining which records get suppressed entirely. Records that match any suppression rule are omitted from the output. { # Configuration to suppress records whose suppression conditions evaluate to true. "condition": { # A condition for determining whether a transformation should be applied to a field. # A condition that when it evaluates to true will result in the record being evaluated to be suppressed from the transformed content. - "expressions": { # An expression, consisting or an operator and conditions. # An expression. + "expressions": { # An expression, consisting of an operator and conditions. # An expression. "conditions": { # A collection of conditions. # Conditions to apply to the expression. "conditions": [ # A collection of conditions. { # The field type of `value` and `field` do not need to match to be considered equal, but not all comparisons are possible. EQUAL_TO and NOT_EQUAL_TO attempt to compare even with incompatible types, but all other comparisons are invalid with incompatible types. A `value` of type: - `string` can be compared against all other types - `boolean` can only be compared against other booleans - `integer` can be compared against doubles or a string if the string value can be parsed as an integer. - `double` can be compared against integers or a string if the string can be parsed as a double. - `Timestamp` can be compared against strings in RFC 3339 date string format. - `TimeOfDay` can be compared against timestamps and strings in the format of 'HH:mm:ss'. If we fail to compare do to type mismatch, a warning will be given and the condition will evaluate to false. @@ -4367,7 +4367,7 @@

Method Details

"reverseOrder": True or False, # Mask characters in reverse order. For example, if `masking_character` is `0`, `number_to_mask` is `14`, and `reverse_order` is `false`, then the input string `1234-5678-9012-3456` is masked as `00000000000000-3456`. If `masking_character` is `*`, `number_to_mask` is `3`, and `reverse_order` is `true`, then the string `12345` is masked as `12***`. }, "cryptoDeterministicConfig": { # Pseudonymization method that generates deterministic encryption for the given input. Outputs a base64 encoded representation of the encrypted output. Uses AES-SIV based on the RFC https://tools.ietf.org/html/rfc5297. # Deterministic Crypto - "context": { # General identifier of a data field in a storage service. # A context may be used for higher security and maintaining referential integrity such that the same identifier in two different contexts will be given a distinct surrogate. The context is appended to plaintext value being encrypted. On decryption the provided context is validated against the value used during encryption. If a context was provided during encryption, same context must be provided during decryption as well. If the context is not set, plaintext would be used as is for encryption. If the context is set but: 1. there is no record present when transforming a given value or 2. the field is not present when transforming a given value, plaintext would be used as is for encryption. Note that case (1) is expected when an `InfoTypeTransformation` is applied to both structured and non-structured `ContentItem`s. + "context": { # General identifier of a data field in a storage service. # A context may be used for higher security and maintaining referential integrity such that the same identifier in two different contexts will be given a distinct surrogate. The context is appended to plaintext value being encrypted. On decryption the provided context is validated against the value used during encryption. If a context was provided during encryption, same context must be provided during decryption as well. If the context is not set, plaintext would be used as is for encryption. If the context is set but: 1. there is no record present when transforming a given value or 2. the field is not present when transforming a given value, plaintext would be used as is for encryption. Note that case (1) is expected when an `InfoTypeTransformation` is applied to both structured and unstructured `ContentItem`s. "name": "A String", # Name describing the field. }, "cryptoKey": { # This is a data encryption key (DEK) (as opposed to a key encryption key (KEK) stored by Cloud Key Management Service (Cloud KMS). When using Cloud KMS to wrap or unwrap a DEK, be sure to set an appropriate IAM policy on the KEK to ensure an attacker cannot unwrap the DEK. # The key used by the encryption function. For deterministic encryption using AES-SIV, the provided key is internally expanded to 64 bytes prior to use. @@ -4403,7 +4403,7 @@

Method Details

}, "cryptoReplaceFfxFpeConfig": { # Replaces an identifier with a surrogate using Format Preserving Encryption (FPE) with the FFX mode of operation; however when used in the `ReidentifyContent` API method, it serves the opposite function by reversing the surrogate back into the original identifier. The identifier must be encoded as ASCII. For a given crypto key and context, the same identifier will be replaced with the same surrogate. Identifiers must be at least two characters long. In the case that the identifier is the empty string, it will be skipped. See https://cloud.google.com/dlp/docs/pseudonymization to learn more. Note: We recommend using CryptoDeterministicConfig for all use cases which do not require preserving the input alphabet space and size, plus warrant referential integrity. # Ffx-Fpe "commonAlphabet": "A String", # Common alphabets. - "context": { # General identifier of a data field in a storage service. # The 'tweak', a context may be used for higher security since the same identifier in two different contexts won't be given the same surrogate. If the context is not set, a default tweak will be used. If the context is set but: 1. there is no record present when transforming a given value or 1. the field is not present when transforming a given value, a default tweak will be used. Note that case (1) is expected when an `InfoTypeTransformation` is applied to both structured and non-structured `ContentItem`s. Currently, the referenced field may be of value type integer or string. The tweak is constructed as a sequence of bytes in big endian byte order such that: - a 64 bit integer is encoded followed by a single byte of value 1 - a string is encoded in UTF-8 format followed by a single byte of value 2 + "context": { # General identifier of a data field in a storage service. # The 'tweak', a context may be used for higher security since the same identifier in two different contexts won't be given the same surrogate. If the context is not set, a default tweak will be used. If the context is set but: 1. there is no record present when transforming a given value or 1. the field is not present when transforming a given value, a default tweak will be used. Note that case (1) is expected when an `InfoTypeTransformation` is applied to both structured and unstructured `ContentItem`s. Currently, the referenced field may be of value type integer or string. The tweak is constructed as a sequence of bytes in big endian byte order such that: - a 64 bit integer is encoded followed by a single byte of value 1 - a string is encoded in UTF-8 format followed by a single byte of value 2 "name": "A String", # Name describing the field. }, "cryptoKey": { # This is a data encryption key (DEK) (as opposed to a key encryption key (KEK) stored by Cloud Key Management Service (Cloud KMS). When using Cloud KMS to wrap or unwrap a DEK, be sure to set an appropriate IAM policy on the KEK to ensure an attacker cannot unwrap the DEK. # Required. The key used by the encryption algorithm. @@ -4528,7 +4528,7 @@

Method Details

"fieldTransformations": [ # Transform the record by applying various field transformations. { # The transformation to apply to the field. "condition": { # A condition for determining whether a transformation should be applied to a field. # Only apply the transformation if the condition evaluates to true for the given `RecordCondition`. The conditions are allowed to reference fields that are not used in the actual transformation. Example Use Cases: - Apply a different bucket transformation to an age column if the zip code column for the same record is within a specific range. - Redact a field if the date of birth field is greater than 85. - "expressions": { # An expression, consisting or an operator and conditions. # An expression. + "expressions": { # An expression, consisting of an operator and conditions. # An expression. "conditions": { # A collection of conditions. # Conditions to apply to the expression. "conditions": [ # A collection of conditions. { # The field type of `value` and `field` do not need to match to be considered equal, but not all comparisons are possible. EQUAL_TO and NOT_EQUAL_TO attempt to compare even with incompatible types, but all other comparisons are invalid with incompatible types. A `value` of type: - `string` can be compared against all other types - `boolean` can only be compared against other booleans - `integer` can be compared against doubles or a string if the string value can be parsed as an integer. - `double` can be compared against integers or a string if the string can be parsed as a double. - `Timestamp` can be compared against strings in RFC 3339 date string format. - `TimeOfDay` can be compared against timestamps and strings in the format of 'HH:mm:ss'. If we fail to compare do to type mismatch, a warning will be given and the condition will evaluate to false. @@ -4651,7 +4651,7 @@

Method Details

"reverseOrder": True or False, # Mask characters in reverse order. For example, if `masking_character` is `0`, `number_to_mask` is `14`, and `reverse_order` is `false`, then the input string `1234-5678-9012-3456` is masked as `00000000000000-3456`. If `masking_character` is `*`, `number_to_mask` is `3`, and `reverse_order` is `true`, then the string `12345` is masked as `12***`. }, "cryptoDeterministicConfig": { # Pseudonymization method that generates deterministic encryption for the given input. Outputs a base64 encoded representation of the encrypted output. Uses AES-SIV based on the RFC https://tools.ietf.org/html/rfc5297. # Deterministic Crypto - "context": { # General identifier of a data field in a storage service. # A context may be used for higher security and maintaining referential integrity such that the same identifier in two different contexts will be given a distinct surrogate. The context is appended to plaintext value being encrypted. On decryption the provided context is validated against the value used during encryption. If a context was provided during encryption, same context must be provided during decryption as well. If the context is not set, plaintext would be used as is for encryption. If the context is set but: 1. there is no record present when transforming a given value or 2. the field is not present when transforming a given value, plaintext would be used as is for encryption. Note that case (1) is expected when an `InfoTypeTransformation` is applied to both structured and non-structured `ContentItem`s. + "context": { # General identifier of a data field in a storage service. # A context may be used for higher security and maintaining referential integrity such that the same identifier in two different contexts will be given a distinct surrogate. The context is appended to plaintext value being encrypted. On decryption the provided context is validated against the value used during encryption. If a context was provided during encryption, same context must be provided during decryption as well. If the context is not set, plaintext would be used as is for encryption. If the context is set but: 1. there is no record present when transforming a given value or 2. the field is not present when transforming a given value, plaintext would be used as is for encryption. Note that case (1) is expected when an `InfoTypeTransformation` is applied to both structured and unstructured `ContentItem`s. "name": "A String", # Name describing the field. }, "cryptoKey": { # This is a data encryption key (DEK) (as opposed to a key encryption key (KEK) stored by Cloud Key Management Service (Cloud KMS). When using Cloud KMS to wrap or unwrap a DEK, be sure to set an appropriate IAM policy on the KEK to ensure an attacker cannot unwrap the DEK. # The key used by the encryption function. For deterministic encryption using AES-SIV, the provided key is internally expanded to 64 bytes prior to use. @@ -4687,7 +4687,7 @@

Method Details

}, "cryptoReplaceFfxFpeConfig": { # Replaces an identifier with a surrogate using Format Preserving Encryption (FPE) with the FFX mode of operation; however when used in the `ReidentifyContent` API method, it serves the opposite function by reversing the surrogate back into the original identifier. The identifier must be encoded as ASCII. For a given crypto key and context, the same identifier will be replaced with the same surrogate. Identifiers must be at least two characters long. In the case that the identifier is the empty string, it will be skipped. See https://cloud.google.com/dlp/docs/pseudonymization to learn more. Note: We recommend using CryptoDeterministicConfig for all use cases which do not require preserving the input alphabet space and size, plus warrant referential integrity. # Ffx-Fpe "commonAlphabet": "A String", # Common alphabets. - "context": { # General identifier of a data field in a storage service. # The 'tweak', a context may be used for higher security since the same identifier in two different contexts won't be given the same surrogate. If the context is not set, a default tweak will be used. If the context is set but: 1. there is no record present when transforming a given value or 1. the field is not present when transforming a given value, a default tweak will be used. Note that case (1) is expected when an `InfoTypeTransformation` is applied to both structured and non-structured `ContentItem`s. Currently, the referenced field may be of value type integer or string. The tweak is constructed as a sequence of bytes in big endian byte order such that: - a 64 bit integer is encoded followed by a single byte of value 1 - a string is encoded in UTF-8 format followed by a single byte of value 2 + "context": { # General identifier of a data field in a storage service. # The 'tweak', a context may be used for higher security since the same identifier in two different contexts won't be given the same surrogate. If the context is not set, a default tweak will be used. If the context is set but: 1. there is no record present when transforming a given value or 1. the field is not present when transforming a given value, a default tweak will be used. Note that case (1) is expected when an `InfoTypeTransformation` is applied to both structured and unstructured `ContentItem`s. Currently, the referenced field may be of value type integer or string. The tweak is constructed as a sequence of bytes in big endian byte order such that: - a 64 bit integer is encoded followed by a single byte of value 1 - a string is encoded in UTF-8 format followed by a single byte of value 2 "name": "A String", # Name describing the field. }, "cryptoKey": { # This is a data encryption key (DEK) (as opposed to a key encryption key (KEK) stored by Cloud Key Management Service (Cloud KMS). When using Cloud KMS to wrap or unwrap a DEK, be sure to set an appropriate IAM policy on the KEK to ensure an attacker cannot unwrap the DEK. # Required. The key used by the encryption algorithm. @@ -4884,7 +4884,7 @@

Method Details

"reverseOrder": True or False, # Mask characters in reverse order. For example, if `masking_character` is `0`, `number_to_mask` is `14`, and `reverse_order` is `false`, then the input string `1234-5678-9012-3456` is masked as `00000000000000-3456`. If `masking_character` is `*`, `number_to_mask` is `3`, and `reverse_order` is `true`, then the string `12345` is masked as `12***`. }, "cryptoDeterministicConfig": { # Pseudonymization method that generates deterministic encryption for the given input. Outputs a base64 encoded representation of the encrypted output. Uses AES-SIV based on the RFC https://tools.ietf.org/html/rfc5297. # Deterministic Crypto - "context": { # General identifier of a data field in a storage service. # A context may be used for higher security and maintaining referential integrity such that the same identifier in two different contexts will be given a distinct surrogate. The context is appended to plaintext value being encrypted. On decryption the provided context is validated against the value used during encryption. If a context was provided during encryption, same context must be provided during decryption as well. If the context is not set, plaintext would be used as is for encryption. If the context is set but: 1. there is no record present when transforming a given value or 2. the field is not present when transforming a given value, plaintext would be used as is for encryption. Note that case (1) is expected when an `InfoTypeTransformation` is applied to both structured and non-structured `ContentItem`s. + "context": { # General identifier of a data field in a storage service. # A context may be used for higher security and maintaining referential integrity such that the same identifier in two different contexts will be given a distinct surrogate. The context is appended to plaintext value being encrypted. On decryption the provided context is validated against the value used during encryption. If a context was provided during encryption, same context must be provided during decryption as well. If the context is not set, plaintext would be used as is for encryption. If the context is set but: 1. there is no record present when transforming a given value or 2. the field is not present when transforming a given value, plaintext would be used as is for encryption. Note that case (1) is expected when an `InfoTypeTransformation` is applied to both structured and unstructured `ContentItem`s. "name": "A String", # Name describing the field. }, "cryptoKey": { # This is a data encryption key (DEK) (as opposed to a key encryption key (KEK) stored by Cloud Key Management Service (Cloud KMS). When using Cloud KMS to wrap or unwrap a DEK, be sure to set an appropriate IAM policy on the KEK to ensure an attacker cannot unwrap the DEK. # The key used by the encryption function. For deterministic encryption using AES-SIV, the provided key is internally expanded to 64 bytes prior to use. @@ -4920,7 +4920,7 @@

Method Details

}, "cryptoReplaceFfxFpeConfig": { # Replaces an identifier with a surrogate using Format Preserving Encryption (FPE) with the FFX mode of operation; however when used in the `ReidentifyContent` API method, it serves the opposite function by reversing the surrogate back into the original identifier. The identifier must be encoded as ASCII. For a given crypto key and context, the same identifier will be replaced with the same surrogate. Identifiers must be at least two characters long. In the case that the identifier is the empty string, it will be skipped. See https://cloud.google.com/dlp/docs/pseudonymization to learn more. Note: We recommend using CryptoDeterministicConfig for all use cases which do not require preserving the input alphabet space and size, plus warrant referential integrity. # Ffx-Fpe "commonAlphabet": "A String", # Common alphabets. - "context": { # General identifier of a data field in a storage service. # The 'tweak', a context may be used for higher security since the same identifier in two different contexts won't be given the same surrogate. If the context is not set, a default tweak will be used. If the context is set but: 1. there is no record present when transforming a given value or 1. the field is not present when transforming a given value, a default tweak will be used. Note that case (1) is expected when an `InfoTypeTransformation` is applied to both structured and non-structured `ContentItem`s. Currently, the referenced field may be of value type integer or string. The tweak is constructed as a sequence of bytes in big endian byte order such that: - a 64 bit integer is encoded followed by a single byte of value 1 - a string is encoded in UTF-8 format followed by a single byte of value 2 + "context": { # General identifier of a data field in a storage service. # The 'tweak', a context may be used for higher security since the same identifier in two different contexts won't be given the same surrogate. If the context is not set, a default tweak will be used. If the context is set but: 1. there is no record present when transforming a given value or 1. the field is not present when transforming a given value, a default tweak will be used. Note that case (1) is expected when an `InfoTypeTransformation` is applied to both structured and unstructured `ContentItem`s. Currently, the referenced field may be of value type integer or string. The tweak is constructed as a sequence of bytes in big endian byte order such that: - a 64 bit integer is encoded followed by a single byte of value 1 - a string is encoded in UTF-8 format followed by a single byte of value 2 "name": "A String", # Name describing the field. }, "cryptoKey": { # This is a data encryption key (DEK) (as opposed to a key encryption key (KEK) stored by Cloud Key Management Service (Cloud KMS). When using Cloud KMS to wrap or unwrap a DEK, be sure to set an appropriate IAM policy on the KEK to ensure an attacker cannot unwrap the DEK. # Required. The key used by the encryption algorithm. @@ -5043,7 +5043,7 @@

Method Details

"recordSuppressions": [ # Configuration defining which records get suppressed entirely. Records that match any suppression rule are omitted from the output. { # Configuration to suppress records whose suppression conditions evaluate to true. "condition": { # A condition for determining whether a transformation should be applied to a field. # A condition that when it evaluates to true will result in the record being evaluated to be suppressed from the transformed content. - "expressions": { # An expression, consisting or an operator and conditions. # An expression. + "expressions": { # An expression, consisting of an operator and conditions. # An expression. "conditions": { # A collection of conditions. # Conditions to apply to the expression. "conditions": [ # A collection of conditions. { # The field type of `value` and `field` do not need to match to be considered equal, but not all comparisons are possible. EQUAL_TO and NOT_EQUAL_TO attempt to compare even with incompatible types, but all other comparisons are invalid with incompatible types. A `value` of type: - `string` can be compared against all other types - `boolean` can only be compared against other booleans - `integer` can be compared against doubles or a string if the string value can be parsed as an integer. - `double` can be compared against integers or a string if the string can be parsed as a double. - `Timestamp` can be compared against strings in RFC 3339 date string format. - `TimeOfDay` can be compared against timestamps and strings in the format of 'HH:mm:ss'. If we fail to compare do to type mismatch, a warning will be given and the condition will evaluate to false. diff --git a/docs/dyn/dlp_v2.organizations.locations.dlpJobs.html b/docs/dyn/dlp_v2.organizations.locations.dlpJobs.html index c2a59c1aafc..50dea3185ef 100644 --- a/docs/dyn/dlp_v2.organizations.locations.dlpJobs.html +++ b/docs/dyn/dlp_v2.organizations.locations.dlpJobs.html @@ -95,9 +95,9 @@

Method Details

Args: parent: string, Required. Parent resource name. The format of this value varies depending on whether you have [specified a processing location](https://cloud.google.com/dlp/docs/specifying-location): + Projects scope, location specified: `projects/`PROJECT_ID`/locations/`LOCATION_ID + Projects scope, no location specified (defaults to global): `projects/`PROJECT_ID The following example `parent` string specifies a parent project with the identifier `example-project`, and specifies the `europe-west3` location for processing data: parent=projects/example-project/locations/europe-west3 (required) - filter: string, Allows filtering. Supported syntax: * Filter expressions are made up of one or more restrictions. * Restrictions can be combined by `AND` or `OR` logical operators. A sequence of restrictions implicitly uses `AND`. * A restriction has the form of `{field} {operator} {value}`. * Supported fields/values for inspect jobs: - `state` - PENDING|RUNNING|CANCELED|FINISHED|FAILED - `inspected_storage` - DATASTORE|CLOUD_STORAGE|BIGQUERY - `trigger_name` - The resource name of the trigger that created job. - 'end_time` - Corresponds to time the job finished. - 'start_time` - Corresponds to time the job finished. * Supported fields for risk analysis jobs: - `state` - RUNNING|CANCELED|FINISHED|FAILED - 'end_time` - Corresponds to time the job finished. - 'start_time` - Corresponds to time the job finished. * The operator must be `=` or `!=`. Examples: * inspected_storage = cloud_storage AND state = done * inspected_storage = cloud_storage OR inspected_storage = bigquery * inspected_storage = cloud_storage AND (state = done OR state = canceled) * end_time > \"2017-12-12T00:00:00+00:00\" The length of this field should be no more than 500 characters. + filter: string, Allows filtering. Supported syntax: * Filter expressions are made up of one or more restrictions. * Restrictions can be combined by `AND` or `OR` logical operators. A sequence of restrictions implicitly uses `AND`. * A restriction has the form of `{field} {operator} {value}`. * Supported fields/values for inspect jobs: - `state` - PENDING|RUNNING|CANCELED|FINISHED|FAILED - `inspected_storage` - DATASTORE|CLOUD_STORAGE|BIGQUERY - `trigger_name` - The name of the trigger that created the job. - 'end_time` - Corresponds to the time the job finished. - 'start_time` - Corresponds to the time the job finished. * Supported fields for risk analysis jobs: - `state` - RUNNING|CANCELED|FINISHED|FAILED - 'end_time` - Corresponds to the time the job finished. - 'start_time` - Corresponds to the time the job finished. * The operator must be `=` or `!=`. Examples: * inspected_storage = cloud_storage AND state = done * inspected_storage = cloud_storage OR inspected_storage = bigquery * inspected_storage = cloud_storage AND (state = done OR state = canceled) * end_time > \"2017-12-12T00:00:00+00:00\" The length of this field should be no more than 500 characters. locationId: string, Deprecated. This field has no effect. - orderBy: string, Comma separated list of fields to order by, followed by `asc` or `desc` postfix. This list is case-insensitive, default sorting order is ascending, redundant space characters are insignificant. Example: `name asc, end_time asc, create_time desc` Supported fields are: - `create_time`: corresponds to time the job was created. - `end_time`: corresponds to time the job ended. - `name`: corresponds to job's name. - `state`: corresponds to `state` + orderBy: string, Comma separated list of fields to order by, followed by `asc` or `desc` postfix. This list is case-insensitive, default sorting order is ascending, redundant space characters are insignificant. Example: `name asc, end_time asc, create_time desc` Supported fields are: - `create_time`: corresponds to the time the job was created. - `end_time`: corresponds to the time the job ended. - `name`: corresponds to the job's name. - `state`: corresponds to `state` pageSize: integer, The standard list page size. pageToken: string, The standard list page token. type: string, The type of job. Defaults to `DlpJobType.INSPECT` @@ -139,21 +139,39 @@

Method Details

"jobConfig": { # Controls what and how to inspect for findings. # Inspect config. "actions": [ # Actions to execute at the completion of the job. { # A task to execute on the completion of a job. See https://cloud.google.com/dlp/docs/concepts-actions to learn more. + "deidentify": { # Create a de-identified copy of the requested table or files. . A TransformationDetail will be created for each transformation. If any rows in BigQuery are skipped during de-identification (transformation errors or row size exceeds BigQuery insert API limits) they are placed in the failure output table. If the original row exceeds the BigQuery insert API limit it will be truncated when written to the failure output table. The failure output table can be set in the action.deidentify.output.big_query_output.deidentified_failure_output_table field, if no table is set, a table will be automatically created in the same project and dataset as the original table. Compatible with: Inspect # Create a de-identified copy of the input data. Applicable for non-image data only. The de-identified copy is in the same location as the original data. + "cloudStorageOutput": "A String", # Required. User settable GCS bucket and folders to store de-identified files. This field must be set for cloud storage deidentification. The output GCS bucket must be different from the input bucket. De-identified files will overwrite files in the output path. Form of: gs://bucket/folder/ or gs://bucket + "fileTypesToTransform": [ # List of user-specified file type groups to transform. If specified, only the files with these filetypes will be transformed. If empty, all supported files will be transformed. Supported types may be automatically added over time. If a file type is set in this field that isn't supported by the Deidentify action then the job will fail and will not be successfully created/started. Currently the only filetypes supported are: IMAGES, TEXT_FILES, CSV, TSV. + "A String", + ], + "transformationConfig": { # User specified templates and configs for how to deidentify structured, unstructures, and image files. User must provide either a unstructured deidentify template or at least one redact image config. # User specified deidentify templates and configs for structured, unstructured, and image files. + "deidentifyTemplate": "A String", # De-identify template. If this template is specified, it will serve as the default de-identify template. This template cannot contain `record_transformations` since it can be used for unstructured content such as free-form text files. If this template is not set, a default `ReplaceWithInfoTypeConfig` will be used to de-identify unstructured content. + "imageRedactTemplate": "A String", # Image redact template. If this template is specified, it will serve as the de-identify template for images. If this template is not set, all findings in the image will be redacted with a black box. + "structuredDeidentifyTemplate": "A String", # Structured de-identify template. If this template is specified, it will serve as the de-identify template for structured content such as delimited files and tables. If this template is not set but the `deidentify_template` is set, then `deidentify_template` will also apply to the structured content. If neither template is set, a default `ReplaceWithInfoTypeConfig` will be used to de-identify structured content. + }, + "transformationDetailsStorageConfig": { # Config for storing transformation details. # Config for storing transformation details. This is separate from the de-identified content, and contains metadata about the successful transformations and/or failures that occurred while de-identifying. This needs to be set in order for users to access information about the status of each transformation (see TransformationDetails message for more information about what is noted). + "table": { # Message defining the location of a BigQuery table. A table is uniquely identified by its project_id, dataset_id, and table_name. Within a query a table is often referenced with a string in the format of: `:.` or `..`. # The BigQuery table in which to store the output. This may be an existing table or in a new table in an existing dataset. If table_id is not set a new one will be generated for you with the following format: dlp_googleapis_transformation_details_yyyy_mm_dd_[dlp_job_id]. Pacific time zone will be used for generating the date details. + "datasetId": "A String", # Dataset ID of the table. + "projectId": "A String", # The Google Cloud Platform project ID of the project containing the table. If omitted, project ID is inferred from the API call. + "tableId": "A String", # Name of the table. + }, + }, + }, "jobNotificationEmails": { # Enable email notification to project owners and editors on jobs's completion/failure. # Enable email notification for project owners and editors on job's completion/failure. }, - "pubSub": { # Publish a message into given Pub/Sub topic when DlpJob has completed. The message contains a single field, `DlpJobName`, which is equal to the finished job's [`DlpJob.name`](https://cloud.google.com/dlp/docs/reference/rest/v2/projects.dlpJobs#DlpJob). Compatible with: Inspect, Risk # Publish a notification to a pubsub topic. + "pubSub": { # Publish a message into a given Pub/Sub topic when DlpJob has completed. The message contains a single field, `DlpJobName`, which is equal to the finished job's [`DlpJob.name`](https://cloud.google.com/dlp/docs/reference/rest/v2/projects.dlpJobs#DlpJob). Compatible with: Inspect, Risk # Publish a notification to a pubsub topic. "topic": "A String", # Cloud Pub/Sub topic to send notifications to. The topic must have given publishing access rights to the DLP API service account executing the long running DlpJob sending the notifications. Format is projects/{project}/topics/{topic}. }, "publishFindingsToCloudDataCatalog": { # Publish findings of a DlpJob to Data Catalog. Labels summarizing the results of the DlpJob will be applied to the entry for the resource scanned in Data Catalog. Any labels previously written by another DlpJob will be deleted. InfoType naming patterns are strictly enforced when using this feature. Note that the findings will be persisted in Data Catalog storage and are governed by Data Catalog service-specific policy, see https://cloud.google.com/terms/service-terms Only a single instance of this action can be specified and only allowed if all resources being scanned are BigQuery tables. Compatible with: Inspect # Publish findings to Cloud Datahub. }, - "publishSummaryToCscc": { # Publish the result summary of a DlpJob to the Cloud Security Command Center (CSCC Alpha). This action is only available for projects which are parts of an organization and whitelisted for the alpha Cloud Security Command Center. The action will publish count of finding instances and their info types. The summary of findings will be persisted in CSCC and are governed by CSCC service-specific policy, see https://cloud.google.com/terms/service-terms Only a single instance of this action can be specified. Compatible with: Inspect # Publish summary to Cloud Security Command Center (Alpha). + "publishSummaryToCscc": { # Publish the result summary of a DlpJob to the Cloud Security Command Center (CSCC Alpha). This action is only available for projects which are parts of an organization and whitelisted for the alpha Cloud Security Command Center. The action will publish the count of finding instances and their info types. The summary of findings will be persisted in CSCC and are governed by CSCC service-specific policy, see https://cloud.google.com/terms/service-terms Only a single instance of this action can be specified. Compatible with: Inspect # Publish summary to Cloud Security Command Center (Alpha). }, "publishToStackdriver": { # Enable Stackdriver metric dlp.googleapis.com/finding_count. This will publish a metric to stack driver on each infotype requested and how many findings were found for it. CustomDetectors will be bucketed as 'Custom' under the Stackdriver label 'info_type'. # Enable Stackdriver metric dlp.googleapis.com/finding_count. }, "saveFindings": { # If set, the detailed findings will be persisted to the specified OutputStorageConfig. Only a single instance of this action can be specified. Compatible with: Inspect, Risk # Save resulting findings in a provided location. "outputConfig": { # Cloud repository for storing output. # Location to store findings outside of DLP. "outputSchema": "A String", # Schema used for writing the findings for Inspect jobs. This field is only used for Inspect and must be unspecified for Risk jobs. Columns are derived from the `Finding` object. If appending to an existing table, any columns from the predefined schema that are missing will be added. No columns in the existing table will be deleted. If unspecified, then all available columns will be used for a new table or an (existing) table with no schema, and no changes will be made to an existing table that has a schema. Only for use with external storage. - "table": { # Message defining the location of a BigQuery table. A table is uniquely identified by its project_id, dataset_id, and table_name. Within a query a table is often referenced with a string in the format of: `:.` or `..`. # Store findings in an existing table or a new table in an existing dataset. If table_id is not set a new one will be generated for you with the following format: dlp_googleapis_yyyy_mm_dd_[dlp_job_id]. Pacific timezone will be used for generating the date details. For Inspect, each column in an existing output table must have the same name, type, and mode of a field in the `Finding` object. For Risk, an existing output table should be the output of a previous Risk analysis job run on the same source table, with the same privacy metric and quasi-identifiers. Risk jobs that analyze the same table but compute a different privacy metric, or use different sets of quasi-identifiers, cannot store their results in the same table. + "table": { # Message defining the location of a BigQuery table. A table is uniquely identified by its project_id, dataset_id, and table_name. Within a query a table is often referenced with a string in the format of: `:.` or `..`. # Store findings in an existing table or a new table in an existing dataset. If table_id is not set a new one will be generated for you with the following format: dlp_googleapis_yyyy_mm_dd_[dlp_job_id]. Pacific time zone will be used for generating the date details. For Inspect, each column in an existing output table must have the same name, type, and mode of a field in the `Finding` object. For Risk, an existing output table should be the output of a previous Risk analysis job run on the same source table, with the same privacy metric and quasi-identifiers. Risk jobs that analyze the same table but compute a different privacy metric, or use different sets of quasi-identifiers, cannot store their results in the same table. "datasetId": "A String", # Dataset ID of the table. "projectId": "A String", # The Google Cloud Platform project ID of the project containing the table. If omitted, project ID is inferred from the API call. "tableId": "A String", # Name of the table. @@ -226,7 +244,7 @@

Method Details

"version": "A String", # Optional version name for this InfoType. }, ], - "limits": { # Configuration to control the number of findings returned for inspection. This is not used for de-identification or data profiling. # Configuration to control the number of findings returned. This is not used for data profiling. + "limits": { # Configuration to control the number of findings returned for inspection. This is not used for de-identification or data profiling. When redacting sensitive data from images, finding limits don't apply. They can cause unexpected or inconsistent results, where only some data is redacted. Don't include finding limits in RedactImage requests. Otherwise, Cloud DLP returns an error. # Configuration to control the number of findings returned. This is not used for data profiling. When redacting sensitive data from images, finding limits don't apply. They can cause unexpected or inconsistent results, where only some data is redacted. Don't include finding limits in RedactImage requests. Otherwise, Cloud DLP returns an error. "maxFindingsPerInfoType": [ # Configuration of findings limit given for specified infoTypes. { # Max findings configuration per infoType, per content item or long running DlpJob. "infoType": { # Type of information detected by the API. # Type of information the findings limit applies to. Only one limit per info_type should be provided. If InfoTypeLimit does not have an info_type, the DLP API applies the limit against all info_types that are found but not specified in another InfoTypeLimit. @@ -261,7 +279,7 @@

Method Details

], }, }, - "excludeInfoTypes": { # List of exclude infoTypes. # Set of infoTypes for which findings would affect this rule. + "excludeInfoTypes": { # List of excluded infoTypes. # Set of infoTypes for which findings would affect this rule. "infoTypes": [ # InfoType list in ExclusionRule rule drops a finding when it overlaps or contained within with a finding of an infoType from this list. For example, for `InspectionRuleSet.info_types` containing "PHONE_NUMBER"` and `exclusion_rule` containing `exclude_info_types.info_types` with "EMAIL_ADDRESS" the phone number findings are dropped if they overlap with EMAIL_ADDRESS finding. That leads to "555-222-2222@example.org" to generate only a single finding, namely email address. { # Type of information detected by the API. "name": "A String", # Name of the information type. Either a name of your choosing when creating a CustomInfoType, or one of the names listed at https://cloud.google.com/dlp/docs/infotypes-reference when specifying a built-in type. When sending Cloud DLP results to Data Catalog, infoType names should conform to the pattern `[A-Za-z0-9$-_]{1,64}`. @@ -325,7 +343,7 @@

Method Details

"tableId": "A String", # Name of the table. }, }, - "cloudStorageOptions": { # Options defining a file or a set of files within a Google Cloud Storage bucket. # Google Cloud Storage options. + "cloudStorageOptions": { # Options defining a file or a set of files within a Cloud Storage bucket. # Cloud Storage options. "bytesLimitPerFile": "A String", # Max number of bytes to scan from a file. If a scanned file's size is bigger than this value then the rest of the bytes are omitted. Only one of bytes_limit_per_file and bytes_limit_per_file_percent can be specified. Cannot be set if de-identification is requested. "bytesLimitPerFilePercent": 42, # Max percentage of bytes to scan from a file. The rest are omitted. The number of bytes scanned is rounded down. Must be between 0 and 100, inclusively. Both 0 and 100 means no limit. Defaults to 0. Only one of bytes_limit_per_file and bytes_limit_per_file_percent can be specified. Cannot be set if de-identification is requested. "fileSet": { # Set of files to scan. # The set of one or more files to scan. @@ -371,11 +389,11 @@

Method Details

], }, }, - "timespanConfig": { # Configuration of the timespan of the items to include in scanning. Currently only supported when inspecting Google Cloud Storage and BigQuery. + "timespanConfig": { # Configuration of the timespan of the items to include in scanning. Currently only supported when inspecting Cloud Storage and BigQuery. "enableAutoPopulationOfTimespanConfig": True or False, # When the job is started by a JobTrigger we will automatically figure out a valid start_time to avoid scanning files that have not been modified since the last time the JobTrigger executed. This will be based on the time of the execution of the last run of the JobTrigger. "endTime": "A String", # Exclude files, tables, or rows newer than this value. If not set, no upper time limit is applied. "startTime": "A String", # Exclude files, tables, or rows older than this value. If not set, no lower time limit is applied. - "timestampField": { # General identifier of a data field in a storage service. # Specification of the field containing the timestamp of scanned items. Used for data sources like Datastore and BigQuery. For BigQuery: If this value is not specified and the table was modified between the given start and end times, the entire table will be scanned. If this value is specified, then rows are filtered based on the given start and end times. Rows with a `NULL` value in the provided BigQuery column are skipped. Valid data types of the provided BigQuery column are: `INTEGER`, `DATE`, `TIMESTAMP`, and `DATETIME`. For Datastore: If this value is specified, then entities are filtered based on the given start and end times. If an entity does not contain the provided timestamp property or contains empty or invalid values, then it is included. Valid data types of the provided timestamp property are: `TIMESTAMP`. + "timestampField": { # General identifier of a data field in a storage service. # Specification of the field containing the timestamp of scanned items. Used for data sources like Datastore and BigQuery. *For BigQuery* If this value is not specified and the table was modified between the given start and end times, the entire table will be scanned. If this value is specified, then rows are filtered based on the given start and end times. Rows with a `NULL` value in the provided BigQuery column are skipped. Valid data types of the provided BigQuery column are: `INTEGER`, `DATE`, `TIMESTAMP`, and `DATETIME`. If your BigQuery table is [partitioned at ingestion time](https://cloud.google.com/bigquery/docs/partitioned-tables#ingestion_time), you can use any of the following pseudo-columns as your timestamp field. When used with Cloud DLP, these pseudo-column names are case sensitive. - _PARTITIONTIME - _PARTITIONDATE - _PARTITION_LOAD_TIME *For Datastore* If this value is specified, then entities are filtered based on the given start and end times. If an entity does not contain the provided timestamp property or contains empty or invalid values, then it is included. Valid data types of the provided timestamp property are: `TIMESTAMP`. See the [known issue](https://cloud.google.com/dlp/docs/known-issues#bq-timespan) related to this operation. "name": "A String", # Name describing the field. }, }, @@ -449,7 +467,7 @@

Method Details

"version": "A String", # Optional version name for this InfoType. }, ], - "limits": { # Configuration to control the number of findings returned for inspection. This is not used for de-identification or data profiling. # Configuration to control the number of findings returned. This is not used for data profiling. + "limits": { # Configuration to control the number of findings returned for inspection. This is not used for de-identification or data profiling. When redacting sensitive data from images, finding limits don't apply. They can cause unexpected or inconsistent results, where only some data is redacted. Don't include finding limits in RedactImage requests. Otherwise, Cloud DLP returns an error. # Configuration to control the number of findings returned. This is not used for data profiling. When redacting sensitive data from images, finding limits don't apply. They can cause unexpected or inconsistent results, where only some data is redacted. Don't include finding limits in RedactImage requests. Otherwise, Cloud DLP returns an error. "maxFindingsPerInfoType": [ # Configuration of findings limit given for specified infoTypes. { # Max findings configuration per infoType, per content item or long running DlpJob. "infoType": { # Type of information detected by the API. # Type of information the findings limit applies to. Only one limit per info_type should be provided. If InfoTypeLimit does not have an info_type, the DLP API applies the limit against all info_types that are found but not specified in another InfoTypeLimit. @@ -484,7 +502,7 @@

Method Details

], }, }, - "excludeInfoTypes": { # List of exclude infoTypes. # Set of infoTypes for which findings would affect this rule. + "excludeInfoTypes": { # List of excluded infoTypes. # Set of infoTypes for which findings would affect this rule. "infoTypes": [ # InfoType list in ExclusionRule rule drops a finding when it overlaps or contained within with a finding of an infoType from this list. For example, for `InspectionRuleSet.info_types` containing "PHONE_NUMBER"` and `exclusion_rule` containing `exclude_info_types.info_types` with "EMAIL_ADDRESS" the phone number findings are dropped if they overlap with EMAIL_ADDRESS finding. That leads to "555-222-2222@example.org" to generate only a single finding, namely email address. { # Type of information detected by the API. "name": "A String", # Name of the information type. Either a name of your choosing when creating a CustomInfoType, or one of the names listed at https://cloud.google.com/dlp/docs/infotypes-reference when specifying a built-in type. When sending Cloud DLP results to Data Catalog, infoType names should conform to the pattern `[A-Za-z0-9$-_]{1,64}`. @@ -815,21 +833,39 @@

Method Details

"jobConfig": { # Configuration for a risk analysis job. See https://cloud.google.com/dlp/docs/concepts-risk-analysis to learn more. # The job config for the risk job. "actions": [ # Actions to execute at the completion of the job. Are executed in the order provided. { # A task to execute on the completion of a job. See https://cloud.google.com/dlp/docs/concepts-actions to learn more. + "deidentify": { # Create a de-identified copy of the requested table or files. . A TransformationDetail will be created for each transformation. If any rows in BigQuery are skipped during de-identification (transformation errors or row size exceeds BigQuery insert API limits) they are placed in the failure output table. If the original row exceeds the BigQuery insert API limit it will be truncated when written to the failure output table. The failure output table can be set in the action.deidentify.output.big_query_output.deidentified_failure_output_table field, if no table is set, a table will be automatically created in the same project and dataset as the original table. Compatible with: Inspect # Create a de-identified copy of the input data. Applicable for non-image data only. The de-identified copy is in the same location as the original data. + "cloudStorageOutput": "A String", # Required. User settable GCS bucket and folders to store de-identified files. This field must be set for cloud storage deidentification. The output GCS bucket must be different from the input bucket. De-identified files will overwrite files in the output path. Form of: gs://bucket/folder/ or gs://bucket + "fileTypesToTransform": [ # List of user-specified file type groups to transform. If specified, only the files with these filetypes will be transformed. If empty, all supported files will be transformed. Supported types may be automatically added over time. If a file type is set in this field that isn't supported by the Deidentify action then the job will fail and will not be successfully created/started. Currently the only filetypes supported are: IMAGES, TEXT_FILES, CSV, TSV. + "A String", + ], + "transformationConfig": { # User specified templates and configs for how to deidentify structured, unstructures, and image files. User must provide either a unstructured deidentify template or at least one redact image config. # User specified deidentify templates and configs for structured, unstructured, and image files. + "deidentifyTemplate": "A String", # De-identify template. If this template is specified, it will serve as the default de-identify template. This template cannot contain `record_transformations` since it can be used for unstructured content such as free-form text files. If this template is not set, a default `ReplaceWithInfoTypeConfig` will be used to de-identify unstructured content. + "imageRedactTemplate": "A String", # Image redact template. If this template is specified, it will serve as the de-identify template for images. If this template is not set, all findings in the image will be redacted with a black box. + "structuredDeidentifyTemplate": "A String", # Structured de-identify template. If this template is specified, it will serve as the de-identify template for structured content such as delimited files and tables. If this template is not set but the `deidentify_template` is set, then `deidentify_template` will also apply to the structured content. If neither template is set, a default `ReplaceWithInfoTypeConfig` will be used to de-identify structured content. + }, + "transformationDetailsStorageConfig": { # Config for storing transformation details. # Config for storing transformation details. This is separate from the de-identified content, and contains metadata about the successful transformations and/or failures that occurred while de-identifying. This needs to be set in order for users to access information about the status of each transformation (see TransformationDetails message for more information about what is noted). + "table": { # Message defining the location of a BigQuery table. A table is uniquely identified by its project_id, dataset_id, and table_name. Within a query a table is often referenced with a string in the format of: `:.` or `..`. # The BigQuery table in which to store the output. This may be an existing table or in a new table in an existing dataset. If table_id is not set a new one will be generated for you with the following format: dlp_googleapis_transformation_details_yyyy_mm_dd_[dlp_job_id]. Pacific time zone will be used for generating the date details. + "datasetId": "A String", # Dataset ID of the table. + "projectId": "A String", # The Google Cloud Platform project ID of the project containing the table. If omitted, project ID is inferred from the API call. + "tableId": "A String", # Name of the table. + }, + }, + }, "jobNotificationEmails": { # Enable email notification to project owners and editors on jobs's completion/failure. # Enable email notification for project owners and editors on job's completion/failure. }, - "pubSub": { # Publish a message into given Pub/Sub topic when DlpJob has completed. The message contains a single field, `DlpJobName`, which is equal to the finished job's [`DlpJob.name`](https://cloud.google.com/dlp/docs/reference/rest/v2/projects.dlpJobs#DlpJob). Compatible with: Inspect, Risk # Publish a notification to a pubsub topic. + "pubSub": { # Publish a message into a given Pub/Sub topic when DlpJob has completed. The message contains a single field, `DlpJobName`, which is equal to the finished job's [`DlpJob.name`](https://cloud.google.com/dlp/docs/reference/rest/v2/projects.dlpJobs#DlpJob). Compatible with: Inspect, Risk # Publish a notification to a pubsub topic. "topic": "A String", # Cloud Pub/Sub topic to send notifications to. The topic must have given publishing access rights to the DLP API service account executing the long running DlpJob sending the notifications. Format is projects/{project}/topics/{topic}. }, "publishFindingsToCloudDataCatalog": { # Publish findings of a DlpJob to Data Catalog. Labels summarizing the results of the DlpJob will be applied to the entry for the resource scanned in Data Catalog. Any labels previously written by another DlpJob will be deleted. InfoType naming patterns are strictly enforced when using this feature. Note that the findings will be persisted in Data Catalog storage and are governed by Data Catalog service-specific policy, see https://cloud.google.com/terms/service-terms Only a single instance of this action can be specified and only allowed if all resources being scanned are BigQuery tables. Compatible with: Inspect # Publish findings to Cloud Datahub. }, - "publishSummaryToCscc": { # Publish the result summary of a DlpJob to the Cloud Security Command Center (CSCC Alpha). This action is only available for projects which are parts of an organization and whitelisted for the alpha Cloud Security Command Center. The action will publish count of finding instances and their info types. The summary of findings will be persisted in CSCC and are governed by CSCC service-specific policy, see https://cloud.google.com/terms/service-terms Only a single instance of this action can be specified. Compatible with: Inspect # Publish summary to Cloud Security Command Center (Alpha). + "publishSummaryToCscc": { # Publish the result summary of a DlpJob to the Cloud Security Command Center (CSCC Alpha). This action is only available for projects which are parts of an organization and whitelisted for the alpha Cloud Security Command Center. The action will publish the count of finding instances and their info types. The summary of findings will be persisted in CSCC and are governed by CSCC service-specific policy, see https://cloud.google.com/terms/service-terms Only a single instance of this action can be specified. Compatible with: Inspect # Publish summary to Cloud Security Command Center (Alpha). }, "publishToStackdriver": { # Enable Stackdriver metric dlp.googleapis.com/finding_count. This will publish a metric to stack driver on each infotype requested and how many findings were found for it. CustomDetectors will be bucketed as 'Custom' under the Stackdriver label 'info_type'. # Enable Stackdriver metric dlp.googleapis.com/finding_count. }, "saveFindings": { # If set, the detailed findings will be persisted to the specified OutputStorageConfig. Only a single instance of this action can be specified. Compatible with: Inspect, Risk # Save resulting findings in a provided location. "outputConfig": { # Cloud repository for storing output. # Location to store findings outside of DLP. "outputSchema": "A String", # Schema used for writing the findings for Inspect jobs. This field is only used for Inspect and must be unspecified for Risk jobs. Columns are derived from the `Finding` object. If appending to an existing table, any columns from the predefined schema that are missing will be added. No columns in the existing table will be deleted. If unspecified, then all available columns will be used for a new table or an (existing) table with no schema, and no changes will be made to an existing table that has a schema. Only for use with external storage. - "table": { # Message defining the location of a BigQuery table. A table is uniquely identified by its project_id, dataset_id, and table_name. Within a query a table is often referenced with a string in the format of: `:.` or `..`. # Store findings in an existing table or a new table in an existing dataset. If table_id is not set a new one will be generated for you with the following format: dlp_googleapis_yyyy_mm_dd_[dlp_job_id]. Pacific timezone will be used for generating the date details. For Inspect, each column in an existing output table must have the same name, type, and mode of a field in the `Finding` object. For Risk, an existing output table should be the output of a previous Risk analysis job run on the same source table, with the same privacy metric and quasi-identifiers. Risk jobs that analyze the same table but compute a different privacy metric, or use different sets of quasi-identifiers, cannot store their results in the same table. + "table": { # Message defining the location of a BigQuery table. A table is uniquely identified by its project_id, dataset_id, and table_name. Within a query a table is often referenced with a string in the format of: `:.` or `..`. # Store findings in an existing table or a new table in an existing dataset. If table_id is not set a new one will be generated for you with the following format: dlp_googleapis_yyyy_mm_dd_[dlp_job_id]. Pacific time zone will be used for generating the date details. For Inspect, each column in an existing output table must have the same name, type, and mode of a field in the `Finding` object. For Risk, an existing output table should be the output of a previous Risk analysis job run on the same source table, with the same privacy metric and quasi-identifiers. Risk jobs that analyze the same table but compute a different privacy metric, or use different sets of quasi-identifiers, cannot store their results in the same table. "datasetId": "A String", # Dataset ID of the table. "projectId": "A String", # The Google Cloud Platform project ID of the project containing the table. If omitted, project ID is inferred from the API call. "tableId": "A String", # Name of the table. diff --git a/docs/dyn/dlp_v2.organizations.locations.inspectTemplates.html b/docs/dyn/dlp_v2.organizations.locations.inspectTemplates.html index 6f128c68712..a6b149e6eb6 100644 --- a/docs/dyn/dlp_v2.organizations.locations.inspectTemplates.html +++ b/docs/dyn/dlp_v2.organizations.locations.inspectTemplates.html @@ -79,7 +79,7 @@

Instance Methods

Close httplib2 connections.

create(parent, body=None, x__xgafv=None)

-

Creates an InspectTemplate for re-using frequently used configuration for inspecting content, images, and storage. See https://cloud.google.com/dlp/docs/creating-templates to learn more.

+

Creates an InspectTemplate for reusing frequently used configuration for inspecting content, images, and storage. See https://cloud.google.com/dlp/docs/creating-templates to learn more.

delete(name, x__xgafv=None)

Deletes an InspectTemplate. See https://cloud.google.com/dlp/docs/creating-templates to learn more.

@@ -103,7 +103,7 @@

Method Details

create(parent, body=None, x__xgafv=None) -
Creates an InspectTemplate for re-using frequently used configuration for inspecting content, images, and storage. See https://cloud.google.com/dlp/docs/creating-templates to learn more.
+  
Creates an InspectTemplate for reusing frequently used configuration for inspecting content, images, and storage. See https://cloud.google.com/dlp/docs/creating-templates to learn more.
 
 Args:
   parent: string, Required. Parent resource name. The format of this value varies depending on the scope of the request (project or organization) and whether you have [specified a processing location](https://cloud.google.com/dlp/docs/specifying-location): + Projects scope, location specified: `projects/`PROJECT_ID`/locations/`LOCATION_ID + Projects scope, no location specified (defaults to global): `projects/`PROJECT_ID + Organizations scope, location specified: `organizations/`ORG_ID`/locations/`LOCATION_ID + Organizations scope, no location specified (defaults to global): `organizations/`ORG_ID The following example `parent` string specifies a parent project with the identifier `example-project`, and specifies the `europe-west3` location for processing data: parent=projects/example-project/locations/europe-west3 (required)
@@ -179,7 +179,7 @@ 

Method Details

"version": "A String", # Optional version name for this InfoType. }, ], - "limits": { # Configuration to control the number of findings returned for inspection. This is not used for de-identification or data profiling. # Configuration to control the number of findings returned. This is not used for data profiling. + "limits": { # Configuration to control the number of findings returned for inspection. This is not used for de-identification or data profiling. When redacting sensitive data from images, finding limits don't apply. They can cause unexpected or inconsistent results, where only some data is redacted. Don't include finding limits in RedactImage requests. Otherwise, Cloud DLP returns an error. # Configuration to control the number of findings returned. This is not used for data profiling. When redacting sensitive data from images, finding limits don't apply. They can cause unexpected or inconsistent results, where only some data is redacted. Don't include finding limits in RedactImage requests. Otherwise, Cloud DLP returns an error. "maxFindingsPerInfoType": [ # Configuration of findings limit given for specified infoTypes. { # Max findings configuration per infoType, per content item or long running DlpJob. "infoType": { # Type of information detected by the API. # Type of information the findings limit applies to. Only one limit per info_type should be provided. If InfoTypeLimit does not have an info_type, the DLP API applies the limit against all info_types that are found but not specified in another InfoTypeLimit. @@ -214,7 +214,7 @@

Method Details

], }, }, - "excludeInfoTypes": { # List of exclude infoTypes. # Set of infoTypes for which findings would affect this rule. + "excludeInfoTypes": { # List of excluded infoTypes. # Set of infoTypes for which findings would affect this rule. "infoTypes": [ # InfoType list in ExclusionRule rule drops a finding when it overlaps or contained within with a finding of an infoType from this list. For example, for `InspectionRuleSet.info_types` containing "PHONE_NUMBER"` and `exclusion_rule` containing `exclude_info_types.info_types` with "EMAIL_ADDRESS" the phone number findings are dropped if they overlap with EMAIL_ADDRESS finding. That leads to "555-222-2222@example.org" to generate only a single finding, namely email address. { # Type of information detected by the API. "name": "A String", # Name of the information type. Either a name of your choosing when creating a CustomInfoType, or one of the names listed at https://cloud.google.com/dlp/docs/infotypes-reference when specifying a built-in type. When sending Cloud DLP results to Data Catalog, infoType names should conform to the pattern `[A-Za-z0-9$-_]{1,64}`. @@ -334,7 +334,7 @@

Method Details

"version": "A String", # Optional version name for this InfoType. }, ], - "limits": { # Configuration to control the number of findings returned for inspection. This is not used for de-identification or data profiling. # Configuration to control the number of findings returned. This is not used for data profiling. + "limits": { # Configuration to control the number of findings returned for inspection. This is not used for de-identification or data profiling. When redacting sensitive data from images, finding limits don't apply. They can cause unexpected or inconsistent results, where only some data is redacted. Don't include finding limits in RedactImage requests. Otherwise, Cloud DLP returns an error. # Configuration to control the number of findings returned. This is not used for data profiling. When redacting sensitive data from images, finding limits don't apply. They can cause unexpected or inconsistent results, where only some data is redacted. Don't include finding limits in RedactImage requests. Otherwise, Cloud DLP returns an error. "maxFindingsPerInfoType": [ # Configuration of findings limit given for specified infoTypes. { # Max findings configuration per infoType, per content item or long running DlpJob. "infoType": { # Type of information detected by the API. # Type of information the findings limit applies to. Only one limit per info_type should be provided. If InfoTypeLimit does not have an info_type, the DLP API applies the limit against all info_types that are found but not specified in another InfoTypeLimit. @@ -369,7 +369,7 @@

Method Details

], }, }, - "excludeInfoTypes": { # List of exclude infoTypes. # Set of infoTypes for which findings would affect this rule. + "excludeInfoTypes": { # List of excluded infoTypes. # Set of infoTypes for which findings would affect this rule. "infoTypes": [ # InfoType list in ExclusionRule rule drops a finding when it overlaps or contained within with a finding of an infoType from this list. For example, for `InspectionRuleSet.info_types` containing "PHONE_NUMBER"` and `exclusion_rule` containing `exclude_info_types.info_types` with "EMAIL_ADDRESS" the phone number findings are dropped if they overlap with EMAIL_ADDRESS finding. That leads to "555-222-2222@example.org" to generate only a single finding, namely email address. { # Type of information detected by the API. "name": "A String", # Name of the information type. Either a name of your choosing when creating a CustomInfoType, or one of the names listed at https://cloud.google.com/dlp/docs/infotypes-reference when specifying a built-in type. When sending Cloud DLP results to Data Catalog, infoType names should conform to the pattern `[A-Za-z0-9$-_]{1,64}`. @@ -511,7 +511,7 @@

Method Details

"version": "A String", # Optional version name for this InfoType. }, ], - "limits": { # Configuration to control the number of findings returned for inspection. This is not used for de-identification or data profiling. # Configuration to control the number of findings returned. This is not used for data profiling. + "limits": { # Configuration to control the number of findings returned for inspection. This is not used for de-identification or data profiling. When redacting sensitive data from images, finding limits don't apply. They can cause unexpected or inconsistent results, where only some data is redacted. Don't include finding limits in RedactImage requests. Otherwise, Cloud DLP returns an error. # Configuration to control the number of findings returned. This is not used for data profiling. When redacting sensitive data from images, finding limits don't apply. They can cause unexpected or inconsistent results, where only some data is redacted. Don't include finding limits in RedactImage requests. Otherwise, Cloud DLP returns an error. "maxFindingsPerInfoType": [ # Configuration of findings limit given for specified infoTypes. { # Max findings configuration per infoType, per content item or long running DlpJob. "infoType": { # Type of information detected by the API. # Type of information the findings limit applies to. Only one limit per info_type should be provided. If InfoTypeLimit does not have an info_type, the DLP API applies the limit against all info_types that are found but not specified in another InfoTypeLimit. @@ -546,7 +546,7 @@

Method Details

], }, }, - "excludeInfoTypes": { # List of exclude infoTypes. # Set of infoTypes for which findings would affect this rule. + "excludeInfoTypes": { # List of excluded infoTypes. # Set of infoTypes for which findings would affect this rule. "infoTypes": [ # InfoType list in ExclusionRule rule drops a finding when it overlaps or contained within with a finding of an infoType from this list. For example, for `InspectionRuleSet.info_types` containing "PHONE_NUMBER"` and `exclusion_rule` containing `exclude_info_types.info_types` with "EMAIL_ADDRESS" the phone number findings are dropped if they overlap with EMAIL_ADDRESS finding. That leads to "555-222-2222@example.org" to generate only a single finding, namely email address. { # Type of information detected by the API. "name": "A String", # Name of the information type. Either a name of your choosing when creating a CustomInfoType, or one of the names listed at https://cloud.google.com/dlp/docs/infotypes-reference when specifying a built-in type. When sending Cloud DLP results to Data Catalog, infoType names should conform to the pattern `[A-Za-z0-9$-_]{1,64}`. @@ -595,8 +595,8 @@

Method Details

Args: parent: string, Required. Parent resource name. The format of this value varies depending on the scope of the request (project or organization) and whether you have [specified a processing location](https://cloud.google.com/dlp/docs/specifying-location): + Projects scope, location specified: `projects/`PROJECT_ID`/locations/`LOCATION_ID + Projects scope, no location specified (defaults to global): `projects/`PROJECT_ID + Organizations scope, location specified: `organizations/`ORG_ID`/locations/`LOCATION_ID + Organizations scope, no location specified (defaults to global): `organizations/`ORG_ID The following example `parent` string specifies a parent project with the identifier `example-project`, and specifies the `europe-west3` location for processing data: parent=projects/example-project/locations/europe-west3 (required) locationId: string, Deprecated. This field has no effect. - orderBy: string, Comma separated list of fields to order by, followed by `asc` or `desc` postfix. This list is case-insensitive, default sorting order is ascending, redundant space characters are insignificant. Example: `name asc,update_time, create_time desc` Supported fields are: - `create_time`: corresponds to time the template was created. - `update_time`: corresponds to time the template was last updated. - `name`: corresponds to template's name. - `display_name`: corresponds to template's display name. - pageSize: integer, Size of the page, can be limited by server. If zero server returns a page of max size 100. + orderBy: string, Comma separated list of fields to order by, followed by `asc` or `desc` postfix. This list is case-insensitive, default sorting order is ascending, redundant space characters are insignificant. Example: `name asc,update_time, create_time desc` Supported fields are: - `create_time`: corresponds to the time the template was created. - `update_time`: corresponds to the time the template was last updated. - `name`: corresponds to the template's name. - `display_name`: corresponds to the template's display name. + pageSize: integer, Size of the page, can be limited by the server. If zero server returns a page of max size 100. pageToken: string, Page token to continue retrieval. Comes from previous call to `ListInspectTemplates`. x__xgafv: string, V1 error format. Allowed values @@ -676,7 +676,7 @@

Method Details

"version": "A String", # Optional version name for this InfoType. }, ], - "limits": { # Configuration to control the number of findings returned for inspection. This is not used for de-identification or data profiling. # Configuration to control the number of findings returned. This is not used for data profiling. + "limits": { # Configuration to control the number of findings returned for inspection. This is not used for de-identification or data profiling. When redacting sensitive data from images, finding limits don't apply. They can cause unexpected or inconsistent results, where only some data is redacted. Don't include finding limits in RedactImage requests. Otherwise, Cloud DLP returns an error. # Configuration to control the number of findings returned. This is not used for data profiling. When redacting sensitive data from images, finding limits don't apply. They can cause unexpected or inconsistent results, where only some data is redacted. Don't include finding limits in RedactImage requests. Otherwise, Cloud DLP returns an error. "maxFindingsPerInfoType": [ # Configuration of findings limit given for specified infoTypes. { # Max findings configuration per infoType, per content item or long running DlpJob. "infoType": { # Type of information detected by the API. # Type of information the findings limit applies to. Only one limit per info_type should be provided. If InfoTypeLimit does not have an info_type, the DLP API applies the limit against all info_types that are found but not specified in another InfoTypeLimit. @@ -711,7 +711,7 @@

Method Details

], }, }, - "excludeInfoTypes": { # List of exclude infoTypes. # Set of infoTypes for which findings would affect this rule. + "excludeInfoTypes": { # List of excluded infoTypes. # Set of infoTypes for which findings would affect this rule. "infoTypes": [ # InfoType list in ExclusionRule rule drops a finding when it overlaps or contained within with a finding of an infoType from this list. For example, for `InspectionRuleSet.info_types` containing "PHONE_NUMBER"` and `exclusion_rule` containing `exclude_info_types.info_types` with "EMAIL_ADDRESS" the phone number findings are dropped if they overlap with EMAIL_ADDRESS finding. That leads to "555-222-2222@example.org" to generate only a single finding, namely email address. { # Type of information detected by the API. "name": "A String", # Name of the information type. Either a name of your choosing when creating a CustomInfoType, or one of the names listed at https://cloud.google.com/dlp/docs/infotypes-reference when specifying a built-in type. When sending Cloud DLP results to Data Catalog, infoType names should conform to the pattern `[A-Za-z0-9$-_]{1,64}`. @@ -848,7 +848,7 @@

Method Details

"version": "A String", # Optional version name for this InfoType. }, ], - "limits": { # Configuration to control the number of findings returned for inspection. This is not used for de-identification or data profiling. # Configuration to control the number of findings returned. This is not used for data profiling. + "limits": { # Configuration to control the number of findings returned for inspection. This is not used for de-identification or data profiling. When redacting sensitive data from images, finding limits don't apply. They can cause unexpected or inconsistent results, where only some data is redacted. Don't include finding limits in RedactImage requests. Otherwise, Cloud DLP returns an error. # Configuration to control the number of findings returned. This is not used for data profiling. When redacting sensitive data from images, finding limits don't apply. They can cause unexpected or inconsistent results, where only some data is redacted. Don't include finding limits in RedactImage requests. Otherwise, Cloud DLP returns an error. "maxFindingsPerInfoType": [ # Configuration of findings limit given for specified infoTypes. { # Max findings configuration per infoType, per content item or long running DlpJob. "infoType": { # Type of information detected by the API. # Type of information the findings limit applies to. Only one limit per info_type should be provided. If InfoTypeLimit does not have an info_type, the DLP API applies the limit against all info_types that are found but not specified in another InfoTypeLimit. @@ -883,7 +883,7 @@

Method Details

], }, }, - "excludeInfoTypes": { # List of exclude infoTypes. # Set of infoTypes for which findings would affect this rule. + "excludeInfoTypes": { # List of excluded infoTypes. # Set of infoTypes for which findings would affect this rule. "infoTypes": [ # InfoType list in ExclusionRule rule drops a finding when it overlaps or contained within with a finding of an infoType from this list. For example, for `InspectionRuleSet.info_types` containing "PHONE_NUMBER"` and `exclusion_rule` containing `exclude_info_types.info_types` with "EMAIL_ADDRESS" the phone number findings are dropped if they overlap with EMAIL_ADDRESS finding. That leads to "555-222-2222@example.org" to generate only a single finding, namely email address. { # Type of information detected by the API. "name": "A String", # Name of the information type. Either a name of your choosing when creating a CustomInfoType, or one of the names listed at https://cloud.google.com/dlp/docs/infotypes-reference when specifying a built-in type. When sending Cloud DLP results to Data Catalog, infoType names should conform to the pattern `[A-Za-z0-9$-_]{1,64}`. @@ -1002,7 +1002,7 @@

Method Details

"version": "A String", # Optional version name for this InfoType. }, ], - "limits": { # Configuration to control the number of findings returned for inspection. This is not used for de-identification or data profiling. # Configuration to control the number of findings returned. This is not used for data profiling. + "limits": { # Configuration to control the number of findings returned for inspection. This is not used for de-identification or data profiling. When redacting sensitive data from images, finding limits don't apply. They can cause unexpected or inconsistent results, where only some data is redacted. Don't include finding limits in RedactImage requests. Otherwise, Cloud DLP returns an error. # Configuration to control the number of findings returned. This is not used for data profiling. When redacting sensitive data from images, finding limits don't apply. They can cause unexpected or inconsistent results, where only some data is redacted. Don't include finding limits in RedactImage requests. Otherwise, Cloud DLP returns an error. "maxFindingsPerInfoType": [ # Configuration of findings limit given for specified infoTypes. { # Max findings configuration per infoType, per content item or long running DlpJob. "infoType": { # Type of information detected by the API. # Type of information the findings limit applies to. Only one limit per info_type should be provided. If InfoTypeLimit does not have an info_type, the DLP API applies the limit against all info_types that are found but not specified in another InfoTypeLimit. @@ -1037,7 +1037,7 @@

Method Details

], }, }, - "excludeInfoTypes": { # List of exclude infoTypes. # Set of infoTypes for which findings would affect this rule. + "excludeInfoTypes": { # List of excluded infoTypes. # Set of infoTypes for which findings would affect this rule. "infoTypes": [ # InfoType list in ExclusionRule rule drops a finding when it overlaps or contained within with a finding of an infoType from this list. For example, for `InspectionRuleSet.info_types` containing "PHONE_NUMBER"` and `exclusion_rule` containing `exclude_info_types.info_types` with "EMAIL_ADDRESS" the phone number findings are dropped if they overlap with EMAIL_ADDRESS finding. That leads to "555-222-2222@example.org" to generate only a single finding, namely email address. { # Type of information detected by the API. "name": "A String", # Name of the information type. Either a name of your choosing when creating a CustomInfoType, or one of the names listed at https://cloud.google.com/dlp/docs/infotypes-reference when specifying a built-in type. When sending Cloud DLP results to Data Catalog, infoType names should conform to the pattern `[A-Za-z0-9$-_]{1,64}`. diff --git a/docs/dyn/dlp_v2.organizations.locations.jobTriggers.html b/docs/dyn/dlp_v2.organizations.locations.jobTriggers.html index ba02db7f40d..a071ecc598d 100644 --- a/docs/dyn/dlp_v2.organizations.locations.jobTriggers.html +++ b/docs/dyn/dlp_v2.organizations.locations.jobTriggers.html @@ -134,21 +134,39 @@

Method Details

"inspectJob": { # Controls what and how to inspect for findings. # For inspect jobs, a snapshot of the configuration. "actions": [ # Actions to execute at the completion of the job. { # A task to execute on the completion of a job. See https://cloud.google.com/dlp/docs/concepts-actions to learn more. + "deidentify": { # Create a de-identified copy of the requested table or files. . A TransformationDetail will be created for each transformation. If any rows in BigQuery are skipped during de-identification (transformation errors or row size exceeds BigQuery insert API limits) they are placed in the failure output table. If the original row exceeds the BigQuery insert API limit it will be truncated when written to the failure output table. The failure output table can be set in the action.deidentify.output.big_query_output.deidentified_failure_output_table field, if no table is set, a table will be automatically created in the same project and dataset as the original table. Compatible with: Inspect # Create a de-identified copy of the input data. Applicable for non-image data only. The de-identified copy is in the same location as the original data. + "cloudStorageOutput": "A String", # Required. User settable GCS bucket and folders to store de-identified files. This field must be set for cloud storage deidentification. The output GCS bucket must be different from the input bucket. De-identified files will overwrite files in the output path. Form of: gs://bucket/folder/ or gs://bucket + "fileTypesToTransform": [ # List of user-specified file type groups to transform. If specified, only the files with these filetypes will be transformed. If empty, all supported files will be transformed. Supported types may be automatically added over time. If a file type is set in this field that isn't supported by the Deidentify action then the job will fail and will not be successfully created/started. Currently the only filetypes supported are: IMAGES, TEXT_FILES, CSV, TSV. + "A String", + ], + "transformationConfig": { # User specified templates and configs for how to deidentify structured, unstructures, and image files. User must provide either a unstructured deidentify template or at least one redact image config. # User specified deidentify templates and configs for structured, unstructured, and image files. + "deidentifyTemplate": "A String", # De-identify template. If this template is specified, it will serve as the default de-identify template. This template cannot contain `record_transformations` since it can be used for unstructured content such as free-form text files. If this template is not set, a default `ReplaceWithInfoTypeConfig` will be used to de-identify unstructured content. + "imageRedactTemplate": "A String", # Image redact template. If this template is specified, it will serve as the de-identify template for images. If this template is not set, all findings in the image will be redacted with a black box. + "structuredDeidentifyTemplate": "A String", # Structured de-identify template. If this template is specified, it will serve as the de-identify template for structured content such as delimited files and tables. If this template is not set but the `deidentify_template` is set, then `deidentify_template` will also apply to the structured content. If neither template is set, a default `ReplaceWithInfoTypeConfig` will be used to de-identify structured content. + }, + "transformationDetailsStorageConfig": { # Config for storing transformation details. # Config for storing transformation details. This is separate from the de-identified content, and contains metadata about the successful transformations and/or failures that occurred while de-identifying. This needs to be set in order for users to access information about the status of each transformation (see TransformationDetails message for more information about what is noted). + "table": { # Message defining the location of a BigQuery table. A table is uniquely identified by its project_id, dataset_id, and table_name. Within a query a table is often referenced with a string in the format of: `:.` or `..`. # The BigQuery table in which to store the output. This may be an existing table or in a new table in an existing dataset. If table_id is not set a new one will be generated for you with the following format: dlp_googleapis_transformation_details_yyyy_mm_dd_[dlp_job_id]. Pacific time zone will be used for generating the date details. + "datasetId": "A String", # Dataset ID of the table. + "projectId": "A String", # The Google Cloud Platform project ID of the project containing the table. If omitted, project ID is inferred from the API call. + "tableId": "A String", # Name of the table. + }, + }, + }, "jobNotificationEmails": { # Enable email notification to project owners and editors on jobs's completion/failure. # Enable email notification for project owners and editors on job's completion/failure. }, - "pubSub": { # Publish a message into given Pub/Sub topic when DlpJob has completed. The message contains a single field, `DlpJobName`, which is equal to the finished job's [`DlpJob.name`](https://cloud.google.com/dlp/docs/reference/rest/v2/projects.dlpJobs#DlpJob). Compatible with: Inspect, Risk # Publish a notification to a pubsub topic. + "pubSub": { # Publish a message into a given Pub/Sub topic when DlpJob has completed. The message contains a single field, `DlpJobName`, which is equal to the finished job's [`DlpJob.name`](https://cloud.google.com/dlp/docs/reference/rest/v2/projects.dlpJobs#DlpJob). Compatible with: Inspect, Risk # Publish a notification to a pubsub topic. "topic": "A String", # Cloud Pub/Sub topic to send notifications to. The topic must have given publishing access rights to the DLP API service account executing the long running DlpJob sending the notifications. Format is projects/{project}/topics/{topic}. }, "publishFindingsToCloudDataCatalog": { # Publish findings of a DlpJob to Data Catalog. Labels summarizing the results of the DlpJob will be applied to the entry for the resource scanned in Data Catalog. Any labels previously written by another DlpJob will be deleted. InfoType naming patterns are strictly enforced when using this feature. Note that the findings will be persisted in Data Catalog storage and are governed by Data Catalog service-specific policy, see https://cloud.google.com/terms/service-terms Only a single instance of this action can be specified and only allowed if all resources being scanned are BigQuery tables. Compatible with: Inspect # Publish findings to Cloud Datahub. }, - "publishSummaryToCscc": { # Publish the result summary of a DlpJob to the Cloud Security Command Center (CSCC Alpha). This action is only available for projects which are parts of an organization and whitelisted for the alpha Cloud Security Command Center. The action will publish count of finding instances and their info types. The summary of findings will be persisted in CSCC and are governed by CSCC service-specific policy, see https://cloud.google.com/terms/service-terms Only a single instance of this action can be specified. Compatible with: Inspect # Publish summary to Cloud Security Command Center (Alpha). + "publishSummaryToCscc": { # Publish the result summary of a DlpJob to the Cloud Security Command Center (CSCC Alpha). This action is only available for projects which are parts of an organization and whitelisted for the alpha Cloud Security Command Center. The action will publish the count of finding instances and their info types. The summary of findings will be persisted in CSCC and are governed by CSCC service-specific policy, see https://cloud.google.com/terms/service-terms Only a single instance of this action can be specified. Compatible with: Inspect # Publish summary to Cloud Security Command Center (Alpha). }, "publishToStackdriver": { # Enable Stackdriver metric dlp.googleapis.com/finding_count. This will publish a metric to stack driver on each infotype requested and how many findings were found for it. CustomDetectors will be bucketed as 'Custom' under the Stackdriver label 'info_type'. # Enable Stackdriver metric dlp.googleapis.com/finding_count. }, "saveFindings": { # If set, the detailed findings will be persisted to the specified OutputStorageConfig. Only a single instance of this action can be specified. Compatible with: Inspect, Risk # Save resulting findings in a provided location. "outputConfig": { # Cloud repository for storing output. # Location to store findings outside of DLP. "outputSchema": "A String", # Schema used for writing the findings for Inspect jobs. This field is only used for Inspect and must be unspecified for Risk jobs. Columns are derived from the `Finding` object. If appending to an existing table, any columns from the predefined schema that are missing will be added. No columns in the existing table will be deleted. If unspecified, then all available columns will be used for a new table or an (existing) table with no schema, and no changes will be made to an existing table that has a schema. Only for use with external storage. - "table": { # Message defining the location of a BigQuery table. A table is uniquely identified by its project_id, dataset_id, and table_name. Within a query a table is often referenced with a string in the format of: `:.` or `..`. # Store findings in an existing table or a new table in an existing dataset. If table_id is not set a new one will be generated for you with the following format: dlp_googleapis_yyyy_mm_dd_[dlp_job_id]. Pacific timezone will be used for generating the date details. For Inspect, each column in an existing output table must have the same name, type, and mode of a field in the `Finding` object. For Risk, an existing output table should be the output of a previous Risk analysis job run on the same source table, with the same privacy metric and quasi-identifiers. Risk jobs that analyze the same table but compute a different privacy metric, or use different sets of quasi-identifiers, cannot store their results in the same table. + "table": { # Message defining the location of a BigQuery table. A table is uniquely identified by its project_id, dataset_id, and table_name. Within a query a table is often referenced with a string in the format of: `:.` or `..`. # Store findings in an existing table or a new table in an existing dataset. If table_id is not set a new one will be generated for you with the following format: dlp_googleapis_yyyy_mm_dd_[dlp_job_id]. Pacific time zone will be used for generating the date details. For Inspect, each column in an existing output table must have the same name, type, and mode of a field in the `Finding` object. For Risk, an existing output table should be the output of a previous Risk analysis job run on the same source table, with the same privacy metric and quasi-identifiers. Risk jobs that analyze the same table but compute a different privacy metric, or use different sets of quasi-identifiers, cannot store their results in the same table. "datasetId": "A String", # Dataset ID of the table. "projectId": "A String", # The Google Cloud Platform project ID of the project containing the table. If omitted, project ID is inferred from the API call. "tableId": "A String", # Name of the table. @@ -221,7 +239,7 @@

Method Details

"version": "A String", # Optional version name for this InfoType. }, ], - "limits": { # Configuration to control the number of findings returned for inspection. This is not used for de-identification or data profiling. # Configuration to control the number of findings returned. This is not used for data profiling. + "limits": { # Configuration to control the number of findings returned for inspection. This is not used for de-identification or data profiling. When redacting sensitive data from images, finding limits don't apply. They can cause unexpected or inconsistent results, where only some data is redacted. Don't include finding limits in RedactImage requests. Otherwise, Cloud DLP returns an error. # Configuration to control the number of findings returned. This is not used for data profiling. When redacting sensitive data from images, finding limits don't apply. They can cause unexpected or inconsistent results, where only some data is redacted. Don't include finding limits in RedactImage requests. Otherwise, Cloud DLP returns an error. "maxFindingsPerInfoType": [ # Configuration of findings limit given for specified infoTypes. { # Max findings configuration per infoType, per content item or long running DlpJob. "infoType": { # Type of information detected by the API. # Type of information the findings limit applies to. Only one limit per info_type should be provided. If InfoTypeLimit does not have an info_type, the DLP API applies the limit against all info_types that are found but not specified in another InfoTypeLimit. @@ -256,7 +274,7 @@

Method Details

], }, }, - "excludeInfoTypes": { # List of exclude infoTypes. # Set of infoTypes for which findings would affect this rule. + "excludeInfoTypes": { # List of excluded infoTypes. # Set of infoTypes for which findings would affect this rule. "infoTypes": [ # InfoType list in ExclusionRule rule drops a finding when it overlaps or contained within with a finding of an infoType from this list. For example, for `InspectionRuleSet.info_types` containing "PHONE_NUMBER"` and `exclusion_rule` containing `exclude_info_types.info_types` with "EMAIL_ADDRESS" the phone number findings are dropped if they overlap with EMAIL_ADDRESS finding. That leads to "555-222-2222@example.org" to generate only a single finding, namely email address. { # Type of information detected by the API. "name": "A String", # Name of the information type. Either a name of your choosing when creating a CustomInfoType, or one of the names listed at https://cloud.google.com/dlp/docs/infotypes-reference when specifying a built-in type. When sending Cloud DLP results to Data Catalog, infoType names should conform to the pattern `[A-Za-z0-9$-_]{1,64}`. @@ -320,7 +338,7 @@

Method Details

"tableId": "A String", # Name of the table. }, }, - "cloudStorageOptions": { # Options defining a file or a set of files within a Google Cloud Storage bucket. # Google Cloud Storage options. + "cloudStorageOptions": { # Options defining a file or a set of files within a Cloud Storage bucket. # Cloud Storage options. "bytesLimitPerFile": "A String", # Max number of bytes to scan from a file. If a scanned file's size is bigger than this value then the rest of the bytes are omitted. Only one of bytes_limit_per_file and bytes_limit_per_file_percent can be specified. Cannot be set if de-identification is requested. "bytesLimitPerFilePercent": 42, # Max percentage of bytes to scan from a file. The rest are omitted. The number of bytes scanned is rounded down. Must be between 0 and 100, inclusively. Both 0 and 100 means no limit. Defaults to 0. Only one of bytes_limit_per_file and bytes_limit_per_file_percent can be specified. Cannot be set if de-identification is requested. "fileSet": { # Set of files to scan. # The set of one or more files to scan. @@ -366,11 +384,11 @@

Method Details

], }, }, - "timespanConfig": { # Configuration of the timespan of the items to include in scanning. Currently only supported when inspecting Google Cloud Storage and BigQuery. + "timespanConfig": { # Configuration of the timespan of the items to include in scanning. Currently only supported when inspecting Cloud Storage and BigQuery. "enableAutoPopulationOfTimespanConfig": True or False, # When the job is started by a JobTrigger we will automatically figure out a valid start_time to avoid scanning files that have not been modified since the last time the JobTrigger executed. This will be based on the time of the execution of the last run of the JobTrigger. "endTime": "A String", # Exclude files, tables, or rows newer than this value. If not set, no upper time limit is applied. "startTime": "A String", # Exclude files, tables, or rows older than this value. If not set, no lower time limit is applied. - "timestampField": { # General identifier of a data field in a storage service. # Specification of the field containing the timestamp of scanned items. Used for data sources like Datastore and BigQuery. For BigQuery: If this value is not specified and the table was modified between the given start and end times, the entire table will be scanned. If this value is specified, then rows are filtered based on the given start and end times. Rows with a `NULL` value in the provided BigQuery column are skipped. Valid data types of the provided BigQuery column are: `INTEGER`, `DATE`, `TIMESTAMP`, and `DATETIME`. For Datastore: If this value is specified, then entities are filtered based on the given start and end times. If an entity does not contain the provided timestamp property or contains empty or invalid values, then it is included. Valid data types of the provided timestamp property are: `TIMESTAMP`. + "timestampField": { # General identifier of a data field in a storage service. # Specification of the field containing the timestamp of scanned items. Used for data sources like Datastore and BigQuery. *For BigQuery* If this value is not specified and the table was modified between the given start and end times, the entire table will be scanned. If this value is specified, then rows are filtered based on the given start and end times. Rows with a `NULL` value in the provided BigQuery column are skipped. Valid data types of the provided BigQuery column are: `INTEGER`, `DATE`, `TIMESTAMP`, and `DATETIME`. If your BigQuery table is [partitioned at ingestion time](https://cloud.google.com/bigquery/docs/partitioned-tables#ingestion_time), you can use any of the following pseudo-columns as your timestamp field. When used with Cloud DLP, these pseudo-column names are case sensitive. - _PARTITIONTIME - _PARTITIONDATE - _PARTITION_LOAD_TIME *For Datastore* If this value is specified, then entities are filtered based on the given start and end times. If an entity does not contain the provided timestamp property or contains empty or invalid values, then it is included. Valid data types of the provided timestamp property are: `TIMESTAMP`. See the [known issue](https://cloud.google.com/dlp/docs/known-issues#bq-timespan) related to this operation. "name": "A String", # Name describing the field. }, }, @@ -384,7 +402,7 @@

Method Details

"manual": { # Job trigger option for hybrid jobs. Jobs must be manually created and finished. # For use with hybrid jobs. Jobs must be manually created and finished. }, "schedule": { # Schedule for inspect job triggers. # Create a job on a repeating basis based on the elapse of time. - "recurrencePeriodDuration": "A String", # With this option a job is started a regular periodic basis. For example: every day (86400 seconds). A scheduled start time will be skipped if the previous execution has not ended when its scheduled time occurs. This value must be set to a time duration greater than or equal to 1 day and can be no longer than 60 days. + "recurrencePeriodDuration": "A String", # With this option a job is started on a regular periodic basis. For example: every day (86400 seconds). A scheduled start time will be skipped if the previous execution has not ended when its scheduled time occurs. This value must be set to a time duration greater than or equal to 1 day and can be no longer than 60 days. }, }, ], @@ -425,21 +443,39 @@

Method Details

"inspectJob": { # Controls what and how to inspect for findings. # For inspect jobs, a snapshot of the configuration. "actions": [ # Actions to execute at the completion of the job. { # A task to execute on the completion of a job. See https://cloud.google.com/dlp/docs/concepts-actions to learn more. + "deidentify": { # Create a de-identified copy of the requested table or files. . A TransformationDetail will be created for each transformation. If any rows in BigQuery are skipped during de-identification (transformation errors or row size exceeds BigQuery insert API limits) they are placed in the failure output table. If the original row exceeds the BigQuery insert API limit it will be truncated when written to the failure output table. The failure output table can be set in the action.deidentify.output.big_query_output.deidentified_failure_output_table field, if no table is set, a table will be automatically created in the same project and dataset as the original table. Compatible with: Inspect # Create a de-identified copy of the input data. Applicable for non-image data only. The de-identified copy is in the same location as the original data. + "cloudStorageOutput": "A String", # Required. User settable GCS bucket and folders to store de-identified files. This field must be set for cloud storage deidentification. The output GCS bucket must be different from the input bucket. De-identified files will overwrite files in the output path. Form of: gs://bucket/folder/ or gs://bucket + "fileTypesToTransform": [ # List of user-specified file type groups to transform. If specified, only the files with these filetypes will be transformed. If empty, all supported files will be transformed. Supported types may be automatically added over time. If a file type is set in this field that isn't supported by the Deidentify action then the job will fail and will not be successfully created/started. Currently the only filetypes supported are: IMAGES, TEXT_FILES, CSV, TSV. + "A String", + ], + "transformationConfig": { # User specified templates and configs for how to deidentify structured, unstructures, and image files. User must provide either a unstructured deidentify template or at least one redact image config. # User specified deidentify templates and configs for structured, unstructured, and image files. + "deidentifyTemplate": "A String", # De-identify template. If this template is specified, it will serve as the default de-identify template. This template cannot contain `record_transformations` since it can be used for unstructured content such as free-form text files. If this template is not set, a default `ReplaceWithInfoTypeConfig` will be used to de-identify unstructured content. + "imageRedactTemplate": "A String", # Image redact template. If this template is specified, it will serve as the de-identify template for images. If this template is not set, all findings in the image will be redacted with a black box. + "structuredDeidentifyTemplate": "A String", # Structured de-identify template. If this template is specified, it will serve as the de-identify template for structured content such as delimited files and tables. If this template is not set but the `deidentify_template` is set, then `deidentify_template` will also apply to the structured content. If neither template is set, a default `ReplaceWithInfoTypeConfig` will be used to de-identify structured content. + }, + "transformationDetailsStorageConfig": { # Config for storing transformation details. # Config for storing transformation details. This is separate from the de-identified content, and contains metadata about the successful transformations and/or failures that occurred while de-identifying. This needs to be set in order for users to access information about the status of each transformation (see TransformationDetails message for more information about what is noted). + "table": { # Message defining the location of a BigQuery table. A table is uniquely identified by its project_id, dataset_id, and table_name. Within a query a table is often referenced with a string in the format of: `:.` or `..`. # The BigQuery table in which to store the output. This may be an existing table or in a new table in an existing dataset. If table_id is not set a new one will be generated for you with the following format: dlp_googleapis_transformation_details_yyyy_mm_dd_[dlp_job_id]. Pacific time zone will be used for generating the date details. + "datasetId": "A String", # Dataset ID of the table. + "projectId": "A String", # The Google Cloud Platform project ID of the project containing the table. If omitted, project ID is inferred from the API call. + "tableId": "A String", # Name of the table. + }, + }, + }, "jobNotificationEmails": { # Enable email notification to project owners and editors on jobs's completion/failure. # Enable email notification for project owners and editors on job's completion/failure. }, - "pubSub": { # Publish a message into given Pub/Sub topic when DlpJob has completed. The message contains a single field, `DlpJobName`, which is equal to the finished job's [`DlpJob.name`](https://cloud.google.com/dlp/docs/reference/rest/v2/projects.dlpJobs#DlpJob). Compatible with: Inspect, Risk # Publish a notification to a pubsub topic. + "pubSub": { # Publish a message into a given Pub/Sub topic when DlpJob has completed. The message contains a single field, `DlpJobName`, which is equal to the finished job's [`DlpJob.name`](https://cloud.google.com/dlp/docs/reference/rest/v2/projects.dlpJobs#DlpJob). Compatible with: Inspect, Risk # Publish a notification to a pubsub topic. "topic": "A String", # Cloud Pub/Sub topic to send notifications to. The topic must have given publishing access rights to the DLP API service account executing the long running DlpJob sending the notifications. Format is projects/{project}/topics/{topic}. }, "publishFindingsToCloudDataCatalog": { # Publish findings of a DlpJob to Data Catalog. Labels summarizing the results of the DlpJob will be applied to the entry for the resource scanned in Data Catalog. Any labels previously written by another DlpJob will be deleted. InfoType naming patterns are strictly enforced when using this feature. Note that the findings will be persisted in Data Catalog storage and are governed by Data Catalog service-specific policy, see https://cloud.google.com/terms/service-terms Only a single instance of this action can be specified and only allowed if all resources being scanned are BigQuery tables. Compatible with: Inspect # Publish findings to Cloud Datahub. }, - "publishSummaryToCscc": { # Publish the result summary of a DlpJob to the Cloud Security Command Center (CSCC Alpha). This action is only available for projects which are parts of an organization and whitelisted for the alpha Cloud Security Command Center. The action will publish count of finding instances and their info types. The summary of findings will be persisted in CSCC and are governed by CSCC service-specific policy, see https://cloud.google.com/terms/service-terms Only a single instance of this action can be specified. Compatible with: Inspect # Publish summary to Cloud Security Command Center (Alpha). + "publishSummaryToCscc": { # Publish the result summary of a DlpJob to the Cloud Security Command Center (CSCC Alpha). This action is only available for projects which are parts of an organization and whitelisted for the alpha Cloud Security Command Center. The action will publish the count of finding instances and their info types. The summary of findings will be persisted in CSCC and are governed by CSCC service-specific policy, see https://cloud.google.com/terms/service-terms Only a single instance of this action can be specified. Compatible with: Inspect # Publish summary to Cloud Security Command Center (Alpha). }, "publishToStackdriver": { # Enable Stackdriver metric dlp.googleapis.com/finding_count. This will publish a metric to stack driver on each infotype requested and how many findings were found for it. CustomDetectors will be bucketed as 'Custom' under the Stackdriver label 'info_type'. # Enable Stackdriver metric dlp.googleapis.com/finding_count. }, "saveFindings": { # If set, the detailed findings will be persisted to the specified OutputStorageConfig. Only a single instance of this action can be specified. Compatible with: Inspect, Risk # Save resulting findings in a provided location. "outputConfig": { # Cloud repository for storing output. # Location to store findings outside of DLP. "outputSchema": "A String", # Schema used for writing the findings for Inspect jobs. This field is only used for Inspect and must be unspecified for Risk jobs. Columns are derived from the `Finding` object. If appending to an existing table, any columns from the predefined schema that are missing will be added. No columns in the existing table will be deleted. If unspecified, then all available columns will be used for a new table or an (existing) table with no schema, and no changes will be made to an existing table that has a schema. Only for use with external storage. - "table": { # Message defining the location of a BigQuery table. A table is uniquely identified by its project_id, dataset_id, and table_name. Within a query a table is often referenced with a string in the format of: `:.` or `..`. # Store findings in an existing table or a new table in an existing dataset. If table_id is not set a new one will be generated for you with the following format: dlp_googleapis_yyyy_mm_dd_[dlp_job_id]. Pacific timezone will be used for generating the date details. For Inspect, each column in an existing output table must have the same name, type, and mode of a field in the `Finding` object. For Risk, an existing output table should be the output of a previous Risk analysis job run on the same source table, with the same privacy metric and quasi-identifiers. Risk jobs that analyze the same table but compute a different privacy metric, or use different sets of quasi-identifiers, cannot store their results in the same table. + "table": { # Message defining the location of a BigQuery table. A table is uniquely identified by its project_id, dataset_id, and table_name. Within a query a table is often referenced with a string in the format of: `:.` or `..`. # Store findings in an existing table or a new table in an existing dataset. If table_id is not set a new one will be generated for you with the following format: dlp_googleapis_yyyy_mm_dd_[dlp_job_id]. Pacific time zone will be used for generating the date details. For Inspect, each column in an existing output table must have the same name, type, and mode of a field in the `Finding` object. For Risk, an existing output table should be the output of a previous Risk analysis job run on the same source table, with the same privacy metric and quasi-identifiers. Risk jobs that analyze the same table but compute a different privacy metric, or use different sets of quasi-identifiers, cannot store their results in the same table. "datasetId": "A String", # Dataset ID of the table. "projectId": "A String", # The Google Cloud Platform project ID of the project containing the table. If omitted, project ID is inferred from the API call. "tableId": "A String", # Name of the table. @@ -512,7 +548,7 @@

Method Details

"version": "A String", # Optional version name for this InfoType. }, ], - "limits": { # Configuration to control the number of findings returned for inspection. This is not used for de-identification or data profiling. # Configuration to control the number of findings returned. This is not used for data profiling. + "limits": { # Configuration to control the number of findings returned for inspection. This is not used for de-identification or data profiling. When redacting sensitive data from images, finding limits don't apply. They can cause unexpected or inconsistent results, where only some data is redacted. Don't include finding limits in RedactImage requests. Otherwise, Cloud DLP returns an error. # Configuration to control the number of findings returned. This is not used for data profiling. When redacting sensitive data from images, finding limits don't apply. They can cause unexpected or inconsistent results, where only some data is redacted. Don't include finding limits in RedactImage requests. Otherwise, Cloud DLP returns an error. "maxFindingsPerInfoType": [ # Configuration of findings limit given for specified infoTypes. { # Max findings configuration per infoType, per content item or long running DlpJob. "infoType": { # Type of information detected by the API. # Type of information the findings limit applies to. Only one limit per info_type should be provided. If InfoTypeLimit does not have an info_type, the DLP API applies the limit against all info_types that are found but not specified in another InfoTypeLimit. @@ -547,7 +583,7 @@

Method Details

], }, }, - "excludeInfoTypes": { # List of exclude infoTypes. # Set of infoTypes for which findings would affect this rule. + "excludeInfoTypes": { # List of excluded infoTypes. # Set of infoTypes for which findings would affect this rule. "infoTypes": [ # InfoType list in ExclusionRule rule drops a finding when it overlaps or contained within with a finding of an infoType from this list. For example, for `InspectionRuleSet.info_types` containing "PHONE_NUMBER"` and `exclusion_rule` containing `exclude_info_types.info_types` with "EMAIL_ADDRESS" the phone number findings are dropped if they overlap with EMAIL_ADDRESS finding. That leads to "555-222-2222@example.org" to generate only a single finding, namely email address. { # Type of information detected by the API. "name": "A String", # Name of the information type. Either a name of your choosing when creating a CustomInfoType, or one of the names listed at https://cloud.google.com/dlp/docs/infotypes-reference when specifying a built-in type. When sending Cloud DLP results to Data Catalog, infoType names should conform to the pattern `[A-Za-z0-9$-_]{1,64}`. @@ -611,7 +647,7 @@

Method Details

"tableId": "A String", # Name of the table. }, }, - "cloudStorageOptions": { # Options defining a file or a set of files within a Google Cloud Storage bucket. # Google Cloud Storage options. + "cloudStorageOptions": { # Options defining a file or a set of files within a Cloud Storage bucket. # Cloud Storage options. "bytesLimitPerFile": "A String", # Max number of bytes to scan from a file. If a scanned file's size is bigger than this value then the rest of the bytes are omitted. Only one of bytes_limit_per_file and bytes_limit_per_file_percent can be specified. Cannot be set if de-identification is requested. "bytesLimitPerFilePercent": 42, # Max percentage of bytes to scan from a file. The rest are omitted. The number of bytes scanned is rounded down. Must be between 0 and 100, inclusively. Both 0 and 100 means no limit. Defaults to 0. Only one of bytes_limit_per_file and bytes_limit_per_file_percent can be specified. Cannot be set if de-identification is requested. "fileSet": { # Set of files to scan. # The set of one or more files to scan. @@ -657,11 +693,11 @@

Method Details

], }, }, - "timespanConfig": { # Configuration of the timespan of the items to include in scanning. Currently only supported when inspecting Google Cloud Storage and BigQuery. + "timespanConfig": { # Configuration of the timespan of the items to include in scanning. Currently only supported when inspecting Cloud Storage and BigQuery. "enableAutoPopulationOfTimespanConfig": True or False, # When the job is started by a JobTrigger we will automatically figure out a valid start_time to avoid scanning files that have not been modified since the last time the JobTrigger executed. This will be based on the time of the execution of the last run of the JobTrigger. "endTime": "A String", # Exclude files, tables, or rows newer than this value. If not set, no upper time limit is applied. "startTime": "A String", # Exclude files, tables, or rows older than this value. If not set, no lower time limit is applied. - "timestampField": { # General identifier of a data field in a storage service. # Specification of the field containing the timestamp of scanned items. Used for data sources like Datastore and BigQuery. For BigQuery: If this value is not specified and the table was modified between the given start and end times, the entire table will be scanned. If this value is specified, then rows are filtered based on the given start and end times. Rows with a `NULL` value in the provided BigQuery column are skipped. Valid data types of the provided BigQuery column are: `INTEGER`, `DATE`, `TIMESTAMP`, and `DATETIME`. For Datastore: If this value is specified, then entities are filtered based on the given start and end times. If an entity does not contain the provided timestamp property or contains empty or invalid values, then it is included. Valid data types of the provided timestamp property are: `TIMESTAMP`. + "timestampField": { # General identifier of a data field in a storage service. # Specification of the field containing the timestamp of scanned items. Used for data sources like Datastore and BigQuery. *For BigQuery* If this value is not specified and the table was modified between the given start and end times, the entire table will be scanned. If this value is specified, then rows are filtered based on the given start and end times. Rows with a `NULL` value in the provided BigQuery column are skipped. Valid data types of the provided BigQuery column are: `INTEGER`, `DATE`, `TIMESTAMP`, and `DATETIME`. If your BigQuery table is [partitioned at ingestion time](https://cloud.google.com/bigquery/docs/partitioned-tables#ingestion_time), you can use any of the following pseudo-columns as your timestamp field. When used with Cloud DLP, these pseudo-column names are case sensitive. - _PARTITIONTIME - _PARTITIONDATE - _PARTITION_LOAD_TIME *For Datastore* If this value is specified, then entities are filtered based on the given start and end times. If an entity does not contain the provided timestamp property or contains empty or invalid values, then it is included. Valid data types of the provided timestamp property are: `TIMESTAMP`. See the [known issue](https://cloud.google.com/dlp/docs/known-issues#bq-timespan) related to this operation. "name": "A String", # Name describing the field. }, }, @@ -675,7 +711,7 @@

Method Details

"manual": { # Job trigger option for hybrid jobs. Jobs must be manually created and finished. # For use with hybrid jobs. Jobs must be manually created and finished. }, "schedule": { # Schedule for inspect job triggers. # Create a job on a repeating basis based on the elapse of time. - "recurrencePeriodDuration": "A String", # With this option a job is started a regular periodic basis. For example: every day (86400 seconds). A scheduled start time will be skipped if the previous execution has not ended when its scheduled time occurs. This value must be set to a time duration greater than or equal to 1 day and can be no longer than 60 days. + "recurrencePeriodDuration": "A String", # With this option a job is started on a regular periodic basis. For example: every day (86400 seconds). A scheduled start time will be skipped if the previous execution has not ended when its scheduled time occurs. This value must be set to a time duration greater than or equal to 1 day and can be no longer than 60 days. }, }, ], @@ -738,21 +774,39 @@

Method Details

"inspectJob": { # Controls what and how to inspect for findings. # For inspect jobs, a snapshot of the configuration. "actions": [ # Actions to execute at the completion of the job. { # A task to execute on the completion of a job. See https://cloud.google.com/dlp/docs/concepts-actions to learn more. + "deidentify": { # Create a de-identified copy of the requested table or files. . A TransformationDetail will be created for each transformation. If any rows in BigQuery are skipped during de-identification (transformation errors or row size exceeds BigQuery insert API limits) they are placed in the failure output table. If the original row exceeds the BigQuery insert API limit it will be truncated when written to the failure output table. The failure output table can be set in the action.deidentify.output.big_query_output.deidentified_failure_output_table field, if no table is set, a table will be automatically created in the same project and dataset as the original table. Compatible with: Inspect # Create a de-identified copy of the input data. Applicable for non-image data only. The de-identified copy is in the same location as the original data. + "cloudStorageOutput": "A String", # Required. User settable GCS bucket and folders to store de-identified files. This field must be set for cloud storage deidentification. The output GCS bucket must be different from the input bucket. De-identified files will overwrite files in the output path. Form of: gs://bucket/folder/ or gs://bucket + "fileTypesToTransform": [ # List of user-specified file type groups to transform. If specified, only the files with these filetypes will be transformed. If empty, all supported files will be transformed. Supported types may be automatically added over time. If a file type is set in this field that isn't supported by the Deidentify action then the job will fail and will not be successfully created/started. Currently the only filetypes supported are: IMAGES, TEXT_FILES, CSV, TSV. + "A String", + ], + "transformationConfig": { # User specified templates and configs for how to deidentify structured, unstructures, and image files. User must provide either a unstructured deidentify template or at least one redact image config. # User specified deidentify templates and configs for structured, unstructured, and image files. + "deidentifyTemplate": "A String", # De-identify template. If this template is specified, it will serve as the default de-identify template. This template cannot contain `record_transformations` since it can be used for unstructured content such as free-form text files. If this template is not set, a default `ReplaceWithInfoTypeConfig` will be used to de-identify unstructured content. + "imageRedactTemplate": "A String", # Image redact template. If this template is specified, it will serve as the de-identify template for images. If this template is not set, all findings in the image will be redacted with a black box. + "structuredDeidentifyTemplate": "A String", # Structured de-identify template. If this template is specified, it will serve as the de-identify template for structured content such as delimited files and tables. If this template is not set but the `deidentify_template` is set, then `deidentify_template` will also apply to the structured content. If neither template is set, a default `ReplaceWithInfoTypeConfig` will be used to de-identify structured content. + }, + "transformationDetailsStorageConfig": { # Config for storing transformation details. # Config for storing transformation details. This is separate from the de-identified content, and contains metadata about the successful transformations and/or failures that occurred while de-identifying. This needs to be set in order for users to access information about the status of each transformation (see TransformationDetails message for more information about what is noted). + "table": { # Message defining the location of a BigQuery table. A table is uniquely identified by its project_id, dataset_id, and table_name. Within a query a table is often referenced with a string in the format of: `:.` or `..`. # The BigQuery table in which to store the output. This may be an existing table or in a new table in an existing dataset. If table_id is not set a new one will be generated for you with the following format: dlp_googleapis_transformation_details_yyyy_mm_dd_[dlp_job_id]. Pacific time zone will be used for generating the date details. + "datasetId": "A String", # Dataset ID of the table. + "projectId": "A String", # The Google Cloud Platform project ID of the project containing the table. If omitted, project ID is inferred from the API call. + "tableId": "A String", # Name of the table. + }, + }, + }, "jobNotificationEmails": { # Enable email notification to project owners and editors on jobs's completion/failure. # Enable email notification for project owners and editors on job's completion/failure. }, - "pubSub": { # Publish a message into given Pub/Sub topic when DlpJob has completed. The message contains a single field, `DlpJobName`, which is equal to the finished job's [`DlpJob.name`](https://cloud.google.com/dlp/docs/reference/rest/v2/projects.dlpJobs#DlpJob). Compatible with: Inspect, Risk # Publish a notification to a pubsub topic. + "pubSub": { # Publish a message into a given Pub/Sub topic when DlpJob has completed. The message contains a single field, `DlpJobName`, which is equal to the finished job's [`DlpJob.name`](https://cloud.google.com/dlp/docs/reference/rest/v2/projects.dlpJobs#DlpJob). Compatible with: Inspect, Risk # Publish a notification to a pubsub topic. "topic": "A String", # Cloud Pub/Sub topic to send notifications to. The topic must have given publishing access rights to the DLP API service account executing the long running DlpJob sending the notifications. Format is projects/{project}/topics/{topic}. }, "publishFindingsToCloudDataCatalog": { # Publish findings of a DlpJob to Data Catalog. Labels summarizing the results of the DlpJob will be applied to the entry for the resource scanned in Data Catalog. Any labels previously written by another DlpJob will be deleted. InfoType naming patterns are strictly enforced when using this feature. Note that the findings will be persisted in Data Catalog storage and are governed by Data Catalog service-specific policy, see https://cloud.google.com/terms/service-terms Only a single instance of this action can be specified and only allowed if all resources being scanned are BigQuery tables. Compatible with: Inspect # Publish findings to Cloud Datahub. }, - "publishSummaryToCscc": { # Publish the result summary of a DlpJob to the Cloud Security Command Center (CSCC Alpha). This action is only available for projects which are parts of an organization and whitelisted for the alpha Cloud Security Command Center. The action will publish count of finding instances and their info types. The summary of findings will be persisted in CSCC and are governed by CSCC service-specific policy, see https://cloud.google.com/terms/service-terms Only a single instance of this action can be specified. Compatible with: Inspect # Publish summary to Cloud Security Command Center (Alpha). + "publishSummaryToCscc": { # Publish the result summary of a DlpJob to the Cloud Security Command Center (CSCC Alpha). This action is only available for projects which are parts of an organization and whitelisted for the alpha Cloud Security Command Center. The action will publish the count of finding instances and their info types. The summary of findings will be persisted in CSCC and are governed by CSCC service-specific policy, see https://cloud.google.com/terms/service-terms Only a single instance of this action can be specified. Compatible with: Inspect # Publish summary to Cloud Security Command Center (Alpha). }, "publishToStackdriver": { # Enable Stackdriver metric dlp.googleapis.com/finding_count. This will publish a metric to stack driver on each infotype requested and how many findings were found for it. CustomDetectors will be bucketed as 'Custom' under the Stackdriver label 'info_type'. # Enable Stackdriver metric dlp.googleapis.com/finding_count. }, "saveFindings": { # If set, the detailed findings will be persisted to the specified OutputStorageConfig. Only a single instance of this action can be specified. Compatible with: Inspect, Risk # Save resulting findings in a provided location. "outputConfig": { # Cloud repository for storing output. # Location to store findings outside of DLP. "outputSchema": "A String", # Schema used for writing the findings for Inspect jobs. This field is only used for Inspect and must be unspecified for Risk jobs. Columns are derived from the `Finding` object. If appending to an existing table, any columns from the predefined schema that are missing will be added. No columns in the existing table will be deleted. If unspecified, then all available columns will be used for a new table or an (existing) table with no schema, and no changes will be made to an existing table that has a schema. Only for use with external storage. - "table": { # Message defining the location of a BigQuery table. A table is uniquely identified by its project_id, dataset_id, and table_name. Within a query a table is often referenced with a string in the format of: `:.` or `..`. # Store findings in an existing table or a new table in an existing dataset. If table_id is not set a new one will be generated for you with the following format: dlp_googleapis_yyyy_mm_dd_[dlp_job_id]. Pacific timezone will be used for generating the date details. For Inspect, each column in an existing output table must have the same name, type, and mode of a field in the `Finding` object. For Risk, an existing output table should be the output of a previous Risk analysis job run on the same source table, with the same privacy metric and quasi-identifiers. Risk jobs that analyze the same table but compute a different privacy metric, or use different sets of quasi-identifiers, cannot store their results in the same table. + "table": { # Message defining the location of a BigQuery table. A table is uniquely identified by its project_id, dataset_id, and table_name. Within a query a table is often referenced with a string in the format of: `:.` or `..`. # Store findings in an existing table or a new table in an existing dataset. If table_id is not set a new one will be generated for you with the following format: dlp_googleapis_yyyy_mm_dd_[dlp_job_id]. Pacific time zone will be used for generating the date details. For Inspect, each column in an existing output table must have the same name, type, and mode of a field in the `Finding` object. For Risk, an existing output table should be the output of a previous Risk analysis job run on the same source table, with the same privacy metric and quasi-identifiers. Risk jobs that analyze the same table but compute a different privacy metric, or use different sets of quasi-identifiers, cannot store their results in the same table. "datasetId": "A String", # Dataset ID of the table. "projectId": "A String", # The Google Cloud Platform project ID of the project containing the table. If omitted, project ID is inferred from the API call. "tableId": "A String", # Name of the table. @@ -825,7 +879,7 @@

Method Details

"version": "A String", # Optional version name for this InfoType. }, ], - "limits": { # Configuration to control the number of findings returned for inspection. This is not used for de-identification or data profiling. # Configuration to control the number of findings returned. This is not used for data profiling. + "limits": { # Configuration to control the number of findings returned for inspection. This is not used for de-identification or data profiling. When redacting sensitive data from images, finding limits don't apply. They can cause unexpected or inconsistent results, where only some data is redacted. Don't include finding limits in RedactImage requests. Otherwise, Cloud DLP returns an error. # Configuration to control the number of findings returned. This is not used for data profiling. When redacting sensitive data from images, finding limits don't apply. They can cause unexpected or inconsistent results, where only some data is redacted. Don't include finding limits in RedactImage requests. Otherwise, Cloud DLP returns an error. "maxFindingsPerInfoType": [ # Configuration of findings limit given for specified infoTypes. { # Max findings configuration per infoType, per content item or long running DlpJob. "infoType": { # Type of information detected by the API. # Type of information the findings limit applies to. Only one limit per info_type should be provided. If InfoTypeLimit does not have an info_type, the DLP API applies the limit against all info_types that are found but not specified in another InfoTypeLimit. @@ -860,7 +914,7 @@

Method Details

], }, }, - "excludeInfoTypes": { # List of exclude infoTypes. # Set of infoTypes for which findings would affect this rule. + "excludeInfoTypes": { # List of excluded infoTypes. # Set of infoTypes for which findings would affect this rule. "infoTypes": [ # InfoType list in ExclusionRule rule drops a finding when it overlaps or contained within with a finding of an infoType from this list. For example, for `InspectionRuleSet.info_types` containing "PHONE_NUMBER"` and `exclusion_rule` containing `exclude_info_types.info_types` with "EMAIL_ADDRESS" the phone number findings are dropped if they overlap with EMAIL_ADDRESS finding. That leads to "555-222-2222@example.org" to generate only a single finding, namely email address. { # Type of information detected by the API. "name": "A String", # Name of the information type. Either a name of your choosing when creating a CustomInfoType, or one of the names listed at https://cloud.google.com/dlp/docs/infotypes-reference when specifying a built-in type. When sending Cloud DLP results to Data Catalog, infoType names should conform to the pattern `[A-Za-z0-9$-_]{1,64}`. @@ -924,7 +978,7 @@

Method Details

"tableId": "A String", # Name of the table. }, }, - "cloudStorageOptions": { # Options defining a file or a set of files within a Google Cloud Storage bucket. # Google Cloud Storage options. + "cloudStorageOptions": { # Options defining a file or a set of files within a Cloud Storage bucket. # Cloud Storage options. "bytesLimitPerFile": "A String", # Max number of bytes to scan from a file. If a scanned file's size is bigger than this value then the rest of the bytes are omitted. Only one of bytes_limit_per_file and bytes_limit_per_file_percent can be specified. Cannot be set if de-identification is requested. "bytesLimitPerFilePercent": 42, # Max percentage of bytes to scan from a file. The rest are omitted. The number of bytes scanned is rounded down. Must be between 0 and 100, inclusively. Both 0 and 100 means no limit. Defaults to 0. Only one of bytes_limit_per_file and bytes_limit_per_file_percent can be specified. Cannot be set if de-identification is requested. "fileSet": { # Set of files to scan. # The set of one or more files to scan. @@ -970,11 +1024,11 @@

Method Details

], }, }, - "timespanConfig": { # Configuration of the timespan of the items to include in scanning. Currently only supported when inspecting Google Cloud Storage and BigQuery. + "timespanConfig": { # Configuration of the timespan of the items to include in scanning. Currently only supported when inspecting Cloud Storage and BigQuery. "enableAutoPopulationOfTimespanConfig": True or False, # When the job is started by a JobTrigger we will automatically figure out a valid start_time to avoid scanning files that have not been modified since the last time the JobTrigger executed. This will be based on the time of the execution of the last run of the JobTrigger. "endTime": "A String", # Exclude files, tables, or rows newer than this value. If not set, no upper time limit is applied. "startTime": "A String", # Exclude files, tables, or rows older than this value. If not set, no lower time limit is applied. - "timestampField": { # General identifier of a data field in a storage service. # Specification of the field containing the timestamp of scanned items. Used for data sources like Datastore and BigQuery. For BigQuery: If this value is not specified and the table was modified between the given start and end times, the entire table will be scanned. If this value is specified, then rows are filtered based on the given start and end times. Rows with a `NULL` value in the provided BigQuery column are skipped. Valid data types of the provided BigQuery column are: `INTEGER`, `DATE`, `TIMESTAMP`, and `DATETIME`. For Datastore: If this value is specified, then entities are filtered based on the given start and end times. If an entity does not contain the provided timestamp property or contains empty or invalid values, then it is included. Valid data types of the provided timestamp property are: `TIMESTAMP`. + "timestampField": { # General identifier of a data field in a storage service. # Specification of the field containing the timestamp of scanned items. Used for data sources like Datastore and BigQuery. *For BigQuery* If this value is not specified and the table was modified between the given start and end times, the entire table will be scanned. If this value is specified, then rows are filtered based on the given start and end times. Rows with a `NULL` value in the provided BigQuery column are skipped. Valid data types of the provided BigQuery column are: `INTEGER`, `DATE`, `TIMESTAMP`, and `DATETIME`. If your BigQuery table is [partitioned at ingestion time](https://cloud.google.com/bigquery/docs/partitioned-tables#ingestion_time), you can use any of the following pseudo-columns as your timestamp field. When used with Cloud DLP, these pseudo-column names are case sensitive. - _PARTITIONTIME - _PARTITIONDATE - _PARTITION_LOAD_TIME *For Datastore* If this value is specified, then entities are filtered based on the given start and end times. If an entity does not contain the provided timestamp property or contains empty or invalid values, then it is included. Valid data types of the provided timestamp property are: `TIMESTAMP`. See the [known issue](https://cloud.google.com/dlp/docs/known-issues#bq-timespan) related to this operation. "name": "A String", # Name describing the field. }, }, @@ -988,7 +1042,7 @@

Method Details

"manual": { # Job trigger option for hybrid jobs. Jobs must be manually created and finished. # For use with hybrid jobs. Jobs must be manually created and finished. }, "schedule": { # Schedule for inspect job triggers. # Create a job on a repeating basis based on the elapse of time. - "recurrencePeriodDuration": "A String", # With this option a job is started a regular periodic basis. For example: every day (86400 seconds). A scheduled start time will be skipped if the previous execution has not ended when its scheduled time occurs. This value must be set to a time duration greater than or equal to 1 day and can be no longer than 60 days. + "recurrencePeriodDuration": "A String", # With this option a job is started on a regular periodic basis. For example: every day (86400 seconds). A scheduled start time will be skipped if the previous execution has not ended when its scheduled time occurs. This value must be set to a time duration greater than or equal to 1 day and can be no longer than 60 days. }, }, ], @@ -1004,7 +1058,7 @@

Method Details

parent: string, Required. Parent resource name. The format of this value varies depending on whether you have [specified a processing location](https://cloud.google.com/dlp/docs/specifying-location): + Projects scope, location specified: `projects/`PROJECT_ID`/locations/`LOCATION_ID + Projects scope, no location specified (defaults to global): `projects/`PROJECT_ID The following example `parent` string specifies a parent project with the identifier `example-project`, and specifies the `europe-west3` location for processing data: parent=projects/example-project/locations/europe-west3 (required) filter: string, Allows filtering. Supported syntax: * Filter expressions are made up of one or more restrictions. * Restrictions can be combined by `AND` or `OR` logical operators. A sequence of restrictions implicitly uses `AND`. * A restriction has the form of `{field} {operator} {value}`. * Supported fields/values for inspect triggers: - `status` - HEALTHY|PAUSED|CANCELLED - `inspected_storage` - DATASTORE|CLOUD_STORAGE|BIGQUERY - 'last_run_time` - RFC 3339 formatted timestamp, surrounded by quotation marks. Nanoseconds are ignored. - 'error_count' - Number of errors that have occurred while running. * The operator must be `=` or `!=` for status and inspected_storage. Examples: * inspected_storage = cloud_storage AND status = HEALTHY * inspected_storage = cloud_storage OR inspected_storage = bigquery * inspected_storage = cloud_storage AND (state = PAUSED OR state = HEALTHY) * last_run_time > \"2017-12-12T00:00:00+00:00\" The length of this field should be no more than 500 characters. locationId: string, Deprecated. This field has no effect. - orderBy: string, Comma separated list of triggeredJob fields to order by, followed by `asc` or `desc` postfix. This list is case-insensitive, default sorting order is ascending, redundant space characters are insignificant. Example: `name asc,update_time, create_time desc` Supported fields are: - `create_time`: corresponds to time the JobTrigger was created. - `update_time`: corresponds to time the JobTrigger was last updated. - `last_run_time`: corresponds to the last time the JobTrigger ran. - `name`: corresponds to JobTrigger's name. - `display_name`: corresponds to JobTrigger's display name. - `status`: corresponds to JobTrigger's status. + orderBy: string, Comma separated list of triggeredJob fields to order by, followed by `asc` or `desc` postfix. This list is case-insensitive, default sorting order is ascending, redundant space characters are insignificant. Example: `name asc,update_time, create_time desc` Supported fields are: - `create_time`: corresponds to the time the JobTrigger was created. - `update_time`: corresponds to the time the JobTrigger was last updated. - `last_run_time`: corresponds to the last time the JobTrigger ran. - `name`: corresponds to the JobTrigger's name. - `display_name`: corresponds to the JobTrigger's display name. - `status`: corresponds to JobTrigger's status. pageSize: integer, Size of the page, can be limited by a server. pageToken: string, Page token to continue retrieval. Comes from previous call to ListJobTriggers. `order_by` field must not change for subsequent calls. type: string, The type of jobs. Will use `DlpJobType.INSPECT` if not set. @@ -1045,21 +1099,39 @@

Method Details

"inspectJob": { # Controls what and how to inspect for findings. # For inspect jobs, a snapshot of the configuration. "actions": [ # Actions to execute at the completion of the job. { # A task to execute on the completion of a job. See https://cloud.google.com/dlp/docs/concepts-actions to learn more. + "deidentify": { # Create a de-identified copy of the requested table or files. . A TransformationDetail will be created for each transformation. If any rows in BigQuery are skipped during de-identification (transformation errors or row size exceeds BigQuery insert API limits) they are placed in the failure output table. If the original row exceeds the BigQuery insert API limit it will be truncated when written to the failure output table. The failure output table can be set in the action.deidentify.output.big_query_output.deidentified_failure_output_table field, if no table is set, a table will be automatically created in the same project and dataset as the original table. Compatible with: Inspect # Create a de-identified copy of the input data. Applicable for non-image data only. The de-identified copy is in the same location as the original data. + "cloudStorageOutput": "A String", # Required. User settable GCS bucket and folders to store de-identified files. This field must be set for cloud storage deidentification. The output GCS bucket must be different from the input bucket. De-identified files will overwrite files in the output path. Form of: gs://bucket/folder/ or gs://bucket + "fileTypesToTransform": [ # List of user-specified file type groups to transform. If specified, only the files with these filetypes will be transformed. If empty, all supported files will be transformed. Supported types may be automatically added over time. If a file type is set in this field that isn't supported by the Deidentify action then the job will fail and will not be successfully created/started. Currently the only filetypes supported are: IMAGES, TEXT_FILES, CSV, TSV. + "A String", + ], + "transformationConfig": { # User specified templates and configs for how to deidentify structured, unstructures, and image files. User must provide either a unstructured deidentify template or at least one redact image config. # User specified deidentify templates and configs for structured, unstructured, and image files. + "deidentifyTemplate": "A String", # De-identify template. If this template is specified, it will serve as the default de-identify template. This template cannot contain `record_transformations` since it can be used for unstructured content such as free-form text files. If this template is not set, a default `ReplaceWithInfoTypeConfig` will be used to de-identify unstructured content. + "imageRedactTemplate": "A String", # Image redact template. If this template is specified, it will serve as the de-identify template for images. If this template is not set, all findings in the image will be redacted with a black box. + "structuredDeidentifyTemplate": "A String", # Structured de-identify template. If this template is specified, it will serve as the de-identify template for structured content such as delimited files and tables. If this template is not set but the `deidentify_template` is set, then `deidentify_template` will also apply to the structured content. If neither template is set, a default `ReplaceWithInfoTypeConfig` will be used to de-identify structured content. + }, + "transformationDetailsStorageConfig": { # Config for storing transformation details. # Config for storing transformation details. This is separate from the de-identified content, and contains metadata about the successful transformations and/or failures that occurred while de-identifying. This needs to be set in order for users to access information about the status of each transformation (see TransformationDetails message for more information about what is noted). + "table": { # Message defining the location of a BigQuery table. A table is uniquely identified by its project_id, dataset_id, and table_name. Within a query a table is often referenced with a string in the format of: `:.` or `..`. # The BigQuery table in which to store the output. This may be an existing table or in a new table in an existing dataset. If table_id is not set a new one will be generated for you with the following format: dlp_googleapis_transformation_details_yyyy_mm_dd_[dlp_job_id]. Pacific time zone will be used for generating the date details. + "datasetId": "A String", # Dataset ID of the table. + "projectId": "A String", # The Google Cloud Platform project ID of the project containing the table. If omitted, project ID is inferred from the API call. + "tableId": "A String", # Name of the table. + }, + }, + }, "jobNotificationEmails": { # Enable email notification to project owners and editors on jobs's completion/failure. # Enable email notification for project owners and editors on job's completion/failure. }, - "pubSub": { # Publish a message into given Pub/Sub topic when DlpJob has completed. The message contains a single field, `DlpJobName`, which is equal to the finished job's [`DlpJob.name`](https://cloud.google.com/dlp/docs/reference/rest/v2/projects.dlpJobs#DlpJob). Compatible with: Inspect, Risk # Publish a notification to a pubsub topic. + "pubSub": { # Publish a message into a given Pub/Sub topic when DlpJob has completed. The message contains a single field, `DlpJobName`, which is equal to the finished job's [`DlpJob.name`](https://cloud.google.com/dlp/docs/reference/rest/v2/projects.dlpJobs#DlpJob). Compatible with: Inspect, Risk # Publish a notification to a pubsub topic. "topic": "A String", # Cloud Pub/Sub topic to send notifications to. The topic must have given publishing access rights to the DLP API service account executing the long running DlpJob sending the notifications. Format is projects/{project}/topics/{topic}. }, "publishFindingsToCloudDataCatalog": { # Publish findings of a DlpJob to Data Catalog. Labels summarizing the results of the DlpJob will be applied to the entry for the resource scanned in Data Catalog. Any labels previously written by another DlpJob will be deleted. InfoType naming patterns are strictly enforced when using this feature. Note that the findings will be persisted in Data Catalog storage and are governed by Data Catalog service-specific policy, see https://cloud.google.com/terms/service-terms Only a single instance of this action can be specified and only allowed if all resources being scanned are BigQuery tables. Compatible with: Inspect # Publish findings to Cloud Datahub. }, - "publishSummaryToCscc": { # Publish the result summary of a DlpJob to the Cloud Security Command Center (CSCC Alpha). This action is only available for projects which are parts of an organization and whitelisted for the alpha Cloud Security Command Center. The action will publish count of finding instances and their info types. The summary of findings will be persisted in CSCC and are governed by CSCC service-specific policy, see https://cloud.google.com/terms/service-terms Only a single instance of this action can be specified. Compatible with: Inspect # Publish summary to Cloud Security Command Center (Alpha). + "publishSummaryToCscc": { # Publish the result summary of a DlpJob to the Cloud Security Command Center (CSCC Alpha). This action is only available for projects which are parts of an organization and whitelisted for the alpha Cloud Security Command Center. The action will publish the count of finding instances and their info types. The summary of findings will be persisted in CSCC and are governed by CSCC service-specific policy, see https://cloud.google.com/terms/service-terms Only a single instance of this action can be specified. Compatible with: Inspect # Publish summary to Cloud Security Command Center (Alpha). }, "publishToStackdriver": { # Enable Stackdriver metric dlp.googleapis.com/finding_count. This will publish a metric to stack driver on each infotype requested and how many findings were found for it. CustomDetectors will be bucketed as 'Custom' under the Stackdriver label 'info_type'. # Enable Stackdriver metric dlp.googleapis.com/finding_count. }, "saveFindings": { # If set, the detailed findings will be persisted to the specified OutputStorageConfig. Only a single instance of this action can be specified. Compatible with: Inspect, Risk # Save resulting findings in a provided location. "outputConfig": { # Cloud repository for storing output. # Location to store findings outside of DLP. "outputSchema": "A String", # Schema used for writing the findings for Inspect jobs. This field is only used for Inspect and must be unspecified for Risk jobs. Columns are derived from the `Finding` object. If appending to an existing table, any columns from the predefined schema that are missing will be added. No columns in the existing table will be deleted. If unspecified, then all available columns will be used for a new table or an (existing) table with no schema, and no changes will be made to an existing table that has a schema. Only for use with external storage. - "table": { # Message defining the location of a BigQuery table. A table is uniquely identified by its project_id, dataset_id, and table_name. Within a query a table is often referenced with a string in the format of: `:.` or `..`. # Store findings in an existing table or a new table in an existing dataset. If table_id is not set a new one will be generated for you with the following format: dlp_googleapis_yyyy_mm_dd_[dlp_job_id]. Pacific timezone will be used for generating the date details. For Inspect, each column in an existing output table must have the same name, type, and mode of a field in the `Finding` object. For Risk, an existing output table should be the output of a previous Risk analysis job run on the same source table, with the same privacy metric and quasi-identifiers. Risk jobs that analyze the same table but compute a different privacy metric, or use different sets of quasi-identifiers, cannot store their results in the same table. + "table": { # Message defining the location of a BigQuery table. A table is uniquely identified by its project_id, dataset_id, and table_name. Within a query a table is often referenced with a string in the format of: `:.` or `..`. # Store findings in an existing table or a new table in an existing dataset. If table_id is not set a new one will be generated for you with the following format: dlp_googleapis_yyyy_mm_dd_[dlp_job_id]. Pacific time zone will be used for generating the date details. For Inspect, each column in an existing output table must have the same name, type, and mode of a field in the `Finding` object. For Risk, an existing output table should be the output of a previous Risk analysis job run on the same source table, with the same privacy metric and quasi-identifiers. Risk jobs that analyze the same table but compute a different privacy metric, or use different sets of quasi-identifiers, cannot store their results in the same table. "datasetId": "A String", # Dataset ID of the table. "projectId": "A String", # The Google Cloud Platform project ID of the project containing the table. If omitted, project ID is inferred from the API call. "tableId": "A String", # Name of the table. @@ -1132,7 +1204,7 @@

Method Details

"version": "A String", # Optional version name for this InfoType. }, ], - "limits": { # Configuration to control the number of findings returned for inspection. This is not used for de-identification or data profiling. # Configuration to control the number of findings returned. This is not used for data profiling. + "limits": { # Configuration to control the number of findings returned for inspection. This is not used for de-identification or data profiling. When redacting sensitive data from images, finding limits don't apply. They can cause unexpected or inconsistent results, where only some data is redacted. Don't include finding limits in RedactImage requests. Otherwise, Cloud DLP returns an error. # Configuration to control the number of findings returned. This is not used for data profiling. When redacting sensitive data from images, finding limits don't apply. They can cause unexpected or inconsistent results, where only some data is redacted. Don't include finding limits in RedactImage requests. Otherwise, Cloud DLP returns an error. "maxFindingsPerInfoType": [ # Configuration of findings limit given for specified infoTypes. { # Max findings configuration per infoType, per content item or long running DlpJob. "infoType": { # Type of information detected by the API. # Type of information the findings limit applies to. Only one limit per info_type should be provided. If InfoTypeLimit does not have an info_type, the DLP API applies the limit against all info_types that are found but not specified in another InfoTypeLimit. @@ -1167,7 +1239,7 @@

Method Details

], }, }, - "excludeInfoTypes": { # List of exclude infoTypes. # Set of infoTypes for which findings would affect this rule. + "excludeInfoTypes": { # List of excluded infoTypes. # Set of infoTypes for which findings would affect this rule. "infoTypes": [ # InfoType list in ExclusionRule rule drops a finding when it overlaps or contained within with a finding of an infoType from this list. For example, for `InspectionRuleSet.info_types` containing "PHONE_NUMBER"` and `exclusion_rule` containing `exclude_info_types.info_types` with "EMAIL_ADDRESS" the phone number findings are dropped if they overlap with EMAIL_ADDRESS finding. That leads to "555-222-2222@example.org" to generate only a single finding, namely email address. { # Type of information detected by the API. "name": "A String", # Name of the information type. Either a name of your choosing when creating a CustomInfoType, or one of the names listed at https://cloud.google.com/dlp/docs/infotypes-reference when specifying a built-in type. When sending Cloud DLP results to Data Catalog, infoType names should conform to the pattern `[A-Za-z0-9$-_]{1,64}`. @@ -1231,7 +1303,7 @@

Method Details

"tableId": "A String", # Name of the table. }, }, - "cloudStorageOptions": { # Options defining a file or a set of files within a Google Cloud Storage bucket. # Google Cloud Storage options. + "cloudStorageOptions": { # Options defining a file or a set of files within a Cloud Storage bucket. # Cloud Storage options. "bytesLimitPerFile": "A String", # Max number of bytes to scan from a file. If a scanned file's size is bigger than this value then the rest of the bytes are omitted. Only one of bytes_limit_per_file and bytes_limit_per_file_percent can be specified. Cannot be set if de-identification is requested. "bytesLimitPerFilePercent": 42, # Max percentage of bytes to scan from a file. The rest are omitted. The number of bytes scanned is rounded down. Must be between 0 and 100, inclusively. Both 0 and 100 means no limit. Defaults to 0. Only one of bytes_limit_per_file and bytes_limit_per_file_percent can be specified. Cannot be set if de-identification is requested. "fileSet": { # Set of files to scan. # The set of one or more files to scan. @@ -1277,11 +1349,11 @@

Method Details

], }, }, - "timespanConfig": { # Configuration of the timespan of the items to include in scanning. Currently only supported when inspecting Google Cloud Storage and BigQuery. + "timespanConfig": { # Configuration of the timespan of the items to include in scanning. Currently only supported when inspecting Cloud Storage and BigQuery. "enableAutoPopulationOfTimespanConfig": True or False, # When the job is started by a JobTrigger we will automatically figure out a valid start_time to avoid scanning files that have not been modified since the last time the JobTrigger executed. This will be based on the time of the execution of the last run of the JobTrigger. "endTime": "A String", # Exclude files, tables, or rows newer than this value. If not set, no upper time limit is applied. "startTime": "A String", # Exclude files, tables, or rows older than this value. If not set, no lower time limit is applied. - "timestampField": { # General identifier of a data field in a storage service. # Specification of the field containing the timestamp of scanned items. Used for data sources like Datastore and BigQuery. For BigQuery: If this value is not specified and the table was modified between the given start and end times, the entire table will be scanned. If this value is specified, then rows are filtered based on the given start and end times. Rows with a `NULL` value in the provided BigQuery column are skipped. Valid data types of the provided BigQuery column are: `INTEGER`, `DATE`, `TIMESTAMP`, and `DATETIME`. For Datastore: If this value is specified, then entities are filtered based on the given start and end times. If an entity does not contain the provided timestamp property or contains empty or invalid values, then it is included. Valid data types of the provided timestamp property are: `TIMESTAMP`. + "timestampField": { # General identifier of a data field in a storage service. # Specification of the field containing the timestamp of scanned items. Used for data sources like Datastore and BigQuery. *For BigQuery* If this value is not specified and the table was modified between the given start and end times, the entire table will be scanned. If this value is specified, then rows are filtered based on the given start and end times. Rows with a `NULL` value in the provided BigQuery column are skipped. Valid data types of the provided BigQuery column are: `INTEGER`, `DATE`, `TIMESTAMP`, and `DATETIME`. If your BigQuery table is [partitioned at ingestion time](https://cloud.google.com/bigquery/docs/partitioned-tables#ingestion_time), you can use any of the following pseudo-columns as your timestamp field. When used with Cloud DLP, these pseudo-column names are case sensitive. - _PARTITIONTIME - _PARTITIONDATE - _PARTITION_LOAD_TIME *For Datastore* If this value is specified, then entities are filtered based on the given start and end times. If an entity does not contain the provided timestamp property or contains empty or invalid values, then it is included. Valid data types of the provided timestamp property are: `TIMESTAMP`. See the [known issue](https://cloud.google.com/dlp/docs/known-issues#bq-timespan) related to this operation. "name": "A String", # Name describing the field. }, }, @@ -1295,7 +1367,7 @@

Method Details

"manual": { # Job trigger option for hybrid jobs. Jobs must be manually created and finished. # For use with hybrid jobs. Jobs must be manually created and finished. }, "schedule": { # Schedule for inspect job triggers. # Create a job on a repeating basis based on the elapse of time. - "recurrencePeriodDuration": "A String", # With this option a job is started a regular periodic basis. For example: every day (86400 seconds). A scheduled start time will be skipped if the previous execution has not ended when its scheduled time occurs. This value must be set to a time duration greater than or equal to 1 day and can be no longer than 60 days. + "recurrencePeriodDuration": "A String", # With this option a job is started on a regular periodic basis. For example: every day (86400 seconds). A scheduled start time will be skipped if the previous execution has not ended when its scheduled time occurs. This value must be set to a time duration greater than or equal to 1 day and can be no longer than 60 days. }, }, ], @@ -1353,21 +1425,39 @@

Method Details

"inspectJob": { # Controls what and how to inspect for findings. # For inspect jobs, a snapshot of the configuration. "actions": [ # Actions to execute at the completion of the job. { # A task to execute on the completion of a job. See https://cloud.google.com/dlp/docs/concepts-actions to learn more. + "deidentify": { # Create a de-identified copy of the requested table or files. . A TransformationDetail will be created for each transformation. If any rows in BigQuery are skipped during de-identification (transformation errors or row size exceeds BigQuery insert API limits) they are placed in the failure output table. If the original row exceeds the BigQuery insert API limit it will be truncated when written to the failure output table. The failure output table can be set in the action.deidentify.output.big_query_output.deidentified_failure_output_table field, if no table is set, a table will be automatically created in the same project and dataset as the original table. Compatible with: Inspect # Create a de-identified copy of the input data. Applicable for non-image data only. The de-identified copy is in the same location as the original data. + "cloudStorageOutput": "A String", # Required. User settable GCS bucket and folders to store de-identified files. This field must be set for cloud storage deidentification. The output GCS bucket must be different from the input bucket. De-identified files will overwrite files in the output path. Form of: gs://bucket/folder/ or gs://bucket + "fileTypesToTransform": [ # List of user-specified file type groups to transform. If specified, only the files with these filetypes will be transformed. If empty, all supported files will be transformed. Supported types may be automatically added over time. If a file type is set in this field that isn't supported by the Deidentify action then the job will fail and will not be successfully created/started. Currently the only filetypes supported are: IMAGES, TEXT_FILES, CSV, TSV. + "A String", + ], + "transformationConfig": { # User specified templates and configs for how to deidentify structured, unstructures, and image files. User must provide either a unstructured deidentify template or at least one redact image config. # User specified deidentify templates and configs for structured, unstructured, and image files. + "deidentifyTemplate": "A String", # De-identify template. If this template is specified, it will serve as the default de-identify template. This template cannot contain `record_transformations` since it can be used for unstructured content such as free-form text files. If this template is not set, a default `ReplaceWithInfoTypeConfig` will be used to de-identify unstructured content. + "imageRedactTemplate": "A String", # Image redact template. If this template is specified, it will serve as the de-identify template for images. If this template is not set, all findings in the image will be redacted with a black box. + "structuredDeidentifyTemplate": "A String", # Structured de-identify template. If this template is specified, it will serve as the de-identify template for structured content such as delimited files and tables. If this template is not set but the `deidentify_template` is set, then `deidentify_template` will also apply to the structured content. If neither template is set, a default `ReplaceWithInfoTypeConfig` will be used to de-identify structured content. + }, + "transformationDetailsStorageConfig": { # Config for storing transformation details. # Config for storing transformation details. This is separate from the de-identified content, and contains metadata about the successful transformations and/or failures that occurred while de-identifying. This needs to be set in order for users to access information about the status of each transformation (see TransformationDetails message for more information about what is noted). + "table": { # Message defining the location of a BigQuery table. A table is uniquely identified by its project_id, dataset_id, and table_name. Within a query a table is often referenced with a string in the format of: `:.` or `..`. # The BigQuery table in which to store the output. This may be an existing table or in a new table in an existing dataset. If table_id is not set a new one will be generated for you with the following format: dlp_googleapis_transformation_details_yyyy_mm_dd_[dlp_job_id]. Pacific time zone will be used for generating the date details. + "datasetId": "A String", # Dataset ID of the table. + "projectId": "A String", # The Google Cloud Platform project ID of the project containing the table. If omitted, project ID is inferred from the API call. + "tableId": "A String", # Name of the table. + }, + }, + }, "jobNotificationEmails": { # Enable email notification to project owners and editors on jobs's completion/failure. # Enable email notification for project owners and editors on job's completion/failure. }, - "pubSub": { # Publish a message into given Pub/Sub topic when DlpJob has completed. The message contains a single field, `DlpJobName`, which is equal to the finished job's [`DlpJob.name`](https://cloud.google.com/dlp/docs/reference/rest/v2/projects.dlpJobs#DlpJob). Compatible with: Inspect, Risk # Publish a notification to a pubsub topic. + "pubSub": { # Publish a message into a given Pub/Sub topic when DlpJob has completed. The message contains a single field, `DlpJobName`, which is equal to the finished job's [`DlpJob.name`](https://cloud.google.com/dlp/docs/reference/rest/v2/projects.dlpJobs#DlpJob). Compatible with: Inspect, Risk # Publish a notification to a pubsub topic. "topic": "A String", # Cloud Pub/Sub topic to send notifications to. The topic must have given publishing access rights to the DLP API service account executing the long running DlpJob sending the notifications. Format is projects/{project}/topics/{topic}. }, "publishFindingsToCloudDataCatalog": { # Publish findings of a DlpJob to Data Catalog. Labels summarizing the results of the DlpJob will be applied to the entry for the resource scanned in Data Catalog. Any labels previously written by another DlpJob will be deleted. InfoType naming patterns are strictly enforced when using this feature. Note that the findings will be persisted in Data Catalog storage and are governed by Data Catalog service-specific policy, see https://cloud.google.com/terms/service-terms Only a single instance of this action can be specified and only allowed if all resources being scanned are BigQuery tables. Compatible with: Inspect # Publish findings to Cloud Datahub. }, - "publishSummaryToCscc": { # Publish the result summary of a DlpJob to the Cloud Security Command Center (CSCC Alpha). This action is only available for projects which are parts of an organization and whitelisted for the alpha Cloud Security Command Center. The action will publish count of finding instances and their info types. The summary of findings will be persisted in CSCC and are governed by CSCC service-specific policy, see https://cloud.google.com/terms/service-terms Only a single instance of this action can be specified. Compatible with: Inspect # Publish summary to Cloud Security Command Center (Alpha). + "publishSummaryToCscc": { # Publish the result summary of a DlpJob to the Cloud Security Command Center (CSCC Alpha). This action is only available for projects which are parts of an organization and whitelisted for the alpha Cloud Security Command Center. The action will publish the count of finding instances and their info types. The summary of findings will be persisted in CSCC and are governed by CSCC service-specific policy, see https://cloud.google.com/terms/service-terms Only a single instance of this action can be specified. Compatible with: Inspect # Publish summary to Cloud Security Command Center (Alpha). }, "publishToStackdriver": { # Enable Stackdriver metric dlp.googleapis.com/finding_count. This will publish a metric to stack driver on each infotype requested and how many findings were found for it. CustomDetectors will be bucketed as 'Custom' under the Stackdriver label 'info_type'. # Enable Stackdriver metric dlp.googleapis.com/finding_count. }, "saveFindings": { # If set, the detailed findings will be persisted to the specified OutputStorageConfig. Only a single instance of this action can be specified. Compatible with: Inspect, Risk # Save resulting findings in a provided location. "outputConfig": { # Cloud repository for storing output. # Location to store findings outside of DLP. "outputSchema": "A String", # Schema used for writing the findings for Inspect jobs. This field is only used for Inspect and must be unspecified for Risk jobs. Columns are derived from the `Finding` object. If appending to an existing table, any columns from the predefined schema that are missing will be added. No columns in the existing table will be deleted. If unspecified, then all available columns will be used for a new table or an (existing) table with no schema, and no changes will be made to an existing table that has a schema. Only for use with external storage. - "table": { # Message defining the location of a BigQuery table. A table is uniquely identified by its project_id, dataset_id, and table_name. Within a query a table is often referenced with a string in the format of: `:.` or `..`. # Store findings in an existing table or a new table in an existing dataset. If table_id is not set a new one will be generated for you with the following format: dlp_googleapis_yyyy_mm_dd_[dlp_job_id]. Pacific timezone will be used for generating the date details. For Inspect, each column in an existing output table must have the same name, type, and mode of a field in the `Finding` object. For Risk, an existing output table should be the output of a previous Risk analysis job run on the same source table, with the same privacy metric and quasi-identifiers. Risk jobs that analyze the same table but compute a different privacy metric, or use different sets of quasi-identifiers, cannot store their results in the same table. + "table": { # Message defining the location of a BigQuery table. A table is uniquely identified by its project_id, dataset_id, and table_name. Within a query a table is often referenced with a string in the format of: `:.` or `..`. # Store findings in an existing table or a new table in an existing dataset. If table_id is not set a new one will be generated for you with the following format: dlp_googleapis_yyyy_mm_dd_[dlp_job_id]. Pacific time zone will be used for generating the date details. For Inspect, each column in an existing output table must have the same name, type, and mode of a field in the `Finding` object. For Risk, an existing output table should be the output of a previous Risk analysis job run on the same source table, with the same privacy metric and quasi-identifiers. Risk jobs that analyze the same table but compute a different privacy metric, or use different sets of quasi-identifiers, cannot store their results in the same table. "datasetId": "A String", # Dataset ID of the table. "projectId": "A String", # The Google Cloud Platform project ID of the project containing the table. If omitted, project ID is inferred from the API call. "tableId": "A String", # Name of the table. @@ -1440,7 +1530,7 @@

Method Details

"version": "A String", # Optional version name for this InfoType. }, ], - "limits": { # Configuration to control the number of findings returned for inspection. This is not used for de-identification or data profiling. # Configuration to control the number of findings returned. This is not used for data profiling. + "limits": { # Configuration to control the number of findings returned for inspection. This is not used for de-identification or data profiling. When redacting sensitive data from images, finding limits don't apply. They can cause unexpected or inconsistent results, where only some data is redacted. Don't include finding limits in RedactImage requests. Otherwise, Cloud DLP returns an error. # Configuration to control the number of findings returned. This is not used for data profiling. When redacting sensitive data from images, finding limits don't apply. They can cause unexpected or inconsistent results, where only some data is redacted. Don't include finding limits in RedactImage requests. Otherwise, Cloud DLP returns an error. "maxFindingsPerInfoType": [ # Configuration of findings limit given for specified infoTypes. { # Max findings configuration per infoType, per content item or long running DlpJob. "infoType": { # Type of information detected by the API. # Type of information the findings limit applies to. Only one limit per info_type should be provided. If InfoTypeLimit does not have an info_type, the DLP API applies the limit against all info_types that are found but not specified in another InfoTypeLimit. @@ -1475,7 +1565,7 @@

Method Details

], }, }, - "excludeInfoTypes": { # List of exclude infoTypes. # Set of infoTypes for which findings would affect this rule. + "excludeInfoTypes": { # List of excluded infoTypes. # Set of infoTypes for which findings would affect this rule. "infoTypes": [ # InfoType list in ExclusionRule rule drops a finding when it overlaps or contained within with a finding of an infoType from this list. For example, for `InspectionRuleSet.info_types` containing "PHONE_NUMBER"` and `exclusion_rule` containing `exclude_info_types.info_types` with "EMAIL_ADDRESS" the phone number findings are dropped if they overlap with EMAIL_ADDRESS finding. That leads to "555-222-2222@example.org" to generate only a single finding, namely email address. { # Type of information detected by the API. "name": "A String", # Name of the information type. Either a name of your choosing when creating a CustomInfoType, or one of the names listed at https://cloud.google.com/dlp/docs/infotypes-reference when specifying a built-in type. When sending Cloud DLP results to Data Catalog, infoType names should conform to the pattern `[A-Za-z0-9$-_]{1,64}`. @@ -1539,7 +1629,7 @@

Method Details

"tableId": "A String", # Name of the table. }, }, - "cloudStorageOptions": { # Options defining a file or a set of files within a Google Cloud Storage bucket. # Google Cloud Storage options. + "cloudStorageOptions": { # Options defining a file or a set of files within a Cloud Storage bucket. # Cloud Storage options. "bytesLimitPerFile": "A String", # Max number of bytes to scan from a file. If a scanned file's size is bigger than this value then the rest of the bytes are omitted. Only one of bytes_limit_per_file and bytes_limit_per_file_percent can be specified. Cannot be set if de-identification is requested. "bytesLimitPerFilePercent": 42, # Max percentage of bytes to scan from a file. The rest are omitted. The number of bytes scanned is rounded down. Must be between 0 and 100, inclusively. Both 0 and 100 means no limit. Defaults to 0. Only one of bytes_limit_per_file and bytes_limit_per_file_percent can be specified. Cannot be set if de-identification is requested. "fileSet": { # Set of files to scan. # The set of one or more files to scan. @@ -1585,11 +1675,11 @@

Method Details

], }, }, - "timespanConfig": { # Configuration of the timespan of the items to include in scanning. Currently only supported when inspecting Google Cloud Storage and BigQuery. + "timespanConfig": { # Configuration of the timespan of the items to include in scanning. Currently only supported when inspecting Cloud Storage and BigQuery. "enableAutoPopulationOfTimespanConfig": True or False, # When the job is started by a JobTrigger we will automatically figure out a valid start_time to avoid scanning files that have not been modified since the last time the JobTrigger executed. This will be based on the time of the execution of the last run of the JobTrigger. "endTime": "A String", # Exclude files, tables, or rows newer than this value. If not set, no upper time limit is applied. "startTime": "A String", # Exclude files, tables, or rows older than this value. If not set, no lower time limit is applied. - "timestampField": { # General identifier of a data field in a storage service. # Specification of the field containing the timestamp of scanned items. Used for data sources like Datastore and BigQuery. For BigQuery: If this value is not specified and the table was modified between the given start and end times, the entire table will be scanned. If this value is specified, then rows are filtered based on the given start and end times. Rows with a `NULL` value in the provided BigQuery column are skipped. Valid data types of the provided BigQuery column are: `INTEGER`, `DATE`, `TIMESTAMP`, and `DATETIME`. For Datastore: If this value is specified, then entities are filtered based on the given start and end times. If an entity does not contain the provided timestamp property or contains empty or invalid values, then it is included. Valid data types of the provided timestamp property are: `TIMESTAMP`. + "timestampField": { # General identifier of a data field in a storage service. # Specification of the field containing the timestamp of scanned items. Used for data sources like Datastore and BigQuery. *For BigQuery* If this value is not specified and the table was modified between the given start and end times, the entire table will be scanned. If this value is specified, then rows are filtered based on the given start and end times. Rows with a `NULL` value in the provided BigQuery column are skipped. Valid data types of the provided BigQuery column are: `INTEGER`, `DATE`, `TIMESTAMP`, and `DATETIME`. If your BigQuery table is [partitioned at ingestion time](https://cloud.google.com/bigquery/docs/partitioned-tables#ingestion_time), you can use any of the following pseudo-columns as your timestamp field. When used with Cloud DLP, these pseudo-column names are case sensitive. - _PARTITIONTIME - _PARTITIONDATE - _PARTITION_LOAD_TIME *For Datastore* If this value is specified, then entities are filtered based on the given start and end times. If an entity does not contain the provided timestamp property or contains empty or invalid values, then it is included. Valid data types of the provided timestamp property are: `TIMESTAMP`. See the [known issue](https://cloud.google.com/dlp/docs/known-issues#bq-timespan) related to this operation. "name": "A String", # Name describing the field. }, }, @@ -1603,7 +1693,7 @@

Method Details

"manual": { # Job trigger option for hybrid jobs. Jobs must be manually created and finished. # For use with hybrid jobs. Jobs must be manually created and finished. }, "schedule": { # Schedule for inspect job triggers. # Create a job on a repeating basis based on the elapse of time. - "recurrencePeriodDuration": "A String", # With this option a job is started a regular periodic basis. For example: every day (86400 seconds). A scheduled start time will be skipped if the previous execution has not ended when its scheduled time occurs. This value must be set to a time duration greater than or equal to 1 day and can be no longer than 60 days. + "recurrencePeriodDuration": "A String", # With this option a job is started on a regular periodic basis. For example: every day (86400 seconds). A scheduled start time will be skipped if the previous execution has not ended when its scheduled time occurs. This value must be set to a time duration greater than or equal to 1 day and can be no longer than 60 days. }, }, ], @@ -1643,21 +1733,39 @@

Method Details

"inspectJob": { # Controls what and how to inspect for findings. # For inspect jobs, a snapshot of the configuration. "actions": [ # Actions to execute at the completion of the job. { # A task to execute on the completion of a job. See https://cloud.google.com/dlp/docs/concepts-actions to learn more. + "deidentify": { # Create a de-identified copy of the requested table or files. . A TransformationDetail will be created for each transformation. If any rows in BigQuery are skipped during de-identification (transformation errors or row size exceeds BigQuery insert API limits) they are placed in the failure output table. If the original row exceeds the BigQuery insert API limit it will be truncated when written to the failure output table. The failure output table can be set in the action.deidentify.output.big_query_output.deidentified_failure_output_table field, if no table is set, a table will be automatically created in the same project and dataset as the original table. Compatible with: Inspect # Create a de-identified copy of the input data. Applicable for non-image data only. The de-identified copy is in the same location as the original data. + "cloudStorageOutput": "A String", # Required. User settable GCS bucket and folders to store de-identified files. This field must be set for cloud storage deidentification. The output GCS bucket must be different from the input bucket. De-identified files will overwrite files in the output path. Form of: gs://bucket/folder/ or gs://bucket + "fileTypesToTransform": [ # List of user-specified file type groups to transform. If specified, only the files with these filetypes will be transformed. If empty, all supported files will be transformed. Supported types may be automatically added over time. If a file type is set in this field that isn't supported by the Deidentify action then the job will fail and will not be successfully created/started. Currently the only filetypes supported are: IMAGES, TEXT_FILES, CSV, TSV. + "A String", + ], + "transformationConfig": { # User specified templates and configs for how to deidentify structured, unstructures, and image files. User must provide either a unstructured deidentify template or at least one redact image config. # User specified deidentify templates and configs for structured, unstructured, and image files. + "deidentifyTemplate": "A String", # De-identify template. If this template is specified, it will serve as the default de-identify template. This template cannot contain `record_transformations` since it can be used for unstructured content such as free-form text files. If this template is not set, a default `ReplaceWithInfoTypeConfig` will be used to de-identify unstructured content. + "imageRedactTemplate": "A String", # Image redact template. If this template is specified, it will serve as the de-identify template for images. If this template is not set, all findings in the image will be redacted with a black box. + "structuredDeidentifyTemplate": "A String", # Structured de-identify template. If this template is specified, it will serve as the de-identify template for structured content such as delimited files and tables. If this template is not set but the `deidentify_template` is set, then `deidentify_template` will also apply to the structured content. If neither template is set, a default `ReplaceWithInfoTypeConfig` will be used to de-identify structured content. + }, + "transformationDetailsStorageConfig": { # Config for storing transformation details. # Config for storing transformation details. This is separate from the de-identified content, and contains metadata about the successful transformations and/or failures that occurred while de-identifying. This needs to be set in order for users to access information about the status of each transformation (see TransformationDetails message for more information about what is noted). + "table": { # Message defining the location of a BigQuery table. A table is uniquely identified by its project_id, dataset_id, and table_name. Within a query a table is often referenced with a string in the format of: `:.` or `..`. # The BigQuery table in which to store the output. This may be an existing table or in a new table in an existing dataset. If table_id is not set a new one will be generated for you with the following format: dlp_googleapis_transformation_details_yyyy_mm_dd_[dlp_job_id]. Pacific time zone will be used for generating the date details. + "datasetId": "A String", # Dataset ID of the table. + "projectId": "A String", # The Google Cloud Platform project ID of the project containing the table. If omitted, project ID is inferred from the API call. + "tableId": "A String", # Name of the table. + }, + }, + }, "jobNotificationEmails": { # Enable email notification to project owners and editors on jobs's completion/failure. # Enable email notification for project owners and editors on job's completion/failure. }, - "pubSub": { # Publish a message into given Pub/Sub topic when DlpJob has completed. The message contains a single field, `DlpJobName`, which is equal to the finished job's [`DlpJob.name`](https://cloud.google.com/dlp/docs/reference/rest/v2/projects.dlpJobs#DlpJob). Compatible with: Inspect, Risk # Publish a notification to a pubsub topic. + "pubSub": { # Publish a message into a given Pub/Sub topic when DlpJob has completed. The message contains a single field, `DlpJobName`, which is equal to the finished job's [`DlpJob.name`](https://cloud.google.com/dlp/docs/reference/rest/v2/projects.dlpJobs#DlpJob). Compatible with: Inspect, Risk # Publish a notification to a pubsub topic. "topic": "A String", # Cloud Pub/Sub topic to send notifications to. The topic must have given publishing access rights to the DLP API service account executing the long running DlpJob sending the notifications. Format is projects/{project}/topics/{topic}. }, "publishFindingsToCloudDataCatalog": { # Publish findings of a DlpJob to Data Catalog. Labels summarizing the results of the DlpJob will be applied to the entry for the resource scanned in Data Catalog. Any labels previously written by another DlpJob will be deleted. InfoType naming patterns are strictly enforced when using this feature. Note that the findings will be persisted in Data Catalog storage and are governed by Data Catalog service-specific policy, see https://cloud.google.com/terms/service-terms Only a single instance of this action can be specified and only allowed if all resources being scanned are BigQuery tables. Compatible with: Inspect # Publish findings to Cloud Datahub. }, - "publishSummaryToCscc": { # Publish the result summary of a DlpJob to the Cloud Security Command Center (CSCC Alpha). This action is only available for projects which are parts of an organization and whitelisted for the alpha Cloud Security Command Center. The action will publish count of finding instances and their info types. The summary of findings will be persisted in CSCC and are governed by CSCC service-specific policy, see https://cloud.google.com/terms/service-terms Only a single instance of this action can be specified. Compatible with: Inspect # Publish summary to Cloud Security Command Center (Alpha). + "publishSummaryToCscc": { # Publish the result summary of a DlpJob to the Cloud Security Command Center (CSCC Alpha). This action is only available for projects which are parts of an organization and whitelisted for the alpha Cloud Security Command Center. The action will publish the count of finding instances and their info types. The summary of findings will be persisted in CSCC and are governed by CSCC service-specific policy, see https://cloud.google.com/terms/service-terms Only a single instance of this action can be specified. Compatible with: Inspect # Publish summary to Cloud Security Command Center (Alpha). }, "publishToStackdriver": { # Enable Stackdriver metric dlp.googleapis.com/finding_count. This will publish a metric to stack driver on each infotype requested and how many findings were found for it. CustomDetectors will be bucketed as 'Custom' under the Stackdriver label 'info_type'. # Enable Stackdriver metric dlp.googleapis.com/finding_count. }, "saveFindings": { # If set, the detailed findings will be persisted to the specified OutputStorageConfig. Only a single instance of this action can be specified. Compatible with: Inspect, Risk # Save resulting findings in a provided location. "outputConfig": { # Cloud repository for storing output. # Location to store findings outside of DLP. "outputSchema": "A String", # Schema used for writing the findings for Inspect jobs. This field is only used for Inspect and must be unspecified for Risk jobs. Columns are derived from the `Finding` object. If appending to an existing table, any columns from the predefined schema that are missing will be added. No columns in the existing table will be deleted. If unspecified, then all available columns will be used for a new table or an (existing) table with no schema, and no changes will be made to an existing table that has a schema. Only for use with external storage. - "table": { # Message defining the location of a BigQuery table. A table is uniquely identified by its project_id, dataset_id, and table_name. Within a query a table is often referenced with a string in the format of: `:.` or `..`. # Store findings in an existing table or a new table in an existing dataset. If table_id is not set a new one will be generated for you with the following format: dlp_googleapis_yyyy_mm_dd_[dlp_job_id]. Pacific timezone will be used for generating the date details. For Inspect, each column in an existing output table must have the same name, type, and mode of a field in the `Finding` object. For Risk, an existing output table should be the output of a previous Risk analysis job run on the same source table, with the same privacy metric and quasi-identifiers. Risk jobs that analyze the same table but compute a different privacy metric, or use different sets of quasi-identifiers, cannot store their results in the same table. + "table": { # Message defining the location of a BigQuery table. A table is uniquely identified by its project_id, dataset_id, and table_name. Within a query a table is often referenced with a string in the format of: `:.` or `..`. # Store findings in an existing table or a new table in an existing dataset. If table_id is not set a new one will be generated for you with the following format: dlp_googleapis_yyyy_mm_dd_[dlp_job_id]. Pacific time zone will be used for generating the date details. For Inspect, each column in an existing output table must have the same name, type, and mode of a field in the `Finding` object. For Risk, an existing output table should be the output of a previous Risk analysis job run on the same source table, with the same privacy metric and quasi-identifiers. Risk jobs that analyze the same table but compute a different privacy metric, or use different sets of quasi-identifiers, cannot store their results in the same table. "datasetId": "A String", # Dataset ID of the table. "projectId": "A String", # The Google Cloud Platform project ID of the project containing the table. If omitted, project ID is inferred from the API call. "tableId": "A String", # Name of the table. @@ -1730,7 +1838,7 @@

Method Details

"version": "A String", # Optional version name for this InfoType. }, ], - "limits": { # Configuration to control the number of findings returned for inspection. This is not used for de-identification or data profiling. # Configuration to control the number of findings returned. This is not used for data profiling. + "limits": { # Configuration to control the number of findings returned for inspection. This is not used for de-identification or data profiling. When redacting sensitive data from images, finding limits don't apply. They can cause unexpected or inconsistent results, where only some data is redacted. Don't include finding limits in RedactImage requests. Otherwise, Cloud DLP returns an error. # Configuration to control the number of findings returned. This is not used for data profiling. When redacting sensitive data from images, finding limits don't apply. They can cause unexpected or inconsistent results, where only some data is redacted. Don't include finding limits in RedactImage requests. Otherwise, Cloud DLP returns an error. "maxFindingsPerInfoType": [ # Configuration of findings limit given for specified infoTypes. { # Max findings configuration per infoType, per content item or long running DlpJob. "infoType": { # Type of information detected by the API. # Type of information the findings limit applies to. Only one limit per info_type should be provided. If InfoTypeLimit does not have an info_type, the DLP API applies the limit against all info_types that are found but not specified in another InfoTypeLimit. @@ -1765,7 +1873,7 @@

Method Details

], }, }, - "excludeInfoTypes": { # List of exclude infoTypes. # Set of infoTypes for which findings would affect this rule. + "excludeInfoTypes": { # List of excluded infoTypes. # Set of infoTypes for which findings would affect this rule. "infoTypes": [ # InfoType list in ExclusionRule rule drops a finding when it overlaps or contained within with a finding of an infoType from this list. For example, for `InspectionRuleSet.info_types` containing "PHONE_NUMBER"` and `exclusion_rule` containing `exclude_info_types.info_types` with "EMAIL_ADDRESS" the phone number findings are dropped if they overlap with EMAIL_ADDRESS finding. That leads to "555-222-2222@example.org" to generate only a single finding, namely email address. { # Type of information detected by the API. "name": "A String", # Name of the information type. Either a name of your choosing when creating a CustomInfoType, or one of the names listed at https://cloud.google.com/dlp/docs/infotypes-reference when specifying a built-in type. When sending Cloud DLP results to Data Catalog, infoType names should conform to the pattern `[A-Za-z0-9$-_]{1,64}`. @@ -1829,7 +1937,7 @@

Method Details

"tableId": "A String", # Name of the table. }, }, - "cloudStorageOptions": { # Options defining a file or a set of files within a Google Cloud Storage bucket. # Google Cloud Storage options. + "cloudStorageOptions": { # Options defining a file or a set of files within a Cloud Storage bucket. # Cloud Storage options. "bytesLimitPerFile": "A String", # Max number of bytes to scan from a file. If a scanned file's size is bigger than this value then the rest of the bytes are omitted. Only one of bytes_limit_per_file and bytes_limit_per_file_percent can be specified. Cannot be set if de-identification is requested. "bytesLimitPerFilePercent": 42, # Max percentage of bytes to scan from a file. The rest are omitted. The number of bytes scanned is rounded down. Must be between 0 and 100, inclusively. Both 0 and 100 means no limit. Defaults to 0. Only one of bytes_limit_per_file and bytes_limit_per_file_percent can be specified. Cannot be set if de-identification is requested. "fileSet": { # Set of files to scan. # The set of one or more files to scan. @@ -1875,11 +1983,11 @@

Method Details

], }, }, - "timespanConfig": { # Configuration of the timespan of the items to include in scanning. Currently only supported when inspecting Google Cloud Storage and BigQuery. + "timespanConfig": { # Configuration of the timespan of the items to include in scanning. Currently only supported when inspecting Cloud Storage and BigQuery. "enableAutoPopulationOfTimespanConfig": True or False, # When the job is started by a JobTrigger we will automatically figure out a valid start_time to avoid scanning files that have not been modified since the last time the JobTrigger executed. This will be based on the time of the execution of the last run of the JobTrigger. "endTime": "A String", # Exclude files, tables, or rows newer than this value. If not set, no upper time limit is applied. "startTime": "A String", # Exclude files, tables, or rows older than this value. If not set, no lower time limit is applied. - "timestampField": { # General identifier of a data field in a storage service. # Specification of the field containing the timestamp of scanned items. Used for data sources like Datastore and BigQuery. For BigQuery: If this value is not specified and the table was modified between the given start and end times, the entire table will be scanned. If this value is specified, then rows are filtered based on the given start and end times. Rows with a `NULL` value in the provided BigQuery column are skipped. Valid data types of the provided BigQuery column are: `INTEGER`, `DATE`, `TIMESTAMP`, and `DATETIME`. For Datastore: If this value is specified, then entities are filtered based on the given start and end times. If an entity does not contain the provided timestamp property or contains empty or invalid values, then it is included. Valid data types of the provided timestamp property are: `TIMESTAMP`. + "timestampField": { # General identifier of a data field in a storage service. # Specification of the field containing the timestamp of scanned items. Used for data sources like Datastore and BigQuery. *For BigQuery* If this value is not specified and the table was modified between the given start and end times, the entire table will be scanned. If this value is specified, then rows are filtered based on the given start and end times. Rows with a `NULL` value in the provided BigQuery column are skipped. Valid data types of the provided BigQuery column are: `INTEGER`, `DATE`, `TIMESTAMP`, and `DATETIME`. If your BigQuery table is [partitioned at ingestion time](https://cloud.google.com/bigquery/docs/partitioned-tables#ingestion_time), you can use any of the following pseudo-columns as your timestamp field. When used with Cloud DLP, these pseudo-column names are case sensitive. - _PARTITIONTIME - _PARTITIONDATE - _PARTITION_LOAD_TIME *For Datastore* If this value is specified, then entities are filtered based on the given start and end times. If an entity does not contain the provided timestamp property or contains empty or invalid values, then it is included. Valid data types of the provided timestamp property are: `TIMESTAMP`. See the [known issue](https://cloud.google.com/dlp/docs/known-issues#bq-timespan) related to this operation. "name": "A String", # Name describing the field. }, }, @@ -1893,7 +2001,7 @@

Method Details

"manual": { # Job trigger option for hybrid jobs. Jobs must be manually created and finished. # For use with hybrid jobs. Jobs must be manually created and finished. }, "schedule": { # Schedule for inspect job triggers. # Create a job on a repeating basis based on the elapse of time. - "recurrencePeriodDuration": "A String", # With this option a job is started a regular periodic basis. For example: every day (86400 seconds). A scheduled start time will be skipped if the previous execution has not ended when its scheduled time occurs. This value must be set to a time duration greater than or equal to 1 day and can be no longer than 60 days. + "recurrencePeriodDuration": "A String", # With this option a job is started on a regular periodic basis. For example: every day (86400 seconds). A scheduled start time will be skipped if the previous execution has not ended when its scheduled time occurs. This value must be set to a time duration greater than or equal to 1 day and can be no longer than 60 days. }, }, ], diff --git a/docs/dyn/dlp_v2.organizations.locations.storedInfoTypes.html b/docs/dyn/dlp_v2.organizations.locations.storedInfoTypes.html index 26e88a066be..2607de490e0 100644 --- a/docs/dyn/dlp_v2.organizations.locations.storedInfoTypes.html +++ b/docs/dyn/dlp_v2.organizations.locations.storedInfoTypes.html @@ -124,7 +124,7 @@

Method Details

}, }, "displayName": "A String", # Display name of the StoredInfoType (max 256 characters). - "largeCustomDictionary": { # Configuration for a custom dictionary created from a data source of any size up to the maximum size defined in the [limits](https://cloud.google.com/dlp/limits) page. The artifacts of dictionary creation are stored in the specified Google Cloud Storage location. Consider using `CustomInfoType.Dictionary` for smaller dictionaries that satisfy the size requirements. # StoredInfoType where findings are defined by a dictionary of phrases. + "largeCustomDictionary": { # Configuration for a custom dictionary created from a data source of any size up to the maximum size defined in the [limits](https://cloud.google.com/dlp/limits) page. The artifacts of dictionary creation are stored in the specified Cloud Storage location. Consider using `CustomInfoType.Dictionary` for smaller dictionaries that satisfy the size requirements. # StoredInfoType where findings are defined by a dictionary of phrases. "bigQueryField": { # Message defining a field of a BigQuery table. # Field in a BigQuery table where each cell represents a dictionary phrase. "field": { # General identifier of a data field in a storage service. # Designated field in the BigQuery table. "name": "A String", # Name describing the field. @@ -138,7 +138,7 @@

Method Details

"cloudStorageFileSet": { # Message representing a set of files in Cloud Storage. # Set of files containing newline-delimited lists of dictionary phrases. "url": "A String", # The url, in the format `gs:///`. Trailing wildcard in the path is allowed. }, - "outputPath": { # Message representing a single file or path in Cloud Storage. # Location to store dictionary artifacts in Google Cloud Storage. These files will only be accessible by project owners and the DLP API. If any of these artifacts are modified, the dictionary is considered invalid and can no longer be used. + "outputPath": { # Message representing a single file or path in Cloud Storage. # Location to store dictionary artifacts in Cloud Storage. These files will only be accessible by project owners and the DLP API. If any of these artifacts are modified, the dictionary is considered invalid and can no longer be used. "path": "A String", # A url representing a file or path (no wildcards) in Cloud Storage. Example: gs://[BUCKET_NAME]/dictionary.txt }, }, @@ -176,7 +176,7 @@

Method Details

}, }, "displayName": "A String", # Display name of the StoredInfoType (max 256 characters). - "largeCustomDictionary": { # Configuration for a custom dictionary created from a data source of any size up to the maximum size defined in the [limits](https://cloud.google.com/dlp/limits) page. The artifacts of dictionary creation are stored in the specified Google Cloud Storage location. Consider using `CustomInfoType.Dictionary` for smaller dictionaries that satisfy the size requirements. # StoredInfoType where findings are defined by a dictionary of phrases. + "largeCustomDictionary": { # Configuration for a custom dictionary created from a data source of any size up to the maximum size defined in the [limits](https://cloud.google.com/dlp/limits) page. The artifacts of dictionary creation are stored in the specified Cloud Storage location. Consider using `CustomInfoType.Dictionary` for smaller dictionaries that satisfy the size requirements. # StoredInfoType where findings are defined by a dictionary of phrases. "bigQueryField": { # Message defining a field of a BigQuery table. # Field in a BigQuery table where each cell represents a dictionary phrase. "field": { # General identifier of a data field in a storage service. # Designated field in the BigQuery table. "name": "A String", # Name describing the field. @@ -190,7 +190,7 @@

Method Details

"cloudStorageFileSet": { # Message representing a set of files in Cloud Storage. # Set of files containing newline-delimited lists of dictionary phrases. "url": "A String", # The url, in the format `gs:///`. Trailing wildcard in the path is allowed. }, - "outputPath": { # Message representing a single file or path in Cloud Storage. # Location to store dictionary artifacts in Google Cloud Storage. These files will only be accessible by project owners and the DLP API. If any of these artifacts are modified, the dictionary is considered invalid and can no longer be used. + "outputPath": { # Message representing a single file or path in Cloud Storage. # Location to store dictionary artifacts in Cloud Storage. These files will only be accessible by project owners and the DLP API. If any of these artifacts are modified, the dictionary is considered invalid and can no longer be used. "path": "A String", # A url representing a file or path (no wildcards) in Cloud Storage. Example: gs://[BUCKET_NAME]/dictionary.txt }, }, @@ -202,7 +202,7 @@

Method Details

}, }, "createTime": "A String", # Create timestamp of the version. Read-only, determined by the system when the version is created. - "errors": [ # Errors that occurred when creating this storedInfoType version, or anomalies detected in the storedInfoType data that render it unusable. Only the five most recent errors will be displayed, with the most recent error appearing first. For example, some of the data for stored custom dictionaries is put in the user's Google Cloud Storage bucket, and if this data is modified or deleted by the user or another system, the dictionary becomes invalid. If any errors occur, fix the problem indicated by the error message and use the UpdateStoredInfoType API method to create another version of the storedInfoType to continue using it, reusing the same `config` if it was not the source of the error. + "errors": [ # Errors that occurred when creating this storedInfoType version, or anomalies detected in the storedInfoType data that render it unusable. Only the five most recent errors will be displayed, with the most recent error appearing first. For example, some of the data for stored custom dictionaries is put in the user's Cloud Storage bucket, and if this data is modified or deleted by the user or another system, the dictionary becomes invalid. If any errors occur, fix the problem indicated by the error message and use the UpdateStoredInfoType API method to create another version of the storedInfoType to continue using it, reusing the same `config` if it was not the source of the error. { # Details information about an error encountered during job execution or the results of an unsuccessful activation of the JobTrigger. "details": { # The `Status` type defines a logical error model that is suitable for different programming environments, including REST APIs and RPC APIs. It is used by [gRPC](https://github.com/grpc). Each `Status` message contains three pieces of data: error code, error message, and error details. You can find out more about this error model and how to work with it in the [API Design Guide](https://cloud.google.com/apis/design/errors). # Detailed error codes and messages. "code": 42, # The status code, which should be an enum value of google.rpc.Code. @@ -241,7 +241,7 @@

Method Details

}, }, "displayName": "A String", # Display name of the StoredInfoType (max 256 characters). - "largeCustomDictionary": { # Configuration for a custom dictionary created from a data source of any size up to the maximum size defined in the [limits](https://cloud.google.com/dlp/limits) page. The artifacts of dictionary creation are stored in the specified Google Cloud Storage location. Consider using `CustomInfoType.Dictionary` for smaller dictionaries that satisfy the size requirements. # StoredInfoType where findings are defined by a dictionary of phrases. + "largeCustomDictionary": { # Configuration for a custom dictionary created from a data source of any size up to the maximum size defined in the [limits](https://cloud.google.com/dlp/limits) page. The artifacts of dictionary creation are stored in the specified Cloud Storage location. Consider using `CustomInfoType.Dictionary` for smaller dictionaries that satisfy the size requirements. # StoredInfoType where findings are defined by a dictionary of phrases. "bigQueryField": { # Message defining a field of a BigQuery table. # Field in a BigQuery table where each cell represents a dictionary phrase. "field": { # General identifier of a data field in a storage service. # Designated field in the BigQuery table. "name": "A String", # Name describing the field. @@ -255,7 +255,7 @@

Method Details

"cloudStorageFileSet": { # Message representing a set of files in Cloud Storage. # Set of files containing newline-delimited lists of dictionary phrases. "url": "A String", # The url, in the format `gs:///`. Trailing wildcard in the path is allowed. }, - "outputPath": { # Message representing a single file or path in Cloud Storage. # Location to store dictionary artifacts in Google Cloud Storage. These files will only be accessible by project owners and the DLP API. If any of these artifacts are modified, the dictionary is considered invalid and can no longer be used. + "outputPath": { # Message representing a single file or path in Cloud Storage. # Location to store dictionary artifacts in Cloud Storage. These files will only be accessible by project owners and the DLP API. If any of these artifacts are modified, the dictionary is considered invalid and can no longer be used. "path": "A String", # A url representing a file or path (no wildcards) in Cloud Storage. Example: gs://[BUCKET_NAME]/dictionary.txt }, }, @@ -267,7 +267,7 @@

Method Details

}, }, "createTime": "A String", # Create timestamp of the version. Read-only, determined by the system when the version is created. - "errors": [ # Errors that occurred when creating this storedInfoType version, or anomalies detected in the storedInfoType data that render it unusable. Only the five most recent errors will be displayed, with the most recent error appearing first. For example, some of the data for stored custom dictionaries is put in the user's Google Cloud Storage bucket, and if this data is modified or deleted by the user or another system, the dictionary becomes invalid. If any errors occur, fix the problem indicated by the error message and use the UpdateStoredInfoType API method to create another version of the storedInfoType to continue using it, reusing the same `config` if it was not the source of the error. + "errors": [ # Errors that occurred when creating this storedInfoType version, or anomalies detected in the storedInfoType data that render it unusable. Only the five most recent errors will be displayed, with the most recent error appearing first. For example, some of the data for stored custom dictionaries is put in the user's Cloud Storage bucket, and if this data is modified or deleted by the user or another system, the dictionary becomes invalid. If any errors occur, fix the problem indicated by the error message and use the UpdateStoredInfoType API method to create another version of the storedInfoType to continue using it, reusing the same `config` if it was not the source of the error. { # Details information about an error encountered during job execution or the results of an unsuccessful activation of the JobTrigger. "details": { # The `Status` type defines a logical error model that is suitable for different programming environments, including REST APIs and RPC APIs. It is used by [gRPC](https://github.com/grpc). Each `Status` message contains three pieces of data: error code, error message, and error details. You can find out more about this error model and how to work with it in the [API Design Guide](https://cloud.google.com/apis/design/errors). # Detailed error codes and messages. "code": 42, # The status code, which should be an enum value of google.rpc.Code. @@ -341,7 +341,7 @@

Method Details

}, }, "displayName": "A String", # Display name of the StoredInfoType (max 256 characters). - "largeCustomDictionary": { # Configuration for a custom dictionary created from a data source of any size up to the maximum size defined in the [limits](https://cloud.google.com/dlp/limits) page. The artifacts of dictionary creation are stored in the specified Google Cloud Storage location. Consider using `CustomInfoType.Dictionary` for smaller dictionaries that satisfy the size requirements. # StoredInfoType where findings are defined by a dictionary of phrases. + "largeCustomDictionary": { # Configuration for a custom dictionary created from a data source of any size up to the maximum size defined in the [limits](https://cloud.google.com/dlp/limits) page. The artifacts of dictionary creation are stored in the specified Cloud Storage location. Consider using `CustomInfoType.Dictionary` for smaller dictionaries that satisfy the size requirements. # StoredInfoType where findings are defined by a dictionary of phrases. "bigQueryField": { # Message defining a field of a BigQuery table. # Field in a BigQuery table where each cell represents a dictionary phrase. "field": { # General identifier of a data field in a storage service. # Designated field in the BigQuery table. "name": "A String", # Name describing the field. @@ -355,7 +355,7 @@

Method Details

"cloudStorageFileSet": { # Message representing a set of files in Cloud Storage. # Set of files containing newline-delimited lists of dictionary phrases. "url": "A String", # The url, in the format `gs:///`. Trailing wildcard in the path is allowed. }, - "outputPath": { # Message representing a single file or path in Cloud Storage. # Location to store dictionary artifacts in Google Cloud Storage. These files will only be accessible by project owners and the DLP API. If any of these artifacts are modified, the dictionary is considered invalid and can no longer be used. + "outputPath": { # Message representing a single file or path in Cloud Storage. # Location to store dictionary artifacts in Cloud Storage. These files will only be accessible by project owners and the DLP API. If any of these artifacts are modified, the dictionary is considered invalid and can no longer be used. "path": "A String", # A url representing a file or path (no wildcards) in Cloud Storage. Example: gs://[BUCKET_NAME]/dictionary.txt }, }, @@ -367,7 +367,7 @@

Method Details

}, }, "createTime": "A String", # Create timestamp of the version. Read-only, determined by the system when the version is created. - "errors": [ # Errors that occurred when creating this storedInfoType version, or anomalies detected in the storedInfoType data that render it unusable. Only the five most recent errors will be displayed, with the most recent error appearing first. For example, some of the data for stored custom dictionaries is put in the user's Google Cloud Storage bucket, and if this data is modified or deleted by the user or another system, the dictionary becomes invalid. If any errors occur, fix the problem indicated by the error message and use the UpdateStoredInfoType API method to create another version of the storedInfoType to continue using it, reusing the same `config` if it was not the source of the error. + "errors": [ # Errors that occurred when creating this storedInfoType version, or anomalies detected in the storedInfoType data that render it unusable. Only the five most recent errors will be displayed, with the most recent error appearing first. For example, some of the data for stored custom dictionaries is put in the user's Cloud Storage bucket, and if this data is modified or deleted by the user or another system, the dictionary becomes invalid. If any errors occur, fix the problem indicated by the error message and use the UpdateStoredInfoType API method to create another version of the storedInfoType to continue using it, reusing the same `config` if it was not the source of the error. { # Details information about an error encountered during job execution or the results of an unsuccessful activation of the JobTrigger. "details": { # The `Status` type defines a logical error model that is suitable for different programming environments, including REST APIs and RPC APIs. It is used by [gRPC](https://github.com/grpc). Each `Status` message contains three pieces of data: error code, error message, and error details. You can find out more about this error model and how to work with it in the [API Design Guide](https://cloud.google.com/apis/design/errors). # Detailed error codes and messages. "code": 42, # The status code, which should be an enum value of google.rpc.Code. @@ -406,7 +406,7 @@

Method Details

}, }, "displayName": "A String", # Display name of the StoredInfoType (max 256 characters). - "largeCustomDictionary": { # Configuration for a custom dictionary created from a data source of any size up to the maximum size defined in the [limits](https://cloud.google.com/dlp/limits) page. The artifacts of dictionary creation are stored in the specified Google Cloud Storage location. Consider using `CustomInfoType.Dictionary` for smaller dictionaries that satisfy the size requirements. # StoredInfoType where findings are defined by a dictionary of phrases. + "largeCustomDictionary": { # Configuration for a custom dictionary created from a data source of any size up to the maximum size defined in the [limits](https://cloud.google.com/dlp/limits) page. The artifacts of dictionary creation are stored in the specified Cloud Storage location. Consider using `CustomInfoType.Dictionary` for smaller dictionaries that satisfy the size requirements. # StoredInfoType where findings are defined by a dictionary of phrases. "bigQueryField": { # Message defining a field of a BigQuery table. # Field in a BigQuery table where each cell represents a dictionary phrase. "field": { # General identifier of a data field in a storage service. # Designated field in the BigQuery table. "name": "A String", # Name describing the field. @@ -420,7 +420,7 @@

Method Details

"cloudStorageFileSet": { # Message representing a set of files in Cloud Storage. # Set of files containing newline-delimited lists of dictionary phrases. "url": "A String", # The url, in the format `gs:///`. Trailing wildcard in the path is allowed. }, - "outputPath": { # Message representing a single file or path in Cloud Storage. # Location to store dictionary artifacts in Google Cloud Storage. These files will only be accessible by project owners and the DLP API. If any of these artifacts are modified, the dictionary is considered invalid and can no longer be used. + "outputPath": { # Message representing a single file or path in Cloud Storage. # Location to store dictionary artifacts in Cloud Storage. These files will only be accessible by project owners and the DLP API. If any of these artifacts are modified, the dictionary is considered invalid and can no longer be used. "path": "A String", # A url representing a file or path (no wildcards) in Cloud Storage. Example: gs://[BUCKET_NAME]/dictionary.txt }, }, @@ -432,7 +432,7 @@

Method Details

}, }, "createTime": "A String", # Create timestamp of the version. Read-only, determined by the system when the version is created. - "errors": [ # Errors that occurred when creating this storedInfoType version, or anomalies detected in the storedInfoType data that render it unusable. Only the five most recent errors will be displayed, with the most recent error appearing first. For example, some of the data for stored custom dictionaries is put in the user's Google Cloud Storage bucket, and if this data is modified or deleted by the user or another system, the dictionary becomes invalid. If any errors occur, fix the problem indicated by the error message and use the UpdateStoredInfoType API method to create another version of the storedInfoType to continue using it, reusing the same `config` if it was not the source of the error. + "errors": [ # Errors that occurred when creating this storedInfoType version, or anomalies detected in the storedInfoType data that render it unusable. Only the five most recent errors will be displayed, with the most recent error appearing first. For example, some of the data for stored custom dictionaries is put in the user's Cloud Storage bucket, and if this data is modified or deleted by the user or another system, the dictionary becomes invalid. If any errors occur, fix the problem indicated by the error message and use the UpdateStoredInfoType API method to create another version of the storedInfoType to continue using it, reusing the same `config` if it was not the source of the error. { # Details information about an error encountered during job execution or the results of an unsuccessful activation of the JobTrigger. "details": { # The `Status` type defines a logical error model that is suitable for different programming environments, including REST APIs and RPC APIs. It is used by [gRPC](https://github.com/grpc). Each `Status` message contains three pieces of data: error code, error message, and error details. You can find out more about this error model and how to work with it in the [API Design Guide](https://cloud.google.com/apis/design/errors). # Detailed error codes and messages. "code": 42, # The status code, which should be an enum value of google.rpc.Code. @@ -466,8 +466,8 @@

Method Details

Args: parent: string, Required. Parent resource name. The format of this value varies depending on the scope of the request (project or organization) and whether you have [specified a processing location](https://cloud.google.com/dlp/docs/specifying-location): + Projects scope, location specified: `projects/`PROJECT_ID`/locations/`LOCATION_ID + Projects scope, no location specified (defaults to global): `projects/`PROJECT_ID + Organizations scope, location specified: `organizations/`ORG_ID`/locations/`LOCATION_ID + Organizations scope, no location specified (defaults to global): `organizations/`ORG_ID The following example `parent` string specifies a parent project with the identifier `example-project`, and specifies the `europe-west3` location for processing data: parent=projects/example-project/locations/europe-west3 (required) locationId: string, Deprecated. This field has no effect. - orderBy: string, Comma separated list of fields to order by, followed by `asc` or `desc` postfix. This list is case-insensitive, default sorting order is ascending, redundant space characters are insignificant. Example: `name asc, display_name, create_time desc` Supported fields are: - `create_time`: corresponds to time the most recent version of the resource was created. - `state`: corresponds to the state of the resource. - `name`: corresponds to resource name. - `display_name`: corresponds to info type's display name. - pageSize: integer, Size of the page, can be limited by server. If zero server returns a page of max size 100. + orderBy: string, Comma separated list of fields to order by, followed by `asc` or `desc` postfix. This list is case-insensitive, default sorting order is ascending, redundant space characters are insignificant. Example: `name asc, display_name, create_time desc` Supported fields are: - `create_time`: corresponds to the time the most recent version of the resource was created. - `state`: corresponds to the state of the resource. - `name`: corresponds to resource name. - `display_name`: corresponds to info type's display name. + pageSize: integer, Size of the page, can be limited by the server. If zero server returns a page of max size 100. pageToken: string, Page token to continue retrieval. Comes from previous call to `ListStoredInfoTypes`. x__xgafv: string, V1 error format. Allowed values @@ -495,7 +495,7 @@

Method Details

}, }, "displayName": "A String", # Display name of the StoredInfoType (max 256 characters). - "largeCustomDictionary": { # Configuration for a custom dictionary created from a data source of any size up to the maximum size defined in the [limits](https://cloud.google.com/dlp/limits) page. The artifacts of dictionary creation are stored in the specified Google Cloud Storage location. Consider using `CustomInfoType.Dictionary` for smaller dictionaries that satisfy the size requirements. # StoredInfoType where findings are defined by a dictionary of phrases. + "largeCustomDictionary": { # Configuration for a custom dictionary created from a data source of any size up to the maximum size defined in the [limits](https://cloud.google.com/dlp/limits) page. The artifacts of dictionary creation are stored in the specified Cloud Storage location. Consider using `CustomInfoType.Dictionary` for smaller dictionaries that satisfy the size requirements. # StoredInfoType where findings are defined by a dictionary of phrases. "bigQueryField": { # Message defining a field of a BigQuery table. # Field in a BigQuery table where each cell represents a dictionary phrase. "field": { # General identifier of a data field in a storage service. # Designated field in the BigQuery table. "name": "A String", # Name describing the field. @@ -509,7 +509,7 @@

Method Details

"cloudStorageFileSet": { # Message representing a set of files in Cloud Storage. # Set of files containing newline-delimited lists of dictionary phrases. "url": "A String", # The url, in the format `gs:///`. Trailing wildcard in the path is allowed. }, - "outputPath": { # Message representing a single file or path in Cloud Storage. # Location to store dictionary artifacts in Google Cloud Storage. These files will only be accessible by project owners and the DLP API. If any of these artifacts are modified, the dictionary is considered invalid and can no longer be used. + "outputPath": { # Message representing a single file or path in Cloud Storage. # Location to store dictionary artifacts in Cloud Storage. These files will only be accessible by project owners and the DLP API. If any of these artifacts are modified, the dictionary is considered invalid and can no longer be used. "path": "A String", # A url representing a file or path (no wildcards) in Cloud Storage. Example: gs://[BUCKET_NAME]/dictionary.txt }, }, @@ -521,7 +521,7 @@

Method Details

}, }, "createTime": "A String", # Create timestamp of the version. Read-only, determined by the system when the version is created. - "errors": [ # Errors that occurred when creating this storedInfoType version, or anomalies detected in the storedInfoType data that render it unusable. Only the five most recent errors will be displayed, with the most recent error appearing first. For example, some of the data for stored custom dictionaries is put in the user's Google Cloud Storage bucket, and if this data is modified or deleted by the user or another system, the dictionary becomes invalid. If any errors occur, fix the problem indicated by the error message and use the UpdateStoredInfoType API method to create another version of the storedInfoType to continue using it, reusing the same `config` if it was not the source of the error. + "errors": [ # Errors that occurred when creating this storedInfoType version, or anomalies detected in the storedInfoType data that render it unusable. Only the five most recent errors will be displayed, with the most recent error appearing first. For example, some of the data for stored custom dictionaries is put in the user's Cloud Storage bucket, and if this data is modified or deleted by the user or another system, the dictionary becomes invalid. If any errors occur, fix the problem indicated by the error message and use the UpdateStoredInfoType API method to create another version of the storedInfoType to continue using it, reusing the same `config` if it was not the source of the error. { # Details information about an error encountered during job execution or the results of an unsuccessful activation of the JobTrigger. "details": { # The `Status` type defines a logical error model that is suitable for different programming environments, including REST APIs and RPC APIs. It is used by [gRPC](https://github.com/grpc). Each `Status` message contains three pieces of data: error code, error message, and error details. You can find out more about this error model and how to work with it in the [API Design Guide](https://cloud.google.com/apis/design/errors). # Detailed error codes and messages. "code": 42, # The status code, which should be an enum value of google.rpc.Code. @@ -560,7 +560,7 @@

Method Details

}, }, "displayName": "A String", # Display name of the StoredInfoType (max 256 characters). - "largeCustomDictionary": { # Configuration for a custom dictionary created from a data source of any size up to the maximum size defined in the [limits](https://cloud.google.com/dlp/limits) page. The artifacts of dictionary creation are stored in the specified Google Cloud Storage location. Consider using `CustomInfoType.Dictionary` for smaller dictionaries that satisfy the size requirements. # StoredInfoType where findings are defined by a dictionary of phrases. + "largeCustomDictionary": { # Configuration for a custom dictionary created from a data source of any size up to the maximum size defined in the [limits](https://cloud.google.com/dlp/limits) page. The artifacts of dictionary creation are stored in the specified Cloud Storage location. Consider using `CustomInfoType.Dictionary` for smaller dictionaries that satisfy the size requirements. # StoredInfoType where findings are defined by a dictionary of phrases. "bigQueryField": { # Message defining a field of a BigQuery table. # Field in a BigQuery table where each cell represents a dictionary phrase. "field": { # General identifier of a data field in a storage service. # Designated field in the BigQuery table. "name": "A String", # Name describing the field. @@ -574,7 +574,7 @@

Method Details

"cloudStorageFileSet": { # Message representing a set of files in Cloud Storage. # Set of files containing newline-delimited lists of dictionary phrases. "url": "A String", # The url, in the format `gs:///`. Trailing wildcard in the path is allowed. }, - "outputPath": { # Message representing a single file or path in Cloud Storage. # Location to store dictionary artifacts in Google Cloud Storage. These files will only be accessible by project owners and the DLP API. If any of these artifacts are modified, the dictionary is considered invalid and can no longer be used. + "outputPath": { # Message representing a single file or path in Cloud Storage. # Location to store dictionary artifacts in Cloud Storage. These files will only be accessible by project owners and the DLP API. If any of these artifacts are modified, the dictionary is considered invalid and can no longer be used. "path": "A String", # A url representing a file or path (no wildcards) in Cloud Storage. Example: gs://[BUCKET_NAME]/dictionary.txt }, }, @@ -586,7 +586,7 @@

Method Details

}, }, "createTime": "A String", # Create timestamp of the version. Read-only, determined by the system when the version is created. - "errors": [ # Errors that occurred when creating this storedInfoType version, or anomalies detected in the storedInfoType data that render it unusable. Only the five most recent errors will be displayed, with the most recent error appearing first. For example, some of the data for stored custom dictionaries is put in the user's Google Cloud Storage bucket, and if this data is modified or deleted by the user or another system, the dictionary becomes invalid. If any errors occur, fix the problem indicated by the error message and use the UpdateStoredInfoType API method to create another version of the storedInfoType to continue using it, reusing the same `config` if it was not the source of the error. + "errors": [ # Errors that occurred when creating this storedInfoType version, or anomalies detected in the storedInfoType data that render it unusable. Only the five most recent errors will be displayed, with the most recent error appearing first. For example, some of the data for stored custom dictionaries is put in the user's Cloud Storage bucket, and if this data is modified or deleted by the user or another system, the dictionary becomes invalid. If any errors occur, fix the problem indicated by the error message and use the UpdateStoredInfoType API method to create another version of the storedInfoType to continue using it, reusing the same `config` if it was not the source of the error. { # Details information about an error encountered during job execution or the results of an unsuccessful activation of the JobTrigger. "details": { # The `Status` type defines a logical error model that is suitable for different programming environments, including REST APIs and RPC APIs. It is used by [gRPC](https://github.com/grpc). Each `Status` message contains three pieces of data: error code, error message, and error details. You can find out more about this error model and how to work with it in the [API Design Guide](https://cloud.google.com/apis/design/errors). # Detailed error codes and messages. "code": 42, # The status code, which should be an enum value of google.rpc.Code. @@ -652,7 +652,7 @@

Method Details

}, }, "displayName": "A String", # Display name of the StoredInfoType (max 256 characters). - "largeCustomDictionary": { # Configuration for a custom dictionary created from a data source of any size up to the maximum size defined in the [limits](https://cloud.google.com/dlp/limits) page. The artifacts of dictionary creation are stored in the specified Google Cloud Storage location. Consider using `CustomInfoType.Dictionary` for smaller dictionaries that satisfy the size requirements. # StoredInfoType where findings are defined by a dictionary of phrases. + "largeCustomDictionary": { # Configuration for a custom dictionary created from a data source of any size up to the maximum size defined in the [limits](https://cloud.google.com/dlp/limits) page. The artifacts of dictionary creation are stored in the specified Cloud Storage location. Consider using `CustomInfoType.Dictionary` for smaller dictionaries that satisfy the size requirements. # StoredInfoType where findings are defined by a dictionary of phrases. "bigQueryField": { # Message defining a field of a BigQuery table. # Field in a BigQuery table where each cell represents a dictionary phrase. "field": { # General identifier of a data field in a storage service. # Designated field in the BigQuery table. "name": "A String", # Name describing the field. @@ -666,7 +666,7 @@

Method Details

"cloudStorageFileSet": { # Message representing a set of files in Cloud Storage. # Set of files containing newline-delimited lists of dictionary phrases. "url": "A String", # The url, in the format `gs:///`. Trailing wildcard in the path is allowed. }, - "outputPath": { # Message representing a single file or path in Cloud Storage. # Location to store dictionary artifacts in Google Cloud Storage. These files will only be accessible by project owners and the DLP API. If any of these artifacts are modified, the dictionary is considered invalid and can no longer be used. + "outputPath": { # Message representing a single file or path in Cloud Storage. # Location to store dictionary artifacts in Cloud Storage. These files will only be accessible by project owners and the DLP API. If any of these artifacts are modified, the dictionary is considered invalid and can no longer be used. "path": "A String", # A url representing a file or path (no wildcards) in Cloud Storage. Example: gs://[BUCKET_NAME]/dictionary.txt }, }, @@ -703,7 +703,7 @@

Method Details

}, }, "displayName": "A String", # Display name of the StoredInfoType (max 256 characters). - "largeCustomDictionary": { # Configuration for a custom dictionary created from a data source of any size up to the maximum size defined in the [limits](https://cloud.google.com/dlp/limits) page. The artifacts of dictionary creation are stored in the specified Google Cloud Storage location. Consider using `CustomInfoType.Dictionary` for smaller dictionaries that satisfy the size requirements. # StoredInfoType where findings are defined by a dictionary of phrases. + "largeCustomDictionary": { # Configuration for a custom dictionary created from a data source of any size up to the maximum size defined in the [limits](https://cloud.google.com/dlp/limits) page. The artifacts of dictionary creation are stored in the specified Cloud Storage location. Consider using `CustomInfoType.Dictionary` for smaller dictionaries that satisfy the size requirements. # StoredInfoType where findings are defined by a dictionary of phrases. "bigQueryField": { # Message defining a field of a BigQuery table. # Field in a BigQuery table where each cell represents a dictionary phrase. "field": { # General identifier of a data field in a storage service. # Designated field in the BigQuery table. "name": "A String", # Name describing the field. @@ -717,7 +717,7 @@

Method Details

"cloudStorageFileSet": { # Message representing a set of files in Cloud Storage. # Set of files containing newline-delimited lists of dictionary phrases. "url": "A String", # The url, in the format `gs:///`. Trailing wildcard in the path is allowed. }, - "outputPath": { # Message representing a single file or path in Cloud Storage. # Location to store dictionary artifacts in Google Cloud Storage. These files will only be accessible by project owners and the DLP API. If any of these artifacts are modified, the dictionary is considered invalid and can no longer be used. + "outputPath": { # Message representing a single file or path in Cloud Storage. # Location to store dictionary artifacts in Cloud Storage. These files will only be accessible by project owners and the DLP API. If any of these artifacts are modified, the dictionary is considered invalid and can no longer be used. "path": "A String", # A url representing a file or path (no wildcards) in Cloud Storage. Example: gs://[BUCKET_NAME]/dictionary.txt }, }, @@ -729,7 +729,7 @@

Method Details

}, }, "createTime": "A String", # Create timestamp of the version. Read-only, determined by the system when the version is created. - "errors": [ # Errors that occurred when creating this storedInfoType version, or anomalies detected in the storedInfoType data that render it unusable. Only the five most recent errors will be displayed, with the most recent error appearing first. For example, some of the data for stored custom dictionaries is put in the user's Google Cloud Storage bucket, and if this data is modified or deleted by the user or another system, the dictionary becomes invalid. If any errors occur, fix the problem indicated by the error message and use the UpdateStoredInfoType API method to create another version of the storedInfoType to continue using it, reusing the same `config` if it was not the source of the error. + "errors": [ # Errors that occurred when creating this storedInfoType version, or anomalies detected in the storedInfoType data that render it unusable. Only the five most recent errors will be displayed, with the most recent error appearing first. For example, some of the data for stored custom dictionaries is put in the user's Cloud Storage bucket, and if this data is modified or deleted by the user or another system, the dictionary becomes invalid. If any errors occur, fix the problem indicated by the error message and use the UpdateStoredInfoType API method to create another version of the storedInfoType to continue using it, reusing the same `config` if it was not the source of the error. { # Details information about an error encountered during job execution or the results of an unsuccessful activation of the JobTrigger. "details": { # The `Status` type defines a logical error model that is suitable for different programming environments, including REST APIs and RPC APIs. It is used by [gRPC](https://github.com/grpc). Each `Status` message contains three pieces of data: error code, error message, and error details. You can find out more about this error model and how to work with it in the [API Design Guide](https://cloud.google.com/apis/design/errors). # Detailed error codes and messages. "code": 42, # The status code, which should be an enum value of google.rpc.Code. @@ -768,7 +768,7 @@

Method Details

}, }, "displayName": "A String", # Display name of the StoredInfoType (max 256 characters). - "largeCustomDictionary": { # Configuration for a custom dictionary created from a data source of any size up to the maximum size defined in the [limits](https://cloud.google.com/dlp/limits) page. The artifacts of dictionary creation are stored in the specified Google Cloud Storage location. Consider using `CustomInfoType.Dictionary` for smaller dictionaries that satisfy the size requirements. # StoredInfoType where findings are defined by a dictionary of phrases. + "largeCustomDictionary": { # Configuration for a custom dictionary created from a data source of any size up to the maximum size defined in the [limits](https://cloud.google.com/dlp/limits) page. The artifacts of dictionary creation are stored in the specified Cloud Storage location. Consider using `CustomInfoType.Dictionary` for smaller dictionaries that satisfy the size requirements. # StoredInfoType where findings are defined by a dictionary of phrases. "bigQueryField": { # Message defining a field of a BigQuery table. # Field in a BigQuery table where each cell represents a dictionary phrase. "field": { # General identifier of a data field in a storage service. # Designated field in the BigQuery table. "name": "A String", # Name describing the field. @@ -782,7 +782,7 @@

Method Details

"cloudStorageFileSet": { # Message representing a set of files in Cloud Storage. # Set of files containing newline-delimited lists of dictionary phrases. "url": "A String", # The url, in the format `gs:///`. Trailing wildcard in the path is allowed. }, - "outputPath": { # Message representing a single file or path in Cloud Storage. # Location to store dictionary artifacts in Google Cloud Storage. These files will only be accessible by project owners and the DLP API. If any of these artifacts are modified, the dictionary is considered invalid and can no longer be used. + "outputPath": { # Message representing a single file or path in Cloud Storage. # Location to store dictionary artifacts in Cloud Storage. These files will only be accessible by project owners and the DLP API. If any of these artifacts are modified, the dictionary is considered invalid and can no longer be used. "path": "A String", # A url representing a file or path (no wildcards) in Cloud Storage. Example: gs://[BUCKET_NAME]/dictionary.txt }, }, @@ -794,7 +794,7 @@

Method Details

}, }, "createTime": "A String", # Create timestamp of the version. Read-only, determined by the system when the version is created. - "errors": [ # Errors that occurred when creating this storedInfoType version, or anomalies detected in the storedInfoType data that render it unusable. Only the five most recent errors will be displayed, with the most recent error appearing first. For example, some of the data for stored custom dictionaries is put in the user's Google Cloud Storage bucket, and if this data is modified or deleted by the user or another system, the dictionary becomes invalid. If any errors occur, fix the problem indicated by the error message and use the UpdateStoredInfoType API method to create another version of the storedInfoType to continue using it, reusing the same `config` if it was not the source of the error. + "errors": [ # Errors that occurred when creating this storedInfoType version, or anomalies detected in the storedInfoType data that render it unusable. Only the five most recent errors will be displayed, with the most recent error appearing first. For example, some of the data for stored custom dictionaries is put in the user's Cloud Storage bucket, and if this data is modified or deleted by the user or another system, the dictionary becomes invalid. If any errors occur, fix the problem indicated by the error message and use the UpdateStoredInfoType API method to create another version of the storedInfoType to continue using it, reusing the same `config` if it was not the source of the error. { # Details information about an error encountered during job execution or the results of an unsuccessful activation of the JobTrigger. "details": { # The `Status` type defines a logical error model that is suitable for different programming environments, including REST APIs and RPC APIs. It is used by [gRPC](https://github.com/grpc). Each `Status` message contains three pieces of data: error code, error message, and error details. You can find out more about this error model and how to work with it in the [API Design Guide](https://cloud.google.com/apis/design/errors). # Detailed error codes and messages. "code": 42, # The status code, which should be an enum value of google.rpc.Code. diff --git a/docs/dyn/dlp_v2.organizations.storedInfoTypes.html b/docs/dyn/dlp_v2.organizations.storedInfoTypes.html index 7e861ce1858..ce667bb2079 100644 --- a/docs/dyn/dlp_v2.organizations.storedInfoTypes.html +++ b/docs/dyn/dlp_v2.organizations.storedInfoTypes.html @@ -124,7 +124,7 @@

Method Details

}, }, "displayName": "A String", # Display name of the StoredInfoType (max 256 characters). - "largeCustomDictionary": { # Configuration for a custom dictionary created from a data source of any size up to the maximum size defined in the [limits](https://cloud.google.com/dlp/limits) page. The artifacts of dictionary creation are stored in the specified Google Cloud Storage location. Consider using `CustomInfoType.Dictionary` for smaller dictionaries that satisfy the size requirements. # StoredInfoType where findings are defined by a dictionary of phrases. + "largeCustomDictionary": { # Configuration for a custom dictionary created from a data source of any size up to the maximum size defined in the [limits](https://cloud.google.com/dlp/limits) page. The artifacts of dictionary creation are stored in the specified Cloud Storage location. Consider using `CustomInfoType.Dictionary` for smaller dictionaries that satisfy the size requirements. # StoredInfoType where findings are defined by a dictionary of phrases. "bigQueryField": { # Message defining a field of a BigQuery table. # Field in a BigQuery table where each cell represents a dictionary phrase. "field": { # General identifier of a data field in a storage service. # Designated field in the BigQuery table. "name": "A String", # Name describing the field. @@ -138,7 +138,7 @@

Method Details

"cloudStorageFileSet": { # Message representing a set of files in Cloud Storage. # Set of files containing newline-delimited lists of dictionary phrases. "url": "A String", # The url, in the format `gs:///`. Trailing wildcard in the path is allowed. }, - "outputPath": { # Message representing a single file or path in Cloud Storage. # Location to store dictionary artifacts in Google Cloud Storage. These files will only be accessible by project owners and the DLP API. If any of these artifacts are modified, the dictionary is considered invalid and can no longer be used. + "outputPath": { # Message representing a single file or path in Cloud Storage. # Location to store dictionary artifacts in Cloud Storage. These files will only be accessible by project owners and the DLP API. If any of these artifacts are modified, the dictionary is considered invalid and can no longer be used. "path": "A String", # A url representing a file or path (no wildcards) in Cloud Storage. Example: gs://[BUCKET_NAME]/dictionary.txt }, }, @@ -176,7 +176,7 @@

Method Details

}, }, "displayName": "A String", # Display name of the StoredInfoType (max 256 characters). - "largeCustomDictionary": { # Configuration for a custom dictionary created from a data source of any size up to the maximum size defined in the [limits](https://cloud.google.com/dlp/limits) page. The artifacts of dictionary creation are stored in the specified Google Cloud Storage location. Consider using `CustomInfoType.Dictionary` for smaller dictionaries that satisfy the size requirements. # StoredInfoType where findings are defined by a dictionary of phrases. + "largeCustomDictionary": { # Configuration for a custom dictionary created from a data source of any size up to the maximum size defined in the [limits](https://cloud.google.com/dlp/limits) page. The artifacts of dictionary creation are stored in the specified Cloud Storage location. Consider using `CustomInfoType.Dictionary` for smaller dictionaries that satisfy the size requirements. # StoredInfoType where findings are defined by a dictionary of phrases. "bigQueryField": { # Message defining a field of a BigQuery table. # Field in a BigQuery table where each cell represents a dictionary phrase. "field": { # General identifier of a data field in a storage service. # Designated field in the BigQuery table. "name": "A String", # Name describing the field. @@ -190,7 +190,7 @@

Method Details

"cloudStorageFileSet": { # Message representing a set of files in Cloud Storage. # Set of files containing newline-delimited lists of dictionary phrases. "url": "A String", # The url, in the format `gs:///`. Trailing wildcard in the path is allowed. }, - "outputPath": { # Message representing a single file or path in Cloud Storage. # Location to store dictionary artifacts in Google Cloud Storage. These files will only be accessible by project owners and the DLP API. If any of these artifacts are modified, the dictionary is considered invalid and can no longer be used. + "outputPath": { # Message representing a single file or path in Cloud Storage. # Location to store dictionary artifacts in Cloud Storage. These files will only be accessible by project owners and the DLP API. If any of these artifacts are modified, the dictionary is considered invalid and can no longer be used. "path": "A String", # A url representing a file or path (no wildcards) in Cloud Storage. Example: gs://[BUCKET_NAME]/dictionary.txt }, }, @@ -202,7 +202,7 @@

Method Details

}, }, "createTime": "A String", # Create timestamp of the version. Read-only, determined by the system when the version is created. - "errors": [ # Errors that occurred when creating this storedInfoType version, or anomalies detected in the storedInfoType data that render it unusable. Only the five most recent errors will be displayed, with the most recent error appearing first. For example, some of the data for stored custom dictionaries is put in the user's Google Cloud Storage bucket, and if this data is modified or deleted by the user or another system, the dictionary becomes invalid. If any errors occur, fix the problem indicated by the error message and use the UpdateStoredInfoType API method to create another version of the storedInfoType to continue using it, reusing the same `config` if it was not the source of the error. + "errors": [ # Errors that occurred when creating this storedInfoType version, or anomalies detected in the storedInfoType data that render it unusable. Only the five most recent errors will be displayed, with the most recent error appearing first. For example, some of the data for stored custom dictionaries is put in the user's Cloud Storage bucket, and if this data is modified or deleted by the user or another system, the dictionary becomes invalid. If any errors occur, fix the problem indicated by the error message and use the UpdateStoredInfoType API method to create another version of the storedInfoType to continue using it, reusing the same `config` if it was not the source of the error. { # Details information about an error encountered during job execution or the results of an unsuccessful activation of the JobTrigger. "details": { # The `Status` type defines a logical error model that is suitable for different programming environments, including REST APIs and RPC APIs. It is used by [gRPC](https://github.com/grpc). Each `Status` message contains three pieces of data: error code, error message, and error details. You can find out more about this error model and how to work with it in the [API Design Guide](https://cloud.google.com/apis/design/errors). # Detailed error codes and messages. "code": 42, # The status code, which should be an enum value of google.rpc.Code. @@ -241,7 +241,7 @@

Method Details

}, }, "displayName": "A String", # Display name of the StoredInfoType (max 256 characters). - "largeCustomDictionary": { # Configuration for a custom dictionary created from a data source of any size up to the maximum size defined in the [limits](https://cloud.google.com/dlp/limits) page. The artifacts of dictionary creation are stored in the specified Google Cloud Storage location. Consider using `CustomInfoType.Dictionary` for smaller dictionaries that satisfy the size requirements. # StoredInfoType where findings are defined by a dictionary of phrases. + "largeCustomDictionary": { # Configuration for a custom dictionary created from a data source of any size up to the maximum size defined in the [limits](https://cloud.google.com/dlp/limits) page. The artifacts of dictionary creation are stored in the specified Cloud Storage location. Consider using `CustomInfoType.Dictionary` for smaller dictionaries that satisfy the size requirements. # StoredInfoType where findings are defined by a dictionary of phrases. "bigQueryField": { # Message defining a field of a BigQuery table. # Field in a BigQuery table where each cell represents a dictionary phrase. "field": { # General identifier of a data field in a storage service. # Designated field in the BigQuery table. "name": "A String", # Name describing the field. @@ -255,7 +255,7 @@

Method Details

"cloudStorageFileSet": { # Message representing a set of files in Cloud Storage. # Set of files containing newline-delimited lists of dictionary phrases. "url": "A String", # The url, in the format `gs:///`. Trailing wildcard in the path is allowed. }, - "outputPath": { # Message representing a single file or path in Cloud Storage. # Location to store dictionary artifacts in Google Cloud Storage. These files will only be accessible by project owners and the DLP API. If any of these artifacts are modified, the dictionary is considered invalid and can no longer be used. + "outputPath": { # Message representing a single file or path in Cloud Storage. # Location to store dictionary artifacts in Cloud Storage. These files will only be accessible by project owners and the DLP API. If any of these artifacts are modified, the dictionary is considered invalid and can no longer be used. "path": "A String", # A url representing a file or path (no wildcards) in Cloud Storage. Example: gs://[BUCKET_NAME]/dictionary.txt }, }, @@ -267,7 +267,7 @@

Method Details

}, }, "createTime": "A String", # Create timestamp of the version. Read-only, determined by the system when the version is created. - "errors": [ # Errors that occurred when creating this storedInfoType version, or anomalies detected in the storedInfoType data that render it unusable. Only the five most recent errors will be displayed, with the most recent error appearing first. For example, some of the data for stored custom dictionaries is put in the user's Google Cloud Storage bucket, and if this data is modified or deleted by the user or another system, the dictionary becomes invalid. If any errors occur, fix the problem indicated by the error message and use the UpdateStoredInfoType API method to create another version of the storedInfoType to continue using it, reusing the same `config` if it was not the source of the error. + "errors": [ # Errors that occurred when creating this storedInfoType version, or anomalies detected in the storedInfoType data that render it unusable. Only the five most recent errors will be displayed, with the most recent error appearing first. For example, some of the data for stored custom dictionaries is put in the user's Cloud Storage bucket, and if this data is modified or deleted by the user or another system, the dictionary becomes invalid. If any errors occur, fix the problem indicated by the error message and use the UpdateStoredInfoType API method to create another version of the storedInfoType to continue using it, reusing the same `config` if it was not the source of the error. { # Details information about an error encountered during job execution or the results of an unsuccessful activation of the JobTrigger. "details": { # The `Status` type defines a logical error model that is suitable for different programming environments, including REST APIs and RPC APIs. It is used by [gRPC](https://github.com/grpc). Each `Status` message contains three pieces of data: error code, error message, and error details. You can find out more about this error model and how to work with it in the [API Design Guide](https://cloud.google.com/apis/design/errors). # Detailed error codes and messages. "code": 42, # The status code, which should be an enum value of google.rpc.Code. @@ -341,7 +341,7 @@

Method Details

}, }, "displayName": "A String", # Display name of the StoredInfoType (max 256 characters). - "largeCustomDictionary": { # Configuration for a custom dictionary created from a data source of any size up to the maximum size defined in the [limits](https://cloud.google.com/dlp/limits) page. The artifacts of dictionary creation are stored in the specified Google Cloud Storage location. Consider using `CustomInfoType.Dictionary` for smaller dictionaries that satisfy the size requirements. # StoredInfoType where findings are defined by a dictionary of phrases. + "largeCustomDictionary": { # Configuration for a custom dictionary created from a data source of any size up to the maximum size defined in the [limits](https://cloud.google.com/dlp/limits) page. The artifacts of dictionary creation are stored in the specified Cloud Storage location. Consider using `CustomInfoType.Dictionary` for smaller dictionaries that satisfy the size requirements. # StoredInfoType where findings are defined by a dictionary of phrases. "bigQueryField": { # Message defining a field of a BigQuery table. # Field in a BigQuery table where each cell represents a dictionary phrase. "field": { # General identifier of a data field in a storage service. # Designated field in the BigQuery table. "name": "A String", # Name describing the field. @@ -355,7 +355,7 @@

Method Details

"cloudStorageFileSet": { # Message representing a set of files in Cloud Storage. # Set of files containing newline-delimited lists of dictionary phrases. "url": "A String", # The url, in the format `gs:///`. Trailing wildcard in the path is allowed. }, - "outputPath": { # Message representing a single file or path in Cloud Storage. # Location to store dictionary artifacts in Google Cloud Storage. These files will only be accessible by project owners and the DLP API. If any of these artifacts are modified, the dictionary is considered invalid and can no longer be used. + "outputPath": { # Message representing a single file or path in Cloud Storage. # Location to store dictionary artifacts in Cloud Storage. These files will only be accessible by project owners and the DLP API. If any of these artifacts are modified, the dictionary is considered invalid and can no longer be used. "path": "A String", # A url representing a file or path (no wildcards) in Cloud Storage. Example: gs://[BUCKET_NAME]/dictionary.txt }, }, @@ -367,7 +367,7 @@

Method Details

}, }, "createTime": "A String", # Create timestamp of the version. Read-only, determined by the system when the version is created. - "errors": [ # Errors that occurred when creating this storedInfoType version, or anomalies detected in the storedInfoType data that render it unusable. Only the five most recent errors will be displayed, with the most recent error appearing first. For example, some of the data for stored custom dictionaries is put in the user's Google Cloud Storage bucket, and if this data is modified or deleted by the user or another system, the dictionary becomes invalid. If any errors occur, fix the problem indicated by the error message and use the UpdateStoredInfoType API method to create another version of the storedInfoType to continue using it, reusing the same `config` if it was not the source of the error. + "errors": [ # Errors that occurred when creating this storedInfoType version, or anomalies detected in the storedInfoType data that render it unusable. Only the five most recent errors will be displayed, with the most recent error appearing first. For example, some of the data for stored custom dictionaries is put in the user's Cloud Storage bucket, and if this data is modified or deleted by the user or another system, the dictionary becomes invalid. If any errors occur, fix the problem indicated by the error message and use the UpdateStoredInfoType API method to create another version of the storedInfoType to continue using it, reusing the same `config` if it was not the source of the error. { # Details information about an error encountered during job execution or the results of an unsuccessful activation of the JobTrigger. "details": { # The `Status` type defines a logical error model that is suitable for different programming environments, including REST APIs and RPC APIs. It is used by [gRPC](https://github.com/grpc). Each `Status` message contains three pieces of data: error code, error message, and error details. You can find out more about this error model and how to work with it in the [API Design Guide](https://cloud.google.com/apis/design/errors). # Detailed error codes and messages. "code": 42, # The status code, which should be an enum value of google.rpc.Code. @@ -406,7 +406,7 @@

Method Details

}, }, "displayName": "A String", # Display name of the StoredInfoType (max 256 characters). - "largeCustomDictionary": { # Configuration for a custom dictionary created from a data source of any size up to the maximum size defined in the [limits](https://cloud.google.com/dlp/limits) page. The artifacts of dictionary creation are stored in the specified Google Cloud Storage location. Consider using `CustomInfoType.Dictionary` for smaller dictionaries that satisfy the size requirements. # StoredInfoType where findings are defined by a dictionary of phrases. + "largeCustomDictionary": { # Configuration for a custom dictionary created from a data source of any size up to the maximum size defined in the [limits](https://cloud.google.com/dlp/limits) page. The artifacts of dictionary creation are stored in the specified Cloud Storage location. Consider using `CustomInfoType.Dictionary` for smaller dictionaries that satisfy the size requirements. # StoredInfoType where findings are defined by a dictionary of phrases. "bigQueryField": { # Message defining a field of a BigQuery table. # Field in a BigQuery table where each cell represents a dictionary phrase. "field": { # General identifier of a data field in a storage service. # Designated field in the BigQuery table. "name": "A String", # Name describing the field. @@ -420,7 +420,7 @@

Method Details

"cloudStorageFileSet": { # Message representing a set of files in Cloud Storage. # Set of files containing newline-delimited lists of dictionary phrases. "url": "A String", # The url, in the format `gs:///`. Trailing wildcard in the path is allowed. }, - "outputPath": { # Message representing a single file or path in Cloud Storage. # Location to store dictionary artifacts in Google Cloud Storage. These files will only be accessible by project owners and the DLP API. If any of these artifacts are modified, the dictionary is considered invalid and can no longer be used. + "outputPath": { # Message representing a single file or path in Cloud Storage. # Location to store dictionary artifacts in Cloud Storage. These files will only be accessible by project owners and the DLP API. If any of these artifacts are modified, the dictionary is considered invalid and can no longer be used. "path": "A String", # A url representing a file or path (no wildcards) in Cloud Storage. Example: gs://[BUCKET_NAME]/dictionary.txt }, }, @@ -432,7 +432,7 @@

Method Details

}, }, "createTime": "A String", # Create timestamp of the version. Read-only, determined by the system when the version is created. - "errors": [ # Errors that occurred when creating this storedInfoType version, or anomalies detected in the storedInfoType data that render it unusable. Only the five most recent errors will be displayed, with the most recent error appearing first. For example, some of the data for stored custom dictionaries is put in the user's Google Cloud Storage bucket, and if this data is modified or deleted by the user or another system, the dictionary becomes invalid. If any errors occur, fix the problem indicated by the error message and use the UpdateStoredInfoType API method to create another version of the storedInfoType to continue using it, reusing the same `config` if it was not the source of the error. + "errors": [ # Errors that occurred when creating this storedInfoType version, or anomalies detected in the storedInfoType data that render it unusable. Only the five most recent errors will be displayed, with the most recent error appearing first. For example, some of the data for stored custom dictionaries is put in the user's Cloud Storage bucket, and if this data is modified or deleted by the user or another system, the dictionary becomes invalid. If any errors occur, fix the problem indicated by the error message and use the UpdateStoredInfoType API method to create another version of the storedInfoType to continue using it, reusing the same `config` if it was not the source of the error. { # Details information about an error encountered during job execution or the results of an unsuccessful activation of the JobTrigger. "details": { # The `Status` type defines a logical error model that is suitable for different programming environments, including REST APIs and RPC APIs. It is used by [gRPC](https://github.com/grpc). Each `Status` message contains three pieces of data: error code, error message, and error details. You can find out more about this error model and how to work with it in the [API Design Guide](https://cloud.google.com/apis/design/errors). # Detailed error codes and messages. "code": 42, # The status code, which should be an enum value of google.rpc.Code. @@ -466,8 +466,8 @@

Method Details

Args: parent: string, Required. Parent resource name. The format of this value varies depending on the scope of the request (project or organization) and whether you have [specified a processing location](https://cloud.google.com/dlp/docs/specifying-location): + Projects scope, location specified: `projects/`PROJECT_ID`/locations/`LOCATION_ID + Projects scope, no location specified (defaults to global): `projects/`PROJECT_ID + Organizations scope, location specified: `organizations/`ORG_ID`/locations/`LOCATION_ID + Organizations scope, no location specified (defaults to global): `organizations/`ORG_ID The following example `parent` string specifies a parent project with the identifier `example-project`, and specifies the `europe-west3` location for processing data: parent=projects/example-project/locations/europe-west3 (required) locationId: string, Deprecated. This field has no effect. - orderBy: string, Comma separated list of fields to order by, followed by `asc` or `desc` postfix. This list is case-insensitive, default sorting order is ascending, redundant space characters are insignificant. Example: `name asc, display_name, create_time desc` Supported fields are: - `create_time`: corresponds to time the most recent version of the resource was created. - `state`: corresponds to the state of the resource. - `name`: corresponds to resource name. - `display_name`: corresponds to info type's display name. - pageSize: integer, Size of the page, can be limited by server. If zero server returns a page of max size 100. + orderBy: string, Comma separated list of fields to order by, followed by `asc` or `desc` postfix. This list is case-insensitive, default sorting order is ascending, redundant space characters are insignificant. Example: `name asc, display_name, create_time desc` Supported fields are: - `create_time`: corresponds to the time the most recent version of the resource was created. - `state`: corresponds to the state of the resource. - `name`: corresponds to resource name. - `display_name`: corresponds to info type's display name. + pageSize: integer, Size of the page, can be limited by the server. If zero server returns a page of max size 100. pageToken: string, Page token to continue retrieval. Comes from previous call to `ListStoredInfoTypes`. x__xgafv: string, V1 error format. Allowed values @@ -495,7 +495,7 @@

Method Details

}, }, "displayName": "A String", # Display name of the StoredInfoType (max 256 characters). - "largeCustomDictionary": { # Configuration for a custom dictionary created from a data source of any size up to the maximum size defined in the [limits](https://cloud.google.com/dlp/limits) page. The artifacts of dictionary creation are stored in the specified Google Cloud Storage location. Consider using `CustomInfoType.Dictionary` for smaller dictionaries that satisfy the size requirements. # StoredInfoType where findings are defined by a dictionary of phrases. + "largeCustomDictionary": { # Configuration for a custom dictionary created from a data source of any size up to the maximum size defined in the [limits](https://cloud.google.com/dlp/limits) page. The artifacts of dictionary creation are stored in the specified Cloud Storage location. Consider using `CustomInfoType.Dictionary` for smaller dictionaries that satisfy the size requirements. # StoredInfoType where findings are defined by a dictionary of phrases. "bigQueryField": { # Message defining a field of a BigQuery table. # Field in a BigQuery table where each cell represents a dictionary phrase. "field": { # General identifier of a data field in a storage service. # Designated field in the BigQuery table. "name": "A String", # Name describing the field. @@ -509,7 +509,7 @@

Method Details

"cloudStorageFileSet": { # Message representing a set of files in Cloud Storage. # Set of files containing newline-delimited lists of dictionary phrases. "url": "A String", # The url, in the format `gs:///`. Trailing wildcard in the path is allowed. }, - "outputPath": { # Message representing a single file or path in Cloud Storage. # Location to store dictionary artifacts in Google Cloud Storage. These files will only be accessible by project owners and the DLP API. If any of these artifacts are modified, the dictionary is considered invalid and can no longer be used. + "outputPath": { # Message representing a single file or path in Cloud Storage. # Location to store dictionary artifacts in Cloud Storage. These files will only be accessible by project owners and the DLP API. If any of these artifacts are modified, the dictionary is considered invalid and can no longer be used. "path": "A String", # A url representing a file or path (no wildcards) in Cloud Storage. Example: gs://[BUCKET_NAME]/dictionary.txt }, }, @@ -521,7 +521,7 @@

Method Details

}, }, "createTime": "A String", # Create timestamp of the version. Read-only, determined by the system when the version is created. - "errors": [ # Errors that occurred when creating this storedInfoType version, or anomalies detected in the storedInfoType data that render it unusable. Only the five most recent errors will be displayed, with the most recent error appearing first. For example, some of the data for stored custom dictionaries is put in the user's Google Cloud Storage bucket, and if this data is modified or deleted by the user or another system, the dictionary becomes invalid. If any errors occur, fix the problem indicated by the error message and use the UpdateStoredInfoType API method to create another version of the storedInfoType to continue using it, reusing the same `config` if it was not the source of the error. + "errors": [ # Errors that occurred when creating this storedInfoType version, or anomalies detected in the storedInfoType data that render it unusable. Only the five most recent errors will be displayed, with the most recent error appearing first. For example, some of the data for stored custom dictionaries is put in the user's Cloud Storage bucket, and if this data is modified or deleted by the user or another system, the dictionary becomes invalid. If any errors occur, fix the problem indicated by the error message and use the UpdateStoredInfoType API method to create another version of the storedInfoType to continue using it, reusing the same `config` if it was not the source of the error. { # Details information about an error encountered during job execution or the results of an unsuccessful activation of the JobTrigger. "details": { # The `Status` type defines a logical error model that is suitable for different programming environments, including REST APIs and RPC APIs. It is used by [gRPC](https://github.com/grpc). Each `Status` message contains three pieces of data: error code, error message, and error details. You can find out more about this error model and how to work with it in the [API Design Guide](https://cloud.google.com/apis/design/errors). # Detailed error codes and messages. "code": 42, # The status code, which should be an enum value of google.rpc.Code. @@ -560,7 +560,7 @@

Method Details

}, }, "displayName": "A String", # Display name of the StoredInfoType (max 256 characters). - "largeCustomDictionary": { # Configuration for a custom dictionary created from a data source of any size up to the maximum size defined in the [limits](https://cloud.google.com/dlp/limits) page. The artifacts of dictionary creation are stored in the specified Google Cloud Storage location. Consider using `CustomInfoType.Dictionary` for smaller dictionaries that satisfy the size requirements. # StoredInfoType where findings are defined by a dictionary of phrases. + "largeCustomDictionary": { # Configuration for a custom dictionary created from a data source of any size up to the maximum size defined in the [limits](https://cloud.google.com/dlp/limits) page. The artifacts of dictionary creation are stored in the specified Cloud Storage location. Consider using `CustomInfoType.Dictionary` for smaller dictionaries that satisfy the size requirements. # StoredInfoType where findings are defined by a dictionary of phrases. "bigQueryField": { # Message defining a field of a BigQuery table. # Field in a BigQuery table where each cell represents a dictionary phrase. "field": { # General identifier of a data field in a storage service. # Designated field in the BigQuery table. "name": "A String", # Name describing the field. @@ -574,7 +574,7 @@

Method Details

"cloudStorageFileSet": { # Message representing a set of files in Cloud Storage. # Set of files containing newline-delimited lists of dictionary phrases. "url": "A String", # The url, in the format `gs:///`. Trailing wildcard in the path is allowed. }, - "outputPath": { # Message representing a single file or path in Cloud Storage. # Location to store dictionary artifacts in Google Cloud Storage. These files will only be accessible by project owners and the DLP API. If any of these artifacts are modified, the dictionary is considered invalid and can no longer be used. + "outputPath": { # Message representing a single file or path in Cloud Storage. # Location to store dictionary artifacts in Cloud Storage. These files will only be accessible by project owners and the DLP API. If any of these artifacts are modified, the dictionary is considered invalid and can no longer be used. "path": "A String", # A url representing a file or path (no wildcards) in Cloud Storage. Example: gs://[BUCKET_NAME]/dictionary.txt }, }, @@ -586,7 +586,7 @@

Method Details

}, }, "createTime": "A String", # Create timestamp of the version. Read-only, determined by the system when the version is created. - "errors": [ # Errors that occurred when creating this storedInfoType version, or anomalies detected in the storedInfoType data that render it unusable. Only the five most recent errors will be displayed, with the most recent error appearing first. For example, some of the data for stored custom dictionaries is put in the user's Google Cloud Storage bucket, and if this data is modified or deleted by the user or another system, the dictionary becomes invalid. If any errors occur, fix the problem indicated by the error message and use the UpdateStoredInfoType API method to create another version of the storedInfoType to continue using it, reusing the same `config` if it was not the source of the error. + "errors": [ # Errors that occurred when creating this storedInfoType version, or anomalies detected in the storedInfoType data that render it unusable. Only the five most recent errors will be displayed, with the most recent error appearing first. For example, some of the data for stored custom dictionaries is put in the user's Cloud Storage bucket, and if this data is modified or deleted by the user or another system, the dictionary becomes invalid. If any errors occur, fix the problem indicated by the error message and use the UpdateStoredInfoType API method to create another version of the storedInfoType to continue using it, reusing the same `config` if it was not the source of the error. { # Details information about an error encountered during job execution or the results of an unsuccessful activation of the JobTrigger. "details": { # The `Status` type defines a logical error model that is suitable for different programming environments, including REST APIs and RPC APIs. It is used by [gRPC](https://github.com/grpc). Each `Status` message contains three pieces of data: error code, error message, and error details. You can find out more about this error model and how to work with it in the [API Design Guide](https://cloud.google.com/apis/design/errors). # Detailed error codes and messages. "code": 42, # The status code, which should be an enum value of google.rpc.Code. @@ -652,7 +652,7 @@

Method Details

}, }, "displayName": "A String", # Display name of the StoredInfoType (max 256 characters). - "largeCustomDictionary": { # Configuration for a custom dictionary created from a data source of any size up to the maximum size defined in the [limits](https://cloud.google.com/dlp/limits) page. The artifacts of dictionary creation are stored in the specified Google Cloud Storage location. Consider using `CustomInfoType.Dictionary` for smaller dictionaries that satisfy the size requirements. # StoredInfoType where findings are defined by a dictionary of phrases. + "largeCustomDictionary": { # Configuration for a custom dictionary created from a data source of any size up to the maximum size defined in the [limits](https://cloud.google.com/dlp/limits) page. The artifacts of dictionary creation are stored in the specified Cloud Storage location. Consider using `CustomInfoType.Dictionary` for smaller dictionaries that satisfy the size requirements. # StoredInfoType where findings are defined by a dictionary of phrases. "bigQueryField": { # Message defining a field of a BigQuery table. # Field in a BigQuery table where each cell represents a dictionary phrase. "field": { # General identifier of a data field in a storage service. # Designated field in the BigQuery table. "name": "A String", # Name describing the field. @@ -666,7 +666,7 @@

Method Details

"cloudStorageFileSet": { # Message representing a set of files in Cloud Storage. # Set of files containing newline-delimited lists of dictionary phrases. "url": "A String", # The url, in the format `gs:///`. Trailing wildcard in the path is allowed. }, - "outputPath": { # Message representing a single file or path in Cloud Storage. # Location to store dictionary artifacts in Google Cloud Storage. These files will only be accessible by project owners and the DLP API. If any of these artifacts are modified, the dictionary is considered invalid and can no longer be used. + "outputPath": { # Message representing a single file or path in Cloud Storage. # Location to store dictionary artifacts in Cloud Storage. These files will only be accessible by project owners and the DLP API. If any of these artifacts are modified, the dictionary is considered invalid and can no longer be used. "path": "A String", # A url representing a file or path (no wildcards) in Cloud Storage. Example: gs://[BUCKET_NAME]/dictionary.txt }, }, @@ -703,7 +703,7 @@

Method Details

}, }, "displayName": "A String", # Display name of the StoredInfoType (max 256 characters). - "largeCustomDictionary": { # Configuration for a custom dictionary created from a data source of any size up to the maximum size defined in the [limits](https://cloud.google.com/dlp/limits) page. The artifacts of dictionary creation are stored in the specified Google Cloud Storage location. Consider using `CustomInfoType.Dictionary` for smaller dictionaries that satisfy the size requirements. # StoredInfoType where findings are defined by a dictionary of phrases. + "largeCustomDictionary": { # Configuration for a custom dictionary created from a data source of any size up to the maximum size defined in the [limits](https://cloud.google.com/dlp/limits) page. The artifacts of dictionary creation are stored in the specified Cloud Storage location. Consider using `CustomInfoType.Dictionary` for smaller dictionaries that satisfy the size requirements. # StoredInfoType where findings are defined by a dictionary of phrases. "bigQueryField": { # Message defining a field of a BigQuery table. # Field in a BigQuery table where each cell represents a dictionary phrase. "field": { # General identifier of a data field in a storage service. # Designated field in the BigQuery table. "name": "A String", # Name describing the field. @@ -717,7 +717,7 @@

Method Details

"cloudStorageFileSet": { # Message representing a set of files in Cloud Storage. # Set of files containing newline-delimited lists of dictionary phrases. "url": "A String", # The url, in the format `gs:///`. Trailing wildcard in the path is allowed. }, - "outputPath": { # Message representing a single file or path in Cloud Storage. # Location to store dictionary artifacts in Google Cloud Storage. These files will only be accessible by project owners and the DLP API. If any of these artifacts are modified, the dictionary is considered invalid and can no longer be used. + "outputPath": { # Message representing a single file or path in Cloud Storage. # Location to store dictionary artifacts in Cloud Storage. These files will only be accessible by project owners and the DLP API. If any of these artifacts are modified, the dictionary is considered invalid and can no longer be used. "path": "A String", # A url representing a file or path (no wildcards) in Cloud Storage. Example: gs://[BUCKET_NAME]/dictionary.txt }, }, @@ -729,7 +729,7 @@

Method Details

}, }, "createTime": "A String", # Create timestamp of the version. Read-only, determined by the system when the version is created. - "errors": [ # Errors that occurred when creating this storedInfoType version, or anomalies detected in the storedInfoType data that render it unusable. Only the five most recent errors will be displayed, with the most recent error appearing first. For example, some of the data for stored custom dictionaries is put in the user's Google Cloud Storage bucket, and if this data is modified or deleted by the user or another system, the dictionary becomes invalid. If any errors occur, fix the problem indicated by the error message and use the UpdateStoredInfoType API method to create another version of the storedInfoType to continue using it, reusing the same `config` if it was not the source of the error. + "errors": [ # Errors that occurred when creating this storedInfoType version, or anomalies detected in the storedInfoType data that render it unusable. Only the five most recent errors will be displayed, with the most recent error appearing first. For example, some of the data for stored custom dictionaries is put in the user's Cloud Storage bucket, and if this data is modified or deleted by the user or another system, the dictionary becomes invalid. If any errors occur, fix the problem indicated by the error message and use the UpdateStoredInfoType API method to create another version of the storedInfoType to continue using it, reusing the same `config` if it was not the source of the error. { # Details information about an error encountered during job execution or the results of an unsuccessful activation of the JobTrigger. "details": { # The `Status` type defines a logical error model that is suitable for different programming environments, including REST APIs and RPC APIs. It is used by [gRPC](https://github.com/grpc). Each `Status` message contains three pieces of data: error code, error message, and error details. You can find out more about this error model and how to work with it in the [API Design Guide](https://cloud.google.com/apis/design/errors). # Detailed error codes and messages. "code": 42, # The status code, which should be an enum value of google.rpc.Code. @@ -768,7 +768,7 @@

Method Details

}, }, "displayName": "A String", # Display name of the StoredInfoType (max 256 characters). - "largeCustomDictionary": { # Configuration for a custom dictionary created from a data source of any size up to the maximum size defined in the [limits](https://cloud.google.com/dlp/limits) page. The artifacts of dictionary creation are stored in the specified Google Cloud Storage location. Consider using `CustomInfoType.Dictionary` for smaller dictionaries that satisfy the size requirements. # StoredInfoType where findings are defined by a dictionary of phrases. + "largeCustomDictionary": { # Configuration for a custom dictionary created from a data source of any size up to the maximum size defined in the [limits](https://cloud.google.com/dlp/limits) page. The artifacts of dictionary creation are stored in the specified Cloud Storage location. Consider using `CustomInfoType.Dictionary` for smaller dictionaries that satisfy the size requirements. # StoredInfoType where findings are defined by a dictionary of phrases. "bigQueryField": { # Message defining a field of a BigQuery table. # Field in a BigQuery table where each cell represents a dictionary phrase. "field": { # General identifier of a data field in a storage service. # Designated field in the BigQuery table. "name": "A String", # Name describing the field. @@ -782,7 +782,7 @@

Method Details

"cloudStorageFileSet": { # Message representing a set of files in Cloud Storage. # Set of files containing newline-delimited lists of dictionary phrases. "url": "A String", # The url, in the format `gs:///`. Trailing wildcard in the path is allowed. }, - "outputPath": { # Message representing a single file or path in Cloud Storage. # Location to store dictionary artifacts in Google Cloud Storage. These files will only be accessible by project owners and the DLP API. If any of these artifacts are modified, the dictionary is considered invalid and can no longer be used. + "outputPath": { # Message representing a single file or path in Cloud Storage. # Location to store dictionary artifacts in Cloud Storage. These files will only be accessible by project owners and the DLP API. If any of these artifacts are modified, the dictionary is considered invalid and can no longer be used. "path": "A String", # A url representing a file or path (no wildcards) in Cloud Storage. Example: gs://[BUCKET_NAME]/dictionary.txt }, }, @@ -794,7 +794,7 @@

Method Details

}, }, "createTime": "A String", # Create timestamp of the version. Read-only, determined by the system when the version is created. - "errors": [ # Errors that occurred when creating this storedInfoType version, or anomalies detected in the storedInfoType data that render it unusable. Only the five most recent errors will be displayed, with the most recent error appearing first. For example, some of the data for stored custom dictionaries is put in the user's Google Cloud Storage bucket, and if this data is modified or deleted by the user or another system, the dictionary becomes invalid. If any errors occur, fix the problem indicated by the error message and use the UpdateStoredInfoType API method to create another version of the storedInfoType to continue using it, reusing the same `config` if it was not the source of the error. + "errors": [ # Errors that occurred when creating this storedInfoType version, or anomalies detected in the storedInfoType data that render it unusable. Only the five most recent errors will be displayed, with the most recent error appearing first. For example, some of the data for stored custom dictionaries is put in the user's Cloud Storage bucket, and if this data is modified or deleted by the user or another system, the dictionary becomes invalid. If any errors occur, fix the problem indicated by the error message and use the UpdateStoredInfoType API method to create another version of the storedInfoType to continue using it, reusing the same `config` if it was not the source of the error. { # Details information about an error encountered during job execution or the results of an unsuccessful activation of the JobTrigger. "details": { # The `Status` type defines a logical error model that is suitable for different programming environments, including REST APIs and RPC APIs. It is used by [gRPC](https://github.com/grpc). Each `Status` message contains three pieces of data: error code, error message, and error details. You can find out more about this error model and how to work with it in the [API Design Guide](https://cloud.google.com/apis/design/errors). # Detailed error codes and messages. "code": 42, # The status code, which should be an enum value of google.rpc.Code. diff --git a/docs/dyn/dlp_v2.projects.content.html b/docs/dyn/dlp_v2.projects.content.html index 6e234bef63f..85f0b01c97f 100644 --- a/docs/dyn/dlp_v2.projects.content.html +++ b/docs/dyn/dlp_v2.projects.content.html @@ -101,7 +101,7 @@

Method Details

body: object, The request body. The object takes the form of: -{ # Request to de-identify a list of items. +{ # Request to de-identify a ContentItem. "deidentifyConfig": { # The configuration that controls how the data will change. # Configuration for the de-identification of the content item. Items specified here will override the template referenced by the deidentify_template_name argument. "infoTypeTransformations": { # A type of transformation that will scan unstructured text and apply various `PrimitiveTransformation`s to each finding, where the transformation is applied to only values that were identified as a specific info_type. # Treat the dataset as free-form text and apply the same free text transformation everywhere. "transformations": [ # Required. Transformation for each infoType. Cannot specify more than one for a given infoType. @@ -188,7 +188,7 @@

Method Details

"reverseOrder": True or False, # Mask characters in reverse order. For example, if `masking_character` is `0`, `number_to_mask` is `14`, and `reverse_order` is `false`, then the input string `1234-5678-9012-3456` is masked as `00000000000000-3456`. If `masking_character` is `*`, `number_to_mask` is `3`, and `reverse_order` is `true`, then the string `12345` is masked as `12***`. }, "cryptoDeterministicConfig": { # Pseudonymization method that generates deterministic encryption for the given input. Outputs a base64 encoded representation of the encrypted output. Uses AES-SIV based on the RFC https://tools.ietf.org/html/rfc5297. # Deterministic Crypto - "context": { # General identifier of a data field in a storage service. # A context may be used for higher security and maintaining referential integrity such that the same identifier in two different contexts will be given a distinct surrogate. The context is appended to plaintext value being encrypted. On decryption the provided context is validated against the value used during encryption. If a context was provided during encryption, same context must be provided during decryption as well. If the context is not set, plaintext would be used as is for encryption. If the context is set but: 1. there is no record present when transforming a given value or 2. the field is not present when transforming a given value, plaintext would be used as is for encryption. Note that case (1) is expected when an `InfoTypeTransformation` is applied to both structured and non-structured `ContentItem`s. + "context": { # General identifier of a data field in a storage service. # A context may be used for higher security and maintaining referential integrity such that the same identifier in two different contexts will be given a distinct surrogate. The context is appended to plaintext value being encrypted. On decryption the provided context is validated against the value used during encryption. If a context was provided during encryption, same context must be provided during decryption as well. If the context is not set, plaintext would be used as is for encryption. If the context is set but: 1. there is no record present when transforming a given value or 2. the field is not present when transforming a given value, plaintext would be used as is for encryption. Note that case (1) is expected when an `InfoTypeTransformation` is applied to both structured and unstructured `ContentItem`s. "name": "A String", # Name describing the field. }, "cryptoKey": { # This is a data encryption key (DEK) (as opposed to a key encryption key (KEK) stored by Cloud Key Management Service (Cloud KMS). When using Cloud KMS to wrap or unwrap a DEK, be sure to set an appropriate IAM policy on the KEK to ensure an attacker cannot unwrap the DEK. # The key used by the encryption function. For deterministic encryption using AES-SIV, the provided key is internally expanded to 64 bytes prior to use. @@ -224,7 +224,7 @@

Method Details

}, "cryptoReplaceFfxFpeConfig": { # Replaces an identifier with a surrogate using Format Preserving Encryption (FPE) with the FFX mode of operation; however when used in the `ReidentifyContent` API method, it serves the opposite function by reversing the surrogate back into the original identifier. The identifier must be encoded as ASCII. For a given crypto key and context, the same identifier will be replaced with the same surrogate. Identifiers must be at least two characters long. In the case that the identifier is the empty string, it will be skipped. See https://cloud.google.com/dlp/docs/pseudonymization to learn more. Note: We recommend using CryptoDeterministicConfig for all use cases which do not require preserving the input alphabet space and size, plus warrant referential integrity. # Ffx-Fpe "commonAlphabet": "A String", # Common alphabets. - "context": { # General identifier of a data field in a storage service. # The 'tweak', a context may be used for higher security since the same identifier in two different contexts won't be given the same surrogate. If the context is not set, a default tweak will be used. If the context is set but: 1. there is no record present when transforming a given value or 1. the field is not present when transforming a given value, a default tweak will be used. Note that case (1) is expected when an `InfoTypeTransformation` is applied to both structured and non-structured `ContentItem`s. Currently, the referenced field may be of value type integer or string. The tweak is constructed as a sequence of bytes in big endian byte order such that: - a 64 bit integer is encoded followed by a single byte of value 1 - a string is encoded in UTF-8 format followed by a single byte of value 2 + "context": { # General identifier of a data field in a storage service. # The 'tweak', a context may be used for higher security since the same identifier in two different contexts won't be given the same surrogate. If the context is not set, a default tweak will be used. If the context is set but: 1. there is no record present when transforming a given value or 1. the field is not present when transforming a given value, a default tweak will be used. Note that case (1) is expected when an `InfoTypeTransformation` is applied to both structured and unstructured `ContentItem`s. Currently, the referenced field may be of value type integer or string. The tweak is constructed as a sequence of bytes in big endian byte order such that: - a 64 bit integer is encoded followed by a single byte of value 1 - a string is encoded in UTF-8 format followed by a single byte of value 2 "name": "A String", # Name describing the field. }, "cryptoKey": { # This is a data encryption key (DEK) (as opposed to a key encryption key (KEK) stored by Cloud Key Management Service (Cloud KMS). When using Cloud KMS to wrap or unwrap a DEK, be sure to set an appropriate IAM policy on the KEK to ensure an attacker cannot unwrap the DEK. # Required. The key used by the encryption algorithm. @@ -349,7 +349,7 @@

Method Details

"fieldTransformations": [ # Transform the record by applying various field transformations. { # The transformation to apply to the field. "condition": { # A condition for determining whether a transformation should be applied to a field. # Only apply the transformation if the condition evaluates to true for the given `RecordCondition`. The conditions are allowed to reference fields that are not used in the actual transformation. Example Use Cases: - Apply a different bucket transformation to an age column if the zip code column for the same record is within a specific range. - Redact a field if the date of birth field is greater than 85. - "expressions": { # An expression, consisting or an operator and conditions. # An expression. + "expressions": { # An expression, consisting of an operator and conditions. # An expression. "conditions": { # A collection of conditions. # Conditions to apply to the expression. "conditions": [ # A collection of conditions. { # The field type of `value` and `field` do not need to match to be considered equal, but not all comparisons are possible. EQUAL_TO and NOT_EQUAL_TO attempt to compare even with incompatible types, but all other comparisons are invalid with incompatible types. A `value` of type: - `string` can be compared against all other types - `boolean` can only be compared against other booleans - `integer` can be compared against doubles or a string if the string value can be parsed as an integer. - `double` can be compared against integers or a string if the string can be parsed as a double. - `Timestamp` can be compared against strings in RFC 3339 date string format. - `TimeOfDay` can be compared against timestamps and strings in the format of 'HH:mm:ss'. If we fail to compare do to type mismatch, a warning will be given and the condition will evaluate to false. @@ -472,7 +472,7 @@

Method Details

"reverseOrder": True or False, # Mask characters in reverse order. For example, if `masking_character` is `0`, `number_to_mask` is `14`, and `reverse_order` is `false`, then the input string `1234-5678-9012-3456` is masked as `00000000000000-3456`. If `masking_character` is `*`, `number_to_mask` is `3`, and `reverse_order` is `true`, then the string `12345` is masked as `12***`. }, "cryptoDeterministicConfig": { # Pseudonymization method that generates deterministic encryption for the given input. Outputs a base64 encoded representation of the encrypted output. Uses AES-SIV based on the RFC https://tools.ietf.org/html/rfc5297. # Deterministic Crypto - "context": { # General identifier of a data field in a storage service. # A context may be used for higher security and maintaining referential integrity such that the same identifier in two different contexts will be given a distinct surrogate. The context is appended to plaintext value being encrypted. On decryption the provided context is validated against the value used during encryption. If a context was provided during encryption, same context must be provided during decryption as well. If the context is not set, plaintext would be used as is for encryption. If the context is set but: 1. there is no record present when transforming a given value or 2. the field is not present when transforming a given value, plaintext would be used as is for encryption. Note that case (1) is expected when an `InfoTypeTransformation` is applied to both structured and non-structured `ContentItem`s. + "context": { # General identifier of a data field in a storage service. # A context may be used for higher security and maintaining referential integrity such that the same identifier in two different contexts will be given a distinct surrogate. The context is appended to plaintext value being encrypted. On decryption the provided context is validated against the value used during encryption. If a context was provided during encryption, same context must be provided during decryption as well. If the context is not set, plaintext would be used as is for encryption. If the context is set but: 1. there is no record present when transforming a given value or 2. the field is not present when transforming a given value, plaintext would be used as is for encryption. Note that case (1) is expected when an `InfoTypeTransformation` is applied to both structured and unstructured `ContentItem`s. "name": "A String", # Name describing the field. }, "cryptoKey": { # This is a data encryption key (DEK) (as opposed to a key encryption key (KEK) stored by Cloud Key Management Service (Cloud KMS). When using Cloud KMS to wrap or unwrap a DEK, be sure to set an appropriate IAM policy on the KEK to ensure an attacker cannot unwrap the DEK. # The key used by the encryption function. For deterministic encryption using AES-SIV, the provided key is internally expanded to 64 bytes prior to use. @@ -508,7 +508,7 @@

Method Details

}, "cryptoReplaceFfxFpeConfig": { # Replaces an identifier with a surrogate using Format Preserving Encryption (FPE) with the FFX mode of operation; however when used in the `ReidentifyContent` API method, it serves the opposite function by reversing the surrogate back into the original identifier. The identifier must be encoded as ASCII. For a given crypto key and context, the same identifier will be replaced with the same surrogate. Identifiers must be at least two characters long. In the case that the identifier is the empty string, it will be skipped. See https://cloud.google.com/dlp/docs/pseudonymization to learn more. Note: We recommend using CryptoDeterministicConfig for all use cases which do not require preserving the input alphabet space and size, plus warrant referential integrity. # Ffx-Fpe "commonAlphabet": "A String", # Common alphabets. - "context": { # General identifier of a data field in a storage service. # The 'tweak', a context may be used for higher security since the same identifier in two different contexts won't be given the same surrogate. If the context is not set, a default tweak will be used. If the context is set but: 1. there is no record present when transforming a given value or 1. the field is not present when transforming a given value, a default tweak will be used. Note that case (1) is expected when an `InfoTypeTransformation` is applied to both structured and non-structured `ContentItem`s. Currently, the referenced field may be of value type integer or string. The tweak is constructed as a sequence of bytes in big endian byte order such that: - a 64 bit integer is encoded followed by a single byte of value 1 - a string is encoded in UTF-8 format followed by a single byte of value 2 + "context": { # General identifier of a data field in a storage service. # The 'tweak', a context may be used for higher security since the same identifier in two different contexts won't be given the same surrogate. If the context is not set, a default tweak will be used. If the context is set but: 1. there is no record present when transforming a given value or 1. the field is not present when transforming a given value, a default tweak will be used. Note that case (1) is expected when an `InfoTypeTransformation` is applied to both structured and unstructured `ContentItem`s. Currently, the referenced field may be of value type integer or string. The tweak is constructed as a sequence of bytes in big endian byte order such that: - a 64 bit integer is encoded followed by a single byte of value 1 - a string is encoded in UTF-8 format followed by a single byte of value 2 "name": "A String", # Name describing the field. }, "cryptoKey": { # This is a data encryption key (DEK) (as opposed to a key encryption key (KEK) stored by Cloud Key Management Service (Cloud KMS). When using Cloud KMS to wrap or unwrap a DEK, be sure to set an appropriate IAM policy on the KEK to ensure an attacker cannot unwrap the DEK. # Required. The key used by the encryption algorithm. @@ -705,7 +705,7 @@

Method Details

"reverseOrder": True or False, # Mask characters in reverse order. For example, if `masking_character` is `0`, `number_to_mask` is `14`, and `reverse_order` is `false`, then the input string `1234-5678-9012-3456` is masked as `00000000000000-3456`. If `masking_character` is `*`, `number_to_mask` is `3`, and `reverse_order` is `true`, then the string `12345` is masked as `12***`. }, "cryptoDeterministicConfig": { # Pseudonymization method that generates deterministic encryption for the given input. Outputs a base64 encoded representation of the encrypted output. Uses AES-SIV based on the RFC https://tools.ietf.org/html/rfc5297. # Deterministic Crypto - "context": { # General identifier of a data field in a storage service. # A context may be used for higher security and maintaining referential integrity such that the same identifier in two different contexts will be given a distinct surrogate. The context is appended to plaintext value being encrypted. On decryption the provided context is validated against the value used during encryption. If a context was provided during encryption, same context must be provided during decryption as well. If the context is not set, plaintext would be used as is for encryption. If the context is set but: 1. there is no record present when transforming a given value or 2. the field is not present when transforming a given value, plaintext would be used as is for encryption. Note that case (1) is expected when an `InfoTypeTransformation` is applied to both structured and non-structured `ContentItem`s. + "context": { # General identifier of a data field in a storage service. # A context may be used for higher security and maintaining referential integrity such that the same identifier in two different contexts will be given a distinct surrogate. The context is appended to plaintext value being encrypted. On decryption the provided context is validated against the value used during encryption. If a context was provided during encryption, same context must be provided during decryption as well. If the context is not set, plaintext would be used as is for encryption. If the context is set but: 1. there is no record present when transforming a given value or 2. the field is not present when transforming a given value, plaintext would be used as is for encryption. Note that case (1) is expected when an `InfoTypeTransformation` is applied to both structured and unstructured `ContentItem`s. "name": "A String", # Name describing the field. }, "cryptoKey": { # This is a data encryption key (DEK) (as opposed to a key encryption key (KEK) stored by Cloud Key Management Service (Cloud KMS). When using Cloud KMS to wrap or unwrap a DEK, be sure to set an appropriate IAM policy on the KEK to ensure an attacker cannot unwrap the DEK. # The key used by the encryption function. For deterministic encryption using AES-SIV, the provided key is internally expanded to 64 bytes prior to use. @@ -741,7 +741,7 @@

Method Details

}, "cryptoReplaceFfxFpeConfig": { # Replaces an identifier with a surrogate using Format Preserving Encryption (FPE) with the FFX mode of operation; however when used in the `ReidentifyContent` API method, it serves the opposite function by reversing the surrogate back into the original identifier. The identifier must be encoded as ASCII. For a given crypto key and context, the same identifier will be replaced with the same surrogate. Identifiers must be at least two characters long. In the case that the identifier is the empty string, it will be skipped. See https://cloud.google.com/dlp/docs/pseudonymization to learn more. Note: We recommend using CryptoDeterministicConfig for all use cases which do not require preserving the input alphabet space and size, plus warrant referential integrity. # Ffx-Fpe "commonAlphabet": "A String", # Common alphabets. - "context": { # General identifier of a data field in a storage service. # The 'tweak', a context may be used for higher security since the same identifier in two different contexts won't be given the same surrogate. If the context is not set, a default tweak will be used. If the context is set but: 1. there is no record present when transforming a given value or 1. the field is not present when transforming a given value, a default tweak will be used. Note that case (1) is expected when an `InfoTypeTransformation` is applied to both structured and non-structured `ContentItem`s. Currently, the referenced field may be of value type integer or string. The tweak is constructed as a sequence of bytes in big endian byte order such that: - a 64 bit integer is encoded followed by a single byte of value 1 - a string is encoded in UTF-8 format followed by a single byte of value 2 + "context": { # General identifier of a data field in a storage service. # The 'tweak', a context may be used for higher security since the same identifier in two different contexts won't be given the same surrogate. If the context is not set, a default tweak will be used. If the context is set but: 1. there is no record present when transforming a given value or 1. the field is not present when transforming a given value, a default tweak will be used. Note that case (1) is expected when an `InfoTypeTransformation` is applied to both structured and unstructured `ContentItem`s. Currently, the referenced field may be of value type integer or string. The tweak is constructed as a sequence of bytes in big endian byte order such that: - a 64 bit integer is encoded followed by a single byte of value 1 - a string is encoded in UTF-8 format followed by a single byte of value 2 "name": "A String", # Name describing the field. }, "cryptoKey": { # This is a data encryption key (DEK) (as opposed to a key encryption key (KEK) stored by Cloud Key Management Service (Cloud KMS). When using Cloud KMS to wrap or unwrap a DEK, be sure to set an appropriate IAM policy on the KEK to ensure an attacker cannot unwrap the DEK. # Required. The key used by the encryption algorithm. @@ -864,7 +864,7 @@

Method Details

"recordSuppressions": [ # Configuration defining which records get suppressed entirely. Records that match any suppression rule are omitted from the output. { # Configuration to suppress records whose suppression conditions evaluate to true. "condition": { # A condition for determining whether a transformation should be applied to a field. # A condition that when it evaluates to true will result in the record being evaluated to be suppressed from the transformed content. - "expressions": { # An expression, consisting or an operator and conditions. # An expression. + "expressions": { # An expression, consisting of an operator and conditions. # An expression. "conditions": { # A collection of conditions. # Conditions to apply to the expression. "conditions": [ # A collection of conditions. { # The field type of `value` and `field` do not need to match to be considered equal, but not all comparisons are possible. EQUAL_TO and NOT_EQUAL_TO attempt to compare even with incompatible types, but all other comparisons are invalid with incompatible types. A `value` of type: - `string` can be compared against all other types - `boolean` can only be compared against other booleans - `integer` can be compared against doubles or a string if the string value can be parsed as an integer. - `double` can be compared against integers or a string if the string can be parsed as a double. - `Timestamp` can be compared against strings in RFC 3339 date string format. - `TimeOfDay` can be compared against timestamps and strings in the format of 'HH:mm:ss'. If we fail to compare do to type mismatch, a warning will be given and the condition will evaluate to false. @@ -972,7 +972,7 @@

Method Details

"version": "A String", # Optional version name for this InfoType. }, ], - "limits": { # Configuration to control the number of findings returned for inspection. This is not used for de-identification or data profiling. # Configuration to control the number of findings returned. This is not used for data profiling. + "limits": { # Configuration to control the number of findings returned for inspection. This is not used for de-identification or data profiling. When redacting sensitive data from images, finding limits don't apply. They can cause unexpected or inconsistent results, where only some data is redacted. Don't include finding limits in RedactImage requests. Otherwise, Cloud DLP returns an error. # Configuration to control the number of findings returned. This is not used for data profiling. When redacting sensitive data from images, finding limits don't apply. They can cause unexpected or inconsistent results, where only some data is redacted. Don't include finding limits in RedactImage requests. Otherwise, Cloud DLP returns an error. "maxFindingsPerInfoType": [ # Configuration of findings limit given for specified infoTypes. { # Max findings configuration per infoType, per content item or long running DlpJob. "infoType": { # Type of information detected by the API. # Type of information the findings limit applies to. Only one limit per info_type should be provided. If InfoTypeLimit does not have an info_type, the DLP API applies the limit against all info_types that are found but not specified in another InfoTypeLimit. @@ -1007,7 +1007,7 @@

Method Details

], }, }, - "excludeInfoTypes": { # List of exclude infoTypes. # Set of infoTypes for which findings would affect this rule. + "excludeInfoTypes": { # List of excluded infoTypes. # Set of infoTypes for which findings would affect this rule. "infoTypes": [ # InfoType list in ExclusionRule rule drops a finding when it overlaps or contained within with a finding of an infoType from this list. For example, for `InspectionRuleSet.info_types` containing "PHONE_NUMBER"` and `exclusion_rule` containing `exclude_info_types.info_types` with "EMAIL_ADDRESS" the phone number findings are dropped if they overlap with EMAIL_ADDRESS finding. That leads to "555-222-2222@example.org" to generate only a single finding, namely email address. { # Type of information detected by the API. "name": "A String", # Name of the information type. Either a name of your choosing when creating a CustomInfoType, or one of the names listed at https://cloud.google.com/dlp/docs/infotypes-reference when specifying a built-in type. When sending Cloud DLP results to Data Catalog, infoType names should conform to the pattern `[A-Za-z0-9$-_]{1,64}`. @@ -1144,7 +1144,7 @@

Method Details

"fieldTransformations": [ # The field transformation that was applied. If multiple field transformations are requested for a single field, this list will contain all of them; otherwise, only one is supplied. { # The transformation to apply to the field. "condition": { # A condition for determining whether a transformation should be applied to a field. # Only apply the transformation if the condition evaluates to true for the given `RecordCondition`. The conditions are allowed to reference fields that are not used in the actual transformation. Example Use Cases: - Apply a different bucket transformation to an age column if the zip code column for the same record is within a specific range. - Redact a field if the date of birth field is greater than 85. - "expressions": { # An expression, consisting or an operator and conditions. # An expression. + "expressions": { # An expression, consisting of an operator and conditions. # An expression. "conditions": { # A collection of conditions. # Conditions to apply to the expression. "conditions": [ # A collection of conditions. { # The field type of `value` and `field` do not need to match to be considered equal, but not all comparisons are possible. EQUAL_TO and NOT_EQUAL_TO attempt to compare even with incompatible types, but all other comparisons are invalid with incompatible types. A `value` of type: - `string` can be compared against all other types - `boolean` can only be compared against other booleans - `integer` can be compared against doubles or a string if the string value can be parsed as an integer. - `double` can be compared against integers or a string if the string can be parsed as a double. - `Timestamp` can be compared against strings in RFC 3339 date string format. - `TimeOfDay` can be compared against timestamps and strings in the format of 'HH:mm:ss'. If we fail to compare do to type mismatch, a warning will be given and the condition will evaluate to false. @@ -1267,7 +1267,7 @@

Method Details

"reverseOrder": True or False, # Mask characters in reverse order. For example, if `masking_character` is `0`, `number_to_mask` is `14`, and `reverse_order` is `false`, then the input string `1234-5678-9012-3456` is masked as `00000000000000-3456`. If `masking_character` is `*`, `number_to_mask` is `3`, and `reverse_order` is `true`, then the string `12345` is masked as `12***`. }, "cryptoDeterministicConfig": { # Pseudonymization method that generates deterministic encryption for the given input. Outputs a base64 encoded representation of the encrypted output. Uses AES-SIV based on the RFC https://tools.ietf.org/html/rfc5297. # Deterministic Crypto - "context": { # General identifier of a data field in a storage service. # A context may be used for higher security and maintaining referential integrity such that the same identifier in two different contexts will be given a distinct surrogate. The context is appended to plaintext value being encrypted. On decryption the provided context is validated against the value used during encryption. If a context was provided during encryption, same context must be provided during decryption as well. If the context is not set, plaintext would be used as is for encryption. If the context is set but: 1. there is no record present when transforming a given value or 2. the field is not present when transforming a given value, plaintext would be used as is for encryption. Note that case (1) is expected when an `InfoTypeTransformation` is applied to both structured and non-structured `ContentItem`s. + "context": { # General identifier of a data field in a storage service. # A context may be used for higher security and maintaining referential integrity such that the same identifier in two different contexts will be given a distinct surrogate. The context is appended to plaintext value being encrypted. On decryption the provided context is validated against the value used during encryption. If a context was provided during encryption, same context must be provided during decryption as well. If the context is not set, plaintext would be used as is for encryption. If the context is set but: 1. there is no record present when transforming a given value or 2. the field is not present when transforming a given value, plaintext would be used as is for encryption. Note that case (1) is expected when an `InfoTypeTransformation` is applied to both structured and unstructured `ContentItem`s. "name": "A String", # Name describing the field. }, "cryptoKey": { # This is a data encryption key (DEK) (as opposed to a key encryption key (KEK) stored by Cloud Key Management Service (Cloud KMS). When using Cloud KMS to wrap or unwrap a DEK, be sure to set an appropriate IAM policy on the KEK to ensure an attacker cannot unwrap the DEK. # The key used by the encryption function. For deterministic encryption using AES-SIV, the provided key is internally expanded to 64 bytes prior to use. @@ -1303,7 +1303,7 @@

Method Details

}, "cryptoReplaceFfxFpeConfig": { # Replaces an identifier with a surrogate using Format Preserving Encryption (FPE) with the FFX mode of operation; however when used in the `ReidentifyContent` API method, it serves the opposite function by reversing the surrogate back into the original identifier. The identifier must be encoded as ASCII. For a given crypto key and context, the same identifier will be replaced with the same surrogate. Identifiers must be at least two characters long. In the case that the identifier is the empty string, it will be skipped. See https://cloud.google.com/dlp/docs/pseudonymization to learn more. Note: We recommend using CryptoDeterministicConfig for all use cases which do not require preserving the input alphabet space and size, plus warrant referential integrity. # Ffx-Fpe "commonAlphabet": "A String", # Common alphabets. - "context": { # General identifier of a data field in a storage service. # The 'tweak', a context may be used for higher security since the same identifier in two different contexts won't be given the same surrogate. If the context is not set, a default tweak will be used. If the context is set but: 1. there is no record present when transforming a given value or 1. the field is not present when transforming a given value, a default tweak will be used. Note that case (1) is expected when an `InfoTypeTransformation` is applied to both structured and non-structured `ContentItem`s. Currently, the referenced field may be of value type integer or string. The tweak is constructed as a sequence of bytes in big endian byte order such that: - a 64 bit integer is encoded followed by a single byte of value 1 - a string is encoded in UTF-8 format followed by a single byte of value 2 + "context": { # General identifier of a data field in a storage service. # The 'tweak', a context may be used for higher security since the same identifier in two different contexts won't be given the same surrogate. If the context is not set, a default tweak will be used. If the context is set but: 1. there is no record present when transforming a given value or 1. the field is not present when transforming a given value, a default tweak will be used. Note that case (1) is expected when an `InfoTypeTransformation` is applied to both structured and unstructured `ContentItem`s. Currently, the referenced field may be of value type integer or string. The tweak is constructed as a sequence of bytes in big endian byte order such that: - a 64 bit integer is encoded followed by a single byte of value 1 - a string is encoded in UTF-8 format followed by a single byte of value 2 "name": "A String", # Name describing the field. }, "cryptoKey": { # This is a data encryption key (DEK) (as opposed to a key encryption key (KEK) stored by Cloud Key Management Service (Cloud KMS). When using Cloud KMS to wrap or unwrap a DEK, be sure to set an appropriate IAM policy on the KEK to ensure an attacker cannot unwrap the DEK. # Required. The key used by the encryption algorithm. @@ -1500,7 +1500,7 @@

Method Details

"reverseOrder": True or False, # Mask characters in reverse order. For example, if `masking_character` is `0`, `number_to_mask` is `14`, and `reverse_order` is `false`, then the input string `1234-5678-9012-3456` is masked as `00000000000000-3456`. If `masking_character` is `*`, `number_to_mask` is `3`, and `reverse_order` is `true`, then the string `12345` is masked as `12***`. }, "cryptoDeterministicConfig": { # Pseudonymization method that generates deterministic encryption for the given input. Outputs a base64 encoded representation of the encrypted output. Uses AES-SIV based on the RFC https://tools.ietf.org/html/rfc5297. # Deterministic Crypto - "context": { # General identifier of a data field in a storage service. # A context may be used for higher security and maintaining referential integrity such that the same identifier in two different contexts will be given a distinct surrogate. The context is appended to plaintext value being encrypted. On decryption the provided context is validated against the value used during encryption. If a context was provided during encryption, same context must be provided during decryption as well. If the context is not set, plaintext would be used as is for encryption. If the context is set but: 1. there is no record present when transforming a given value or 2. the field is not present when transforming a given value, plaintext would be used as is for encryption. Note that case (1) is expected when an `InfoTypeTransformation` is applied to both structured and non-structured `ContentItem`s. + "context": { # General identifier of a data field in a storage service. # A context may be used for higher security and maintaining referential integrity such that the same identifier in two different contexts will be given a distinct surrogate. The context is appended to plaintext value being encrypted. On decryption the provided context is validated against the value used during encryption. If a context was provided during encryption, same context must be provided during decryption as well. If the context is not set, plaintext would be used as is for encryption. If the context is set but: 1. there is no record present when transforming a given value or 2. the field is not present when transforming a given value, plaintext would be used as is for encryption. Note that case (1) is expected when an `InfoTypeTransformation` is applied to both structured and unstructured `ContentItem`s. "name": "A String", # Name describing the field. }, "cryptoKey": { # This is a data encryption key (DEK) (as opposed to a key encryption key (KEK) stored by Cloud Key Management Service (Cloud KMS). When using Cloud KMS to wrap or unwrap a DEK, be sure to set an appropriate IAM policy on the KEK to ensure an attacker cannot unwrap the DEK. # The key used by the encryption function. For deterministic encryption using AES-SIV, the provided key is internally expanded to 64 bytes prior to use. @@ -1536,7 +1536,7 @@

Method Details

}, "cryptoReplaceFfxFpeConfig": { # Replaces an identifier with a surrogate using Format Preserving Encryption (FPE) with the FFX mode of operation; however when used in the `ReidentifyContent` API method, it serves the opposite function by reversing the surrogate back into the original identifier. The identifier must be encoded as ASCII. For a given crypto key and context, the same identifier will be replaced with the same surrogate. Identifiers must be at least two characters long. In the case that the identifier is the empty string, it will be skipped. See https://cloud.google.com/dlp/docs/pseudonymization to learn more. Note: We recommend using CryptoDeterministicConfig for all use cases which do not require preserving the input alphabet space and size, plus warrant referential integrity. # Ffx-Fpe "commonAlphabet": "A String", # Common alphabets. - "context": { # General identifier of a data field in a storage service. # The 'tweak', a context may be used for higher security since the same identifier in two different contexts won't be given the same surrogate. If the context is not set, a default tweak will be used. If the context is set but: 1. there is no record present when transforming a given value or 1. the field is not present when transforming a given value, a default tweak will be used. Note that case (1) is expected when an `InfoTypeTransformation` is applied to both structured and non-structured `ContentItem`s. Currently, the referenced field may be of value type integer or string. The tweak is constructed as a sequence of bytes in big endian byte order such that: - a 64 bit integer is encoded followed by a single byte of value 1 - a string is encoded in UTF-8 format followed by a single byte of value 2 + "context": { # General identifier of a data field in a storage service. # The 'tweak', a context may be used for higher security since the same identifier in two different contexts won't be given the same surrogate. If the context is not set, a default tweak will be used. If the context is set but: 1. there is no record present when transforming a given value or 1. the field is not present when transforming a given value, a default tweak will be used. Note that case (1) is expected when an `InfoTypeTransformation` is applied to both structured and unstructured `ContentItem`s. Currently, the referenced field may be of value type integer or string. The tweak is constructed as a sequence of bytes in big endian byte order such that: - a 64 bit integer is encoded followed by a single byte of value 1 - a string is encoded in UTF-8 format followed by a single byte of value 2 "name": "A String", # Name describing the field. }, "cryptoKey": { # This is a data encryption key (DEK) (as opposed to a key encryption key (KEK) stored by Cloud Key Management Service (Cloud KMS). When using Cloud KMS to wrap or unwrap a DEK, be sure to set an appropriate IAM policy on the KEK to ensure an attacker cannot unwrap the DEK. # Required. The key used by the encryption algorithm. @@ -1662,7 +1662,7 @@

Method Details

}, "recordSuppress": { # Configuration to suppress records whose suppression conditions evaluate to true. # The specific suppression option these stats apply to. "condition": { # A condition for determining whether a transformation should be applied to a field. # A condition that when it evaluates to true will result in the record being evaluated to be suppressed from the transformed content. - "expressions": { # An expression, consisting or an operator and conditions. # An expression. + "expressions": { # An expression, consisting of an operator and conditions. # An expression. "conditions": { # A collection of conditions. # Conditions to apply to the expression. "conditions": [ # A collection of conditions. { # The field type of `value` and `field` do not need to match to be considered equal, but not all comparisons are possible. EQUAL_TO and NOT_EQUAL_TO attempt to compare even with incompatible types, but all other comparisons are invalid with incompatible types. A `value` of type: - `string` can be compared against all other types - `boolean` can only be compared against other booleans - `integer` can be compared against doubles or a string if the string value can be parsed as an integer. - `double` can be compared against integers or a string if the string can be parsed as a double. - `Timestamp` can be compared against strings in RFC 3339 date string format. - `TimeOfDay` can be compared against timestamps and strings in the format of 'HH:mm:ss'. If we fail to compare do to type mismatch, a warning will be given and the condition will evaluate to false. @@ -1779,7 +1779,7 @@

Method Details

"reverseOrder": True or False, # Mask characters in reverse order. For example, if `masking_character` is `0`, `number_to_mask` is `14`, and `reverse_order` is `false`, then the input string `1234-5678-9012-3456` is masked as `00000000000000-3456`. If `masking_character` is `*`, `number_to_mask` is `3`, and `reverse_order` is `true`, then the string `12345` is masked as `12***`. }, "cryptoDeterministicConfig": { # Pseudonymization method that generates deterministic encryption for the given input. Outputs a base64 encoded representation of the encrypted output. Uses AES-SIV based on the RFC https://tools.ietf.org/html/rfc5297. # Deterministic Crypto - "context": { # General identifier of a data field in a storage service. # A context may be used for higher security and maintaining referential integrity such that the same identifier in two different contexts will be given a distinct surrogate. The context is appended to plaintext value being encrypted. On decryption the provided context is validated against the value used during encryption. If a context was provided during encryption, same context must be provided during decryption as well. If the context is not set, plaintext would be used as is for encryption. If the context is set but: 1. there is no record present when transforming a given value or 2. the field is not present when transforming a given value, plaintext would be used as is for encryption. Note that case (1) is expected when an `InfoTypeTransformation` is applied to both structured and non-structured `ContentItem`s. + "context": { # General identifier of a data field in a storage service. # A context may be used for higher security and maintaining referential integrity such that the same identifier in two different contexts will be given a distinct surrogate. The context is appended to plaintext value being encrypted. On decryption the provided context is validated against the value used during encryption. If a context was provided during encryption, same context must be provided during decryption as well. If the context is not set, plaintext would be used as is for encryption. If the context is set but: 1. there is no record present when transforming a given value or 2. the field is not present when transforming a given value, plaintext would be used as is for encryption. Note that case (1) is expected when an `InfoTypeTransformation` is applied to both structured and unstructured `ContentItem`s. "name": "A String", # Name describing the field. }, "cryptoKey": { # This is a data encryption key (DEK) (as opposed to a key encryption key (KEK) stored by Cloud Key Management Service (Cloud KMS). When using Cloud KMS to wrap or unwrap a DEK, be sure to set an appropriate IAM policy on the KEK to ensure an attacker cannot unwrap the DEK. # The key used by the encryption function. For deterministic encryption using AES-SIV, the provided key is internally expanded to 64 bytes prior to use. @@ -1815,7 +1815,7 @@

Method Details

}, "cryptoReplaceFfxFpeConfig": { # Replaces an identifier with a surrogate using Format Preserving Encryption (FPE) with the FFX mode of operation; however when used in the `ReidentifyContent` API method, it serves the opposite function by reversing the surrogate back into the original identifier. The identifier must be encoded as ASCII. For a given crypto key and context, the same identifier will be replaced with the same surrogate. Identifiers must be at least two characters long. In the case that the identifier is the empty string, it will be skipped. See https://cloud.google.com/dlp/docs/pseudonymization to learn more. Note: We recommend using CryptoDeterministicConfig for all use cases which do not require preserving the input alphabet space and size, plus warrant referential integrity. # Ffx-Fpe "commonAlphabet": "A String", # Common alphabets. - "context": { # General identifier of a data field in a storage service. # The 'tweak', a context may be used for higher security since the same identifier in two different contexts won't be given the same surrogate. If the context is not set, a default tweak will be used. If the context is set but: 1. there is no record present when transforming a given value or 1. the field is not present when transforming a given value, a default tweak will be used. Note that case (1) is expected when an `InfoTypeTransformation` is applied to both structured and non-structured `ContentItem`s. Currently, the referenced field may be of value type integer or string. The tweak is constructed as a sequence of bytes in big endian byte order such that: - a 64 bit integer is encoded followed by a single byte of value 1 - a string is encoded in UTF-8 format followed by a single byte of value 2 + "context": { # General identifier of a data field in a storage service. # The 'tweak', a context may be used for higher security since the same identifier in two different contexts won't be given the same surrogate. If the context is not set, a default tweak will be used. If the context is set but: 1. there is no record present when transforming a given value or 1. the field is not present when transforming a given value, a default tweak will be used. Note that case (1) is expected when an `InfoTypeTransformation` is applied to both structured and unstructured `ContentItem`s. Currently, the referenced field may be of value type integer or string. The tweak is constructed as a sequence of bytes in big endian byte order such that: - a 64 bit integer is encoded followed by a single byte of value 1 - a string is encoded in UTF-8 format followed by a single byte of value 2 "name": "A String", # Name describing the field. }, "cryptoKey": { # This is a data encryption key (DEK) (as opposed to a key encryption key (KEK) stored by Cloud Key Management Service (Cloud KMS). When using Cloud KMS to wrap or unwrap a DEK, be sure to set an appropriate IAM policy on the KEK to ensure an attacker cannot unwrap the DEK. # Required. The key used by the encryption algorithm. @@ -2015,7 +2015,7 @@

Method Details

"version": "A String", # Optional version name for this InfoType. }, ], - "limits": { # Configuration to control the number of findings returned for inspection. This is not used for de-identification or data profiling. # Configuration to control the number of findings returned. This is not used for data profiling. + "limits": { # Configuration to control the number of findings returned for inspection. This is not used for de-identification or data profiling. When redacting sensitive data from images, finding limits don't apply. They can cause unexpected or inconsistent results, where only some data is redacted. Don't include finding limits in RedactImage requests. Otherwise, Cloud DLP returns an error. # Configuration to control the number of findings returned. This is not used for data profiling. When redacting sensitive data from images, finding limits don't apply. They can cause unexpected or inconsistent results, where only some data is redacted. Don't include finding limits in RedactImage requests. Otherwise, Cloud DLP returns an error. "maxFindingsPerInfoType": [ # Configuration of findings limit given for specified infoTypes. { # Max findings configuration per infoType, per content item or long running DlpJob. "infoType": { # Type of information detected by the API. # Type of information the findings limit applies to. Only one limit per info_type should be provided. If InfoTypeLimit does not have an info_type, the DLP API applies the limit against all info_types that are found but not specified in another InfoTypeLimit. @@ -2050,7 +2050,7 @@

Method Details

], }, }, - "excludeInfoTypes": { # List of exclude infoTypes. # Set of infoTypes for which findings would affect this rule. + "excludeInfoTypes": { # List of excluded infoTypes. # Set of infoTypes for which findings would affect this rule. "infoTypes": [ # InfoType list in ExclusionRule rule drops a finding when it overlaps or contained within with a finding of an infoType from this list. For example, for `InspectionRuleSet.info_types` containing "PHONE_NUMBER"` and `exclusion_rule` containing `exclude_info_types.info_types` with "EMAIL_ADDRESS" the phone number findings are dropped if they overlap with EMAIL_ADDRESS finding. That leads to "555-222-2222@example.org" to generate only a single finding, namely email address. { # Type of information detected by the API. "name": "A String", # Name of the information type. Either a name of your choosing when creating a CustomInfoType, or one of the names listed at https://cloud.google.com/dlp/docs/infotypes-reference when specifying a built-in type. When sending Cloud DLP results to Data Catalog, infoType names should conform to the pattern `[A-Za-z0-9$-_]{1,64}`. @@ -2164,19 +2164,19 @@

Method Details

"start": "A String", # Index of the first character of the range (inclusive). }, "container": { # Represents a container that may contain DLP findings. Examples of a container include a file, table, or database record. # Information about the container where this finding occurred, if available. - "fullPath": "A String", # A string representation of the full container name. Examples: - BigQuery: 'Project:DataSetId.TableId' - Google Cloud Storage: 'gs://Bucket/folders/filename.txt' + "fullPath": "A String", # A string representation of the full container name. Examples: - BigQuery: 'Project:DataSetId.TableId' - Cloud Storage: 'gs://Bucket/folders/filename.txt' "projectId": "A String", # Project where the finding was found. Can be different from the project that owns the finding. - "relativePath": "A String", # The rest of the path after the root. Examples: - For BigQuery table `project_id:dataset_id.table_id`, the relative path is `table_id` - Google Cloud Storage file `gs://bucket/folder/filename.txt`, the relative path is `folder/filename.txt` - "rootPath": "A String", # The root of the container. Examples: - For BigQuery table `project_id:dataset_id.table_id`, the root is `dataset_id` - For Google Cloud Storage file `gs://bucket/folder/filename.txt`, the root is `gs://bucket` - "type": "A String", # Container type, for example BigQuery or Google Cloud Storage. - "updateTime": "A String", # Findings container modification timestamp, if applicable. For Google Cloud Storage contains last file modification timestamp. For BigQuery table contains last_modified_time property. For Datastore - not populated. - "version": "A String", # Findings container version, if available ("generation" for Google Cloud Storage). + "relativePath": "A String", # The rest of the path after the root. Examples: - For BigQuery table `project_id:dataset_id.table_id`, the relative path is `table_id` - For Cloud Storage file `gs://bucket/folder/filename.txt`, the relative path is `folder/filename.txt` + "rootPath": "A String", # The root of the container. Examples: - For BigQuery table `project_id:dataset_id.table_id`, the root is `dataset_id` - For Cloud Storage file `gs://bucket/folder/filename.txt`, the root is `gs://bucket` + "type": "A String", # Container type, for example BigQuery or Cloud Storage. + "updateTime": "A String", # Findings container modification timestamp, if applicable. For Cloud Storage, this field contains the last file modification timestamp. For a BigQuery table, this field contains the last_modified_time property. For Datastore, this field isn't populated. + "version": "A String", # Findings container version, if available ("generation" for Cloud Storage). }, "contentLocations": [ # List of nested objects pointing to the precise location of the finding within the file or record. { # Precise location of the finding within a document, record, image, or metadata container. - "containerName": "A String", # Name of the container where the finding is located. The top level name is the source file name or table name. Names of some common storage containers are formatted as follows: * BigQuery tables: `{project_id}:{dataset_id}.{table_id}` * Cloud Storage files: `gs://{bucket}/{path}` * Datastore namespace: {namespace} Nested names could be absent if the embedded object has no string identifier (for an example an image contained within a document). - "containerTimestamp": "A String", # Findings container modification timestamp, if applicable. For Google Cloud Storage contains last file modification timestamp. For BigQuery table contains last_modified_time property. For Datastore - not populated. - "containerVersion": "A String", # Findings container version, if available ("generation" for Google Cloud Storage). + "containerName": "A String", # Name of the container where the finding is located. The top level name is the source file name or table name. Names of some common storage containers are formatted as follows: * BigQuery tables: `{project_id}:{dataset_id}.{table_id}` * Cloud Storage files: `gs://{bucket}/{path}` * Datastore namespace: {namespace} Nested names could be absent if the embedded object has no string identifier (for example, an image contained within a document). + "containerTimestamp": "A String", # Finding container modification timestamp, if applicable. For Cloud Storage, this field contains the last file modification timestamp. For a BigQuery table, this field contains the last_modified_time property. For Datastore, this field isn't populated. + "containerVersion": "A String", # Finding container version, if available ("generation" for Cloud Storage). "documentLocation": { # Location of a finding within a document. # Location data for document files. "fileOffset": "A String", # Offset of the line, from the beginning of the file, where the finding is located. }, @@ -2339,7 +2339,7 @@

Method Details

"version": "A String", # Optional version name for this InfoType. }, ], - "limits": { # Configuration to control the number of findings returned for inspection. This is not used for de-identification or data profiling. # Configuration to control the number of findings returned. This is not used for data profiling. + "limits": { # Configuration to control the number of findings returned for inspection. This is not used for de-identification or data profiling. When redacting sensitive data from images, finding limits don't apply. They can cause unexpected or inconsistent results, where only some data is redacted. Don't include finding limits in RedactImage requests. Otherwise, Cloud DLP returns an error. # Configuration to control the number of findings returned. This is not used for data profiling. When redacting sensitive data from images, finding limits don't apply. They can cause unexpected or inconsistent results, where only some data is redacted. Don't include finding limits in RedactImage requests. Otherwise, Cloud DLP returns an error. "maxFindingsPerInfoType": [ # Configuration of findings limit given for specified infoTypes. { # Max findings configuration per infoType, per content item or long running DlpJob. "infoType": { # Type of information detected by the API. # Type of information the findings limit applies to. Only one limit per info_type should be provided. If InfoTypeLimit does not have an info_type, the DLP API applies the limit against all info_types that are found but not specified in another InfoTypeLimit. @@ -2374,7 +2374,7 @@

Method Details

], }, }, - "excludeInfoTypes": { # List of exclude infoTypes. # Set of infoTypes for which findings would affect this rule. + "excludeInfoTypes": { # List of excluded infoTypes. # Set of infoTypes for which findings would affect this rule. "infoTypes": [ # InfoType list in ExclusionRule rule drops a finding when it overlaps or contained within with a finding of an infoType from this list. For example, for `InspectionRuleSet.info_types` containing "PHONE_NUMBER"` and `exclusion_rule` containing `exclude_info_types.info_types` with "EMAIL_ADDRESS" the phone number findings are dropped if they overlap with EMAIL_ADDRESS finding. That leads to "555-222-2222@example.org" to generate only a single finding, namely email address. { # Type of information detected by the API. "name": "A String", # Name of the information type. Either a name of your choosing when creating a CustomInfoType, or one of the names listed at https://cloud.google.com/dlp/docs/infotypes-reference when specifying a built-in type. When sending Cloud DLP results to Data Catalog, infoType names should conform to the pattern `[A-Za-z0-9$-_]{1,64}`. @@ -2538,7 +2538,7 @@

Method Details

"reverseOrder": True or False, # Mask characters in reverse order. For example, if `masking_character` is `0`, `number_to_mask` is `14`, and `reverse_order` is `false`, then the input string `1234-5678-9012-3456` is masked as `00000000000000-3456`. If `masking_character` is `*`, `number_to_mask` is `3`, and `reverse_order` is `true`, then the string `12345` is masked as `12***`. }, "cryptoDeterministicConfig": { # Pseudonymization method that generates deterministic encryption for the given input. Outputs a base64 encoded representation of the encrypted output. Uses AES-SIV based on the RFC https://tools.ietf.org/html/rfc5297. # Deterministic Crypto - "context": { # General identifier of a data field in a storage service. # A context may be used for higher security and maintaining referential integrity such that the same identifier in two different contexts will be given a distinct surrogate. The context is appended to plaintext value being encrypted. On decryption the provided context is validated against the value used during encryption. If a context was provided during encryption, same context must be provided during decryption as well. If the context is not set, plaintext would be used as is for encryption. If the context is set but: 1. there is no record present when transforming a given value or 2. the field is not present when transforming a given value, plaintext would be used as is for encryption. Note that case (1) is expected when an `InfoTypeTransformation` is applied to both structured and non-structured `ContentItem`s. + "context": { # General identifier of a data field in a storage service. # A context may be used for higher security and maintaining referential integrity such that the same identifier in two different contexts will be given a distinct surrogate. The context is appended to plaintext value being encrypted. On decryption the provided context is validated against the value used during encryption. If a context was provided during encryption, same context must be provided during decryption as well. If the context is not set, plaintext would be used as is for encryption. If the context is set but: 1. there is no record present when transforming a given value or 2. the field is not present when transforming a given value, plaintext would be used as is for encryption. Note that case (1) is expected when an `InfoTypeTransformation` is applied to both structured and unstructured `ContentItem`s. "name": "A String", # Name describing the field. }, "cryptoKey": { # This is a data encryption key (DEK) (as opposed to a key encryption key (KEK) stored by Cloud Key Management Service (Cloud KMS). When using Cloud KMS to wrap or unwrap a DEK, be sure to set an appropriate IAM policy on the KEK to ensure an attacker cannot unwrap the DEK. # The key used by the encryption function. For deterministic encryption using AES-SIV, the provided key is internally expanded to 64 bytes prior to use. @@ -2574,7 +2574,7 @@

Method Details

}, "cryptoReplaceFfxFpeConfig": { # Replaces an identifier with a surrogate using Format Preserving Encryption (FPE) with the FFX mode of operation; however when used in the `ReidentifyContent` API method, it serves the opposite function by reversing the surrogate back into the original identifier. The identifier must be encoded as ASCII. For a given crypto key and context, the same identifier will be replaced with the same surrogate. Identifiers must be at least two characters long. In the case that the identifier is the empty string, it will be skipped. See https://cloud.google.com/dlp/docs/pseudonymization to learn more. Note: We recommend using CryptoDeterministicConfig for all use cases which do not require preserving the input alphabet space and size, plus warrant referential integrity. # Ffx-Fpe "commonAlphabet": "A String", # Common alphabets. - "context": { # General identifier of a data field in a storage service. # The 'tweak', a context may be used for higher security since the same identifier in two different contexts won't be given the same surrogate. If the context is not set, a default tweak will be used. If the context is set but: 1. there is no record present when transforming a given value or 1. the field is not present when transforming a given value, a default tweak will be used. Note that case (1) is expected when an `InfoTypeTransformation` is applied to both structured and non-structured `ContentItem`s. Currently, the referenced field may be of value type integer or string. The tweak is constructed as a sequence of bytes in big endian byte order such that: - a 64 bit integer is encoded followed by a single byte of value 1 - a string is encoded in UTF-8 format followed by a single byte of value 2 + "context": { # General identifier of a data field in a storage service. # The 'tweak', a context may be used for higher security since the same identifier in two different contexts won't be given the same surrogate. If the context is not set, a default tweak will be used. If the context is set but: 1. there is no record present when transforming a given value or 1. the field is not present when transforming a given value, a default tweak will be used. Note that case (1) is expected when an `InfoTypeTransformation` is applied to both structured and unstructured `ContentItem`s. Currently, the referenced field may be of value type integer or string. The tweak is constructed as a sequence of bytes in big endian byte order such that: - a 64 bit integer is encoded followed by a single byte of value 1 - a string is encoded in UTF-8 format followed by a single byte of value 2 "name": "A String", # Name describing the field. }, "cryptoKey": { # This is a data encryption key (DEK) (as opposed to a key encryption key (KEK) stored by Cloud Key Management Service (Cloud KMS). When using Cloud KMS to wrap or unwrap a DEK, be sure to set an appropriate IAM policy on the KEK to ensure an attacker cannot unwrap the DEK. # Required. The key used by the encryption algorithm. @@ -2699,7 +2699,7 @@

Method Details

"fieldTransformations": [ # Transform the record by applying various field transformations. { # The transformation to apply to the field. "condition": { # A condition for determining whether a transformation should be applied to a field. # Only apply the transformation if the condition evaluates to true for the given `RecordCondition`. The conditions are allowed to reference fields that are not used in the actual transformation. Example Use Cases: - Apply a different bucket transformation to an age column if the zip code column for the same record is within a specific range. - Redact a field if the date of birth field is greater than 85. - "expressions": { # An expression, consisting or an operator and conditions. # An expression. + "expressions": { # An expression, consisting of an operator and conditions. # An expression. "conditions": { # A collection of conditions. # Conditions to apply to the expression. "conditions": [ # A collection of conditions. { # The field type of `value` and `field` do not need to match to be considered equal, but not all comparisons are possible. EQUAL_TO and NOT_EQUAL_TO attempt to compare even with incompatible types, but all other comparisons are invalid with incompatible types. A `value` of type: - `string` can be compared against all other types - `boolean` can only be compared against other booleans - `integer` can be compared against doubles or a string if the string value can be parsed as an integer. - `double` can be compared against integers or a string if the string can be parsed as a double. - `Timestamp` can be compared against strings in RFC 3339 date string format. - `TimeOfDay` can be compared against timestamps and strings in the format of 'HH:mm:ss'. If we fail to compare do to type mismatch, a warning will be given and the condition will evaluate to false. @@ -2822,7 +2822,7 @@

Method Details

"reverseOrder": True or False, # Mask characters in reverse order. For example, if `masking_character` is `0`, `number_to_mask` is `14`, and `reverse_order` is `false`, then the input string `1234-5678-9012-3456` is masked as `00000000000000-3456`. If `masking_character` is `*`, `number_to_mask` is `3`, and `reverse_order` is `true`, then the string `12345` is masked as `12***`. }, "cryptoDeterministicConfig": { # Pseudonymization method that generates deterministic encryption for the given input. Outputs a base64 encoded representation of the encrypted output. Uses AES-SIV based on the RFC https://tools.ietf.org/html/rfc5297. # Deterministic Crypto - "context": { # General identifier of a data field in a storage service. # A context may be used for higher security and maintaining referential integrity such that the same identifier in two different contexts will be given a distinct surrogate. The context is appended to plaintext value being encrypted. On decryption the provided context is validated against the value used during encryption. If a context was provided during encryption, same context must be provided during decryption as well. If the context is not set, plaintext would be used as is for encryption. If the context is set but: 1. there is no record present when transforming a given value or 2. the field is not present when transforming a given value, plaintext would be used as is for encryption. Note that case (1) is expected when an `InfoTypeTransformation` is applied to both structured and non-structured `ContentItem`s. + "context": { # General identifier of a data field in a storage service. # A context may be used for higher security and maintaining referential integrity such that the same identifier in two different contexts will be given a distinct surrogate. The context is appended to plaintext value being encrypted. On decryption the provided context is validated against the value used during encryption. If a context was provided during encryption, same context must be provided during decryption as well. If the context is not set, plaintext would be used as is for encryption. If the context is set but: 1. there is no record present when transforming a given value or 2. the field is not present when transforming a given value, plaintext would be used as is for encryption. Note that case (1) is expected when an `InfoTypeTransformation` is applied to both structured and unstructured `ContentItem`s. "name": "A String", # Name describing the field. }, "cryptoKey": { # This is a data encryption key (DEK) (as opposed to a key encryption key (KEK) stored by Cloud Key Management Service (Cloud KMS). When using Cloud KMS to wrap or unwrap a DEK, be sure to set an appropriate IAM policy on the KEK to ensure an attacker cannot unwrap the DEK. # The key used by the encryption function. For deterministic encryption using AES-SIV, the provided key is internally expanded to 64 bytes prior to use. @@ -2858,7 +2858,7 @@

Method Details

}, "cryptoReplaceFfxFpeConfig": { # Replaces an identifier with a surrogate using Format Preserving Encryption (FPE) with the FFX mode of operation; however when used in the `ReidentifyContent` API method, it serves the opposite function by reversing the surrogate back into the original identifier. The identifier must be encoded as ASCII. For a given crypto key and context, the same identifier will be replaced with the same surrogate. Identifiers must be at least two characters long. In the case that the identifier is the empty string, it will be skipped. See https://cloud.google.com/dlp/docs/pseudonymization to learn more. Note: We recommend using CryptoDeterministicConfig for all use cases which do not require preserving the input alphabet space and size, plus warrant referential integrity. # Ffx-Fpe "commonAlphabet": "A String", # Common alphabets. - "context": { # General identifier of a data field in a storage service. # The 'tweak', a context may be used for higher security since the same identifier in two different contexts won't be given the same surrogate. If the context is not set, a default tweak will be used. If the context is set but: 1. there is no record present when transforming a given value or 1. the field is not present when transforming a given value, a default tweak will be used. Note that case (1) is expected when an `InfoTypeTransformation` is applied to both structured and non-structured `ContentItem`s. Currently, the referenced field may be of value type integer or string. The tweak is constructed as a sequence of bytes in big endian byte order such that: - a 64 bit integer is encoded followed by a single byte of value 1 - a string is encoded in UTF-8 format followed by a single byte of value 2 + "context": { # General identifier of a data field in a storage service. # The 'tweak', a context may be used for higher security since the same identifier in two different contexts won't be given the same surrogate. If the context is not set, a default tweak will be used. If the context is set but: 1. there is no record present when transforming a given value or 1. the field is not present when transforming a given value, a default tweak will be used. Note that case (1) is expected when an `InfoTypeTransformation` is applied to both structured and unstructured `ContentItem`s. Currently, the referenced field may be of value type integer or string. The tweak is constructed as a sequence of bytes in big endian byte order such that: - a 64 bit integer is encoded followed by a single byte of value 1 - a string is encoded in UTF-8 format followed by a single byte of value 2 "name": "A String", # Name describing the field. }, "cryptoKey": { # This is a data encryption key (DEK) (as opposed to a key encryption key (KEK) stored by Cloud Key Management Service (Cloud KMS). When using Cloud KMS to wrap or unwrap a DEK, be sure to set an appropriate IAM policy on the KEK to ensure an attacker cannot unwrap the DEK. # Required. The key used by the encryption algorithm. @@ -3055,7 +3055,7 @@

Method Details

"reverseOrder": True or False, # Mask characters in reverse order. For example, if `masking_character` is `0`, `number_to_mask` is `14`, and `reverse_order` is `false`, then the input string `1234-5678-9012-3456` is masked as `00000000000000-3456`. If `masking_character` is `*`, `number_to_mask` is `3`, and `reverse_order` is `true`, then the string `12345` is masked as `12***`. }, "cryptoDeterministicConfig": { # Pseudonymization method that generates deterministic encryption for the given input. Outputs a base64 encoded representation of the encrypted output. Uses AES-SIV based on the RFC https://tools.ietf.org/html/rfc5297. # Deterministic Crypto - "context": { # General identifier of a data field in a storage service. # A context may be used for higher security and maintaining referential integrity such that the same identifier in two different contexts will be given a distinct surrogate. The context is appended to plaintext value being encrypted. On decryption the provided context is validated against the value used during encryption. If a context was provided during encryption, same context must be provided during decryption as well. If the context is not set, plaintext would be used as is for encryption. If the context is set but: 1. there is no record present when transforming a given value or 2. the field is not present when transforming a given value, plaintext would be used as is for encryption. Note that case (1) is expected when an `InfoTypeTransformation` is applied to both structured and non-structured `ContentItem`s. + "context": { # General identifier of a data field in a storage service. # A context may be used for higher security and maintaining referential integrity such that the same identifier in two different contexts will be given a distinct surrogate. The context is appended to plaintext value being encrypted. On decryption the provided context is validated against the value used during encryption. If a context was provided during encryption, same context must be provided during decryption as well. If the context is not set, plaintext would be used as is for encryption. If the context is set but: 1. there is no record present when transforming a given value or 2. the field is not present when transforming a given value, plaintext would be used as is for encryption. Note that case (1) is expected when an `InfoTypeTransformation` is applied to both structured and unstructured `ContentItem`s. "name": "A String", # Name describing the field. }, "cryptoKey": { # This is a data encryption key (DEK) (as opposed to a key encryption key (KEK) stored by Cloud Key Management Service (Cloud KMS). When using Cloud KMS to wrap or unwrap a DEK, be sure to set an appropriate IAM policy on the KEK to ensure an attacker cannot unwrap the DEK. # The key used by the encryption function. For deterministic encryption using AES-SIV, the provided key is internally expanded to 64 bytes prior to use. @@ -3091,7 +3091,7 @@

Method Details

}, "cryptoReplaceFfxFpeConfig": { # Replaces an identifier with a surrogate using Format Preserving Encryption (FPE) with the FFX mode of operation; however when used in the `ReidentifyContent` API method, it serves the opposite function by reversing the surrogate back into the original identifier. The identifier must be encoded as ASCII. For a given crypto key and context, the same identifier will be replaced with the same surrogate. Identifiers must be at least two characters long. In the case that the identifier is the empty string, it will be skipped. See https://cloud.google.com/dlp/docs/pseudonymization to learn more. Note: We recommend using CryptoDeterministicConfig for all use cases which do not require preserving the input alphabet space and size, plus warrant referential integrity. # Ffx-Fpe "commonAlphabet": "A String", # Common alphabets. - "context": { # General identifier of a data field in a storage service. # The 'tweak', a context may be used for higher security since the same identifier in two different contexts won't be given the same surrogate. If the context is not set, a default tweak will be used. If the context is set but: 1. there is no record present when transforming a given value or 1. the field is not present when transforming a given value, a default tweak will be used. Note that case (1) is expected when an `InfoTypeTransformation` is applied to both structured and non-structured `ContentItem`s. Currently, the referenced field may be of value type integer or string. The tweak is constructed as a sequence of bytes in big endian byte order such that: - a 64 bit integer is encoded followed by a single byte of value 1 - a string is encoded in UTF-8 format followed by a single byte of value 2 + "context": { # General identifier of a data field in a storage service. # The 'tweak', a context may be used for higher security since the same identifier in two different contexts won't be given the same surrogate. If the context is not set, a default tweak will be used. If the context is set but: 1. there is no record present when transforming a given value or 1. the field is not present when transforming a given value, a default tweak will be used. Note that case (1) is expected when an `InfoTypeTransformation` is applied to both structured and unstructured `ContentItem`s. Currently, the referenced field may be of value type integer or string. The tweak is constructed as a sequence of bytes in big endian byte order such that: - a 64 bit integer is encoded followed by a single byte of value 1 - a string is encoded in UTF-8 format followed by a single byte of value 2 "name": "A String", # Name describing the field. }, "cryptoKey": { # This is a data encryption key (DEK) (as opposed to a key encryption key (KEK) stored by Cloud Key Management Service (Cloud KMS). When using Cloud KMS to wrap or unwrap a DEK, be sure to set an appropriate IAM policy on the KEK to ensure an attacker cannot unwrap the DEK. # Required. The key used by the encryption algorithm. @@ -3214,7 +3214,7 @@

Method Details

"recordSuppressions": [ # Configuration defining which records get suppressed entirely. Records that match any suppression rule are omitted from the output. { # Configuration to suppress records whose suppression conditions evaluate to true. "condition": { # A condition for determining whether a transformation should be applied to a field. # A condition that when it evaluates to true will result in the record being evaluated to be suppressed from the transformed content. - "expressions": { # An expression, consisting or an operator and conditions. # An expression. + "expressions": { # An expression, consisting of an operator and conditions. # An expression. "conditions": { # A collection of conditions. # Conditions to apply to the expression. "conditions": [ # A collection of conditions. { # The field type of `value` and `field` do not need to match to be considered equal, but not all comparisons are possible. EQUAL_TO and NOT_EQUAL_TO attempt to compare even with incompatible types, but all other comparisons are invalid with incompatible types. A `value` of type: - `string` can be compared against all other types - `boolean` can only be compared against other booleans - `integer` can be compared against doubles or a string if the string value can be parsed as an integer. - `double` can be compared against integers or a string if the string can be parsed as a double. - `Timestamp` can be compared against strings in RFC 3339 date string format. - `TimeOfDay` can be compared against timestamps and strings in the format of 'HH:mm:ss'. If we fail to compare do to type mismatch, a warning will be given and the condition will evaluate to false. @@ -3268,7 +3268,7 @@

Method Details

Returns: An object of the form: - { # Results of re-identifying a item. + { # Results of re-identifying an item. "item": { # Container structure for the content to inspect. # The re-identified item. "byteItem": { # Container for bytes to inspect or redact. # Content data to inspect or redact. Replaces `type` and `data`. "data": "A String", # Content data to inspect or redact. @@ -3317,7 +3317,7 @@

Method Details

"fieldTransformations": [ # The field transformation that was applied. If multiple field transformations are requested for a single field, this list will contain all of them; otherwise, only one is supplied. { # The transformation to apply to the field. "condition": { # A condition for determining whether a transformation should be applied to a field. # Only apply the transformation if the condition evaluates to true for the given `RecordCondition`. The conditions are allowed to reference fields that are not used in the actual transformation. Example Use Cases: - Apply a different bucket transformation to an age column if the zip code column for the same record is within a specific range. - Redact a field if the date of birth field is greater than 85. - "expressions": { # An expression, consisting or an operator and conditions. # An expression. + "expressions": { # An expression, consisting of an operator and conditions. # An expression. "conditions": { # A collection of conditions. # Conditions to apply to the expression. "conditions": [ # A collection of conditions. { # The field type of `value` and `field` do not need to match to be considered equal, but not all comparisons are possible. EQUAL_TO and NOT_EQUAL_TO attempt to compare even with incompatible types, but all other comparisons are invalid with incompatible types. A `value` of type: - `string` can be compared against all other types - `boolean` can only be compared against other booleans - `integer` can be compared against doubles or a string if the string value can be parsed as an integer. - `double` can be compared against integers or a string if the string can be parsed as a double. - `Timestamp` can be compared against strings in RFC 3339 date string format. - `TimeOfDay` can be compared against timestamps and strings in the format of 'HH:mm:ss'. If we fail to compare do to type mismatch, a warning will be given and the condition will evaluate to false. @@ -3440,7 +3440,7 @@

Method Details

"reverseOrder": True or False, # Mask characters in reverse order. For example, if `masking_character` is `0`, `number_to_mask` is `14`, and `reverse_order` is `false`, then the input string `1234-5678-9012-3456` is masked as `00000000000000-3456`. If `masking_character` is `*`, `number_to_mask` is `3`, and `reverse_order` is `true`, then the string `12345` is masked as `12***`. }, "cryptoDeterministicConfig": { # Pseudonymization method that generates deterministic encryption for the given input. Outputs a base64 encoded representation of the encrypted output. Uses AES-SIV based on the RFC https://tools.ietf.org/html/rfc5297. # Deterministic Crypto - "context": { # General identifier of a data field in a storage service. # A context may be used for higher security and maintaining referential integrity such that the same identifier in two different contexts will be given a distinct surrogate. The context is appended to plaintext value being encrypted. On decryption the provided context is validated against the value used during encryption. If a context was provided during encryption, same context must be provided during decryption as well. If the context is not set, plaintext would be used as is for encryption. If the context is set but: 1. there is no record present when transforming a given value or 2. the field is not present when transforming a given value, plaintext would be used as is for encryption. Note that case (1) is expected when an `InfoTypeTransformation` is applied to both structured and non-structured `ContentItem`s. + "context": { # General identifier of a data field in a storage service. # A context may be used for higher security and maintaining referential integrity such that the same identifier in two different contexts will be given a distinct surrogate. The context is appended to plaintext value being encrypted. On decryption the provided context is validated against the value used during encryption. If a context was provided during encryption, same context must be provided during decryption as well. If the context is not set, plaintext would be used as is for encryption. If the context is set but: 1. there is no record present when transforming a given value or 2. the field is not present when transforming a given value, plaintext would be used as is for encryption. Note that case (1) is expected when an `InfoTypeTransformation` is applied to both structured and unstructured `ContentItem`s. "name": "A String", # Name describing the field. }, "cryptoKey": { # This is a data encryption key (DEK) (as opposed to a key encryption key (KEK) stored by Cloud Key Management Service (Cloud KMS). When using Cloud KMS to wrap or unwrap a DEK, be sure to set an appropriate IAM policy on the KEK to ensure an attacker cannot unwrap the DEK. # The key used by the encryption function. For deterministic encryption using AES-SIV, the provided key is internally expanded to 64 bytes prior to use. @@ -3476,7 +3476,7 @@

Method Details

}, "cryptoReplaceFfxFpeConfig": { # Replaces an identifier with a surrogate using Format Preserving Encryption (FPE) with the FFX mode of operation; however when used in the `ReidentifyContent` API method, it serves the opposite function by reversing the surrogate back into the original identifier. The identifier must be encoded as ASCII. For a given crypto key and context, the same identifier will be replaced with the same surrogate. Identifiers must be at least two characters long. In the case that the identifier is the empty string, it will be skipped. See https://cloud.google.com/dlp/docs/pseudonymization to learn more. Note: We recommend using CryptoDeterministicConfig for all use cases which do not require preserving the input alphabet space and size, plus warrant referential integrity. # Ffx-Fpe "commonAlphabet": "A String", # Common alphabets. - "context": { # General identifier of a data field in a storage service. # The 'tweak', a context may be used for higher security since the same identifier in two different contexts won't be given the same surrogate. If the context is not set, a default tweak will be used. If the context is set but: 1. there is no record present when transforming a given value or 1. the field is not present when transforming a given value, a default tweak will be used. Note that case (1) is expected when an `InfoTypeTransformation` is applied to both structured and non-structured `ContentItem`s. Currently, the referenced field may be of value type integer or string. The tweak is constructed as a sequence of bytes in big endian byte order such that: - a 64 bit integer is encoded followed by a single byte of value 1 - a string is encoded in UTF-8 format followed by a single byte of value 2 + "context": { # General identifier of a data field in a storage service. # The 'tweak', a context may be used for higher security since the same identifier in two different contexts won't be given the same surrogate. If the context is not set, a default tweak will be used. If the context is set but: 1. there is no record present when transforming a given value or 1. the field is not present when transforming a given value, a default tweak will be used. Note that case (1) is expected when an `InfoTypeTransformation` is applied to both structured and unstructured `ContentItem`s. Currently, the referenced field may be of value type integer or string. The tweak is constructed as a sequence of bytes in big endian byte order such that: - a 64 bit integer is encoded followed by a single byte of value 1 - a string is encoded in UTF-8 format followed by a single byte of value 2 "name": "A String", # Name describing the field. }, "cryptoKey": { # This is a data encryption key (DEK) (as opposed to a key encryption key (KEK) stored by Cloud Key Management Service (Cloud KMS). When using Cloud KMS to wrap or unwrap a DEK, be sure to set an appropriate IAM policy on the KEK to ensure an attacker cannot unwrap the DEK. # Required. The key used by the encryption algorithm. @@ -3673,7 +3673,7 @@

Method Details

"reverseOrder": True or False, # Mask characters in reverse order. For example, if `masking_character` is `0`, `number_to_mask` is `14`, and `reverse_order` is `false`, then the input string `1234-5678-9012-3456` is masked as `00000000000000-3456`. If `masking_character` is `*`, `number_to_mask` is `3`, and `reverse_order` is `true`, then the string `12345` is masked as `12***`. }, "cryptoDeterministicConfig": { # Pseudonymization method that generates deterministic encryption for the given input. Outputs a base64 encoded representation of the encrypted output. Uses AES-SIV based on the RFC https://tools.ietf.org/html/rfc5297. # Deterministic Crypto - "context": { # General identifier of a data field in a storage service. # A context may be used for higher security and maintaining referential integrity such that the same identifier in two different contexts will be given a distinct surrogate. The context is appended to plaintext value being encrypted. On decryption the provided context is validated against the value used during encryption. If a context was provided during encryption, same context must be provided during decryption as well. If the context is not set, plaintext would be used as is for encryption. If the context is set but: 1. there is no record present when transforming a given value or 2. the field is not present when transforming a given value, plaintext would be used as is for encryption. Note that case (1) is expected when an `InfoTypeTransformation` is applied to both structured and non-structured `ContentItem`s. + "context": { # General identifier of a data field in a storage service. # A context may be used for higher security and maintaining referential integrity such that the same identifier in two different contexts will be given a distinct surrogate. The context is appended to plaintext value being encrypted. On decryption the provided context is validated against the value used during encryption. If a context was provided during encryption, same context must be provided during decryption as well. If the context is not set, plaintext would be used as is for encryption. If the context is set but: 1. there is no record present when transforming a given value or 2. the field is not present when transforming a given value, plaintext would be used as is for encryption. Note that case (1) is expected when an `InfoTypeTransformation` is applied to both structured and unstructured `ContentItem`s. "name": "A String", # Name describing the field. }, "cryptoKey": { # This is a data encryption key (DEK) (as opposed to a key encryption key (KEK) stored by Cloud Key Management Service (Cloud KMS). When using Cloud KMS to wrap or unwrap a DEK, be sure to set an appropriate IAM policy on the KEK to ensure an attacker cannot unwrap the DEK. # The key used by the encryption function. For deterministic encryption using AES-SIV, the provided key is internally expanded to 64 bytes prior to use. @@ -3709,7 +3709,7 @@

Method Details

}, "cryptoReplaceFfxFpeConfig": { # Replaces an identifier with a surrogate using Format Preserving Encryption (FPE) with the FFX mode of operation; however when used in the `ReidentifyContent` API method, it serves the opposite function by reversing the surrogate back into the original identifier. The identifier must be encoded as ASCII. For a given crypto key and context, the same identifier will be replaced with the same surrogate. Identifiers must be at least two characters long. In the case that the identifier is the empty string, it will be skipped. See https://cloud.google.com/dlp/docs/pseudonymization to learn more. Note: We recommend using CryptoDeterministicConfig for all use cases which do not require preserving the input alphabet space and size, plus warrant referential integrity. # Ffx-Fpe "commonAlphabet": "A String", # Common alphabets. - "context": { # General identifier of a data field in a storage service. # The 'tweak', a context may be used for higher security since the same identifier in two different contexts won't be given the same surrogate. If the context is not set, a default tweak will be used. If the context is set but: 1. there is no record present when transforming a given value or 1. the field is not present when transforming a given value, a default tweak will be used. Note that case (1) is expected when an `InfoTypeTransformation` is applied to both structured and non-structured `ContentItem`s. Currently, the referenced field may be of value type integer or string. The tweak is constructed as a sequence of bytes in big endian byte order such that: - a 64 bit integer is encoded followed by a single byte of value 1 - a string is encoded in UTF-8 format followed by a single byte of value 2 + "context": { # General identifier of a data field in a storage service. # The 'tweak', a context may be used for higher security since the same identifier in two different contexts won't be given the same surrogate. If the context is not set, a default tweak will be used. If the context is set but: 1. there is no record present when transforming a given value or 1. the field is not present when transforming a given value, a default tweak will be used. Note that case (1) is expected when an `InfoTypeTransformation` is applied to both structured and unstructured `ContentItem`s. Currently, the referenced field may be of value type integer or string. The tweak is constructed as a sequence of bytes in big endian byte order such that: - a 64 bit integer is encoded followed by a single byte of value 1 - a string is encoded in UTF-8 format followed by a single byte of value 2 "name": "A String", # Name describing the field. }, "cryptoKey": { # This is a data encryption key (DEK) (as opposed to a key encryption key (KEK) stored by Cloud Key Management Service (Cloud KMS). When using Cloud KMS to wrap or unwrap a DEK, be sure to set an appropriate IAM policy on the KEK to ensure an attacker cannot unwrap the DEK. # Required. The key used by the encryption algorithm. @@ -3835,7 +3835,7 @@

Method Details

}, "recordSuppress": { # Configuration to suppress records whose suppression conditions evaluate to true. # The specific suppression option these stats apply to. "condition": { # A condition for determining whether a transformation should be applied to a field. # A condition that when it evaluates to true will result in the record being evaluated to be suppressed from the transformed content. - "expressions": { # An expression, consisting or an operator and conditions. # An expression. + "expressions": { # An expression, consisting of an operator and conditions. # An expression. "conditions": { # A collection of conditions. # Conditions to apply to the expression. "conditions": [ # A collection of conditions. { # The field type of `value` and `field` do not need to match to be considered equal, but not all comparisons are possible. EQUAL_TO and NOT_EQUAL_TO attempt to compare even with incompatible types, but all other comparisons are invalid with incompatible types. A `value` of type: - `string` can be compared against all other types - `boolean` can only be compared against other booleans - `integer` can be compared against doubles or a string if the string value can be parsed as an integer. - `double` can be compared against integers or a string if the string can be parsed as a double. - `Timestamp` can be compared against strings in RFC 3339 date string format. - `TimeOfDay` can be compared against timestamps and strings in the format of 'HH:mm:ss'. If we fail to compare do to type mismatch, a warning will be given and the condition will evaluate to false. @@ -3952,7 +3952,7 @@

Method Details

"reverseOrder": True or False, # Mask characters in reverse order. For example, if `masking_character` is `0`, `number_to_mask` is `14`, and `reverse_order` is `false`, then the input string `1234-5678-9012-3456` is masked as `00000000000000-3456`. If `masking_character` is `*`, `number_to_mask` is `3`, and `reverse_order` is `true`, then the string `12345` is masked as `12***`. }, "cryptoDeterministicConfig": { # Pseudonymization method that generates deterministic encryption for the given input. Outputs a base64 encoded representation of the encrypted output. Uses AES-SIV based on the RFC https://tools.ietf.org/html/rfc5297. # Deterministic Crypto - "context": { # General identifier of a data field in a storage service. # A context may be used for higher security and maintaining referential integrity such that the same identifier in two different contexts will be given a distinct surrogate. The context is appended to plaintext value being encrypted. On decryption the provided context is validated against the value used during encryption. If a context was provided during encryption, same context must be provided during decryption as well. If the context is not set, plaintext would be used as is for encryption. If the context is set but: 1. there is no record present when transforming a given value or 2. the field is not present when transforming a given value, plaintext would be used as is for encryption. Note that case (1) is expected when an `InfoTypeTransformation` is applied to both structured and non-structured `ContentItem`s. + "context": { # General identifier of a data field in a storage service. # A context may be used for higher security and maintaining referential integrity such that the same identifier in two different contexts will be given a distinct surrogate. The context is appended to plaintext value being encrypted. On decryption the provided context is validated against the value used during encryption. If a context was provided during encryption, same context must be provided during decryption as well. If the context is not set, plaintext would be used as is for encryption. If the context is set but: 1. there is no record present when transforming a given value or 2. the field is not present when transforming a given value, plaintext would be used as is for encryption. Note that case (1) is expected when an `InfoTypeTransformation` is applied to both structured and unstructured `ContentItem`s. "name": "A String", # Name describing the field. }, "cryptoKey": { # This is a data encryption key (DEK) (as opposed to a key encryption key (KEK) stored by Cloud Key Management Service (Cloud KMS). When using Cloud KMS to wrap or unwrap a DEK, be sure to set an appropriate IAM policy on the KEK to ensure an attacker cannot unwrap the DEK. # The key used by the encryption function. For deterministic encryption using AES-SIV, the provided key is internally expanded to 64 bytes prior to use. @@ -3988,7 +3988,7 @@

Method Details

}, "cryptoReplaceFfxFpeConfig": { # Replaces an identifier with a surrogate using Format Preserving Encryption (FPE) with the FFX mode of operation; however when used in the `ReidentifyContent` API method, it serves the opposite function by reversing the surrogate back into the original identifier. The identifier must be encoded as ASCII. For a given crypto key and context, the same identifier will be replaced with the same surrogate. Identifiers must be at least two characters long. In the case that the identifier is the empty string, it will be skipped. See https://cloud.google.com/dlp/docs/pseudonymization to learn more. Note: We recommend using CryptoDeterministicConfig for all use cases which do not require preserving the input alphabet space and size, plus warrant referential integrity. # Ffx-Fpe "commonAlphabet": "A String", # Common alphabets. - "context": { # General identifier of a data field in a storage service. # The 'tweak', a context may be used for higher security since the same identifier in two different contexts won't be given the same surrogate. If the context is not set, a default tweak will be used. If the context is set but: 1. there is no record present when transforming a given value or 1. the field is not present when transforming a given value, a default tweak will be used. Note that case (1) is expected when an `InfoTypeTransformation` is applied to both structured and non-structured `ContentItem`s. Currently, the referenced field may be of value type integer or string. The tweak is constructed as a sequence of bytes in big endian byte order such that: - a 64 bit integer is encoded followed by a single byte of value 1 - a string is encoded in UTF-8 format followed by a single byte of value 2 + "context": { # General identifier of a data field in a storage service. # The 'tweak', a context may be used for higher security since the same identifier in two different contexts won't be given the same surrogate. If the context is not set, a default tweak will be used. If the context is set but: 1. there is no record present when transforming a given value or 1. the field is not present when transforming a given value, a default tweak will be used. Note that case (1) is expected when an `InfoTypeTransformation` is applied to both structured and unstructured `ContentItem`s. Currently, the referenced field may be of value type integer or string. The tweak is constructed as a sequence of bytes in big endian byte order such that: - a 64 bit integer is encoded followed by a single byte of value 1 - a string is encoded in UTF-8 format followed by a single byte of value 2 "name": "A String", # Name describing the field. }, "cryptoKey": { # This is a data encryption key (DEK) (as opposed to a key encryption key (KEK) stored by Cloud Key Management Service (Cloud KMS). When using Cloud KMS to wrap or unwrap a DEK, be sure to set an appropriate IAM policy on the KEK to ensure an attacker cannot unwrap the DEK. # Required. The key used by the encryption algorithm. diff --git a/docs/dyn/dlp_v2.projects.deidentifyTemplates.html b/docs/dyn/dlp_v2.projects.deidentifyTemplates.html index 58787877fc1..bd716549265 100644 --- a/docs/dyn/dlp_v2.projects.deidentifyTemplates.html +++ b/docs/dyn/dlp_v2.projects.deidentifyTemplates.html @@ -79,7 +79,7 @@

Instance Methods

Close httplib2 connections.

create(parent, body=None, x__xgafv=None)

-

Creates a DeidentifyTemplate for re-using frequently used configuration for de-identifying content, images, and storage. See https://cloud.google.com/dlp/docs/creating-templates-deid to learn more.

+

Creates a DeidentifyTemplate for reusing frequently used configuration for de-identifying content, images, and storage. See https://cloud.google.com/dlp/docs/creating-templates-deid to learn more.

delete(name, x__xgafv=None)

Deletes a DeidentifyTemplate. See https://cloud.google.com/dlp/docs/creating-templates-deid to learn more.

@@ -103,7 +103,7 @@

Method Details

create(parent, body=None, x__xgafv=None) -
Creates a DeidentifyTemplate for re-using frequently used configuration for de-identifying content, images, and storage. See https://cloud.google.com/dlp/docs/creating-templates-deid to learn more.
+  
Creates a DeidentifyTemplate for reusing frequently used configuration for de-identifying content, images, and storage. See https://cloud.google.com/dlp/docs/creating-templates-deid to learn more.
 
 Args:
   parent: string, Required. Parent resource name. The format of this value varies depending on the scope of the request (project or organization) and whether you have [specified a processing location](https://cloud.google.com/dlp/docs/specifying-location): + Projects scope, location specified: `projects/`PROJECT_ID`/locations/`LOCATION_ID + Projects scope, no location specified (defaults to global): `projects/`PROJECT_ID + Organizations scope, location specified: `organizations/`ORG_ID`/locations/`LOCATION_ID + Organizations scope, no location specified (defaults to global): `organizations/`ORG_ID The following example `parent` string specifies a parent project with the identifier `example-project`, and specifies the `europe-west3` location for processing data: parent=projects/example-project/locations/europe-west3 (required)
@@ -199,7 +199,7 @@ 

Method Details

"reverseOrder": True or False, # Mask characters in reverse order. For example, if `masking_character` is `0`, `number_to_mask` is `14`, and `reverse_order` is `false`, then the input string `1234-5678-9012-3456` is masked as `00000000000000-3456`. If `masking_character` is `*`, `number_to_mask` is `3`, and `reverse_order` is `true`, then the string `12345` is masked as `12***`. }, "cryptoDeterministicConfig": { # Pseudonymization method that generates deterministic encryption for the given input. Outputs a base64 encoded representation of the encrypted output. Uses AES-SIV based on the RFC https://tools.ietf.org/html/rfc5297. # Deterministic Crypto - "context": { # General identifier of a data field in a storage service. # A context may be used for higher security and maintaining referential integrity such that the same identifier in two different contexts will be given a distinct surrogate. The context is appended to plaintext value being encrypted. On decryption the provided context is validated against the value used during encryption. If a context was provided during encryption, same context must be provided during decryption as well. If the context is not set, plaintext would be used as is for encryption. If the context is set but: 1. there is no record present when transforming a given value or 2. the field is not present when transforming a given value, plaintext would be used as is for encryption. Note that case (1) is expected when an `InfoTypeTransformation` is applied to both structured and non-structured `ContentItem`s. + "context": { # General identifier of a data field in a storage service. # A context may be used for higher security and maintaining referential integrity such that the same identifier in two different contexts will be given a distinct surrogate. The context is appended to plaintext value being encrypted. On decryption the provided context is validated against the value used during encryption. If a context was provided during encryption, same context must be provided during decryption as well. If the context is not set, plaintext would be used as is for encryption. If the context is set but: 1. there is no record present when transforming a given value or 2. the field is not present when transforming a given value, plaintext would be used as is for encryption. Note that case (1) is expected when an `InfoTypeTransformation` is applied to both structured and unstructured `ContentItem`s. "name": "A String", # Name describing the field. }, "cryptoKey": { # This is a data encryption key (DEK) (as opposed to a key encryption key (KEK) stored by Cloud Key Management Service (Cloud KMS). When using Cloud KMS to wrap or unwrap a DEK, be sure to set an appropriate IAM policy on the KEK to ensure an attacker cannot unwrap the DEK. # The key used by the encryption function. For deterministic encryption using AES-SIV, the provided key is internally expanded to 64 bytes prior to use. @@ -235,7 +235,7 @@

Method Details

}, "cryptoReplaceFfxFpeConfig": { # Replaces an identifier with a surrogate using Format Preserving Encryption (FPE) with the FFX mode of operation; however when used in the `ReidentifyContent` API method, it serves the opposite function by reversing the surrogate back into the original identifier. The identifier must be encoded as ASCII. For a given crypto key and context, the same identifier will be replaced with the same surrogate. Identifiers must be at least two characters long. In the case that the identifier is the empty string, it will be skipped. See https://cloud.google.com/dlp/docs/pseudonymization to learn more. Note: We recommend using CryptoDeterministicConfig for all use cases which do not require preserving the input alphabet space and size, plus warrant referential integrity. # Ffx-Fpe "commonAlphabet": "A String", # Common alphabets. - "context": { # General identifier of a data field in a storage service. # The 'tweak', a context may be used for higher security since the same identifier in two different contexts won't be given the same surrogate. If the context is not set, a default tweak will be used. If the context is set but: 1. there is no record present when transforming a given value or 1. the field is not present when transforming a given value, a default tweak will be used. Note that case (1) is expected when an `InfoTypeTransformation` is applied to both structured and non-structured `ContentItem`s. Currently, the referenced field may be of value type integer or string. The tweak is constructed as a sequence of bytes in big endian byte order such that: - a 64 bit integer is encoded followed by a single byte of value 1 - a string is encoded in UTF-8 format followed by a single byte of value 2 + "context": { # General identifier of a data field in a storage service. # The 'tweak', a context may be used for higher security since the same identifier in two different contexts won't be given the same surrogate. If the context is not set, a default tweak will be used. If the context is set but: 1. there is no record present when transforming a given value or 1. the field is not present when transforming a given value, a default tweak will be used. Note that case (1) is expected when an `InfoTypeTransformation` is applied to both structured and unstructured `ContentItem`s. Currently, the referenced field may be of value type integer or string. The tweak is constructed as a sequence of bytes in big endian byte order such that: - a 64 bit integer is encoded followed by a single byte of value 1 - a string is encoded in UTF-8 format followed by a single byte of value 2 "name": "A String", # Name describing the field. }, "cryptoKey": { # This is a data encryption key (DEK) (as opposed to a key encryption key (KEK) stored by Cloud Key Management Service (Cloud KMS). When using Cloud KMS to wrap or unwrap a DEK, be sure to set an appropriate IAM policy on the KEK to ensure an attacker cannot unwrap the DEK. # Required. The key used by the encryption algorithm. @@ -360,7 +360,7 @@

Method Details

"fieldTransformations": [ # Transform the record by applying various field transformations. { # The transformation to apply to the field. "condition": { # A condition for determining whether a transformation should be applied to a field. # Only apply the transformation if the condition evaluates to true for the given `RecordCondition`. The conditions are allowed to reference fields that are not used in the actual transformation. Example Use Cases: - Apply a different bucket transformation to an age column if the zip code column for the same record is within a specific range. - Redact a field if the date of birth field is greater than 85. - "expressions": { # An expression, consisting or an operator and conditions. # An expression. + "expressions": { # An expression, consisting of an operator and conditions. # An expression. "conditions": { # A collection of conditions. # Conditions to apply to the expression. "conditions": [ # A collection of conditions. { # The field type of `value` and `field` do not need to match to be considered equal, but not all comparisons are possible. EQUAL_TO and NOT_EQUAL_TO attempt to compare even with incompatible types, but all other comparisons are invalid with incompatible types. A `value` of type: - `string` can be compared against all other types - `boolean` can only be compared against other booleans - `integer` can be compared against doubles or a string if the string value can be parsed as an integer. - `double` can be compared against integers or a string if the string can be parsed as a double. - `Timestamp` can be compared against strings in RFC 3339 date string format. - `TimeOfDay` can be compared against timestamps and strings in the format of 'HH:mm:ss'. If we fail to compare do to type mismatch, a warning will be given and the condition will evaluate to false. @@ -483,7 +483,7 @@

Method Details

"reverseOrder": True or False, # Mask characters in reverse order. For example, if `masking_character` is `0`, `number_to_mask` is `14`, and `reverse_order` is `false`, then the input string `1234-5678-9012-3456` is masked as `00000000000000-3456`. If `masking_character` is `*`, `number_to_mask` is `3`, and `reverse_order` is `true`, then the string `12345` is masked as `12***`. }, "cryptoDeterministicConfig": { # Pseudonymization method that generates deterministic encryption for the given input. Outputs a base64 encoded representation of the encrypted output. Uses AES-SIV based on the RFC https://tools.ietf.org/html/rfc5297. # Deterministic Crypto - "context": { # General identifier of a data field in a storage service. # A context may be used for higher security and maintaining referential integrity such that the same identifier in two different contexts will be given a distinct surrogate. The context is appended to plaintext value being encrypted. On decryption the provided context is validated against the value used during encryption. If a context was provided during encryption, same context must be provided during decryption as well. If the context is not set, plaintext would be used as is for encryption. If the context is set but: 1. there is no record present when transforming a given value or 2. the field is not present when transforming a given value, plaintext would be used as is for encryption. Note that case (1) is expected when an `InfoTypeTransformation` is applied to both structured and non-structured `ContentItem`s. + "context": { # General identifier of a data field in a storage service. # A context may be used for higher security and maintaining referential integrity such that the same identifier in two different contexts will be given a distinct surrogate. The context is appended to plaintext value being encrypted. On decryption the provided context is validated against the value used during encryption. If a context was provided during encryption, same context must be provided during decryption as well. If the context is not set, plaintext would be used as is for encryption. If the context is set but: 1. there is no record present when transforming a given value or 2. the field is not present when transforming a given value, plaintext would be used as is for encryption. Note that case (1) is expected when an `InfoTypeTransformation` is applied to both structured and unstructured `ContentItem`s. "name": "A String", # Name describing the field. }, "cryptoKey": { # This is a data encryption key (DEK) (as opposed to a key encryption key (KEK) stored by Cloud Key Management Service (Cloud KMS). When using Cloud KMS to wrap or unwrap a DEK, be sure to set an appropriate IAM policy on the KEK to ensure an attacker cannot unwrap the DEK. # The key used by the encryption function. For deterministic encryption using AES-SIV, the provided key is internally expanded to 64 bytes prior to use. @@ -519,7 +519,7 @@

Method Details

}, "cryptoReplaceFfxFpeConfig": { # Replaces an identifier with a surrogate using Format Preserving Encryption (FPE) with the FFX mode of operation; however when used in the `ReidentifyContent` API method, it serves the opposite function by reversing the surrogate back into the original identifier. The identifier must be encoded as ASCII. For a given crypto key and context, the same identifier will be replaced with the same surrogate. Identifiers must be at least two characters long. In the case that the identifier is the empty string, it will be skipped. See https://cloud.google.com/dlp/docs/pseudonymization to learn more. Note: We recommend using CryptoDeterministicConfig for all use cases which do not require preserving the input alphabet space and size, plus warrant referential integrity. # Ffx-Fpe "commonAlphabet": "A String", # Common alphabets. - "context": { # General identifier of a data field in a storage service. # The 'tweak', a context may be used for higher security since the same identifier in two different contexts won't be given the same surrogate. If the context is not set, a default tweak will be used. If the context is set but: 1. there is no record present when transforming a given value or 1. the field is not present when transforming a given value, a default tweak will be used. Note that case (1) is expected when an `InfoTypeTransformation` is applied to both structured and non-structured `ContentItem`s. Currently, the referenced field may be of value type integer or string. The tweak is constructed as a sequence of bytes in big endian byte order such that: - a 64 bit integer is encoded followed by a single byte of value 1 - a string is encoded in UTF-8 format followed by a single byte of value 2 + "context": { # General identifier of a data field in a storage service. # The 'tweak', a context may be used for higher security since the same identifier in two different contexts won't be given the same surrogate. If the context is not set, a default tweak will be used. If the context is set but: 1. there is no record present when transforming a given value or 1. the field is not present when transforming a given value, a default tweak will be used. Note that case (1) is expected when an `InfoTypeTransformation` is applied to both structured and unstructured `ContentItem`s. Currently, the referenced field may be of value type integer or string. The tweak is constructed as a sequence of bytes in big endian byte order such that: - a 64 bit integer is encoded followed by a single byte of value 1 - a string is encoded in UTF-8 format followed by a single byte of value 2 "name": "A String", # Name describing the field. }, "cryptoKey": { # This is a data encryption key (DEK) (as opposed to a key encryption key (KEK) stored by Cloud Key Management Service (Cloud KMS). When using Cloud KMS to wrap or unwrap a DEK, be sure to set an appropriate IAM policy on the KEK to ensure an attacker cannot unwrap the DEK. # Required. The key used by the encryption algorithm. @@ -716,7 +716,7 @@

Method Details

"reverseOrder": True or False, # Mask characters in reverse order. For example, if `masking_character` is `0`, `number_to_mask` is `14`, and `reverse_order` is `false`, then the input string `1234-5678-9012-3456` is masked as `00000000000000-3456`. If `masking_character` is `*`, `number_to_mask` is `3`, and `reverse_order` is `true`, then the string `12345` is masked as `12***`. }, "cryptoDeterministicConfig": { # Pseudonymization method that generates deterministic encryption for the given input. Outputs a base64 encoded representation of the encrypted output. Uses AES-SIV based on the RFC https://tools.ietf.org/html/rfc5297. # Deterministic Crypto - "context": { # General identifier of a data field in a storage service. # A context may be used for higher security and maintaining referential integrity such that the same identifier in two different contexts will be given a distinct surrogate. The context is appended to plaintext value being encrypted. On decryption the provided context is validated against the value used during encryption. If a context was provided during encryption, same context must be provided during decryption as well. If the context is not set, plaintext would be used as is for encryption. If the context is set but: 1. there is no record present when transforming a given value or 2. the field is not present when transforming a given value, plaintext would be used as is for encryption. Note that case (1) is expected when an `InfoTypeTransformation` is applied to both structured and non-structured `ContentItem`s. + "context": { # General identifier of a data field in a storage service. # A context may be used for higher security and maintaining referential integrity such that the same identifier in two different contexts will be given a distinct surrogate. The context is appended to plaintext value being encrypted. On decryption the provided context is validated against the value used during encryption. If a context was provided during encryption, same context must be provided during decryption as well. If the context is not set, plaintext would be used as is for encryption. If the context is set but: 1. there is no record present when transforming a given value or 2. the field is not present when transforming a given value, plaintext would be used as is for encryption. Note that case (1) is expected when an `InfoTypeTransformation` is applied to both structured and unstructured `ContentItem`s. "name": "A String", # Name describing the field. }, "cryptoKey": { # This is a data encryption key (DEK) (as opposed to a key encryption key (KEK) stored by Cloud Key Management Service (Cloud KMS). When using Cloud KMS to wrap or unwrap a DEK, be sure to set an appropriate IAM policy on the KEK to ensure an attacker cannot unwrap the DEK. # The key used by the encryption function. For deterministic encryption using AES-SIV, the provided key is internally expanded to 64 bytes prior to use. @@ -752,7 +752,7 @@

Method Details

}, "cryptoReplaceFfxFpeConfig": { # Replaces an identifier with a surrogate using Format Preserving Encryption (FPE) with the FFX mode of operation; however when used in the `ReidentifyContent` API method, it serves the opposite function by reversing the surrogate back into the original identifier. The identifier must be encoded as ASCII. For a given crypto key and context, the same identifier will be replaced with the same surrogate. Identifiers must be at least two characters long. In the case that the identifier is the empty string, it will be skipped. See https://cloud.google.com/dlp/docs/pseudonymization to learn more. Note: We recommend using CryptoDeterministicConfig for all use cases which do not require preserving the input alphabet space and size, plus warrant referential integrity. # Ffx-Fpe "commonAlphabet": "A String", # Common alphabets. - "context": { # General identifier of a data field in a storage service. # The 'tweak', a context may be used for higher security since the same identifier in two different contexts won't be given the same surrogate. If the context is not set, a default tweak will be used. If the context is set but: 1. there is no record present when transforming a given value or 1. the field is not present when transforming a given value, a default tweak will be used. Note that case (1) is expected when an `InfoTypeTransformation` is applied to both structured and non-structured `ContentItem`s. Currently, the referenced field may be of value type integer or string. The tweak is constructed as a sequence of bytes in big endian byte order such that: - a 64 bit integer is encoded followed by a single byte of value 1 - a string is encoded in UTF-8 format followed by a single byte of value 2 + "context": { # General identifier of a data field in a storage service. # The 'tweak', a context may be used for higher security since the same identifier in two different contexts won't be given the same surrogate. If the context is not set, a default tweak will be used. If the context is set but: 1. there is no record present when transforming a given value or 1. the field is not present when transforming a given value, a default tweak will be used. Note that case (1) is expected when an `InfoTypeTransformation` is applied to both structured and unstructured `ContentItem`s. Currently, the referenced field may be of value type integer or string. The tweak is constructed as a sequence of bytes in big endian byte order such that: - a 64 bit integer is encoded followed by a single byte of value 1 - a string is encoded in UTF-8 format followed by a single byte of value 2 "name": "A String", # Name describing the field. }, "cryptoKey": { # This is a data encryption key (DEK) (as opposed to a key encryption key (KEK) stored by Cloud Key Management Service (Cloud KMS). When using Cloud KMS to wrap or unwrap a DEK, be sure to set an appropriate IAM policy on the KEK to ensure an attacker cannot unwrap the DEK. # Required. The key used by the encryption algorithm. @@ -875,7 +875,7 @@

Method Details

"recordSuppressions": [ # Configuration defining which records get suppressed entirely. Records that match any suppression rule are omitted from the output. { # Configuration to suppress records whose suppression conditions evaluate to true. "condition": { # A condition for determining whether a transformation should be applied to a field. # A condition that when it evaluates to true will result in the record being evaluated to be suppressed from the transformed content. - "expressions": { # An expression, consisting or an operator and conditions. # An expression. + "expressions": { # An expression, consisting of an operator and conditions. # An expression. "conditions": { # A collection of conditions. # Conditions to apply to the expression. "conditions": [ # A collection of conditions. { # The field type of `value` and `field` do not need to match to be considered equal, but not all comparisons are possible. EQUAL_TO and NOT_EQUAL_TO attempt to compare even with incompatible types, but all other comparisons are invalid with incompatible types. A `value` of type: - `string` can be compared against all other types - `boolean` can only be compared against other booleans - `integer` can be compared against doubles or a string if the string value can be parsed as an integer. - `double` can be compared against integers or a string if the string can be parsed as a double. - `Timestamp` can be compared against strings in RFC 3339 date string format. - `TimeOfDay` can be compared against timestamps and strings in the format of 'HH:mm:ss'. If we fail to compare do to type mismatch, a warning will be given and the condition will evaluate to false. @@ -1023,7 +1023,7 @@

Method Details

"reverseOrder": True or False, # Mask characters in reverse order. For example, if `masking_character` is `0`, `number_to_mask` is `14`, and `reverse_order` is `false`, then the input string `1234-5678-9012-3456` is masked as `00000000000000-3456`. If `masking_character` is `*`, `number_to_mask` is `3`, and `reverse_order` is `true`, then the string `12345` is masked as `12***`. }, "cryptoDeterministicConfig": { # Pseudonymization method that generates deterministic encryption for the given input. Outputs a base64 encoded representation of the encrypted output. Uses AES-SIV based on the RFC https://tools.ietf.org/html/rfc5297. # Deterministic Crypto - "context": { # General identifier of a data field in a storage service. # A context may be used for higher security and maintaining referential integrity such that the same identifier in two different contexts will be given a distinct surrogate. The context is appended to plaintext value being encrypted. On decryption the provided context is validated against the value used during encryption. If a context was provided during encryption, same context must be provided during decryption as well. If the context is not set, plaintext would be used as is for encryption. If the context is set but: 1. there is no record present when transforming a given value or 2. the field is not present when transforming a given value, plaintext would be used as is for encryption. Note that case (1) is expected when an `InfoTypeTransformation` is applied to both structured and non-structured `ContentItem`s. + "context": { # General identifier of a data field in a storage service. # A context may be used for higher security and maintaining referential integrity such that the same identifier in two different contexts will be given a distinct surrogate. The context is appended to plaintext value being encrypted. On decryption the provided context is validated against the value used during encryption. If a context was provided during encryption, same context must be provided during decryption as well. If the context is not set, plaintext would be used as is for encryption. If the context is set but: 1. there is no record present when transforming a given value or 2. the field is not present when transforming a given value, plaintext would be used as is for encryption. Note that case (1) is expected when an `InfoTypeTransformation` is applied to both structured and unstructured `ContentItem`s. "name": "A String", # Name describing the field. }, "cryptoKey": { # This is a data encryption key (DEK) (as opposed to a key encryption key (KEK) stored by Cloud Key Management Service (Cloud KMS). When using Cloud KMS to wrap or unwrap a DEK, be sure to set an appropriate IAM policy on the KEK to ensure an attacker cannot unwrap the DEK. # The key used by the encryption function. For deterministic encryption using AES-SIV, the provided key is internally expanded to 64 bytes prior to use. @@ -1059,7 +1059,7 @@

Method Details

}, "cryptoReplaceFfxFpeConfig": { # Replaces an identifier with a surrogate using Format Preserving Encryption (FPE) with the FFX mode of operation; however when used in the `ReidentifyContent` API method, it serves the opposite function by reversing the surrogate back into the original identifier. The identifier must be encoded as ASCII. For a given crypto key and context, the same identifier will be replaced with the same surrogate. Identifiers must be at least two characters long. In the case that the identifier is the empty string, it will be skipped. See https://cloud.google.com/dlp/docs/pseudonymization to learn more. Note: We recommend using CryptoDeterministicConfig for all use cases which do not require preserving the input alphabet space and size, plus warrant referential integrity. # Ffx-Fpe "commonAlphabet": "A String", # Common alphabets. - "context": { # General identifier of a data field in a storage service. # The 'tweak', a context may be used for higher security since the same identifier in two different contexts won't be given the same surrogate. If the context is not set, a default tweak will be used. If the context is set but: 1. there is no record present when transforming a given value or 1. the field is not present when transforming a given value, a default tweak will be used. Note that case (1) is expected when an `InfoTypeTransformation` is applied to both structured and non-structured `ContentItem`s. Currently, the referenced field may be of value type integer or string. The tweak is constructed as a sequence of bytes in big endian byte order such that: - a 64 bit integer is encoded followed by a single byte of value 1 - a string is encoded in UTF-8 format followed by a single byte of value 2 + "context": { # General identifier of a data field in a storage service. # The 'tweak', a context may be used for higher security since the same identifier in two different contexts won't be given the same surrogate. If the context is not set, a default tweak will be used. If the context is set but: 1. there is no record present when transforming a given value or 1. the field is not present when transforming a given value, a default tweak will be used. Note that case (1) is expected when an `InfoTypeTransformation` is applied to both structured and unstructured `ContentItem`s. Currently, the referenced field may be of value type integer or string. The tweak is constructed as a sequence of bytes in big endian byte order such that: - a 64 bit integer is encoded followed by a single byte of value 1 - a string is encoded in UTF-8 format followed by a single byte of value 2 "name": "A String", # Name describing the field. }, "cryptoKey": { # This is a data encryption key (DEK) (as opposed to a key encryption key (KEK) stored by Cloud Key Management Service (Cloud KMS). When using Cloud KMS to wrap or unwrap a DEK, be sure to set an appropriate IAM policy on the KEK to ensure an attacker cannot unwrap the DEK. # Required. The key used by the encryption algorithm. @@ -1184,7 +1184,7 @@

Method Details

"fieldTransformations": [ # Transform the record by applying various field transformations. { # The transformation to apply to the field. "condition": { # A condition for determining whether a transformation should be applied to a field. # Only apply the transformation if the condition evaluates to true for the given `RecordCondition`. The conditions are allowed to reference fields that are not used in the actual transformation. Example Use Cases: - Apply a different bucket transformation to an age column if the zip code column for the same record is within a specific range. - Redact a field if the date of birth field is greater than 85. - "expressions": { # An expression, consisting or an operator and conditions. # An expression. + "expressions": { # An expression, consisting of an operator and conditions. # An expression. "conditions": { # A collection of conditions. # Conditions to apply to the expression. "conditions": [ # A collection of conditions. { # The field type of `value` and `field` do not need to match to be considered equal, but not all comparisons are possible. EQUAL_TO and NOT_EQUAL_TO attempt to compare even with incompatible types, but all other comparisons are invalid with incompatible types. A `value` of type: - `string` can be compared against all other types - `boolean` can only be compared against other booleans - `integer` can be compared against doubles or a string if the string value can be parsed as an integer. - `double` can be compared against integers or a string if the string can be parsed as a double. - `Timestamp` can be compared against strings in RFC 3339 date string format. - `TimeOfDay` can be compared against timestamps and strings in the format of 'HH:mm:ss'. If we fail to compare do to type mismatch, a warning will be given and the condition will evaluate to false. @@ -1307,7 +1307,7 @@

Method Details

"reverseOrder": True or False, # Mask characters in reverse order. For example, if `masking_character` is `0`, `number_to_mask` is `14`, and `reverse_order` is `false`, then the input string `1234-5678-9012-3456` is masked as `00000000000000-3456`. If `masking_character` is `*`, `number_to_mask` is `3`, and `reverse_order` is `true`, then the string `12345` is masked as `12***`. }, "cryptoDeterministicConfig": { # Pseudonymization method that generates deterministic encryption for the given input. Outputs a base64 encoded representation of the encrypted output. Uses AES-SIV based on the RFC https://tools.ietf.org/html/rfc5297. # Deterministic Crypto - "context": { # General identifier of a data field in a storage service. # A context may be used for higher security and maintaining referential integrity such that the same identifier in two different contexts will be given a distinct surrogate. The context is appended to plaintext value being encrypted. On decryption the provided context is validated against the value used during encryption. If a context was provided during encryption, same context must be provided during decryption as well. If the context is not set, plaintext would be used as is for encryption. If the context is set but: 1. there is no record present when transforming a given value or 2. the field is not present when transforming a given value, plaintext would be used as is for encryption. Note that case (1) is expected when an `InfoTypeTransformation` is applied to both structured and non-structured `ContentItem`s. + "context": { # General identifier of a data field in a storage service. # A context may be used for higher security and maintaining referential integrity such that the same identifier in two different contexts will be given a distinct surrogate. The context is appended to plaintext value being encrypted. On decryption the provided context is validated against the value used during encryption. If a context was provided during encryption, same context must be provided during decryption as well. If the context is not set, plaintext would be used as is for encryption. If the context is set but: 1. there is no record present when transforming a given value or 2. the field is not present when transforming a given value, plaintext would be used as is for encryption. Note that case (1) is expected when an `InfoTypeTransformation` is applied to both structured and unstructured `ContentItem`s. "name": "A String", # Name describing the field. }, "cryptoKey": { # This is a data encryption key (DEK) (as opposed to a key encryption key (KEK) stored by Cloud Key Management Service (Cloud KMS). When using Cloud KMS to wrap or unwrap a DEK, be sure to set an appropriate IAM policy on the KEK to ensure an attacker cannot unwrap the DEK. # The key used by the encryption function. For deterministic encryption using AES-SIV, the provided key is internally expanded to 64 bytes prior to use. @@ -1343,7 +1343,7 @@

Method Details

}, "cryptoReplaceFfxFpeConfig": { # Replaces an identifier with a surrogate using Format Preserving Encryption (FPE) with the FFX mode of operation; however when used in the `ReidentifyContent` API method, it serves the opposite function by reversing the surrogate back into the original identifier. The identifier must be encoded as ASCII. For a given crypto key and context, the same identifier will be replaced with the same surrogate. Identifiers must be at least two characters long. In the case that the identifier is the empty string, it will be skipped. See https://cloud.google.com/dlp/docs/pseudonymization to learn more. Note: We recommend using CryptoDeterministicConfig for all use cases which do not require preserving the input alphabet space and size, plus warrant referential integrity. # Ffx-Fpe "commonAlphabet": "A String", # Common alphabets. - "context": { # General identifier of a data field in a storage service. # The 'tweak', a context may be used for higher security since the same identifier in two different contexts won't be given the same surrogate. If the context is not set, a default tweak will be used. If the context is set but: 1. there is no record present when transforming a given value or 1. the field is not present when transforming a given value, a default tweak will be used. Note that case (1) is expected when an `InfoTypeTransformation` is applied to both structured and non-structured `ContentItem`s. Currently, the referenced field may be of value type integer or string. The tweak is constructed as a sequence of bytes in big endian byte order such that: - a 64 bit integer is encoded followed by a single byte of value 1 - a string is encoded in UTF-8 format followed by a single byte of value 2 + "context": { # General identifier of a data field in a storage service. # The 'tweak', a context may be used for higher security since the same identifier in two different contexts won't be given the same surrogate. If the context is not set, a default tweak will be used. If the context is set but: 1. there is no record present when transforming a given value or 1. the field is not present when transforming a given value, a default tweak will be used. Note that case (1) is expected when an `InfoTypeTransformation` is applied to both structured and unstructured `ContentItem`s. Currently, the referenced field may be of value type integer or string. The tweak is constructed as a sequence of bytes in big endian byte order such that: - a 64 bit integer is encoded followed by a single byte of value 1 - a string is encoded in UTF-8 format followed by a single byte of value 2 "name": "A String", # Name describing the field. }, "cryptoKey": { # This is a data encryption key (DEK) (as opposed to a key encryption key (KEK) stored by Cloud Key Management Service (Cloud KMS). When using Cloud KMS to wrap or unwrap a DEK, be sure to set an appropriate IAM policy on the KEK to ensure an attacker cannot unwrap the DEK. # Required. The key used by the encryption algorithm. @@ -1540,7 +1540,7 @@

Method Details

"reverseOrder": True or False, # Mask characters in reverse order. For example, if `masking_character` is `0`, `number_to_mask` is `14`, and `reverse_order` is `false`, then the input string `1234-5678-9012-3456` is masked as `00000000000000-3456`. If `masking_character` is `*`, `number_to_mask` is `3`, and `reverse_order` is `true`, then the string `12345` is masked as `12***`. }, "cryptoDeterministicConfig": { # Pseudonymization method that generates deterministic encryption for the given input. Outputs a base64 encoded representation of the encrypted output. Uses AES-SIV based on the RFC https://tools.ietf.org/html/rfc5297. # Deterministic Crypto - "context": { # General identifier of a data field in a storage service. # A context may be used for higher security and maintaining referential integrity such that the same identifier in two different contexts will be given a distinct surrogate. The context is appended to plaintext value being encrypted. On decryption the provided context is validated against the value used during encryption. If a context was provided during encryption, same context must be provided during decryption as well. If the context is not set, plaintext would be used as is for encryption. If the context is set but: 1. there is no record present when transforming a given value or 2. the field is not present when transforming a given value, plaintext would be used as is for encryption. Note that case (1) is expected when an `InfoTypeTransformation` is applied to both structured and non-structured `ContentItem`s. + "context": { # General identifier of a data field in a storage service. # A context may be used for higher security and maintaining referential integrity such that the same identifier in two different contexts will be given a distinct surrogate. The context is appended to plaintext value being encrypted. On decryption the provided context is validated against the value used during encryption. If a context was provided during encryption, same context must be provided during decryption as well. If the context is not set, plaintext would be used as is for encryption. If the context is set but: 1. there is no record present when transforming a given value or 2. the field is not present when transforming a given value, plaintext would be used as is for encryption. Note that case (1) is expected when an `InfoTypeTransformation` is applied to both structured and unstructured `ContentItem`s. "name": "A String", # Name describing the field. }, "cryptoKey": { # This is a data encryption key (DEK) (as opposed to a key encryption key (KEK) stored by Cloud Key Management Service (Cloud KMS). When using Cloud KMS to wrap or unwrap a DEK, be sure to set an appropriate IAM policy on the KEK to ensure an attacker cannot unwrap the DEK. # The key used by the encryption function. For deterministic encryption using AES-SIV, the provided key is internally expanded to 64 bytes prior to use. @@ -1576,7 +1576,7 @@

Method Details

}, "cryptoReplaceFfxFpeConfig": { # Replaces an identifier with a surrogate using Format Preserving Encryption (FPE) with the FFX mode of operation; however when used in the `ReidentifyContent` API method, it serves the opposite function by reversing the surrogate back into the original identifier. The identifier must be encoded as ASCII. For a given crypto key and context, the same identifier will be replaced with the same surrogate. Identifiers must be at least two characters long. In the case that the identifier is the empty string, it will be skipped. See https://cloud.google.com/dlp/docs/pseudonymization to learn more. Note: We recommend using CryptoDeterministicConfig for all use cases which do not require preserving the input alphabet space and size, plus warrant referential integrity. # Ffx-Fpe "commonAlphabet": "A String", # Common alphabets. - "context": { # General identifier of a data field in a storage service. # The 'tweak', a context may be used for higher security since the same identifier in two different contexts won't be given the same surrogate. If the context is not set, a default tweak will be used. If the context is set but: 1. there is no record present when transforming a given value or 1. the field is not present when transforming a given value, a default tweak will be used. Note that case (1) is expected when an `InfoTypeTransformation` is applied to both structured and non-structured `ContentItem`s. Currently, the referenced field may be of value type integer or string. The tweak is constructed as a sequence of bytes in big endian byte order such that: - a 64 bit integer is encoded followed by a single byte of value 1 - a string is encoded in UTF-8 format followed by a single byte of value 2 + "context": { # General identifier of a data field in a storage service. # The 'tweak', a context may be used for higher security since the same identifier in two different contexts won't be given the same surrogate. If the context is not set, a default tweak will be used. If the context is set but: 1. there is no record present when transforming a given value or 1. the field is not present when transforming a given value, a default tweak will be used. Note that case (1) is expected when an `InfoTypeTransformation` is applied to both structured and unstructured `ContentItem`s. Currently, the referenced field may be of value type integer or string. The tweak is constructed as a sequence of bytes in big endian byte order such that: - a 64 bit integer is encoded followed by a single byte of value 1 - a string is encoded in UTF-8 format followed by a single byte of value 2 "name": "A String", # Name describing the field. }, "cryptoKey": { # This is a data encryption key (DEK) (as opposed to a key encryption key (KEK) stored by Cloud Key Management Service (Cloud KMS). When using Cloud KMS to wrap or unwrap a DEK, be sure to set an appropriate IAM policy on the KEK to ensure an attacker cannot unwrap the DEK. # Required. The key used by the encryption algorithm. @@ -1699,7 +1699,7 @@

Method Details

"recordSuppressions": [ # Configuration defining which records get suppressed entirely. Records that match any suppression rule are omitted from the output. { # Configuration to suppress records whose suppression conditions evaluate to true. "condition": { # A condition for determining whether a transformation should be applied to a field. # A condition that when it evaluates to true will result in the record being evaluated to be suppressed from the transformed content. - "expressions": { # An expression, consisting or an operator and conditions. # An expression. + "expressions": { # An expression, consisting of an operator and conditions. # An expression. "conditions": { # A collection of conditions. # Conditions to apply to the expression. "conditions": [ # A collection of conditions. { # The field type of `value` and `field` do not need to match to be considered equal, but not all comparisons are possible. EQUAL_TO and NOT_EQUAL_TO attempt to compare even with incompatible types, but all other comparisons are invalid with incompatible types. A `value` of type: - `string` can be compared against all other types - `boolean` can only be compared against other booleans - `integer` can be compared against doubles or a string if the string value can be parsed as an integer. - `double` can be compared against integers or a string if the string can be parsed as a double. - `Timestamp` can be compared against strings in RFC 3339 date string format. - `TimeOfDay` can be compared against timestamps and strings in the format of 'HH:mm:ss'. If we fail to compare do to type mismatch, a warning will be given and the condition will evaluate to false. @@ -1869,7 +1869,7 @@

Method Details

"reverseOrder": True or False, # Mask characters in reverse order. For example, if `masking_character` is `0`, `number_to_mask` is `14`, and `reverse_order` is `false`, then the input string `1234-5678-9012-3456` is masked as `00000000000000-3456`. If `masking_character` is `*`, `number_to_mask` is `3`, and `reverse_order` is `true`, then the string `12345` is masked as `12***`. }, "cryptoDeterministicConfig": { # Pseudonymization method that generates deterministic encryption for the given input. Outputs a base64 encoded representation of the encrypted output. Uses AES-SIV based on the RFC https://tools.ietf.org/html/rfc5297. # Deterministic Crypto - "context": { # General identifier of a data field in a storage service. # A context may be used for higher security and maintaining referential integrity such that the same identifier in two different contexts will be given a distinct surrogate. The context is appended to plaintext value being encrypted. On decryption the provided context is validated against the value used during encryption. If a context was provided during encryption, same context must be provided during decryption as well. If the context is not set, plaintext would be used as is for encryption. If the context is set but: 1. there is no record present when transforming a given value or 2. the field is not present when transforming a given value, plaintext would be used as is for encryption. Note that case (1) is expected when an `InfoTypeTransformation` is applied to both structured and non-structured `ContentItem`s. + "context": { # General identifier of a data field in a storage service. # A context may be used for higher security and maintaining referential integrity such that the same identifier in two different contexts will be given a distinct surrogate. The context is appended to plaintext value being encrypted. On decryption the provided context is validated against the value used during encryption. If a context was provided during encryption, same context must be provided during decryption as well. If the context is not set, plaintext would be used as is for encryption. If the context is set but: 1. there is no record present when transforming a given value or 2. the field is not present when transforming a given value, plaintext would be used as is for encryption. Note that case (1) is expected when an `InfoTypeTransformation` is applied to both structured and unstructured `ContentItem`s. "name": "A String", # Name describing the field. }, "cryptoKey": { # This is a data encryption key (DEK) (as opposed to a key encryption key (KEK) stored by Cloud Key Management Service (Cloud KMS). When using Cloud KMS to wrap or unwrap a DEK, be sure to set an appropriate IAM policy on the KEK to ensure an attacker cannot unwrap the DEK. # The key used by the encryption function. For deterministic encryption using AES-SIV, the provided key is internally expanded to 64 bytes prior to use. @@ -1905,7 +1905,7 @@

Method Details

}, "cryptoReplaceFfxFpeConfig": { # Replaces an identifier with a surrogate using Format Preserving Encryption (FPE) with the FFX mode of operation; however when used in the `ReidentifyContent` API method, it serves the opposite function by reversing the surrogate back into the original identifier. The identifier must be encoded as ASCII. For a given crypto key and context, the same identifier will be replaced with the same surrogate. Identifiers must be at least two characters long. In the case that the identifier is the empty string, it will be skipped. See https://cloud.google.com/dlp/docs/pseudonymization to learn more. Note: We recommend using CryptoDeterministicConfig for all use cases which do not require preserving the input alphabet space and size, plus warrant referential integrity. # Ffx-Fpe "commonAlphabet": "A String", # Common alphabets. - "context": { # General identifier of a data field in a storage service. # The 'tweak', a context may be used for higher security since the same identifier in two different contexts won't be given the same surrogate. If the context is not set, a default tweak will be used. If the context is set but: 1. there is no record present when transforming a given value or 1. the field is not present when transforming a given value, a default tweak will be used. Note that case (1) is expected when an `InfoTypeTransformation` is applied to both structured and non-structured `ContentItem`s. Currently, the referenced field may be of value type integer or string. The tweak is constructed as a sequence of bytes in big endian byte order such that: - a 64 bit integer is encoded followed by a single byte of value 1 - a string is encoded in UTF-8 format followed by a single byte of value 2 + "context": { # General identifier of a data field in a storage service. # The 'tweak', a context may be used for higher security since the same identifier in two different contexts won't be given the same surrogate. If the context is not set, a default tweak will be used. If the context is set but: 1. there is no record present when transforming a given value or 1. the field is not present when transforming a given value, a default tweak will be used. Note that case (1) is expected when an `InfoTypeTransformation` is applied to both structured and unstructured `ContentItem`s. Currently, the referenced field may be of value type integer or string. The tweak is constructed as a sequence of bytes in big endian byte order such that: - a 64 bit integer is encoded followed by a single byte of value 1 - a string is encoded in UTF-8 format followed by a single byte of value 2 "name": "A String", # Name describing the field. }, "cryptoKey": { # This is a data encryption key (DEK) (as opposed to a key encryption key (KEK) stored by Cloud Key Management Service (Cloud KMS). When using Cloud KMS to wrap or unwrap a DEK, be sure to set an appropriate IAM policy on the KEK to ensure an attacker cannot unwrap the DEK. # Required. The key used by the encryption algorithm. @@ -2030,7 +2030,7 @@

Method Details

"fieldTransformations": [ # Transform the record by applying various field transformations. { # The transformation to apply to the field. "condition": { # A condition for determining whether a transformation should be applied to a field. # Only apply the transformation if the condition evaluates to true for the given `RecordCondition`. The conditions are allowed to reference fields that are not used in the actual transformation. Example Use Cases: - Apply a different bucket transformation to an age column if the zip code column for the same record is within a specific range. - Redact a field if the date of birth field is greater than 85. - "expressions": { # An expression, consisting or an operator and conditions. # An expression. + "expressions": { # An expression, consisting of an operator and conditions. # An expression. "conditions": { # A collection of conditions. # Conditions to apply to the expression. "conditions": [ # A collection of conditions. { # The field type of `value` and `field` do not need to match to be considered equal, but not all comparisons are possible. EQUAL_TO and NOT_EQUAL_TO attempt to compare even with incompatible types, but all other comparisons are invalid with incompatible types. A `value` of type: - `string` can be compared against all other types - `boolean` can only be compared against other booleans - `integer` can be compared against doubles or a string if the string value can be parsed as an integer. - `double` can be compared against integers or a string if the string can be parsed as a double. - `Timestamp` can be compared against strings in RFC 3339 date string format. - `TimeOfDay` can be compared against timestamps and strings in the format of 'HH:mm:ss'. If we fail to compare do to type mismatch, a warning will be given and the condition will evaluate to false. @@ -2153,7 +2153,7 @@

Method Details

"reverseOrder": True or False, # Mask characters in reverse order. For example, if `masking_character` is `0`, `number_to_mask` is `14`, and `reverse_order` is `false`, then the input string `1234-5678-9012-3456` is masked as `00000000000000-3456`. If `masking_character` is `*`, `number_to_mask` is `3`, and `reverse_order` is `true`, then the string `12345` is masked as `12***`. }, "cryptoDeterministicConfig": { # Pseudonymization method that generates deterministic encryption for the given input. Outputs a base64 encoded representation of the encrypted output. Uses AES-SIV based on the RFC https://tools.ietf.org/html/rfc5297. # Deterministic Crypto - "context": { # General identifier of a data field in a storage service. # A context may be used for higher security and maintaining referential integrity such that the same identifier in two different contexts will be given a distinct surrogate. The context is appended to plaintext value being encrypted. On decryption the provided context is validated against the value used during encryption. If a context was provided during encryption, same context must be provided during decryption as well. If the context is not set, plaintext would be used as is for encryption. If the context is set but: 1. there is no record present when transforming a given value or 2. the field is not present when transforming a given value, plaintext would be used as is for encryption. Note that case (1) is expected when an `InfoTypeTransformation` is applied to both structured and non-structured `ContentItem`s. + "context": { # General identifier of a data field in a storage service. # A context may be used for higher security and maintaining referential integrity such that the same identifier in two different contexts will be given a distinct surrogate. The context is appended to plaintext value being encrypted. On decryption the provided context is validated against the value used during encryption. If a context was provided during encryption, same context must be provided during decryption as well. If the context is not set, plaintext would be used as is for encryption. If the context is set but: 1. there is no record present when transforming a given value or 2. the field is not present when transforming a given value, plaintext would be used as is for encryption. Note that case (1) is expected when an `InfoTypeTransformation` is applied to both structured and unstructured `ContentItem`s. "name": "A String", # Name describing the field. }, "cryptoKey": { # This is a data encryption key (DEK) (as opposed to a key encryption key (KEK) stored by Cloud Key Management Service (Cloud KMS). When using Cloud KMS to wrap or unwrap a DEK, be sure to set an appropriate IAM policy on the KEK to ensure an attacker cannot unwrap the DEK. # The key used by the encryption function. For deterministic encryption using AES-SIV, the provided key is internally expanded to 64 bytes prior to use. @@ -2189,7 +2189,7 @@

Method Details

}, "cryptoReplaceFfxFpeConfig": { # Replaces an identifier with a surrogate using Format Preserving Encryption (FPE) with the FFX mode of operation; however when used in the `ReidentifyContent` API method, it serves the opposite function by reversing the surrogate back into the original identifier. The identifier must be encoded as ASCII. For a given crypto key and context, the same identifier will be replaced with the same surrogate. Identifiers must be at least two characters long. In the case that the identifier is the empty string, it will be skipped. See https://cloud.google.com/dlp/docs/pseudonymization to learn more. Note: We recommend using CryptoDeterministicConfig for all use cases which do not require preserving the input alphabet space and size, plus warrant referential integrity. # Ffx-Fpe "commonAlphabet": "A String", # Common alphabets. - "context": { # General identifier of a data field in a storage service. # The 'tweak', a context may be used for higher security since the same identifier in two different contexts won't be given the same surrogate. If the context is not set, a default tweak will be used. If the context is set but: 1. there is no record present when transforming a given value or 1. the field is not present when transforming a given value, a default tweak will be used. Note that case (1) is expected when an `InfoTypeTransformation` is applied to both structured and non-structured `ContentItem`s. Currently, the referenced field may be of value type integer or string. The tweak is constructed as a sequence of bytes in big endian byte order such that: - a 64 bit integer is encoded followed by a single byte of value 1 - a string is encoded in UTF-8 format followed by a single byte of value 2 + "context": { # General identifier of a data field in a storage service. # The 'tweak', a context may be used for higher security since the same identifier in two different contexts won't be given the same surrogate. If the context is not set, a default tweak will be used. If the context is set but: 1. there is no record present when transforming a given value or 1. the field is not present when transforming a given value, a default tweak will be used. Note that case (1) is expected when an `InfoTypeTransformation` is applied to both structured and unstructured `ContentItem`s. Currently, the referenced field may be of value type integer or string. The tweak is constructed as a sequence of bytes in big endian byte order such that: - a 64 bit integer is encoded followed by a single byte of value 1 - a string is encoded in UTF-8 format followed by a single byte of value 2 "name": "A String", # Name describing the field. }, "cryptoKey": { # This is a data encryption key (DEK) (as opposed to a key encryption key (KEK) stored by Cloud Key Management Service (Cloud KMS). When using Cloud KMS to wrap or unwrap a DEK, be sure to set an appropriate IAM policy on the KEK to ensure an attacker cannot unwrap the DEK. # Required. The key used by the encryption algorithm. @@ -2386,7 +2386,7 @@

Method Details

"reverseOrder": True or False, # Mask characters in reverse order. For example, if `masking_character` is `0`, `number_to_mask` is `14`, and `reverse_order` is `false`, then the input string `1234-5678-9012-3456` is masked as `00000000000000-3456`. If `masking_character` is `*`, `number_to_mask` is `3`, and `reverse_order` is `true`, then the string `12345` is masked as `12***`. }, "cryptoDeterministicConfig": { # Pseudonymization method that generates deterministic encryption for the given input. Outputs a base64 encoded representation of the encrypted output. Uses AES-SIV based on the RFC https://tools.ietf.org/html/rfc5297. # Deterministic Crypto - "context": { # General identifier of a data field in a storage service. # A context may be used for higher security and maintaining referential integrity such that the same identifier in two different contexts will be given a distinct surrogate. The context is appended to plaintext value being encrypted. On decryption the provided context is validated against the value used during encryption. If a context was provided during encryption, same context must be provided during decryption as well. If the context is not set, plaintext would be used as is for encryption. If the context is set but: 1. there is no record present when transforming a given value or 2. the field is not present when transforming a given value, plaintext would be used as is for encryption. Note that case (1) is expected when an `InfoTypeTransformation` is applied to both structured and non-structured `ContentItem`s. + "context": { # General identifier of a data field in a storage service. # A context may be used for higher security and maintaining referential integrity such that the same identifier in two different contexts will be given a distinct surrogate. The context is appended to plaintext value being encrypted. On decryption the provided context is validated against the value used during encryption. If a context was provided during encryption, same context must be provided during decryption as well. If the context is not set, plaintext would be used as is for encryption. If the context is set but: 1. there is no record present when transforming a given value or 2. the field is not present when transforming a given value, plaintext would be used as is for encryption. Note that case (1) is expected when an `InfoTypeTransformation` is applied to both structured and unstructured `ContentItem`s. "name": "A String", # Name describing the field. }, "cryptoKey": { # This is a data encryption key (DEK) (as opposed to a key encryption key (KEK) stored by Cloud Key Management Service (Cloud KMS). When using Cloud KMS to wrap or unwrap a DEK, be sure to set an appropriate IAM policy on the KEK to ensure an attacker cannot unwrap the DEK. # The key used by the encryption function. For deterministic encryption using AES-SIV, the provided key is internally expanded to 64 bytes prior to use. @@ -2422,7 +2422,7 @@

Method Details

}, "cryptoReplaceFfxFpeConfig": { # Replaces an identifier with a surrogate using Format Preserving Encryption (FPE) with the FFX mode of operation; however when used in the `ReidentifyContent` API method, it serves the opposite function by reversing the surrogate back into the original identifier. The identifier must be encoded as ASCII. For a given crypto key and context, the same identifier will be replaced with the same surrogate. Identifiers must be at least two characters long. In the case that the identifier is the empty string, it will be skipped. See https://cloud.google.com/dlp/docs/pseudonymization to learn more. Note: We recommend using CryptoDeterministicConfig for all use cases which do not require preserving the input alphabet space and size, plus warrant referential integrity. # Ffx-Fpe "commonAlphabet": "A String", # Common alphabets. - "context": { # General identifier of a data field in a storage service. # The 'tweak', a context may be used for higher security since the same identifier in two different contexts won't be given the same surrogate. If the context is not set, a default tweak will be used. If the context is set but: 1. there is no record present when transforming a given value or 1. the field is not present when transforming a given value, a default tweak will be used. Note that case (1) is expected when an `InfoTypeTransformation` is applied to both structured and non-structured `ContentItem`s. Currently, the referenced field may be of value type integer or string. The tweak is constructed as a sequence of bytes in big endian byte order such that: - a 64 bit integer is encoded followed by a single byte of value 1 - a string is encoded in UTF-8 format followed by a single byte of value 2 + "context": { # General identifier of a data field in a storage service. # The 'tweak', a context may be used for higher security since the same identifier in two different contexts won't be given the same surrogate. If the context is not set, a default tweak will be used. If the context is set but: 1. there is no record present when transforming a given value or 1. the field is not present when transforming a given value, a default tweak will be used. Note that case (1) is expected when an `InfoTypeTransformation` is applied to both structured and unstructured `ContentItem`s. Currently, the referenced field may be of value type integer or string. The tweak is constructed as a sequence of bytes in big endian byte order such that: - a 64 bit integer is encoded followed by a single byte of value 1 - a string is encoded in UTF-8 format followed by a single byte of value 2 "name": "A String", # Name describing the field. }, "cryptoKey": { # This is a data encryption key (DEK) (as opposed to a key encryption key (KEK) stored by Cloud Key Management Service (Cloud KMS). When using Cloud KMS to wrap or unwrap a DEK, be sure to set an appropriate IAM policy on the KEK to ensure an attacker cannot unwrap the DEK. # Required. The key used by the encryption algorithm. @@ -2545,7 +2545,7 @@

Method Details

"recordSuppressions": [ # Configuration defining which records get suppressed entirely. Records that match any suppression rule are omitted from the output. { # Configuration to suppress records whose suppression conditions evaluate to true. "condition": { # A condition for determining whether a transformation should be applied to a field. # A condition that when it evaluates to true will result in the record being evaluated to be suppressed from the transformed content. - "expressions": { # An expression, consisting or an operator and conditions. # An expression. + "expressions": { # An expression, consisting of an operator and conditions. # An expression. "conditions": { # A collection of conditions. # Conditions to apply to the expression. "conditions": [ # A collection of conditions. { # The field type of `value` and `field` do not need to match to be considered equal, but not all comparisons are possible. EQUAL_TO and NOT_EQUAL_TO attempt to compare even with incompatible types, but all other comparisons are invalid with incompatible types. A `value` of type: - `string` can be compared against all other types - `boolean` can only be compared against other booleans - `integer` can be compared against doubles or a string if the string value can be parsed as an integer. - `double` can be compared against integers or a string if the string can be parsed as a double. - `Timestamp` can be compared against strings in RFC 3339 date string format. - `TimeOfDay` can be compared against timestamps and strings in the format of 'HH:mm:ss'. If we fail to compare do to type mismatch, a warning will be given and the condition will evaluate to false. @@ -2602,8 +2602,8 @@

Method Details

Args: parent: string, Required. Parent resource name. The format of this value varies depending on the scope of the request (project or organization) and whether you have [specified a processing location](https://cloud.google.com/dlp/docs/specifying-location): + Projects scope, location specified: `projects/`PROJECT_ID`/locations/`LOCATION_ID + Projects scope, no location specified (defaults to global): `projects/`PROJECT_ID + Organizations scope, location specified: `organizations/`ORG_ID`/locations/`LOCATION_ID + Organizations scope, no location specified (defaults to global): `organizations/`ORG_ID The following example `parent` string specifies a parent project with the identifier `example-project`, and specifies the `europe-west3` location for processing data: parent=projects/example-project/locations/europe-west3 (required) locationId: string, Deprecated. This field has no effect. - orderBy: string, Comma separated list of fields to order by, followed by `asc` or `desc` postfix. This list is case-insensitive, default sorting order is ascending, redundant space characters are insignificant. Example: `name asc,update_time, create_time desc` Supported fields are: - `create_time`: corresponds to time the template was created. - `update_time`: corresponds to time the template was last updated. - `name`: corresponds to template's name. - `display_name`: corresponds to template's display name. - pageSize: integer, Size of the page, can be limited by server. If zero server returns a page of max size 100. + orderBy: string, Comma separated list of fields to order by, followed by `asc` or `desc` postfix. This list is case-insensitive, default sorting order is ascending, redundant space characters are insignificant. Example: `name asc,update_time, create_time desc` Supported fields are: - `create_time`: corresponds to the time the template was created. - `update_time`: corresponds to the time the template was last updated. - `name`: corresponds to the template's name. - `display_name`: corresponds to the template's display name. + pageSize: integer, Size of the page, can be limited by the server. If zero server returns a page of max size 100. pageToken: string, Page token to continue retrieval. Comes from previous call to `ListDeidentifyTemplates`. x__xgafv: string, V1 error format. Allowed values @@ -2703,7 +2703,7 @@

Method Details

"reverseOrder": True or False, # Mask characters in reverse order. For example, if `masking_character` is `0`, `number_to_mask` is `14`, and `reverse_order` is `false`, then the input string `1234-5678-9012-3456` is masked as `00000000000000-3456`. If `masking_character` is `*`, `number_to_mask` is `3`, and `reverse_order` is `true`, then the string `12345` is masked as `12***`. }, "cryptoDeterministicConfig": { # Pseudonymization method that generates deterministic encryption for the given input. Outputs a base64 encoded representation of the encrypted output. Uses AES-SIV based on the RFC https://tools.ietf.org/html/rfc5297. # Deterministic Crypto - "context": { # General identifier of a data field in a storage service. # A context may be used for higher security and maintaining referential integrity such that the same identifier in two different contexts will be given a distinct surrogate. The context is appended to plaintext value being encrypted. On decryption the provided context is validated against the value used during encryption. If a context was provided during encryption, same context must be provided during decryption as well. If the context is not set, plaintext would be used as is for encryption. If the context is set but: 1. there is no record present when transforming a given value or 2. the field is not present when transforming a given value, plaintext would be used as is for encryption. Note that case (1) is expected when an `InfoTypeTransformation` is applied to both structured and non-structured `ContentItem`s. + "context": { # General identifier of a data field in a storage service. # A context may be used for higher security and maintaining referential integrity such that the same identifier in two different contexts will be given a distinct surrogate. The context is appended to plaintext value being encrypted. On decryption the provided context is validated against the value used during encryption. If a context was provided during encryption, same context must be provided during decryption as well. If the context is not set, plaintext would be used as is for encryption. If the context is set but: 1. there is no record present when transforming a given value or 2. the field is not present when transforming a given value, plaintext would be used as is for encryption. Note that case (1) is expected when an `InfoTypeTransformation` is applied to both structured and unstructured `ContentItem`s. "name": "A String", # Name describing the field. }, "cryptoKey": { # This is a data encryption key (DEK) (as opposed to a key encryption key (KEK) stored by Cloud Key Management Service (Cloud KMS). When using Cloud KMS to wrap or unwrap a DEK, be sure to set an appropriate IAM policy on the KEK to ensure an attacker cannot unwrap the DEK. # The key used by the encryption function. For deterministic encryption using AES-SIV, the provided key is internally expanded to 64 bytes prior to use. @@ -2739,7 +2739,7 @@

Method Details

}, "cryptoReplaceFfxFpeConfig": { # Replaces an identifier with a surrogate using Format Preserving Encryption (FPE) with the FFX mode of operation; however when used in the `ReidentifyContent` API method, it serves the opposite function by reversing the surrogate back into the original identifier. The identifier must be encoded as ASCII. For a given crypto key and context, the same identifier will be replaced with the same surrogate. Identifiers must be at least two characters long. In the case that the identifier is the empty string, it will be skipped. See https://cloud.google.com/dlp/docs/pseudonymization to learn more. Note: We recommend using CryptoDeterministicConfig for all use cases which do not require preserving the input alphabet space and size, plus warrant referential integrity. # Ffx-Fpe "commonAlphabet": "A String", # Common alphabets. - "context": { # General identifier of a data field in a storage service. # The 'tweak', a context may be used for higher security since the same identifier in two different contexts won't be given the same surrogate. If the context is not set, a default tweak will be used. If the context is set but: 1. there is no record present when transforming a given value or 1. the field is not present when transforming a given value, a default tweak will be used. Note that case (1) is expected when an `InfoTypeTransformation` is applied to both structured and non-structured `ContentItem`s. Currently, the referenced field may be of value type integer or string. The tweak is constructed as a sequence of bytes in big endian byte order such that: - a 64 bit integer is encoded followed by a single byte of value 1 - a string is encoded in UTF-8 format followed by a single byte of value 2 + "context": { # General identifier of a data field in a storage service. # The 'tweak', a context may be used for higher security since the same identifier in two different contexts won't be given the same surrogate. If the context is not set, a default tweak will be used. If the context is set but: 1. there is no record present when transforming a given value or 1. the field is not present when transforming a given value, a default tweak will be used. Note that case (1) is expected when an `InfoTypeTransformation` is applied to both structured and unstructured `ContentItem`s. Currently, the referenced field may be of value type integer or string. The tweak is constructed as a sequence of bytes in big endian byte order such that: - a 64 bit integer is encoded followed by a single byte of value 1 - a string is encoded in UTF-8 format followed by a single byte of value 2 "name": "A String", # Name describing the field. }, "cryptoKey": { # This is a data encryption key (DEK) (as opposed to a key encryption key (KEK) stored by Cloud Key Management Service (Cloud KMS). When using Cloud KMS to wrap or unwrap a DEK, be sure to set an appropriate IAM policy on the KEK to ensure an attacker cannot unwrap the DEK. # Required. The key used by the encryption algorithm. @@ -2864,7 +2864,7 @@

Method Details

"fieldTransformations": [ # Transform the record by applying various field transformations. { # The transformation to apply to the field. "condition": { # A condition for determining whether a transformation should be applied to a field. # Only apply the transformation if the condition evaluates to true for the given `RecordCondition`. The conditions are allowed to reference fields that are not used in the actual transformation. Example Use Cases: - Apply a different bucket transformation to an age column if the zip code column for the same record is within a specific range. - Redact a field if the date of birth field is greater than 85. - "expressions": { # An expression, consisting or an operator and conditions. # An expression. + "expressions": { # An expression, consisting of an operator and conditions. # An expression. "conditions": { # A collection of conditions. # Conditions to apply to the expression. "conditions": [ # A collection of conditions. { # The field type of `value` and `field` do not need to match to be considered equal, but not all comparisons are possible. EQUAL_TO and NOT_EQUAL_TO attempt to compare even with incompatible types, but all other comparisons are invalid with incompatible types. A `value` of type: - `string` can be compared against all other types - `boolean` can only be compared against other booleans - `integer` can be compared against doubles or a string if the string value can be parsed as an integer. - `double` can be compared against integers or a string if the string can be parsed as a double. - `Timestamp` can be compared against strings in RFC 3339 date string format. - `TimeOfDay` can be compared against timestamps and strings in the format of 'HH:mm:ss'. If we fail to compare do to type mismatch, a warning will be given and the condition will evaluate to false. @@ -2987,7 +2987,7 @@

Method Details

"reverseOrder": True or False, # Mask characters in reverse order. For example, if `masking_character` is `0`, `number_to_mask` is `14`, and `reverse_order` is `false`, then the input string `1234-5678-9012-3456` is masked as `00000000000000-3456`. If `masking_character` is `*`, `number_to_mask` is `3`, and `reverse_order` is `true`, then the string `12345` is masked as `12***`. }, "cryptoDeterministicConfig": { # Pseudonymization method that generates deterministic encryption for the given input. Outputs a base64 encoded representation of the encrypted output. Uses AES-SIV based on the RFC https://tools.ietf.org/html/rfc5297. # Deterministic Crypto - "context": { # General identifier of a data field in a storage service. # A context may be used for higher security and maintaining referential integrity such that the same identifier in two different contexts will be given a distinct surrogate. The context is appended to plaintext value being encrypted. On decryption the provided context is validated against the value used during encryption. If a context was provided during encryption, same context must be provided during decryption as well. If the context is not set, plaintext would be used as is for encryption. If the context is set but: 1. there is no record present when transforming a given value or 2. the field is not present when transforming a given value, plaintext would be used as is for encryption. Note that case (1) is expected when an `InfoTypeTransformation` is applied to both structured and non-structured `ContentItem`s. + "context": { # General identifier of a data field in a storage service. # A context may be used for higher security and maintaining referential integrity such that the same identifier in two different contexts will be given a distinct surrogate. The context is appended to plaintext value being encrypted. On decryption the provided context is validated against the value used during encryption. If a context was provided during encryption, same context must be provided during decryption as well. If the context is not set, plaintext would be used as is for encryption. If the context is set but: 1. there is no record present when transforming a given value or 2. the field is not present when transforming a given value, plaintext would be used as is for encryption. Note that case (1) is expected when an `InfoTypeTransformation` is applied to both structured and unstructured `ContentItem`s. "name": "A String", # Name describing the field. }, "cryptoKey": { # This is a data encryption key (DEK) (as opposed to a key encryption key (KEK) stored by Cloud Key Management Service (Cloud KMS). When using Cloud KMS to wrap or unwrap a DEK, be sure to set an appropriate IAM policy on the KEK to ensure an attacker cannot unwrap the DEK. # The key used by the encryption function. For deterministic encryption using AES-SIV, the provided key is internally expanded to 64 bytes prior to use. @@ -3023,7 +3023,7 @@

Method Details

}, "cryptoReplaceFfxFpeConfig": { # Replaces an identifier with a surrogate using Format Preserving Encryption (FPE) with the FFX mode of operation; however when used in the `ReidentifyContent` API method, it serves the opposite function by reversing the surrogate back into the original identifier. The identifier must be encoded as ASCII. For a given crypto key and context, the same identifier will be replaced with the same surrogate. Identifiers must be at least two characters long. In the case that the identifier is the empty string, it will be skipped. See https://cloud.google.com/dlp/docs/pseudonymization to learn more. Note: We recommend using CryptoDeterministicConfig for all use cases which do not require preserving the input alphabet space and size, plus warrant referential integrity. # Ffx-Fpe "commonAlphabet": "A String", # Common alphabets. - "context": { # General identifier of a data field in a storage service. # The 'tweak', a context may be used for higher security since the same identifier in two different contexts won't be given the same surrogate. If the context is not set, a default tweak will be used. If the context is set but: 1. there is no record present when transforming a given value or 1. the field is not present when transforming a given value, a default tweak will be used. Note that case (1) is expected when an `InfoTypeTransformation` is applied to both structured and non-structured `ContentItem`s. Currently, the referenced field may be of value type integer or string. The tweak is constructed as a sequence of bytes in big endian byte order such that: - a 64 bit integer is encoded followed by a single byte of value 1 - a string is encoded in UTF-8 format followed by a single byte of value 2 + "context": { # General identifier of a data field in a storage service. # The 'tweak', a context may be used for higher security since the same identifier in two different contexts won't be given the same surrogate. If the context is not set, a default tweak will be used. If the context is set but: 1. there is no record present when transforming a given value or 1. the field is not present when transforming a given value, a default tweak will be used. Note that case (1) is expected when an `InfoTypeTransformation` is applied to both structured and unstructured `ContentItem`s. Currently, the referenced field may be of value type integer or string. The tweak is constructed as a sequence of bytes in big endian byte order such that: - a 64 bit integer is encoded followed by a single byte of value 1 - a string is encoded in UTF-8 format followed by a single byte of value 2 "name": "A String", # Name describing the field. }, "cryptoKey": { # This is a data encryption key (DEK) (as opposed to a key encryption key (KEK) stored by Cloud Key Management Service (Cloud KMS). When using Cloud KMS to wrap or unwrap a DEK, be sure to set an appropriate IAM policy on the KEK to ensure an attacker cannot unwrap the DEK. # Required. The key used by the encryption algorithm. @@ -3220,7 +3220,7 @@

Method Details

"reverseOrder": True or False, # Mask characters in reverse order. For example, if `masking_character` is `0`, `number_to_mask` is `14`, and `reverse_order` is `false`, then the input string `1234-5678-9012-3456` is masked as `00000000000000-3456`. If `masking_character` is `*`, `number_to_mask` is `3`, and `reverse_order` is `true`, then the string `12345` is masked as `12***`. }, "cryptoDeterministicConfig": { # Pseudonymization method that generates deterministic encryption for the given input. Outputs a base64 encoded representation of the encrypted output. Uses AES-SIV based on the RFC https://tools.ietf.org/html/rfc5297. # Deterministic Crypto - "context": { # General identifier of a data field in a storage service. # A context may be used for higher security and maintaining referential integrity such that the same identifier in two different contexts will be given a distinct surrogate. The context is appended to plaintext value being encrypted. On decryption the provided context is validated against the value used during encryption. If a context was provided during encryption, same context must be provided during decryption as well. If the context is not set, plaintext would be used as is for encryption. If the context is set but: 1. there is no record present when transforming a given value or 2. the field is not present when transforming a given value, plaintext would be used as is for encryption. Note that case (1) is expected when an `InfoTypeTransformation` is applied to both structured and non-structured `ContentItem`s. + "context": { # General identifier of a data field in a storage service. # A context may be used for higher security and maintaining referential integrity such that the same identifier in two different contexts will be given a distinct surrogate. The context is appended to plaintext value being encrypted. On decryption the provided context is validated against the value used during encryption. If a context was provided during encryption, same context must be provided during decryption as well. If the context is not set, plaintext would be used as is for encryption. If the context is set but: 1. there is no record present when transforming a given value or 2. the field is not present when transforming a given value, plaintext would be used as is for encryption. Note that case (1) is expected when an `InfoTypeTransformation` is applied to both structured and unstructured `ContentItem`s. "name": "A String", # Name describing the field. }, "cryptoKey": { # This is a data encryption key (DEK) (as opposed to a key encryption key (KEK) stored by Cloud Key Management Service (Cloud KMS). When using Cloud KMS to wrap or unwrap a DEK, be sure to set an appropriate IAM policy on the KEK to ensure an attacker cannot unwrap the DEK. # The key used by the encryption function. For deterministic encryption using AES-SIV, the provided key is internally expanded to 64 bytes prior to use. @@ -3256,7 +3256,7 @@

Method Details

}, "cryptoReplaceFfxFpeConfig": { # Replaces an identifier with a surrogate using Format Preserving Encryption (FPE) with the FFX mode of operation; however when used in the `ReidentifyContent` API method, it serves the opposite function by reversing the surrogate back into the original identifier. The identifier must be encoded as ASCII. For a given crypto key and context, the same identifier will be replaced with the same surrogate. Identifiers must be at least two characters long. In the case that the identifier is the empty string, it will be skipped. See https://cloud.google.com/dlp/docs/pseudonymization to learn more. Note: We recommend using CryptoDeterministicConfig for all use cases which do not require preserving the input alphabet space and size, plus warrant referential integrity. # Ffx-Fpe "commonAlphabet": "A String", # Common alphabets. - "context": { # General identifier of a data field in a storage service. # The 'tweak', a context may be used for higher security since the same identifier in two different contexts won't be given the same surrogate. If the context is not set, a default tweak will be used. If the context is set but: 1. there is no record present when transforming a given value or 1. the field is not present when transforming a given value, a default tweak will be used. Note that case (1) is expected when an `InfoTypeTransformation` is applied to both structured and non-structured `ContentItem`s. Currently, the referenced field may be of value type integer or string. The tweak is constructed as a sequence of bytes in big endian byte order such that: - a 64 bit integer is encoded followed by a single byte of value 1 - a string is encoded in UTF-8 format followed by a single byte of value 2 + "context": { # General identifier of a data field in a storage service. # The 'tweak', a context may be used for higher security since the same identifier in two different contexts won't be given the same surrogate. If the context is not set, a default tweak will be used. If the context is set but: 1. there is no record present when transforming a given value or 1. the field is not present when transforming a given value, a default tweak will be used. Note that case (1) is expected when an `InfoTypeTransformation` is applied to both structured and unstructured `ContentItem`s. Currently, the referenced field may be of value type integer or string. The tweak is constructed as a sequence of bytes in big endian byte order such that: - a 64 bit integer is encoded followed by a single byte of value 1 - a string is encoded in UTF-8 format followed by a single byte of value 2 "name": "A String", # Name describing the field. }, "cryptoKey": { # This is a data encryption key (DEK) (as opposed to a key encryption key (KEK) stored by Cloud Key Management Service (Cloud KMS). When using Cloud KMS to wrap or unwrap a DEK, be sure to set an appropriate IAM policy on the KEK to ensure an attacker cannot unwrap the DEK. # Required. The key used by the encryption algorithm. @@ -3379,7 +3379,7 @@

Method Details

"recordSuppressions": [ # Configuration defining which records get suppressed entirely. Records that match any suppression rule are omitted from the output. { # Configuration to suppress records whose suppression conditions evaluate to true. "condition": { # A condition for determining whether a transformation should be applied to a field. # A condition that when it evaluates to true will result in the record being evaluated to be suppressed from the transformed content. - "expressions": { # An expression, consisting or an operator and conditions. # An expression. + "expressions": { # An expression, consisting of an operator and conditions. # An expression. "conditions": { # A collection of conditions. # Conditions to apply to the expression. "conditions": [ # A collection of conditions. { # The field type of `value` and `field` do not need to match to be considered equal, but not all comparisons are possible. EQUAL_TO and NOT_EQUAL_TO attempt to compare even with incompatible types, but all other comparisons are invalid with incompatible types. A `value` of type: - `string` can be compared against all other types - `boolean` can only be compared against other booleans - `integer` can be compared against doubles or a string if the string value can be parsed as an integer. - `double` can be compared against integers or a string if the string can be parsed as a double. - `Timestamp` can be compared against strings in RFC 3339 date string format. - `TimeOfDay` can be compared against timestamps and strings in the format of 'HH:mm:ss'. If we fail to compare do to type mismatch, a warning will be given and the condition will evaluate to false. @@ -3544,7 +3544,7 @@

Method Details

"reverseOrder": True or False, # Mask characters in reverse order. For example, if `masking_character` is `0`, `number_to_mask` is `14`, and `reverse_order` is `false`, then the input string `1234-5678-9012-3456` is masked as `00000000000000-3456`. If `masking_character` is `*`, `number_to_mask` is `3`, and `reverse_order` is `true`, then the string `12345` is masked as `12***`. }, "cryptoDeterministicConfig": { # Pseudonymization method that generates deterministic encryption for the given input. Outputs a base64 encoded representation of the encrypted output. Uses AES-SIV based on the RFC https://tools.ietf.org/html/rfc5297. # Deterministic Crypto - "context": { # General identifier of a data field in a storage service. # A context may be used for higher security and maintaining referential integrity such that the same identifier in two different contexts will be given a distinct surrogate. The context is appended to plaintext value being encrypted. On decryption the provided context is validated against the value used during encryption. If a context was provided during encryption, same context must be provided during decryption as well. If the context is not set, plaintext would be used as is for encryption. If the context is set but: 1. there is no record present when transforming a given value or 2. the field is not present when transforming a given value, plaintext would be used as is for encryption. Note that case (1) is expected when an `InfoTypeTransformation` is applied to both structured and non-structured `ContentItem`s. + "context": { # General identifier of a data field in a storage service. # A context may be used for higher security and maintaining referential integrity such that the same identifier in two different contexts will be given a distinct surrogate. The context is appended to plaintext value being encrypted. On decryption the provided context is validated against the value used during encryption. If a context was provided during encryption, same context must be provided during decryption as well. If the context is not set, plaintext would be used as is for encryption. If the context is set but: 1. there is no record present when transforming a given value or 2. the field is not present when transforming a given value, plaintext would be used as is for encryption. Note that case (1) is expected when an `InfoTypeTransformation` is applied to both structured and unstructured `ContentItem`s. "name": "A String", # Name describing the field. }, "cryptoKey": { # This is a data encryption key (DEK) (as opposed to a key encryption key (KEK) stored by Cloud Key Management Service (Cloud KMS). When using Cloud KMS to wrap or unwrap a DEK, be sure to set an appropriate IAM policy on the KEK to ensure an attacker cannot unwrap the DEK. # The key used by the encryption function. For deterministic encryption using AES-SIV, the provided key is internally expanded to 64 bytes prior to use. @@ -3580,7 +3580,7 @@

Method Details

}, "cryptoReplaceFfxFpeConfig": { # Replaces an identifier with a surrogate using Format Preserving Encryption (FPE) with the FFX mode of operation; however when used in the `ReidentifyContent` API method, it serves the opposite function by reversing the surrogate back into the original identifier. The identifier must be encoded as ASCII. For a given crypto key and context, the same identifier will be replaced with the same surrogate. Identifiers must be at least two characters long. In the case that the identifier is the empty string, it will be skipped. See https://cloud.google.com/dlp/docs/pseudonymization to learn more. Note: We recommend using CryptoDeterministicConfig for all use cases which do not require preserving the input alphabet space and size, plus warrant referential integrity. # Ffx-Fpe "commonAlphabet": "A String", # Common alphabets. - "context": { # General identifier of a data field in a storage service. # The 'tweak', a context may be used for higher security since the same identifier in two different contexts won't be given the same surrogate. If the context is not set, a default tweak will be used. If the context is set but: 1. there is no record present when transforming a given value or 1. the field is not present when transforming a given value, a default tweak will be used. Note that case (1) is expected when an `InfoTypeTransformation` is applied to both structured and non-structured `ContentItem`s. Currently, the referenced field may be of value type integer or string. The tweak is constructed as a sequence of bytes in big endian byte order such that: - a 64 bit integer is encoded followed by a single byte of value 1 - a string is encoded in UTF-8 format followed by a single byte of value 2 + "context": { # General identifier of a data field in a storage service. # The 'tweak', a context may be used for higher security since the same identifier in two different contexts won't be given the same surrogate. If the context is not set, a default tweak will be used. If the context is set but: 1. there is no record present when transforming a given value or 1. the field is not present when transforming a given value, a default tweak will be used. Note that case (1) is expected when an `InfoTypeTransformation` is applied to both structured and unstructured `ContentItem`s. Currently, the referenced field may be of value type integer or string. The tweak is constructed as a sequence of bytes in big endian byte order such that: - a 64 bit integer is encoded followed by a single byte of value 1 - a string is encoded in UTF-8 format followed by a single byte of value 2 "name": "A String", # Name describing the field. }, "cryptoKey": { # This is a data encryption key (DEK) (as opposed to a key encryption key (KEK) stored by Cloud Key Management Service (Cloud KMS). When using Cloud KMS to wrap or unwrap a DEK, be sure to set an appropriate IAM policy on the KEK to ensure an attacker cannot unwrap the DEK. # Required. The key used by the encryption algorithm. @@ -3705,7 +3705,7 @@

Method Details

"fieldTransformations": [ # Transform the record by applying various field transformations. { # The transformation to apply to the field. "condition": { # A condition for determining whether a transformation should be applied to a field. # Only apply the transformation if the condition evaluates to true for the given `RecordCondition`. The conditions are allowed to reference fields that are not used in the actual transformation. Example Use Cases: - Apply a different bucket transformation to an age column if the zip code column for the same record is within a specific range. - Redact a field if the date of birth field is greater than 85. - "expressions": { # An expression, consisting or an operator and conditions. # An expression. + "expressions": { # An expression, consisting of an operator and conditions. # An expression. "conditions": { # A collection of conditions. # Conditions to apply to the expression. "conditions": [ # A collection of conditions. { # The field type of `value` and `field` do not need to match to be considered equal, but not all comparisons are possible. EQUAL_TO and NOT_EQUAL_TO attempt to compare even with incompatible types, but all other comparisons are invalid with incompatible types. A `value` of type: - `string` can be compared against all other types - `boolean` can only be compared against other booleans - `integer` can be compared against doubles or a string if the string value can be parsed as an integer. - `double` can be compared against integers or a string if the string can be parsed as a double. - `Timestamp` can be compared against strings in RFC 3339 date string format. - `TimeOfDay` can be compared against timestamps and strings in the format of 'HH:mm:ss'. If we fail to compare do to type mismatch, a warning will be given and the condition will evaluate to false. @@ -3828,7 +3828,7 @@

Method Details

"reverseOrder": True or False, # Mask characters in reverse order. For example, if `masking_character` is `0`, `number_to_mask` is `14`, and `reverse_order` is `false`, then the input string `1234-5678-9012-3456` is masked as `00000000000000-3456`. If `masking_character` is `*`, `number_to_mask` is `3`, and `reverse_order` is `true`, then the string `12345` is masked as `12***`. }, "cryptoDeterministicConfig": { # Pseudonymization method that generates deterministic encryption for the given input. Outputs a base64 encoded representation of the encrypted output. Uses AES-SIV based on the RFC https://tools.ietf.org/html/rfc5297. # Deterministic Crypto - "context": { # General identifier of a data field in a storage service. # A context may be used for higher security and maintaining referential integrity such that the same identifier in two different contexts will be given a distinct surrogate. The context is appended to plaintext value being encrypted. On decryption the provided context is validated against the value used during encryption. If a context was provided during encryption, same context must be provided during decryption as well. If the context is not set, plaintext would be used as is for encryption. If the context is set but: 1. there is no record present when transforming a given value or 2. the field is not present when transforming a given value, plaintext would be used as is for encryption. Note that case (1) is expected when an `InfoTypeTransformation` is applied to both structured and non-structured `ContentItem`s. + "context": { # General identifier of a data field in a storage service. # A context may be used for higher security and maintaining referential integrity such that the same identifier in two different contexts will be given a distinct surrogate. The context is appended to plaintext value being encrypted. On decryption the provided context is validated against the value used during encryption. If a context was provided during encryption, same context must be provided during decryption as well. If the context is not set, plaintext would be used as is for encryption. If the context is set but: 1. there is no record present when transforming a given value or 2. the field is not present when transforming a given value, plaintext would be used as is for encryption. Note that case (1) is expected when an `InfoTypeTransformation` is applied to both structured and unstructured `ContentItem`s. "name": "A String", # Name describing the field. }, "cryptoKey": { # This is a data encryption key (DEK) (as opposed to a key encryption key (KEK) stored by Cloud Key Management Service (Cloud KMS). When using Cloud KMS to wrap or unwrap a DEK, be sure to set an appropriate IAM policy on the KEK to ensure an attacker cannot unwrap the DEK. # The key used by the encryption function. For deterministic encryption using AES-SIV, the provided key is internally expanded to 64 bytes prior to use. @@ -3864,7 +3864,7 @@

Method Details

}, "cryptoReplaceFfxFpeConfig": { # Replaces an identifier with a surrogate using Format Preserving Encryption (FPE) with the FFX mode of operation; however when used in the `ReidentifyContent` API method, it serves the opposite function by reversing the surrogate back into the original identifier. The identifier must be encoded as ASCII. For a given crypto key and context, the same identifier will be replaced with the same surrogate. Identifiers must be at least two characters long. In the case that the identifier is the empty string, it will be skipped. See https://cloud.google.com/dlp/docs/pseudonymization to learn more. Note: We recommend using CryptoDeterministicConfig for all use cases which do not require preserving the input alphabet space and size, plus warrant referential integrity. # Ffx-Fpe "commonAlphabet": "A String", # Common alphabets. - "context": { # General identifier of a data field in a storage service. # The 'tweak', a context may be used for higher security since the same identifier in two different contexts won't be given the same surrogate. If the context is not set, a default tweak will be used. If the context is set but: 1. there is no record present when transforming a given value or 1. the field is not present when transforming a given value, a default tweak will be used. Note that case (1) is expected when an `InfoTypeTransformation` is applied to both structured and non-structured `ContentItem`s. Currently, the referenced field may be of value type integer or string. The tweak is constructed as a sequence of bytes in big endian byte order such that: - a 64 bit integer is encoded followed by a single byte of value 1 - a string is encoded in UTF-8 format followed by a single byte of value 2 + "context": { # General identifier of a data field in a storage service. # The 'tweak', a context may be used for higher security since the same identifier in two different contexts won't be given the same surrogate. If the context is not set, a default tweak will be used. If the context is set but: 1. there is no record present when transforming a given value or 1. the field is not present when transforming a given value, a default tweak will be used. Note that case (1) is expected when an `InfoTypeTransformation` is applied to both structured and unstructured `ContentItem`s. Currently, the referenced field may be of value type integer or string. The tweak is constructed as a sequence of bytes in big endian byte order such that: - a 64 bit integer is encoded followed by a single byte of value 1 - a string is encoded in UTF-8 format followed by a single byte of value 2 "name": "A String", # Name describing the field. }, "cryptoKey": { # This is a data encryption key (DEK) (as opposed to a key encryption key (KEK) stored by Cloud Key Management Service (Cloud KMS). When using Cloud KMS to wrap or unwrap a DEK, be sure to set an appropriate IAM policy on the KEK to ensure an attacker cannot unwrap the DEK. # Required. The key used by the encryption algorithm. @@ -4061,7 +4061,7 @@

Method Details

"reverseOrder": True or False, # Mask characters in reverse order. For example, if `masking_character` is `0`, `number_to_mask` is `14`, and `reverse_order` is `false`, then the input string `1234-5678-9012-3456` is masked as `00000000000000-3456`. If `masking_character` is `*`, `number_to_mask` is `3`, and `reverse_order` is `true`, then the string `12345` is masked as `12***`. }, "cryptoDeterministicConfig": { # Pseudonymization method that generates deterministic encryption for the given input. Outputs a base64 encoded representation of the encrypted output. Uses AES-SIV based on the RFC https://tools.ietf.org/html/rfc5297. # Deterministic Crypto - "context": { # General identifier of a data field in a storage service. # A context may be used for higher security and maintaining referential integrity such that the same identifier in two different contexts will be given a distinct surrogate. The context is appended to plaintext value being encrypted. On decryption the provided context is validated against the value used during encryption. If a context was provided during encryption, same context must be provided during decryption as well. If the context is not set, plaintext would be used as is for encryption. If the context is set but: 1. there is no record present when transforming a given value or 2. the field is not present when transforming a given value, plaintext would be used as is for encryption. Note that case (1) is expected when an `InfoTypeTransformation` is applied to both structured and non-structured `ContentItem`s. + "context": { # General identifier of a data field in a storage service. # A context may be used for higher security and maintaining referential integrity such that the same identifier in two different contexts will be given a distinct surrogate. The context is appended to plaintext value being encrypted. On decryption the provided context is validated against the value used during encryption. If a context was provided during encryption, same context must be provided during decryption as well. If the context is not set, plaintext would be used as is for encryption. If the context is set but: 1. there is no record present when transforming a given value or 2. the field is not present when transforming a given value, plaintext would be used as is for encryption. Note that case (1) is expected when an `InfoTypeTransformation` is applied to both structured and unstructured `ContentItem`s. "name": "A String", # Name describing the field. }, "cryptoKey": { # This is a data encryption key (DEK) (as opposed to a key encryption key (KEK) stored by Cloud Key Management Service (Cloud KMS). When using Cloud KMS to wrap or unwrap a DEK, be sure to set an appropriate IAM policy on the KEK to ensure an attacker cannot unwrap the DEK. # The key used by the encryption function. For deterministic encryption using AES-SIV, the provided key is internally expanded to 64 bytes prior to use. @@ -4097,7 +4097,7 @@

Method Details

}, "cryptoReplaceFfxFpeConfig": { # Replaces an identifier with a surrogate using Format Preserving Encryption (FPE) with the FFX mode of operation; however when used in the `ReidentifyContent` API method, it serves the opposite function by reversing the surrogate back into the original identifier. The identifier must be encoded as ASCII. For a given crypto key and context, the same identifier will be replaced with the same surrogate. Identifiers must be at least two characters long. In the case that the identifier is the empty string, it will be skipped. See https://cloud.google.com/dlp/docs/pseudonymization to learn more. Note: We recommend using CryptoDeterministicConfig for all use cases which do not require preserving the input alphabet space and size, plus warrant referential integrity. # Ffx-Fpe "commonAlphabet": "A String", # Common alphabets. - "context": { # General identifier of a data field in a storage service. # The 'tweak', a context may be used for higher security since the same identifier in two different contexts won't be given the same surrogate. If the context is not set, a default tweak will be used. If the context is set but: 1. there is no record present when transforming a given value or 1. the field is not present when transforming a given value, a default tweak will be used. Note that case (1) is expected when an `InfoTypeTransformation` is applied to both structured and non-structured `ContentItem`s. Currently, the referenced field may be of value type integer or string. The tweak is constructed as a sequence of bytes in big endian byte order such that: - a 64 bit integer is encoded followed by a single byte of value 1 - a string is encoded in UTF-8 format followed by a single byte of value 2 + "context": { # General identifier of a data field in a storage service. # The 'tweak', a context may be used for higher security since the same identifier in two different contexts won't be given the same surrogate. If the context is not set, a default tweak will be used. If the context is set but: 1. there is no record present when transforming a given value or 1. the field is not present when transforming a given value, a default tweak will be used. Note that case (1) is expected when an `InfoTypeTransformation` is applied to both structured and unstructured `ContentItem`s. Currently, the referenced field may be of value type integer or string. The tweak is constructed as a sequence of bytes in big endian byte order such that: - a 64 bit integer is encoded followed by a single byte of value 1 - a string is encoded in UTF-8 format followed by a single byte of value 2 "name": "A String", # Name describing the field. }, "cryptoKey": { # This is a data encryption key (DEK) (as opposed to a key encryption key (KEK) stored by Cloud Key Management Service (Cloud KMS). When using Cloud KMS to wrap or unwrap a DEK, be sure to set an appropriate IAM policy on the KEK to ensure an attacker cannot unwrap the DEK. # Required. The key used by the encryption algorithm. @@ -4220,7 +4220,7 @@

Method Details

"recordSuppressions": [ # Configuration defining which records get suppressed entirely. Records that match any suppression rule are omitted from the output. { # Configuration to suppress records whose suppression conditions evaluate to true. "condition": { # A condition for determining whether a transformation should be applied to a field. # A condition that when it evaluates to true will result in the record being evaluated to be suppressed from the transformed content. - "expressions": { # An expression, consisting or an operator and conditions. # An expression. + "expressions": { # An expression, consisting of an operator and conditions. # An expression. "conditions": { # A collection of conditions. # Conditions to apply to the expression. "conditions": [ # A collection of conditions. { # The field type of `value` and `field` do not need to match to be considered equal, but not all comparisons are possible. EQUAL_TO and NOT_EQUAL_TO attempt to compare even with incompatible types, but all other comparisons are invalid with incompatible types. A `value` of type: - `string` can be compared against all other types - `boolean` can only be compared against other booleans - `integer` can be compared against doubles or a string if the string value can be parsed as an integer. - `double` can be compared against integers or a string if the string can be parsed as a double. - `Timestamp` can be compared against strings in RFC 3339 date string format. - `TimeOfDay` can be compared against timestamps and strings in the format of 'HH:mm:ss'. If we fail to compare do to type mismatch, a warning will be given and the condition will evaluate to false. @@ -4367,7 +4367,7 @@

Method Details

"reverseOrder": True or False, # Mask characters in reverse order. For example, if `masking_character` is `0`, `number_to_mask` is `14`, and `reverse_order` is `false`, then the input string `1234-5678-9012-3456` is masked as `00000000000000-3456`. If `masking_character` is `*`, `number_to_mask` is `3`, and `reverse_order` is `true`, then the string `12345` is masked as `12***`. }, "cryptoDeterministicConfig": { # Pseudonymization method that generates deterministic encryption for the given input. Outputs a base64 encoded representation of the encrypted output. Uses AES-SIV based on the RFC https://tools.ietf.org/html/rfc5297. # Deterministic Crypto - "context": { # General identifier of a data field in a storage service. # A context may be used for higher security and maintaining referential integrity such that the same identifier in two different contexts will be given a distinct surrogate. The context is appended to plaintext value being encrypted. On decryption the provided context is validated against the value used during encryption. If a context was provided during encryption, same context must be provided during decryption as well. If the context is not set, plaintext would be used as is for encryption. If the context is set but: 1. there is no record present when transforming a given value or 2. the field is not present when transforming a given value, plaintext would be used as is for encryption. Note that case (1) is expected when an `InfoTypeTransformation` is applied to both structured and non-structured `ContentItem`s. + "context": { # General identifier of a data field in a storage service. # A context may be used for higher security and maintaining referential integrity such that the same identifier in two different contexts will be given a distinct surrogate. The context is appended to plaintext value being encrypted. On decryption the provided context is validated against the value used during encryption. If a context was provided during encryption, same context must be provided during decryption as well. If the context is not set, plaintext would be used as is for encryption. If the context is set but: 1. there is no record present when transforming a given value or 2. the field is not present when transforming a given value, plaintext would be used as is for encryption. Note that case (1) is expected when an `InfoTypeTransformation` is applied to both structured and unstructured `ContentItem`s. "name": "A String", # Name describing the field. }, "cryptoKey": { # This is a data encryption key (DEK) (as opposed to a key encryption key (KEK) stored by Cloud Key Management Service (Cloud KMS). When using Cloud KMS to wrap or unwrap a DEK, be sure to set an appropriate IAM policy on the KEK to ensure an attacker cannot unwrap the DEK. # The key used by the encryption function. For deterministic encryption using AES-SIV, the provided key is internally expanded to 64 bytes prior to use. @@ -4403,7 +4403,7 @@

Method Details

}, "cryptoReplaceFfxFpeConfig": { # Replaces an identifier with a surrogate using Format Preserving Encryption (FPE) with the FFX mode of operation; however when used in the `ReidentifyContent` API method, it serves the opposite function by reversing the surrogate back into the original identifier. The identifier must be encoded as ASCII. For a given crypto key and context, the same identifier will be replaced with the same surrogate. Identifiers must be at least two characters long. In the case that the identifier is the empty string, it will be skipped. See https://cloud.google.com/dlp/docs/pseudonymization to learn more. Note: We recommend using CryptoDeterministicConfig for all use cases which do not require preserving the input alphabet space and size, plus warrant referential integrity. # Ffx-Fpe "commonAlphabet": "A String", # Common alphabets. - "context": { # General identifier of a data field in a storage service. # The 'tweak', a context may be used for higher security since the same identifier in two different contexts won't be given the same surrogate. If the context is not set, a default tweak will be used. If the context is set but: 1. there is no record present when transforming a given value or 1. the field is not present when transforming a given value, a default tweak will be used. Note that case (1) is expected when an `InfoTypeTransformation` is applied to both structured and non-structured `ContentItem`s. Currently, the referenced field may be of value type integer or string. The tweak is constructed as a sequence of bytes in big endian byte order such that: - a 64 bit integer is encoded followed by a single byte of value 1 - a string is encoded in UTF-8 format followed by a single byte of value 2 + "context": { # General identifier of a data field in a storage service. # The 'tweak', a context may be used for higher security since the same identifier in two different contexts won't be given the same surrogate. If the context is not set, a default tweak will be used. If the context is set but: 1. there is no record present when transforming a given value or 1. the field is not present when transforming a given value, a default tweak will be used. Note that case (1) is expected when an `InfoTypeTransformation` is applied to both structured and unstructured `ContentItem`s. Currently, the referenced field may be of value type integer or string. The tweak is constructed as a sequence of bytes in big endian byte order such that: - a 64 bit integer is encoded followed by a single byte of value 1 - a string is encoded in UTF-8 format followed by a single byte of value 2 "name": "A String", # Name describing the field. }, "cryptoKey": { # This is a data encryption key (DEK) (as opposed to a key encryption key (KEK) stored by Cloud Key Management Service (Cloud KMS). When using Cloud KMS to wrap or unwrap a DEK, be sure to set an appropriate IAM policy on the KEK to ensure an attacker cannot unwrap the DEK. # Required. The key used by the encryption algorithm. @@ -4528,7 +4528,7 @@

Method Details

"fieldTransformations": [ # Transform the record by applying various field transformations. { # The transformation to apply to the field. "condition": { # A condition for determining whether a transformation should be applied to a field. # Only apply the transformation if the condition evaluates to true for the given `RecordCondition`. The conditions are allowed to reference fields that are not used in the actual transformation. Example Use Cases: - Apply a different bucket transformation to an age column if the zip code column for the same record is within a specific range. - Redact a field if the date of birth field is greater than 85. - "expressions": { # An expression, consisting or an operator and conditions. # An expression. + "expressions": { # An expression, consisting of an operator and conditions. # An expression. "conditions": { # A collection of conditions. # Conditions to apply to the expression. "conditions": [ # A collection of conditions. { # The field type of `value` and `field` do not need to match to be considered equal, but not all comparisons are possible. EQUAL_TO and NOT_EQUAL_TO attempt to compare even with incompatible types, but all other comparisons are invalid with incompatible types. A `value` of type: - `string` can be compared against all other types - `boolean` can only be compared against other booleans - `integer` can be compared against doubles or a string if the string value can be parsed as an integer. - `double` can be compared against integers or a string if the string can be parsed as a double. - `Timestamp` can be compared against strings in RFC 3339 date string format. - `TimeOfDay` can be compared against timestamps and strings in the format of 'HH:mm:ss'. If we fail to compare do to type mismatch, a warning will be given and the condition will evaluate to false. @@ -4651,7 +4651,7 @@

Method Details

"reverseOrder": True or False, # Mask characters in reverse order. For example, if `masking_character` is `0`, `number_to_mask` is `14`, and `reverse_order` is `false`, then the input string `1234-5678-9012-3456` is masked as `00000000000000-3456`. If `masking_character` is `*`, `number_to_mask` is `3`, and `reverse_order` is `true`, then the string `12345` is masked as `12***`. }, "cryptoDeterministicConfig": { # Pseudonymization method that generates deterministic encryption for the given input. Outputs a base64 encoded representation of the encrypted output. Uses AES-SIV based on the RFC https://tools.ietf.org/html/rfc5297. # Deterministic Crypto - "context": { # General identifier of a data field in a storage service. # A context may be used for higher security and maintaining referential integrity such that the same identifier in two different contexts will be given a distinct surrogate. The context is appended to plaintext value being encrypted. On decryption the provided context is validated against the value used during encryption. If a context was provided during encryption, same context must be provided during decryption as well. If the context is not set, plaintext would be used as is for encryption. If the context is set but: 1. there is no record present when transforming a given value or 2. the field is not present when transforming a given value, plaintext would be used as is for encryption. Note that case (1) is expected when an `InfoTypeTransformation` is applied to both structured and non-structured `ContentItem`s. + "context": { # General identifier of a data field in a storage service. # A context may be used for higher security and maintaining referential integrity such that the same identifier in two different contexts will be given a distinct surrogate. The context is appended to plaintext value being encrypted. On decryption the provided context is validated against the value used during encryption. If a context was provided during encryption, same context must be provided during decryption as well. If the context is not set, plaintext would be used as is for encryption. If the context is set but: 1. there is no record present when transforming a given value or 2. the field is not present when transforming a given value, plaintext would be used as is for encryption. Note that case (1) is expected when an `InfoTypeTransformation` is applied to both structured and unstructured `ContentItem`s. "name": "A String", # Name describing the field. }, "cryptoKey": { # This is a data encryption key (DEK) (as opposed to a key encryption key (KEK) stored by Cloud Key Management Service (Cloud KMS). When using Cloud KMS to wrap or unwrap a DEK, be sure to set an appropriate IAM policy on the KEK to ensure an attacker cannot unwrap the DEK. # The key used by the encryption function. For deterministic encryption using AES-SIV, the provided key is internally expanded to 64 bytes prior to use. @@ -4687,7 +4687,7 @@

Method Details

}, "cryptoReplaceFfxFpeConfig": { # Replaces an identifier with a surrogate using Format Preserving Encryption (FPE) with the FFX mode of operation; however when used in the `ReidentifyContent` API method, it serves the opposite function by reversing the surrogate back into the original identifier. The identifier must be encoded as ASCII. For a given crypto key and context, the same identifier will be replaced with the same surrogate. Identifiers must be at least two characters long. In the case that the identifier is the empty string, it will be skipped. See https://cloud.google.com/dlp/docs/pseudonymization to learn more. Note: We recommend using CryptoDeterministicConfig for all use cases which do not require preserving the input alphabet space and size, plus warrant referential integrity. # Ffx-Fpe "commonAlphabet": "A String", # Common alphabets. - "context": { # General identifier of a data field in a storage service. # The 'tweak', a context may be used for higher security since the same identifier in two different contexts won't be given the same surrogate. If the context is not set, a default tweak will be used. If the context is set but: 1. there is no record present when transforming a given value or 1. the field is not present when transforming a given value, a default tweak will be used. Note that case (1) is expected when an `InfoTypeTransformation` is applied to both structured and non-structured `ContentItem`s. Currently, the referenced field may be of value type integer or string. The tweak is constructed as a sequence of bytes in big endian byte order such that: - a 64 bit integer is encoded followed by a single byte of value 1 - a string is encoded in UTF-8 format followed by a single byte of value 2 + "context": { # General identifier of a data field in a storage service. # The 'tweak', a context may be used for higher security since the same identifier in two different contexts won't be given the same surrogate. If the context is not set, a default tweak will be used. If the context is set but: 1. there is no record present when transforming a given value or 1. the field is not present when transforming a given value, a default tweak will be used. Note that case (1) is expected when an `InfoTypeTransformation` is applied to both structured and unstructured `ContentItem`s. Currently, the referenced field may be of value type integer or string. The tweak is constructed as a sequence of bytes in big endian byte order such that: - a 64 bit integer is encoded followed by a single byte of value 1 - a string is encoded in UTF-8 format followed by a single byte of value 2 "name": "A String", # Name describing the field. }, "cryptoKey": { # This is a data encryption key (DEK) (as opposed to a key encryption key (KEK) stored by Cloud Key Management Service (Cloud KMS). When using Cloud KMS to wrap or unwrap a DEK, be sure to set an appropriate IAM policy on the KEK to ensure an attacker cannot unwrap the DEK. # Required. The key used by the encryption algorithm. @@ -4884,7 +4884,7 @@

Method Details

"reverseOrder": True or False, # Mask characters in reverse order. For example, if `masking_character` is `0`, `number_to_mask` is `14`, and `reverse_order` is `false`, then the input string `1234-5678-9012-3456` is masked as `00000000000000-3456`. If `masking_character` is `*`, `number_to_mask` is `3`, and `reverse_order` is `true`, then the string `12345` is masked as `12***`. }, "cryptoDeterministicConfig": { # Pseudonymization method that generates deterministic encryption for the given input. Outputs a base64 encoded representation of the encrypted output. Uses AES-SIV based on the RFC https://tools.ietf.org/html/rfc5297. # Deterministic Crypto - "context": { # General identifier of a data field in a storage service. # A context may be used for higher security and maintaining referential integrity such that the same identifier in two different contexts will be given a distinct surrogate. The context is appended to plaintext value being encrypted. On decryption the provided context is validated against the value used during encryption. If a context was provided during encryption, same context must be provided during decryption as well. If the context is not set, plaintext would be used as is for encryption. If the context is set but: 1. there is no record present when transforming a given value or 2. the field is not present when transforming a given value, plaintext would be used as is for encryption. Note that case (1) is expected when an `InfoTypeTransformation` is applied to both structured and non-structured `ContentItem`s. + "context": { # General identifier of a data field in a storage service. # A context may be used for higher security and maintaining referential integrity such that the same identifier in two different contexts will be given a distinct surrogate. The context is appended to plaintext value being encrypted. On decryption the provided context is validated against the value used during encryption. If a context was provided during encryption, same context must be provided during decryption as well. If the context is not set, plaintext would be used as is for encryption. If the context is set but: 1. there is no record present when transforming a given value or 2. the field is not present when transforming a given value, plaintext would be used as is for encryption. Note that case (1) is expected when an `InfoTypeTransformation` is applied to both structured and unstructured `ContentItem`s. "name": "A String", # Name describing the field. }, "cryptoKey": { # This is a data encryption key (DEK) (as opposed to a key encryption key (KEK) stored by Cloud Key Management Service (Cloud KMS). When using Cloud KMS to wrap or unwrap a DEK, be sure to set an appropriate IAM policy on the KEK to ensure an attacker cannot unwrap the DEK. # The key used by the encryption function. For deterministic encryption using AES-SIV, the provided key is internally expanded to 64 bytes prior to use. @@ -4920,7 +4920,7 @@

Method Details

}, "cryptoReplaceFfxFpeConfig": { # Replaces an identifier with a surrogate using Format Preserving Encryption (FPE) with the FFX mode of operation; however when used in the `ReidentifyContent` API method, it serves the opposite function by reversing the surrogate back into the original identifier. The identifier must be encoded as ASCII. For a given crypto key and context, the same identifier will be replaced with the same surrogate. Identifiers must be at least two characters long. In the case that the identifier is the empty string, it will be skipped. See https://cloud.google.com/dlp/docs/pseudonymization to learn more. Note: We recommend using CryptoDeterministicConfig for all use cases which do not require preserving the input alphabet space and size, plus warrant referential integrity. # Ffx-Fpe "commonAlphabet": "A String", # Common alphabets. - "context": { # General identifier of a data field in a storage service. # The 'tweak', a context may be used for higher security since the same identifier in two different contexts won't be given the same surrogate. If the context is not set, a default tweak will be used. If the context is set but: 1. there is no record present when transforming a given value or 1. the field is not present when transforming a given value, a default tweak will be used. Note that case (1) is expected when an `InfoTypeTransformation` is applied to both structured and non-structured `ContentItem`s. Currently, the referenced field may be of value type integer or string. The tweak is constructed as a sequence of bytes in big endian byte order such that: - a 64 bit integer is encoded followed by a single byte of value 1 - a string is encoded in UTF-8 format followed by a single byte of value 2 + "context": { # General identifier of a data field in a storage service. # The 'tweak', a context may be used for higher security since the same identifier in two different contexts won't be given the same surrogate. If the context is not set, a default tweak will be used. If the context is set but: 1. there is no record present when transforming a given value or 1. the field is not present when transforming a given value, a default tweak will be used. Note that case (1) is expected when an `InfoTypeTransformation` is applied to both structured and unstructured `ContentItem`s. Currently, the referenced field may be of value type integer or string. The tweak is constructed as a sequence of bytes in big endian byte order such that: - a 64 bit integer is encoded followed by a single byte of value 1 - a string is encoded in UTF-8 format followed by a single byte of value 2 "name": "A String", # Name describing the field. }, "cryptoKey": { # This is a data encryption key (DEK) (as opposed to a key encryption key (KEK) stored by Cloud Key Management Service (Cloud KMS). When using Cloud KMS to wrap or unwrap a DEK, be sure to set an appropriate IAM policy on the KEK to ensure an attacker cannot unwrap the DEK. # Required. The key used by the encryption algorithm. @@ -5043,7 +5043,7 @@

Method Details

"recordSuppressions": [ # Configuration defining which records get suppressed entirely. Records that match any suppression rule are omitted from the output. { # Configuration to suppress records whose suppression conditions evaluate to true. "condition": { # A condition for determining whether a transformation should be applied to a field. # A condition that when it evaluates to true will result in the record being evaluated to be suppressed from the transformed content. - "expressions": { # An expression, consisting or an operator and conditions. # An expression. + "expressions": { # An expression, consisting of an operator and conditions. # An expression. "conditions": { # A collection of conditions. # Conditions to apply to the expression. "conditions": [ # A collection of conditions. { # The field type of `value` and `field` do not need to match to be considered equal, but not all comparisons are possible. EQUAL_TO and NOT_EQUAL_TO attempt to compare even with incompatible types, but all other comparisons are invalid with incompatible types. A `value` of type: - `string` can be compared against all other types - `boolean` can only be compared against other booleans - `integer` can be compared against doubles or a string if the string value can be parsed as an integer. - `double` can be compared against integers or a string if the string can be parsed as a double. - `Timestamp` can be compared against strings in RFC 3339 date string format. - `TimeOfDay` can be compared against timestamps and strings in the format of 'HH:mm:ss'. If we fail to compare do to type mismatch, a warning will be given and the condition will evaluate to false. diff --git a/docs/dyn/dlp_v2.projects.dlpJobs.html b/docs/dyn/dlp_v2.projects.dlpJobs.html index 6a688c4fbc0..e8381e61983 100644 --- a/docs/dyn/dlp_v2.projects.dlpJobs.html +++ b/docs/dyn/dlp_v2.projects.dlpJobs.html @@ -85,7 +85,7 @@

Instance Methods

Creates a new job to inspect storage or calculate risk metrics. See https://cloud.google.com/dlp/docs/inspecting-storage and https://cloud.google.com/dlp/docs/compute-risk-analysis to learn more. When no InfoTypes or CustomInfoTypes are specified in inspect jobs, the system will automatically choose what detectors to run. By default this may be all types, but may change over time as detectors are updated.

delete(name, x__xgafv=None)

-

Deletes a long-running DlpJob. This method indicates that the client is no longer interested in the DlpJob result. The job will be cancelled if possible. See https://cloud.google.com/dlp/docs/inspecting-storage and https://cloud.google.com/dlp/docs/compute-risk-analysis to learn more.

+

Deletes a long-running DlpJob. This method indicates that the client is no longer interested in the DlpJob result. The job will be canceled if possible. See https://cloud.google.com/dlp/docs/inspecting-storage and https://cloud.google.com/dlp/docs/compute-risk-analysis to learn more.

get(name, x__xgafv=None)

Gets the latest state of a long-running DlpJob. See https://cloud.google.com/dlp/docs/inspecting-storage and https://cloud.google.com/dlp/docs/compute-risk-analysis to learn more.

@@ -138,21 +138,39 @@

Method Details

"inspectJob": { # Controls what and how to inspect for findings. # An inspection job scans a storage repository for InfoTypes. "actions": [ # Actions to execute at the completion of the job. { # A task to execute on the completion of a job. See https://cloud.google.com/dlp/docs/concepts-actions to learn more. + "deidentify": { # Create a de-identified copy of the requested table or files. . A TransformationDetail will be created for each transformation. If any rows in BigQuery are skipped during de-identification (transformation errors or row size exceeds BigQuery insert API limits) they are placed in the failure output table. If the original row exceeds the BigQuery insert API limit it will be truncated when written to the failure output table. The failure output table can be set in the action.deidentify.output.big_query_output.deidentified_failure_output_table field, if no table is set, a table will be automatically created in the same project and dataset as the original table. Compatible with: Inspect # Create a de-identified copy of the input data. Applicable for non-image data only. The de-identified copy is in the same location as the original data. + "cloudStorageOutput": "A String", # Required. User settable GCS bucket and folders to store de-identified files. This field must be set for cloud storage deidentification. The output GCS bucket must be different from the input bucket. De-identified files will overwrite files in the output path. Form of: gs://bucket/folder/ or gs://bucket + "fileTypesToTransform": [ # List of user-specified file type groups to transform. If specified, only the files with these filetypes will be transformed. If empty, all supported files will be transformed. Supported types may be automatically added over time. If a file type is set in this field that isn't supported by the Deidentify action then the job will fail and will not be successfully created/started. Currently the only filetypes supported are: IMAGES, TEXT_FILES, CSV, TSV. + "A String", + ], + "transformationConfig": { # User specified templates and configs for how to deidentify structured, unstructures, and image files. User must provide either a unstructured deidentify template or at least one redact image config. # User specified deidentify templates and configs for structured, unstructured, and image files. + "deidentifyTemplate": "A String", # De-identify template. If this template is specified, it will serve as the default de-identify template. This template cannot contain `record_transformations` since it can be used for unstructured content such as free-form text files. If this template is not set, a default `ReplaceWithInfoTypeConfig` will be used to de-identify unstructured content. + "imageRedactTemplate": "A String", # Image redact template. If this template is specified, it will serve as the de-identify template for images. If this template is not set, all findings in the image will be redacted with a black box. + "structuredDeidentifyTemplate": "A String", # Structured de-identify template. If this template is specified, it will serve as the de-identify template for structured content such as delimited files and tables. If this template is not set but the `deidentify_template` is set, then `deidentify_template` will also apply to the structured content. If neither template is set, a default `ReplaceWithInfoTypeConfig` will be used to de-identify structured content. + }, + "transformationDetailsStorageConfig": { # Config for storing transformation details. # Config for storing transformation details. This is separate from the de-identified content, and contains metadata about the successful transformations and/or failures that occurred while de-identifying. This needs to be set in order for users to access information about the status of each transformation (see TransformationDetails message for more information about what is noted). + "table": { # Message defining the location of a BigQuery table. A table is uniquely identified by its project_id, dataset_id, and table_name. Within a query a table is often referenced with a string in the format of: `:.` or `..`. # The BigQuery table in which to store the output. This may be an existing table or in a new table in an existing dataset. If table_id is not set a new one will be generated for you with the following format: dlp_googleapis_transformation_details_yyyy_mm_dd_[dlp_job_id]. Pacific time zone will be used for generating the date details. + "datasetId": "A String", # Dataset ID of the table. + "projectId": "A String", # The Google Cloud Platform project ID of the project containing the table. If omitted, project ID is inferred from the API call. + "tableId": "A String", # Name of the table. + }, + }, + }, "jobNotificationEmails": { # Enable email notification to project owners and editors on jobs's completion/failure. # Enable email notification for project owners and editors on job's completion/failure. }, - "pubSub": { # Publish a message into given Pub/Sub topic when DlpJob has completed. The message contains a single field, `DlpJobName`, which is equal to the finished job's [`DlpJob.name`](https://cloud.google.com/dlp/docs/reference/rest/v2/projects.dlpJobs#DlpJob). Compatible with: Inspect, Risk # Publish a notification to a pubsub topic. + "pubSub": { # Publish a message into a given Pub/Sub topic when DlpJob has completed. The message contains a single field, `DlpJobName`, which is equal to the finished job's [`DlpJob.name`](https://cloud.google.com/dlp/docs/reference/rest/v2/projects.dlpJobs#DlpJob). Compatible with: Inspect, Risk # Publish a notification to a pubsub topic. "topic": "A String", # Cloud Pub/Sub topic to send notifications to. The topic must have given publishing access rights to the DLP API service account executing the long running DlpJob sending the notifications. Format is projects/{project}/topics/{topic}. }, "publishFindingsToCloudDataCatalog": { # Publish findings of a DlpJob to Data Catalog. Labels summarizing the results of the DlpJob will be applied to the entry for the resource scanned in Data Catalog. Any labels previously written by another DlpJob will be deleted. InfoType naming patterns are strictly enforced when using this feature. Note that the findings will be persisted in Data Catalog storage and are governed by Data Catalog service-specific policy, see https://cloud.google.com/terms/service-terms Only a single instance of this action can be specified and only allowed if all resources being scanned are BigQuery tables. Compatible with: Inspect # Publish findings to Cloud Datahub. }, - "publishSummaryToCscc": { # Publish the result summary of a DlpJob to the Cloud Security Command Center (CSCC Alpha). This action is only available for projects which are parts of an organization and whitelisted for the alpha Cloud Security Command Center. The action will publish count of finding instances and their info types. The summary of findings will be persisted in CSCC and are governed by CSCC service-specific policy, see https://cloud.google.com/terms/service-terms Only a single instance of this action can be specified. Compatible with: Inspect # Publish summary to Cloud Security Command Center (Alpha). + "publishSummaryToCscc": { # Publish the result summary of a DlpJob to the Cloud Security Command Center (CSCC Alpha). This action is only available for projects which are parts of an organization and whitelisted for the alpha Cloud Security Command Center. The action will publish the count of finding instances and their info types. The summary of findings will be persisted in CSCC and are governed by CSCC service-specific policy, see https://cloud.google.com/terms/service-terms Only a single instance of this action can be specified. Compatible with: Inspect # Publish summary to Cloud Security Command Center (Alpha). }, "publishToStackdriver": { # Enable Stackdriver metric dlp.googleapis.com/finding_count. This will publish a metric to stack driver on each infotype requested and how many findings were found for it. CustomDetectors will be bucketed as 'Custom' under the Stackdriver label 'info_type'. # Enable Stackdriver metric dlp.googleapis.com/finding_count. }, "saveFindings": { # If set, the detailed findings will be persisted to the specified OutputStorageConfig. Only a single instance of this action can be specified. Compatible with: Inspect, Risk # Save resulting findings in a provided location. "outputConfig": { # Cloud repository for storing output. # Location to store findings outside of DLP. "outputSchema": "A String", # Schema used for writing the findings for Inspect jobs. This field is only used for Inspect and must be unspecified for Risk jobs. Columns are derived from the `Finding` object. If appending to an existing table, any columns from the predefined schema that are missing will be added. No columns in the existing table will be deleted. If unspecified, then all available columns will be used for a new table or an (existing) table with no schema, and no changes will be made to an existing table that has a schema. Only for use with external storage. - "table": { # Message defining the location of a BigQuery table. A table is uniquely identified by its project_id, dataset_id, and table_name. Within a query a table is often referenced with a string in the format of: `:.` or `..`. # Store findings in an existing table or a new table in an existing dataset. If table_id is not set a new one will be generated for you with the following format: dlp_googleapis_yyyy_mm_dd_[dlp_job_id]. Pacific timezone will be used for generating the date details. For Inspect, each column in an existing output table must have the same name, type, and mode of a field in the `Finding` object. For Risk, an existing output table should be the output of a previous Risk analysis job run on the same source table, with the same privacy metric and quasi-identifiers. Risk jobs that analyze the same table but compute a different privacy metric, or use different sets of quasi-identifiers, cannot store their results in the same table. + "table": { # Message defining the location of a BigQuery table. A table is uniquely identified by its project_id, dataset_id, and table_name. Within a query a table is often referenced with a string in the format of: `:.` or `..`. # Store findings in an existing table or a new table in an existing dataset. If table_id is not set a new one will be generated for you with the following format: dlp_googleapis_yyyy_mm_dd_[dlp_job_id]. Pacific time zone will be used for generating the date details. For Inspect, each column in an existing output table must have the same name, type, and mode of a field in the `Finding` object. For Risk, an existing output table should be the output of a previous Risk analysis job run on the same source table, with the same privacy metric and quasi-identifiers. Risk jobs that analyze the same table but compute a different privacy metric, or use different sets of quasi-identifiers, cannot store their results in the same table. "datasetId": "A String", # Dataset ID of the table. "projectId": "A String", # The Google Cloud Platform project ID of the project containing the table. If omitted, project ID is inferred from the API call. "tableId": "A String", # Name of the table. @@ -225,7 +243,7 @@

Method Details

"version": "A String", # Optional version name for this InfoType. }, ], - "limits": { # Configuration to control the number of findings returned for inspection. This is not used for de-identification or data profiling. # Configuration to control the number of findings returned. This is not used for data profiling. + "limits": { # Configuration to control the number of findings returned for inspection. This is not used for de-identification or data profiling. When redacting sensitive data from images, finding limits don't apply. They can cause unexpected or inconsistent results, where only some data is redacted. Don't include finding limits in RedactImage requests. Otherwise, Cloud DLP returns an error. # Configuration to control the number of findings returned. This is not used for data profiling. When redacting sensitive data from images, finding limits don't apply. They can cause unexpected or inconsistent results, where only some data is redacted. Don't include finding limits in RedactImage requests. Otherwise, Cloud DLP returns an error. "maxFindingsPerInfoType": [ # Configuration of findings limit given for specified infoTypes. { # Max findings configuration per infoType, per content item or long running DlpJob. "infoType": { # Type of information detected by the API. # Type of information the findings limit applies to. Only one limit per info_type should be provided. If InfoTypeLimit does not have an info_type, the DLP API applies the limit against all info_types that are found but not specified in another InfoTypeLimit. @@ -260,7 +278,7 @@

Method Details

], }, }, - "excludeInfoTypes": { # List of exclude infoTypes. # Set of infoTypes for which findings would affect this rule. + "excludeInfoTypes": { # List of excluded infoTypes. # Set of infoTypes for which findings would affect this rule. "infoTypes": [ # InfoType list in ExclusionRule rule drops a finding when it overlaps or contained within with a finding of an infoType from this list. For example, for `InspectionRuleSet.info_types` containing "PHONE_NUMBER"` and `exclusion_rule` containing `exclude_info_types.info_types` with "EMAIL_ADDRESS" the phone number findings are dropped if they overlap with EMAIL_ADDRESS finding. That leads to "555-222-2222@example.org" to generate only a single finding, namely email address. { # Type of information detected by the API. "name": "A String", # Name of the information type. Either a name of your choosing when creating a CustomInfoType, or one of the names listed at https://cloud.google.com/dlp/docs/infotypes-reference when specifying a built-in type. When sending Cloud DLP results to Data Catalog, infoType names should conform to the pattern `[A-Za-z0-9$-_]{1,64}`. @@ -324,7 +342,7 @@

Method Details

"tableId": "A String", # Name of the table. }, }, - "cloudStorageOptions": { # Options defining a file or a set of files within a Google Cloud Storage bucket. # Google Cloud Storage options. + "cloudStorageOptions": { # Options defining a file or a set of files within a Cloud Storage bucket. # Cloud Storage options. "bytesLimitPerFile": "A String", # Max number of bytes to scan from a file. If a scanned file's size is bigger than this value then the rest of the bytes are omitted. Only one of bytes_limit_per_file and bytes_limit_per_file_percent can be specified. Cannot be set if de-identification is requested. "bytesLimitPerFilePercent": 42, # Max percentage of bytes to scan from a file. The rest are omitted. The number of bytes scanned is rounded down. Must be between 0 and 100, inclusively. Both 0 and 100 means no limit. Defaults to 0. Only one of bytes_limit_per_file and bytes_limit_per_file_percent can be specified. Cannot be set if de-identification is requested. "fileSet": { # Set of files to scan. # The set of one or more files to scan. @@ -370,11 +388,11 @@

Method Details

], }, }, - "timespanConfig": { # Configuration of the timespan of the items to include in scanning. Currently only supported when inspecting Google Cloud Storage and BigQuery. + "timespanConfig": { # Configuration of the timespan of the items to include in scanning. Currently only supported when inspecting Cloud Storage and BigQuery. "enableAutoPopulationOfTimespanConfig": True or False, # When the job is started by a JobTrigger we will automatically figure out a valid start_time to avoid scanning files that have not been modified since the last time the JobTrigger executed. This will be based on the time of the execution of the last run of the JobTrigger. "endTime": "A String", # Exclude files, tables, or rows newer than this value. If not set, no upper time limit is applied. "startTime": "A String", # Exclude files, tables, or rows older than this value. If not set, no lower time limit is applied. - "timestampField": { # General identifier of a data field in a storage service. # Specification of the field containing the timestamp of scanned items. Used for data sources like Datastore and BigQuery. For BigQuery: If this value is not specified and the table was modified between the given start and end times, the entire table will be scanned. If this value is specified, then rows are filtered based on the given start and end times. Rows with a `NULL` value in the provided BigQuery column are skipped. Valid data types of the provided BigQuery column are: `INTEGER`, `DATE`, `TIMESTAMP`, and `DATETIME`. For Datastore: If this value is specified, then entities are filtered based on the given start and end times. If an entity does not contain the provided timestamp property or contains empty or invalid values, then it is included. Valid data types of the provided timestamp property are: `TIMESTAMP`. + "timestampField": { # General identifier of a data field in a storage service. # Specification of the field containing the timestamp of scanned items. Used for data sources like Datastore and BigQuery. *For BigQuery* If this value is not specified and the table was modified between the given start and end times, the entire table will be scanned. If this value is specified, then rows are filtered based on the given start and end times. Rows with a `NULL` value in the provided BigQuery column are skipped. Valid data types of the provided BigQuery column are: `INTEGER`, `DATE`, `TIMESTAMP`, and `DATETIME`. If your BigQuery table is [partitioned at ingestion time](https://cloud.google.com/bigquery/docs/partitioned-tables#ingestion_time), you can use any of the following pseudo-columns as your timestamp field. When used with Cloud DLP, these pseudo-column names are case sensitive. - _PARTITIONTIME - _PARTITIONDATE - _PARTITION_LOAD_TIME *For Datastore* If this value is specified, then entities are filtered based on the given start and end times. If an entity does not contain the provided timestamp property or contains empty or invalid values, then it is included. Valid data types of the provided timestamp property are: `TIMESTAMP`. See the [known issue](https://cloud.google.com/dlp/docs/known-issues#bq-timespan) related to this operation. "name": "A String", # Name describing the field. }, }, @@ -385,21 +403,39 @@

Method Details

"riskJob": { # Configuration for a risk analysis job. See https://cloud.google.com/dlp/docs/concepts-risk-analysis to learn more. # A risk analysis job calculates re-identification risk metrics for a BigQuery table. "actions": [ # Actions to execute at the completion of the job. Are executed in the order provided. { # A task to execute on the completion of a job. See https://cloud.google.com/dlp/docs/concepts-actions to learn more. + "deidentify": { # Create a de-identified copy of the requested table or files. . A TransformationDetail will be created for each transformation. If any rows in BigQuery are skipped during de-identification (transformation errors or row size exceeds BigQuery insert API limits) they are placed in the failure output table. If the original row exceeds the BigQuery insert API limit it will be truncated when written to the failure output table. The failure output table can be set in the action.deidentify.output.big_query_output.deidentified_failure_output_table field, if no table is set, a table will be automatically created in the same project and dataset as the original table. Compatible with: Inspect # Create a de-identified copy of the input data. Applicable for non-image data only. The de-identified copy is in the same location as the original data. + "cloudStorageOutput": "A String", # Required. User settable GCS bucket and folders to store de-identified files. This field must be set for cloud storage deidentification. The output GCS bucket must be different from the input bucket. De-identified files will overwrite files in the output path. Form of: gs://bucket/folder/ or gs://bucket + "fileTypesToTransform": [ # List of user-specified file type groups to transform. If specified, only the files with these filetypes will be transformed. If empty, all supported files will be transformed. Supported types may be automatically added over time. If a file type is set in this field that isn't supported by the Deidentify action then the job will fail and will not be successfully created/started. Currently the only filetypes supported are: IMAGES, TEXT_FILES, CSV, TSV. + "A String", + ], + "transformationConfig": { # User specified templates and configs for how to deidentify structured, unstructures, and image files. User must provide either a unstructured deidentify template or at least one redact image config. # User specified deidentify templates and configs for structured, unstructured, and image files. + "deidentifyTemplate": "A String", # De-identify template. If this template is specified, it will serve as the default de-identify template. This template cannot contain `record_transformations` since it can be used for unstructured content such as free-form text files. If this template is not set, a default `ReplaceWithInfoTypeConfig` will be used to de-identify unstructured content. + "imageRedactTemplate": "A String", # Image redact template. If this template is specified, it will serve as the de-identify template for images. If this template is not set, all findings in the image will be redacted with a black box. + "structuredDeidentifyTemplate": "A String", # Structured de-identify template. If this template is specified, it will serve as the de-identify template for structured content such as delimited files and tables. If this template is not set but the `deidentify_template` is set, then `deidentify_template` will also apply to the structured content. If neither template is set, a default `ReplaceWithInfoTypeConfig` will be used to de-identify structured content. + }, + "transformationDetailsStorageConfig": { # Config for storing transformation details. # Config for storing transformation details. This is separate from the de-identified content, and contains metadata about the successful transformations and/or failures that occurred while de-identifying. This needs to be set in order for users to access information about the status of each transformation (see TransformationDetails message for more information about what is noted). + "table": { # Message defining the location of a BigQuery table. A table is uniquely identified by its project_id, dataset_id, and table_name. Within a query a table is often referenced with a string in the format of: `:.` or `..`. # The BigQuery table in which to store the output. This may be an existing table or in a new table in an existing dataset. If table_id is not set a new one will be generated for you with the following format: dlp_googleapis_transformation_details_yyyy_mm_dd_[dlp_job_id]. Pacific time zone will be used for generating the date details. + "datasetId": "A String", # Dataset ID of the table. + "projectId": "A String", # The Google Cloud Platform project ID of the project containing the table. If omitted, project ID is inferred from the API call. + "tableId": "A String", # Name of the table. + }, + }, + }, "jobNotificationEmails": { # Enable email notification to project owners and editors on jobs's completion/failure. # Enable email notification for project owners and editors on job's completion/failure. }, - "pubSub": { # Publish a message into given Pub/Sub topic when DlpJob has completed. The message contains a single field, `DlpJobName`, which is equal to the finished job's [`DlpJob.name`](https://cloud.google.com/dlp/docs/reference/rest/v2/projects.dlpJobs#DlpJob). Compatible with: Inspect, Risk # Publish a notification to a pubsub topic. + "pubSub": { # Publish a message into a given Pub/Sub topic when DlpJob has completed. The message contains a single field, `DlpJobName`, which is equal to the finished job's [`DlpJob.name`](https://cloud.google.com/dlp/docs/reference/rest/v2/projects.dlpJobs#DlpJob). Compatible with: Inspect, Risk # Publish a notification to a pubsub topic. "topic": "A String", # Cloud Pub/Sub topic to send notifications to. The topic must have given publishing access rights to the DLP API service account executing the long running DlpJob sending the notifications. Format is projects/{project}/topics/{topic}. }, "publishFindingsToCloudDataCatalog": { # Publish findings of a DlpJob to Data Catalog. Labels summarizing the results of the DlpJob will be applied to the entry for the resource scanned in Data Catalog. Any labels previously written by another DlpJob will be deleted. InfoType naming patterns are strictly enforced when using this feature. Note that the findings will be persisted in Data Catalog storage and are governed by Data Catalog service-specific policy, see https://cloud.google.com/terms/service-terms Only a single instance of this action can be specified and only allowed if all resources being scanned are BigQuery tables. Compatible with: Inspect # Publish findings to Cloud Datahub. }, - "publishSummaryToCscc": { # Publish the result summary of a DlpJob to the Cloud Security Command Center (CSCC Alpha). This action is only available for projects which are parts of an organization and whitelisted for the alpha Cloud Security Command Center. The action will publish count of finding instances and their info types. The summary of findings will be persisted in CSCC and are governed by CSCC service-specific policy, see https://cloud.google.com/terms/service-terms Only a single instance of this action can be specified. Compatible with: Inspect # Publish summary to Cloud Security Command Center (Alpha). + "publishSummaryToCscc": { # Publish the result summary of a DlpJob to the Cloud Security Command Center (CSCC Alpha). This action is only available for projects which are parts of an organization and whitelisted for the alpha Cloud Security Command Center. The action will publish the count of finding instances and their info types. The summary of findings will be persisted in CSCC and are governed by CSCC service-specific policy, see https://cloud.google.com/terms/service-terms Only a single instance of this action can be specified. Compatible with: Inspect # Publish summary to Cloud Security Command Center (Alpha). }, "publishToStackdriver": { # Enable Stackdriver metric dlp.googleapis.com/finding_count. This will publish a metric to stack driver on each infotype requested and how many findings were found for it. CustomDetectors will be bucketed as 'Custom' under the Stackdriver label 'info_type'. # Enable Stackdriver metric dlp.googleapis.com/finding_count. }, "saveFindings": { # If set, the detailed findings will be persisted to the specified OutputStorageConfig. Only a single instance of this action can be specified. Compatible with: Inspect, Risk # Save resulting findings in a provided location. "outputConfig": { # Cloud repository for storing output. # Location to store findings outside of DLP. "outputSchema": "A String", # Schema used for writing the findings for Inspect jobs. This field is only used for Inspect and must be unspecified for Risk jobs. Columns are derived from the `Finding` object. If appending to an existing table, any columns from the predefined schema that are missing will be added. No columns in the existing table will be deleted. If unspecified, then all available columns will be used for a new table or an (existing) table with no schema, and no changes will be made to an existing table that has a schema. Only for use with external storage. - "table": { # Message defining the location of a BigQuery table. A table is uniquely identified by its project_id, dataset_id, and table_name. Within a query a table is often referenced with a string in the format of: `:.` or `..`. # Store findings in an existing table or a new table in an existing dataset. If table_id is not set a new one will be generated for you with the following format: dlp_googleapis_yyyy_mm_dd_[dlp_job_id]. Pacific timezone will be used for generating the date details. For Inspect, each column in an existing output table must have the same name, type, and mode of a field in the `Finding` object. For Risk, an existing output table should be the output of a previous Risk analysis job run on the same source table, with the same privacy metric and quasi-identifiers. Risk jobs that analyze the same table but compute a different privacy metric, or use different sets of quasi-identifiers, cannot store their results in the same table. + "table": { # Message defining the location of a BigQuery table. A table is uniquely identified by its project_id, dataset_id, and table_name. Within a query a table is often referenced with a string in the format of: `:.` or `..`. # Store findings in an existing table or a new table in an existing dataset. If table_id is not set a new one will be generated for you with the following format: dlp_googleapis_yyyy_mm_dd_[dlp_job_id]. Pacific time zone will be used for generating the date details. For Inspect, each column in an existing output table must have the same name, type, and mode of a field in the `Finding` object. For Risk, an existing output table should be the output of a previous Risk analysis job run on the same source table, with the same privacy metric and quasi-identifiers. Risk jobs that analyze the same table but compute a different privacy metric, or use different sets of quasi-identifiers, cannot store their results in the same table. "datasetId": "A String", # Dataset ID of the table. "projectId": "A String", # The Google Cloud Platform project ID of the project containing the table. If omitted, project ID is inferred from the API call. "tableId": "A String", # Name of the table. @@ -556,21 +592,39 @@

Method Details

"jobConfig": { # Controls what and how to inspect for findings. # Inspect config. "actions": [ # Actions to execute at the completion of the job. { # A task to execute on the completion of a job. See https://cloud.google.com/dlp/docs/concepts-actions to learn more. + "deidentify": { # Create a de-identified copy of the requested table or files. . A TransformationDetail will be created for each transformation. If any rows in BigQuery are skipped during de-identification (transformation errors or row size exceeds BigQuery insert API limits) they are placed in the failure output table. If the original row exceeds the BigQuery insert API limit it will be truncated when written to the failure output table. The failure output table can be set in the action.deidentify.output.big_query_output.deidentified_failure_output_table field, if no table is set, a table will be automatically created in the same project and dataset as the original table. Compatible with: Inspect # Create a de-identified copy of the input data. Applicable for non-image data only. The de-identified copy is in the same location as the original data. + "cloudStorageOutput": "A String", # Required. User settable GCS bucket and folders to store de-identified files. This field must be set for cloud storage deidentification. The output GCS bucket must be different from the input bucket. De-identified files will overwrite files in the output path. Form of: gs://bucket/folder/ or gs://bucket + "fileTypesToTransform": [ # List of user-specified file type groups to transform. If specified, only the files with these filetypes will be transformed. If empty, all supported files will be transformed. Supported types may be automatically added over time. If a file type is set in this field that isn't supported by the Deidentify action then the job will fail and will not be successfully created/started. Currently the only filetypes supported are: IMAGES, TEXT_FILES, CSV, TSV. + "A String", + ], + "transformationConfig": { # User specified templates and configs for how to deidentify structured, unstructures, and image files. User must provide either a unstructured deidentify template or at least one redact image config. # User specified deidentify templates and configs for structured, unstructured, and image files. + "deidentifyTemplate": "A String", # De-identify template. If this template is specified, it will serve as the default de-identify template. This template cannot contain `record_transformations` since it can be used for unstructured content such as free-form text files. If this template is not set, a default `ReplaceWithInfoTypeConfig` will be used to de-identify unstructured content. + "imageRedactTemplate": "A String", # Image redact template. If this template is specified, it will serve as the de-identify template for images. If this template is not set, all findings in the image will be redacted with a black box. + "structuredDeidentifyTemplate": "A String", # Structured de-identify template. If this template is specified, it will serve as the de-identify template for structured content such as delimited files and tables. If this template is not set but the `deidentify_template` is set, then `deidentify_template` will also apply to the structured content. If neither template is set, a default `ReplaceWithInfoTypeConfig` will be used to de-identify structured content. + }, + "transformationDetailsStorageConfig": { # Config for storing transformation details. # Config for storing transformation details. This is separate from the de-identified content, and contains metadata about the successful transformations and/or failures that occurred while de-identifying. This needs to be set in order for users to access information about the status of each transformation (see TransformationDetails message for more information about what is noted). + "table": { # Message defining the location of a BigQuery table. A table is uniquely identified by its project_id, dataset_id, and table_name. Within a query a table is often referenced with a string in the format of: `:.` or `..`. # The BigQuery table in which to store the output. This may be an existing table or in a new table in an existing dataset. If table_id is not set a new one will be generated for you with the following format: dlp_googleapis_transformation_details_yyyy_mm_dd_[dlp_job_id]. Pacific time zone will be used for generating the date details. + "datasetId": "A String", # Dataset ID of the table. + "projectId": "A String", # The Google Cloud Platform project ID of the project containing the table. If omitted, project ID is inferred from the API call. + "tableId": "A String", # Name of the table. + }, + }, + }, "jobNotificationEmails": { # Enable email notification to project owners and editors on jobs's completion/failure. # Enable email notification for project owners and editors on job's completion/failure. }, - "pubSub": { # Publish a message into given Pub/Sub topic when DlpJob has completed. The message contains a single field, `DlpJobName`, which is equal to the finished job's [`DlpJob.name`](https://cloud.google.com/dlp/docs/reference/rest/v2/projects.dlpJobs#DlpJob). Compatible with: Inspect, Risk # Publish a notification to a pubsub topic. + "pubSub": { # Publish a message into a given Pub/Sub topic when DlpJob has completed. The message contains a single field, `DlpJobName`, which is equal to the finished job's [`DlpJob.name`](https://cloud.google.com/dlp/docs/reference/rest/v2/projects.dlpJobs#DlpJob). Compatible with: Inspect, Risk # Publish a notification to a pubsub topic. "topic": "A String", # Cloud Pub/Sub topic to send notifications to. The topic must have given publishing access rights to the DLP API service account executing the long running DlpJob sending the notifications. Format is projects/{project}/topics/{topic}. }, "publishFindingsToCloudDataCatalog": { # Publish findings of a DlpJob to Data Catalog. Labels summarizing the results of the DlpJob will be applied to the entry for the resource scanned in Data Catalog. Any labels previously written by another DlpJob will be deleted. InfoType naming patterns are strictly enforced when using this feature. Note that the findings will be persisted in Data Catalog storage and are governed by Data Catalog service-specific policy, see https://cloud.google.com/terms/service-terms Only a single instance of this action can be specified and only allowed if all resources being scanned are BigQuery tables. Compatible with: Inspect # Publish findings to Cloud Datahub. }, - "publishSummaryToCscc": { # Publish the result summary of a DlpJob to the Cloud Security Command Center (CSCC Alpha). This action is only available for projects which are parts of an organization and whitelisted for the alpha Cloud Security Command Center. The action will publish count of finding instances and their info types. The summary of findings will be persisted in CSCC and are governed by CSCC service-specific policy, see https://cloud.google.com/terms/service-terms Only a single instance of this action can be specified. Compatible with: Inspect # Publish summary to Cloud Security Command Center (Alpha). + "publishSummaryToCscc": { # Publish the result summary of a DlpJob to the Cloud Security Command Center (CSCC Alpha). This action is only available for projects which are parts of an organization and whitelisted for the alpha Cloud Security Command Center. The action will publish the count of finding instances and their info types. The summary of findings will be persisted in CSCC and are governed by CSCC service-specific policy, see https://cloud.google.com/terms/service-terms Only a single instance of this action can be specified. Compatible with: Inspect # Publish summary to Cloud Security Command Center (Alpha). }, "publishToStackdriver": { # Enable Stackdriver metric dlp.googleapis.com/finding_count. This will publish a metric to stack driver on each infotype requested and how many findings were found for it. CustomDetectors will be bucketed as 'Custom' under the Stackdriver label 'info_type'. # Enable Stackdriver metric dlp.googleapis.com/finding_count. }, "saveFindings": { # If set, the detailed findings will be persisted to the specified OutputStorageConfig. Only a single instance of this action can be specified. Compatible with: Inspect, Risk # Save resulting findings in a provided location. "outputConfig": { # Cloud repository for storing output. # Location to store findings outside of DLP. "outputSchema": "A String", # Schema used for writing the findings for Inspect jobs. This field is only used for Inspect and must be unspecified for Risk jobs. Columns are derived from the `Finding` object. If appending to an existing table, any columns from the predefined schema that are missing will be added. No columns in the existing table will be deleted. If unspecified, then all available columns will be used for a new table or an (existing) table with no schema, and no changes will be made to an existing table that has a schema. Only for use with external storage. - "table": { # Message defining the location of a BigQuery table. A table is uniquely identified by its project_id, dataset_id, and table_name. Within a query a table is often referenced with a string in the format of: `:.` or `..`. # Store findings in an existing table or a new table in an existing dataset. If table_id is not set a new one will be generated for you with the following format: dlp_googleapis_yyyy_mm_dd_[dlp_job_id]. Pacific timezone will be used for generating the date details. For Inspect, each column in an existing output table must have the same name, type, and mode of a field in the `Finding` object. For Risk, an existing output table should be the output of a previous Risk analysis job run on the same source table, with the same privacy metric and quasi-identifiers. Risk jobs that analyze the same table but compute a different privacy metric, or use different sets of quasi-identifiers, cannot store their results in the same table. + "table": { # Message defining the location of a BigQuery table. A table is uniquely identified by its project_id, dataset_id, and table_name. Within a query a table is often referenced with a string in the format of: `:.` or `..`. # Store findings in an existing table or a new table in an existing dataset. If table_id is not set a new one will be generated for you with the following format: dlp_googleapis_yyyy_mm_dd_[dlp_job_id]. Pacific time zone will be used for generating the date details. For Inspect, each column in an existing output table must have the same name, type, and mode of a field in the `Finding` object. For Risk, an existing output table should be the output of a previous Risk analysis job run on the same source table, with the same privacy metric and quasi-identifiers. Risk jobs that analyze the same table but compute a different privacy metric, or use different sets of quasi-identifiers, cannot store their results in the same table. "datasetId": "A String", # Dataset ID of the table. "projectId": "A String", # The Google Cloud Platform project ID of the project containing the table. If omitted, project ID is inferred from the API call. "tableId": "A String", # Name of the table. @@ -643,7 +697,7 @@

Method Details

"version": "A String", # Optional version name for this InfoType. }, ], - "limits": { # Configuration to control the number of findings returned for inspection. This is not used for de-identification or data profiling. # Configuration to control the number of findings returned. This is not used for data profiling. + "limits": { # Configuration to control the number of findings returned for inspection. This is not used for de-identification or data profiling. When redacting sensitive data from images, finding limits don't apply. They can cause unexpected or inconsistent results, where only some data is redacted. Don't include finding limits in RedactImage requests. Otherwise, Cloud DLP returns an error. # Configuration to control the number of findings returned. This is not used for data profiling. When redacting sensitive data from images, finding limits don't apply. They can cause unexpected or inconsistent results, where only some data is redacted. Don't include finding limits in RedactImage requests. Otherwise, Cloud DLP returns an error. "maxFindingsPerInfoType": [ # Configuration of findings limit given for specified infoTypes. { # Max findings configuration per infoType, per content item or long running DlpJob. "infoType": { # Type of information detected by the API. # Type of information the findings limit applies to. Only one limit per info_type should be provided. If InfoTypeLimit does not have an info_type, the DLP API applies the limit against all info_types that are found but not specified in another InfoTypeLimit. @@ -678,7 +732,7 @@

Method Details

], }, }, - "excludeInfoTypes": { # List of exclude infoTypes. # Set of infoTypes for which findings would affect this rule. + "excludeInfoTypes": { # List of excluded infoTypes. # Set of infoTypes for which findings would affect this rule. "infoTypes": [ # InfoType list in ExclusionRule rule drops a finding when it overlaps or contained within with a finding of an infoType from this list. For example, for `InspectionRuleSet.info_types` containing "PHONE_NUMBER"` and `exclusion_rule` containing `exclude_info_types.info_types` with "EMAIL_ADDRESS" the phone number findings are dropped if they overlap with EMAIL_ADDRESS finding. That leads to "555-222-2222@example.org" to generate only a single finding, namely email address. { # Type of information detected by the API. "name": "A String", # Name of the information type. Either a name of your choosing when creating a CustomInfoType, or one of the names listed at https://cloud.google.com/dlp/docs/infotypes-reference when specifying a built-in type. When sending Cloud DLP results to Data Catalog, infoType names should conform to the pattern `[A-Za-z0-9$-_]{1,64}`. @@ -742,7 +796,7 @@

Method Details

"tableId": "A String", # Name of the table. }, }, - "cloudStorageOptions": { # Options defining a file or a set of files within a Google Cloud Storage bucket. # Google Cloud Storage options. + "cloudStorageOptions": { # Options defining a file or a set of files within a Cloud Storage bucket. # Cloud Storage options. "bytesLimitPerFile": "A String", # Max number of bytes to scan from a file. If a scanned file's size is bigger than this value then the rest of the bytes are omitted. Only one of bytes_limit_per_file and bytes_limit_per_file_percent can be specified. Cannot be set if de-identification is requested. "bytesLimitPerFilePercent": 42, # Max percentage of bytes to scan from a file. The rest are omitted. The number of bytes scanned is rounded down. Must be between 0 and 100, inclusively. Both 0 and 100 means no limit. Defaults to 0. Only one of bytes_limit_per_file and bytes_limit_per_file_percent can be specified. Cannot be set if de-identification is requested. "fileSet": { # Set of files to scan. # The set of one or more files to scan. @@ -788,11 +842,11 @@

Method Details

], }, }, - "timespanConfig": { # Configuration of the timespan of the items to include in scanning. Currently only supported when inspecting Google Cloud Storage and BigQuery. + "timespanConfig": { # Configuration of the timespan of the items to include in scanning. Currently only supported when inspecting Cloud Storage and BigQuery. "enableAutoPopulationOfTimespanConfig": True or False, # When the job is started by a JobTrigger we will automatically figure out a valid start_time to avoid scanning files that have not been modified since the last time the JobTrigger executed. This will be based on the time of the execution of the last run of the JobTrigger. "endTime": "A String", # Exclude files, tables, or rows newer than this value. If not set, no upper time limit is applied. "startTime": "A String", # Exclude files, tables, or rows older than this value. If not set, no lower time limit is applied. - "timestampField": { # General identifier of a data field in a storage service. # Specification of the field containing the timestamp of scanned items. Used for data sources like Datastore and BigQuery. For BigQuery: If this value is not specified and the table was modified between the given start and end times, the entire table will be scanned. If this value is specified, then rows are filtered based on the given start and end times. Rows with a `NULL` value in the provided BigQuery column are skipped. Valid data types of the provided BigQuery column are: `INTEGER`, `DATE`, `TIMESTAMP`, and `DATETIME`. For Datastore: If this value is specified, then entities are filtered based on the given start and end times. If an entity does not contain the provided timestamp property or contains empty or invalid values, then it is included. Valid data types of the provided timestamp property are: `TIMESTAMP`. + "timestampField": { # General identifier of a data field in a storage service. # Specification of the field containing the timestamp of scanned items. Used for data sources like Datastore and BigQuery. *For BigQuery* If this value is not specified and the table was modified between the given start and end times, the entire table will be scanned. If this value is specified, then rows are filtered based on the given start and end times. Rows with a `NULL` value in the provided BigQuery column are skipped. Valid data types of the provided BigQuery column are: `INTEGER`, `DATE`, `TIMESTAMP`, and `DATETIME`. If your BigQuery table is [partitioned at ingestion time](https://cloud.google.com/bigquery/docs/partitioned-tables#ingestion_time), you can use any of the following pseudo-columns as your timestamp field. When used with Cloud DLP, these pseudo-column names are case sensitive. - _PARTITIONTIME - _PARTITIONDATE - _PARTITION_LOAD_TIME *For Datastore* If this value is specified, then entities are filtered based on the given start and end times. If an entity does not contain the provided timestamp property or contains empty or invalid values, then it is included. Valid data types of the provided timestamp property are: `TIMESTAMP`. See the [known issue](https://cloud.google.com/dlp/docs/known-issues#bq-timespan) related to this operation. "name": "A String", # Name describing the field. }, }, @@ -866,7 +920,7 @@

Method Details

"version": "A String", # Optional version name for this InfoType. }, ], - "limits": { # Configuration to control the number of findings returned for inspection. This is not used for de-identification or data profiling. # Configuration to control the number of findings returned. This is not used for data profiling. + "limits": { # Configuration to control the number of findings returned for inspection. This is not used for de-identification or data profiling. When redacting sensitive data from images, finding limits don't apply. They can cause unexpected or inconsistent results, where only some data is redacted. Don't include finding limits in RedactImage requests. Otherwise, Cloud DLP returns an error. # Configuration to control the number of findings returned. This is not used for data profiling. When redacting sensitive data from images, finding limits don't apply. They can cause unexpected or inconsistent results, where only some data is redacted. Don't include finding limits in RedactImage requests. Otherwise, Cloud DLP returns an error. "maxFindingsPerInfoType": [ # Configuration of findings limit given for specified infoTypes. { # Max findings configuration per infoType, per content item or long running DlpJob. "infoType": { # Type of information detected by the API. # Type of information the findings limit applies to. Only one limit per info_type should be provided. If InfoTypeLimit does not have an info_type, the DLP API applies the limit against all info_types that are found but not specified in another InfoTypeLimit. @@ -901,7 +955,7 @@

Method Details

], }, }, - "excludeInfoTypes": { # List of exclude infoTypes. # Set of infoTypes for which findings would affect this rule. + "excludeInfoTypes": { # List of excluded infoTypes. # Set of infoTypes for which findings would affect this rule. "infoTypes": [ # InfoType list in ExclusionRule rule drops a finding when it overlaps or contained within with a finding of an infoType from this list. For example, for `InspectionRuleSet.info_types` containing "PHONE_NUMBER"` and `exclusion_rule` containing `exclude_info_types.info_types` with "EMAIL_ADDRESS" the phone number findings are dropped if they overlap with EMAIL_ADDRESS finding. That leads to "555-222-2222@example.org" to generate only a single finding, namely email address. { # Type of information detected by the API. "name": "A String", # Name of the information type. Either a name of your choosing when creating a CustomInfoType, or one of the names listed at https://cloud.google.com/dlp/docs/infotypes-reference when specifying a built-in type. When sending Cloud DLP results to Data Catalog, infoType names should conform to the pattern `[A-Za-z0-9$-_]{1,64}`. @@ -1232,21 +1286,39 @@

Method Details

"jobConfig": { # Configuration for a risk analysis job. See https://cloud.google.com/dlp/docs/concepts-risk-analysis to learn more. # The job config for the risk job. "actions": [ # Actions to execute at the completion of the job. Are executed in the order provided. { # A task to execute on the completion of a job. See https://cloud.google.com/dlp/docs/concepts-actions to learn more. + "deidentify": { # Create a de-identified copy of the requested table or files. . A TransformationDetail will be created for each transformation. If any rows in BigQuery are skipped during de-identification (transformation errors or row size exceeds BigQuery insert API limits) they are placed in the failure output table. If the original row exceeds the BigQuery insert API limit it will be truncated when written to the failure output table. The failure output table can be set in the action.deidentify.output.big_query_output.deidentified_failure_output_table field, if no table is set, a table will be automatically created in the same project and dataset as the original table. Compatible with: Inspect # Create a de-identified copy of the input data. Applicable for non-image data only. The de-identified copy is in the same location as the original data. + "cloudStorageOutput": "A String", # Required. User settable GCS bucket and folders to store de-identified files. This field must be set for cloud storage deidentification. The output GCS bucket must be different from the input bucket. De-identified files will overwrite files in the output path. Form of: gs://bucket/folder/ or gs://bucket + "fileTypesToTransform": [ # List of user-specified file type groups to transform. If specified, only the files with these filetypes will be transformed. If empty, all supported files will be transformed. Supported types may be automatically added over time. If a file type is set in this field that isn't supported by the Deidentify action then the job will fail and will not be successfully created/started. Currently the only filetypes supported are: IMAGES, TEXT_FILES, CSV, TSV. + "A String", + ], + "transformationConfig": { # User specified templates and configs for how to deidentify structured, unstructures, and image files. User must provide either a unstructured deidentify template or at least one redact image config. # User specified deidentify templates and configs for structured, unstructured, and image files. + "deidentifyTemplate": "A String", # De-identify template. If this template is specified, it will serve as the default de-identify template. This template cannot contain `record_transformations` since it can be used for unstructured content such as free-form text files. If this template is not set, a default `ReplaceWithInfoTypeConfig` will be used to de-identify unstructured content. + "imageRedactTemplate": "A String", # Image redact template. If this template is specified, it will serve as the de-identify template for images. If this template is not set, all findings in the image will be redacted with a black box. + "structuredDeidentifyTemplate": "A String", # Structured de-identify template. If this template is specified, it will serve as the de-identify template for structured content such as delimited files and tables. If this template is not set but the `deidentify_template` is set, then `deidentify_template` will also apply to the structured content. If neither template is set, a default `ReplaceWithInfoTypeConfig` will be used to de-identify structured content. + }, + "transformationDetailsStorageConfig": { # Config for storing transformation details. # Config for storing transformation details. This is separate from the de-identified content, and contains metadata about the successful transformations and/or failures that occurred while de-identifying. This needs to be set in order for users to access information about the status of each transformation (see TransformationDetails message for more information about what is noted). + "table": { # Message defining the location of a BigQuery table. A table is uniquely identified by its project_id, dataset_id, and table_name. Within a query a table is often referenced with a string in the format of: `:.` or `..`. # The BigQuery table in which to store the output. This may be an existing table or in a new table in an existing dataset. If table_id is not set a new one will be generated for you with the following format: dlp_googleapis_transformation_details_yyyy_mm_dd_[dlp_job_id]. Pacific time zone will be used for generating the date details. + "datasetId": "A String", # Dataset ID of the table. + "projectId": "A String", # The Google Cloud Platform project ID of the project containing the table. If omitted, project ID is inferred from the API call. + "tableId": "A String", # Name of the table. + }, + }, + }, "jobNotificationEmails": { # Enable email notification to project owners and editors on jobs's completion/failure. # Enable email notification for project owners and editors on job's completion/failure. }, - "pubSub": { # Publish a message into given Pub/Sub topic when DlpJob has completed. The message contains a single field, `DlpJobName`, which is equal to the finished job's [`DlpJob.name`](https://cloud.google.com/dlp/docs/reference/rest/v2/projects.dlpJobs#DlpJob). Compatible with: Inspect, Risk # Publish a notification to a pubsub topic. + "pubSub": { # Publish a message into a given Pub/Sub topic when DlpJob has completed. The message contains a single field, `DlpJobName`, which is equal to the finished job's [`DlpJob.name`](https://cloud.google.com/dlp/docs/reference/rest/v2/projects.dlpJobs#DlpJob). Compatible with: Inspect, Risk # Publish a notification to a pubsub topic. "topic": "A String", # Cloud Pub/Sub topic to send notifications to. The topic must have given publishing access rights to the DLP API service account executing the long running DlpJob sending the notifications. Format is projects/{project}/topics/{topic}. }, "publishFindingsToCloudDataCatalog": { # Publish findings of a DlpJob to Data Catalog. Labels summarizing the results of the DlpJob will be applied to the entry for the resource scanned in Data Catalog. Any labels previously written by another DlpJob will be deleted. InfoType naming patterns are strictly enforced when using this feature. Note that the findings will be persisted in Data Catalog storage and are governed by Data Catalog service-specific policy, see https://cloud.google.com/terms/service-terms Only a single instance of this action can be specified and only allowed if all resources being scanned are BigQuery tables. Compatible with: Inspect # Publish findings to Cloud Datahub. }, - "publishSummaryToCscc": { # Publish the result summary of a DlpJob to the Cloud Security Command Center (CSCC Alpha). This action is only available for projects which are parts of an organization and whitelisted for the alpha Cloud Security Command Center. The action will publish count of finding instances and their info types. The summary of findings will be persisted in CSCC and are governed by CSCC service-specific policy, see https://cloud.google.com/terms/service-terms Only a single instance of this action can be specified. Compatible with: Inspect # Publish summary to Cloud Security Command Center (Alpha). + "publishSummaryToCscc": { # Publish the result summary of a DlpJob to the Cloud Security Command Center (CSCC Alpha). This action is only available for projects which are parts of an organization and whitelisted for the alpha Cloud Security Command Center. The action will publish the count of finding instances and their info types. The summary of findings will be persisted in CSCC and are governed by CSCC service-specific policy, see https://cloud.google.com/terms/service-terms Only a single instance of this action can be specified. Compatible with: Inspect # Publish summary to Cloud Security Command Center (Alpha). }, "publishToStackdriver": { # Enable Stackdriver metric dlp.googleapis.com/finding_count. This will publish a metric to stack driver on each infotype requested and how many findings were found for it. CustomDetectors will be bucketed as 'Custom' under the Stackdriver label 'info_type'. # Enable Stackdriver metric dlp.googleapis.com/finding_count. }, "saveFindings": { # If set, the detailed findings will be persisted to the specified OutputStorageConfig. Only a single instance of this action can be specified. Compatible with: Inspect, Risk # Save resulting findings in a provided location. "outputConfig": { # Cloud repository for storing output. # Location to store findings outside of DLP. "outputSchema": "A String", # Schema used for writing the findings for Inspect jobs. This field is only used for Inspect and must be unspecified for Risk jobs. Columns are derived from the `Finding` object. If appending to an existing table, any columns from the predefined schema that are missing will be added. No columns in the existing table will be deleted. If unspecified, then all available columns will be used for a new table or an (existing) table with no schema, and no changes will be made to an existing table that has a schema. Only for use with external storage. - "table": { # Message defining the location of a BigQuery table. A table is uniquely identified by its project_id, dataset_id, and table_name. Within a query a table is often referenced with a string in the format of: `:.` or `..`. # Store findings in an existing table or a new table in an existing dataset. If table_id is not set a new one will be generated for you with the following format: dlp_googleapis_yyyy_mm_dd_[dlp_job_id]. Pacific timezone will be used for generating the date details. For Inspect, each column in an existing output table must have the same name, type, and mode of a field in the `Finding` object. For Risk, an existing output table should be the output of a previous Risk analysis job run on the same source table, with the same privacy metric and quasi-identifiers. Risk jobs that analyze the same table but compute a different privacy metric, or use different sets of quasi-identifiers, cannot store their results in the same table. + "table": { # Message defining the location of a BigQuery table. A table is uniquely identified by its project_id, dataset_id, and table_name. Within a query a table is often referenced with a string in the format of: `:.` or `..`. # Store findings in an existing table or a new table in an existing dataset. If table_id is not set a new one will be generated for you with the following format: dlp_googleapis_yyyy_mm_dd_[dlp_job_id]. Pacific time zone will be used for generating the date details. For Inspect, each column in an existing output table must have the same name, type, and mode of a field in the `Finding` object. For Risk, an existing output table should be the output of a previous Risk analysis job run on the same source table, with the same privacy metric and quasi-identifiers. Risk jobs that analyze the same table but compute a different privacy metric, or use different sets of quasi-identifiers, cannot store their results in the same table. "datasetId": "A String", # Dataset ID of the table. "projectId": "A String", # The Google Cloud Platform project ID of the project containing the table. If omitted, project ID is inferred from the API call. "tableId": "A String", # Name of the table. @@ -1492,7 +1564,7 @@

Method Details

delete(name, x__xgafv=None) -
Deletes a long-running DlpJob. This method indicates that the client is no longer interested in the DlpJob result. The job will be cancelled if possible. See https://cloud.google.com/dlp/docs/inspecting-storage and https://cloud.google.com/dlp/docs/compute-risk-analysis to learn more.
+  
Deletes a long-running DlpJob. This method indicates that the client is no longer interested in the DlpJob result. The job will be canceled if possible. See https://cloud.google.com/dlp/docs/inspecting-storage and https://cloud.google.com/dlp/docs/compute-risk-analysis to learn more.
 
 Args:
   name: string, Required. The name of the DlpJob resource to be deleted. (required)
@@ -1546,21 +1618,39 @@ 

Method Details

"jobConfig": { # Controls what and how to inspect for findings. # Inspect config. "actions": [ # Actions to execute at the completion of the job. { # A task to execute on the completion of a job. See https://cloud.google.com/dlp/docs/concepts-actions to learn more. + "deidentify": { # Create a de-identified copy of the requested table or files. . A TransformationDetail will be created for each transformation. If any rows in BigQuery are skipped during de-identification (transformation errors or row size exceeds BigQuery insert API limits) they are placed in the failure output table. If the original row exceeds the BigQuery insert API limit it will be truncated when written to the failure output table. The failure output table can be set in the action.deidentify.output.big_query_output.deidentified_failure_output_table field, if no table is set, a table will be automatically created in the same project and dataset as the original table. Compatible with: Inspect # Create a de-identified copy of the input data. Applicable for non-image data only. The de-identified copy is in the same location as the original data. + "cloudStorageOutput": "A String", # Required. User settable GCS bucket and folders to store de-identified files. This field must be set for cloud storage deidentification. The output GCS bucket must be different from the input bucket. De-identified files will overwrite files in the output path. Form of: gs://bucket/folder/ or gs://bucket + "fileTypesToTransform": [ # List of user-specified file type groups to transform. If specified, only the files with these filetypes will be transformed. If empty, all supported files will be transformed. Supported types may be automatically added over time. If a file type is set in this field that isn't supported by the Deidentify action then the job will fail and will not be successfully created/started. Currently the only filetypes supported are: IMAGES, TEXT_FILES, CSV, TSV. + "A String", + ], + "transformationConfig": { # User specified templates and configs for how to deidentify structured, unstructures, and image files. User must provide either a unstructured deidentify template or at least one redact image config. # User specified deidentify templates and configs for structured, unstructured, and image files. + "deidentifyTemplate": "A String", # De-identify template. If this template is specified, it will serve as the default de-identify template. This template cannot contain `record_transformations` since it can be used for unstructured content such as free-form text files. If this template is not set, a default `ReplaceWithInfoTypeConfig` will be used to de-identify unstructured content. + "imageRedactTemplate": "A String", # Image redact template. If this template is specified, it will serve as the de-identify template for images. If this template is not set, all findings in the image will be redacted with a black box. + "structuredDeidentifyTemplate": "A String", # Structured de-identify template. If this template is specified, it will serve as the de-identify template for structured content such as delimited files and tables. If this template is not set but the `deidentify_template` is set, then `deidentify_template` will also apply to the structured content. If neither template is set, a default `ReplaceWithInfoTypeConfig` will be used to de-identify structured content. + }, + "transformationDetailsStorageConfig": { # Config for storing transformation details. # Config for storing transformation details. This is separate from the de-identified content, and contains metadata about the successful transformations and/or failures that occurred while de-identifying. This needs to be set in order for users to access information about the status of each transformation (see TransformationDetails message for more information about what is noted). + "table": { # Message defining the location of a BigQuery table. A table is uniquely identified by its project_id, dataset_id, and table_name. Within a query a table is often referenced with a string in the format of: `:.` or `..`. # The BigQuery table in which to store the output. This may be an existing table or in a new table in an existing dataset. If table_id is not set a new one will be generated for you with the following format: dlp_googleapis_transformation_details_yyyy_mm_dd_[dlp_job_id]. Pacific time zone will be used for generating the date details. + "datasetId": "A String", # Dataset ID of the table. + "projectId": "A String", # The Google Cloud Platform project ID of the project containing the table. If omitted, project ID is inferred from the API call. + "tableId": "A String", # Name of the table. + }, + }, + }, "jobNotificationEmails": { # Enable email notification to project owners and editors on jobs's completion/failure. # Enable email notification for project owners and editors on job's completion/failure. }, - "pubSub": { # Publish a message into given Pub/Sub topic when DlpJob has completed. The message contains a single field, `DlpJobName`, which is equal to the finished job's [`DlpJob.name`](https://cloud.google.com/dlp/docs/reference/rest/v2/projects.dlpJobs#DlpJob). Compatible with: Inspect, Risk # Publish a notification to a pubsub topic. + "pubSub": { # Publish a message into a given Pub/Sub topic when DlpJob has completed. The message contains a single field, `DlpJobName`, which is equal to the finished job's [`DlpJob.name`](https://cloud.google.com/dlp/docs/reference/rest/v2/projects.dlpJobs#DlpJob). Compatible with: Inspect, Risk # Publish a notification to a pubsub topic. "topic": "A String", # Cloud Pub/Sub topic to send notifications to. The topic must have given publishing access rights to the DLP API service account executing the long running DlpJob sending the notifications. Format is projects/{project}/topics/{topic}. }, "publishFindingsToCloudDataCatalog": { # Publish findings of a DlpJob to Data Catalog. Labels summarizing the results of the DlpJob will be applied to the entry for the resource scanned in Data Catalog. Any labels previously written by another DlpJob will be deleted. InfoType naming patterns are strictly enforced when using this feature. Note that the findings will be persisted in Data Catalog storage and are governed by Data Catalog service-specific policy, see https://cloud.google.com/terms/service-terms Only a single instance of this action can be specified and only allowed if all resources being scanned are BigQuery tables. Compatible with: Inspect # Publish findings to Cloud Datahub. }, - "publishSummaryToCscc": { # Publish the result summary of a DlpJob to the Cloud Security Command Center (CSCC Alpha). This action is only available for projects which are parts of an organization and whitelisted for the alpha Cloud Security Command Center. The action will publish count of finding instances and their info types. The summary of findings will be persisted in CSCC and are governed by CSCC service-specific policy, see https://cloud.google.com/terms/service-terms Only a single instance of this action can be specified. Compatible with: Inspect # Publish summary to Cloud Security Command Center (Alpha). + "publishSummaryToCscc": { # Publish the result summary of a DlpJob to the Cloud Security Command Center (CSCC Alpha). This action is only available for projects which are parts of an organization and whitelisted for the alpha Cloud Security Command Center. The action will publish the count of finding instances and their info types. The summary of findings will be persisted in CSCC and are governed by CSCC service-specific policy, see https://cloud.google.com/terms/service-terms Only a single instance of this action can be specified. Compatible with: Inspect # Publish summary to Cloud Security Command Center (Alpha). }, "publishToStackdriver": { # Enable Stackdriver metric dlp.googleapis.com/finding_count. This will publish a metric to stack driver on each infotype requested and how many findings were found for it. CustomDetectors will be bucketed as 'Custom' under the Stackdriver label 'info_type'. # Enable Stackdriver metric dlp.googleapis.com/finding_count. }, "saveFindings": { # If set, the detailed findings will be persisted to the specified OutputStorageConfig. Only a single instance of this action can be specified. Compatible with: Inspect, Risk # Save resulting findings in a provided location. "outputConfig": { # Cloud repository for storing output. # Location to store findings outside of DLP. "outputSchema": "A String", # Schema used for writing the findings for Inspect jobs. This field is only used for Inspect and must be unspecified for Risk jobs. Columns are derived from the `Finding` object. If appending to an existing table, any columns from the predefined schema that are missing will be added. No columns in the existing table will be deleted. If unspecified, then all available columns will be used for a new table or an (existing) table with no schema, and no changes will be made to an existing table that has a schema. Only for use with external storage. - "table": { # Message defining the location of a BigQuery table. A table is uniquely identified by its project_id, dataset_id, and table_name. Within a query a table is often referenced with a string in the format of: `:.` or `..`. # Store findings in an existing table or a new table in an existing dataset. If table_id is not set a new one will be generated for you with the following format: dlp_googleapis_yyyy_mm_dd_[dlp_job_id]. Pacific timezone will be used for generating the date details. For Inspect, each column in an existing output table must have the same name, type, and mode of a field in the `Finding` object. For Risk, an existing output table should be the output of a previous Risk analysis job run on the same source table, with the same privacy metric and quasi-identifiers. Risk jobs that analyze the same table but compute a different privacy metric, or use different sets of quasi-identifiers, cannot store their results in the same table. + "table": { # Message defining the location of a BigQuery table. A table is uniquely identified by its project_id, dataset_id, and table_name. Within a query a table is often referenced with a string in the format of: `:.` or `..`. # Store findings in an existing table or a new table in an existing dataset. If table_id is not set a new one will be generated for you with the following format: dlp_googleapis_yyyy_mm_dd_[dlp_job_id]. Pacific time zone will be used for generating the date details. For Inspect, each column in an existing output table must have the same name, type, and mode of a field in the `Finding` object. For Risk, an existing output table should be the output of a previous Risk analysis job run on the same source table, with the same privacy metric and quasi-identifiers. Risk jobs that analyze the same table but compute a different privacy metric, or use different sets of quasi-identifiers, cannot store their results in the same table. "datasetId": "A String", # Dataset ID of the table. "projectId": "A String", # The Google Cloud Platform project ID of the project containing the table. If omitted, project ID is inferred from the API call. "tableId": "A String", # Name of the table. @@ -1633,7 +1723,7 @@

Method Details

"version": "A String", # Optional version name for this InfoType. }, ], - "limits": { # Configuration to control the number of findings returned for inspection. This is not used for de-identification or data profiling. # Configuration to control the number of findings returned. This is not used for data profiling. + "limits": { # Configuration to control the number of findings returned for inspection. This is not used for de-identification or data profiling. When redacting sensitive data from images, finding limits don't apply. They can cause unexpected or inconsistent results, where only some data is redacted. Don't include finding limits in RedactImage requests. Otherwise, Cloud DLP returns an error. # Configuration to control the number of findings returned. This is not used for data profiling. When redacting sensitive data from images, finding limits don't apply. They can cause unexpected or inconsistent results, where only some data is redacted. Don't include finding limits in RedactImage requests. Otherwise, Cloud DLP returns an error. "maxFindingsPerInfoType": [ # Configuration of findings limit given for specified infoTypes. { # Max findings configuration per infoType, per content item or long running DlpJob. "infoType": { # Type of information detected by the API. # Type of information the findings limit applies to. Only one limit per info_type should be provided. If InfoTypeLimit does not have an info_type, the DLP API applies the limit against all info_types that are found but not specified in another InfoTypeLimit. @@ -1668,7 +1758,7 @@

Method Details

], }, }, - "excludeInfoTypes": { # List of exclude infoTypes. # Set of infoTypes for which findings would affect this rule. + "excludeInfoTypes": { # List of excluded infoTypes. # Set of infoTypes for which findings would affect this rule. "infoTypes": [ # InfoType list in ExclusionRule rule drops a finding when it overlaps or contained within with a finding of an infoType from this list. For example, for `InspectionRuleSet.info_types` containing "PHONE_NUMBER"` and `exclusion_rule` containing `exclude_info_types.info_types` with "EMAIL_ADDRESS" the phone number findings are dropped if they overlap with EMAIL_ADDRESS finding. That leads to "555-222-2222@example.org" to generate only a single finding, namely email address. { # Type of information detected by the API. "name": "A String", # Name of the information type. Either a name of your choosing when creating a CustomInfoType, or one of the names listed at https://cloud.google.com/dlp/docs/infotypes-reference when specifying a built-in type. When sending Cloud DLP results to Data Catalog, infoType names should conform to the pattern `[A-Za-z0-9$-_]{1,64}`. @@ -1732,7 +1822,7 @@

Method Details

"tableId": "A String", # Name of the table. }, }, - "cloudStorageOptions": { # Options defining a file or a set of files within a Google Cloud Storage bucket. # Google Cloud Storage options. + "cloudStorageOptions": { # Options defining a file or a set of files within a Cloud Storage bucket. # Cloud Storage options. "bytesLimitPerFile": "A String", # Max number of bytes to scan from a file. If a scanned file's size is bigger than this value then the rest of the bytes are omitted. Only one of bytes_limit_per_file and bytes_limit_per_file_percent can be specified. Cannot be set if de-identification is requested. "bytesLimitPerFilePercent": 42, # Max percentage of bytes to scan from a file. The rest are omitted. The number of bytes scanned is rounded down. Must be between 0 and 100, inclusively. Both 0 and 100 means no limit. Defaults to 0. Only one of bytes_limit_per_file and bytes_limit_per_file_percent can be specified. Cannot be set if de-identification is requested. "fileSet": { # Set of files to scan. # The set of one or more files to scan. @@ -1778,11 +1868,11 @@

Method Details

], }, }, - "timespanConfig": { # Configuration of the timespan of the items to include in scanning. Currently only supported when inspecting Google Cloud Storage and BigQuery. + "timespanConfig": { # Configuration of the timespan of the items to include in scanning. Currently only supported when inspecting Cloud Storage and BigQuery. "enableAutoPopulationOfTimespanConfig": True or False, # When the job is started by a JobTrigger we will automatically figure out a valid start_time to avoid scanning files that have not been modified since the last time the JobTrigger executed. This will be based on the time of the execution of the last run of the JobTrigger. "endTime": "A String", # Exclude files, tables, or rows newer than this value. If not set, no upper time limit is applied. "startTime": "A String", # Exclude files, tables, or rows older than this value. If not set, no lower time limit is applied. - "timestampField": { # General identifier of a data field in a storage service. # Specification of the field containing the timestamp of scanned items. Used for data sources like Datastore and BigQuery. For BigQuery: If this value is not specified and the table was modified between the given start and end times, the entire table will be scanned. If this value is specified, then rows are filtered based on the given start and end times. Rows with a `NULL` value in the provided BigQuery column are skipped. Valid data types of the provided BigQuery column are: `INTEGER`, `DATE`, `TIMESTAMP`, and `DATETIME`. For Datastore: If this value is specified, then entities are filtered based on the given start and end times. If an entity does not contain the provided timestamp property or contains empty or invalid values, then it is included. Valid data types of the provided timestamp property are: `TIMESTAMP`. + "timestampField": { # General identifier of a data field in a storage service. # Specification of the field containing the timestamp of scanned items. Used for data sources like Datastore and BigQuery. *For BigQuery* If this value is not specified and the table was modified between the given start and end times, the entire table will be scanned. If this value is specified, then rows are filtered based on the given start and end times. Rows with a `NULL` value in the provided BigQuery column are skipped. Valid data types of the provided BigQuery column are: `INTEGER`, `DATE`, `TIMESTAMP`, and `DATETIME`. If your BigQuery table is [partitioned at ingestion time](https://cloud.google.com/bigquery/docs/partitioned-tables#ingestion_time), you can use any of the following pseudo-columns as your timestamp field. When used with Cloud DLP, these pseudo-column names are case sensitive. - _PARTITIONTIME - _PARTITIONDATE - _PARTITION_LOAD_TIME *For Datastore* If this value is specified, then entities are filtered based on the given start and end times. If an entity does not contain the provided timestamp property or contains empty or invalid values, then it is included. Valid data types of the provided timestamp property are: `TIMESTAMP`. See the [known issue](https://cloud.google.com/dlp/docs/known-issues#bq-timespan) related to this operation. "name": "A String", # Name describing the field. }, }, @@ -1856,7 +1946,7 @@

Method Details

"version": "A String", # Optional version name for this InfoType. }, ], - "limits": { # Configuration to control the number of findings returned for inspection. This is not used for de-identification or data profiling. # Configuration to control the number of findings returned. This is not used for data profiling. + "limits": { # Configuration to control the number of findings returned for inspection. This is not used for de-identification or data profiling. When redacting sensitive data from images, finding limits don't apply. They can cause unexpected or inconsistent results, where only some data is redacted. Don't include finding limits in RedactImage requests. Otherwise, Cloud DLP returns an error. # Configuration to control the number of findings returned. This is not used for data profiling. When redacting sensitive data from images, finding limits don't apply. They can cause unexpected or inconsistent results, where only some data is redacted. Don't include finding limits in RedactImage requests. Otherwise, Cloud DLP returns an error. "maxFindingsPerInfoType": [ # Configuration of findings limit given for specified infoTypes. { # Max findings configuration per infoType, per content item or long running DlpJob. "infoType": { # Type of information detected by the API. # Type of information the findings limit applies to. Only one limit per info_type should be provided. If InfoTypeLimit does not have an info_type, the DLP API applies the limit against all info_types that are found but not specified in another InfoTypeLimit. @@ -1891,7 +1981,7 @@

Method Details

], }, }, - "excludeInfoTypes": { # List of exclude infoTypes. # Set of infoTypes for which findings would affect this rule. + "excludeInfoTypes": { # List of excluded infoTypes. # Set of infoTypes for which findings would affect this rule. "infoTypes": [ # InfoType list in ExclusionRule rule drops a finding when it overlaps or contained within with a finding of an infoType from this list. For example, for `InspectionRuleSet.info_types` containing "PHONE_NUMBER"` and `exclusion_rule` containing `exclude_info_types.info_types` with "EMAIL_ADDRESS" the phone number findings are dropped if they overlap with EMAIL_ADDRESS finding. That leads to "555-222-2222@example.org" to generate only a single finding, namely email address. { # Type of information detected by the API. "name": "A String", # Name of the information type. Either a name of your choosing when creating a CustomInfoType, or one of the names listed at https://cloud.google.com/dlp/docs/infotypes-reference when specifying a built-in type. When sending Cloud DLP results to Data Catalog, infoType names should conform to the pattern `[A-Za-z0-9$-_]{1,64}`. @@ -2222,21 +2312,39 @@

Method Details

"jobConfig": { # Configuration for a risk analysis job. See https://cloud.google.com/dlp/docs/concepts-risk-analysis to learn more. # The job config for the risk job. "actions": [ # Actions to execute at the completion of the job. Are executed in the order provided. { # A task to execute on the completion of a job. See https://cloud.google.com/dlp/docs/concepts-actions to learn more. + "deidentify": { # Create a de-identified copy of the requested table or files. . A TransformationDetail will be created for each transformation. If any rows in BigQuery are skipped during de-identification (transformation errors or row size exceeds BigQuery insert API limits) they are placed in the failure output table. If the original row exceeds the BigQuery insert API limit it will be truncated when written to the failure output table. The failure output table can be set in the action.deidentify.output.big_query_output.deidentified_failure_output_table field, if no table is set, a table will be automatically created in the same project and dataset as the original table. Compatible with: Inspect # Create a de-identified copy of the input data. Applicable for non-image data only. The de-identified copy is in the same location as the original data. + "cloudStorageOutput": "A String", # Required. User settable GCS bucket and folders to store de-identified files. This field must be set for cloud storage deidentification. The output GCS bucket must be different from the input bucket. De-identified files will overwrite files in the output path. Form of: gs://bucket/folder/ or gs://bucket + "fileTypesToTransform": [ # List of user-specified file type groups to transform. If specified, only the files with these filetypes will be transformed. If empty, all supported files will be transformed. Supported types may be automatically added over time. If a file type is set in this field that isn't supported by the Deidentify action then the job will fail and will not be successfully created/started. Currently the only filetypes supported are: IMAGES, TEXT_FILES, CSV, TSV. + "A String", + ], + "transformationConfig": { # User specified templates and configs for how to deidentify structured, unstructures, and image files. User must provide either a unstructured deidentify template or at least one redact image config. # User specified deidentify templates and configs for structured, unstructured, and image files. + "deidentifyTemplate": "A String", # De-identify template. If this template is specified, it will serve as the default de-identify template. This template cannot contain `record_transformations` since it can be used for unstructured content such as free-form text files. If this template is not set, a default `ReplaceWithInfoTypeConfig` will be used to de-identify unstructured content. + "imageRedactTemplate": "A String", # Image redact template. If this template is specified, it will serve as the de-identify template for images. If this template is not set, all findings in the image will be redacted with a black box. + "structuredDeidentifyTemplate": "A String", # Structured de-identify template. If this template is specified, it will serve as the de-identify template for structured content such as delimited files and tables. If this template is not set but the `deidentify_template` is set, then `deidentify_template` will also apply to the structured content. If neither template is set, a default `ReplaceWithInfoTypeConfig` will be used to de-identify structured content. + }, + "transformationDetailsStorageConfig": { # Config for storing transformation details. # Config for storing transformation details. This is separate from the de-identified content, and contains metadata about the successful transformations and/or failures that occurred while de-identifying. This needs to be set in order for users to access information about the status of each transformation (see TransformationDetails message for more information about what is noted). + "table": { # Message defining the location of a BigQuery table. A table is uniquely identified by its project_id, dataset_id, and table_name. Within a query a table is often referenced with a string in the format of: `:.` or `..`. # The BigQuery table in which to store the output. This may be an existing table or in a new table in an existing dataset. If table_id is not set a new one will be generated for you with the following format: dlp_googleapis_transformation_details_yyyy_mm_dd_[dlp_job_id]. Pacific time zone will be used for generating the date details. + "datasetId": "A String", # Dataset ID of the table. + "projectId": "A String", # The Google Cloud Platform project ID of the project containing the table. If omitted, project ID is inferred from the API call. + "tableId": "A String", # Name of the table. + }, + }, + }, "jobNotificationEmails": { # Enable email notification to project owners and editors on jobs's completion/failure. # Enable email notification for project owners and editors on job's completion/failure. }, - "pubSub": { # Publish a message into given Pub/Sub topic when DlpJob has completed. The message contains a single field, `DlpJobName`, which is equal to the finished job's [`DlpJob.name`](https://cloud.google.com/dlp/docs/reference/rest/v2/projects.dlpJobs#DlpJob). Compatible with: Inspect, Risk # Publish a notification to a pubsub topic. + "pubSub": { # Publish a message into a given Pub/Sub topic when DlpJob has completed. The message contains a single field, `DlpJobName`, which is equal to the finished job's [`DlpJob.name`](https://cloud.google.com/dlp/docs/reference/rest/v2/projects.dlpJobs#DlpJob). Compatible with: Inspect, Risk # Publish a notification to a pubsub topic. "topic": "A String", # Cloud Pub/Sub topic to send notifications to. The topic must have given publishing access rights to the DLP API service account executing the long running DlpJob sending the notifications. Format is projects/{project}/topics/{topic}. }, "publishFindingsToCloudDataCatalog": { # Publish findings of a DlpJob to Data Catalog. Labels summarizing the results of the DlpJob will be applied to the entry for the resource scanned in Data Catalog. Any labels previously written by another DlpJob will be deleted. InfoType naming patterns are strictly enforced when using this feature. Note that the findings will be persisted in Data Catalog storage and are governed by Data Catalog service-specific policy, see https://cloud.google.com/terms/service-terms Only a single instance of this action can be specified and only allowed if all resources being scanned are BigQuery tables. Compatible with: Inspect # Publish findings to Cloud Datahub. }, - "publishSummaryToCscc": { # Publish the result summary of a DlpJob to the Cloud Security Command Center (CSCC Alpha). This action is only available for projects which are parts of an organization and whitelisted for the alpha Cloud Security Command Center. The action will publish count of finding instances and their info types. The summary of findings will be persisted in CSCC and are governed by CSCC service-specific policy, see https://cloud.google.com/terms/service-terms Only a single instance of this action can be specified. Compatible with: Inspect # Publish summary to Cloud Security Command Center (Alpha). + "publishSummaryToCscc": { # Publish the result summary of a DlpJob to the Cloud Security Command Center (CSCC Alpha). This action is only available for projects which are parts of an organization and whitelisted for the alpha Cloud Security Command Center. The action will publish the count of finding instances and their info types. The summary of findings will be persisted in CSCC and are governed by CSCC service-specific policy, see https://cloud.google.com/terms/service-terms Only a single instance of this action can be specified. Compatible with: Inspect # Publish summary to Cloud Security Command Center (Alpha). }, "publishToStackdriver": { # Enable Stackdriver metric dlp.googleapis.com/finding_count. This will publish a metric to stack driver on each infotype requested and how many findings were found for it. CustomDetectors will be bucketed as 'Custom' under the Stackdriver label 'info_type'. # Enable Stackdriver metric dlp.googleapis.com/finding_count. }, "saveFindings": { # If set, the detailed findings will be persisted to the specified OutputStorageConfig. Only a single instance of this action can be specified. Compatible with: Inspect, Risk # Save resulting findings in a provided location. "outputConfig": { # Cloud repository for storing output. # Location to store findings outside of DLP. "outputSchema": "A String", # Schema used for writing the findings for Inspect jobs. This field is only used for Inspect and must be unspecified for Risk jobs. Columns are derived from the `Finding` object. If appending to an existing table, any columns from the predefined schema that are missing will be added. No columns in the existing table will be deleted. If unspecified, then all available columns will be used for a new table or an (existing) table with no schema, and no changes will be made to an existing table that has a schema. Only for use with external storage. - "table": { # Message defining the location of a BigQuery table. A table is uniquely identified by its project_id, dataset_id, and table_name. Within a query a table is often referenced with a string in the format of: `:.` or `..`. # Store findings in an existing table or a new table in an existing dataset. If table_id is not set a new one will be generated for you with the following format: dlp_googleapis_yyyy_mm_dd_[dlp_job_id]. Pacific timezone will be used for generating the date details. For Inspect, each column in an existing output table must have the same name, type, and mode of a field in the `Finding` object. For Risk, an existing output table should be the output of a previous Risk analysis job run on the same source table, with the same privacy metric and quasi-identifiers. Risk jobs that analyze the same table but compute a different privacy metric, or use different sets of quasi-identifiers, cannot store their results in the same table. + "table": { # Message defining the location of a BigQuery table. A table is uniquely identified by its project_id, dataset_id, and table_name. Within a query a table is often referenced with a string in the format of: `:.` or `..`. # Store findings in an existing table or a new table in an existing dataset. If table_id is not set a new one will be generated for you with the following format: dlp_googleapis_yyyy_mm_dd_[dlp_job_id]. Pacific time zone will be used for generating the date details. For Inspect, each column in an existing output table must have the same name, type, and mode of a field in the `Finding` object. For Risk, an existing output table should be the output of a previous Risk analysis job run on the same source table, with the same privacy metric and quasi-identifiers. Risk jobs that analyze the same table but compute a different privacy metric, or use different sets of quasi-identifiers, cannot store their results in the same table. "datasetId": "A String", # Dataset ID of the table. "projectId": "A String", # The Google Cloud Platform project ID of the project containing the table. If omitted, project ID is inferred from the API call. "tableId": "A String", # Name of the table. @@ -2486,9 +2594,9 @@

Method Details

Args: parent: string, Required. Parent resource name. The format of this value varies depending on whether you have [specified a processing location](https://cloud.google.com/dlp/docs/specifying-location): + Projects scope, location specified: `projects/`PROJECT_ID`/locations/`LOCATION_ID + Projects scope, no location specified (defaults to global): `projects/`PROJECT_ID The following example `parent` string specifies a parent project with the identifier `example-project`, and specifies the `europe-west3` location for processing data: parent=projects/example-project/locations/europe-west3 (required) - filter: string, Allows filtering. Supported syntax: * Filter expressions are made up of one or more restrictions. * Restrictions can be combined by `AND` or `OR` logical operators. A sequence of restrictions implicitly uses `AND`. * A restriction has the form of `{field} {operator} {value}`. * Supported fields/values for inspect jobs: - `state` - PENDING|RUNNING|CANCELED|FINISHED|FAILED - `inspected_storage` - DATASTORE|CLOUD_STORAGE|BIGQUERY - `trigger_name` - The resource name of the trigger that created job. - 'end_time` - Corresponds to time the job finished. - 'start_time` - Corresponds to time the job finished. * Supported fields for risk analysis jobs: - `state` - RUNNING|CANCELED|FINISHED|FAILED - 'end_time` - Corresponds to time the job finished. - 'start_time` - Corresponds to time the job finished. * The operator must be `=` or `!=`. Examples: * inspected_storage = cloud_storage AND state = done * inspected_storage = cloud_storage OR inspected_storage = bigquery * inspected_storage = cloud_storage AND (state = done OR state = canceled) * end_time > \"2017-12-12T00:00:00+00:00\" The length of this field should be no more than 500 characters. + filter: string, Allows filtering. Supported syntax: * Filter expressions are made up of one or more restrictions. * Restrictions can be combined by `AND` or `OR` logical operators. A sequence of restrictions implicitly uses `AND`. * A restriction has the form of `{field} {operator} {value}`. * Supported fields/values for inspect jobs: - `state` - PENDING|RUNNING|CANCELED|FINISHED|FAILED - `inspected_storage` - DATASTORE|CLOUD_STORAGE|BIGQUERY - `trigger_name` - The name of the trigger that created the job. - 'end_time` - Corresponds to the time the job finished. - 'start_time` - Corresponds to the time the job finished. * Supported fields for risk analysis jobs: - `state` - RUNNING|CANCELED|FINISHED|FAILED - 'end_time` - Corresponds to the time the job finished. - 'start_time` - Corresponds to the time the job finished. * The operator must be `=` or `!=`. Examples: * inspected_storage = cloud_storage AND state = done * inspected_storage = cloud_storage OR inspected_storage = bigquery * inspected_storage = cloud_storage AND (state = done OR state = canceled) * end_time > \"2017-12-12T00:00:00+00:00\" The length of this field should be no more than 500 characters. locationId: string, Deprecated. This field has no effect. - orderBy: string, Comma separated list of fields to order by, followed by `asc` or `desc` postfix. This list is case-insensitive, default sorting order is ascending, redundant space characters are insignificant. Example: `name asc, end_time asc, create_time desc` Supported fields are: - `create_time`: corresponds to time the job was created. - `end_time`: corresponds to time the job ended. - `name`: corresponds to job's name. - `state`: corresponds to `state` + orderBy: string, Comma separated list of fields to order by, followed by `asc` or `desc` postfix. This list is case-insensitive, default sorting order is ascending, redundant space characters are insignificant. Example: `name asc, end_time asc, create_time desc` Supported fields are: - `create_time`: corresponds to the time the job was created. - `end_time`: corresponds to the time the job ended. - `name`: corresponds to the job's name. - `state`: corresponds to `state` pageSize: integer, The standard list page size. pageToken: string, The standard list page token. type: string, The type of job. Defaults to `DlpJobType.INSPECT` @@ -2530,21 +2638,39 @@

Method Details

"jobConfig": { # Controls what and how to inspect for findings. # Inspect config. "actions": [ # Actions to execute at the completion of the job. { # A task to execute on the completion of a job. See https://cloud.google.com/dlp/docs/concepts-actions to learn more. + "deidentify": { # Create a de-identified copy of the requested table or files. . A TransformationDetail will be created for each transformation. If any rows in BigQuery are skipped during de-identification (transformation errors or row size exceeds BigQuery insert API limits) they are placed in the failure output table. If the original row exceeds the BigQuery insert API limit it will be truncated when written to the failure output table. The failure output table can be set in the action.deidentify.output.big_query_output.deidentified_failure_output_table field, if no table is set, a table will be automatically created in the same project and dataset as the original table. Compatible with: Inspect # Create a de-identified copy of the input data. Applicable for non-image data only. The de-identified copy is in the same location as the original data. + "cloudStorageOutput": "A String", # Required. User settable GCS bucket and folders to store de-identified files. This field must be set for cloud storage deidentification. The output GCS bucket must be different from the input bucket. De-identified files will overwrite files in the output path. Form of: gs://bucket/folder/ or gs://bucket + "fileTypesToTransform": [ # List of user-specified file type groups to transform. If specified, only the files with these filetypes will be transformed. If empty, all supported files will be transformed. Supported types may be automatically added over time. If a file type is set in this field that isn't supported by the Deidentify action then the job will fail and will not be successfully created/started. Currently the only filetypes supported are: IMAGES, TEXT_FILES, CSV, TSV. + "A String", + ], + "transformationConfig": { # User specified templates and configs for how to deidentify structured, unstructures, and image files. User must provide either a unstructured deidentify template or at least one redact image config. # User specified deidentify templates and configs for structured, unstructured, and image files. + "deidentifyTemplate": "A String", # De-identify template. If this template is specified, it will serve as the default de-identify template. This template cannot contain `record_transformations` since it can be used for unstructured content such as free-form text files. If this template is not set, a default `ReplaceWithInfoTypeConfig` will be used to de-identify unstructured content. + "imageRedactTemplate": "A String", # Image redact template. If this template is specified, it will serve as the de-identify template for images. If this template is not set, all findings in the image will be redacted with a black box. + "structuredDeidentifyTemplate": "A String", # Structured de-identify template. If this template is specified, it will serve as the de-identify template for structured content such as delimited files and tables. If this template is not set but the `deidentify_template` is set, then `deidentify_template` will also apply to the structured content. If neither template is set, a default `ReplaceWithInfoTypeConfig` will be used to de-identify structured content. + }, + "transformationDetailsStorageConfig": { # Config for storing transformation details. # Config for storing transformation details. This is separate from the de-identified content, and contains metadata about the successful transformations and/or failures that occurred while de-identifying. This needs to be set in order for users to access information about the status of each transformation (see TransformationDetails message for more information about what is noted). + "table": { # Message defining the location of a BigQuery table. A table is uniquely identified by its project_id, dataset_id, and table_name. Within a query a table is often referenced with a string in the format of: `:.` or `..`. # The BigQuery table in which to store the output. This may be an existing table or in a new table in an existing dataset. If table_id is not set a new one will be generated for you with the following format: dlp_googleapis_transformation_details_yyyy_mm_dd_[dlp_job_id]. Pacific time zone will be used for generating the date details. + "datasetId": "A String", # Dataset ID of the table. + "projectId": "A String", # The Google Cloud Platform project ID of the project containing the table. If omitted, project ID is inferred from the API call. + "tableId": "A String", # Name of the table. + }, + }, + }, "jobNotificationEmails": { # Enable email notification to project owners and editors on jobs's completion/failure. # Enable email notification for project owners and editors on job's completion/failure. }, - "pubSub": { # Publish a message into given Pub/Sub topic when DlpJob has completed. The message contains a single field, `DlpJobName`, which is equal to the finished job's [`DlpJob.name`](https://cloud.google.com/dlp/docs/reference/rest/v2/projects.dlpJobs#DlpJob). Compatible with: Inspect, Risk # Publish a notification to a pubsub topic. + "pubSub": { # Publish a message into a given Pub/Sub topic when DlpJob has completed. The message contains a single field, `DlpJobName`, which is equal to the finished job's [`DlpJob.name`](https://cloud.google.com/dlp/docs/reference/rest/v2/projects.dlpJobs#DlpJob). Compatible with: Inspect, Risk # Publish a notification to a pubsub topic. "topic": "A String", # Cloud Pub/Sub topic to send notifications to. The topic must have given publishing access rights to the DLP API service account executing the long running DlpJob sending the notifications. Format is projects/{project}/topics/{topic}. }, "publishFindingsToCloudDataCatalog": { # Publish findings of a DlpJob to Data Catalog. Labels summarizing the results of the DlpJob will be applied to the entry for the resource scanned in Data Catalog. Any labels previously written by another DlpJob will be deleted. InfoType naming patterns are strictly enforced when using this feature. Note that the findings will be persisted in Data Catalog storage and are governed by Data Catalog service-specific policy, see https://cloud.google.com/terms/service-terms Only a single instance of this action can be specified and only allowed if all resources being scanned are BigQuery tables. Compatible with: Inspect # Publish findings to Cloud Datahub. }, - "publishSummaryToCscc": { # Publish the result summary of a DlpJob to the Cloud Security Command Center (CSCC Alpha). This action is only available for projects which are parts of an organization and whitelisted for the alpha Cloud Security Command Center. The action will publish count of finding instances and their info types. The summary of findings will be persisted in CSCC and are governed by CSCC service-specific policy, see https://cloud.google.com/terms/service-terms Only a single instance of this action can be specified. Compatible with: Inspect # Publish summary to Cloud Security Command Center (Alpha). + "publishSummaryToCscc": { # Publish the result summary of a DlpJob to the Cloud Security Command Center (CSCC Alpha). This action is only available for projects which are parts of an organization and whitelisted for the alpha Cloud Security Command Center. The action will publish the count of finding instances and their info types. The summary of findings will be persisted in CSCC and are governed by CSCC service-specific policy, see https://cloud.google.com/terms/service-terms Only a single instance of this action can be specified. Compatible with: Inspect # Publish summary to Cloud Security Command Center (Alpha). }, "publishToStackdriver": { # Enable Stackdriver metric dlp.googleapis.com/finding_count. This will publish a metric to stack driver on each infotype requested and how many findings were found for it. CustomDetectors will be bucketed as 'Custom' under the Stackdriver label 'info_type'. # Enable Stackdriver metric dlp.googleapis.com/finding_count. }, "saveFindings": { # If set, the detailed findings will be persisted to the specified OutputStorageConfig. Only a single instance of this action can be specified. Compatible with: Inspect, Risk # Save resulting findings in a provided location. "outputConfig": { # Cloud repository for storing output. # Location to store findings outside of DLP. "outputSchema": "A String", # Schema used for writing the findings for Inspect jobs. This field is only used for Inspect and must be unspecified for Risk jobs. Columns are derived from the `Finding` object. If appending to an existing table, any columns from the predefined schema that are missing will be added. No columns in the existing table will be deleted. If unspecified, then all available columns will be used for a new table or an (existing) table with no schema, and no changes will be made to an existing table that has a schema. Only for use with external storage. - "table": { # Message defining the location of a BigQuery table. A table is uniquely identified by its project_id, dataset_id, and table_name. Within a query a table is often referenced with a string in the format of: `:.` or `..`. # Store findings in an existing table or a new table in an existing dataset. If table_id is not set a new one will be generated for you with the following format: dlp_googleapis_yyyy_mm_dd_[dlp_job_id]. Pacific timezone will be used for generating the date details. For Inspect, each column in an existing output table must have the same name, type, and mode of a field in the `Finding` object. For Risk, an existing output table should be the output of a previous Risk analysis job run on the same source table, with the same privacy metric and quasi-identifiers. Risk jobs that analyze the same table but compute a different privacy metric, or use different sets of quasi-identifiers, cannot store their results in the same table. + "table": { # Message defining the location of a BigQuery table. A table is uniquely identified by its project_id, dataset_id, and table_name. Within a query a table is often referenced with a string in the format of: `:.` or `..`. # Store findings in an existing table or a new table in an existing dataset. If table_id is not set a new one will be generated for you with the following format: dlp_googleapis_yyyy_mm_dd_[dlp_job_id]. Pacific time zone will be used for generating the date details. For Inspect, each column in an existing output table must have the same name, type, and mode of a field in the `Finding` object. For Risk, an existing output table should be the output of a previous Risk analysis job run on the same source table, with the same privacy metric and quasi-identifiers. Risk jobs that analyze the same table but compute a different privacy metric, or use different sets of quasi-identifiers, cannot store their results in the same table. "datasetId": "A String", # Dataset ID of the table. "projectId": "A String", # The Google Cloud Platform project ID of the project containing the table. If omitted, project ID is inferred from the API call. "tableId": "A String", # Name of the table. @@ -2617,7 +2743,7 @@

Method Details

"version": "A String", # Optional version name for this InfoType. }, ], - "limits": { # Configuration to control the number of findings returned for inspection. This is not used for de-identification or data profiling. # Configuration to control the number of findings returned. This is not used for data profiling. + "limits": { # Configuration to control the number of findings returned for inspection. This is not used for de-identification or data profiling. When redacting sensitive data from images, finding limits don't apply. They can cause unexpected or inconsistent results, where only some data is redacted. Don't include finding limits in RedactImage requests. Otherwise, Cloud DLP returns an error. # Configuration to control the number of findings returned. This is not used for data profiling. When redacting sensitive data from images, finding limits don't apply. They can cause unexpected or inconsistent results, where only some data is redacted. Don't include finding limits in RedactImage requests. Otherwise, Cloud DLP returns an error. "maxFindingsPerInfoType": [ # Configuration of findings limit given for specified infoTypes. { # Max findings configuration per infoType, per content item or long running DlpJob. "infoType": { # Type of information detected by the API. # Type of information the findings limit applies to. Only one limit per info_type should be provided. If InfoTypeLimit does not have an info_type, the DLP API applies the limit against all info_types that are found but not specified in another InfoTypeLimit. @@ -2652,7 +2778,7 @@

Method Details

], }, }, - "excludeInfoTypes": { # List of exclude infoTypes. # Set of infoTypes for which findings would affect this rule. + "excludeInfoTypes": { # List of excluded infoTypes. # Set of infoTypes for which findings would affect this rule. "infoTypes": [ # InfoType list in ExclusionRule rule drops a finding when it overlaps or contained within with a finding of an infoType from this list. For example, for `InspectionRuleSet.info_types` containing "PHONE_NUMBER"` and `exclusion_rule` containing `exclude_info_types.info_types` with "EMAIL_ADDRESS" the phone number findings are dropped if they overlap with EMAIL_ADDRESS finding. That leads to "555-222-2222@example.org" to generate only a single finding, namely email address. { # Type of information detected by the API. "name": "A String", # Name of the information type. Either a name of your choosing when creating a CustomInfoType, or one of the names listed at https://cloud.google.com/dlp/docs/infotypes-reference when specifying a built-in type. When sending Cloud DLP results to Data Catalog, infoType names should conform to the pattern `[A-Za-z0-9$-_]{1,64}`. @@ -2716,7 +2842,7 @@

Method Details

"tableId": "A String", # Name of the table. }, }, - "cloudStorageOptions": { # Options defining a file or a set of files within a Google Cloud Storage bucket. # Google Cloud Storage options. + "cloudStorageOptions": { # Options defining a file or a set of files within a Cloud Storage bucket. # Cloud Storage options. "bytesLimitPerFile": "A String", # Max number of bytes to scan from a file. If a scanned file's size is bigger than this value then the rest of the bytes are omitted. Only one of bytes_limit_per_file and bytes_limit_per_file_percent can be specified. Cannot be set if de-identification is requested. "bytesLimitPerFilePercent": 42, # Max percentage of bytes to scan from a file. The rest are omitted. The number of bytes scanned is rounded down. Must be between 0 and 100, inclusively. Both 0 and 100 means no limit. Defaults to 0. Only one of bytes_limit_per_file and bytes_limit_per_file_percent can be specified. Cannot be set if de-identification is requested. "fileSet": { # Set of files to scan. # The set of one or more files to scan. @@ -2762,11 +2888,11 @@

Method Details

], }, }, - "timespanConfig": { # Configuration of the timespan of the items to include in scanning. Currently only supported when inspecting Google Cloud Storage and BigQuery. + "timespanConfig": { # Configuration of the timespan of the items to include in scanning. Currently only supported when inspecting Cloud Storage and BigQuery. "enableAutoPopulationOfTimespanConfig": True or False, # When the job is started by a JobTrigger we will automatically figure out a valid start_time to avoid scanning files that have not been modified since the last time the JobTrigger executed. This will be based on the time of the execution of the last run of the JobTrigger. "endTime": "A String", # Exclude files, tables, or rows newer than this value. If not set, no upper time limit is applied. "startTime": "A String", # Exclude files, tables, or rows older than this value. If not set, no lower time limit is applied. - "timestampField": { # General identifier of a data field in a storage service. # Specification of the field containing the timestamp of scanned items. Used for data sources like Datastore and BigQuery. For BigQuery: If this value is not specified and the table was modified between the given start and end times, the entire table will be scanned. If this value is specified, then rows are filtered based on the given start and end times. Rows with a `NULL` value in the provided BigQuery column are skipped. Valid data types of the provided BigQuery column are: `INTEGER`, `DATE`, `TIMESTAMP`, and `DATETIME`. For Datastore: If this value is specified, then entities are filtered based on the given start and end times. If an entity does not contain the provided timestamp property or contains empty or invalid values, then it is included. Valid data types of the provided timestamp property are: `TIMESTAMP`. + "timestampField": { # General identifier of a data field in a storage service. # Specification of the field containing the timestamp of scanned items. Used for data sources like Datastore and BigQuery. *For BigQuery* If this value is not specified and the table was modified between the given start and end times, the entire table will be scanned. If this value is specified, then rows are filtered based on the given start and end times. Rows with a `NULL` value in the provided BigQuery column are skipped. Valid data types of the provided BigQuery column are: `INTEGER`, `DATE`, `TIMESTAMP`, and `DATETIME`. If your BigQuery table is [partitioned at ingestion time](https://cloud.google.com/bigquery/docs/partitioned-tables#ingestion_time), you can use any of the following pseudo-columns as your timestamp field. When used with Cloud DLP, these pseudo-column names are case sensitive. - _PARTITIONTIME - _PARTITIONDATE - _PARTITION_LOAD_TIME *For Datastore* If this value is specified, then entities are filtered based on the given start and end times. If an entity does not contain the provided timestamp property or contains empty or invalid values, then it is included. Valid data types of the provided timestamp property are: `TIMESTAMP`. See the [known issue](https://cloud.google.com/dlp/docs/known-issues#bq-timespan) related to this operation. "name": "A String", # Name describing the field. }, }, @@ -2840,7 +2966,7 @@

Method Details

"version": "A String", # Optional version name for this InfoType. }, ], - "limits": { # Configuration to control the number of findings returned for inspection. This is not used for de-identification or data profiling. # Configuration to control the number of findings returned. This is not used for data profiling. + "limits": { # Configuration to control the number of findings returned for inspection. This is not used for de-identification or data profiling. When redacting sensitive data from images, finding limits don't apply. They can cause unexpected or inconsistent results, where only some data is redacted. Don't include finding limits in RedactImage requests. Otherwise, Cloud DLP returns an error. # Configuration to control the number of findings returned. This is not used for data profiling. When redacting sensitive data from images, finding limits don't apply. They can cause unexpected or inconsistent results, where only some data is redacted. Don't include finding limits in RedactImage requests. Otherwise, Cloud DLP returns an error. "maxFindingsPerInfoType": [ # Configuration of findings limit given for specified infoTypes. { # Max findings configuration per infoType, per content item or long running DlpJob. "infoType": { # Type of information detected by the API. # Type of information the findings limit applies to. Only one limit per info_type should be provided. If InfoTypeLimit does not have an info_type, the DLP API applies the limit against all info_types that are found but not specified in another InfoTypeLimit. @@ -2875,7 +3001,7 @@

Method Details

], }, }, - "excludeInfoTypes": { # List of exclude infoTypes. # Set of infoTypes for which findings would affect this rule. + "excludeInfoTypes": { # List of excluded infoTypes. # Set of infoTypes for which findings would affect this rule. "infoTypes": [ # InfoType list in ExclusionRule rule drops a finding when it overlaps or contained within with a finding of an infoType from this list. For example, for `InspectionRuleSet.info_types` containing "PHONE_NUMBER"` and `exclusion_rule` containing `exclude_info_types.info_types` with "EMAIL_ADDRESS" the phone number findings are dropped if they overlap with EMAIL_ADDRESS finding. That leads to "555-222-2222@example.org" to generate only a single finding, namely email address. { # Type of information detected by the API. "name": "A String", # Name of the information type. Either a name of your choosing when creating a CustomInfoType, or one of the names listed at https://cloud.google.com/dlp/docs/infotypes-reference when specifying a built-in type. When sending Cloud DLP results to Data Catalog, infoType names should conform to the pattern `[A-Za-z0-9$-_]{1,64}`. @@ -3206,21 +3332,39 @@

Method Details

"jobConfig": { # Configuration for a risk analysis job. See https://cloud.google.com/dlp/docs/concepts-risk-analysis to learn more. # The job config for the risk job. "actions": [ # Actions to execute at the completion of the job. Are executed in the order provided. { # A task to execute on the completion of a job. See https://cloud.google.com/dlp/docs/concepts-actions to learn more. + "deidentify": { # Create a de-identified copy of the requested table or files. . A TransformationDetail will be created for each transformation. If any rows in BigQuery are skipped during de-identification (transformation errors or row size exceeds BigQuery insert API limits) they are placed in the failure output table. If the original row exceeds the BigQuery insert API limit it will be truncated when written to the failure output table. The failure output table can be set in the action.deidentify.output.big_query_output.deidentified_failure_output_table field, if no table is set, a table will be automatically created in the same project and dataset as the original table. Compatible with: Inspect # Create a de-identified copy of the input data. Applicable for non-image data only. The de-identified copy is in the same location as the original data. + "cloudStorageOutput": "A String", # Required. User settable GCS bucket and folders to store de-identified files. This field must be set for cloud storage deidentification. The output GCS bucket must be different from the input bucket. De-identified files will overwrite files in the output path. Form of: gs://bucket/folder/ or gs://bucket + "fileTypesToTransform": [ # List of user-specified file type groups to transform. If specified, only the files with these filetypes will be transformed. If empty, all supported files will be transformed. Supported types may be automatically added over time. If a file type is set in this field that isn't supported by the Deidentify action then the job will fail and will not be successfully created/started. Currently the only filetypes supported are: IMAGES, TEXT_FILES, CSV, TSV. + "A String", + ], + "transformationConfig": { # User specified templates and configs for how to deidentify structured, unstructures, and image files. User must provide either a unstructured deidentify template or at least one redact image config. # User specified deidentify templates and configs for structured, unstructured, and image files. + "deidentifyTemplate": "A String", # De-identify template. If this template is specified, it will serve as the default de-identify template. This template cannot contain `record_transformations` since it can be used for unstructured content such as free-form text files. If this template is not set, a default `ReplaceWithInfoTypeConfig` will be used to de-identify unstructured content. + "imageRedactTemplate": "A String", # Image redact template. If this template is specified, it will serve as the de-identify template for images. If this template is not set, all findings in the image will be redacted with a black box. + "structuredDeidentifyTemplate": "A String", # Structured de-identify template. If this template is specified, it will serve as the de-identify template for structured content such as delimited files and tables. If this template is not set but the `deidentify_template` is set, then `deidentify_template` will also apply to the structured content. If neither template is set, a default `ReplaceWithInfoTypeConfig` will be used to de-identify structured content. + }, + "transformationDetailsStorageConfig": { # Config for storing transformation details. # Config for storing transformation details. This is separate from the de-identified content, and contains metadata about the successful transformations and/or failures that occurred while de-identifying. This needs to be set in order for users to access information about the status of each transformation (see TransformationDetails message for more information about what is noted). + "table": { # Message defining the location of a BigQuery table. A table is uniquely identified by its project_id, dataset_id, and table_name. Within a query a table is often referenced with a string in the format of: `:.` or `..`. # The BigQuery table in which to store the output. This may be an existing table or in a new table in an existing dataset. If table_id is not set a new one will be generated for you with the following format: dlp_googleapis_transformation_details_yyyy_mm_dd_[dlp_job_id]. Pacific time zone will be used for generating the date details. + "datasetId": "A String", # Dataset ID of the table. + "projectId": "A String", # The Google Cloud Platform project ID of the project containing the table. If omitted, project ID is inferred from the API call. + "tableId": "A String", # Name of the table. + }, + }, + }, "jobNotificationEmails": { # Enable email notification to project owners and editors on jobs's completion/failure. # Enable email notification for project owners and editors on job's completion/failure. }, - "pubSub": { # Publish a message into given Pub/Sub topic when DlpJob has completed. The message contains a single field, `DlpJobName`, which is equal to the finished job's [`DlpJob.name`](https://cloud.google.com/dlp/docs/reference/rest/v2/projects.dlpJobs#DlpJob). Compatible with: Inspect, Risk # Publish a notification to a pubsub topic. + "pubSub": { # Publish a message into a given Pub/Sub topic when DlpJob has completed. The message contains a single field, `DlpJobName`, which is equal to the finished job's [`DlpJob.name`](https://cloud.google.com/dlp/docs/reference/rest/v2/projects.dlpJobs#DlpJob). Compatible with: Inspect, Risk # Publish a notification to a pubsub topic. "topic": "A String", # Cloud Pub/Sub topic to send notifications to. The topic must have given publishing access rights to the DLP API service account executing the long running DlpJob sending the notifications. Format is projects/{project}/topics/{topic}. }, "publishFindingsToCloudDataCatalog": { # Publish findings of a DlpJob to Data Catalog. Labels summarizing the results of the DlpJob will be applied to the entry for the resource scanned in Data Catalog. Any labels previously written by another DlpJob will be deleted. InfoType naming patterns are strictly enforced when using this feature. Note that the findings will be persisted in Data Catalog storage and are governed by Data Catalog service-specific policy, see https://cloud.google.com/terms/service-terms Only a single instance of this action can be specified and only allowed if all resources being scanned are BigQuery tables. Compatible with: Inspect # Publish findings to Cloud Datahub. }, - "publishSummaryToCscc": { # Publish the result summary of a DlpJob to the Cloud Security Command Center (CSCC Alpha). This action is only available for projects which are parts of an organization and whitelisted for the alpha Cloud Security Command Center. The action will publish count of finding instances and their info types. The summary of findings will be persisted in CSCC and are governed by CSCC service-specific policy, see https://cloud.google.com/terms/service-terms Only a single instance of this action can be specified. Compatible with: Inspect # Publish summary to Cloud Security Command Center (Alpha). + "publishSummaryToCscc": { # Publish the result summary of a DlpJob to the Cloud Security Command Center (CSCC Alpha). This action is only available for projects which are parts of an organization and whitelisted for the alpha Cloud Security Command Center. The action will publish the count of finding instances and their info types. The summary of findings will be persisted in CSCC and are governed by CSCC service-specific policy, see https://cloud.google.com/terms/service-terms Only a single instance of this action can be specified. Compatible with: Inspect # Publish summary to Cloud Security Command Center (Alpha). }, "publishToStackdriver": { # Enable Stackdriver metric dlp.googleapis.com/finding_count. This will publish a metric to stack driver on each infotype requested and how many findings were found for it. CustomDetectors will be bucketed as 'Custom' under the Stackdriver label 'info_type'. # Enable Stackdriver metric dlp.googleapis.com/finding_count. }, "saveFindings": { # If set, the detailed findings will be persisted to the specified OutputStorageConfig. Only a single instance of this action can be specified. Compatible with: Inspect, Risk # Save resulting findings in a provided location. "outputConfig": { # Cloud repository for storing output. # Location to store findings outside of DLP. "outputSchema": "A String", # Schema used for writing the findings for Inspect jobs. This field is only used for Inspect and must be unspecified for Risk jobs. Columns are derived from the `Finding` object. If appending to an existing table, any columns from the predefined schema that are missing will be added. No columns in the existing table will be deleted. If unspecified, then all available columns will be used for a new table or an (existing) table with no schema, and no changes will be made to an existing table that has a schema. Only for use with external storage. - "table": { # Message defining the location of a BigQuery table. A table is uniquely identified by its project_id, dataset_id, and table_name. Within a query a table is often referenced with a string in the format of: `:.` or `..`. # Store findings in an existing table or a new table in an existing dataset. If table_id is not set a new one will be generated for you with the following format: dlp_googleapis_yyyy_mm_dd_[dlp_job_id]. Pacific timezone will be used for generating the date details. For Inspect, each column in an existing output table must have the same name, type, and mode of a field in the `Finding` object. For Risk, an existing output table should be the output of a previous Risk analysis job run on the same source table, with the same privacy metric and quasi-identifiers. Risk jobs that analyze the same table but compute a different privacy metric, or use different sets of quasi-identifiers, cannot store their results in the same table. + "table": { # Message defining the location of a BigQuery table. A table is uniquely identified by its project_id, dataset_id, and table_name. Within a query a table is often referenced with a string in the format of: `:.` or `..`. # Store findings in an existing table or a new table in an existing dataset. If table_id is not set a new one will be generated for you with the following format: dlp_googleapis_yyyy_mm_dd_[dlp_job_id]. Pacific time zone will be used for generating the date details. For Inspect, each column in an existing output table must have the same name, type, and mode of a field in the `Finding` object. For Risk, an existing output table should be the output of a previous Risk analysis job run on the same source table, with the same privacy metric and quasi-identifiers. Risk jobs that analyze the same table but compute a different privacy metric, or use different sets of quasi-identifiers, cannot store their results in the same table. "datasetId": "A String", # Dataset ID of the table. "projectId": "A String", # The Google Cloud Platform project ID of the project containing the table. If omitted, project ID is inferred from the API call. "tableId": "A String", # Name of the table. diff --git a/docs/dyn/dlp_v2.projects.image.html b/docs/dyn/dlp_v2.projects.image.html index d1f320a3241..f612f818364 100644 --- a/docs/dyn/dlp_v2.projects.image.html +++ b/docs/dyn/dlp_v2.projects.image.html @@ -179,7 +179,7 @@

Method Details

"version": "A String", # Optional version name for this InfoType. }, ], - "limits": { # Configuration to control the number of findings returned for inspection. This is not used for de-identification or data profiling. # Configuration to control the number of findings returned. This is not used for data profiling. + "limits": { # Configuration to control the number of findings returned for inspection. This is not used for de-identification or data profiling. When redacting sensitive data from images, finding limits don't apply. They can cause unexpected or inconsistent results, where only some data is redacted. Don't include finding limits in RedactImage requests. Otherwise, Cloud DLP returns an error. # Configuration to control the number of findings returned. This is not used for data profiling. When redacting sensitive data from images, finding limits don't apply. They can cause unexpected or inconsistent results, where only some data is redacted. Don't include finding limits in RedactImage requests. Otherwise, Cloud DLP returns an error. "maxFindingsPerInfoType": [ # Configuration of findings limit given for specified infoTypes. { # Max findings configuration per infoType, per content item or long running DlpJob. "infoType": { # Type of information detected by the API. # Type of information the findings limit applies to. Only one limit per info_type should be provided. If InfoTypeLimit does not have an info_type, the DLP API applies the limit against all info_types that are found but not specified in another InfoTypeLimit. @@ -214,7 +214,7 @@

Method Details

], }, }, - "excludeInfoTypes": { # List of exclude infoTypes. # Set of infoTypes for which findings would affect this rule. + "excludeInfoTypes": { # List of excluded infoTypes. # Set of infoTypes for which findings would affect this rule. "infoTypes": [ # InfoType list in ExclusionRule rule drops a finding when it overlaps or contained within with a finding of an infoType from this list. For example, for `InspectionRuleSet.info_types` containing "PHONE_NUMBER"` and `exclusion_rule` containing `exclude_info_types.info_types` with "EMAIL_ADDRESS" the phone number findings are dropped if they overlap with EMAIL_ADDRESS finding. That leads to "555-222-2222@example.org" to generate only a single finding, namely email address. { # Type of information detected by the API. "name": "A String", # Name of the information type. Either a name of your choosing when creating a CustomInfoType, or one of the names listed at https://cloud.google.com/dlp/docs/infotypes-reference when specifying a built-in type. When sending Cloud DLP results to Data Catalog, infoType names should conform to the pattern `[A-Za-z0-9$-_]{1,64}`. @@ -289,19 +289,19 @@

Method Details

"start": "A String", # Index of the first character of the range (inclusive). }, "container": { # Represents a container that may contain DLP findings. Examples of a container include a file, table, or database record. # Information about the container where this finding occurred, if available. - "fullPath": "A String", # A string representation of the full container name. Examples: - BigQuery: 'Project:DataSetId.TableId' - Google Cloud Storage: 'gs://Bucket/folders/filename.txt' + "fullPath": "A String", # A string representation of the full container name. Examples: - BigQuery: 'Project:DataSetId.TableId' - Cloud Storage: 'gs://Bucket/folders/filename.txt' "projectId": "A String", # Project where the finding was found. Can be different from the project that owns the finding. - "relativePath": "A String", # The rest of the path after the root. Examples: - For BigQuery table `project_id:dataset_id.table_id`, the relative path is `table_id` - Google Cloud Storage file `gs://bucket/folder/filename.txt`, the relative path is `folder/filename.txt` - "rootPath": "A String", # The root of the container. Examples: - For BigQuery table `project_id:dataset_id.table_id`, the root is `dataset_id` - For Google Cloud Storage file `gs://bucket/folder/filename.txt`, the root is `gs://bucket` - "type": "A String", # Container type, for example BigQuery or Google Cloud Storage. - "updateTime": "A String", # Findings container modification timestamp, if applicable. For Google Cloud Storage contains last file modification timestamp. For BigQuery table contains last_modified_time property. For Datastore - not populated. - "version": "A String", # Findings container version, if available ("generation" for Google Cloud Storage). + "relativePath": "A String", # The rest of the path after the root. Examples: - For BigQuery table `project_id:dataset_id.table_id`, the relative path is `table_id` - For Cloud Storage file `gs://bucket/folder/filename.txt`, the relative path is `folder/filename.txt` + "rootPath": "A String", # The root of the container. Examples: - For BigQuery table `project_id:dataset_id.table_id`, the root is `dataset_id` - For Cloud Storage file `gs://bucket/folder/filename.txt`, the root is `gs://bucket` + "type": "A String", # Container type, for example BigQuery or Cloud Storage. + "updateTime": "A String", # Findings container modification timestamp, if applicable. For Cloud Storage, this field contains the last file modification timestamp. For a BigQuery table, this field contains the last_modified_time property. For Datastore, this field isn't populated. + "version": "A String", # Findings container version, if available ("generation" for Cloud Storage). }, "contentLocations": [ # List of nested objects pointing to the precise location of the finding within the file or record. { # Precise location of the finding within a document, record, image, or metadata container. - "containerName": "A String", # Name of the container where the finding is located. The top level name is the source file name or table name. Names of some common storage containers are formatted as follows: * BigQuery tables: `{project_id}:{dataset_id}.{table_id}` * Cloud Storage files: `gs://{bucket}/{path}` * Datastore namespace: {namespace} Nested names could be absent if the embedded object has no string identifier (for an example an image contained within a document). - "containerTimestamp": "A String", # Findings container modification timestamp, if applicable. For Google Cloud Storage contains last file modification timestamp. For BigQuery table contains last_modified_time property. For Datastore - not populated. - "containerVersion": "A String", # Findings container version, if available ("generation" for Google Cloud Storage). + "containerName": "A String", # Name of the container where the finding is located. The top level name is the source file name or table name. Names of some common storage containers are formatted as follows: * BigQuery tables: `{project_id}:{dataset_id}.{table_id}` * Cloud Storage files: `gs://{bucket}/{path}` * Datastore namespace: {namespace} Nested names could be absent if the embedded object has no string identifier (for example, an image contained within a document). + "containerTimestamp": "A String", # Finding container modification timestamp, if applicable. For Cloud Storage, this field contains the last file modification timestamp. For a BigQuery table, this field contains the last_modified_time property. For Datastore, this field isn't populated. + "containerVersion": "A String", # Finding container version, if available ("generation" for Cloud Storage). "documentLocation": { # Location of a finding within a document. # Location data for document files. "fileOffset": "A String", # Offset of the line, from the beginning of the file, where the finding is located. }, diff --git a/docs/dyn/dlp_v2.projects.inspectTemplates.html b/docs/dyn/dlp_v2.projects.inspectTemplates.html index 91608f6f501..cb76b783cc7 100644 --- a/docs/dyn/dlp_v2.projects.inspectTemplates.html +++ b/docs/dyn/dlp_v2.projects.inspectTemplates.html @@ -79,7 +79,7 @@

Instance Methods

Close httplib2 connections.

create(parent, body=None, x__xgafv=None)

-

Creates an InspectTemplate for re-using frequently used configuration for inspecting content, images, and storage. See https://cloud.google.com/dlp/docs/creating-templates to learn more.

+

Creates an InspectTemplate for reusing frequently used configuration for inspecting content, images, and storage. See https://cloud.google.com/dlp/docs/creating-templates to learn more.

delete(name, x__xgafv=None)

Deletes an InspectTemplate. See https://cloud.google.com/dlp/docs/creating-templates to learn more.

@@ -103,7 +103,7 @@

Method Details

create(parent, body=None, x__xgafv=None) -
Creates an InspectTemplate for re-using frequently used configuration for inspecting content, images, and storage. See https://cloud.google.com/dlp/docs/creating-templates to learn more.
+  
Creates an InspectTemplate for reusing frequently used configuration for inspecting content, images, and storage. See https://cloud.google.com/dlp/docs/creating-templates to learn more.
 
 Args:
   parent: string, Required. Parent resource name. The format of this value varies depending on the scope of the request (project or organization) and whether you have [specified a processing location](https://cloud.google.com/dlp/docs/specifying-location): + Projects scope, location specified: `projects/`PROJECT_ID`/locations/`LOCATION_ID + Projects scope, no location specified (defaults to global): `projects/`PROJECT_ID + Organizations scope, location specified: `organizations/`ORG_ID`/locations/`LOCATION_ID + Organizations scope, no location specified (defaults to global): `organizations/`ORG_ID The following example `parent` string specifies a parent project with the identifier `example-project`, and specifies the `europe-west3` location for processing data: parent=projects/example-project/locations/europe-west3 (required)
@@ -179,7 +179,7 @@ 

Method Details

"version": "A String", # Optional version name for this InfoType. }, ], - "limits": { # Configuration to control the number of findings returned for inspection. This is not used for de-identification or data profiling. # Configuration to control the number of findings returned. This is not used for data profiling. + "limits": { # Configuration to control the number of findings returned for inspection. This is not used for de-identification or data profiling. When redacting sensitive data from images, finding limits don't apply. They can cause unexpected or inconsistent results, where only some data is redacted. Don't include finding limits in RedactImage requests. Otherwise, Cloud DLP returns an error. # Configuration to control the number of findings returned. This is not used for data profiling. When redacting sensitive data from images, finding limits don't apply. They can cause unexpected or inconsistent results, where only some data is redacted. Don't include finding limits in RedactImage requests. Otherwise, Cloud DLP returns an error. "maxFindingsPerInfoType": [ # Configuration of findings limit given for specified infoTypes. { # Max findings configuration per infoType, per content item or long running DlpJob. "infoType": { # Type of information detected by the API. # Type of information the findings limit applies to. Only one limit per info_type should be provided. If InfoTypeLimit does not have an info_type, the DLP API applies the limit against all info_types that are found but not specified in another InfoTypeLimit. @@ -214,7 +214,7 @@

Method Details

], }, }, - "excludeInfoTypes": { # List of exclude infoTypes. # Set of infoTypes for which findings would affect this rule. + "excludeInfoTypes": { # List of excluded infoTypes. # Set of infoTypes for which findings would affect this rule. "infoTypes": [ # InfoType list in ExclusionRule rule drops a finding when it overlaps or contained within with a finding of an infoType from this list. For example, for `InspectionRuleSet.info_types` containing "PHONE_NUMBER"` and `exclusion_rule` containing `exclude_info_types.info_types` with "EMAIL_ADDRESS" the phone number findings are dropped if they overlap with EMAIL_ADDRESS finding. That leads to "555-222-2222@example.org" to generate only a single finding, namely email address. { # Type of information detected by the API. "name": "A String", # Name of the information type. Either a name of your choosing when creating a CustomInfoType, or one of the names listed at https://cloud.google.com/dlp/docs/infotypes-reference when specifying a built-in type. When sending Cloud DLP results to Data Catalog, infoType names should conform to the pattern `[A-Za-z0-9$-_]{1,64}`. @@ -334,7 +334,7 @@

Method Details

"version": "A String", # Optional version name for this InfoType. }, ], - "limits": { # Configuration to control the number of findings returned for inspection. This is not used for de-identification or data profiling. # Configuration to control the number of findings returned. This is not used for data profiling. + "limits": { # Configuration to control the number of findings returned for inspection. This is not used for de-identification or data profiling. When redacting sensitive data from images, finding limits don't apply. They can cause unexpected or inconsistent results, where only some data is redacted. Don't include finding limits in RedactImage requests. Otherwise, Cloud DLP returns an error. # Configuration to control the number of findings returned. This is not used for data profiling. When redacting sensitive data from images, finding limits don't apply. They can cause unexpected or inconsistent results, where only some data is redacted. Don't include finding limits in RedactImage requests. Otherwise, Cloud DLP returns an error. "maxFindingsPerInfoType": [ # Configuration of findings limit given for specified infoTypes. { # Max findings configuration per infoType, per content item or long running DlpJob. "infoType": { # Type of information detected by the API. # Type of information the findings limit applies to. Only one limit per info_type should be provided. If InfoTypeLimit does not have an info_type, the DLP API applies the limit against all info_types that are found but not specified in another InfoTypeLimit. @@ -369,7 +369,7 @@

Method Details

], }, }, - "excludeInfoTypes": { # List of exclude infoTypes. # Set of infoTypes for which findings would affect this rule. + "excludeInfoTypes": { # List of excluded infoTypes. # Set of infoTypes for which findings would affect this rule. "infoTypes": [ # InfoType list in ExclusionRule rule drops a finding when it overlaps or contained within with a finding of an infoType from this list. For example, for `InspectionRuleSet.info_types` containing "PHONE_NUMBER"` and `exclusion_rule` containing `exclude_info_types.info_types` with "EMAIL_ADDRESS" the phone number findings are dropped if they overlap with EMAIL_ADDRESS finding. That leads to "555-222-2222@example.org" to generate only a single finding, namely email address. { # Type of information detected by the API. "name": "A String", # Name of the information type. Either a name of your choosing when creating a CustomInfoType, or one of the names listed at https://cloud.google.com/dlp/docs/infotypes-reference when specifying a built-in type. When sending Cloud DLP results to Data Catalog, infoType names should conform to the pattern `[A-Za-z0-9$-_]{1,64}`. @@ -511,7 +511,7 @@

Method Details

"version": "A String", # Optional version name for this InfoType. }, ], - "limits": { # Configuration to control the number of findings returned for inspection. This is not used for de-identification or data profiling. # Configuration to control the number of findings returned. This is not used for data profiling. + "limits": { # Configuration to control the number of findings returned for inspection. This is not used for de-identification or data profiling. When redacting sensitive data from images, finding limits don't apply. They can cause unexpected or inconsistent results, where only some data is redacted. Don't include finding limits in RedactImage requests. Otherwise, Cloud DLP returns an error. # Configuration to control the number of findings returned. This is not used for data profiling. When redacting sensitive data from images, finding limits don't apply. They can cause unexpected or inconsistent results, where only some data is redacted. Don't include finding limits in RedactImage requests. Otherwise, Cloud DLP returns an error. "maxFindingsPerInfoType": [ # Configuration of findings limit given for specified infoTypes. { # Max findings configuration per infoType, per content item or long running DlpJob. "infoType": { # Type of information detected by the API. # Type of information the findings limit applies to. Only one limit per info_type should be provided. If InfoTypeLimit does not have an info_type, the DLP API applies the limit against all info_types that are found but not specified in another InfoTypeLimit. @@ -546,7 +546,7 @@

Method Details

], }, }, - "excludeInfoTypes": { # List of exclude infoTypes. # Set of infoTypes for which findings would affect this rule. + "excludeInfoTypes": { # List of excluded infoTypes. # Set of infoTypes for which findings would affect this rule. "infoTypes": [ # InfoType list in ExclusionRule rule drops a finding when it overlaps or contained within with a finding of an infoType from this list. For example, for `InspectionRuleSet.info_types` containing "PHONE_NUMBER"` and `exclusion_rule` containing `exclude_info_types.info_types` with "EMAIL_ADDRESS" the phone number findings are dropped if they overlap with EMAIL_ADDRESS finding. That leads to "555-222-2222@example.org" to generate only a single finding, namely email address. { # Type of information detected by the API. "name": "A String", # Name of the information type. Either a name of your choosing when creating a CustomInfoType, or one of the names listed at https://cloud.google.com/dlp/docs/infotypes-reference when specifying a built-in type. When sending Cloud DLP results to Data Catalog, infoType names should conform to the pattern `[A-Za-z0-9$-_]{1,64}`. @@ -595,8 +595,8 @@

Method Details

Args: parent: string, Required. Parent resource name. The format of this value varies depending on the scope of the request (project or organization) and whether you have [specified a processing location](https://cloud.google.com/dlp/docs/specifying-location): + Projects scope, location specified: `projects/`PROJECT_ID`/locations/`LOCATION_ID + Projects scope, no location specified (defaults to global): `projects/`PROJECT_ID + Organizations scope, location specified: `organizations/`ORG_ID`/locations/`LOCATION_ID + Organizations scope, no location specified (defaults to global): `organizations/`ORG_ID The following example `parent` string specifies a parent project with the identifier `example-project`, and specifies the `europe-west3` location for processing data: parent=projects/example-project/locations/europe-west3 (required) locationId: string, Deprecated. This field has no effect. - orderBy: string, Comma separated list of fields to order by, followed by `asc` or `desc` postfix. This list is case-insensitive, default sorting order is ascending, redundant space characters are insignificant. Example: `name asc,update_time, create_time desc` Supported fields are: - `create_time`: corresponds to time the template was created. - `update_time`: corresponds to time the template was last updated. - `name`: corresponds to template's name. - `display_name`: corresponds to template's display name. - pageSize: integer, Size of the page, can be limited by server. If zero server returns a page of max size 100. + orderBy: string, Comma separated list of fields to order by, followed by `asc` or `desc` postfix. This list is case-insensitive, default sorting order is ascending, redundant space characters are insignificant. Example: `name asc,update_time, create_time desc` Supported fields are: - `create_time`: corresponds to the time the template was created. - `update_time`: corresponds to the time the template was last updated. - `name`: corresponds to the template's name. - `display_name`: corresponds to the template's display name. + pageSize: integer, Size of the page, can be limited by the server. If zero server returns a page of max size 100. pageToken: string, Page token to continue retrieval. Comes from previous call to `ListInspectTemplates`. x__xgafv: string, V1 error format. Allowed values @@ -676,7 +676,7 @@

Method Details

"version": "A String", # Optional version name for this InfoType. }, ], - "limits": { # Configuration to control the number of findings returned for inspection. This is not used for de-identification or data profiling. # Configuration to control the number of findings returned. This is not used for data profiling. + "limits": { # Configuration to control the number of findings returned for inspection. This is not used for de-identification or data profiling. When redacting sensitive data from images, finding limits don't apply. They can cause unexpected or inconsistent results, where only some data is redacted. Don't include finding limits in RedactImage requests. Otherwise, Cloud DLP returns an error. # Configuration to control the number of findings returned. This is not used for data profiling. When redacting sensitive data from images, finding limits don't apply. They can cause unexpected or inconsistent results, where only some data is redacted. Don't include finding limits in RedactImage requests. Otherwise, Cloud DLP returns an error. "maxFindingsPerInfoType": [ # Configuration of findings limit given for specified infoTypes. { # Max findings configuration per infoType, per content item or long running DlpJob. "infoType": { # Type of information detected by the API. # Type of information the findings limit applies to. Only one limit per info_type should be provided. If InfoTypeLimit does not have an info_type, the DLP API applies the limit against all info_types that are found but not specified in another InfoTypeLimit. @@ -711,7 +711,7 @@

Method Details

], }, }, - "excludeInfoTypes": { # List of exclude infoTypes. # Set of infoTypes for which findings would affect this rule. + "excludeInfoTypes": { # List of excluded infoTypes. # Set of infoTypes for which findings would affect this rule. "infoTypes": [ # InfoType list in ExclusionRule rule drops a finding when it overlaps or contained within with a finding of an infoType from this list. For example, for `InspectionRuleSet.info_types` containing "PHONE_NUMBER"` and `exclusion_rule` containing `exclude_info_types.info_types` with "EMAIL_ADDRESS" the phone number findings are dropped if they overlap with EMAIL_ADDRESS finding. That leads to "555-222-2222@example.org" to generate only a single finding, namely email address. { # Type of information detected by the API. "name": "A String", # Name of the information type. Either a name of your choosing when creating a CustomInfoType, or one of the names listed at https://cloud.google.com/dlp/docs/infotypes-reference when specifying a built-in type. When sending Cloud DLP results to Data Catalog, infoType names should conform to the pattern `[A-Za-z0-9$-_]{1,64}`. @@ -848,7 +848,7 @@

Method Details

"version": "A String", # Optional version name for this InfoType. }, ], - "limits": { # Configuration to control the number of findings returned for inspection. This is not used for de-identification or data profiling. # Configuration to control the number of findings returned. This is not used for data profiling. + "limits": { # Configuration to control the number of findings returned for inspection. This is not used for de-identification or data profiling. When redacting sensitive data from images, finding limits don't apply. They can cause unexpected or inconsistent results, where only some data is redacted. Don't include finding limits in RedactImage requests. Otherwise, Cloud DLP returns an error. # Configuration to control the number of findings returned. This is not used for data profiling. When redacting sensitive data from images, finding limits don't apply. They can cause unexpected or inconsistent results, where only some data is redacted. Don't include finding limits in RedactImage requests. Otherwise, Cloud DLP returns an error. "maxFindingsPerInfoType": [ # Configuration of findings limit given for specified infoTypes. { # Max findings configuration per infoType, per content item or long running DlpJob. "infoType": { # Type of information detected by the API. # Type of information the findings limit applies to. Only one limit per info_type should be provided. If InfoTypeLimit does not have an info_type, the DLP API applies the limit against all info_types that are found but not specified in another InfoTypeLimit. @@ -883,7 +883,7 @@

Method Details

], }, }, - "excludeInfoTypes": { # List of exclude infoTypes. # Set of infoTypes for which findings would affect this rule. + "excludeInfoTypes": { # List of excluded infoTypes. # Set of infoTypes for which findings would affect this rule. "infoTypes": [ # InfoType list in ExclusionRule rule drops a finding when it overlaps or contained within with a finding of an infoType from this list. For example, for `InspectionRuleSet.info_types` containing "PHONE_NUMBER"` and `exclusion_rule` containing `exclude_info_types.info_types` with "EMAIL_ADDRESS" the phone number findings are dropped if they overlap with EMAIL_ADDRESS finding. That leads to "555-222-2222@example.org" to generate only a single finding, namely email address. { # Type of information detected by the API. "name": "A String", # Name of the information type. Either a name of your choosing when creating a CustomInfoType, or one of the names listed at https://cloud.google.com/dlp/docs/infotypes-reference when specifying a built-in type. When sending Cloud DLP results to Data Catalog, infoType names should conform to the pattern `[A-Za-z0-9$-_]{1,64}`. @@ -1002,7 +1002,7 @@

Method Details

"version": "A String", # Optional version name for this InfoType. }, ], - "limits": { # Configuration to control the number of findings returned for inspection. This is not used for de-identification or data profiling. # Configuration to control the number of findings returned. This is not used for data profiling. + "limits": { # Configuration to control the number of findings returned for inspection. This is not used for de-identification or data profiling. When redacting sensitive data from images, finding limits don't apply. They can cause unexpected or inconsistent results, where only some data is redacted. Don't include finding limits in RedactImage requests. Otherwise, Cloud DLP returns an error. # Configuration to control the number of findings returned. This is not used for data profiling. When redacting sensitive data from images, finding limits don't apply. They can cause unexpected or inconsistent results, where only some data is redacted. Don't include finding limits in RedactImage requests. Otherwise, Cloud DLP returns an error. "maxFindingsPerInfoType": [ # Configuration of findings limit given for specified infoTypes. { # Max findings configuration per infoType, per content item or long running DlpJob. "infoType": { # Type of information detected by the API. # Type of information the findings limit applies to. Only one limit per info_type should be provided. If InfoTypeLimit does not have an info_type, the DLP API applies the limit against all info_types that are found but not specified in another InfoTypeLimit. @@ -1037,7 +1037,7 @@

Method Details

], }, }, - "excludeInfoTypes": { # List of exclude infoTypes. # Set of infoTypes for which findings would affect this rule. + "excludeInfoTypes": { # List of excluded infoTypes. # Set of infoTypes for which findings would affect this rule. "infoTypes": [ # InfoType list in ExclusionRule rule drops a finding when it overlaps or contained within with a finding of an infoType from this list. For example, for `InspectionRuleSet.info_types` containing "PHONE_NUMBER"` and `exclusion_rule` containing `exclude_info_types.info_types` with "EMAIL_ADDRESS" the phone number findings are dropped if they overlap with EMAIL_ADDRESS finding. That leads to "555-222-2222@example.org" to generate only a single finding, namely email address. { # Type of information detected by the API. "name": "A String", # Name of the information type. Either a name of your choosing when creating a CustomInfoType, or one of the names listed at https://cloud.google.com/dlp/docs/infotypes-reference when specifying a built-in type. When sending Cloud DLP results to Data Catalog, infoType names should conform to the pattern `[A-Za-z0-9$-_]{1,64}`. diff --git a/docs/dyn/dlp_v2.projects.jobTriggers.html b/docs/dyn/dlp_v2.projects.jobTriggers.html index ef2f99453b5..ee27bdac564 100644 --- a/docs/dyn/dlp_v2.projects.jobTriggers.html +++ b/docs/dyn/dlp_v2.projects.jobTriggers.html @@ -143,21 +143,39 @@

Method Details

"jobConfig": { # Controls what and how to inspect for findings. # Inspect config. "actions": [ # Actions to execute at the completion of the job. { # A task to execute on the completion of a job. See https://cloud.google.com/dlp/docs/concepts-actions to learn more. + "deidentify": { # Create a de-identified copy of the requested table or files. . A TransformationDetail will be created for each transformation. If any rows in BigQuery are skipped during de-identification (transformation errors or row size exceeds BigQuery insert API limits) they are placed in the failure output table. If the original row exceeds the BigQuery insert API limit it will be truncated when written to the failure output table. The failure output table can be set in the action.deidentify.output.big_query_output.deidentified_failure_output_table field, if no table is set, a table will be automatically created in the same project and dataset as the original table. Compatible with: Inspect # Create a de-identified copy of the input data. Applicable for non-image data only. The de-identified copy is in the same location as the original data. + "cloudStorageOutput": "A String", # Required. User settable GCS bucket and folders to store de-identified files. This field must be set for cloud storage deidentification. The output GCS bucket must be different from the input bucket. De-identified files will overwrite files in the output path. Form of: gs://bucket/folder/ or gs://bucket + "fileTypesToTransform": [ # List of user-specified file type groups to transform. If specified, only the files with these filetypes will be transformed. If empty, all supported files will be transformed. Supported types may be automatically added over time. If a file type is set in this field that isn't supported by the Deidentify action then the job will fail and will not be successfully created/started. Currently the only filetypes supported are: IMAGES, TEXT_FILES, CSV, TSV. + "A String", + ], + "transformationConfig": { # User specified templates and configs for how to deidentify structured, unstructures, and image files. User must provide either a unstructured deidentify template or at least one redact image config. # User specified deidentify templates and configs for structured, unstructured, and image files. + "deidentifyTemplate": "A String", # De-identify template. If this template is specified, it will serve as the default de-identify template. This template cannot contain `record_transformations` since it can be used for unstructured content such as free-form text files. If this template is not set, a default `ReplaceWithInfoTypeConfig` will be used to de-identify unstructured content. + "imageRedactTemplate": "A String", # Image redact template. If this template is specified, it will serve as the de-identify template for images. If this template is not set, all findings in the image will be redacted with a black box. + "structuredDeidentifyTemplate": "A String", # Structured de-identify template. If this template is specified, it will serve as the de-identify template for structured content such as delimited files and tables. If this template is not set but the `deidentify_template` is set, then `deidentify_template` will also apply to the structured content. If neither template is set, a default `ReplaceWithInfoTypeConfig` will be used to de-identify structured content. + }, + "transformationDetailsStorageConfig": { # Config for storing transformation details. # Config for storing transformation details. This is separate from the de-identified content, and contains metadata about the successful transformations and/or failures that occurred while de-identifying. This needs to be set in order for users to access information about the status of each transformation (see TransformationDetails message for more information about what is noted). + "table": { # Message defining the location of a BigQuery table. A table is uniquely identified by its project_id, dataset_id, and table_name. Within a query a table is often referenced with a string in the format of: `:.` or `..`. # The BigQuery table in which to store the output. This may be an existing table or in a new table in an existing dataset. If table_id is not set a new one will be generated for you with the following format: dlp_googleapis_transformation_details_yyyy_mm_dd_[dlp_job_id]. Pacific time zone will be used for generating the date details. + "datasetId": "A String", # Dataset ID of the table. + "projectId": "A String", # The Google Cloud Platform project ID of the project containing the table. If omitted, project ID is inferred from the API call. + "tableId": "A String", # Name of the table. + }, + }, + }, "jobNotificationEmails": { # Enable email notification to project owners and editors on jobs's completion/failure. # Enable email notification for project owners and editors on job's completion/failure. }, - "pubSub": { # Publish a message into given Pub/Sub topic when DlpJob has completed. The message contains a single field, `DlpJobName`, which is equal to the finished job's [`DlpJob.name`](https://cloud.google.com/dlp/docs/reference/rest/v2/projects.dlpJobs#DlpJob). Compatible with: Inspect, Risk # Publish a notification to a pubsub topic. + "pubSub": { # Publish a message into a given Pub/Sub topic when DlpJob has completed. The message contains a single field, `DlpJobName`, which is equal to the finished job's [`DlpJob.name`](https://cloud.google.com/dlp/docs/reference/rest/v2/projects.dlpJobs#DlpJob). Compatible with: Inspect, Risk # Publish a notification to a pubsub topic. "topic": "A String", # Cloud Pub/Sub topic to send notifications to. The topic must have given publishing access rights to the DLP API service account executing the long running DlpJob sending the notifications. Format is projects/{project}/topics/{topic}. }, "publishFindingsToCloudDataCatalog": { # Publish findings of a DlpJob to Data Catalog. Labels summarizing the results of the DlpJob will be applied to the entry for the resource scanned in Data Catalog. Any labels previously written by another DlpJob will be deleted. InfoType naming patterns are strictly enforced when using this feature. Note that the findings will be persisted in Data Catalog storage and are governed by Data Catalog service-specific policy, see https://cloud.google.com/terms/service-terms Only a single instance of this action can be specified and only allowed if all resources being scanned are BigQuery tables. Compatible with: Inspect # Publish findings to Cloud Datahub. }, - "publishSummaryToCscc": { # Publish the result summary of a DlpJob to the Cloud Security Command Center (CSCC Alpha). This action is only available for projects which are parts of an organization and whitelisted for the alpha Cloud Security Command Center. The action will publish count of finding instances and their info types. The summary of findings will be persisted in CSCC and are governed by CSCC service-specific policy, see https://cloud.google.com/terms/service-terms Only a single instance of this action can be specified. Compatible with: Inspect # Publish summary to Cloud Security Command Center (Alpha). + "publishSummaryToCscc": { # Publish the result summary of a DlpJob to the Cloud Security Command Center (CSCC Alpha). This action is only available for projects which are parts of an organization and whitelisted for the alpha Cloud Security Command Center. The action will publish the count of finding instances and their info types. The summary of findings will be persisted in CSCC and are governed by CSCC service-specific policy, see https://cloud.google.com/terms/service-terms Only a single instance of this action can be specified. Compatible with: Inspect # Publish summary to Cloud Security Command Center (Alpha). }, "publishToStackdriver": { # Enable Stackdriver metric dlp.googleapis.com/finding_count. This will publish a metric to stack driver on each infotype requested and how many findings were found for it. CustomDetectors will be bucketed as 'Custom' under the Stackdriver label 'info_type'. # Enable Stackdriver metric dlp.googleapis.com/finding_count. }, "saveFindings": { # If set, the detailed findings will be persisted to the specified OutputStorageConfig. Only a single instance of this action can be specified. Compatible with: Inspect, Risk # Save resulting findings in a provided location. "outputConfig": { # Cloud repository for storing output. # Location to store findings outside of DLP. "outputSchema": "A String", # Schema used for writing the findings for Inspect jobs. This field is only used for Inspect and must be unspecified for Risk jobs. Columns are derived from the `Finding` object. If appending to an existing table, any columns from the predefined schema that are missing will be added. No columns in the existing table will be deleted. If unspecified, then all available columns will be used for a new table or an (existing) table with no schema, and no changes will be made to an existing table that has a schema. Only for use with external storage. - "table": { # Message defining the location of a BigQuery table. A table is uniquely identified by its project_id, dataset_id, and table_name. Within a query a table is often referenced with a string in the format of: `:.` or `..`. # Store findings in an existing table or a new table in an existing dataset. If table_id is not set a new one will be generated for you with the following format: dlp_googleapis_yyyy_mm_dd_[dlp_job_id]. Pacific timezone will be used for generating the date details. For Inspect, each column in an existing output table must have the same name, type, and mode of a field in the `Finding` object. For Risk, an existing output table should be the output of a previous Risk analysis job run on the same source table, with the same privacy metric and quasi-identifiers. Risk jobs that analyze the same table but compute a different privacy metric, or use different sets of quasi-identifiers, cannot store their results in the same table. + "table": { # Message defining the location of a BigQuery table. A table is uniquely identified by its project_id, dataset_id, and table_name. Within a query a table is often referenced with a string in the format of: `:.` or `..`. # Store findings in an existing table or a new table in an existing dataset. If table_id is not set a new one will be generated for you with the following format: dlp_googleapis_yyyy_mm_dd_[dlp_job_id]. Pacific time zone will be used for generating the date details. For Inspect, each column in an existing output table must have the same name, type, and mode of a field in the `Finding` object. For Risk, an existing output table should be the output of a previous Risk analysis job run on the same source table, with the same privacy metric and quasi-identifiers. Risk jobs that analyze the same table but compute a different privacy metric, or use different sets of quasi-identifiers, cannot store their results in the same table. "datasetId": "A String", # Dataset ID of the table. "projectId": "A String", # The Google Cloud Platform project ID of the project containing the table. If omitted, project ID is inferred from the API call. "tableId": "A String", # Name of the table. @@ -230,7 +248,7 @@

Method Details

"version": "A String", # Optional version name for this InfoType. }, ], - "limits": { # Configuration to control the number of findings returned for inspection. This is not used for de-identification or data profiling. # Configuration to control the number of findings returned. This is not used for data profiling. + "limits": { # Configuration to control the number of findings returned for inspection. This is not used for de-identification or data profiling. When redacting sensitive data from images, finding limits don't apply. They can cause unexpected or inconsistent results, where only some data is redacted. Don't include finding limits in RedactImage requests. Otherwise, Cloud DLP returns an error. # Configuration to control the number of findings returned. This is not used for data profiling. When redacting sensitive data from images, finding limits don't apply. They can cause unexpected or inconsistent results, where only some data is redacted. Don't include finding limits in RedactImage requests. Otherwise, Cloud DLP returns an error. "maxFindingsPerInfoType": [ # Configuration of findings limit given for specified infoTypes. { # Max findings configuration per infoType, per content item or long running DlpJob. "infoType": { # Type of information detected by the API. # Type of information the findings limit applies to. Only one limit per info_type should be provided. If InfoTypeLimit does not have an info_type, the DLP API applies the limit against all info_types that are found but not specified in another InfoTypeLimit. @@ -265,7 +283,7 @@

Method Details

], }, }, - "excludeInfoTypes": { # List of exclude infoTypes. # Set of infoTypes for which findings would affect this rule. + "excludeInfoTypes": { # List of excluded infoTypes. # Set of infoTypes for which findings would affect this rule. "infoTypes": [ # InfoType list in ExclusionRule rule drops a finding when it overlaps or contained within with a finding of an infoType from this list. For example, for `InspectionRuleSet.info_types` containing "PHONE_NUMBER"` and `exclusion_rule` containing `exclude_info_types.info_types` with "EMAIL_ADDRESS" the phone number findings are dropped if they overlap with EMAIL_ADDRESS finding. That leads to "555-222-2222@example.org" to generate only a single finding, namely email address. { # Type of information detected by the API. "name": "A String", # Name of the information type. Either a name of your choosing when creating a CustomInfoType, or one of the names listed at https://cloud.google.com/dlp/docs/infotypes-reference when specifying a built-in type. When sending Cloud DLP results to Data Catalog, infoType names should conform to the pattern `[A-Za-z0-9$-_]{1,64}`. @@ -329,7 +347,7 @@

Method Details

"tableId": "A String", # Name of the table. }, }, - "cloudStorageOptions": { # Options defining a file or a set of files within a Google Cloud Storage bucket. # Google Cloud Storage options. + "cloudStorageOptions": { # Options defining a file or a set of files within a Cloud Storage bucket. # Cloud Storage options. "bytesLimitPerFile": "A String", # Max number of bytes to scan from a file. If a scanned file's size is bigger than this value then the rest of the bytes are omitted. Only one of bytes_limit_per_file and bytes_limit_per_file_percent can be specified. Cannot be set if de-identification is requested. "bytesLimitPerFilePercent": 42, # Max percentage of bytes to scan from a file. The rest are omitted. The number of bytes scanned is rounded down. Must be between 0 and 100, inclusively. Both 0 and 100 means no limit. Defaults to 0. Only one of bytes_limit_per_file and bytes_limit_per_file_percent can be specified. Cannot be set if de-identification is requested. "fileSet": { # Set of files to scan. # The set of one or more files to scan. @@ -375,11 +393,11 @@

Method Details

], }, }, - "timespanConfig": { # Configuration of the timespan of the items to include in scanning. Currently only supported when inspecting Google Cloud Storage and BigQuery. + "timespanConfig": { # Configuration of the timespan of the items to include in scanning. Currently only supported when inspecting Cloud Storage and BigQuery. "enableAutoPopulationOfTimespanConfig": True or False, # When the job is started by a JobTrigger we will automatically figure out a valid start_time to avoid scanning files that have not been modified since the last time the JobTrigger executed. This will be based on the time of the execution of the last run of the JobTrigger. "endTime": "A String", # Exclude files, tables, or rows newer than this value. If not set, no upper time limit is applied. "startTime": "A String", # Exclude files, tables, or rows older than this value. If not set, no lower time limit is applied. - "timestampField": { # General identifier of a data field in a storage service. # Specification of the field containing the timestamp of scanned items. Used for data sources like Datastore and BigQuery. For BigQuery: If this value is not specified and the table was modified between the given start and end times, the entire table will be scanned. If this value is specified, then rows are filtered based on the given start and end times. Rows with a `NULL` value in the provided BigQuery column are skipped. Valid data types of the provided BigQuery column are: `INTEGER`, `DATE`, `TIMESTAMP`, and `DATETIME`. For Datastore: If this value is specified, then entities are filtered based on the given start and end times. If an entity does not contain the provided timestamp property or contains empty or invalid values, then it is included. Valid data types of the provided timestamp property are: `TIMESTAMP`. + "timestampField": { # General identifier of a data field in a storage service. # Specification of the field containing the timestamp of scanned items. Used for data sources like Datastore and BigQuery. *For BigQuery* If this value is not specified and the table was modified between the given start and end times, the entire table will be scanned. If this value is specified, then rows are filtered based on the given start and end times. Rows with a `NULL` value in the provided BigQuery column are skipped. Valid data types of the provided BigQuery column are: `INTEGER`, `DATE`, `TIMESTAMP`, and `DATETIME`. If your BigQuery table is [partitioned at ingestion time](https://cloud.google.com/bigquery/docs/partitioned-tables#ingestion_time), you can use any of the following pseudo-columns as your timestamp field. When used with Cloud DLP, these pseudo-column names are case sensitive. - _PARTITIONTIME - _PARTITIONDATE - _PARTITION_LOAD_TIME *For Datastore* If this value is specified, then entities are filtered based on the given start and end times. If an entity does not contain the provided timestamp property or contains empty or invalid values, then it is included. Valid data types of the provided timestamp property are: `TIMESTAMP`. See the [known issue](https://cloud.google.com/dlp/docs/known-issues#bq-timespan) related to this operation. "name": "A String", # Name describing the field. }, }, @@ -453,7 +471,7 @@

Method Details

"version": "A String", # Optional version name for this InfoType. }, ], - "limits": { # Configuration to control the number of findings returned for inspection. This is not used for de-identification or data profiling. # Configuration to control the number of findings returned. This is not used for data profiling. + "limits": { # Configuration to control the number of findings returned for inspection. This is not used for de-identification or data profiling. When redacting sensitive data from images, finding limits don't apply. They can cause unexpected or inconsistent results, where only some data is redacted. Don't include finding limits in RedactImage requests. Otherwise, Cloud DLP returns an error. # Configuration to control the number of findings returned. This is not used for data profiling. When redacting sensitive data from images, finding limits don't apply. They can cause unexpected or inconsistent results, where only some data is redacted. Don't include finding limits in RedactImage requests. Otherwise, Cloud DLP returns an error. "maxFindingsPerInfoType": [ # Configuration of findings limit given for specified infoTypes. { # Max findings configuration per infoType, per content item or long running DlpJob. "infoType": { # Type of information detected by the API. # Type of information the findings limit applies to. Only one limit per info_type should be provided. If InfoTypeLimit does not have an info_type, the DLP API applies the limit against all info_types that are found but not specified in another InfoTypeLimit. @@ -488,7 +506,7 @@

Method Details

], }, }, - "excludeInfoTypes": { # List of exclude infoTypes. # Set of infoTypes for which findings would affect this rule. + "excludeInfoTypes": { # List of excluded infoTypes. # Set of infoTypes for which findings would affect this rule. "infoTypes": [ # InfoType list in ExclusionRule rule drops a finding when it overlaps or contained within with a finding of an infoType from this list. For example, for `InspectionRuleSet.info_types` containing "PHONE_NUMBER"` and `exclusion_rule` containing `exclude_info_types.info_types` with "EMAIL_ADDRESS" the phone number findings are dropped if they overlap with EMAIL_ADDRESS finding. That leads to "555-222-2222@example.org" to generate only a single finding, namely email address. { # Type of information detected by the API. "name": "A String", # Name of the information type. Either a name of your choosing when creating a CustomInfoType, or one of the names listed at https://cloud.google.com/dlp/docs/infotypes-reference when specifying a built-in type. When sending Cloud DLP results to Data Catalog, infoType names should conform to the pattern `[A-Za-z0-9$-_]{1,64}`. @@ -819,21 +837,39 @@

Method Details

"jobConfig": { # Configuration for a risk analysis job. See https://cloud.google.com/dlp/docs/concepts-risk-analysis to learn more. # The job config for the risk job. "actions": [ # Actions to execute at the completion of the job. Are executed in the order provided. { # A task to execute on the completion of a job. See https://cloud.google.com/dlp/docs/concepts-actions to learn more. + "deidentify": { # Create a de-identified copy of the requested table or files. . A TransformationDetail will be created for each transformation. If any rows in BigQuery are skipped during de-identification (transformation errors or row size exceeds BigQuery insert API limits) they are placed in the failure output table. If the original row exceeds the BigQuery insert API limit it will be truncated when written to the failure output table. The failure output table can be set in the action.deidentify.output.big_query_output.deidentified_failure_output_table field, if no table is set, a table will be automatically created in the same project and dataset as the original table. Compatible with: Inspect # Create a de-identified copy of the input data. Applicable for non-image data only. The de-identified copy is in the same location as the original data. + "cloudStorageOutput": "A String", # Required. User settable GCS bucket and folders to store de-identified files. This field must be set for cloud storage deidentification. The output GCS bucket must be different from the input bucket. De-identified files will overwrite files in the output path. Form of: gs://bucket/folder/ or gs://bucket + "fileTypesToTransform": [ # List of user-specified file type groups to transform. If specified, only the files with these filetypes will be transformed. If empty, all supported files will be transformed. Supported types may be automatically added over time. If a file type is set in this field that isn't supported by the Deidentify action then the job will fail and will not be successfully created/started. Currently the only filetypes supported are: IMAGES, TEXT_FILES, CSV, TSV. + "A String", + ], + "transformationConfig": { # User specified templates and configs for how to deidentify structured, unstructures, and image files. User must provide either a unstructured deidentify template or at least one redact image config. # User specified deidentify templates and configs for structured, unstructured, and image files. + "deidentifyTemplate": "A String", # De-identify template. If this template is specified, it will serve as the default de-identify template. This template cannot contain `record_transformations` since it can be used for unstructured content such as free-form text files. If this template is not set, a default `ReplaceWithInfoTypeConfig` will be used to de-identify unstructured content. + "imageRedactTemplate": "A String", # Image redact template. If this template is specified, it will serve as the de-identify template for images. If this template is not set, all findings in the image will be redacted with a black box. + "structuredDeidentifyTemplate": "A String", # Structured de-identify template. If this template is specified, it will serve as the de-identify template for structured content such as delimited files and tables. If this template is not set but the `deidentify_template` is set, then `deidentify_template` will also apply to the structured content. If neither template is set, a default `ReplaceWithInfoTypeConfig` will be used to de-identify structured content. + }, + "transformationDetailsStorageConfig": { # Config for storing transformation details. # Config for storing transformation details. This is separate from the de-identified content, and contains metadata about the successful transformations and/or failures that occurred while de-identifying. This needs to be set in order for users to access information about the status of each transformation (see TransformationDetails message for more information about what is noted). + "table": { # Message defining the location of a BigQuery table. A table is uniquely identified by its project_id, dataset_id, and table_name. Within a query a table is often referenced with a string in the format of: `:.` or `..`. # The BigQuery table in which to store the output. This may be an existing table or in a new table in an existing dataset. If table_id is not set a new one will be generated for you with the following format: dlp_googleapis_transformation_details_yyyy_mm_dd_[dlp_job_id]. Pacific time zone will be used for generating the date details. + "datasetId": "A String", # Dataset ID of the table. + "projectId": "A String", # The Google Cloud Platform project ID of the project containing the table. If omitted, project ID is inferred from the API call. + "tableId": "A String", # Name of the table. + }, + }, + }, "jobNotificationEmails": { # Enable email notification to project owners and editors on jobs's completion/failure. # Enable email notification for project owners and editors on job's completion/failure. }, - "pubSub": { # Publish a message into given Pub/Sub topic when DlpJob has completed. The message contains a single field, `DlpJobName`, which is equal to the finished job's [`DlpJob.name`](https://cloud.google.com/dlp/docs/reference/rest/v2/projects.dlpJobs#DlpJob). Compatible with: Inspect, Risk # Publish a notification to a pubsub topic. + "pubSub": { # Publish a message into a given Pub/Sub topic when DlpJob has completed. The message contains a single field, `DlpJobName`, which is equal to the finished job's [`DlpJob.name`](https://cloud.google.com/dlp/docs/reference/rest/v2/projects.dlpJobs#DlpJob). Compatible with: Inspect, Risk # Publish a notification to a pubsub topic. "topic": "A String", # Cloud Pub/Sub topic to send notifications to. The topic must have given publishing access rights to the DLP API service account executing the long running DlpJob sending the notifications. Format is projects/{project}/topics/{topic}. }, "publishFindingsToCloudDataCatalog": { # Publish findings of a DlpJob to Data Catalog. Labels summarizing the results of the DlpJob will be applied to the entry for the resource scanned in Data Catalog. Any labels previously written by another DlpJob will be deleted. InfoType naming patterns are strictly enforced when using this feature. Note that the findings will be persisted in Data Catalog storage and are governed by Data Catalog service-specific policy, see https://cloud.google.com/terms/service-terms Only a single instance of this action can be specified and only allowed if all resources being scanned are BigQuery tables. Compatible with: Inspect # Publish findings to Cloud Datahub. }, - "publishSummaryToCscc": { # Publish the result summary of a DlpJob to the Cloud Security Command Center (CSCC Alpha). This action is only available for projects which are parts of an organization and whitelisted for the alpha Cloud Security Command Center. The action will publish count of finding instances and their info types. The summary of findings will be persisted in CSCC and are governed by CSCC service-specific policy, see https://cloud.google.com/terms/service-terms Only a single instance of this action can be specified. Compatible with: Inspect # Publish summary to Cloud Security Command Center (Alpha). + "publishSummaryToCscc": { # Publish the result summary of a DlpJob to the Cloud Security Command Center (CSCC Alpha). This action is only available for projects which are parts of an organization and whitelisted for the alpha Cloud Security Command Center. The action will publish the count of finding instances and their info types. The summary of findings will be persisted in CSCC and are governed by CSCC service-specific policy, see https://cloud.google.com/terms/service-terms Only a single instance of this action can be specified. Compatible with: Inspect # Publish summary to Cloud Security Command Center (Alpha). }, "publishToStackdriver": { # Enable Stackdriver metric dlp.googleapis.com/finding_count. This will publish a metric to stack driver on each infotype requested and how many findings were found for it. CustomDetectors will be bucketed as 'Custom' under the Stackdriver label 'info_type'. # Enable Stackdriver metric dlp.googleapis.com/finding_count. }, "saveFindings": { # If set, the detailed findings will be persisted to the specified OutputStorageConfig. Only a single instance of this action can be specified. Compatible with: Inspect, Risk # Save resulting findings in a provided location. "outputConfig": { # Cloud repository for storing output. # Location to store findings outside of DLP. "outputSchema": "A String", # Schema used for writing the findings for Inspect jobs. This field is only used for Inspect and must be unspecified for Risk jobs. Columns are derived from the `Finding` object. If appending to an existing table, any columns from the predefined schema that are missing will be added. No columns in the existing table will be deleted. If unspecified, then all available columns will be used for a new table or an (existing) table with no schema, and no changes will be made to an existing table that has a schema. Only for use with external storage. - "table": { # Message defining the location of a BigQuery table. A table is uniquely identified by its project_id, dataset_id, and table_name. Within a query a table is often referenced with a string in the format of: `:.` or `..`. # Store findings in an existing table or a new table in an existing dataset. If table_id is not set a new one will be generated for you with the following format: dlp_googleapis_yyyy_mm_dd_[dlp_job_id]. Pacific timezone will be used for generating the date details. For Inspect, each column in an existing output table must have the same name, type, and mode of a field in the `Finding` object. For Risk, an existing output table should be the output of a previous Risk analysis job run on the same source table, with the same privacy metric and quasi-identifiers. Risk jobs that analyze the same table but compute a different privacy metric, or use different sets of quasi-identifiers, cannot store their results in the same table. + "table": { # Message defining the location of a BigQuery table. A table is uniquely identified by its project_id, dataset_id, and table_name. Within a query a table is often referenced with a string in the format of: `:.` or `..`. # Store findings in an existing table or a new table in an existing dataset. If table_id is not set a new one will be generated for you with the following format: dlp_googleapis_yyyy_mm_dd_[dlp_job_id]. Pacific time zone will be used for generating the date details. For Inspect, each column in an existing output table must have the same name, type, and mode of a field in the `Finding` object. For Risk, an existing output table should be the output of a previous Risk analysis job run on the same source table, with the same privacy metric and quasi-identifiers. Risk jobs that analyze the same table but compute a different privacy metric, or use different sets of quasi-identifiers, cannot store their results in the same table. "datasetId": "A String", # Dataset ID of the table. "projectId": "A String", # The Google Cloud Platform project ID of the project containing the table. If omitted, project ID is inferred from the API call. "tableId": "A String", # Name of the table. @@ -1115,21 +1151,39 @@

Method Details

"inspectJob": { # Controls what and how to inspect for findings. # For inspect jobs, a snapshot of the configuration. "actions": [ # Actions to execute at the completion of the job. { # A task to execute on the completion of a job. See https://cloud.google.com/dlp/docs/concepts-actions to learn more. + "deidentify": { # Create a de-identified copy of the requested table or files. . A TransformationDetail will be created for each transformation. If any rows in BigQuery are skipped during de-identification (transformation errors or row size exceeds BigQuery insert API limits) they are placed in the failure output table. If the original row exceeds the BigQuery insert API limit it will be truncated when written to the failure output table. The failure output table can be set in the action.deidentify.output.big_query_output.deidentified_failure_output_table field, if no table is set, a table will be automatically created in the same project and dataset as the original table. Compatible with: Inspect # Create a de-identified copy of the input data. Applicable for non-image data only. The de-identified copy is in the same location as the original data. + "cloudStorageOutput": "A String", # Required. User settable GCS bucket and folders to store de-identified files. This field must be set for cloud storage deidentification. The output GCS bucket must be different from the input bucket. De-identified files will overwrite files in the output path. Form of: gs://bucket/folder/ or gs://bucket + "fileTypesToTransform": [ # List of user-specified file type groups to transform. If specified, only the files with these filetypes will be transformed. If empty, all supported files will be transformed. Supported types may be automatically added over time. If a file type is set in this field that isn't supported by the Deidentify action then the job will fail and will not be successfully created/started. Currently the only filetypes supported are: IMAGES, TEXT_FILES, CSV, TSV. + "A String", + ], + "transformationConfig": { # User specified templates and configs for how to deidentify structured, unstructures, and image files. User must provide either a unstructured deidentify template or at least one redact image config. # User specified deidentify templates and configs for structured, unstructured, and image files. + "deidentifyTemplate": "A String", # De-identify template. If this template is specified, it will serve as the default de-identify template. This template cannot contain `record_transformations` since it can be used for unstructured content such as free-form text files. If this template is not set, a default `ReplaceWithInfoTypeConfig` will be used to de-identify unstructured content. + "imageRedactTemplate": "A String", # Image redact template. If this template is specified, it will serve as the de-identify template for images. If this template is not set, all findings in the image will be redacted with a black box. + "structuredDeidentifyTemplate": "A String", # Structured de-identify template. If this template is specified, it will serve as the de-identify template for structured content such as delimited files and tables. If this template is not set but the `deidentify_template` is set, then `deidentify_template` will also apply to the structured content. If neither template is set, a default `ReplaceWithInfoTypeConfig` will be used to de-identify structured content. + }, + "transformationDetailsStorageConfig": { # Config for storing transformation details. # Config for storing transformation details. This is separate from the de-identified content, and contains metadata about the successful transformations and/or failures that occurred while de-identifying. This needs to be set in order for users to access information about the status of each transformation (see TransformationDetails message for more information about what is noted). + "table": { # Message defining the location of a BigQuery table. A table is uniquely identified by its project_id, dataset_id, and table_name. Within a query a table is often referenced with a string in the format of: `:.` or `..`. # The BigQuery table in which to store the output. This may be an existing table or in a new table in an existing dataset. If table_id is not set a new one will be generated for you with the following format: dlp_googleapis_transformation_details_yyyy_mm_dd_[dlp_job_id]. Pacific time zone will be used for generating the date details. + "datasetId": "A String", # Dataset ID of the table. + "projectId": "A String", # The Google Cloud Platform project ID of the project containing the table. If omitted, project ID is inferred from the API call. + "tableId": "A String", # Name of the table. + }, + }, + }, "jobNotificationEmails": { # Enable email notification to project owners and editors on jobs's completion/failure. # Enable email notification for project owners and editors on job's completion/failure. }, - "pubSub": { # Publish a message into given Pub/Sub topic when DlpJob has completed. The message contains a single field, `DlpJobName`, which is equal to the finished job's [`DlpJob.name`](https://cloud.google.com/dlp/docs/reference/rest/v2/projects.dlpJobs#DlpJob). Compatible with: Inspect, Risk # Publish a notification to a pubsub topic. + "pubSub": { # Publish a message into a given Pub/Sub topic when DlpJob has completed. The message contains a single field, `DlpJobName`, which is equal to the finished job's [`DlpJob.name`](https://cloud.google.com/dlp/docs/reference/rest/v2/projects.dlpJobs#DlpJob). Compatible with: Inspect, Risk # Publish a notification to a pubsub topic. "topic": "A String", # Cloud Pub/Sub topic to send notifications to. The topic must have given publishing access rights to the DLP API service account executing the long running DlpJob sending the notifications. Format is projects/{project}/topics/{topic}. }, "publishFindingsToCloudDataCatalog": { # Publish findings of a DlpJob to Data Catalog. Labels summarizing the results of the DlpJob will be applied to the entry for the resource scanned in Data Catalog. Any labels previously written by another DlpJob will be deleted. InfoType naming patterns are strictly enforced when using this feature. Note that the findings will be persisted in Data Catalog storage and are governed by Data Catalog service-specific policy, see https://cloud.google.com/terms/service-terms Only a single instance of this action can be specified and only allowed if all resources being scanned are BigQuery tables. Compatible with: Inspect # Publish findings to Cloud Datahub. }, - "publishSummaryToCscc": { # Publish the result summary of a DlpJob to the Cloud Security Command Center (CSCC Alpha). This action is only available for projects which are parts of an organization and whitelisted for the alpha Cloud Security Command Center. The action will publish count of finding instances and their info types. The summary of findings will be persisted in CSCC and are governed by CSCC service-specific policy, see https://cloud.google.com/terms/service-terms Only a single instance of this action can be specified. Compatible with: Inspect # Publish summary to Cloud Security Command Center (Alpha). + "publishSummaryToCscc": { # Publish the result summary of a DlpJob to the Cloud Security Command Center (CSCC Alpha). This action is only available for projects which are parts of an organization and whitelisted for the alpha Cloud Security Command Center. The action will publish the count of finding instances and their info types. The summary of findings will be persisted in CSCC and are governed by CSCC service-specific policy, see https://cloud.google.com/terms/service-terms Only a single instance of this action can be specified. Compatible with: Inspect # Publish summary to Cloud Security Command Center (Alpha). }, "publishToStackdriver": { # Enable Stackdriver metric dlp.googleapis.com/finding_count. This will publish a metric to stack driver on each infotype requested and how many findings were found for it. CustomDetectors will be bucketed as 'Custom' under the Stackdriver label 'info_type'. # Enable Stackdriver metric dlp.googleapis.com/finding_count. }, "saveFindings": { # If set, the detailed findings will be persisted to the specified OutputStorageConfig. Only a single instance of this action can be specified. Compatible with: Inspect, Risk # Save resulting findings in a provided location. "outputConfig": { # Cloud repository for storing output. # Location to store findings outside of DLP. "outputSchema": "A String", # Schema used for writing the findings for Inspect jobs. This field is only used for Inspect and must be unspecified for Risk jobs. Columns are derived from the `Finding` object. If appending to an existing table, any columns from the predefined schema that are missing will be added. No columns in the existing table will be deleted. If unspecified, then all available columns will be used for a new table or an (existing) table with no schema, and no changes will be made to an existing table that has a schema. Only for use with external storage. - "table": { # Message defining the location of a BigQuery table. A table is uniquely identified by its project_id, dataset_id, and table_name. Within a query a table is often referenced with a string in the format of: `:.` or `..`. # Store findings in an existing table or a new table in an existing dataset. If table_id is not set a new one will be generated for you with the following format: dlp_googleapis_yyyy_mm_dd_[dlp_job_id]. Pacific timezone will be used for generating the date details. For Inspect, each column in an existing output table must have the same name, type, and mode of a field in the `Finding` object. For Risk, an existing output table should be the output of a previous Risk analysis job run on the same source table, with the same privacy metric and quasi-identifiers. Risk jobs that analyze the same table but compute a different privacy metric, or use different sets of quasi-identifiers, cannot store their results in the same table. + "table": { # Message defining the location of a BigQuery table. A table is uniquely identified by its project_id, dataset_id, and table_name. Within a query a table is often referenced with a string in the format of: `:.` or `..`. # Store findings in an existing table or a new table in an existing dataset. If table_id is not set a new one will be generated for you with the following format: dlp_googleapis_yyyy_mm_dd_[dlp_job_id]. Pacific time zone will be used for generating the date details. For Inspect, each column in an existing output table must have the same name, type, and mode of a field in the `Finding` object. For Risk, an existing output table should be the output of a previous Risk analysis job run on the same source table, with the same privacy metric and quasi-identifiers. Risk jobs that analyze the same table but compute a different privacy metric, or use different sets of quasi-identifiers, cannot store their results in the same table. "datasetId": "A String", # Dataset ID of the table. "projectId": "A String", # The Google Cloud Platform project ID of the project containing the table. If omitted, project ID is inferred from the API call. "tableId": "A String", # Name of the table. @@ -1202,7 +1256,7 @@

Method Details

"version": "A String", # Optional version name for this InfoType. }, ], - "limits": { # Configuration to control the number of findings returned for inspection. This is not used for de-identification or data profiling. # Configuration to control the number of findings returned. This is not used for data profiling. + "limits": { # Configuration to control the number of findings returned for inspection. This is not used for de-identification or data profiling. When redacting sensitive data from images, finding limits don't apply. They can cause unexpected or inconsistent results, where only some data is redacted. Don't include finding limits in RedactImage requests. Otherwise, Cloud DLP returns an error. # Configuration to control the number of findings returned. This is not used for data profiling. When redacting sensitive data from images, finding limits don't apply. They can cause unexpected or inconsistent results, where only some data is redacted. Don't include finding limits in RedactImage requests. Otherwise, Cloud DLP returns an error. "maxFindingsPerInfoType": [ # Configuration of findings limit given for specified infoTypes. { # Max findings configuration per infoType, per content item or long running DlpJob. "infoType": { # Type of information detected by the API. # Type of information the findings limit applies to. Only one limit per info_type should be provided. If InfoTypeLimit does not have an info_type, the DLP API applies the limit against all info_types that are found but not specified in another InfoTypeLimit. @@ -1237,7 +1291,7 @@

Method Details

], }, }, - "excludeInfoTypes": { # List of exclude infoTypes. # Set of infoTypes for which findings would affect this rule. + "excludeInfoTypes": { # List of excluded infoTypes. # Set of infoTypes for which findings would affect this rule. "infoTypes": [ # InfoType list in ExclusionRule rule drops a finding when it overlaps or contained within with a finding of an infoType from this list. For example, for `InspectionRuleSet.info_types` containing "PHONE_NUMBER"` and `exclusion_rule` containing `exclude_info_types.info_types` with "EMAIL_ADDRESS" the phone number findings are dropped if they overlap with EMAIL_ADDRESS finding. That leads to "555-222-2222@example.org" to generate only a single finding, namely email address. { # Type of information detected by the API. "name": "A String", # Name of the information type. Either a name of your choosing when creating a CustomInfoType, or one of the names listed at https://cloud.google.com/dlp/docs/infotypes-reference when specifying a built-in type. When sending Cloud DLP results to Data Catalog, infoType names should conform to the pattern `[A-Za-z0-9$-_]{1,64}`. @@ -1301,7 +1355,7 @@

Method Details

"tableId": "A String", # Name of the table. }, }, - "cloudStorageOptions": { # Options defining a file or a set of files within a Google Cloud Storage bucket. # Google Cloud Storage options. + "cloudStorageOptions": { # Options defining a file or a set of files within a Cloud Storage bucket. # Cloud Storage options. "bytesLimitPerFile": "A String", # Max number of bytes to scan from a file. If a scanned file's size is bigger than this value then the rest of the bytes are omitted. Only one of bytes_limit_per_file and bytes_limit_per_file_percent can be specified. Cannot be set if de-identification is requested. "bytesLimitPerFilePercent": 42, # Max percentage of bytes to scan from a file. The rest are omitted. The number of bytes scanned is rounded down. Must be between 0 and 100, inclusively. Both 0 and 100 means no limit. Defaults to 0. Only one of bytes_limit_per_file and bytes_limit_per_file_percent can be specified. Cannot be set if de-identification is requested. "fileSet": { # Set of files to scan. # The set of one or more files to scan. @@ -1347,11 +1401,11 @@

Method Details

], }, }, - "timespanConfig": { # Configuration of the timespan of the items to include in scanning. Currently only supported when inspecting Google Cloud Storage and BigQuery. + "timespanConfig": { # Configuration of the timespan of the items to include in scanning. Currently only supported when inspecting Cloud Storage and BigQuery. "enableAutoPopulationOfTimespanConfig": True or False, # When the job is started by a JobTrigger we will automatically figure out a valid start_time to avoid scanning files that have not been modified since the last time the JobTrigger executed. This will be based on the time of the execution of the last run of the JobTrigger. "endTime": "A String", # Exclude files, tables, or rows newer than this value. If not set, no upper time limit is applied. "startTime": "A String", # Exclude files, tables, or rows older than this value. If not set, no lower time limit is applied. - "timestampField": { # General identifier of a data field in a storage service. # Specification of the field containing the timestamp of scanned items. Used for data sources like Datastore and BigQuery. For BigQuery: If this value is not specified and the table was modified between the given start and end times, the entire table will be scanned. If this value is specified, then rows are filtered based on the given start and end times. Rows with a `NULL` value in the provided BigQuery column are skipped. Valid data types of the provided BigQuery column are: `INTEGER`, `DATE`, `TIMESTAMP`, and `DATETIME`. For Datastore: If this value is specified, then entities are filtered based on the given start and end times. If an entity does not contain the provided timestamp property or contains empty or invalid values, then it is included. Valid data types of the provided timestamp property are: `TIMESTAMP`. + "timestampField": { # General identifier of a data field in a storage service. # Specification of the field containing the timestamp of scanned items. Used for data sources like Datastore and BigQuery. *For BigQuery* If this value is not specified and the table was modified between the given start and end times, the entire table will be scanned. If this value is specified, then rows are filtered based on the given start and end times. Rows with a `NULL` value in the provided BigQuery column are skipped. Valid data types of the provided BigQuery column are: `INTEGER`, `DATE`, `TIMESTAMP`, and `DATETIME`. If your BigQuery table is [partitioned at ingestion time](https://cloud.google.com/bigquery/docs/partitioned-tables#ingestion_time), you can use any of the following pseudo-columns as your timestamp field. When used with Cloud DLP, these pseudo-column names are case sensitive. - _PARTITIONTIME - _PARTITIONDATE - _PARTITION_LOAD_TIME *For Datastore* If this value is specified, then entities are filtered based on the given start and end times. If an entity does not contain the provided timestamp property or contains empty or invalid values, then it is included. Valid data types of the provided timestamp property are: `TIMESTAMP`. See the [known issue](https://cloud.google.com/dlp/docs/known-issues#bq-timespan) related to this operation. "name": "A String", # Name describing the field. }, }, @@ -1365,7 +1419,7 @@

Method Details

"manual": { # Job trigger option for hybrid jobs. Jobs must be manually created and finished. # For use with hybrid jobs. Jobs must be manually created and finished. }, "schedule": { # Schedule for inspect job triggers. # Create a job on a repeating basis based on the elapse of time. - "recurrencePeriodDuration": "A String", # With this option a job is started a regular periodic basis. For example: every day (86400 seconds). A scheduled start time will be skipped if the previous execution has not ended when its scheduled time occurs. This value must be set to a time duration greater than or equal to 1 day and can be no longer than 60 days. + "recurrencePeriodDuration": "A String", # With this option a job is started on a regular periodic basis. For example: every day (86400 seconds). A scheduled start time will be skipped if the previous execution has not ended when its scheduled time occurs. This value must be set to a time duration greater than or equal to 1 day and can be no longer than 60 days. }, }, ], @@ -1406,21 +1460,39 @@

Method Details

"inspectJob": { # Controls what and how to inspect for findings. # For inspect jobs, a snapshot of the configuration. "actions": [ # Actions to execute at the completion of the job. { # A task to execute on the completion of a job. See https://cloud.google.com/dlp/docs/concepts-actions to learn more. + "deidentify": { # Create a de-identified copy of the requested table or files. . A TransformationDetail will be created for each transformation. If any rows in BigQuery are skipped during de-identification (transformation errors or row size exceeds BigQuery insert API limits) they are placed in the failure output table. If the original row exceeds the BigQuery insert API limit it will be truncated when written to the failure output table. The failure output table can be set in the action.deidentify.output.big_query_output.deidentified_failure_output_table field, if no table is set, a table will be automatically created in the same project and dataset as the original table. Compatible with: Inspect # Create a de-identified copy of the input data. Applicable for non-image data only. The de-identified copy is in the same location as the original data. + "cloudStorageOutput": "A String", # Required. User settable GCS bucket and folders to store de-identified files. This field must be set for cloud storage deidentification. The output GCS bucket must be different from the input bucket. De-identified files will overwrite files in the output path. Form of: gs://bucket/folder/ or gs://bucket + "fileTypesToTransform": [ # List of user-specified file type groups to transform. If specified, only the files with these filetypes will be transformed. If empty, all supported files will be transformed. Supported types may be automatically added over time. If a file type is set in this field that isn't supported by the Deidentify action then the job will fail and will not be successfully created/started. Currently the only filetypes supported are: IMAGES, TEXT_FILES, CSV, TSV. + "A String", + ], + "transformationConfig": { # User specified templates and configs for how to deidentify structured, unstructures, and image files. User must provide either a unstructured deidentify template or at least one redact image config. # User specified deidentify templates and configs for structured, unstructured, and image files. + "deidentifyTemplate": "A String", # De-identify template. If this template is specified, it will serve as the default de-identify template. This template cannot contain `record_transformations` since it can be used for unstructured content such as free-form text files. If this template is not set, a default `ReplaceWithInfoTypeConfig` will be used to de-identify unstructured content. + "imageRedactTemplate": "A String", # Image redact template. If this template is specified, it will serve as the de-identify template for images. If this template is not set, all findings in the image will be redacted with a black box. + "structuredDeidentifyTemplate": "A String", # Structured de-identify template. If this template is specified, it will serve as the de-identify template for structured content such as delimited files and tables. If this template is not set but the `deidentify_template` is set, then `deidentify_template` will also apply to the structured content. If neither template is set, a default `ReplaceWithInfoTypeConfig` will be used to de-identify structured content. + }, + "transformationDetailsStorageConfig": { # Config for storing transformation details. # Config for storing transformation details. This is separate from the de-identified content, and contains metadata about the successful transformations and/or failures that occurred while de-identifying. This needs to be set in order for users to access information about the status of each transformation (see TransformationDetails message for more information about what is noted). + "table": { # Message defining the location of a BigQuery table. A table is uniquely identified by its project_id, dataset_id, and table_name. Within a query a table is often referenced with a string in the format of: `:.` or `..`. # The BigQuery table in which to store the output. This may be an existing table or in a new table in an existing dataset. If table_id is not set a new one will be generated for you with the following format: dlp_googleapis_transformation_details_yyyy_mm_dd_[dlp_job_id]. Pacific time zone will be used for generating the date details. + "datasetId": "A String", # Dataset ID of the table. + "projectId": "A String", # The Google Cloud Platform project ID of the project containing the table. If omitted, project ID is inferred from the API call. + "tableId": "A String", # Name of the table. + }, + }, + }, "jobNotificationEmails": { # Enable email notification to project owners and editors on jobs's completion/failure. # Enable email notification for project owners and editors on job's completion/failure. }, - "pubSub": { # Publish a message into given Pub/Sub topic when DlpJob has completed. The message contains a single field, `DlpJobName`, which is equal to the finished job's [`DlpJob.name`](https://cloud.google.com/dlp/docs/reference/rest/v2/projects.dlpJobs#DlpJob). Compatible with: Inspect, Risk # Publish a notification to a pubsub topic. + "pubSub": { # Publish a message into a given Pub/Sub topic when DlpJob has completed. The message contains a single field, `DlpJobName`, which is equal to the finished job's [`DlpJob.name`](https://cloud.google.com/dlp/docs/reference/rest/v2/projects.dlpJobs#DlpJob). Compatible with: Inspect, Risk # Publish a notification to a pubsub topic. "topic": "A String", # Cloud Pub/Sub topic to send notifications to. The topic must have given publishing access rights to the DLP API service account executing the long running DlpJob sending the notifications. Format is projects/{project}/topics/{topic}. }, "publishFindingsToCloudDataCatalog": { # Publish findings of a DlpJob to Data Catalog. Labels summarizing the results of the DlpJob will be applied to the entry for the resource scanned in Data Catalog. Any labels previously written by another DlpJob will be deleted. InfoType naming patterns are strictly enforced when using this feature. Note that the findings will be persisted in Data Catalog storage and are governed by Data Catalog service-specific policy, see https://cloud.google.com/terms/service-terms Only a single instance of this action can be specified and only allowed if all resources being scanned are BigQuery tables. Compatible with: Inspect # Publish findings to Cloud Datahub. }, - "publishSummaryToCscc": { # Publish the result summary of a DlpJob to the Cloud Security Command Center (CSCC Alpha). This action is only available for projects which are parts of an organization and whitelisted for the alpha Cloud Security Command Center. The action will publish count of finding instances and their info types. The summary of findings will be persisted in CSCC and are governed by CSCC service-specific policy, see https://cloud.google.com/terms/service-terms Only a single instance of this action can be specified. Compatible with: Inspect # Publish summary to Cloud Security Command Center (Alpha). + "publishSummaryToCscc": { # Publish the result summary of a DlpJob to the Cloud Security Command Center (CSCC Alpha). This action is only available for projects which are parts of an organization and whitelisted for the alpha Cloud Security Command Center. The action will publish the count of finding instances and their info types. The summary of findings will be persisted in CSCC and are governed by CSCC service-specific policy, see https://cloud.google.com/terms/service-terms Only a single instance of this action can be specified. Compatible with: Inspect # Publish summary to Cloud Security Command Center (Alpha). }, "publishToStackdriver": { # Enable Stackdriver metric dlp.googleapis.com/finding_count. This will publish a metric to stack driver on each infotype requested and how many findings were found for it. CustomDetectors will be bucketed as 'Custom' under the Stackdriver label 'info_type'. # Enable Stackdriver metric dlp.googleapis.com/finding_count. }, "saveFindings": { # If set, the detailed findings will be persisted to the specified OutputStorageConfig. Only a single instance of this action can be specified. Compatible with: Inspect, Risk # Save resulting findings in a provided location. "outputConfig": { # Cloud repository for storing output. # Location to store findings outside of DLP. "outputSchema": "A String", # Schema used for writing the findings for Inspect jobs. This field is only used for Inspect and must be unspecified for Risk jobs. Columns are derived from the `Finding` object. If appending to an existing table, any columns from the predefined schema that are missing will be added. No columns in the existing table will be deleted. If unspecified, then all available columns will be used for a new table or an (existing) table with no schema, and no changes will be made to an existing table that has a schema. Only for use with external storage. - "table": { # Message defining the location of a BigQuery table. A table is uniquely identified by its project_id, dataset_id, and table_name. Within a query a table is often referenced with a string in the format of: `:.` or `..`. # Store findings in an existing table or a new table in an existing dataset. If table_id is not set a new one will be generated for you with the following format: dlp_googleapis_yyyy_mm_dd_[dlp_job_id]. Pacific timezone will be used for generating the date details. For Inspect, each column in an existing output table must have the same name, type, and mode of a field in the `Finding` object. For Risk, an existing output table should be the output of a previous Risk analysis job run on the same source table, with the same privacy metric and quasi-identifiers. Risk jobs that analyze the same table but compute a different privacy metric, or use different sets of quasi-identifiers, cannot store their results in the same table. + "table": { # Message defining the location of a BigQuery table. A table is uniquely identified by its project_id, dataset_id, and table_name. Within a query a table is often referenced with a string in the format of: `:.` or `..`. # Store findings in an existing table or a new table in an existing dataset. If table_id is not set a new one will be generated for you with the following format: dlp_googleapis_yyyy_mm_dd_[dlp_job_id]. Pacific time zone will be used for generating the date details. For Inspect, each column in an existing output table must have the same name, type, and mode of a field in the `Finding` object. For Risk, an existing output table should be the output of a previous Risk analysis job run on the same source table, with the same privacy metric and quasi-identifiers. Risk jobs that analyze the same table but compute a different privacy metric, or use different sets of quasi-identifiers, cannot store their results in the same table. "datasetId": "A String", # Dataset ID of the table. "projectId": "A String", # The Google Cloud Platform project ID of the project containing the table. If omitted, project ID is inferred from the API call. "tableId": "A String", # Name of the table. @@ -1493,7 +1565,7 @@

Method Details

"version": "A String", # Optional version name for this InfoType. }, ], - "limits": { # Configuration to control the number of findings returned for inspection. This is not used for de-identification or data profiling. # Configuration to control the number of findings returned. This is not used for data profiling. + "limits": { # Configuration to control the number of findings returned for inspection. This is not used for de-identification or data profiling. When redacting sensitive data from images, finding limits don't apply. They can cause unexpected or inconsistent results, where only some data is redacted. Don't include finding limits in RedactImage requests. Otherwise, Cloud DLP returns an error. # Configuration to control the number of findings returned. This is not used for data profiling. When redacting sensitive data from images, finding limits don't apply. They can cause unexpected or inconsistent results, where only some data is redacted. Don't include finding limits in RedactImage requests. Otherwise, Cloud DLP returns an error. "maxFindingsPerInfoType": [ # Configuration of findings limit given for specified infoTypes. { # Max findings configuration per infoType, per content item or long running DlpJob. "infoType": { # Type of information detected by the API. # Type of information the findings limit applies to. Only one limit per info_type should be provided. If InfoTypeLimit does not have an info_type, the DLP API applies the limit against all info_types that are found but not specified in another InfoTypeLimit. @@ -1528,7 +1600,7 @@

Method Details

], }, }, - "excludeInfoTypes": { # List of exclude infoTypes. # Set of infoTypes for which findings would affect this rule. + "excludeInfoTypes": { # List of excluded infoTypes. # Set of infoTypes for which findings would affect this rule. "infoTypes": [ # InfoType list in ExclusionRule rule drops a finding when it overlaps or contained within with a finding of an infoType from this list. For example, for `InspectionRuleSet.info_types` containing "PHONE_NUMBER"` and `exclusion_rule` containing `exclude_info_types.info_types` with "EMAIL_ADDRESS" the phone number findings are dropped if they overlap with EMAIL_ADDRESS finding. That leads to "555-222-2222@example.org" to generate only a single finding, namely email address. { # Type of information detected by the API. "name": "A String", # Name of the information type. Either a name of your choosing when creating a CustomInfoType, or one of the names listed at https://cloud.google.com/dlp/docs/infotypes-reference when specifying a built-in type. When sending Cloud DLP results to Data Catalog, infoType names should conform to the pattern `[A-Za-z0-9$-_]{1,64}`. @@ -1592,7 +1664,7 @@

Method Details

"tableId": "A String", # Name of the table. }, }, - "cloudStorageOptions": { # Options defining a file or a set of files within a Google Cloud Storage bucket. # Google Cloud Storage options. + "cloudStorageOptions": { # Options defining a file or a set of files within a Cloud Storage bucket. # Cloud Storage options. "bytesLimitPerFile": "A String", # Max number of bytes to scan from a file. If a scanned file's size is bigger than this value then the rest of the bytes are omitted. Only one of bytes_limit_per_file and bytes_limit_per_file_percent can be specified. Cannot be set if de-identification is requested. "bytesLimitPerFilePercent": 42, # Max percentage of bytes to scan from a file. The rest are omitted. The number of bytes scanned is rounded down. Must be between 0 and 100, inclusively. Both 0 and 100 means no limit. Defaults to 0. Only one of bytes_limit_per_file and bytes_limit_per_file_percent can be specified. Cannot be set if de-identification is requested. "fileSet": { # Set of files to scan. # The set of one or more files to scan. @@ -1638,11 +1710,11 @@

Method Details

], }, }, - "timespanConfig": { # Configuration of the timespan of the items to include in scanning. Currently only supported when inspecting Google Cloud Storage and BigQuery. + "timespanConfig": { # Configuration of the timespan of the items to include in scanning. Currently only supported when inspecting Cloud Storage and BigQuery. "enableAutoPopulationOfTimespanConfig": True or False, # When the job is started by a JobTrigger we will automatically figure out a valid start_time to avoid scanning files that have not been modified since the last time the JobTrigger executed. This will be based on the time of the execution of the last run of the JobTrigger. "endTime": "A String", # Exclude files, tables, or rows newer than this value. If not set, no upper time limit is applied. "startTime": "A String", # Exclude files, tables, or rows older than this value. If not set, no lower time limit is applied. - "timestampField": { # General identifier of a data field in a storage service. # Specification of the field containing the timestamp of scanned items. Used for data sources like Datastore and BigQuery. For BigQuery: If this value is not specified and the table was modified between the given start and end times, the entire table will be scanned. If this value is specified, then rows are filtered based on the given start and end times. Rows with a `NULL` value in the provided BigQuery column are skipped. Valid data types of the provided BigQuery column are: `INTEGER`, `DATE`, `TIMESTAMP`, and `DATETIME`. For Datastore: If this value is specified, then entities are filtered based on the given start and end times. If an entity does not contain the provided timestamp property or contains empty or invalid values, then it is included. Valid data types of the provided timestamp property are: `TIMESTAMP`. + "timestampField": { # General identifier of a data field in a storage service. # Specification of the field containing the timestamp of scanned items. Used for data sources like Datastore and BigQuery. *For BigQuery* If this value is not specified and the table was modified between the given start and end times, the entire table will be scanned. If this value is specified, then rows are filtered based on the given start and end times. Rows with a `NULL` value in the provided BigQuery column are skipped. Valid data types of the provided BigQuery column are: `INTEGER`, `DATE`, `TIMESTAMP`, and `DATETIME`. If your BigQuery table is [partitioned at ingestion time](https://cloud.google.com/bigquery/docs/partitioned-tables#ingestion_time), you can use any of the following pseudo-columns as your timestamp field. When used with Cloud DLP, these pseudo-column names are case sensitive. - _PARTITIONTIME - _PARTITIONDATE - _PARTITION_LOAD_TIME *For Datastore* If this value is specified, then entities are filtered based on the given start and end times. If an entity does not contain the provided timestamp property or contains empty or invalid values, then it is included. Valid data types of the provided timestamp property are: `TIMESTAMP`. See the [known issue](https://cloud.google.com/dlp/docs/known-issues#bq-timespan) related to this operation. "name": "A String", # Name describing the field. }, }, @@ -1656,7 +1728,7 @@

Method Details

"manual": { # Job trigger option for hybrid jobs. Jobs must be manually created and finished. # For use with hybrid jobs. Jobs must be manually created and finished. }, "schedule": { # Schedule for inspect job triggers. # Create a job on a repeating basis based on the elapse of time. - "recurrencePeriodDuration": "A String", # With this option a job is started a regular periodic basis. For example: every day (86400 seconds). A scheduled start time will be skipped if the previous execution has not ended when its scheduled time occurs. This value must be set to a time duration greater than or equal to 1 day and can be no longer than 60 days. + "recurrencePeriodDuration": "A String", # With this option a job is started on a regular periodic basis. For example: every day (86400 seconds). A scheduled start time will be skipped if the previous execution has not ended when its scheduled time occurs. This value must be set to a time duration greater than or equal to 1 day and can be no longer than 60 days. }, }, ], @@ -1719,21 +1791,39 @@

Method Details

"inspectJob": { # Controls what and how to inspect for findings. # For inspect jobs, a snapshot of the configuration. "actions": [ # Actions to execute at the completion of the job. { # A task to execute on the completion of a job. See https://cloud.google.com/dlp/docs/concepts-actions to learn more. + "deidentify": { # Create a de-identified copy of the requested table or files. . A TransformationDetail will be created for each transformation. If any rows in BigQuery are skipped during de-identification (transformation errors or row size exceeds BigQuery insert API limits) they are placed in the failure output table. If the original row exceeds the BigQuery insert API limit it will be truncated when written to the failure output table. The failure output table can be set in the action.deidentify.output.big_query_output.deidentified_failure_output_table field, if no table is set, a table will be automatically created in the same project and dataset as the original table. Compatible with: Inspect # Create a de-identified copy of the input data. Applicable for non-image data only. The de-identified copy is in the same location as the original data. + "cloudStorageOutput": "A String", # Required. User settable GCS bucket and folders to store de-identified files. This field must be set for cloud storage deidentification. The output GCS bucket must be different from the input bucket. De-identified files will overwrite files in the output path. Form of: gs://bucket/folder/ or gs://bucket + "fileTypesToTransform": [ # List of user-specified file type groups to transform. If specified, only the files with these filetypes will be transformed. If empty, all supported files will be transformed. Supported types may be automatically added over time. If a file type is set in this field that isn't supported by the Deidentify action then the job will fail and will not be successfully created/started. Currently the only filetypes supported are: IMAGES, TEXT_FILES, CSV, TSV. + "A String", + ], + "transformationConfig": { # User specified templates and configs for how to deidentify structured, unstructures, and image files. User must provide either a unstructured deidentify template or at least one redact image config. # User specified deidentify templates and configs for structured, unstructured, and image files. + "deidentifyTemplate": "A String", # De-identify template. If this template is specified, it will serve as the default de-identify template. This template cannot contain `record_transformations` since it can be used for unstructured content such as free-form text files. If this template is not set, a default `ReplaceWithInfoTypeConfig` will be used to de-identify unstructured content. + "imageRedactTemplate": "A String", # Image redact template. If this template is specified, it will serve as the de-identify template for images. If this template is not set, all findings in the image will be redacted with a black box. + "structuredDeidentifyTemplate": "A String", # Structured de-identify template. If this template is specified, it will serve as the de-identify template for structured content such as delimited files and tables. If this template is not set but the `deidentify_template` is set, then `deidentify_template` will also apply to the structured content. If neither template is set, a default `ReplaceWithInfoTypeConfig` will be used to de-identify structured content. + }, + "transformationDetailsStorageConfig": { # Config for storing transformation details. # Config for storing transformation details. This is separate from the de-identified content, and contains metadata about the successful transformations and/or failures that occurred while de-identifying. This needs to be set in order for users to access information about the status of each transformation (see TransformationDetails message for more information about what is noted). + "table": { # Message defining the location of a BigQuery table. A table is uniquely identified by its project_id, dataset_id, and table_name. Within a query a table is often referenced with a string in the format of: `:.` or `..`. # The BigQuery table in which to store the output. This may be an existing table or in a new table in an existing dataset. If table_id is not set a new one will be generated for you with the following format: dlp_googleapis_transformation_details_yyyy_mm_dd_[dlp_job_id]. Pacific time zone will be used for generating the date details. + "datasetId": "A String", # Dataset ID of the table. + "projectId": "A String", # The Google Cloud Platform project ID of the project containing the table. If omitted, project ID is inferred from the API call. + "tableId": "A String", # Name of the table. + }, + }, + }, "jobNotificationEmails": { # Enable email notification to project owners and editors on jobs's completion/failure. # Enable email notification for project owners and editors on job's completion/failure. }, - "pubSub": { # Publish a message into given Pub/Sub topic when DlpJob has completed. The message contains a single field, `DlpJobName`, which is equal to the finished job's [`DlpJob.name`](https://cloud.google.com/dlp/docs/reference/rest/v2/projects.dlpJobs#DlpJob). Compatible with: Inspect, Risk # Publish a notification to a pubsub topic. + "pubSub": { # Publish a message into a given Pub/Sub topic when DlpJob has completed. The message contains a single field, `DlpJobName`, which is equal to the finished job's [`DlpJob.name`](https://cloud.google.com/dlp/docs/reference/rest/v2/projects.dlpJobs#DlpJob). Compatible with: Inspect, Risk # Publish a notification to a pubsub topic. "topic": "A String", # Cloud Pub/Sub topic to send notifications to. The topic must have given publishing access rights to the DLP API service account executing the long running DlpJob sending the notifications. Format is projects/{project}/topics/{topic}. }, "publishFindingsToCloudDataCatalog": { # Publish findings of a DlpJob to Data Catalog. Labels summarizing the results of the DlpJob will be applied to the entry for the resource scanned in Data Catalog. Any labels previously written by another DlpJob will be deleted. InfoType naming patterns are strictly enforced when using this feature. Note that the findings will be persisted in Data Catalog storage and are governed by Data Catalog service-specific policy, see https://cloud.google.com/terms/service-terms Only a single instance of this action can be specified and only allowed if all resources being scanned are BigQuery tables. Compatible with: Inspect # Publish findings to Cloud Datahub. }, - "publishSummaryToCscc": { # Publish the result summary of a DlpJob to the Cloud Security Command Center (CSCC Alpha). This action is only available for projects which are parts of an organization and whitelisted for the alpha Cloud Security Command Center. The action will publish count of finding instances and their info types. The summary of findings will be persisted in CSCC and are governed by CSCC service-specific policy, see https://cloud.google.com/terms/service-terms Only a single instance of this action can be specified. Compatible with: Inspect # Publish summary to Cloud Security Command Center (Alpha). + "publishSummaryToCscc": { # Publish the result summary of a DlpJob to the Cloud Security Command Center (CSCC Alpha). This action is only available for projects which are parts of an organization and whitelisted for the alpha Cloud Security Command Center. The action will publish the count of finding instances and their info types. The summary of findings will be persisted in CSCC and are governed by CSCC service-specific policy, see https://cloud.google.com/terms/service-terms Only a single instance of this action can be specified. Compatible with: Inspect # Publish summary to Cloud Security Command Center (Alpha). }, "publishToStackdriver": { # Enable Stackdriver metric dlp.googleapis.com/finding_count. This will publish a metric to stack driver on each infotype requested and how many findings were found for it. CustomDetectors will be bucketed as 'Custom' under the Stackdriver label 'info_type'. # Enable Stackdriver metric dlp.googleapis.com/finding_count. }, "saveFindings": { # If set, the detailed findings will be persisted to the specified OutputStorageConfig. Only a single instance of this action can be specified. Compatible with: Inspect, Risk # Save resulting findings in a provided location. "outputConfig": { # Cloud repository for storing output. # Location to store findings outside of DLP. "outputSchema": "A String", # Schema used for writing the findings for Inspect jobs. This field is only used for Inspect and must be unspecified for Risk jobs. Columns are derived from the `Finding` object. If appending to an existing table, any columns from the predefined schema that are missing will be added. No columns in the existing table will be deleted. If unspecified, then all available columns will be used for a new table or an (existing) table with no schema, and no changes will be made to an existing table that has a schema. Only for use with external storage. - "table": { # Message defining the location of a BigQuery table. A table is uniquely identified by its project_id, dataset_id, and table_name. Within a query a table is often referenced with a string in the format of: `:.` or `..`. # Store findings in an existing table or a new table in an existing dataset. If table_id is not set a new one will be generated for you with the following format: dlp_googleapis_yyyy_mm_dd_[dlp_job_id]. Pacific timezone will be used for generating the date details. For Inspect, each column in an existing output table must have the same name, type, and mode of a field in the `Finding` object. For Risk, an existing output table should be the output of a previous Risk analysis job run on the same source table, with the same privacy metric and quasi-identifiers. Risk jobs that analyze the same table but compute a different privacy metric, or use different sets of quasi-identifiers, cannot store their results in the same table. + "table": { # Message defining the location of a BigQuery table. A table is uniquely identified by its project_id, dataset_id, and table_name. Within a query a table is often referenced with a string in the format of: `:.` or `..`. # Store findings in an existing table or a new table in an existing dataset. If table_id is not set a new one will be generated for you with the following format: dlp_googleapis_yyyy_mm_dd_[dlp_job_id]. Pacific time zone will be used for generating the date details. For Inspect, each column in an existing output table must have the same name, type, and mode of a field in the `Finding` object. For Risk, an existing output table should be the output of a previous Risk analysis job run on the same source table, with the same privacy metric and quasi-identifiers. Risk jobs that analyze the same table but compute a different privacy metric, or use different sets of quasi-identifiers, cannot store their results in the same table. "datasetId": "A String", # Dataset ID of the table. "projectId": "A String", # The Google Cloud Platform project ID of the project containing the table. If omitted, project ID is inferred from the API call. "tableId": "A String", # Name of the table. @@ -1806,7 +1896,7 @@

Method Details

"version": "A String", # Optional version name for this InfoType. }, ], - "limits": { # Configuration to control the number of findings returned for inspection. This is not used for de-identification or data profiling. # Configuration to control the number of findings returned. This is not used for data profiling. + "limits": { # Configuration to control the number of findings returned for inspection. This is not used for de-identification or data profiling. When redacting sensitive data from images, finding limits don't apply. They can cause unexpected or inconsistent results, where only some data is redacted. Don't include finding limits in RedactImage requests. Otherwise, Cloud DLP returns an error. # Configuration to control the number of findings returned. This is not used for data profiling. When redacting sensitive data from images, finding limits don't apply. They can cause unexpected or inconsistent results, where only some data is redacted. Don't include finding limits in RedactImage requests. Otherwise, Cloud DLP returns an error. "maxFindingsPerInfoType": [ # Configuration of findings limit given for specified infoTypes. { # Max findings configuration per infoType, per content item or long running DlpJob. "infoType": { # Type of information detected by the API. # Type of information the findings limit applies to. Only one limit per info_type should be provided. If InfoTypeLimit does not have an info_type, the DLP API applies the limit against all info_types that are found but not specified in another InfoTypeLimit. @@ -1841,7 +1931,7 @@

Method Details

], }, }, - "excludeInfoTypes": { # List of exclude infoTypes. # Set of infoTypes for which findings would affect this rule. + "excludeInfoTypes": { # List of excluded infoTypes. # Set of infoTypes for which findings would affect this rule. "infoTypes": [ # InfoType list in ExclusionRule rule drops a finding when it overlaps or contained within with a finding of an infoType from this list. For example, for `InspectionRuleSet.info_types` containing "PHONE_NUMBER"` and `exclusion_rule` containing `exclude_info_types.info_types` with "EMAIL_ADDRESS" the phone number findings are dropped if they overlap with EMAIL_ADDRESS finding. That leads to "555-222-2222@example.org" to generate only a single finding, namely email address. { # Type of information detected by the API. "name": "A String", # Name of the information type. Either a name of your choosing when creating a CustomInfoType, or one of the names listed at https://cloud.google.com/dlp/docs/infotypes-reference when specifying a built-in type. When sending Cloud DLP results to Data Catalog, infoType names should conform to the pattern `[A-Za-z0-9$-_]{1,64}`. @@ -1905,7 +1995,7 @@

Method Details

"tableId": "A String", # Name of the table. }, }, - "cloudStorageOptions": { # Options defining a file or a set of files within a Google Cloud Storage bucket. # Google Cloud Storage options. + "cloudStorageOptions": { # Options defining a file or a set of files within a Cloud Storage bucket. # Cloud Storage options. "bytesLimitPerFile": "A String", # Max number of bytes to scan from a file. If a scanned file's size is bigger than this value then the rest of the bytes are omitted. Only one of bytes_limit_per_file and bytes_limit_per_file_percent can be specified. Cannot be set if de-identification is requested. "bytesLimitPerFilePercent": 42, # Max percentage of bytes to scan from a file. The rest are omitted. The number of bytes scanned is rounded down. Must be between 0 and 100, inclusively. Both 0 and 100 means no limit. Defaults to 0. Only one of bytes_limit_per_file and bytes_limit_per_file_percent can be specified. Cannot be set if de-identification is requested. "fileSet": { # Set of files to scan. # The set of one or more files to scan. @@ -1951,11 +2041,11 @@

Method Details

], }, }, - "timespanConfig": { # Configuration of the timespan of the items to include in scanning. Currently only supported when inspecting Google Cloud Storage and BigQuery. + "timespanConfig": { # Configuration of the timespan of the items to include in scanning. Currently only supported when inspecting Cloud Storage and BigQuery. "enableAutoPopulationOfTimespanConfig": True or False, # When the job is started by a JobTrigger we will automatically figure out a valid start_time to avoid scanning files that have not been modified since the last time the JobTrigger executed. This will be based on the time of the execution of the last run of the JobTrigger. "endTime": "A String", # Exclude files, tables, or rows newer than this value. If not set, no upper time limit is applied. "startTime": "A String", # Exclude files, tables, or rows older than this value. If not set, no lower time limit is applied. - "timestampField": { # General identifier of a data field in a storage service. # Specification of the field containing the timestamp of scanned items. Used for data sources like Datastore and BigQuery. For BigQuery: If this value is not specified and the table was modified between the given start and end times, the entire table will be scanned. If this value is specified, then rows are filtered based on the given start and end times. Rows with a `NULL` value in the provided BigQuery column are skipped. Valid data types of the provided BigQuery column are: `INTEGER`, `DATE`, `TIMESTAMP`, and `DATETIME`. For Datastore: If this value is specified, then entities are filtered based on the given start and end times. If an entity does not contain the provided timestamp property or contains empty or invalid values, then it is included. Valid data types of the provided timestamp property are: `TIMESTAMP`. + "timestampField": { # General identifier of a data field in a storage service. # Specification of the field containing the timestamp of scanned items. Used for data sources like Datastore and BigQuery. *For BigQuery* If this value is not specified and the table was modified between the given start and end times, the entire table will be scanned. If this value is specified, then rows are filtered based on the given start and end times. Rows with a `NULL` value in the provided BigQuery column are skipped. Valid data types of the provided BigQuery column are: `INTEGER`, `DATE`, `TIMESTAMP`, and `DATETIME`. If your BigQuery table is [partitioned at ingestion time](https://cloud.google.com/bigquery/docs/partitioned-tables#ingestion_time), you can use any of the following pseudo-columns as your timestamp field. When used with Cloud DLP, these pseudo-column names are case sensitive. - _PARTITIONTIME - _PARTITIONDATE - _PARTITION_LOAD_TIME *For Datastore* If this value is specified, then entities are filtered based on the given start and end times. If an entity does not contain the provided timestamp property or contains empty or invalid values, then it is included. Valid data types of the provided timestamp property are: `TIMESTAMP`. See the [known issue](https://cloud.google.com/dlp/docs/known-issues#bq-timespan) related to this operation. "name": "A String", # Name describing the field. }, }, @@ -1969,7 +2059,7 @@

Method Details

"manual": { # Job trigger option for hybrid jobs. Jobs must be manually created and finished. # For use with hybrid jobs. Jobs must be manually created and finished. }, "schedule": { # Schedule for inspect job triggers. # Create a job on a repeating basis based on the elapse of time. - "recurrencePeriodDuration": "A String", # With this option a job is started a regular periodic basis. For example: every day (86400 seconds). A scheduled start time will be skipped if the previous execution has not ended when its scheduled time occurs. This value must be set to a time duration greater than or equal to 1 day and can be no longer than 60 days. + "recurrencePeriodDuration": "A String", # With this option a job is started on a regular periodic basis. For example: every day (86400 seconds). A scheduled start time will be skipped if the previous execution has not ended when its scheduled time occurs. This value must be set to a time duration greater than or equal to 1 day and can be no longer than 60 days. }, }, ], @@ -1985,7 +2075,7 @@

Method Details

parent: string, Required. Parent resource name. The format of this value varies depending on whether you have [specified a processing location](https://cloud.google.com/dlp/docs/specifying-location): + Projects scope, location specified: `projects/`PROJECT_ID`/locations/`LOCATION_ID + Projects scope, no location specified (defaults to global): `projects/`PROJECT_ID The following example `parent` string specifies a parent project with the identifier `example-project`, and specifies the `europe-west3` location for processing data: parent=projects/example-project/locations/europe-west3 (required) filter: string, Allows filtering. Supported syntax: * Filter expressions are made up of one or more restrictions. * Restrictions can be combined by `AND` or `OR` logical operators. A sequence of restrictions implicitly uses `AND`. * A restriction has the form of `{field} {operator} {value}`. * Supported fields/values for inspect triggers: - `status` - HEALTHY|PAUSED|CANCELLED - `inspected_storage` - DATASTORE|CLOUD_STORAGE|BIGQUERY - 'last_run_time` - RFC 3339 formatted timestamp, surrounded by quotation marks. Nanoseconds are ignored. - 'error_count' - Number of errors that have occurred while running. * The operator must be `=` or `!=` for status and inspected_storage. Examples: * inspected_storage = cloud_storage AND status = HEALTHY * inspected_storage = cloud_storage OR inspected_storage = bigquery * inspected_storage = cloud_storage AND (state = PAUSED OR state = HEALTHY) * last_run_time > \"2017-12-12T00:00:00+00:00\" The length of this field should be no more than 500 characters. locationId: string, Deprecated. This field has no effect. - orderBy: string, Comma separated list of triggeredJob fields to order by, followed by `asc` or `desc` postfix. This list is case-insensitive, default sorting order is ascending, redundant space characters are insignificant. Example: `name asc,update_time, create_time desc` Supported fields are: - `create_time`: corresponds to time the JobTrigger was created. - `update_time`: corresponds to time the JobTrigger was last updated. - `last_run_time`: corresponds to the last time the JobTrigger ran. - `name`: corresponds to JobTrigger's name. - `display_name`: corresponds to JobTrigger's display name. - `status`: corresponds to JobTrigger's status. + orderBy: string, Comma separated list of triggeredJob fields to order by, followed by `asc` or `desc` postfix. This list is case-insensitive, default sorting order is ascending, redundant space characters are insignificant. Example: `name asc,update_time, create_time desc` Supported fields are: - `create_time`: corresponds to the time the JobTrigger was created. - `update_time`: corresponds to the time the JobTrigger was last updated. - `last_run_time`: corresponds to the last time the JobTrigger ran. - `name`: corresponds to the JobTrigger's name. - `display_name`: corresponds to the JobTrigger's display name. - `status`: corresponds to JobTrigger's status. pageSize: integer, Size of the page, can be limited by a server. pageToken: string, Page token to continue retrieval. Comes from previous call to ListJobTriggers. `order_by` field must not change for subsequent calls. type: string, The type of jobs. Will use `DlpJobType.INSPECT` if not set. @@ -2026,21 +2116,39 @@

Method Details

"inspectJob": { # Controls what and how to inspect for findings. # For inspect jobs, a snapshot of the configuration. "actions": [ # Actions to execute at the completion of the job. { # A task to execute on the completion of a job. See https://cloud.google.com/dlp/docs/concepts-actions to learn more. + "deidentify": { # Create a de-identified copy of the requested table or files. . A TransformationDetail will be created for each transformation. If any rows in BigQuery are skipped during de-identification (transformation errors or row size exceeds BigQuery insert API limits) they are placed in the failure output table. If the original row exceeds the BigQuery insert API limit it will be truncated when written to the failure output table. The failure output table can be set in the action.deidentify.output.big_query_output.deidentified_failure_output_table field, if no table is set, a table will be automatically created in the same project and dataset as the original table. Compatible with: Inspect # Create a de-identified copy of the input data. Applicable for non-image data only. The de-identified copy is in the same location as the original data. + "cloudStorageOutput": "A String", # Required. User settable GCS bucket and folders to store de-identified files. This field must be set for cloud storage deidentification. The output GCS bucket must be different from the input bucket. De-identified files will overwrite files in the output path. Form of: gs://bucket/folder/ or gs://bucket + "fileTypesToTransform": [ # List of user-specified file type groups to transform. If specified, only the files with these filetypes will be transformed. If empty, all supported files will be transformed. Supported types may be automatically added over time. If a file type is set in this field that isn't supported by the Deidentify action then the job will fail and will not be successfully created/started. Currently the only filetypes supported are: IMAGES, TEXT_FILES, CSV, TSV. + "A String", + ], + "transformationConfig": { # User specified templates and configs for how to deidentify structured, unstructures, and image files. User must provide either a unstructured deidentify template or at least one redact image config. # User specified deidentify templates and configs for structured, unstructured, and image files. + "deidentifyTemplate": "A String", # De-identify template. If this template is specified, it will serve as the default de-identify template. This template cannot contain `record_transformations` since it can be used for unstructured content such as free-form text files. If this template is not set, a default `ReplaceWithInfoTypeConfig` will be used to de-identify unstructured content. + "imageRedactTemplate": "A String", # Image redact template. If this template is specified, it will serve as the de-identify template for images. If this template is not set, all findings in the image will be redacted with a black box. + "structuredDeidentifyTemplate": "A String", # Structured de-identify template. If this template is specified, it will serve as the de-identify template for structured content such as delimited files and tables. If this template is not set but the `deidentify_template` is set, then `deidentify_template` will also apply to the structured content. If neither template is set, a default `ReplaceWithInfoTypeConfig` will be used to de-identify structured content. + }, + "transformationDetailsStorageConfig": { # Config for storing transformation details. # Config for storing transformation details. This is separate from the de-identified content, and contains metadata about the successful transformations and/or failures that occurred while de-identifying. This needs to be set in order for users to access information about the status of each transformation (see TransformationDetails message for more information about what is noted). + "table": { # Message defining the location of a BigQuery table. A table is uniquely identified by its project_id, dataset_id, and table_name. Within a query a table is often referenced with a string in the format of: `:.` or `..`. # The BigQuery table in which to store the output. This may be an existing table or in a new table in an existing dataset. If table_id is not set a new one will be generated for you with the following format: dlp_googleapis_transformation_details_yyyy_mm_dd_[dlp_job_id]. Pacific time zone will be used for generating the date details. + "datasetId": "A String", # Dataset ID of the table. + "projectId": "A String", # The Google Cloud Platform project ID of the project containing the table. If omitted, project ID is inferred from the API call. + "tableId": "A String", # Name of the table. + }, + }, + }, "jobNotificationEmails": { # Enable email notification to project owners and editors on jobs's completion/failure. # Enable email notification for project owners and editors on job's completion/failure. }, - "pubSub": { # Publish a message into given Pub/Sub topic when DlpJob has completed. The message contains a single field, `DlpJobName`, which is equal to the finished job's [`DlpJob.name`](https://cloud.google.com/dlp/docs/reference/rest/v2/projects.dlpJobs#DlpJob). Compatible with: Inspect, Risk # Publish a notification to a pubsub topic. + "pubSub": { # Publish a message into a given Pub/Sub topic when DlpJob has completed. The message contains a single field, `DlpJobName`, which is equal to the finished job's [`DlpJob.name`](https://cloud.google.com/dlp/docs/reference/rest/v2/projects.dlpJobs#DlpJob). Compatible with: Inspect, Risk # Publish a notification to a pubsub topic. "topic": "A String", # Cloud Pub/Sub topic to send notifications to. The topic must have given publishing access rights to the DLP API service account executing the long running DlpJob sending the notifications. Format is projects/{project}/topics/{topic}. }, "publishFindingsToCloudDataCatalog": { # Publish findings of a DlpJob to Data Catalog. Labels summarizing the results of the DlpJob will be applied to the entry for the resource scanned in Data Catalog. Any labels previously written by another DlpJob will be deleted. InfoType naming patterns are strictly enforced when using this feature. Note that the findings will be persisted in Data Catalog storage and are governed by Data Catalog service-specific policy, see https://cloud.google.com/terms/service-terms Only a single instance of this action can be specified and only allowed if all resources being scanned are BigQuery tables. Compatible with: Inspect # Publish findings to Cloud Datahub. }, - "publishSummaryToCscc": { # Publish the result summary of a DlpJob to the Cloud Security Command Center (CSCC Alpha). This action is only available for projects which are parts of an organization and whitelisted for the alpha Cloud Security Command Center. The action will publish count of finding instances and their info types. The summary of findings will be persisted in CSCC and are governed by CSCC service-specific policy, see https://cloud.google.com/terms/service-terms Only a single instance of this action can be specified. Compatible with: Inspect # Publish summary to Cloud Security Command Center (Alpha). + "publishSummaryToCscc": { # Publish the result summary of a DlpJob to the Cloud Security Command Center (CSCC Alpha). This action is only available for projects which are parts of an organization and whitelisted for the alpha Cloud Security Command Center. The action will publish the count of finding instances and their info types. The summary of findings will be persisted in CSCC and are governed by CSCC service-specific policy, see https://cloud.google.com/terms/service-terms Only a single instance of this action can be specified. Compatible with: Inspect # Publish summary to Cloud Security Command Center (Alpha). }, "publishToStackdriver": { # Enable Stackdriver metric dlp.googleapis.com/finding_count. This will publish a metric to stack driver on each infotype requested and how many findings were found for it. CustomDetectors will be bucketed as 'Custom' under the Stackdriver label 'info_type'. # Enable Stackdriver metric dlp.googleapis.com/finding_count. }, "saveFindings": { # If set, the detailed findings will be persisted to the specified OutputStorageConfig. Only a single instance of this action can be specified. Compatible with: Inspect, Risk # Save resulting findings in a provided location. "outputConfig": { # Cloud repository for storing output. # Location to store findings outside of DLP. "outputSchema": "A String", # Schema used for writing the findings for Inspect jobs. This field is only used for Inspect and must be unspecified for Risk jobs. Columns are derived from the `Finding` object. If appending to an existing table, any columns from the predefined schema that are missing will be added. No columns in the existing table will be deleted. If unspecified, then all available columns will be used for a new table or an (existing) table with no schema, and no changes will be made to an existing table that has a schema. Only for use with external storage. - "table": { # Message defining the location of a BigQuery table. A table is uniquely identified by its project_id, dataset_id, and table_name. Within a query a table is often referenced with a string in the format of: `:.` or `..`. # Store findings in an existing table or a new table in an existing dataset. If table_id is not set a new one will be generated for you with the following format: dlp_googleapis_yyyy_mm_dd_[dlp_job_id]. Pacific timezone will be used for generating the date details. For Inspect, each column in an existing output table must have the same name, type, and mode of a field in the `Finding` object. For Risk, an existing output table should be the output of a previous Risk analysis job run on the same source table, with the same privacy metric and quasi-identifiers. Risk jobs that analyze the same table but compute a different privacy metric, or use different sets of quasi-identifiers, cannot store their results in the same table. + "table": { # Message defining the location of a BigQuery table. A table is uniquely identified by its project_id, dataset_id, and table_name. Within a query a table is often referenced with a string in the format of: `:.` or `..`. # Store findings in an existing table or a new table in an existing dataset. If table_id is not set a new one will be generated for you with the following format: dlp_googleapis_yyyy_mm_dd_[dlp_job_id]. Pacific time zone will be used for generating the date details. For Inspect, each column in an existing output table must have the same name, type, and mode of a field in the `Finding` object. For Risk, an existing output table should be the output of a previous Risk analysis job run on the same source table, with the same privacy metric and quasi-identifiers. Risk jobs that analyze the same table but compute a different privacy metric, or use different sets of quasi-identifiers, cannot store their results in the same table. "datasetId": "A String", # Dataset ID of the table. "projectId": "A String", # The Google Cloud Platform project ID of the project containing the table. If omitted, project ID is inferred from the API call. "tableId": "A String", # Name of the table. @@ -2113,7 +2221,7 @@

Method Details

"version": "A String", # Optional version name for this InfoType. }, ], - "limits": { # Configuration to control the number of findings returned for inspection. This is not used for de-identification or data profiling. # Configuration to control the number of findings returned. This is not used for data profiling. + "limits": { # Configuration to control the number of findings returned for inspection. This is not used for de-identification or data profiling. When redacting sensitive data from images, finding limits don't apply. They can cause unexpected or inconsistent results, where only some data is redacted. Don't include finding limits in RedactImage requests. Otherwise, Cloud DLP returns an error. # Configuration to control the number of findings returned. This is not used for data profiling. When redacting sensitive data from images, finding limits don't apply. They can cause unexpected or inconsistent results, where only some data is redacted. Don't include finding limits in RedactImage requests. Otherwise, Cloud DLP returns an error. "maxFindingsPerInfoType": [ # Configuration of findings limit given for specified infoTypes. { # Max findings configuration per infoType, per content item or long running DlpJob. "infoType": { # Type of information detected by the API. # Type of information the findings limit applies to. Only one limit per info_type should be provided. If InfoTypeLimit does not have an info_type, the DLP API applies the limit against all info_types that are found but not specified in another InfoTypeLimit. @@ -2148,7 +2256,7 @@

Method Details

], }, }, - "excludeInfoTypes": { # List of exclude infoTypes. # Set of infoTypes for which findings would affect this rule. + "excludeInfoTypes": { # List of excluded infoTypes. # Set of infoTypes for which findings would affect this rule. "infoTypes": [ # InfoType list in ExclusionRule rule drops a finding when it overlaps or contained within with a finding of an infoType from this list. For example, for `InspectionRuleSet.info_types` containing "PHONE_NUMBER"` and `exclusion_rule` containing `exclude_info_types.info_types` with "EMAIL_ADDRESS" the phone number findings are dropped if they overlap with EMAIL_ADDRESS finding. That leads to "555-222-2222@example.org" to generate only a single finding, namely email address. { # Type of information detected by the API. "name": "A String", # Name of the information type. Either a name of your choosing when creating a CustomInfoType, or one of the names listed at https://cloud.google.com/dlp/docs/infotypes-reference when specifying a built-in type. When sending Cloud DLP results to Data Catalog, infoType names should conform to the pattern `[A-Za-z0-9$-_]{1,64}`. @@ -2212,7 +2320,7 @@

Method Details

"tableId": "A String", # Name of the table. }, }, - "cloudStorageOptions": { # Options defining a file or a set of files within a Google Cloud Storage bucket. # Google Cloud Storage options. + "cloudStorageOptions": { # Options defining a file or a set of files within a Cloud Storage bucket. # Cloud Storage options. "bytesLimitPerFile": "A String", # Max number of bytes to scan from a file. If a scanned file's size is bigger than this value then the rest of the bytes are omitted. Only one of bytes_limit_per_file and bytes_limit_per_file_percent can be specified. Cannot be set if de-identification is requested. "bytesLimitPerFilePercent": 42, # Max percentage of bytes to scan from a file. The rest are omitted. The number of bytes scanned is rounded down. Must be between 0 and 100, inclusively. Both 0 and 100 means no limit. Defaults to 0. Only one of bytes_limit_per_file and bytes_limit_per_file_percent can be specified. Cannot be set if de-identification is requested. "fileSet": { # Set of files to scan. # The set of one or more files to scan. @@ -2258,11 +2366,11 @@

Method Details

], }, }, - "timespanConfig": { # Configuration of the timespan of the items to include in scanning. Currently only supported when inspecting Google Cloud Storage and BigQuery. + "timespanConfig": { # Configuration of the timespan of the items to include in scanning. Currently only supported when inspecting Cloud Storage and BigQuery. "enableAutoPopulationOfTimespanConfig": True or False, # When the job is started by a JobTrigger we will automatically figure out a valid start_time to avoid scanning files that have not been modified since the last time the JobTrigger executed. This will be based on the time of the execution of the last run of the JobTrigger. "endTime": "A String", # Exclude files, tables, or rows newer than this value. If not set, no upper time limit is applied. "startTime": "A String", # Exclude files, tables, or rows older than this value. If not set, no lower time limit is applied. - "timestampField": { # General identifier of a data field in a storage service. # Specification of the field containing the timestamp of scanned items. Used for data sources like Datastore and BigQuery. For BigQuery: If this value is not specified and the table was modified between the given start and end times, the entire table will be scanned. If this value is specified, then rows are filtered based on the given start and end times. Rows with a `NULL` value in the provided BigQuery column are skipped. Valid data types of the provided BigQuery column are: `INTEGER`, `DATE`, `TIMESTAMP`, and `DATETIME`. For Datastore: If this value is specified, then entities are filtered based on the given start and end times. If an entity does not contain the provided timestamp property or contains empty or invalid values, then it is included. Valid data types of the provided timestamp property are: `TIMESTAMP`. + "timestampField": { # General identifier of a data field in a storage service. # Specification of the field containing the timestamp of scanned items. Used for data sources like Datastore and BigQuery. *For BigQuery* If this value is not specified and the table was modified between the given start and end times, the entire table will be scanned. If this value is specified, then rows are filtered based on the given start and end times. Rows with a `NULL` value in the provided BigQuery column are skipped. Valid data types of the provided BigQuery column are: `INTEGER`, `DATE`, `TIMESTAMP`, and `DATETIME`. If your BigQuery table is [partitioned at ingestion time](https://cloud.google.com/bigquery/docs/partitioned-tables#ingestion_time), you can use any of the following pseudo-columns as your timestamp field. When used with Cloud DLP, these pseudo-column names are case sensitive. - _PARTITIONTIME - _PARTITIONDATE - _PARTITION_LOAD_TIME *For Datastore* If this value is specified, then entities are filtered based on the given start and end times. If an entity does not contain the provided timestamp property or contains empty or invalid values, then it is included. Valid data types of the provided timestamp property are: `TIMESTAMP`. See the [known issue](https://cloud.google.com/dlp/docs/known-issues#bq-timespan) related to this operation. "name": "A String", # Name describing the field. }, }, @@ -2276,7 +2384,7 @@

Method Details

"manual": { # Job trigger option for hybrid jobs. Jobs must be manually created and finished. # For use with hybrid jobs. Jobs must be manually created and finished. }, "schedule": { # Schedule for inspect job triggers. # Create a job on a repeating basis based on the elapse of time. - "recurrencePeriodDuration": "A String", # With this option a job is started a regular periodic basis. For example: every day (86400 seconds). A scheduled start time will be skipped if the previous execution has not ended when its scheduled time occurs. This value must be set to a time duration greater than or equal to 1 day and can be no longer than 60 days. + "recurrencePeriodDuration": "A String", # With this option a job is started on a regular periodic basis. For example: every day (86400 seconds). A scheduled start time will be skipped if the previous execution has not ended when its scheduled time occurs. This value must be set to a time duration greater than or equal to 1 day and can be no longer than 60 days. }, }, ], @@ -2334,21 +2442,39 @@

Method Details

"inspectJob": { # Controls what and how to inspect for findings. # For inspect jobs, a snapshot of the configuration. "actions": [ # Actions to execute at the completion of the job. { # A task to execute on the completion of a job. See https://cloud.google.com/dlp/docs/concepts-actions to learn more. + "deidentify": { # Create a de-identified copy of the requested table or files. . A TransformationDetail will be created for each transformation. If any rows in BigQuery are skipped during de-identification (transformation errors or row size exceeds BigQuery insert API limits) they are placed in the failure output table. If the original row exceeds the BigQuery insert API limit it will be truncated when written to the failure output table. The failure output table can be set in the action.deidentify.output.big_query_output.deidentified_failure_output_table field, if no table is set, a table will be automatically created in the same project and dataset as the original table. Compatible with: Inspect # Create a de-identified copy of the input data. Applicable for non-image data only. The de-identified copy is in the same location as the original data. + "cloudStorageOutput": "A String", # Required. User settable GCS bucket and folders to store de-identified files. This field must be set for cloud storage deidentification. The output GCS bucket must be different from the input bucket. De-identified files will overwrite files in the output path. Form of: gs://bucket/folder/ or gs://bucket + "fileTypesToTransform": [ # List of user-specified file type groups to transform. If specified, only the files with these filetypes will be transformed. If empty, all supported files will be transformed. Supported types may be automatically added over time. If a file type is set in this field that isn't supported by the Deidentify action then the job will fail and will not be successfully created/started. Currently the only filetypes supported are: IMAGES, TEXT_FILES, CSV, TSV. + "A String", + ], + "transformationConfig": { # User specified templates and configs for how to deidentify structured, unstructures, and image files. User must provide either a unstructured deidentify template or at least one redact image config. # User specified deidentify templates and configs for structured, unstructured, and image files. + "deidentifyTemplate": "A String", # De-identify template. If this template is specified, it will serve as the default de-identify template. This template cannot contain `record_transformations` since it can be used for unstructured content such as free-form text files. If this template is not set, a default `ReplaceWithInfoTypeConfig` will be used to de-identify unstructured content. + "imageRedactTemplate": "A String", # Image redact template. If this template is specified, it will serve as the de-identify template for images. If this template is not set, all findings in the image will be redacted with a black box. + "structuredDeidentifyTemplate": "A String", # Structured de-identify template. If this template is specified, it will serve as the de-identify template for structured content such as delimited files and tables. If this template is not set but the `deidentify_template` is set, then `deidentify_template` will also apply to the structured content. If neither template is set, a default `ReplaceWithInfoTypeConfig` will be used to de-identify structured content. + }, + "transformationDetailsStorageConfig": { # Config for storing transformation details. # Config for storing transformation details. This is separate from the de-identified content, and contains metadata about the successful transformations and/or failures that occurred while de-identifying. This needs to be set in order for users to access information about the status of each transformation (see TransformationDetails message for more information about what is noted). + "table": { # Message defining the location of a BigQuery table. A table is uniquely identified by its project_id, dataset_id, and table_name. Within a query a table is often referenced with a string in the format of: `:.` or `..`. # The BigQuery table in which to store the output. This may be an existing table or in a new table in an existing dataset. If table_id is not set a new one will be generated for you with the following format: dlp_googleapis_transformation_details_yyyy_mm_dd_[dlp_job_id]. Pacific time zone will be used for generating the date details. + "datasetId": "A String", # Dataset ID of the table. + "projectId": "A String", # The Google Cloud Platform project ID of the project containing the table. If omitted, project ID is inferred from the API call. + "tableId": "A String", # Name of the table. + }, + }, + }, "jobNotificationEmails": { # Enable email notification to project owners and editors on jobs's completion/failure. # Enable email notification for project owners and editors on job's completion/failure. }, - "pubSub": { # Publish a message into given Pub/Sub topic when DlpJob has completed. The message contains a single field, `DlpJobName`, which is equal to the finished job's [`DlpJob.name`](https://cloud.google.com/dlp/docs/reference/rest/v2/projects.dlpJobs#DlpJob). Compatible with: Inspect, Risk # Publish a notification to a pubsub topic. + "pubSub": { # Publish a message into a given Pub/Sub topic when DlpJob has completed. The message contains a single field, `DlpJobName`, which is equal to the finished job's [`DlpJob.name`](https://cloud.google.com/dlp/docs/reference/rest/v2/projects.dlpJobs#DlpJob). Compatible with: Inspect, Risk # Publish a notification to a pubsub topic. "topic": "A String", # Cloud Pub/Sub topic to send notifications to. The topic must have given publishing access rights to the DLP API service account executing the long running DlpJob sending the notifications. Format is projects/{project}/topics/{topic}. }, "publishFindingsToCloudDataCatalog": { # Publish findings of a DlpJob to Data Catalog. Labels summarizing the results of the DlpJob will be applied to the entry for the resource scanned in Data Catalog. Any labels previously written by another DlpJob will be deleted. InfoType naming patterns are strictly enforced when using this feature. Note that the findings will be persisted in Data Catalog storage and are governed by Data Catalog service-specific policy, see https://cloud.google.com/terms/service-terms Only a single instance of this action can be specified and only allowed if all resources being scanned are BigQuery tables. Compatible with: Inspect # Publish findings to Cloud Datahub. }, - "publishSummaryToCscc": { # Publish the result summary of a DlpJob to the Cloud Security Command Center (CSCC Alpha). This action is only available for projects which are parts of an organization and whitelisted for the alpha Cloud Security Command Center. The action will publish count of finding instances and their info types. The summary of findings will be persisted in CSCC and are governed by CSCC service-specific policy, see https://cloud.google.com/terms/service-terms Only a single instance of this action can be specified. Compatible with: Inspect # Publish summary to Cloud Security Command Center (Alpha). + "publishSummaryToCscc": { # Publish the result summary of a DlpJob to the Cloud Security Command Center (CSCC Alpha). This action is only available for projects which are parts of an organization and whitelisted for the alpha Cloud Security Command Center. The action will publish the count of finding instances and their info types. The summary of findings will be persisted in CSCC and are governed by CSCC service-specific policy, see https://cloud.google.com/terms/service-terms Only a single instance of this action can be specified. Compatible with: Inspect # Publish summary to Cloud Security Command Center (Alpha). }, "publishToStackdriver": { # Enable Stackdriver metric dlp.googleapis.com/finding_count. This will publish a metric to stack driver on each infotype requested and how many findings were found for it. CustomDetectors will be bucketed as 'Custom' under the Stackdriver label 'info_type'. # Enable Stackdriver metric dlp.googleapis.com/finding_count. }, "saveFindings": { # If set, the detailed findings will be persisted to the specified OutputStorageConfig. Only a single instance of this action can be specified. Compatible with: Inspect, Risk # Save resulting findings in a provided location. "outputConfig": { # Cloud repository for storing output. # Location to store findings outside of DLP. "outputSchema": "A String", # Schema used for writing the findings for Inspect jobs. This field is only used for Inspect and must be unspecified for Risk jobs. Columns are derived from the `Finding` object. If appending to an existing table, any columns from the predefined schema that are missing will be added. No columns in the existing table will be deleted. If unspecified, then all available columns will be used for a new table or an (existing) table with no schema, and no changes will be made to an existing table that has a schema. Only for use with external storage. - "table": { # Message defining the location of a BigQuery table. A table is uniquely identified by its project_id, dataset_id, and table_name. Within a query a table is often referenced with a string in the format of: `:.` or `..`. # Store findings in an existing table or a new table in an existing dataset. If table_id is not set a new one will be generated for you with the following format: dlp_googleapis_yyyy_mm_dd_[dlp_job_id]. Pacific timezone will be used for generating the date details. For Inspect, each column in an existing output table must have the same name, type, and mode of a field in the `Finding` object. For Risk, an existing output table should be the output of a previous Risk analysis job run on the same source table, with the same privacy metric and quasi-identifiers. Risk jobs that analyze the same table but compute a different privacy metric, or use different sets of quasi-identifiers, cannot store their results in the same table. + "table": { # Message defining the location of a BigQuery table. A table is uniquely identified by its project_id, dataset_id, and table_name. Within a query a table is often referenced with a string in the format of: `:.` or `..`. # Store findings in an existing table or a new table in an existing dataset. If table_id is not set a new one will be generated for you with the following format: dlp_googleapis_yyyy_mm_dd_[dlp_job_id]. Pacific time zone will be used for generating the date details. For Inspect, each column in an existing output table must have the same name, type, and mode of a field in the `Finding` object. For Risk, an existing output table should be the output of a previous Risk analysis job run on the same source table, with the same privacy metric and quasi-identifiers. Risk jobs that analyze the same table but compute a different privacy metric, or use different sets of quasi-identifiers, cannot store their results in the same table. "datasetId": "A String", # Dataset ID of the table. "projectId": "A String", # The Google Cloud Platform project ID of the project containing the table. If omitted, project ID is inferred from the API call. "tableId": "A String", # Name of the table. @@ -2421,7 +2547,7 @@

Method Details

"version": "A String", # Optional version name for this InfoType. }, ], - "limits": { # Configuration to control the number of findings returned for inspection. This is not used for de-identification or data profiling. # Configuration to control the number of findings returned. This is not used for data profiling. + "limits": { # Configuration to control the number of findings returned for inspection. This is not used for de-identification or data profiling. When redacting sensitive data from images, finding limits don't apply. They can cause unexpected or inconsistent results, where only some data is redacted. Don't include finding limits in RedactImage requests. Otherwise, Cloud DLP returns an error. # Configuration to control the number of findings returned. This is not used for data profiling. When redacting sensitive data from images, finding limits don't apply. They can cause unexpected or inconsistent results, where only some data is redacted. Don't include finding limits in RedactImage requests. Otherwise, Cloud DLP returns an error. "maxFindingsPerInfoType": [ # Configuration of findings limit given for specified infoTypes. { # Max findings configuration per infoType, per content item or long running DlpJob. "infoType": { # Type of information detected by the API. # Type of information the findings limit applies to. Only one limit per info_type should be provided. If InfoTypeLimit does not have an info_type, the DLP API applies the limit against all info_types that are found but not specified in another InfoTypeLimit. @@ -2456,7 +2582,7 @@

Method Details

], }, }, - "excludeInfoTypes": { # List of exclude infoTypes. # Set of infoTypes for which findings would affect this rule. + "excludeInfoTypes": { # List of excluded infoTypes. # Set of infoTypes for which findings would affect this rule. "infoTypes": [ # InfoType list in ExclusionRule rule drops a finding when it overlaps or contained within with a finding of an infoType from this list. For example, for `InspectionRuleSet.info_types` containing "PHONE_NUMBER"` and `exclusion_rule` containing `exclude_info_types.info_types` with "EMAIL_ADDRESS" the phone number findings are dropped if they overlap with EMAIL_ADDRESS finding. That leads to "555-222-2222@example.org" to generate only a single finding, namely email address. { # Type of information detected by the API. "name": "A String", # Name of the information type. Either a name of your choosing when creating a CustomInfoType, or one of the names listed at https://cloud.google.com/dlp/docs/infotypes-reference when specifying a built-in type. When sending Cloud DLP results to Data Catalog, infoType names should conform to the pattern `[A-Za-z0-9$-_]{1,64}`. @@ -2520,7 +2646,7 @@

Method Details

"tableId": "A String", # Name of the table. }, }, - "cloudStorageOptions": { # Options defining a file or a set of files within a Google Cloud Storage bucket. # Google Cloud Storage options. + "cloudStorageOptions": { # Options defining a file or a set of files within a Cloud Storage bucket. # Cloud Storage options. "bytesLimitPerFile": "A String", # Max number of bytes to scan from a file. If a scanned file's size is bigger than this value then the rest of the bytes are omitted. Only one of bytes_limit_per_file and bytes_limit_per_file_percent can be specified. Cannot be set if de-identification is requested. "bytesLimitPerFilePercent": 42, # Max percentage of bytes to scan from a file. The rest are omitted. The number of bytes scanned is rounded down. Must be between 0 and 100, inclusively. Both 0 and 100 means no limit. Defaults to 0. Only one of bytes_limit_per_file and bytes_limit_per_file_percent can be specified. Cannot be set if de-identification is requested. "fileSet": { # Set of files to scan. # The set of one or more files to scan. @@ -2566,11 +2692,11 @@

Method Details

], }, }, - "timespanConfig": { # Configuration of the timespan of the items to include in scanning. Currently only supported when inspecting Google Cloud Storage and BigQuery. + "timespanConfig": { # Configuration of the timespan of the items to include in scanning. Currently only supported when inspecting Cloud Storage and BigQuery. "enableAutoPopulationOfTimespanConfig": True or False, # When the job is started by a JobTrigger we will automatically figure out a valid start_time to avoid scanning files that have not been modified since the last time the JobTrigger executed. This will be based on the time of the execution of the last run of the JobTrigger. "endTime": "A String", # Exclude files, tables, or rows newer than this value. If not set, no upper time limit is applied. "startTime": "A String", # Exclude files, tables, or rows older than this value. If not set, no lower time limit is applied. - "timestampField": { # General identifier of a data field in a storage service. # Specification of the field containing the timestamp of scanned items. Used for data sources like Datastore and BigQuery. For BigQuery: If this value is not specified and the table was modified between the given start and end times, the entire table will be scanned. If this value is specified, then rows are filtered based on the given start and end times. Rows with a `NULL` value in the provided BigQuery column are skipped. Valid data types of the provided BigQuery column are: `INTEGER`, `DATE`, `TIMESTAMP`, and `DATETIME`. For Datastore: If this value is specified, then entities are filtered based on the given start and end times. If an entity does not contain the provided timestamp property or contains empty or invalid values, then it is included. Valid data types of the provided timestamp property are: `TIMESTAMP`. + "timestampField": { # General identifier of a data field in a storage service. # Specification of the field containing the timestamp of scanned items. Used for data sources like Datastore and BigQuery. *For BigQuery* If this value is not specified and the table was modified between the given start and end times, the entire table will be scanned. If this value is specified, then rows are filtered based on the given start and end times. Rows with a `NULL` value in the provided BigQuery column are skipped. Valid data types of the provided BigQuery column are: `INTEGER`, `DATE`, `TIMESTAMP`, and `DATETIME`. If your BigQuery table is [partitioned at ingestion time](https://cloud.google.com/bigquery/docs/partitioned-tables#ingestion_time), you can use any of the following pseudo-columns as your timestamp field. When used with Cloud DLP, these pseudo-column names are case sensitive. - _PARTITIONTIME - _PARTITIONDATE - _PARTITION_LOAD_TIME *For Datastore* If this value is specified, then entities are filtered based on the given start and end times. If an entity does not contain the provided timestamp property or contains empty or invalid values, then it is included. Valid data types of the provided timestamp property are: `TIMESTAMP`. See the [known issue](https://cloud.google.com/dlp/docs/known-issues#bq-timespan) related to this operation. "name": "A String", # Name describing the field. }, }, @@ -2584,7 +2710,7 @@

Method Details

"manual": { # Job trigger option for hybrid jobs. Jobs must be manually created and finished. # For use with hybrid jobs. Jobs must be manually created and finished. }, "schedule": { # Schedule for inspect job triggers. # Create a job on a repeating basis based on the elapse of time. - "recurrencePeriodDuration": "A String", # With this option a job is started a regular periodic basis. For example: every day (86400 seconds). A scheduled start time will be skipped if the previous execution has not ended when its scheduled time occurs. This value must be set to a time duration greater than or equal to 1 day and can be no longer than 60 days. + "recurrencePeriodDuration": "A String", # With this option a job is started on a regular periodic basis. For example: every day (86400 seconds). A scheduled start time will be skipped if the previous execution has not ended when its scheduled time occurs. This value must be set to a time duration greater than or equal to 1 day and can be no longer than 60 days. }, }, ], @@ -2624,21 +2750,39 @@

Method Details

"inspectJob": { # Controls what and how to inspect for findings. # For inspect jobs, a snapshot of the configuration. "actions": [ # Actions to execute at the completion of the job. { # A task to execute on the completion of a job. See https://cloud.google.com/dlp/docs/concepts-actions to learn more. + "deidentify": { # Create a de-identified copy of the requested table or files. . A TransformationDetail will be created for each transformation. If any rows in BigQuery are skipped during de-identification (transformation errors or row size exceeds BigQuery insert API limits) they are placed in the failure output table. If the original row exceeds the BigQuery insert API limit it will be truncated when written to the failure output table. The failure output table can be set in the action.deidentify.output.big_query_output.deidentified_failure_output_table field, if no table is set, a table will be automatically created in the same project and dataset as the original table. Compatible with: Inspect # Create a de-identified copy of the input data. Applicable for non-image data only. The de-identified copy is in the same location as the original data. + "cloudStorageOutput": "A String", # Required. User settable GCS bucket and folders to store de-identified files. This field must be set for cloud storage deidentification. The output GCS bucket must be different from the input bucket. De-identified files will overwrite files in the output path. Form of: gs://bucket/folder/ or gs://bucket + "fileTypesToTransform": [ # List of user-specified file type groups to transform. If specified, only the files with these filetypes will be transformed. If empty, all supported files will be transformed. Supported types may be automatically added over time. If a file type is set in this field that isn't supported by the Deidentify action then the job will fail and will not be successfully created/started. Currently the only filetypes supported are: IMAGES, TEXT_FILES, CSV, TSV. + "A String", + ], + "transformationConfig": { # User specified templates and configs for how to deidentify structured, unstructures, and image files. User must provide either a unstructured deidentify template or at least one redact image config. # User specified deidentify templates and configs for structured, unstructured, and image files. + "deidentifyTemplate": "A String", # De-identify template. If this template is specified, it will serve as the default de-identify template. This template cannot contain `record_transformations` since it can be used for unstructured content such as free-form text files. If this template is not set, a default `ReplaceWithInfoTypeConfig` will be used to de-identify unstructured content. + "imageRedactTemplate": "A String", # Image redact template. If this template is specified, it will serve as the de-identify template for images. If this template is not set, all findings in the image will be redacted with a black box. + "structuredDeidentifyTemplate": "A String", # Structured de-identify template. If this template is specified, it will serve as the de-identify template for structured content such as delimited files and tables. If this template is not set but the `deidentify_template` is set, then `deidentify_template` will also apply to the structured content. If neither template is set, a default `ReplaceWithInfoTypeConfig` will be used to de-identify structured content. + }, + "transformationDetailsStorageConfig": { # Config for storing transformation details. # Config for storing transformation details. This is separate from the de-identified content, and contains metadata about the successful transformations and/or failures that occurred while de-identifying. This needs to be set in order for users to access information about the status of each transformation (see TransformationDetails message for more information about what is noted). + "table": { # Message defining the location of a BigQuery table. A table is uniquely identified by its project_id, dataset_id, and table_name. Within a query a table is often referenced with a string in the format of: `:.` or `..`. # The BigQuery table in which to store the output. This may be an existing table or in a new table in an existing dataset. If table_id is not set a new one will be generated for you with the following format: dlp_googleapis_transformation_details_yyyy_mm_dd_[dlp_job_id]. Pacific time zone will be used for generating the date details. + "datasetId": "A String", # Dataset ID of the table. + "projectId": "A String", # The Google Cloud Platform project ID of the project containing the table. If omitted, project ID is inferred from the API call. + "tableId": "A String", # Name of the table. + }, + }, + }, "jobNotificationEmails": { # Enable email notification to project owners and editors on jobs's completion/failure. # Enable email notification for project owners and editors on job's completion/failure. }, - "pubSub": { # Publish a message into given Pub/Sub topic when DlpJob has completed. The message contains a single field, `DlpJobName`, which is equal to the finished job's [`DlpJob.name`](https://cloud.google.com/dlp/docs/reference/rest/v2/projects.dlpJobs#DlpJob). Compatible with: Inspect, Risk # Publish a notification to a pubsub topic. + "pubSub": { # Publish a message into a given Pub/Sub topic when DlpJob has completed. The message contains a single field, `DlpJobName`, which is equal to the finished job's [`DlpJob.name`](https://cloud.google.com/dlp/docs/reference/rest/v2/projects.dlpJobs#DlpJob). Compatible with: Inspect, Risk # Publish a notification to a pubsub topic. "topic": "A String", # Cloud Pub/Sub topic to send notifications to. The topic must have given publishing access rights to the DLP API service account executing the long running DlpJob sending the notifications. Format is projects/{project}/topics/{topic}. }, "publishFindingsToCloudDataCatalog": { # Publish findings of a DlpJob to Data Catalog. Labels summarizing the results of the DlpJob will be applied to the entry for the resource scanned in Data Catalog. Any labels previously written by another DlpJob will be deleted. InfoType naming patterns are strictly enforced when using this feature. Note that the findings will be persisted in Data Catalog storage and are governed by Data Catalog service-specific policy, see https://cloud.google.com/terms/service-terms Only a single instance of this action can be specified and only allowed if all resources being scanned are BigQuery tables. Compatible with: Inspect # Publish findings to Cloud Datahub. }, - "publishSummaryToCscc": { # Publish the result summary of a DlpJob to the Cloud Security Command Center (CSCC Alpha). This action is only available for projects which are parts of an organization and whitelisted for the alpha Cloud Security Command Center. The action will publish count of finding instances and their info types. The summary of findings will be persisted in CSCC and are governed by CSCC service-specific policy, see https://cloud.google.com/terms/service-terms Only a single instance of this action can be specified. Compatible with: Inspect # Publish summary to Cloud Security Command Center (Alpha). + "publishSummaryToCscc": { # Publish the result summary of a DlpJob to the Cloud Security Command Center (CSCC Alpha). This action is only available for projects which are parts of an organization and whitelisted for the alpha Cloud Security Command Center. The action will publish the count of finding instances and their info types. The summary of findings will be persisted in CSCC and are governed by CSCC service-specific policy, see https://cloud.google.com/terms/service-terms Only a single instance of this action can be specified. Compatible with: Inspect # Publish summary to Cloud Security Command Center (Alpha). }, "publishToStackdriver": { # Enable Stackdriver metric dlp.googleapis.com/finding_count. This will publish a metric to stack driver on each infotype requested and how many findings were found for it. CustomDetectors will be bucketed as 'Custom' under the Stackdriver label 'info_type'. # Enable Stackdriver metric dlp.googleapis.com/finding_count. }, "saveFindings": { # If set, the detailed findings will be persisted to the specified OutputStorageConfig. Only a single instance of this action can be specified. Compatible with: Inspect, Risk # Save resulting findings in a provided location. "outputConfig": { # Cloud repository for storing output. # Location to store findings outside of DLP. "outputSchema": "A String", # Schema used for writing the findings for Inspect jobs. This field is only used for Inspect and must be unspecified for Risk jobs. Columns are derived from the `Finding` object. If appending to an existing table, any columns from the predefined schema that are missing will be added. No columns in the existing table will be deleted. If unspecified, then all available columns will be used for a new table or an (existing) table with no schema, and no changes will be made to an existing table that has a schema. Only for use with external storage. - "table": { # Message defining the location of a BigQuery table. A table is uniquely identified by its project_id, dataset_id, and table_name. Within a query a table is often referenced with a string in the format of: `:.` or `..`. # Store findings in an existing table or a new table in an existing dataset. If table_id is not set a new one will be generated for you with the following format: dlp_googleapis_yyyy_mm_dd_[dlp_job_id]. Pacific timezone will be used for generating the date details. For Inspect, each column in an existing output table must have the same name, type, and mode of a field in the `Finding` object. For Risk, an existing output table should be the output of a previous Risk analysis job run on the same source table, with the same privacy metric and quasi-identifiers. Risk jobs that analyze the same table but compute a different privacy metric, or use different sets of quasi-identifiers, cannot store their results in the same table. + "table": { # Message defining the location of a BigQuery table. A table is uniquely identified by its project_id, dataset_id, and table_name. Within a query a table is often referenced with a string in the format of: `:.` or `..`. # Store findings in an existing table or a new table in an existing dataset. If table_id is not set a new one will be generated for you with the following format: dlp_googleapis_yyyy_mm_dd_[dlp_job_id]. Pacific time zone will be used for generating the date details. For Inspect, each column in an existing output table must have the same name, type, and mode of a field in the `Finding` object. For Risk, an existing output table should be the output of a previous Risk analysis job run on the same source table, with the same privacy metric and quasi-identifiers. Risk jobs that analyze the same table but compute a different privacy metric, or use different sets of quasi-identifiers, cannot store their results in the same table. "datasetId": "A String", # Dataset ID of the table. "projectId": "A String", # The Google Cloud Platform project ID of the project containing the table. If omitted, project ID is inferred from the API call. "tableId": "A String", # Name of the table. @@ -2711,7 +2855,7 @@

Method Details

"version": "A String", # Optional version name for this InfoType. }, ], - "limits": { # Configuration to control the number of findings returned for inspection. This is not used for de-identification or data profiling. # Configuration to control the number of findings returned. This is not used for data profiling. + "limits": { # Configuration to control the number of findings returned for inspection. This is not used for de-identification or data profiling. When redacting sensitive data from images, finding limits don't apply. They can cause unexpected or inconsistent results, where only some data is redacted. Don't include finding limits in RedactImage requests. Otherwise, Cloud DLP returns an error. # Configuration to control the number of findings returned. This is not used for data profiling. When redacting sensitive data from images, finding limits don't apply. They can cause unexpected or inconsistent results, where only some data is redacted. Don't include finding limits in RedactImage requests. Otherwise, Cloud DLP returns an error. "maxFindingsPerInfoType": [ # Configuration of findings limit given for specified infoTypes. { # Max findings configuration per infoType, per content item or long running DlpJob. "infoType": { # Type of information detected by the API. # Type of information the findings limit applies to. Only one limit per info_type should be provided. If InfoTypeLimit does not have an info_type, the DLP API applies the limit against all info_types that are found but not specified in another InfoTypeLimit. @@ -2746,7 +2890,7 @@

Method Details

], }, }, - "excludeInfoTypes": { # List of exclude infoTypes. # Set of infoTypes for which findings would affect this rule. + "excludeInfoTypes": { # List of excluded infoTypes. # Set of infoTypes for which findings would affect this rule. "infoTypes": [ # InfoType list in ExclusionRule rule drops a finding when it overlaps or contained within with a finding of an infoType from this list. For example, for `InspectionRuleSet.info_types` containing "PHONE_NUMBER"` and `exclusion_rule` containing `exclude_info_types.info_types` with "EMAIL_ADDRESS" the phone number findings are dropped if they overlap with EMAIL_ADDRESS finding. That leads to "555-222-2222@example.org" to generate only a single finding, namely email address. { # Type of information detected by the API. "name": "A String", # Name of the information type. Either a name of your choosing when creating a CustomInfoType, or one of the names listed at https://cloud.google.com/dlp/docs/infotypes-reference when specifying a built-in type. When sending Cloud DLP results to Data Catalog, infoType names should conform to the pattern `[A-Za-z0-9$-_]{1,64}`. @@ -2810,7 +2954,7 @@

Method Details

"tableId": "A String", # Name of the table. }, }, - "cloudStorageOptions": { # Options defining a file or a set of files within a Google Cloud Storage bucket. # Google Cloud Storage options. + "cloudStorageOptions": { # Options defining a file or a set of files within a Cloud Storage bucket. # Cloud Storage options. "bytesLimitPerFile": "A String", # Max number of bytes to scan from a file. If a scanned file's size is bigger than this value then the rest of the bytes are omitted. Only one of bytes_limit_per_file and bytes_limit_per_file_percent can be specified. Cannot be set if de-identification is requested. "bytesLimitPerFilePercent": 42, # Max percentage of bytes to scan from a file. The rest are omitted. The number of bytes scanned is rounded down. Must be between 0 and 100, inclusively. Both 0 and 100 means no limit. Defaults to 0. Only one of bytes_limit_per_file and bytes_limit_per_file_percent can be specified. Cannot be set if de-identification is requested. "fileSet": { # Set of files to scan. # The set of one or more files to scan. @@ -2856,11 +3000,11 @@

Method Details

], }, }, - "timespanConfig": { # Configuration of the timespan of the items to include in scanning. Currently only supported when inspecting Google Cloud Storage and BigQuery. + "timespanConfig": { # Configuration of the timespan of the items to include in scanning. Currently only supported when inspecting Cloud Storage and BigQuery. "enableAutoPopulationOfTimespanConfig": True or False, # When the job is started by a JobTrigger we will automatically figure out a valid start_time to avoid scanning files that have not been modified since the last time the JobTrigger executed. This will be based on the time of the execution of the last run of the JobTrigger. "endTime": "A String", # Exclude files, tables, or rows newer than this value. If not set, no upper time limit is applied. "startTime": "A String", # Exclude files, tables, or rows older than this value. If not set, no lower time limit is applied. - "timestampField": { # General identifier of a data field in a storage service. # Specification of the field containing the timestamp of scanned items. Used for data sources like Datastore and BigQuery. For BigQuery: If this value is not specified and the table was modified between the given start and end times, the entire table will be scanned. If this value is specified, then rows are filtered based on the given start and end times. Rows with a `NULL` value in the provided BigQuery column are skipped. Valid data types of the provided BigQuery column are: `INTEGER`, `DATE`, `TIMESTAMP`, and `DATETIME`. For Datastore: If this value is specified, then entities are filtered based on the given start and end times. If an entity does not contain the provided timestamp property or contains empty or invalid values, then it is included. Valid data types of the provided timestamp property are: `TIMESTAMP`. + "timestampField": { # General identifier of a data field in a storage service. # Specification of the field containing the timestamp of scanned items. Used for data sources like Datastore and BigQuery. *For BigQuery* If this value is not specified and the table was modified between the given start and end times, the entire table will be scanned. If this value is specified, then rows are filtered based on the given start and end times. Rows with a `NULL` value in the provided BigQuery column are skipped. Valid data types of the provided BigQuery column are: `INTEGER`, `DATE`, `TIMESTAMP`, and `DATETIME`. If your BigQuery table is [partitioned at ingestion time](https://cloud.google.com/bigquery/docs/partitioned-tables#ingestion_time), you can use any of the following pseudo-columns as your timestamp field. When used with Cloud DLP, these pseudo-column names are case sensitive. - _PARTITIONTIME - _PARTITIONDATE - _PARTITION_LOAD_TIME *For Datastore* If this value is specified, then entities are filtered based on the given start and end times. If an entity does not contain the provided timestamp property or contains empty or invalid values, then it is included. Valid data types of the provided timestamp property are: `TIMESTAMP`. See the [known issue](https://cloud.google.com/dlp/docs/known-issues#bq-timespan) related to this operation. "name": "A String", # Name describing the field. }, }, @@ -2874,7 +3018,7 @@

Method Details

"manual": { # Job trigger option for hybrid jobs. Jobs must be manually created and finished. # For use with hybrid jobs. Jobs must be manually created and finished. }, "schedule": { # Schedule for inspect job triggers. # Create a job on a repeating basis based on the elapse of time. - "recurrencePeriodDuration": "A String", # With this option a job is started a regular periodic basis. For example: every day (86400 seconds). A scheduled start time will be skipped if the previous execution has not ended when its scheduled time occurs. This value must be set to a time duration greater than or equal to 1 day and can be no longer than 60 days. + "recurrencePeriodDuration": "A String", # With this option a job is started on a regular periodic basis. For example: every day (86400 seconds). A scheduled start time will be skipped if the previous execution has not ended when its scheduled time occurs. This value must be set to a time duration greater than or equal to 1 day and can be no longer than 60 days. }, }, ], diff --git a/docs/dyn/dlp_v2.projects.locations.content.html b/docs/dyn/dlp_v2.projects.locations.content.html index 5dc093d25ae..c558e11914a 100644 --- a/docs/dyn/dlp_v2.projects.locations.content.html +++ b/docs/dyn/dlp_v2.projects.locations.content.html @@ -101,7 +101,7 @@

Method Details

body: object, The request body. The object takes the form of: -{ # Request to de-identify a list of items. +{ # Request to de-identify a ContentItem. "deidentifyConfig": { # The configuration that controls how the data will change. # Configuration for the de-identification of the content item. Items specified here will override the template referenced by the deidentify_template_name argument. "infoTypeTransformations": { # A type of transformation that will scan unstructured text and apply various `PrimitiveTransformation`s to each finding, where the transformation is applied to only values that were identified as a specific info_type. # Treat the dataset as free-form text and apply the same free text transformation everywhere. "transformations": [ # Required. Transformation for each infoType. Cannot specify more than one for a given infoType. @@ -188,7 +188,7 @@

Method Details

"reverseOrder": True or False, # Mask characters in reverse order. For example, if `masking_character` is `0`, `number_to_mask` is `14`, and `reverse_order` is `false`, then the input string `1234-5678-9012-3456` is masked as `00000000000000-3456`. If `masking_character` is `*`, `number_to_mask` is `3`, and `reverse_order` is `true`, then the string `12345` is masked as `12***`. }, "cryptoDeterministicConfig": { # Pseudonymization method that generates deterministic encryption for the given input. Outputs a base64 encoded representation of the encrypted output. Uses AES-SIV based on the RFC https://tools.ietf.org/html/rfc5297. # Deterministic Crypto - "context": { # General identifier of a data field in a storage service. # A context may be used for higher security and maintaining referential integrity such that the same identifier in two different contexts will be given a distinct surrogate. The context is appended to plaintext value being encrypted. On decryption the provided context is validated against the value used during encryption. If a context was provided during encryption, same context must be provided during decryption as well. If the context is not set, plaintext would be used as is for encryption. If the context is set but: 1. there is no record present when transforming a given value or 2. the field is not present when transforming a given value, plaintext would be used as is for encryption. Note that case (1) is expected when an `InfoTypeTransformation` is applied to both structured and non-structured `ContentItem`s. + "context": { # General identifier of a data field in a storage service. # A context may be used for higher security and maintaining referential integrity such that the same identifier in two different contexts will be given a distinct surrogate. The context is appended to plaintext value being encrypted. On decryption the provided context is validated against the value used during encryption. If a context was provided during encryption, same context must be provided during decryption as well. If the context is not set, plaintext would be used as is for encryption. If the context is set but: 1. there is no record present when transforming a given value or 2. the field is not present when transforming a given value, plaintext would be used as is for encryption. Note that case (1) is expected when an `InfoTypeTransformation` is applied to both structured and unstructured `ContentItem`s. "name": "A String", # Name describing the field. }, "cryptoKey": { # This is a data encryption key (DEK) (as opposed to a key encryption key (KEK) stored by Cloud Key Management Service (Cloud KMS). When using Cloud KMS to wrap or unwrap a DEK, be sure to set an appropriate IAM policy on the KEK to ensure an attacker cannot unwrap the DEK. # The key used by the encryption function. For deterministic encryption using AES-SIV, the provided key is internally expanded to 64 bytes prior to use. @@ -224,7 +224,7 @@

Method Details

}, "cryptoReplaceFfxFpeConfig": { # Replaces an identifier with a surrogate using Format Preserving Encryption (FPE) with the FFX mode of operation; however when used in the `ReidentifyContent` API method, it serves the opposite function by reversing the surrogate back into the original identifier. The identifier must be encoded as ASCII. For a given crypto key and context, the same identifier will be replaced with the same surrogate. Identifiers must be at least two characters long. In the case that the identifier is the empty string, it will be skipped. See https://cloud.google.com/dlp/docs/pseudonymization to learn more. Note: We recommend using CryptoDeterministicConfig for all use cases which do not require preserving the input alphabet space and size, plus warrant referential integrity. # Ffx-Fpe "commonAlphabet": "A String", # Common alphabets. - "context": { # General identifier of a data field in a storage service. # The 'tweak', a context may be used for higher security since the same identifier in two different contexts won't be given the same surrogate. If the context is not set, a default tweak will be used. If the context is set but: 1. there is no record present when transforming a given value or 1. the field is not present when transforming a given value, a default tweak will be used. Note that case (1) is expected when an `InfoTypeTransformation` is applied to both structured and non-structured `ContentItem`s. Currently, the referenced field may be of value type integer or string. The tweak is constructed as a sequence of bytes in big endian byte order such that: - a 64 bit integer is encoded followed by a single byte of value 1 - a string is encoded in UTF-8 format followed by a single byte of value 2 + "context": { # General identifier of a data field in a storage service. # The 'tweak', a context may be used for higher security since the same identifier in two different contexts won't be given the same surrogate. If the context is not set, a default tweak will be used. If the context is set but: 1. there is no record present when transforming a given value or 1. the field is not present when transforming a given value, a default tweak will be used. Note that case (1) is expected when an `InfoTypeTransformation` is applied to both structured and unstructured `ContentItem`s. Currently, the referenced field may be of value type integer or string. The tweak is constructed as a sequence of bytes in big endian byte order such that: - a 64 bit integer is encoded followed by a single byte of value 1 - a string is encoded in UTF-8 format followed by a single byte of value 2 "name": "A String", # Name describing the field. }, "cryptoKey": { # This is a data encryption key (DEK) (as opposed to a key encryption key (KEK) stored by Cloud Key Management Service (Cloud KMS). When using Cloud KMS to wrap or unwrap a DEK, be sure to set an appropriate IAM policy on the KEK to ensure an attacker cannot unwrap the DEK. # Required. The key used by the encryption algorithm. @@ -349,7 +349,7 @@

Method Details

"fieldTransformations": [ # Transform the record by applying various field transformations. { # The transformation to apply to the field. "condition": { # A condition for determining whether a transformation should be applied to a field. # Only apply the transformation if the condition evaluates to true for the given `RecordCondition`. The conditions are allowed to reference fields that are not used in the actual transformation. Example Use Cases: - Apply a different bucket transformation to an age column if the zip code column for the same record is within a specific range. - Redact a field if the date of birth field is greater than 85. - "expressions": { # An expression, consisting or an operator and conditions. # An expression. + "expressions": { # An expression, consisting of an operator and conditions. # An expression. "conditions": { # A collection of conditions. # Conditions to apply to the expression. "conditions": [ # A collection of conditions. { # The field type of `value` and `field` do not need to match to be considered equal, but not all comparisons are possible. EQUAL_TO and NOT_EQUAL_TO attempt to compare even with incompatible types, but all other comparisons are invalid with incompatible types. A `value` of type: - `string` can be compared against all other types - `boolean` can only be compared against other booleans - `integer` can be compared against doubles or a string if the string value can be parsed as an integer. - `double` can be compared against integers or a string if the string can be parsed as a double. - `Timestamp` can be compared against strings in RFC 3339 date string format. - `TimeOfDay` can be compared against timestamps and strings in the format of 'HH:mm:ss'. If we fail to compare do to type mismatch, a warning will be given and the condition will evaluate to false. @@ -472,7 +472,7 @@

Method Details

"reverseOrder": True or False, # Mask characters in reverse order. For example, if `masking_character` is `0`, `number_to_mask` is `14`, and `reverse_order` is `false`, then the input string `1234-5678-9012-3456` is masked as `00000000000000-3456`. If `masking_character` is `*`, `number_to_mask` is `3`, and `reverse_order` is `true`, then the string `12345` is masked as `12***`. }, "cryptoDeterministicConfig": { # Pseudonymization method that generates deterministic encryption for the given input. Outputs a base64 encoded representation of the encrypted output. Uses AES-SIV based on the RFC https://tools.ietf.org/html/rfc5297. # Deterministic Crypto - "context": { # General identifier of a data field in a storage service. # A context may be used for higher security and maintaining referential integrity such that the same identifier in two different contexts will be given a distinct surrogate. The context is appended to plaintext value being encrypted. On decryption the provided context is validated against the value used during encryption. If a context was provided during encryption, same context must be provided during decryption as well. If the context is not set, plaintext would be used as is for encryption. If the context is set but: 1. there is no record present when transforming a given value or 2. the field is not present when transforming a given value, plaintext would be used as is for encryption. Note that case (1) is expected when an `InfoTypeTransformation` is applied to both structured and non-structured `ContentItem`s. + "context": { # General identifier of a data field in a storage service. # A context may be used for higher security and maintaining referential integrity such that the same identifier in two different contexts will be given a distinct surrogate. The context is appended to plaintext value being encrypted. On decryption the provided context is validated against the value used during encryption. If a context was provided during encryption, same context must be provided during decryption as well. If the context is not set, plaintext would be used as is for encryption. If the context is set but: 1. there is no record present when transforming a given value or 2. the field is not present when transforming a given value, plaintext would be used as is for encryption. Note that case (1) is expected when an `InfoTypeTransformation` is applied to both structured and unstructured `ContentItem`s. "name": "A String", # Name describing the field. }, "cryptoKey": { # This is a data encryption key (DEK) (as opposed to a key encryption key (KEK) stored by Cloud Key Management Service (Cloud KMS). When using Cloud KMS to wrap or unwrap a DEK, be sure to set an appropriate IAM policy on the KEK to ensure an attacker cannot unwrap the DEK. # The key used by the encryption function. For deterministic encryption using AES-SIV, the provided key is internally expanded to 64 bytes prior to use. @@ -508,7 +508,7 @@

Method Details

}, "cryptoReplaceFfxFpeConfig": { # Replaces an identifier with a surrogate using Format Preserving Encryption (FPE) with the FFX mode of operation; however when used in the `ReidentifyContent` API method, it serves the opposite function by reversing the surrogate back into the original identifier. The identifier must be encoded as ASCII. For a given crypto key and context, the same identifier will be replaced with the same surrogate. Identifiers must be at least two characters long. In the case that the identifier is the empty string, it will be skipped. See https://cloud.google.com/dlp/docs/pseudonymization to learn more. Note: We recommend using CryptoDeterministicConfig for all use cases which do not require preserving the input alphabet space and size, plus warrant referential integrity. # Ffx-Fpe "commonAlphabet": "A String", # Common alphabets. - "context": { # General identifier of a data field in a storage service. # The 'tweak', a context may be used for higher security since the same identifier in two different contexts won't be given the same surrogate. If the context is not set, a default tweak will be used. If the context is set but: 1. there is no record present when transforming a given value or 1. the field is not present when transforming a given value, a default tweak will be used. Note that case (1) is expected when an `InfoTypeTransformation` is applied to both structured and non-structured `ContentItem`s. Currently, the referenced field may be of value type integer or string. The tweak is constructed as a sequence of bytes in big endian byte order such that: - a 64 bit integer is encoded followed by a single byte of value 1 - a string is encoded in UTF-8 format followed by a single byte of value 2 + "context": { # General identifier of a data field in a storage service. # The 'tweak', a context may be used for higher security since the same identifier in two different contexts won't be given the same surrogate. If the context is not set, a default tweak will be used. If the context is set but: 1. there is no record present when transforming a given value or 1. the field is not present when transforming a given value, a default tweak will be used. Note that case (1) is expected when an `InfoTypeTransformation` is applied to both structured and unstructured `ContentItem`s. Currently, the referenced field may be of value type integer or string. The tweak is constructed as a sequence of bytes in big endian byte order such that: - a 64 bit integer is encoded followed by a single byte of value 1 - a string is encoded in UTF-8 format followed by a single byte of value 2 "name": "A String", # Name describing the field. }, "cryptoKey": { # This is a data encryption key (DEK) (as opposed to a key encryption key (KEK) stored by Cloud Key Management Service (Cloud KMS). When using Cloud KMS to wrap or unwrap a DEK, be sure to set an appropriate IAM policy on the KEK to ensure an attacker cannot unwrap the DEK. # Required. The key used by the encryption algorithm. @@ -705,7 +705,7 @@

Method Details

"reverseOrder": True or False, # Mask characters in reverse order. For example, if `masking_character` is `0`, `number_to_mask` is `14`, and `reverse_order` is `false`, then the input string `1234-5678-9012-3456` is masked as `00000000000000-3456`. If `masking_character` is `*`, `number_to_mask` is `3`, and `reverse_order` is `true`, then the string `12345` is masked as `12***`. }, "cryptoDeterministicConfig": { # Pseudonymization method that generates deterministic encryption for the given input. Outputs a base64 encoded representation of the encrypted output. Uses AES-SIV based on the RFC https://tools.ietf.org/html/rfc5297. # Deterministic Crypto - "context": { # General identifier of a data field in a storage service. # A context may be used for higher security and maintaining referential integrity such that the same identifier in two different contexts will be given a distinct surrogate. The context is appended to plaintext value being encrypted. On decryption the provided context is validated against the value used during encryption. If a context was provided during encryption, same context must be provided during decryption as well. If the context is not set, plaintext would be used as is for encryption. If the context is set but: 1. there is no record present when transforming a given value or 2. the field is not present when transforming a given value, plaintext would be used as is for encryption. Note that case (1) is expected when an `InfoTypeTransformation` is applied to both structured and non-structured `ContentItem`s. + "context": { # General identifier of a data field in a storage service. # A context may be used for higher security and maintaining referential integrity such that the same identifier in two different contexts will be given a distinct surrogate. The context is appended to plaintext value being encrypted. On decryption the provided context is validated against the value used during encryption. If a context was provided during encryption, same context must be provided during decryption as well. If the context is not set, plaintext would be used as is for encryption. If the context is set but: 1. there is no record present when transforming a given value or 2. the field is not present when transforming a given value, plaintext would be used as is for encryption. Note that case (1) is expected when an `InfoTypeTransformation` is applied to both structured and unstructured `ContentItem`s. "name": "A String", # Name describing the field. }, "cryptoKey": { # This is a data encryption key (DEK) (as opposed to a key encryption key (KEK) stored by Cloud Key Management Service (Cloud KMS). When using Cloud KMS to wrap or unwrap a DEK, be sure to set an appropriate IAM policy on the KEK to ensure an attacker cannot unwrap the DEK. # The key used by the encryption function. For deterministic encryption using AES-SIV, the provided key is internally expanded to 64 bytes prior to use. @@ -741,7 +741,7 @@

Method Details

}, "cryptoReplaceFfxFpeConfig": { # Replaces an identifier with a surrogate using Format Preserving Encryption (FPE) with the FFX mode of operation; however when used in the `ReidentifyContent` API method, it serves the opposite function by reversing the surrogate back into the original identifier. The identifier must be encoded as ASCII. For a given crypto key and context, the same identifier will be replaced with the same surrogate. Identifiers must be at least two characters long. In the case that the identifier is the empty string, it will be skipped. See https://cloud.google.com/dlp/docs/pseudonymization to learn more. Note: We recommend using CryptoDeterministicConfig for all use cases which do not require preserving the input alphabet space and size, plus warrant referential integrity. # Ffx-Fpe "commonAlphabet": "A String", # Common alphabets. - "context": { # General identifier of a data field in a storage service. # The 'tweak', a context may be used for higher security since the same identifier in two different contexts won't be given the same surrogate. If the context is not set, a default tweak will be used. If the context is set but: 1. there is no record present when transforming a given value or 1. the field is not present when transforming a given value, a default tweak will be used. Note that case (1) is expected when an `InfoTypeTransformation` is applied to both structured and non-structured `ContentItem`s. Currently, the referenced field may be of value type integer or string. The tweak is constructed as a sequence of bytes in big endian byte order such that: - a 64 bit integer is encoded followed by a single byte of value 1 - a string is encoded in UTF-8 format followed by a single byte of value 2 + "context": { # General identifier of a data field in a storage service. # The 'tweak', a context may be used for higher security since the same identifier in two different contexts won't be given the same surrogate. If the context is not set, a default tweak will be used. If the context is set but: 1. there is no record present when transforming a given value or 1. the field is not present when transforming a given value, a default tweak will be used. Note that case (1) is expected when an `InfoTypeTransformation` is applied to both structured and unstructured `ContentItem`s. Currently, the referenced field may be of value type integer or string. The tweak is constructed as a sequence of bytes in big endian byte order such that: - a 64 bit integer is encoded followed by a single byte of value 1 - a string is encoded in UTF-8 format followed by a single byte of value 2 "name": "A String", # Name describing the field. }, "cryptoKey": { # This is a data encryption key (DEK) (as opposed to a key encryption key (KEK) stored by Cloud Key Management Service (Cloud KMS). When using Cloud KMS to wrap or unwrap a DEK, be sure to set an appropriate IAM policy on the KEK to ensure an attacker cannot unwrap the DEK. # Required. The key used by the encryption algorithm. @@ -864,7 +864,7 @@

Method Details

"recordSuppressions": [ # Configuration defining which records get suppressed entirely. Records that match any suppression rule are omitted from the output. { # Configuration to suppress records whose suppression conditions evaluate to true. "condition": { # A condition for determining whether a transformation should be applied to a field. # A condition that when it evaluates to true will result in the record being evaluated to be suppressed from the transformed content. - "expressions": { # An expression, consisting or an operator and conditions. # An expression. + "expressions": { # An expression, consisting of an operator and conditions. # An expression. "conditions": { # A collection of conditions. # Conditions to apply to the expression. "conditions": [ # A collection of conditions. { # The field type of `value` and `field` do not need to match to be considered equal, but not all comparisons are possible. EQUAL_TO and NOT_EQUAL_TO attempt to compare even with incompatible types, but all other comparisons are invalid with incompatible types. A `value` of type: - `string` can be compared against all other types - `boolean` can only be compared against other booleans - `integer` can be compared against doubles or a string if the string value can be parsed as an integer. - `double` can be compared against integers or a string if the string can be parsed as a double. - `Timestamp` can be compared against strings in RFC 3339 date string format. - `TimeOfDay` can be compared against timestamps and strings in the format of 'HH:mm:ss'. If we fail to compare do to type mismatch, a warning will be given and the condition will evaluate to false. @@ -972,7 +972,7 @@

Method Details

"version": "A String", # Optional version name for this InfoType. }, ], - "limits": { # Configuration to control the number of findings returned for inspection. This is not used for de-identification or data profiling. # Configuration to control the number of findings returned. This is not used for data profiling. + "limits": { # Configuration to control the number of findings returned for inspection. This is not used for de-identification or data profiling. When redacting sensitive data from images, finding limits don't apply. They can cause unexpected or inconsistent results, where only some data is redacted. Don't include finding limits in RedactImage requests. Otherwise, Cloud DLP returns an error. # Configuration to control the number of findings returned. This is not used for data profiling. When redacting sensitive data from images, finding limits don't apply. They can cause unexpected or inconsistent results, where only some data is redacted. Don't include finding limits in RedactImage requests. Otherwise, Cloud DLP returns an error. "maxFindingsPerInfoType": [ # Configuration of findings limit given for specified infoTypes. { # Max findings configuration per infoType, per content item or long running DlpJob. "infoType": { # Type of information detected by the API. # Type of information the findings limit applies to. Only one limit per info_type should be provided. If InfoTypeLimit does not have an info_type, the DLP API applies the limit against all info_types that are found but not specified in another InfoTypeLimit. @@ -1007,7 +1007,7 @@

Method Details

], }, }, - "excludeInfoTypes": { # List of exclude infoTypes. # Set of infoTypes for which findings would affect this rule. + "excludeInfoTypes": { # List of excluded infoTypes. # Set of infoTypes for which findings would affect this rule. "infoTypes": [ # InfoType list in ExclusionRule rule drops a finding when it overlaps or contained within with a finding of an infoType from this list. For example, for `InspectionRuleSet.info_types` containing "PHONE_NUMBER"` and `exclusion_rule` containing `exclude_info_types.info_types` with "EMAIL_ADDRESS" the phone number findings are dropped if they overlap with EMAIL_ADDRESS finding. That leads to "555-222-2222@example.org" to generate only a single finding, namely email address. { # Type of information detected by the API. "name": "A String", # Name of the information type. Either a name of your choosing when creating a CustomInfoType, or one of the names listed at https://cloud.google.com/dlp/docs/infotypes-reference when specifying a built-in type. When sending Cloud DLP results to Data Catalog, infoType names should conform to the pattern `[A-Za-z0-9$-_]{1,64}`. @@ -1144,7 +1144,7 @@

Method Details

"fieldTransformations": [ # The field transformation that was applied. If multiple field transformations are requested for a single field, this list will contain all of them; otherwise, only one is supplied. { # The transformation to apply to the field. "condition": { # A condition for determining whether a transformation should be applied to a field. # Only apply the transformation if the condition evaluates to true for the given `RecordCondition`. The conditions are allowed to reference fields that are not used in the actual transformation. Example Use Cases: - Apply a different bucket transformation to an age column if the zip code column for the same record is within a specific range. - Redact a field if the date of birth field is greater than 85. - "expressions": { # An expression, consisting or an operator and conditions. # An expression. + "expressions": { # An expression, consisting of an operator and conditions. # An expression. "conditions": { # A collection of conditions. # Conditions to apply to the expression. "conditions": [ # A collection of conditions. { # The field type of `value` and `field` do not need to match to be considered equal, but not all comparisons are possible. EQUAL_TO and NOT_EQUAL_TO attempt to compare even with incompatible types, but all other comparisons are invalid with incompatible types. A `value` of type: - `string` can be compared against all other types - `boolean` can only be compared against other booleans - `integer` can be compared against doubles or a string if the string value can be parsed as an integer. - `double` can be compared against integers or a string if the string can be parsed as a double. - `Timestamp` can be compared against strings in RFC 3339 date string format. - `TimeOfDay` can be compared against timestamps and strings in the format of 'HH:mm:ss'. If we fail to compare do to type mismatch, a warning will be given and the condition will evaluate to false. @@ -1267,7 +1267,7 @@

Method Details

"reverseOrder": True or False, # Mask characters in reverse order. For example, if `masking_character` is `0`, `number_to_mask` is `14`, and `reverse_order` is `false`, then the input string `1234-5678-9012-3456` is masked as `00000000000000-3456`. If `masking_character` is `*`, `number_to_mask` is `3`, and `reverse_order` is `true`, then the string `12345` is masked as `12***`. }, "cryptoDeterministicConfig": { # Pseudonymization method that generates deterministic encryption for the given input. Outputs a base64 encoded representation of the encrypted output. Uses AES-SIV based on the RFC https://tools.ietf.org/html/rfc5297. # Deterministic Crypto - "context": { # General identifier of a data field in a storage service. # A context may be used for higher security and maintaining referential integrity such that the same identifier in two different contexts will be given a distinct surrogate. The context is appended to plaintext value being encrypted. On decryption the provided context is validated against the value used during encryption. If a context was provided during encryption, same context must be provided during decryption as well. If the context is not set, plaintext would be used as is for encryption. If the context is set but: 1. there is no record present when transforming a given value or 2. the field is not present when transforming a given value, plaintext would be used as is for encryption. Note that case (1) is expected when an `InfoTypeTransformation` is applied to both structured and non-structured `ContentItem`s. + "context": { # General identifier of a data field in a storage service. # A context may be used for higher security and maintaining referential integrity such that the same identifier in two different contexts will be given a distinct surrogate. The context is appended to plaintext value being encrypted. On decryption the provided context is validated against the value used during encryption. If a context was provided during encryption, same context must be provided during decryption as well. If the context is not set, plaintext would be used as is for encryption. If the context is set but: 1. there is no record present when transforming a given value or 2. the field is not present when transforming a given value, plaintext would be used as is for encryption. Note that case (1) is expected when an `InfoTypeTransformation` is applied to both structured and unstructured `ContentItem`s. "name": "A String", # Name describing the field. }, "cryptoKey": { # This is a data encryption key (DEK) (as opposed to a key encryption key (KEK) stored by Cloud Key Management Service (Cloud KMS). When using Cloud KMS to wrap or unwrap a DEK, be sure to set an appropriate IAM policy on the KEK to ensure an attacker cannot unwrap the DEK. # The key used by the encryption function. For deterministic encryption using AES-SIV, the provided key is internally expanded to 64 bytes prior to use. @@ -1303,7 +1303,7 @@

Method Details

}, "cryptoReplaceFfxFpeConfig": { # Replaces an identifier with a surrogate using Format Preserving Encryption (FPE) with the FFX mode of operation; however when used in the `ReidentifyContent` API method, it serves the opposite function by reversing the surrogate back into the original identifier. The identifier must be encoded as ASCII. For a given crypto key and context, the same identifier will be replaced with the same surrogate. Identifiers must be at least two characters long. In the case that the identifier is the empty string, it will be skipped. See https://cloud.google.com/dlp/docs/pseudonymization to learn more. Note: We recommend using CryptoDeterministicConfig for all use cases which do not require preserving the input alphabet space and size, plus warrant referential integrity. # Ffx-Fpe "commonAlphabet": "A String", # Common alphabets. - "context": { # General identifier of a data field in a storage service. # The 'tweak', a context may be used for higher security since the same identifier in two different contexts won't be given the same surrogate. If the context is not set, a default tweak will be used. If the context is set but: 1. there is no record present when transforming a given value or 1. the field is not present when transforming a given value, a default tweak will be used. Note that case (1) is expected when an `InfoTypeTransformation` is applied to both structured and non-structured `ContentItem`s. Currently, the referenced field may be of value type integer or string. The tweak is constructed as a sequence of bytes in big endian byte order such that: - a 64 bit integer is encoded followed by a single byte of value 1 - a string is encoded in UTF-8 format followed by a single byte of value 2 + "context": { # General identifier of a data field in a storage service. # The 'tweak', a context may be used for higher security since the same identifier in two different contexts won't be given the same surrogate. If the context is not set, a default tweak will be used. If the context is set but: 1. there is no record present when transforming a given value or 1. the field is not present when transforming a given value, a default tweak will be used. Note that case (1) is expected when an `InfoTypeTransformation` is applied to both structured and unstructured `ContentItem`s. Currently, the referenced field may be of value type integer or string. The tweak is constructed as a sequence of bytes in big endian byte order such that: - a 64 bit integer is encoded followed by a single byte of value 1 - a string is encoded in UTF-8 format followed by a single byte of value 2 "name": "A String", # Name describing the field. }, "cryptoKey": { # This is a data encryption key (DEK) (as opposed to a key encryption key (KEK) stored by Cloud Key Management Service (Cloud KMS). When using Cloud KMS to wrap or unwrap a DEK, be sure to set an appropriate IAM policy on the KEK to ensure an attacker cannot unwrap the DEK. # Required. The key used by the encryption algorithm. @@ -1500,7 +1500,7 @@

Method Details

"reverseOrder": True or False, # Mask characters in reverse order. For example, if `masking_character` is `0`, `number_to_mask` is `14`, and `reverse_order` is `false`, then the input string `1234-5678-9012-3456` is masked as `00000000000000-3456`. If `masking_character` is `*`, `number_to_mask` is `3`, and `reverse_order` is `true`, then the string `12345` is masked as `12***`. }, "cryptoDeterministicConfig": { # Pseudonymization method that generates deterministic encryption for the given input. Outputs a base64 encoded representation of the encrypted output. Uses AES-SIV based on the RFC https://tools.ietf.org/html/rfc5297. # Deterministic Crypto - "context": { # General identifier of a data field in a storage service. # A context may be used for higher security and maintaining referential integrity such that the same identifier in two different contexts will be given a distinct surrogate. The context is appended to plaintext value being encrypted. On decryption the provided context is validated against the value used during encryption. If a context was provided during encryption, same context must be provided during decryption as well. If the context is not set, plaintext would be used as is for encryption. If the context is set but: 1. there is no record present when transforming a given value or 2. the field is not present when transforming a given value, plaintext would be used as is for encryption. Note that case (1) is expected when an `InfoTypeTransformation` is applied to both structured and non-structured `ContentItem`s. + "context": { # General identifier of a data field in a storage service. # A context may be used for higher security and maintaining referential integrity such that the same identifier in two different contexts will be given a distinct surrogate. The context is appended to plaintext value being encrypted. On decryption the provided context is validated against the value used during encryption. If a context was provided during encryption, same context must be provided during decryption as well. If the context is not set, plaintext would be used as is for encryption. If the context is set but: 1. there is no record present when transforming a given value or 2. the field is not present when transforming a given value, plaintext would be used as is for encryption. Note that case (1) is expected when an `InfoTypeTransformation` is applied to both structured and unstructured `ContentItem`s. "name": "A String", # Name describing the field. }, "cryptoKey": { # This is a data encryption key (DEK) (as opposed to a key encryption key (KEK) stored by Cloud Key Management Service (Cloud KMS). When using Cloud KMS to wrap or unwrap a DEK, be sure to set an appropriate IAM policy on the KEK to ensure an attacker cannot unwrap the DEK. # The key used by the encryption function. For deterministic encryption using AES-SIV, the provided key is internally expanded to 64 bytes prior to use. @@ -1536,7 +1536,7 @@

Method Details

}, "cryptoReplaceFfxFpeConfig": { # Replaces an identifier with a surrogate using Format Preserving Encryption (FPE) with the FFX mode of operation; however when used in the `ReidentifyContent` API method, it serves the opposite function by reversing the surrogate back into the original identifier. The identifier must be encoded as ASCII. For a given crypto key and context, the same identifier will be replaced with the same surrogate. Identifiers must be at least two characters long. In the case that the identifier is the empty string, it will be skipped. See https://cloud.google.com/dlp/docs/pseudonymization to learn more. Note: We recommend using CryptoDeterministicConfig for all use cases which do not require preserving the input alphabet space and size, plus warrant referential integrity. # Ffx-Fpe "commonAlphabet": "A String", # Common alphabets. - "context": { # General identifier of a data field in a storage service. # The 'tweak', a context may be used for higher security since the same identifier in two different contexts won't be given the same surrogate. If the context is not set, a default tweak will be used. If the context is set but: 1. there is no record present when transforming a given value or 1. the field is not present when transforming a given value, a default tweak will be used. Note that case (1) is expected when an `InfoTypeTransformation` is applied to both structured and non-structured `ContentItem`s. Currently, the referenced field may be of value type integer or string. The tweak is constructed as a sequence of bytes in big endian byte order such that: - a 64 bit integer is encoded followed by a single byte of value 1 - a string is encoded in UTF-8 format followed by a single byte of value 2 + "context": { # General identifier of a data field in a storage service. # The 'tweak', a context may be used for higher security since the same identifier in two different contexts won't be given the same surrogate. If the context is not set, a default tweak will be used. If the context is set but: 1. there is no record present when transforming a given value or 1. the field is not present when transforming a given value, a default tweak will be used. Note that case (1) is expected when an `InfoTypeTransformation` is applied to both structured and unstructured `ContentItem`s. Currently, the referenced field may be of value type integer or string. The tweak is constructed as a sequence of bytes in big endian byte order such that: - a 64 bit integer is encoded followed by a single byte of value 1 - a string is encoded in UTF-8 format followed by a single byte of value 2 "name": "A String", # Name describing the field. }, "cryptoKey": { # This is a data encryption key (DEK) (as opposed to a key encryption key (KEK) stored by Cloud Key Management Service (Cloud KMS). When using Cloud KMS to wrap or unwrap a DEK, be sure to set an appropriate IAM policy on the KEK to ensure an attacker cannot unwrap the DEK. # Required. The key used by the encryption algorithm. @@ -1662,7 +1662,7 @@

Method Details

}, "recordSuppress": { # Configuration to suppress records whose suppression conditions evaluate to true. # The specific suppression option these stats apply to. "condition": { # A condition for determining whether a transformation should be applied to a field. # A condition that when it evaluates to true will result in the record being evaluated to be suppressed from the transformed content. - "expressions": { # An expression, consisting or an operator and conditions. # An expression. + "expressions": { # An expression, consisting of an operator and conditions. # An expression. "conditions": { # A collection of conditions. # Conditions to apply to the expression. "conditions": [ # A collection of conditions. { # The field type of `value` and `field` do not need to match to be considered equal, but not all comparisons are possible. EQUAL_TO and NOT_EQUAL_TO attempt to compare even with incompatible types, but all other comparisons are invalid with incompatible types. A `value` of type: - `string` can be compared against all other types - `boolean` can only be compared against other booleans - `integer` can be compared against doubles or a string if the string value can be parsed as an integer. - `double` can be compared against integers or a string if the string can be parsed as a double. - `Timestamp` can be compared against strings in RFC 3339 date string format. - `TimeOfDay` can be compared against timestamps and strings in the format of 'HH:mm:ss'. If we fail to compare do to type mismatch, a warning will be given and the condition will evaluate to false. @@ -1779,7 +1779,7 @@

Method Details

"reverseOrder": True or False, # Mask characters in reverse order. For example, if `masking_character` is `0`, `number_to_mask` is `14`, and `reverse_order` is `false`, then the input string `1234-5678-9012-3456` is masked as `00000000000000-3456`. If `masking_character` is `*`, `number_to_mask` is `3`, and `reverse_order` is `true`, then the string `12345` is masked as `12***`. }, "cryptoDeterministicConfig": { # Pseudonymization method that generates deterministic encryption for the given input. Outputs a base64 encoded representation of the encrypted output. Uses AES-SIV based on the RFC https://tools.ietf.org/html/rfc5297. # Deterministic Crypto - "context": { # General identifier of a data field in a storage service. # A context may be used for higher security and maintaining referential integrity such that the same identifier in two different contexts will be given a distinct surrogate. The context is appended to plaintext value being encrypted. On decryption the provided context is validated against the value used during encryption. If a context was provided during encryption, same context must be provided during decryption as well. If the context is not set, plaintext would be used as is for encryption. If the context is set but: 1. there is no record present when transforming a given value or 2. the field is not present when transforming a given value, plaintext would be used as is for encryption. Note that case (1) is expected when an `InfoTypeTransformation` is applied to both structured and non-structured `ContentItem`s. + "context": { # General identifier of a data field in a storage service. # A context may be used for higher security and maintaining referential integrity such that the same identifier in two different contexts will be given a distinct surrogate. The context is appended to plaintext value being encrypted. On decryption the provided context is validated against the value used during encryption. If a context was provided during encryption, same context must be provided during decryption as well. If the context is not set, plaintext would be used as is for encryption. If the context is set but: 1. there is no record present when transforming a given value or 2. the field is not present when transforming a given value, plaintext would be used as is for encryption. Note that case (1) is expected when an `InfoTypeTransformation` is applied to both structured and unstructured `ContentItem`s. "name": "A String", # Name describing the field. }, "cryptoKey": { # This is a data encryption key (DEK) (as opposed to a key encryption key (KEK) stored by Cloud Key Management Service (Cloud KMS). When using Cloud KMS to wrap or unwrap a DEK, be sure to set an appropriate IAM policy on the KEK to ensure an attacker cannot unwrap the DEK. # The key used by the encryption function. For deterministic encryption using AES-SIV, the provided key is internally expanded to 64 bytes prior to use. @@ -1815,7 +1815,7 @@

Method Details

}, "cryptoReplaceFfxFpeConfig": { # Replaces an identifier with a surrogate using Format Preserving Encryption (FPE) with the FFX mode of operation; however when used in the `ReidentifyContent` API method, it serves the opposite function by reversing the surrogate back into the original identifier. The identifier must be encoded as ASCII. For a given crypto key and context, the same identifier will be replaced with the same surrogate. Identifiers must be at least two characters long. In the case that the identifier is the empty string, it will be skipped. See https://cloud.google.com/dlp/docs/pseudonymization to learn more. Note: We recommend using CryptoDeterministicConfig for all use cases which do not require preserving the input alphabet space and size, plus warrant referential integrity. # Ffx-Fpe "commonAlphabet": "A String", # Common alphabets. - "context": { # General identifier of a data field in a storage service. # The 'tweak', a context may be used for higher security since the same identifier in two different contexts won't be given the same surrogate. If the context is not set, a default tweak will be used. If the context is set but: 1. there is no record present when transforming a given value or 1. the field is not present when transforming a given value, a default tweak will be used. Note that case (1) is expected when an `InfoTypeTransformation` is applied to both structured and non-structured `ContentItem`s. Currently, the referenced field may be of value type integer or string. The tweak is constructed as a sequence of bytes in big endian byte order such that: - a 64 bit integer is encoded followed by a single byte of value 1 - a string is encoded in UTF-8 format followed by a single byte of value 2 + "context": { # General identifier of a data field in a storage service. # The 'tweak', a context may be used for higher security since the same identifier in two different contexts won't be given the same surrogate. If the context is not set, a default tweak will be used. If the context is set but: 1. there is no record present when transforming a given value or 1. the field is not present when transforming a given value, a default tweak will be used. Note that case (1) is expected when an `InfoTypeTransformation` is applied to both structured and unstructured `ContentItem`s. Currently, the referenced field may be of value type integer or string. The tweak is constructed as a sequence of bytes in big endian byte order such that: - a 64 bit integer is encoded followed by a single byte of value 1 - a string is encoded in UTF-8 format followed by a single byte of value 2 "name": "A String", # Name describing the field. }, "cryptoKey": { # This is a data encryption key (DEK) (as opposed to a key encryption key (KEK) stored by Cloud Key Management Service (Cloud KMS). When using Cloud KMS to wrap or unwrap a DEK, be sure to set an appropriate IAM policy on the KEK to ensure an attacker cannot unwrap the DEK. # Required. The key used by the encryption algorithm. @@ -2015,7 +2015,7 @@

Method Details

"version": "A String", # Optional version name for this InfoType. }, ], - "limits": { # Configuration to control the number of findings returned for inspection. This is not used for de-identification or data profiling. # Configuration to control the number of findings returned. This is not used for data profiling. + "limits": { # Configuration to control the number of findings returned for inspection. This is not used for de-identification or data profiling. When redacting sensitive data from images, finding limits don't apply. They can cause unexpected or inconsistent results, where only some data is redacted. Don't include finding limits in RedactImage requests. Otherwise, Cloud DLP returns an error. # Configuration to control the number of findings returned. This is not used for data profiling. When redacting sensitive data from images, finding limits don't apply. They can cause unexpected or inconsistent results, where only some data is redacted. Don't include finding limits in RedactImage requests. Otherwise, Cloud DLP returns an error. "maxFindingsPerInfoType": [ # Configuration of findings limit given for specified infoTypes. { # Max findings configuration per infoType, per content item or long running DlpJob. "infoType": { # Type of information detected by the API. # Type of information the findings limit applies to. Only one limit per info_type should be provided. If InfoTypeLimit does not have an info_type, the DLP API applies the limit against all info_types that are found but not specified in another InfoTypeLimit. @@ -2050,7 +2050,7 @@

Method Details

], }, }, - "excludeInfoTypes": { # List of exclude infoTypes. # Set of infoTypes for which findings would affect this rule. + "excludeInfoTypes": { # List of excluded infoTypes. # Set of infoTypes for which findings would affect this rule. "infoTypes": [ # InfoType list in ExclusionRule rule drops a finding when it overlaps or contained within with a finding of an infoType from this list. For example, for `InspectionRuleSet.info_types` containing "PHONE_NUMBER"` and `exclusion_rule` containing `exclude_info_types.info_types` with "EMAIL_ADDRESS" the phone number findings are dropped if they overlap with EMAIL_ADDRESS finding. That leads to "555-222-2222@example.org" to generate only a single finding, namely email address. { # Type of information detected by the API. "name": "A String", # Name of the information type. Either a name of your choosing when creating a CustomInfoType, or one of the names listed at https://cloud.google.com/dlp/docs/infotypes-reference when specifying a built-in type. When sending Cloud DLP results to Data Catalog, infoType names should conform to the pattern `[A-Za-z0-9$-_]{1,64}`. @@ -2164,19 +2164,19 @@

Method Details

"start": "A String", # Index of the first character of the range (inclusive). }, "container": { # Represents a container that may contain DLP findings. Examples of a container include a file, table, or database record. # Information about the container where this finding occurred, if available. - "fullPath": "A String", # A string representation of the full container name. Examples: - BigQuery: 'Project:DataSetId.TableId' - Google Cloud Storage: 'gs://Bucket/folders/filename.txt' + "fullPath": "A String", # A string representation of the full container name. Examples: - BigQuery: 'Project:DataSetId.TableId' - Cloud Storage: 'gs://Bucket/folders/filename.txt' "projectId": "A String", # Project where the finding was found. Can be different from the project that owns the finding. - "relativePath": "A String", # The rest of the path after the root. Examples: - For BigQuery table `project_id:dataset_id.table_id`, the relative path is `table_id` - Google Cloud Storage file `gs://bucket/folder/filename.txt`, the relative path is `folder/filename.txt` - "rootPath": "A String", # The root of the container. Examples: - For BigQuery table `project_id:dataset_id.table_id`, the root is `dataset_id` - For Google Cloud Storage file `gs://bucket/folder/filename.txt`, the root is `gs://bucket` - "type": "A String", # Container type, for example BigQuery or Google Cloud Storage. - "updateTime": "A String", # Findings container modification timestamp, if applicable. For Google Cloud Storage contains last file modification timestamp. For BigQuery table contains last_modified_time property. For Datastore - not populated. - "version": "A String", # Findings container version, if available ("generation" for Google Cloud Storage). + "relativePath": "A String", # The rest of the path after the root. Examples: - For BigQuery table `project_id:dataset_id.table_id`, the relative path is `table_id` - For Cloud Storage file `gs://bucket/folder/filename.txt`, the relative path is `folder/filename.txt` + "rootPath": "A String", # The root of the container. Examples: - For BigQuery table `project_id:dataset_id.table_id`, the root is `dataset_id` - For Cloud Storage file `gs://bucket/folder/filename.txt`, the root is `gs://bucket` + "type": "A String", # Container type, for example BigQuery or Cloud Storage. + "updateTime": "A String", # Findings container modification timestamp, if applicable. For Cloud Storage, this field contains the last file modification timestamp. For a BigQuery table, this field contains the last_modified_time property. For Datastore, this field isn't populated. + "version": "A String", # Findings container version, if available ("generation" for Cloud Storage). }, "contentLocations": [ # List of nested objects pointing to the precise location of the finding within the file or record. { # Precise location of the finding within a document, record, image, or metadata container. - "containerName": "A String", # Name of the container where the finding is located. The top level name is the source file name or table name. Names of some common storage containers are formatted as follows: * BigQuery tables: `{project_id}:{dataset_id}.{table_id}` * Cloud Storage files: `gs://{bucket}/{path}` * Datastore namespace: {namespace} Nested names could be absent if the embedded object has no string identifier (for an example an image contained within a document). - "containerTimestamp": "A String", # Findings container modification timestamp, if applicable. For Google Cloud Storage contains last file modification timestamp. For BigQuery table contains last_modified_time property. For Datastore - not populated. - "containerVersion": "A String", # Findings container version, if available ("generation" for Google Cloud Storage). + "containerName": "A String", # Name of the container where the finding is located. The top level name is the source file name or table name. Names of some common storage containers are formatted as follows: * BigQuery tables: `{project_id}:{dataset_id}.{table_id}` * Cloud Storage files: `gs://{bucket}/{path}` * Datastore namespace: {namespace} Nested names could be absent if the embedded object has no string identifier (for example, an image contained within a document). + "containerTimestamp": "A String", # Finding container modification timestamp, if applicable. For Cloud Storage, this field contains the last file modification timestamp. For a BigQuery table, this field contains the last_modified_time property. For Datastore, this field isn't populated. + "containerVersion": "A String", # Finding container version, if available ("generation" for Cloud Storage). "documentLocation": { # Location of a finding within a document. # Location data for document files. "fileOffset": "A String", # Offset of the line, from the beginning of the file, where the finding is located. }, @@ -2339,7 +2339,7 @@

Method Details

"version": "A String", # Optional version name for this InfoType. }, ], - "limits": { # Configuration to control the number of findings returned for inspection. This is not used for de-identification or data profiling. # Configuration to control the number of findings returned. This is not used for data profiling. + "limits": { # Configuration to control the number of findings returned for inspection. This is not used for de-identification or data profiling. When redacting sensitive data from images, finding limits don't apply. They can cause unexpected or inconsistent results, where only some data is redacted. Don't include finding limits in RedactImage requests. Otherwise, Cloud DLP returns an error. # Configuration to control the number of findings returned. This is not used for data profiling. When redacting sensitive data from images, finding limits don't apply. They can cause unexpected or inconsistent results, where only some data is redacted. Don't include finding limits in RedactImage requests. Otherwise, Cloud DLP returns an error. "maxFindingsPerInfoType": [ # Configuration of findings limit given for specified infoTypes. { # Max findings configuration per infoType, per content item or long running DlpJob. "infoType": { # Type of information detected by the API. # Type of information the findings limit applies to. Only one limit per info_type should be provided. If InfoTypeLimit does not have an info_type, the DLP API applies the limit against all info_types that are found but not specified in another InfoTypeLimit. @@ -2374,7 +2374,7 @@

Method Details

], }, }, - "excludeInfoTypes": { # List of exclude infoTypes. # Set of infoTypes for which findings would affect this rule. + "excludeInfoTypes": { # List of excluded infoTypes. # Set of infoTypes for which findings would affect this rule. "infoTypes": [ # InfoType list in ExclusionRule rule drops a finding when it overlaps or contained within with a finding of an infoType from this list. For example, for `InspectionRuleSet.info_types` containing "PHONE_NUMBER"` and `exclusion_rule` containing `exclude_info_types.info_types` with "EMAIL_ADDRESS" the phone number findings are dropped if they overlap with EMAIL_ADDRESS finding. That leads to "555-222-2222@example.org" to generate only a single finding, namely email address. { # Type of information detected by the API. "name": "A String", # Name of the information type. Either a name of your choosing when creating a CustomInfoType, or one of the names listed at https://cloud.google.com/dlp/docs/infotypes-reference when specifying a built-in type. When sending Cloud DLP results to Data Catalog, infoType names should conform to the pattern `[A-Za-z0-9$-_]{1,64}`. @@ -2538,7 +2538,7 @@

Method Details

"reverseOrder": True or False, # Mask characters in reverse order. For example, if `masking_character` is `0`, `number_to_mask` is `14`, and `reverse_order` is `false`, then the input string `1234-5678-9012-3456` is masked as `00000000000000-3456`. If `masking_character` is `*`, `number_to_mask` is `3`, and `reverse_order` is `true`, then the string `12345` is masked as `12***`. }, "cryptoDeterministicConfig": { # Pseudonymization method that generates deterministic encryption for the given input. Outputs a base64 encoded representation of the encrypted output. Uses AES-SIV based on the RFC https://tools.ietf.org/html/rfc5297. # Deterministic Crypto - "context": { # General identifier of a data field in a storage service. # A context may be used for higher security and maintaining referential integrity such that the same identifier in two different contexts will be given a distinct surrogate. The context is appended to plaintext value being encrypted. On decryption the provided context is validated against the value used during encryption. If a context was provided during encryption, same context must be provided during decryption as well. If the context is not set, plaintext would be used as is for encryption. If the context is set but: 1. there is no record present when transforming a given value or 2. the field is not present when transforming a given value, plaintext would be used as is for encryption. Note that case (1) is expected when an `InfoTypeTransformation` is applied to both structured and non-structured `ContentItem`s. + "context": { # General identifier of a data field in a storage service. # A context may be used for higher security and maintaining referential integrity such that the same identifier in two different contexts will be given a distinct surrogate. The context is appended to plaintext value being encrypted. On decryption the provided context is validated against the value used during encryption. If a context was provided during encryption, same context must be provided during decryption as well. If the context is not set, plaintext would be used as is for encryption. If the context is set but: 1. there is no record present when transforming a given value or 2. the field is not present when transforming a given value, plaintext would be used as is for encryption. Note that case (1) is expected when an `InfoTypeTransformation` is applied to both structured and unstructured `ContentItem`s. "name": "A String", # Name describing the field. }, "cryptoKey": { # This is a data encryption key (DEK) (as opposed to a key encryption key (KEK) stored by Cloud Key Management Service (Cloud KMS). When using Cloud KMS to wrap or unwrap a DEK, be sure to set an appropriate IAM policy on the KEK to ensure an attacker cannot unwrap the DEK. # The key used by the encryption function. For deterministic encryption using AES-SIV, the provided key is internally expanded to 64 bytes prior to use. @@ -2574,7 +2574,7 @@

Method Details

}, "cryptoReplaceFfxFpeConfig": { # Replaces an identifier with a surrogate using Format Preserving Encryption (FPE) with the FFX mode of operation; however when used in the `ReidentifyContent` API method, it serves the opposite function by reversing the surrogate back into the original identifier. The identifier must be encoded as ASCII. For a given crypto key and context, the same identifier will be replaced with the same surrogate. Identifiers must be at least two characters long. In the case that the identifier is the empty string, it will be skipped. See https://cloud.google.com/dlp/docs/pseudonymization to learn more. Note: We recommend using CryptoDeterministicConfig for all use cases which do not require preserving the input alphabet space and size, plus warrant referential integrity. # Ffx-Fpe "commonAlphabet": "A String", # Common alphabets. - "context": { # General identifier of a data field in a storage service. # The 'tweak', a context may be used for higher security since the same identifier in two different contexts won't be given the same surrogate. If the context is not set, a default tweak will be used. If the context is set but: 1. there is no record present when transforming a given value or 1. the field is not present when transforming a given value, a default tweak will be used. Note that case (1) is expected when an `InfoTypeTransformation` is applied to both structured and non-structured `ContentItem`s. Currently, the referenced field may be of value type integer or string. The tweak is constructed as a sequence of bytes in big endian byte order such that: - a 64 bit integer is encoded followed by a single byte of value 1 - a string is encoded in UTF-8 format followed by a single byte of value 2 + "context": { # General identifier of a data field in a storage service. # The 'tweak', a context may be used for higher security since the same identifier in two different contexts won't be given the same surrogate. If the context is not set, a default tweak will be used. If the context is set but: 1. there is no record present when transforming a given value or 1. the field is not present when transforming a given value, a default tweak will be used. Note that case (1) is expected when an `InfoTypeTransformation` is applied to both structured and unstructured `ContentItem`s. Currently, the referenced field may be of value type integer or string. The tweak is constructed as a sequence of bytes in big endian byte order such that: - a 64 bit integer is encoded followed by a single byte of value 1 - a string is encoded in UTF-8 format followed by a single byte of value 2 "name": "A String", # Name describing the field. }, "cryptoKey": { # This is a data encryption key (DEK) (as opposed to a key encryption key (KEK) stored by Cloud Key Management Service (Cloud KMS). When using Cloud KMS to wrap or unwrap a DEK, be sure to set an appropriate IAM policy on the KEK to ensure an attacker cannot unwrap the DEK. # Required. The key used by the encryption algorithm. @@ -2699,7 +2699,7 @@

Method Details

"fieldTransformations": [ # Transform the record by applying various field transformations. { # The transformation to apply to the field. "condition": { # A condition for determining whether a transformation should be applied to a field. # Only apply the transformation if the condition evaluates to true for the given `RecordCondition`. The conditions are allowed to reference fields that are not used in the actual transformation. Example Use Cases: - Apply a different bucket transformation to an age column if the zip code column for the same record is within a specific range. - Redact a field if the date of birth field is greater than 85. - "expressions": { # An expression, consisting or an operator and conditions. # An expression. + "expressions": { # An expression, consisting of an operator and conditions. # An expression. "conditions": { # A collection of conditions. # Conditions to apply to the expression. "conditions": [ # A collection of conditions. { # The field type of `value` and `field` do not need to match to be considered equal, but not all comparisons are possible. EQUAL_TO and NOT_EQUAL_TO attempt to compare even with incompatible types, but all other comparisons are invalid with incompatible types. A `value` of type: - `string` can be compared against all other types - `boolean` can only be compared against other booleans - `integer` can be compared against doubles or a string if the string value can be parsed as an integer. - `double` can be compared against integers or a string if the string can be parsed as a double. - `Timestamp` can be compared against strings in RFC 3339 date string format. - `TimeOfDay` can be compared against timestamps and strings in the format of 'HH:mm:ss'. If we fail to compare do to type mismatch, a warning will be given and the condition will evaluate to false. @@ -2822,7 +2822,7 @@

Method Details

"reverseOrder": True or False, # Mask characters in reverse order. For example, if `masking_character` is `0`, `number_to_mask` is `14`, and `reverse_order` is `false`, then the input string `1234-5678-9012-3456` is masked as `00000000000000-3456`. If `masking_character` is `*`, `number_to_mask` is `3`, and `reverse_order` is `true`, then the string `12345` is masked as `12***`. }, "cryptoDeterministicConfig": { # Pseudonymization method that generates deterministic encryption for the given input. Outputs a base64 encoded representation of the encrypted output. Uses AES-SIV based on the RFC https://tools.ietf.org/html/rfc5297. # Deterministic Crypto - "context": { # General identifier of a data field in a storage service. # A context may be used for higher security and maintaining referential integrity such that the same identifier in two different contexts will be given a distinct surrogate. The context is appended to plaintext value being encrypted. On decryption the provided context is validated against the value used during encryption. If a context was provided during encryption, same context must be provided during decryption as well. If the context is not set, plaintext would be used as is for encryption. If the context is set but: 1. there is no record present when transforming a given value or 2. the field is not present when transforming a given value, plaintext would be used as is for encryption. Note that case (1) is expected when an `InfoTypeTransformation` is applied to both structured and non-structured `ContentItem`s. + "context": { # General identifier of a data field in a storage service. # A context may be used for higher security and maintaining referential integrity such that the same identifier in two different contexts will be given a distinct surrogate. The context is appended to plaintext value being encrypted. On decryption the provided context is validated against the value used during encryption. If a context was provided during encryption, same context must be provided during decryption as well. If the context is not set, plaintext would be used as is for encryption. If the context is set but: 1. there is no record present when transforming a given value or 2. the field is not present when transforming a given value, plaintext would be used as is for encryption. Note that case (1) is expected when an `InfoTypeTransformation` is applied to both structured and unstructured `ContentItem`s. "name": "A String", # Name describing the field. }, "cryptoKey": { # This is a data encryption key (DEK) (as opposed to a key encryption key (KEK) stored by Cloud Key Management Service (Cloud KMS). When using Cloud KMS to wrap or unwrap a DEK, be sure to set an appropriate IAM policy on the KEK to ensure an attacker cannot unwrap the DEK. # The key used by the encryption function. For deterministic encryption using AES-SIV, the provided key is internally expanded to 64 bytes prior to use. @@ -2858,7 +2858,7 @@

Method Details

}, "cryptoReplaceFfxFpeConfig": { # Replaces an identifier with a surrogate using Format Preserving Encryption (FPE) with the FFX mode of operation; however when used in the `ReidentifyContent` API method, it serves the opposite function by reversing the surrogate back into the original identifier. The identifier must be encoded as ASCII. For a given crypto key and context, the same identifier will be replaced with the same surrogate. Identifiers must be at least two characters long. In the case that the identifier is the empty string, it will be skipped. See https://cloud.google.com/dlp/docs/pseudonymization to learn more. Note: We recommend using CryptoDeterministicConfig for all use cases which do not require preserving the input alphabet space and size, plus warrant referential integrity. # Ffx-Fpe "commonAlphabet": "A String", # Common alphabets. - "context": { # General identifier of a data field in a storage service. # The 'tweak', a context may be used for higher security since the same identifier in two different contexts won't be given the same surrogate. If the context is not set, a default tweak will be used. If the context is set but: 1. there is no record present when transforming a given value or 1. the field is not present when transforming a given value, a default tweak will be used. Note that case (1) is expected when an `InfoTypeTransformation` is applied to both structured and non-structured `ContentItem`s. Currently, the referenced field may be of value type integer or string. The tweak is constructed as a sequence of bytes in big endian byte order such that: - a 64 bit integer is encoded followed by a single byte of value 1 - a string is encoded in UTF-8 format followed by a single byte of value 2 + "context": { # General identifier of a data field in a storage service. # The 'tweak', a context may be used for higher security since the same identifier in two different contexts won't be given the same surrogate. If the context is not set, a default tweak will be used. If the context is set but: 1. there is no record present when transforming a given value or 1. the field is not present when transforming a given value, a default tweak will be used. Note that case (1) is expected when an `InfoTypeTransformation` is applied to both structured and unstructured `ContentItem`s. Currently, the referenced field may be of value type integer or string. The tweak is constructed as a sequence of bytes in big endian byte order such that: - a 64 bit integer is encoded followed by a single byte of value 1 - a string is encoded in UTF-8 format followed by a single byte of value 2 "name": "A String", # Name describing the field. }, "cryptoKey": { # This is a data encryption key (DEK) (as opposed to a key encryption key (KEK) stored by Cloud Key Management Service (Cloud KMS). When using Cloud KMS to wrap or unwrap a DEK, be sure to set an appropriate IAM policy on the KEK to ensure an attacker cannot unwrap the DEK. # Required. The key used by the encryption algorithm. @@ -3055,7 +3055,7 @@

Method Details

"reverseOrder": True or False, # Mask characters in reverse order. For example, if `masking_character` is `0`, `number_to_mask` is `14`, and `reverse_order` is `false`, then the input string `1234-5678-9012-3456` is masked as `00000000000000-3456`. If `masking_character` is `*`, `number_to_mask` is `3`, and `reverse_order` is `true`, then the string `12345` is masked as `12***`. }, "cryptoDeterministicConfig": { # Pseudonymization method that generates deterministic encryption for the given input. Outputs a base64 encoded representation of the encrypted output. Uses AES-SIV based on the RFC https://tools.ietf.org/html/rfc5297. # Deterministic Crypto - "context": { # General identifier of a data field in a storage service. # A context may be used for higher security and maintaining referential integrity such that the same identifier in two different contexts will be given a distinct surrogate. The context is appended to plaintext value being encrypted. On decryption the provided context is validated against the value used during encryption. If a context was provided during encryption, same context must be provided during decryption as well. If the context is not set, plaintext would be used as is for encryption. If the context is set but: 1. there is no record present when transforming a given value or 2. the field is not present when transforming a given value, plaintext would be used as is for encryption. Note that case (1) is expected when an `InfoTypeTransformation` is applied to both structured and non-structured `ContentItem`s. + "context": { # General identifier of a data field in a storage service. # A context may be used for higher security and maintaining referential integrity such that the same identifier in two different contexts will be given a distinct surrogate. The context is appended to plaintext value being encrypted. On decryption the provided context is validated against the value used during encryption. If a context was provided during encryption, same context must be provided during decryption as well. If the context is not set, plaintext would be used as is for encryption. If the context is set but: 1. there is no record present when transforming a given value or 2. the field is not present when transforming a given value, plaintext would be used as is for encryption. Note that case (1) is expected when an `InfoTypeTransformation` is applied to both structured and unstructured `ContentItem`s. "name": "A String", # Name describing the field. }, "cryptoKey": { # This is a data encryption key (DEK) (as opposed to a key encryption key (KEK) stored by Cloud Key Management Service (Cloud KMS). When using Cloud KMS to wrap or unwrap a DEK, be sure to set an appropriate IAM policy on the KEK to ensure an attacker cannot unwrap the DEK. # The key used by the encryption function. For deterministic encryption using AES-SIV, the provided key is internally expanded to 64 bytes prior to use. @@ -3091,7 +3091,7 @@

Method Details

}, "cryptoReplaceFfxFpeConfig": { # Replaces an identifier with a surrogate using Format Preserving Encryption (FPE) with the FFX mode of operation; however when used in the `ReidentifyContent` API method, it serves the opposite function by reversing the surrogate back into the original identifier. The identifier must be encoded as ASCII. For a given crypto key and context, the same identifier will be replaced with the same surrogate. Identifiers must be at least two characters long. In the case that the identifier is the empty string, it will be skipped. See https://cloud.google.com/dlp/docs/pseudonymization to learn more. Note: We recommend using CryptoDeterministicConfig for all use cases which do not require preserving the input alphabet space and size, plus warrant referential integrity. # Ffx-Fpe "commonAlphabet": "A String", # Common alphabets. - "context": { # General identifier of a data field in a storage service. # The 'tweak', a context may be used for higher security since the same identifier in two different contexts won't be given the same surrogate. If the context is not set, a default tweak will be used. If the context is set but: 1. there is no record present when transforming a given value or 1. the field is not present when transforming a given value, a default tweak will be used. Note that case (1) is expected when an `InfoTypeTransformation` is applied to both structured and non-structured `ContentItem`s. Currently, the referenced field may be of value type integer or string. The tweak is constructed as a sequence of bytes in big endian byte order such that: - a 64 bit integer is encoded followed by a single byte of value 1 - a string is encoded in UTF-8 format followed by a single byte of value 2 + "context": { # General identifier of a data field in a storage service. # The 'tweak', a context may be used for higher security since the same identifier in two different contexts won't be given the same surrogate. If the context is not set, a default tweak will be used. If the context is set but: 1. there is no record present when transforming a given value or 1. the field is not present when transforming a given value, a default tweak will be used. Note that case (1) is expected when an `InfoTypeTransformation` is applied to both structured and unstructured `ContentItem`s. Currently, the referenced field may be of value type integer or string. The tweak is constructed as a sequence of bytes in big endian byte order such that: - a 64 bit integer is encoded followed by a single byte of value 1 - a string is encoded in UTF-8 format followed by a single byte of value 2 "name": "A String", # Name describing the field. }, "cryptoKey": { # This is a data encryption key (DEK) (as opposed to a key encryption key (KEK) stored by Cloud Key Management Service (Cloud KMS). When using Cloud KMS to wrap or unwrap a DEK, be sure to set an appropriate IAM policy on the KEK to ensure an attacker cannot unwrap the DEK. # Required. The key used by the encryption algorithm. @@ -3214,7 +3214,7 @@

Method Details

"recordSuppressions": [ # Configuration defining which records get suppressed entirely. Records that match any suppression rule are omitted from the output. { # Configuration to suppress records whose suppression conditions evaluate to true. "condition": { # A condition for determining whether a transformation should be applied to a field. # A condition that when it evaluates to true will result in the record being evaluated to be suppressed from the transformed content. - "expressions": { # An expression, consisting or an operator and conditions. # An expression. + "expressions": { # An expression, consisting of an operator and conditions. # An expression. "conditions": { # A collection of conditions. # Conditions to apply to the expression. "conditions": [ # A collection of conditions. { # The field type of `value` and `field` do not need to match to be considered equal, but not all comparisons are possible. EQUAL_TO and NOT_EQUAL_TO attempt to compare even with incompatible types, but all other comparisons are invalid with incompatible types. A `value` of type: - `string` can be compared against all other types - `boolean` can only be compared against other booleans - `integer` can be compared against doubles or a string if the string value can be parsed as an integer. - `double` can be compared against integers or a string if the string can be parsed as a double. - `Timestamp` can be compared against strings in RFC 3339 date string format. - `TimeOfDay` can be compared against timestamps and strings in the format of 'HH:mm:ss'. If we fail to compare do to type mismatch, a warning will be given and the condition will evaluate to false. @@ -3268,7 +3268,7 @@

Method Details

Returns: An object of the form: - { # Results of re-identifying a item. + { # Results of re-identifying an item. "item": { # Container structure for the content to inspect. # The re-identified item. "byteItem": { # Container for bytes to inspect or redact. # Content data to inspect or redact. Replaces `type` and `data`. "data": "A String", # Content data to inspect or redact. @@ -3317,7 +3317,7 @@

Method Details

"fieldTransformations": [ # The field transformation that was applied. If multiple field transformations are requested for a single field, this list will contain all of them; otherwise, only one is supplied. { # The transformation to apply to the field. "condition": { # A condition for determining whether a transformation should be applied to a field. # Only apply the transformation if the condition evaluates to true for the given `RecordCondition`. The conditions are allowed to reference fields that are not used in the actual transformation. Example Use Cases: - Apply a different bucket transformation to an age column if the zip code column for the same record is within a specific range. - Redact a field if the date of birth field is greater than 85. - "expressions": { # An expression, consisting or an operator and conditions. # An expression. + "expressions": { # An expression, consisting of an operator and conditions. # An expression. "conditions": { # A collection of conditions. # Conditions to apply to the expression. "conditions": [ # A collection of conditions. { # The field type of `value` and `field` do not need to match to be considered equal, but not all comparisons are possible. EQUAL_TO and NOT_EQUAL_TO attempt to compare even with incompatible types, but all other comparisons are invalid with incompatible types. A `value` of type: - `string` can be compared against all other types - `boolean` can only be compared against other booleans - `integer` can be compared against doubles or a string if the string value can be parsed as an integer. - `double` can be compared against integers or a string if the string can be parsed as a double. - `Timestamp` can be compared against strings in RFC 3339 date string format. - `TimeOfDay` can be compared against timestamps and strings in the format of 'HH:mm:ss'. If we fail to compare do to type mismatch, a warning will be given and the condition will evaluate to false. @@ -3440,7 +3440,7 @@

Method Details

"reverseOrder": True or False, # Mask characters in reverse order. For example, if `masking_character` is `0`, `number_to_mask` is `14`, and `reverse_order` is `false`, then the input string `1234-5678-9012-3456` is masked as `00000000000000-3456`. If `masking_character` is `*`, `number_to_mask` is `3`, and `reverse_order` is `true`, then the string `12345` is masked as `12***`. }, "cryptoDeterministicConfig": { # Pseudonymization method that generates deterministic encryption for the given input. Outputs a base64 encoded representation of the encrypted output. Uses AES-SIV based on the RFC https://tools.ietf.org/html/rfc5297. # Deterministic Crypto - "context": { # General identifier of a data field in a storage service. # A context may be used for higher security and maintaining referential integrity such that the same identifier in two different contexts will be given a distinct surrogate. The context is appended to plaintext value being encrypted. On decryption the provided context is validated against the value used during encryption. If a context was provided during encryption, same context must be provided during decryption as well. If the context is not set, plaintext would be used as is for encryption. If the context is set but: 1. there is no record present when transforming a given value or 2. the field is not present when transforming a given value, plaintext would be used as is for encryption. Note that case (1) is expected when an `InfoTypeTransformation` is applied to both structured and non-structured `ContentItem`s. + "context": { # General identifier of a data field in a storage service. # A context may be used for higher security and maintaining referential integrity such that the same identifier in two different contexts will be given a distinct surrogate. The context is appended to plaintext value being encrypted. On decryption the provided context is validated against the value used during encryption. If a context was provided during encryption, same context must be provided during decryption as well. If the context is not set, plaintext would be used as is for encryption. If the context is set but: 1. there is no record present when transforming a given value or 2. the field is not present when transforming a given value, plaintext would be used as is for encryption. Note that case (1) is expected when an `InfoTypeTransformation` is applied to both structured and unstructured `ContentItem`s. "name": "A String", # Name describing the field. }, "cryptoKey": { # This is a data encryption key (DEK) (as opposed to a key encryption key (KEK) stored by Cloud Key Management Service (Cloud KMS). When using Cloud KMS to wrap or unwrap a DEK, be sure to set an appropriate IAM policy on the KEK to ensure an attacker cannot unwrap the DEK. # The key used by the encryption function. For deterministic encryption using AES-SIV, the provided key is internally expanded to 64 bytes prior to use. @@ -3476,7 +3476,7 @@

Method Details

}, "cryptoReplaceFfxFpeConfig": { # Replaces an identifier with a surrogate using Format Preserving Encryption (FPE) with the FFX mode of operation; however when used in the `ReidentifyContent` API method, it serves the opposite function by reversing the surrogate back into the original identifier. The identifier must be encoded as ASCII. For a given crypto key and context, the same identifier will be replaced with the same surrogate. Identifiers must be at least two characters long. In the case that the identifier is the empty string, it will be skipped. See https://cloud.google.com/dlp/docs/pseudonymization to learn more. Note: We recommend using CryptoDeterministicConfig for all use cases which do not require preserving the input alphabet space and size, plus warrant referential integrity. # Ffx-Fpe "commonAlphabet": "A String", # Common alphabets. - "context": { # General identifier of a data field in a storage service. # The 'tweak', a context may be used for higher security since the same identifier in two different contexts won't be given the same surrogate. If the context is not set, a default tweak will be used. If the context is set but: 1. there is no record present when transforming a given value or 1. the field is not present when transforming a given value, a default tweak will be used. Note that case (1) is expected when an `InfoTypeTransformation` is applied to both structured and non-structured `ContentItem`s. Currently, the referenced field may be of value type integer or string. The tweak is constructed as a sequence of bytes in big endian byte order such that: - a 64 bit integer is encoded followed by a single byte of value 1 - a string is encoded in UTF-8 format followed by a single byte of value 2 + "context": { # General identifier of a data field in a storage service. # The 'tweak', a context may be used for higher security since the same identifier in two different contexts won't be given the same surrogate. If the context is not set, a default tweak will be used. If the context is set but: 1. there is no record present when transforming a given value or 1. the field is not present when transforming a given value, a default tweak will be used. Note that case (1) is expected when an `InfoTypeTransformation` is applied to both structured and unstructured `ContentItem`s. Currently, the referenced field may be of value type integer or string. The tweak is constructed as a sequence of bytes in big endian byte order such that: - a 64 bit integer is encoded followed by a single byte of value 1 - a string is encoded in UTF-8 format followed by a single byte of value 2 "name": "A String", # Name describing the field. }, "cryptoKey": { # This is a data encryption key (DEK) (as opposed to a key encryption key (KEK) stored by Cloud Key Management Service (Cloud KMS). When using Cloud KMS to wrap or unwrap a DEK, be sure to set an appropriate IAM policy on the KEK to ensure an attacker cannot unwrap the DEK. # Required. The key used by the encryption algorithm. @@ -3673,7 +3673,7 @@

Method Details

"reverseOrder": True or False, # Mask characters in reverse order. For example, if `masking_character` is `0`, `number_to_mask` is `14`, and `reverse_order` is `false`, then the input string `1234-5678-9012-3456` is masked as `00000000000000-3456`. If `masking_character` is `*`, `number_to_mask` is `3`, and `reverse_order` is `true`, then the string `12345` is masked as `12***`. }, "cryptoDeterministicConfig": { # Pseudonymization method that generates deterministic encryption for the given input. Outputs a base64 encoded representation of the encrypted output. Uses AES-SIV based on the RFC https://tools.ietf.org/html/rfc5297. # Deterministic Crypto - "context": { # General identifier of a data field in a storage service. # A context may be used for higher security and maintaining referential integrity such that the same identifier in two different contexts will be given a distinct surrogate. The context is appended to plaintext value being encrypted. On decryption the provided context is validated against the value used during encryption. If a context was provided during encryption, same context must be provided during decryption as well. If the context is not set, plaintext would be used as is for encryption. If the context is set but: 1. there is no record present when transforming a given value or 2. the field is not present when transforming a given value, plaintext would be used as is for encryption. Note that case (1) is expected when an `InfoTypeTransformation` is applied to both structured and non-structured `ContentItem`s. + "context": { # General identifier of a data field in a storage service. # A context may be used for higher security and maintaining referential integrity such that the same identifier in two different contexts will be given a distinct surrogate. The context is appended to plaintext value being encrypted. On decryption the provided context is validated against the value used during encryption. If a context was provided during encryption, same context must be provided during decryption as well. If the context is not set, plaintext would be used as is for encryption. If the context is set but: 1. there is no record present when transforming a given value or 2. the field is not present when transforming a given value, plaintext would be used as is for encryption. Note that case (1) is expected when an `InfoTypeTransformation` is applied to both structured and unstructured `ContentItem`s. "name": "A String", # Name describing the field. }, "cryptoKey": { # This is a data encryption key (DEK) (as opposed to a key encryption key (KEK) stored by Cloud Key Management Service (Cloud KMS). When using Cloud KMS to wrap or unwrap a DEK, be sure to set an appropriate IAM policy on the KEK to ensure an attacker cannot unwrap the DEK. # The key used by the encryption function. For deterministic encryption using AES-SIV, the provided key is internally expanded to 64 bytes prior to use. @@ -3709,7 +3709,7 @@

Method Details

}, "cryptoReplaceFfxFpeConfig": { # Replaces an identifier with a surrogate using Format Preserving Encryption (FPE) with the FFX mode of operation; however when used in the `ReidentifyContent` API method, it serves the opposite function by reversing the surrogate back into the original identifier. The identifier must be encoded as ASCII. For a given crypto key and context, the same identifier will be replaced with the same surrogate. Identifiers must be at least two characters long. In the case that the identifier is the empty string, it will be skipped. See https://cloud.google.com/dlp/docs/pseudonymization to learn more. Note: We recommend using CryptoDeterministicConfig for all use cases which do not require preserving the input alphabet space and size, plus warrant referential integrity. # Ffx-Fpe "commonAlphabet": "A String", # Common alphabets. - "context": { # General identifier of a data field in a storage service. # The 'tweak', a context may be used for higher security since the same identifier in two different contexts won't be given the same surrogate. If the context is not set, a default tweak will be used. If the context is set but: 1. there is no record present when transforming a given value or 1. the field is not present when transforming a given value, a default tweak will be used. Note that case (1) is expected when an `InfoTypeTransformation` is applied to both structured and non-structured `ContentItem`s. Currently, the referenced field may be of value type integer or string. The tweak is constructed as a sequence of bytes in big endian byte order such that: - a 64 bit integer is encoded followed by a single byte of value 1 - a string is encoded in UTF-8 format followed by a single byte of value 2 + "context": { # General identifier of a data field in a storage service. # The 'tweak', a context may be used for higher security since the same identifier in two different contexts won't be given the same surrogate. If the context is not set, a default tweak will be used. If the context is set but: 1. there is no record present when transforming a given value or 1. the field is not present when transforming a given value, a default tweak will be used. Note that case (1) is expected when an `InfoTypeTransformation` is applied to both structured and unstructured `ContentItem`s. Currently, the referenced field may be of value type integer or string. The tweak is constructed as a sequence of bytes in big endian byte order such that: - a 64 bit integer is encoded followed by a single byte of value 1 - a string is encoded in UTF-8 format followed by a single byte of value 2 "name": "A String", # Name describing the field. }, "cryptoKey": { # This is a data encryption key (DEK) (as opposed to a key encryption key (KEK) stored by Cloud Key Management Service (Cloud KMS). When using Cloud KMS to wrap or unwrap a DEK, be sure to set an appropriate IAM policy on the KEK to ensure an attacker cannot unwrap the DEK. # Required. The key used by the encryption algorithm. @@ -3835,7 +3835,7 @@

Method Details

}, "recordSuppress": { # Configuration to suppress records whose suppression conditions evaluate to true. # The specific suppression option these stats apply to. "condition": { # A condition for determining whether a transformation should be applied to a field. # A condition that when it evaluates to true will result in the record being evaluated to be suppressed from the transformed content. - "expressions": { # An expression, consisting or an operator and conditions. # An expression. + "expressions": { # An expression, consisting of an operator and conditions. # An expression. "conditions": { # A collection of conditions. # Conditions to apply to the expression. "conditions": [ # A collection of conditions. { # The field type of `value` and `field` do not need to match to be considered equal, but not all comparisons are possible. EQUAL_TO and NOT_EQUAL_TO attempt to compare even with incompatible types, but all other comparisons are invalid with incompatible types. A `value` of type: - `string` can be compared against all other types - `boolean` can only be compared against other booleans - `integer` can be compared against doubles or a string if the string value can be parsed as an integer. - `double` can be compared against integers or a string if the string can be parsed as a double. - `Timestamp` can be compared against strings in RFC 3339 date string format. - `TimeOfDay` can be compared against timestamps and strings in the format of 'HH:mm:ss'. If we fail to compare do to type mismatch, a warning will be given and the condition will evaluate to false. @@ -3952,7 +3952,7 @@

Method Details

"reverseOrder": True or False, # Mask characters in reverse order. For example, if `masking_character` is `0`, `number_to_mask` is `14`, and `reverse_order` is `false`, then the input string `1234-5678-9012-3456` is masked as `00000000000000-3456`. If `masking_character` is `*`, `number_to_mask` is `3`, and `reverse_order` is `true`, then the string `12345` is masked as `12***`. }, "cryptoDeterministicConfig": { # Pseudonymization method that generates deterministic encryption for the given input. Outputs a base64 encoded representation of the encrypted output. Uses AES-SIV based on the RFC https://tools.ietf.org/html/rfc5297. # Deterministic Crypto - "context": { # General identifier of a data field in a storage service. # A context may be used for higher security and maintaining referential integrity such that the same identifier in two different contexts will be given a distinct surrogate. The context is appended to plaintext value being encrypted. On decryption the provided context is validated against the value used during encryption. If a context was provided during encryption, same context must be provided during decryption as well. If the context is not set, plaintext would be used as is for encryption. If the context is set but: 1. there is no record present when transforming a given value or 2. the field is not present when transforming a given value, plaintext would be used as is for encryption. Note that case (1) is expected when an `InfoTypeTransformation` is applied to both structured and non-structured `ContentItem`s. + "context": { # General identifier of a data field in a storage service. # A context may be used for higher security and maintaining referential integrity such that the same identifier in two different contexts will be given a distinct surrogate. The context is appended to plaintext value being encrypted. On decryption the provided context is validated against the value used during encryption. If a context was provided during encryption, same context must be provided during decryption as well. If the context is not set, plaintext would be used as is for encryption. If the context is set but: 1. there is no record present when transforming a given value or 2. the field is not present when transforming a given value, plaintext would be used as is for encryption. Note that case (1) is expected when an `InfoTypeTransformation` is applied to both structured and unstructured `ContentItem`s. "name": "A String", # Name describing the field. }, "cryptoKey": { # This is a data encryption key (DEK) (as opposed to a key encryption key (KEK) stored by Cloud Key Management Service (Cloud KMS). When using Cloud KMS to wrap or unwrap a DEK, be sure to set an appropriate IAM policy on the KEK to ensure an attacker cannot unwrap the DEK. # The key used by the encryption function. For deterministic encryption using AES-SIV, the provided key is internally expanded to 64 bytes prior to use. @@ -3988,7 +3988,7 @@

Method Details

}, "cryptoReplaceFfxFpeConfig": { # Replaces an identifier with a surrogate using Format Preserving Encryption (FPE) with the FFX mode of operation; however when used in the `ReidentifyContent` API method, it serves the opposite function by reversing the surrogate back into the original identifier. The identifier must be encoded as ASCII. For a given crypto key and context, the same identifier will be replaced with the same surrogate. Identifiers must be at least two characters long. In the case that the identifier is the empty string, it will be skipped. See https://cloud.google.com/dlp/docs/pseudonymization to learn more. Note: We recommend using CryptoDeterministicConfig for all use cases which do not require preserving the input alphabet space and size, plus warrant referential integrity. # Ffx-Fpe "commonAlphabet": "A String", # Common alphabets. - "context": { # General identifier of a data field in a storage service. # The 'tweak', a context may be used for higher security since the same identifier in two different contexts won't be given the same surrogate. If the context is not set, a default tweak will be used. If the context is set but: 1. there is no record present when transforming a given value or 1. the field is not present when transforming a given value, a default tweak will be used. Note that case (1) is expected when an `InfoTypeTransformation` is applied to both structured and non-structured `ContentItem`s. Currently, the referenced field may be of value type integer or string. The tweak is constructed as a sequence of bytes in big endian byte order such that: - a 64 bit integer is encoded followed by a single byte of value 1 - a string is encoded in UTF-8 format followed by a single byte of value 2 + "context": { # General identifier of a data field in a storage service. # The 'tweak', a context may be used for higher security since the same identifier in two different contexts won't be given the same surrogate. If the context is not set, a default tweak will be used. If the context is set but: 1. there is no record present when transforming a given value or 1. the field is not present when transforming a given value, a default tweak will be used. Note that case (1) is expected when an `InfoTypeTransformation` is applied to both structured and unstructured `ContentItem`s. Currently, the referenced field may be of value type integer or string. The tweak is constructed as a sequence of bytes in big endian byte order such that: - a 64 bit integer is encoded followed by a single byte of value 1 - a string is encoded in UTF-8 format followed by a single byte of value 2 "name": "A String", # Name describing the field. }, "cryptoKey": { # This is a data encryption key (DEK) (as opposed to a key encryption key (KEK) stored by Cloud Key Management Service (Cloud KMS). When using Cloud KMS to wrap or unwrap a DEK, be sure to set an appropriate IAM policy on the KEK to ensure an attacker cannot unwrap the DEK. # Required. The key used by the encryption algorithm. diff --git a/docs/dyn/dlp_v2.projects.locations.deidentifyTemplates.html b/docs/dyn/dlp_v2.projects.locations.deidentifyTemplates.html index 495954b43f9..4d12368da8d 100644 --- a/docs/dyn/dlp_v2.projects.locations.deidentifyTemplates.html +++ b/docs/dyn/dlp_v2.projects.locations.deidentifyTemplates.html @@ -79,7 +79,7 @@

Instance Methods

Close httplib2 connections.

create(parent, body=None, x__xgafv=None)

-

Creates a DeidentifyTemplate for re-using frequently used configuration for de-identifying content, images, and storage. See https://cloud.google.com/dlp/docs/creating-templates-deid to learn more.

+

Creates a DeidentifyTemplate for reusing frequently used configuration for de-identifying content, images, and storage. See https://cloud.google.com/dlp/docs/creating-templates-deid to learn more.

delete(name, x__xgafv=None)

Deletes a DeidentifyTemplate. See https://cloud.google.com/dlp/docs/creating-templates-deid to learn more.

@@ -103,7 +103,7 @@

Method Details

create(parent, body=None, x__xgafv=None) -
Creates a DeidentifyTemplate for re-using frequently used configuration for de-identifying content, images, and storage. See https://cloud.google.com/dlp/docs/creating-templates-deid to learn more.
+  
Creates a DeidentifyTemplate for reusing frequently used configuration for de-identifying content, images, and storage. See https://cloud.google.com/dlp/docs/creating-templates-deid to learn more.
 
 Args:
   parent: string, Required. Parent resource name. The format of this value varies depending on the scope of the request (project or organization) and whether you have [specified a processing location](https://cloud.google.com/dlp/docs/specifying-location): + Projects scope, location specified: `projects/`PROJECT_ID`/locations/`LOCATION_ID + Projects scope, no location specified (defaults to global): `projects/`PROJECT_ID + Organizations scope, location specified: `organizations/`ORG_ID`/locations/`LOCATION_ID + Organizations scope, no location specified (defaults to global): `organizations/`ORG_ID The following example `parent` string specifies a parent project with the identifier `example-project`, and specifies the `europe-west3` location for processing data: parent=projects/example-project/locations/europe-west3 (required)
@@ -199,7 +199,7 @@ 

Method Details

"reverseOrder": True or False, # Mask characters in reverse order. For example, if `masking_character` is `0`, `number_to_mask` is `14`, and `reverse_order` is `false`, then the input string `1234-5678-9012-3456` is masked as `00000000000000-3456`. If `masking_character` is `*`, `number_to_mask` is `3`, and `reverse_order` is `true`, then the string `12345` is masked as `12***`. }, "cryptoDeterministicConfig": { # Pseudonymization method that generates deterministic encryption for the given input. Outputs a base64 encoded representation of the encrypted output. Uses AES-SIV based on the RFC https://tools.ietf.org/html/rfc5297. # Deterministic Crypto - "context": { # General identifier of a data field in a storage service. # A context may be used for higher security and maintaining referential integrity such that the same identifier in two different contexts will be given a distinct surrogate. The context is appended to plaintext value being encrypted. On decryption the provided context is validated against the value used during encryption. If a context was provided during encryption, same context must be provided during decryption as well. If the context is not set, plaintext would be used as is for encryption. If the context is set but: 1. there is no record present when transforming a given value or 2. the field is not present when transforming a given value, plaintext would be used as is for encryption. Note that case (1) is expected when an `InfoTypeTransformation` is applied to both structured and non-structured `ContentItem`s. + "context": { # General identifier of a data field in a storage service. # A context may be used for higher security and maintaining referential integrity such that the same identifier in two different contexts will be given a distinct surrogate. The context is appended to plaintext value being encrypted. On decryption the provided context is validated against the value used during encryption. If a context was provided during encryption, same context must be provided during decryption as well. If the context is not set, plaintext would be used as is for encryption. If the context is set but: 1. there is no record present when transforming a given value or 2. the field is not present when transforming a given value, plaintext would be used as is for encryption. Note that case (1) is expected when an `InfoTypeTransformation` is applied to both structured and unstructured `ContentItem`s. "name": "A String", # Name describing the field. }, "cryptoKey": { # This is a data encryption key (DEK) (as opposed to a key encryption key (KEK) stored by Cloud Key Management Service (Cloud KMS). When using Cloud KMS to wrap or unwrap a DEK, be sure to set an appropriate IAM policy on the KEK to ensure an attacker cannot unwrap the DEK. # The key used by the encryption function. For deterministic encryption using AES-SIV, the provided key is internally expanded to 64 bytes prior to use. @@ -235,7 +235,7 @@

Method Details

}, "cryptoReplaceFfxFpeConfig": { # Replaces an identifier with a surrogate using Format Preserving Encryption (FPE) with the FFX mode of operation; however when used in the `ReidentifyContent` API method, it serves the opposite function by reversing the surrogate back into the original identifier. The identifier must be encoded as ASCII. For a given crypto key and context, the same identifier will be replaced with the same surrogate. Identifiers must be at least two characters long. In the case that the identifier is the empty string, it will be skipped. See https://cloud.google.com/dlp/docs/pseudonymization to learn more. Note: We recommend using CryptoDeterministicConfig for all use cases which do not require preserving the input alphabet space and size, plus warrant referential integrity. # Ffx-Fpe "commonAlphabet": "A String", # Common alphabets. - "context": { # General identifier of a data field in a storage service. # The 'tweak', a context may be used for higher security since the same identifier in two different contexts won't be given the same surrogate. If the context is not set, a default tweak will be used. If the context is set but: 1. there is no record present when transforming a given value or 1. the field is not present when transforming a given value, a default tweak will be used. Note that case (1) is expected when an `InfoTypeTransformation` is applied to both structured and non-structured `ContentItem`s. Currently, the referenced field may be of value type integer or string. The tweak is constructed as a sequence of bytes in big endian byte order such that: - a 64 bit integer is encoded followed by a single byte of value 1 - a string is encoded in UTF-8 format followed by a single byte of value 2 + "context": { # General identifier of a data field in a storage service. # The 'tweak', a context may be used for higher security since the same identifier in two different contexts won't be given the same surrogate. If the context is not set, a default tweak will be used. If the context is set but: 1. there is no record present when transforming a given value or 1. the field is not present when transforming a given value, a default tweak will be used. Note that case (1) is expected when an `InfoTypeTransformation` is applied to both structured and unstructured `ContentItem`s. Currently, the referenced field may be of value type integer or string. The tweak is constructed as a sequence of bytes in big endian byte order such that: - a 64 bit integer is encoded followed by a single byte of value 1 - a string is encoded in UTF-8 format followed by a single byte of value 2 "name": "A String", # Name describing the field. }, "cryptoKey": { # This is a data encryption key (DEK) (as opposed to a key encryption key (KEK) stored by Cloud Key Management Service (Cloud KMS). When using Cloud KMS to wrap or unwrap a DEK, be sure to set an appropriate IAM policy on the KEK to ensure an attacker cannot unwrap the DEK. # Required. The key used by the encryption algorithm. @@ -360,7 +360,7 @@

Method Details

"fieldTransformations": [ # Transform the record by applying various field transformations. { # The transformation to apply to the field. "condition": { # A condition for determining whether a transformation should be applied to a field. # Only apply the transformation if the condition evaluates to true for the given `RecordCondition`. The conditions are allowed to reference fields that are not used in the actual transformation. Example Use Cases: - Apply a different bucket transformation to an age column if the zip code column for the same record is within a specific range. - Redact a field if the date of birth field is greater than 85. - "expressions": { # An expression, consisting or an operator and conditions. # An expression. + "expressions": { # An expression, consisting of an operator and conditions. # An expression. "conditions": { # A collection of conditions. # Conditions to apply to the expression. "conditions": [ # A collection of conditions. { # The field type of `value` and `field` do not need to match to be considered equal, but not all comparisons are possible. EQUAL_TO and NOT_EQUAL_TO attempt to compare even with incompatible types, but all other comparisons are invalid with incompatible types. A `value` of type: - `string` can be compared against all other types - `boolean` can only be compared against other booleans - `integer` can be compared against doubles or a string if the string value can be parsed as an integer. - `double` can be compared against integers or a string if the string can be parsed as a double. - `Timestamp` can be compared against strings in RFC 3339 date string format. - `TimeOfDay` can be compared against timestamps and strings in the format of 'HH:mm:ss'. If we fail to compare do to type mismatch, a warning will be given and the condition will evaluate to false. @@ -483,7 +483,7 @@

Method Details

"reverseOrder": True or False, # Mask characters in reverse order. For example, if `masking_character` is `0`, `number_to_mask` is `14`, and `reverse_order` is `false`, then the input string `1234-5678-9012-3456` is masked as `00000000000000-3456`. If `masking_character` is `*`, `number_to_mask` is `3`, and `reverse_order` is `true`, then the string `12345` is masked as `12***`. }, "cryptoDeterministicConfig": { # Pseudonymization method that generates deterministic encryption for the given input. Outputs a base64 encoded representation of the encrypted output. Uses AES-SIV based on the RFC https://tools.ietf.org/html/rfc5297. # Deterministic Crypto - "context": { # General identifier of a data field in a storage service. # A context may be used for higher security and maintaining referential integrity such that the same identifier in two different contexts will be given a distinct surrogate. The context is appended to plaintext value being encrypted. On decryption the provided context is validated against the value used during encryption. If a context was provided during encryption, same context must be provided during decryption as well. If the context is not set, plaintext would be used as is for encryption. If the context is set but: 1. there is no record present when transforming a given value or 2. the field is not present when transforming a given value, plaintext would be used as is for encryption. Note that case (1) is expected when an `InfoTypeTransformation` is applied to both structured and non-structured `ContentItem`s. + "context": { # General identifier of a data field in a storage service. # A context may be used for higher security and maintaining referential integrity such that the same identifier in two different contexts will be given a distinct surrogate. The context is appended to plaintext value being encrypted. On decryption the provided context is validated against the value used during encryption. If a context was provided during encryption, same context must be provided during decryption as well. If the context is not set, plaintext would be used as is for encryption. If the context is set but: 1. there is no record present when transforming a given value or 2. the field is not present when transforming a given value, plaintext would be used as is for encryption. Note that case (1) is expected when an `InfoTypeTransformation` is applied to both structured and unstructured `ContentItem`s. "name": "A String", # Name describing the field. }, "cryptoKey": { # This is a data encryption key (DEK) (as opposed to a key encryption key (KEK) stored by Cloud Key Management Service (Cloud KMS). When using Cloud KMS to wrap or unwrap a DEK, be sure to set an appropriate IAM policy on the KEK to ensure an attacker cannot unwrap the DEK. # The key used by the encryption function. For deterministic encryption using AES-SIV, the provided key is internally expanded to 64 bytes prior to use. @@ -519,7 +519,7 @@

Method Details

}, "cryptoReplaceFfxFpeConfig": { # Replaces an identifier with a surrogate using Format Preserving Encryption (FPE) with the FFX mode of operation; however when used in the `ReidentifyContent` API method, it serves the opposite function by reversing the surrogate back into the original identifier. The identifier must be encoded as ASCII. For a given crypto key and context, the same identifier will be replaced with the same surrogate. Identifiers must be at least two characters long. In the case that the identifier is the empty string, it will be skipped. See https://cloud.google.com/dlp/docs/pseudonymization to learn more. Note: We recommend using CryptoDeterministicConfig for all use cases which do not require preserving the input alphabet space and size, plus warrant referential integrity. # Ffx-Fpe "commonAlphabet": "A String", # Common alphabets. - "context": { # General identifier of a data field in a storage service. # The 'tweak', a context may be used for higher security since the same identifier in two different contexts won't be given the same surrogate. If the context is not set, a default tweak will be used. If the context is set but: 1. there is no record present when transforming a given value or 1. the field is not present when transforming a given value, a default tweak will be used. Note that case (1) is expected when an `InfoTypeTransformation` is applied to both structured and non-structured `ContentItem`s. Currently, the referenced field may be of value type integer or string. The tweak is constructed as a sequence of bytes in big endian byte order such that: - a 64 bit integer is encoded followed by a single byte of value 1 - a string is encoded in UTF-8 format followed by a single byte of value 2 + "context": { # General identifier of a data field in a storage service. # The 'tweak', a context may be used for higher security since the same identifier in two different contexts won't be given the same surrogate. If the context is not set, a default tweak will be used. If the context is set but: 1. there is no record present when transforming a given value or 1. the field is not present when transforming a given value, a default tweak will be used. Note that case (1) is expected when an `InfoTypeTransformation` is applied to both structured and unstructured `ContentItem`s. Currently, the referenced field may be of value type integer or string. The tweak is constructed as a sequence of bytes in big endian byte order such that: - a 64 bit integer is encoded followed by a single byte of value 1 - a string is encoded in UTF-8 format followed by a single byte of value 2 "name": "A String", # Name describing the field. }, "cryptoKey": { # This is a data encryption key (DEK) (as opposed to a key encryption key (KEK) stored by Cloud Key Management Service (Cloud KMS). When using Cloud KMS to wrap or unwrap a DEK, be sure to set an appropriate IAM policy on the KEK to ensure an attacker cannot unwrap the DEK. # Required. The key used by the encryption algorithm. @@ -716,7 +716,7 @@

Method Details

"reverseOrder": True or False, # Mask characters in reverse order. For example, if `masking_character` is `0`, `number_to_mask` is `14`, and `reverse_order` is `false`, then the input string `1234-5678-9012-3456` is masked as `00000000000000-3456`. If `masking_character` is `*`, `number_to_mask` is `3`, and `reverse_order` is `true`, then the string `12345` is masked as `12***`. }, "cryptoDeterministicConfig": { # Pseudonymization method that generates deterministic encryption for the given input. Outputs a base64 encoded representation of the encrypted output. Uses AES-SIV based on the RFC https://tools.ietf.org/html/rfc5297. # Deterministic Crypto - "context": { # General identifier of a data field in a storage service. # A context may be used for higher security and maintaining referential integrity such that the same identifier in two different contexts will be given a distinct surrogate. The context is appended to plaintext value being encrypted. On decryption the provided context is validated against the value used during encryption. If a context was provided during encryption, same context must be provided during decryption as well. If the context is not set, plaintext would be used as is for encryption. If the context is set but: 1. there is no record present when transforming a given value or 2. the field is not present when transforming a given value, plaintext would be used as is for encryption. Note that case (1) is expected when an `InfoTypeTransformation` is applied to both structured and non-structured `ContentItem`s. + "context": { # General identifier of a data field in a storage service. # A context may be used for higher security and maintaining referential integrity such that the same identifier in two different contexts will be given a distinct surrogate. The context is appended to plaintext value being encrypted. On decryption the provided context is validated against the value used during encryption. If a context was provided during encryption, same context must be provided during decryption as well. If the context is not set, plaintext would be used as is for encryption. If the context is set but: 1. there is no record present when transforming a given value or 2. the field is not present when transforming a given value, plaintext would be used as is for encryption. Note that case (1) is expected when an `InfoTypeTransformation` is applied to both structured and unstructured `ContentItem`s. "name": "A String", # Name describing the field. }, "cryptoKey": { # This is a data encryption key (DEK) (as opposed to a key encryption key (KEK) stored by Cloud Key Management Service (Cloud KMS). When using Cloud KMS to wrap or unwrap a DEK, be sure to set an appropriate IAM policy on the KEK to ensure an attacker cannot unwrap the DEK. # The key used by the encryption function. For deterministic encryption using AES-SIV, the provided key is internally expanded to 64 bytes prior to use. @@ -752,7 +752,7 @@

Method Details

}, "cryptoReplaceFfxFpeConfig": { # Replaces an identifier with a surrogate using Format Preserving Encryption (FPE) with the FFX mode of operation; however when used in the `ReidentifyContent` API method, it serves the opposite function by reversing the surrogate back into the original identifier. The identifier must be encoded as ASCII. For a given crypto key and context, the same identifier will be replaced with the same surrogate. Identifiers must be at least two characters long. In the case that the identifier is the empty string, it will be skipped. See https://cloud.google.com/dlp/docs/pseudonymization to learn more. Note: We recommend using CryptoDeterministicConfig for all use cases which do not require preserving the input alphabet space and size, plus warrant referential integrity. # Ffx-Fpe "commonAlphabet": "A String", # Common alphabets. - "context": { # General identifier of a data field in a storage service. # The 'tweak', a context may be used for higher security since the same identifier in two different contexts won't be given the same surrogate. If the context is not set, a default tweak will be used. If the context is set but: 1. there is no record present when transforming a given value or 1. the field is not present when transforming a given value, a default tweak will be used. Note that case (1) is expected when an `InfoTypeTransformation` is applied to both structured and non-structured `ContentItem`s. Currently, the referenced field may be of value type integer or string. The tweak is constructed as a sequence of bytes in big endian byte order such that: - a 64 bit integer is encoded followed by a single byte of value 1 - a string is encoded in UTF-8 format followed by a single byte of value 2 + "context": { # General identifier of a data field in a storage service. # The 'tweak', a context may be used for higher security since the same identifier in two different contexts won't be given the same surrogate. If the context is not set, a default tweak will be used. If the context is set but: 1. there is no record present when transforming a given value or 1. the field is not present when transforming a given value, a default tweak will be used. Note that case (1) is expected when an `InfoTypeTransformation` is applied to both structured and unstructured `ContentItem`s. Currently, the referenced field may be of value type integer or string. The tweak is constructed as a sequence of bytes in big endian byte order such that: - a 64 bit integer is encoded followed by a single byte of value 1 - a string is encoded in UTF-8 format followed by a single byte of value 2 "name": "A String", # Name describing the field. }, "cryptoKey": { # This is a data encryption key (DEK) (as opposed to a key encryption key (KEK) stored by Cloud Key Management Service (Cloud KMS). When using Cloud KMS to wrap or unwrap a DEK, be sure to set an appropriate IAM policy on the KEK to ensure an attacker cannot unwrap the DEK. # Required. The key used by the encryption algorithm. @@ -875,7 +875,7 @@

Method Details

"recordSuppressions": [ # Configuration defining which records get suppressed entirely. Records that match any suppression rule are omitted from the output. { # Configuration to suppress records whose suppression conditions evaluate to true. "condition": { # A condition for determining whether a transformation should be applied to a field. # A condition that when it evaluates to true will result in the record being evaluated to be suppressed from the transformed content. - "expressions": { # An expression, consisting or an operator and conditions. # An expression. + "expressions": { # An expression, consisting of an operator and conditions. # An expression. "conditions": { # A collection of conditions. # Conditions to apply to the expression. "conditions": [ # A collection of conditions. { # The field type of `value` and `field` do not need to match to be considered equal, but not all comparisons are possible. EQUAL_TO and NOT_EQUAL_TO attempt to compare even with incompatible types, but all other comparisons are invalid with incompatible types. A `value` of type: - `string` can be compared against all other types - `boolean` can only be compared against other booleans - `integer` can be compared against doubles or a string if the string value can be parsed as an integer. - `double` can be compared against integers or a string if the string can be parsed as a double. - `Timestamp` can be compared against strings in RFC 3339 date string format. - `TimeOfDay` can be compared against timestamps and strings in the format of 'HH:mm:ss'. If we fail to compare do to type mismatch, a warning will be given and the condition will evaluate to false. @@ -1023,7 +1023,7 @@

Method Details

"reverseOrder": True or False, # Mask characters in reverse order. For example, if `masking_character` is `0`, `number_to_mask` is `14`, and `reverse_order` is `false`, then the input string `1234-5678-9012-3456` is masked as `00000000000000-3456`. If `masking_character` is `*`, `number_to_mask` is `3`, and `reverse_order` is `true`, then the string `12345` is masked as `12***`. }, "cryptoDeterministicConfig": { # Pseudonymization method that generates deterministic encryption for the given input. Outputs a base64 encoded representation of the encrypted output. Uses AES-SIV based on the RFC https://tools.ietf.org/html/rfc5297. # Deterministic Crypto - "context": { # General identifier of a data field in a storage service. # A context may be used for higher security and maintaining referential integrity such that the same identifier in two different contexts will be given a distinct surrogate. The context is appended to plaintext value being encrypted. On decryption the provided context is validated against the value used during encryption. If a context was provided during encryption, same context must be provided during decryption as well. If the context is not set, plaintext would be used as is for encryption. If the context is set but: 1. there is no record present when transforming a given value or 2. the field is not present when transforming a given value, plaintext would be used as is for encryption. Note that case (1) is expected when an `InfoTypeTransformation` is applied to both structured and non-structured `ContentItem`s. + "context": { # General identifier of a data field in a storage service. # A context may be used for higher security and maintaining referential integrity such that the same identifier in two different contexts will be given a distinct surrogate. The context is appended to plaintext value being encrypted. On decryption the provided context is validated against the value used during encryption. If a context was provided during encryption, same context must be provided during decryption as well. If the context is not set, plaintext would be used as is for encryption. If the context is set but: 1. there is no record present when transforming a given value or 2. the field is not present when transforming a given value, plaintext would be used as is for encryption. Note that case (1) is expected when an `InfoTypeTransformation` is applied to both structured and unstructured `ContentItem`s. "name": "A String", # Name describing the field. }, "cryptoKey": { # This is a data encryption key (DEK) (as opposed to a key encryption key (KEK) stored by Cloud Key Management Service (Cloud KMS). When using Cloud KMS to wrap or unwrap a DEK, be sure to set an appropriate IAM policy on the KEK to ensure an attacker cannot unwrap the DEK. # The key used by the encryption function. For deterministic encryption using AES-SIV, the provided key is internally expanded to 64 bytes prior to use. @@ -1059,7 +1059,7 @@

Method Details

}, "cryptoReplaceFfxFpeConfig": { # Replaces an identifier with a surrogate using Format Preserving Encryption (FPE) with the FFX mode of operation; however when used in the `ReidentifyContent` API method, it serves the opposite function by reversing the surrogate back into the original identifier. The identifier must be encoded as ASCII. For a given crypto key and context, the same identifier will be replaced with the same surrogate. Identifiers must be at least two characters long. In the case that the identifier is the empty string, it will be skipped. See https://cloud.google.com/dlp/docs/pseudonymization to learn more. Note: We recommend using CryptoDeterministicConfig for all use cases which do not require preserving the input alphabet space and size, plus warrant referential integrity. # Ffx-Fpe "commonAlphabet": "A String", # Common alphabets. - "context": { # General identifier of a data field in a storage service. # The 'tweak', a context may be used for higher security since the same identifier in two different contexts won't be given the same surrogate. If the context is not set, a default tweak will be used. If the context is set but: 1. there is no record present when transforming a given value or 1. the field is not present when transforming a given value, a default tweak will be used. Note that case (1) is expected when an `InfoTypeTransformation` is applied to both structured and non-structured `ContentItem`s. Currently, the referenced field may be of value type integer or string. The tweak is constructed as a sequence of bytes in big endian byte order such that: - a 64 bit integer is encoded followed by a single byte of value 1 - a string is encoded in UTF-8 format followed by a single byte of value 2 + "context": { # General identifier of a data field in a storage service. # The 'tweak', a context may be used for higher security since the same identifier in two different contexts won't be given the same surrogate. If the context is not set, a default tweak will be used. If the context is set but: 1. there is no record present when transforming a given value or 1. the field is not present when transforming a given value, a default tweak will be used. Note that case (1) is expected when an `InfoTypeTransformation` is applied to both structured and unstructured `ContentItem`s. Currently, the referenced field may be of value type integer or string. The tweak is constructed as a sequence of bytes in big endian byte order such that: - a 64 bit integer is encoded followed by a single byte of value 1 - a string is encoded in UTF-8 format followed by a single byte of value 2 "name": "A String", # Name describing the field. }, "cryptoKey": { # This is a data encryption key (DEK) (as opposed to a key encryption key (KEK) stored by Cloud Key Management Service (Cloud KMS). When using Cloud KMS to wrap or unwrap a DEK, be sure to set an appropriate IAM policy on the KEK to ensure an attacker cannot unwrap the DEK. # Required. The key used by the encryption algorithm. @@ -1184,7 +1184,7 @@

Method Details

"fieldTransformations": [ # Transform the record by applying various field transformations. { # The transformation to apply to the field. "condition": { # A condition for determining whether a transformation should be applied to a field. # Only apply the transformation if the condition evaluates to true for the given `RecordCondition`. The conditions are allowed to reference fields that are not used in the actual transformation. Example Use Cases: - Apply a different bucket transformation to an age column if the zip code column for the same record is within a specific range. - Redact a field if the date of birth field is greater than 85. - "expressions": { # An expression, consisting or an operator and conditions. # An expression. + "expressions": { # An expression, consisting of an operator and conditions. # An expression. "conditions": { # A collection of conditions. # Conditions to apply to the expression. "conditions": [ # A collection of conditions. { # The field type of `value` and `field` do not need to match to be considered equal, but not all comparisons are possible. EQUAL_TO and NOT_EQUAL_TO attempt to compare even with incompatible types, but all other comparisons are invalid with incompatible types. A `value` of type: - `string` can be compared against all other types - `boolean` can only be compared against other booleans - `integer` can be compared against doubles or a string if the string value can be parsed as an integer. - `double` can be compared against integers or a string if the string can be parsed as a double. - `Timestamp` can be compared against strings in RFC 3339 date string format. - `TimeOfDay` can be compared against timestamps and strings in the format of 'HH:mm:ss'. If we fail to compare do to type mismatch, a warning will be given and the condition will evaluate to false. @@ -1307,7 +1307,7 @@

Method Details

"reverseOrder": True or False, # Mask characters in reverse order. For example, if `masking_character` is `0`, `number_to_mask` is `14`, and `reverse_order` is `false`, then the input string `1234-5678-9012-3456` is masked as `00000000000000-3456`. If `masking_character` is `*`, `number_to_mask` is `3`, and `reverse_order` is `true`, then the string `12345` is masked as `12***`. }, "cryptoDeterministicConfig": { # Pseudonymization method that generates deterministic encryption for the given input. Outputs a base64 encoded representation of the encrypted output. Uses AES-SIV based on the RFC https://tools.ietf.org/html/rfc5297. # Deterministic Crypto - "context": { # General identifier of a data field in a storage service. # A context may be used for higher security and maintaining referential integrity such that the same identifier in two different contexts will be given a distinct surrogate. The context is appended to plaintext value being encrypted. On decryption the provided context is validated against the value used during encryption. If a context was provided during encryption, same context must be provided during decryption as well. If the context is not set, plaintext would be used as is for encryption. If the context is set but: 1. there is no record present when transforming a given value or 2. the field is not present when transforming a given value, plaintext would be used as is for encryption. Note that case (1) is expected when an `InfoTypeTransformation` is applied to both structured and non-structured `ContentItem`s. + "context": { # General identifier of a data field in a storage service. # A context may be used for higher security and maintaining referential integrity such that the same identifier in two different contexts will be given a distinct surrogate. The context is appended to plaintext value being encrypted. On decryption the provided context is validated against the value used during encryption. If a context was provided during encryption, same context must be provided during decryption as well. If the context is not set, plaintext would be used as is for encryption. If the context is set but: 1. there is no record present when transforming a given value or 2. the field is not present when transforming a given value, plaintext would be used as is for encryption. Note that case (1) is expected when an `InfoTypeTransformation` is applied to both structured and unstructured `ContentItem`s. "name": "A String", # Name describing the field. }, "cryptoKey": { # This is a data encryption key (DEK) (as opposed to a key encryption key (KEK) stored by Cloud Key Management Service (Cloud KMS). When using Cloud KMS to wrap or unwrap a DEK, be sure to set an appropriate IAM policy on the KEK to ensure an attacker cannot unwrap the DEK. # The key used by the encryption function. For deterministic encryption using AES-SIV, the provided key is internally expanded to 64 bytes prior to use. @@ -1343,7 +1343,7 @@

Method Details

}, "cryptoReplaceFfxFpeConfig": { # Replaces an identifier with a surrogate using Format Preserving Encryption (FPE) with the FFX mode of operation; however when used in the `ReidentifyContent` API method, it serves the opposite function by reversing the surrogate back into the original identifier. The identifier must be encoded as ASCII. For a given crypto key and context, the same identifier will be replaced with the same surrogate. Identifiers must be at least two characters long. In the case that the identifier is the empty string, it will be skipped. See https://cloud.google.com/dlp/docs/pseudonymization to learn more. Note: We recommend using CryptoDeterministicConfig for all use cases which do not require preserving the input alphabet space and size, plus warrant referential integrity. # Ffx-Fpe "commonAlphabet": "A String", # Common alphabets. - "context": { # General identifier of a data field in a storage service. # The 'tweak', a context may be used for higher security since the same identifier in two different contexts won't be given the same surrogate. If the context is not set, a default tweak will be used. If the context is set but: 1. there is no record present when transforming a given value or 1. the field is not present when transforming a given value, a default tweak will be used. Note that case (1) is expected when an `InfoTypeTransformation` is applied to both structured and non-structured `ContentItem`s. Currently, the referenced field may be of value type integer or string. The tweak is constructed as a sequence of bytes in big endian byte order such that: - a 64 bit integer is encoded followed by a single byte of value 1 - a string is encoded in UTF-8 format followed by a single byte of value 2 + "context": { # General identifier of a data field in a storage service. # The 'tweak', a context may be used for higher security since the same identifier in two different contexts won't be given the same surrogate. If the context is not set, a default tweak will be used. If the context is set but: 1. there is no record present when transforming a given value or 1. the field is not present when transforming a given value, a default tweak will be used. Note that case (1) is expected when an `InfoTypeTransformation` is applied to both structured and unstructured `ContentItem`s. Currently, the referenced field may be of value type integer or string. The tweak is constructed as a sequence of bytes in big endian byte order such that: - a 64 bit integer is encoded followed by a single byte of value 1 - a string is encoded in UTF-8 format followed by a single byte of value 2 "name": "A String", # Name describing the field. }, "cryptoKey": { # This is a data encryption key (DEK) (as opposed to a key encryption key (KEK) stored by Cloud Key Management Service (Cloud KMS). When using Cloud KMS to wrap or unwrap a DEK, be sure to set an appropriate IAM policy on the KEK to ensure an attacker cannot unwrap the DEK. # Required. The key used by the encryption algorithm. @@ -1540,7 +1540,7 @@

Method Details

"reverseOrder": True or False, # Mask characters in reverse order. For example, if `masking_character` is `0`, `number_to_mask` is `14`, and `reverse_order` is `false`, then the input string `1234-5678-9012-3456` is masked as `00000000000000-3456`. If `masking_character` is `*`, `number_to_mask` is `3`, and `reverse_order` is `true`, then the string `12345` is masked as `12***`. }, "cryptoDeterministicConfig": { # Pseudonymization method that generates deterministic encryption for the given input. Outputs a base64 encoded representation of the encrypted output. Uses AES-SIV based on the RFC https://tools.ietf.org/html/rfc5297. # Deterministic Crypto - "context": { # General identifier of a data field in a storage service. # A context may be used for higher security and maintaining referential integrity such that the same identifier in two different contexts will be given a distinct surrogate. The context is appended to plaintext value being encrypted. On decryption the provided context is validated against the value used during encryption. If a context was provided during encryption, same context must be provided during decryption as well. If the context is not set, plaintext would be used as is for encryption. If the context is set but: 1. there is no record present when transforming a given value or 2. the field is not present when transforming a given value, plaintext would be used as is for encryption. Note that case (1) is expected when an `InfoTypeTransformation` is applied to both structured and non-structured `ContentItem`s. + "context": { # General identifier of a data field in a storage service. # A context may be used for higher security and maintaining referential integrity such that the same identifier in two different contexts will be given a distinct surrogate. The context is appended to plaintext value being encrypted. On decryption the provided context is validated against the value used during encryption. If a context was provided during encryption, same context must be provided during decryption as well. If the context is not set, plaintext would be used as is for encryption. If the context is set but: 1. there is no record present when transforming a given value or 2. the field is not present when transforming a given value, plaintext would be used as is for encryption. Note that case (1) is expected when an `InfoTypeTransformation` is applied to both structured and unstructured `ContentItem`s. "name": "A String", # Name describing the field. }, "cryptoKey": { # This is a data encryption key (DEK) (as opposed to a key encryption key (KEK) stored by Cloud Key Management Service (Cloud KMS). When using Cloud KMS to wrap or unwrap a DEK, be sure to set an appropriate IAM policy on the KEK to ensure an attacker cannot unwrap the DEK. # The key used by the encryption function. For deterministic encryption using AES-SIV, the provided key is internally expanded to 64 bytes prior to use. @@ -1576,7 +1576,7 @@

Method Details

}, "cryptoReplaceFfxFpeConfig": { # Replaces an identifier with a surrogate using Format Preserving Encryption (FPE) with the FFX mode of operation; however when used in the `ReidentifyContent` API method, it serves the opposite function by reversing the surrogate back into the original identifier. The identifier must be encoded as ASCII. For a given crypto key and context, the same identifier will be replaced with the same surrogate. Identifiers must be at least two characters long. In the case that the identifier is the empty string, it will be skipped. See https://cloud.google.com/dlp/docs/pseudonymization to learn more. Note: We recommend using CryptoDeterministicConfig for all use cases which do not require preserving the input alphabet space and size, plus warrant referential integrity. # Ffx-Fpe "commonAlphabet": "A String", # Common alphabets. - "context": { # General identifier of a data field in a storage service. # The 'tweak', a context may be used for higher security since the same identifier in two different contexts won't be given the same surrogate. If the context is not set, a default tweak will be used. If the context is set but: 1. there is no record present when transforming a given value or 1. the field is not present when transforming a given value, a default tweak will be used. Note that case (1) is expected when an `InfoTypeTransformation` is applied to both structured and non-structured `ContentItem`s. Currently, the referenced field may be of value type integer or string. The tweak is constructed as a sequence of bytes in big endian byte order such that: - a 64 bit integer is encoded followed by a single byte of value 1 - a string is encoded in UTF-8 format followed by a single byte of value 2 + "context": { # General identifier of a data field in a storage service. # The 'tweak', a context may be used for higher security since the same identifier in two different contexts won't be given the same surrogate. If the context is not set, a default tweak will be used. If the context is set but: 1. there is no record present when transforming a given value or 1. the field is not present when transforming a given value, a default tweak will be used. Note that case (1) is expected when an `InfoTypeTransformation` is applied to both structured and unstructured `ContentItem`s. Currently, the referenced field may be of value type integer or string. The tweak is constructed as a sequence of bytes in big endian byte order such that: - a 64 bit integer is encoded followed by a single byte of value 1 - a string is encoded in UTF-8 format followed by a single byte of value 2 "name": "A String", # Name describing the field. }, "cryptoKey": { # This is a data encryption key (DEK) (as opposed to a key encryption key (KEK) stored by Cloud Key Management Service (Cloud KMS). When using Cloud KMS to wrap or unwrap a DEK, be sure to set an appropriate IAM policy on the KEK to ensure an attacker cannot unwrap the DEK. # Required. The key used by the encryption algorithm. @@ -1699,7 +1699,7 @@

Method Details

"recordSuppressions": [ # Configuration defining which records get suppressed entirely. Records that match any suppression rule are omitted from the output. { # Configuration to suppress records whose suppression conditions evaluate to true. "condition": { # A condition for determining whether a transformation should be applied to a field. # A condition that when it evaluates to true will result in the record being evaluated to be suppressed from the transformed content. - "expressions": { # An expression, consisting or an operator and conditions. # An expression. + "expressions": { # An expression, consisting of an operator and conditions. # An expression. "conditions": { # A collection of conditions. # Conditions to apply to the expression. "conditions": [ # A collection of conditions. { # The field type of `value` and `field` do not need to match to be considered equal, but not all comparisons are possible. EQUAL_TO and NOT_EQUAL_TO attempt to compare even with incompatible types, but all other comparisons are invalid with incompatible types. A `value` of type: - `string` can be compared against all other types - `boolean` can only be compared against other booleans - `integer` can be compared against doubles or a string if the string value can be parsed as an integer. - `double` can be compared against integers or a string if the string can be parsed as a double. - `Timestamp` can be compared against strings in RFC 3339 date string format. - `TimeOfDay` can be compared against timestamps and strings in the format of 'HH:mm:ss'. If we fail to compare do to type mismatch, a warning will be given and the condition will evaluate to false. @@ -1869,7 +1869,7 @@

Method Details

"reverseOrder": True or False, # Mask characters in reverse order. For example, if `masking_character` is `0`, `number_to_mask` is `14`, and `reverse_order` is `false`, then the input string `1234-5678-9012-3456` is masked as `00000000000000-3456`. If `masking_character` is `*`, `number_to_mask` is `3`, and `reverse_order` is `true`, then the string `12345` is masked as `12***`. }, "cryptoDeterministicConfig": { # Pseudonymization method that generates deterministic encryption for the given input. Outputs a base64 encoded representation of the encrypted output. Uses AES-SIV based on the RFC https://tools.ietf.org/html/rfc5297. # Deterministic Crypto - "context": { # General identifier of a data field in a storage service. # A context may be used for higher security and maintaining referential integrity such that the same identifier in two different contexts will be given a distinct surrogate. The context is appended to plaintext value being encrypted. On decryption the provided context is validated against the value used during encryption. If a context was provided during encryption, same context must be provided during decryption as well. If the context is not set, plaintext would be used as is for encryption. If the context is set but: 1. there is no record present when transforming a given value or 2. the field is not present when transforming a given value, plaintext would be used as is for encryption. Note that case (1) is expected when an `InfoTypeTransformation` is applied to both structured and non-structured `ContentItem`s. + "context": { # General identifier of a data field in a storage service. # A context may be used for higher security and maintaining referential integrity such that the same identifier in two different contexts will be given a distinct surrogate. The context is appended to plaintext value being encrypted. On decryption the provided context is validated against the value used during encryption. If a context was provided during encryption, same context must be provided during decryption as well. If the context is not set, plaintext would be used as is for encryption. If the context is set but: 1. there is no record present when transforming a given value or 2. the field is not present when transforming a given value, plaintext would be used as is for encryption. Note that case (1) is expected when an `InfoTypeTransformation` is applied to both structured and unstructured `ContentItem`s. "name": "A String", # Name describing the field. }, "cryptoKey": { # This is a data encryption key (DEK) (as opposed to a key encryption key (KEK) stored by Cloud Key Management Service (Cloud KMS). When using Cloud KMS to wrap or unwrap a DEK, be sure to set an appropriate IAM policy on the KEK to ensure an attacker cannot unwrap the DEK. # The key used by the encryption function. For deterministic encryption using AES-SIV, the provided key is internally expanded to 64 bytes prior to use. @@ -1905,7 +1905,7 @@

Method Details

}, "cryptoReplaceFfxFpeConfig": { # Replaces an identifier with a surrogate using Format Preserving Encryption (FPE) with the FFX mode of operation; however when used in the `ReidentifyContent` API method, it serves the opposite function by reversing the surrogate back into the original identifier. The identifier must be encoded as ASCII. For a given crypto key and context, the same identifier will be replaced with the same surrogate. Identifiers must be at least two characters long. In the case that the identifier is the empty string, it will be skipped. See https://cloud.google.com/dlp/docs/pseudonymization to learn more. Note: We recommend using CryptoDeterministicConfig for all use cases which do not require preserving the input alphabet space and size, plus warrant referential integrity. # Ffx-Fpe "commonAlphabet": "A String", # Common alphabets. - "context": { # General identifier of a data field in a storage service. # The 'tweak', a context may be used for higher security since the same identifier in two different contexts won't be given the same surrogate. If the context is not set, a default tweak will be used. If the context is set but: 1. there is no record present when transforming a given value or 1. the field is not present when transforming a given value, a default tweak will be used. Note that case (1) is expected when an `InfoTypeTransformation` is applied to both structured and non-structured `ContentItem`s. Currently, the referenced field may be of value type integer or string. The tweak is constructed as a sequence of bytes in big endian byte order such that: - a 64 bit integer is encoded followed by a single byte of value 1 - a string is encoded in UTF-8 format followed by a single byte of value 2 + "context": { # General identifier of a data field in a storage service. # The 'tweak', a context may be used for higher security since the same identifier in two different contexts won't be given the same surrogate. If the context is not set, a default tweak will be used. If the context is set but: 1. there is no record present when transforming a given value or 1. the field is not present when transforming a given value, a default tweak will be used. Note that case (1) is expected when an `InfoTypeTransformation` is applied to both structured and unstructured `ContentItem`s. Currently, the referenced field may be of value type integer or string. The tweak is constructed as a sequence of bytes in big endian byte order such that: - a 64 bit integer is encoded followed by a single byte of value 1 - a string is encoded in UTF-8 format followed by a single byte of value 2 "name": "A String", # Name describing the field. }, "cryptoKey": { # This is a data encryption key (DEK) (as opposed to a key encryption key (KEK) stored by Cloud Key Management Service (Cloud KMS). When using Cloud KMS to wrap or unwrap a DEK, be sure to set an appropriate IAM policy on the KEK to ensure an attacker cannot unwrap the DEK. # Required. The key used by the encryption algorithm. @@ -2030,7 +2030,7 @@

Method Details

"fieldTransformations": [ # Transform the record by applying various field transformations. { # The transformation to apply to the field. "condition": { # A condition for determining whether a transformation should be applied to a field. # Only apply the transformation if the condition evaluates to true for the given `RecordCondition`. The conditions are allowed to reference fields that are not used in the actual transformation. Example Use Cases: - Apply a different bucket transformation to an age column if the zip code column for the same record is within a specific range. - Redact a field if the date of birth field is greater than 85. - "expressions": { # An expression, consisting or an operator and conditions. # An expression. + "expressions": { # An expression, consisting of an operator and conditions. # An expression. "conditions": { # A collection of conditions. # Conditions to apply to the expression. "conditions": [ # A collection of conditions. { # The field type of `value` and `field` do not need to match to be considered equal, but not all comparisons are possible. EQUAL_TO and NOT_EQUAL_TO attempt to compare even with incompatible types, but all other comparisons are invalid with incompatible types. A `value` of type: - `string` can be compared against all other types - `boolean` can only be compared against other booleans - `integer` can be compared against doubles or a string if the string value can be parsed as an integer. - `double` can be compared against integers or a string if the string can be parsed as a double. - `Timestamp` can be compared against strings in RFC 3339 date string format. - `TimeOfDay` can be compared against timestamps and strings in the format of 'HH:mm:ss'. If we fail to compare do to type mismatch, a warning will be given and the condition will evaluate to false. @@ -2153,7 +2153,7 @@

Method Details

"reverseOrder": True or False, # Mask characters in reverse order. For example, if `masking_character` is `0`, `number_to_mask` is `14`, and `reverse_order` is `false`, then the input string `1234-5678-9012-3456` is masked as `00000000000000-3456`. If `masking_character` is `*`, `number_to_mask` is `3`, and `reverse_order` is `true`, then the string `12345` is masked as `12***`. }, "cryptoDeterministicConfig": { # Pseudonymization method that generates deterministic encryption for the given input. Outputs a base64 encoded representation of the encrypted output. Uses AES-SIV based on the RFC https://tools.ietf.org/html/rfc5297. # Deterministic Crypto - "context": { # General identifier of a data field in a storage service. # A context may be used for higher security and maintaining referential integrity such that the same identifier in two different contexts will be given a distinct surrogate. The context is appended to plaintext value being encrypted. On decryption the provided context is validated against the value used during encryption. If a context was provided during encryption, same context must be provided during decryption as well. If the context is not set, plaintext would be used as is for encryption. If the context is set but: 1. there is no record present when transforming a given value or 2. the field is not present when transforming a given value, plaintext would be used as is for encryption. Note that case (1) is expected when an `InfoTypeTransformation` is applied to both structured and non-structured `ContentItem`s. + "context": { # General identifier of a data field in a storage service. # A context may be used for higher security and maintaining referential integrity such that the same identifier in two different contexts will be given a distinct surrogate. The context is appended to plaintext value being encrypted. On decryption the provided context is validated against the value used during encryption. If a context was provided during encryption, same context must be provided during decryption as well. If the context is not set, plaintext would be used as is for encryption. If the context is set but: 1. there is no record present when transforming a given value or 2. the field is not present when transforming a given value, plaintext would be used as is for encryption. Note that case (1) is expected when an `InfoTypeTransformation` is applied to both structured and unstructured `ContentItem`s. "name": "A String", # Name describing the field. }, "cryptoKey": { # This is a data encryption key (DEK) (as opposed to a key encryption key (KEK) stored by Cloud Key Management Service (Cloud KMS). When using Cloud KMS to wrap or unwrap a DEK, be sure to set an appropriate IAM policy on the KEK to ensure an attacker cannot unwrap the DEK. # The key used by the encryption function. For deterministic encryption using AES-SIV, the provided key is internally expanded to 64 bytes prior to use. @@ -2189,7 +2189,7 @@

Method Details

}, "cryptoReplaceFfxFpeConfig": { # Replaces an identifier with a surrogate using Format Preserving Encryption (FPE) with the FFX mode of operation; however when used in the `ReidentifyContent` API method, it serves the opposite function by reversing the surrogate back into the original identifier. The identifier must be encoded as ASCII. For a given crypto key and context, the same identifier will be replaced with the same surrogate. Identifiers must be at least two characters long. In the case that the identifier is the empty string, it will be skipped. See https://cloud.google.com/dlp/docs/pseudonymization to learn more. Note: We recommend using CryptoDeterministicConfig for all use cases which do not require preserving the input alphabet space and size, plus warrant referential integrity. # Ffx-Fpe "commonAlphabet": "A String", # Common alphabets. - "context": { # General identifier of a data field in a storage service. # The 'tweak', a context may be used for higher security since the same identifier in two different contexts won't be given the same surrogate. If the context is not set, a default tweak will be used. If the context is set but: 1. there is no record present when transforming a given value or 1. the field is not present when transforming a given value, a default tweak will be used. Note that case (1) is expected when an `InfoTypeTransformation` is applied to both structured and non-structured `ContentItem`s. Currently, the referenced field may be of value type integer or string. The tweak is constructed as a sequence of bytes in big endian byte order such that: - a 64 bit integer is encoded followed by a single byte of value 1 - a string is encoded in UTF-8 format followed by a single byte of value 2 + "context": { # General identifier of a data field in a storage service. # The 'tweak', a context may be used for higher security since the same identifier in two different contexts won't be given the same surrogate. If the context is not set, a default tweak will be used. If the context is set but: 1. there is no record present when transforming a given value or 1. the field is not present when transforming a given value, a default tweak will be used. Note that case (1) is expected when an `InfoTypeTransformation` is applied to both structured and unstructured `ContentItem`s. Currently, the referenced field may be of value type integer or string. The tweak is constructed as a sequence of bytes in big endian byte order such that: - a 64 bit integer is encoded followed by a single byte of value 1 - a string is encoded in UTF-8 format followed by a single byte of value 2 "name": "A String", # Name describing the field. }, "cryptoKey": { # This is a data encryption key (DEK) (as opposed to a key encryption key (KEK) stored by Cloud Key Management Service (Cloud KMS). When using Cloud KMS to wrap or unwrap a DEK, be sure to set an appropriate IAM policy on the KEK to ensure an attacker cannot unwrap the DEK. # Required. The key used by the encryption algorithm. @@ -2386,7 +2386,7 @@

Method Details

"reverseOrder": True or False, # Mask characters in reverse order. For example, if `masking_character` is `0`, `number_to_mask` is `14`, and `reverse_order` is `false`, then the input string `1234-5678-9012-3456` is masked as `00000000000000-3456`. If `masking_character` is `*`, `number_to_mask` is `3`, and `reverse_order` is `true`, then the string `12345` is masked as `12***`. }, "cryptoDeterministicConfig": { # Pseudonymization method that generates deterministic encryption for the given input. Outputs a base64 encoded representation of the encrypted output. Uses AES-SIV based on the RFC https://tools.ietf.org/html/rfc5297. # Deterministic Crypto - "context": { # General identifier of a data field in a storage service. # A context may be used for higher security and maintaining referential integrity such that the same identifier in two different contexts will be given a distinct surrogate. The context is appended to plaintext value being encrypted. On decryption the provided context is validated against the value used during encryption. If a context was provided during encryption, same context must be provided during decryption as well. If the context is not set, plaintext would be used as is for encryption. If the context is set but: 1. there is no record present when transforming a given value or 2. the field is not present when transforming a given value, plaintext would be used as is for encryption. Note that case (1) is expected when an `InfoTypeTransformation` is applied to both structured and non-structured `ContentItem`s. + "context": { # General identifier of a data field in a storage service. # A context may be used for higher security and maintaining referential integrity such that the same identifier in two different contexts will be given a distinct surrogate. The context is appended to plaintext value being encrypted. On decryption the provided context is validated against the value used during encryption. If a context was provided during encryption, same context must be provided during decryption as well. If the context is not set, plaintext would be used as is for encryption. If the context is set but: 1. there is no record present when transforming a given value or 2. the field is not present when transforming a given value, plaintext would be used as is for encryption. Note that case (1) is expected when an `InfoTypeTransformation` is applied to both structured and unstructured `ContentItem`s. "name": "A String", # Name describing the field. }, "cryptoKey": { # This is a data encryption key (DEK) (as opposed to a key encryption key (KEK) stored by Cloud Key Management Service (Cloud KMS). When using Cloud KMS to wrap or unwrap a DEK, be sure to set an appropriate IAM policy on the KEK to ensure an attacker cannot unwrap the DEK. # The key used by the encryption function. For deterministic encryption using AES-SIV, the provided key is internally expanded to 64 bytes prior to use. @@ -2422,7 +2422,7 @@

Method Details

}, "cryptoReplaceFfxFpeConfig": { # Replaces an identifier with a surrogate using Format Preserving Encryption (FPE) with the FFX mode of operation; however when used in the `ReidentifyContent` API method, it serves the opposite function by reversing the surrogate back into the original identifier. The identifier must be encoded as ASCII. For a given crypto key and context, the same identifier will be replaced with the same surrogate. Identifiers must be at least two characters long. In the case that the identifier is the empty string, it will be skipped. See https://cloud.google.com/dlp/docs/pseudonymization to learn more. Note: We recommend using CryptoDeterministicConfig for all use cases which do not require preserving the input alphabet space and size, plus warrant referential integrity. # Ffx-Fpe "commonAlphabet": "A String", # Common alphabets. - "context": { # General identifier of a data field in a storage service. # The 'tweak', a context may be used for higher security since the same identifier in two different contexts won't be given the same surrogate. If the context is not set, a default tweak will be used. If the context is set but: 1. there is no record present when transforming a given value or 1. the field is not present when transforming a given value, a default tweak will be used. Note that case (1) is expected when an `InfoTypeTransformation` is applied to both structured and non-structured `ContentItem`s. Currently, the referenced field may be of value type integer or string. The tweak is constructed as a sequence of bytes in big endian byte order such that: - a 64 bit integer is encoded followed by a single byte of value 1 - a string is encoded in UTF-8 format followed by a single byte of value 2 + "context": { # General identifier of a data field in a storage service. # The 'tweak', a context may be used for higher security since the same identifier in two different contexts won't be given the same surrogate. If the context is not set, a default tweak will be used. If the context is set but: 1. there is no record present when transforming a given value or 1. the field is not present when transforming a given value, a default tweak will be used. Note that case (1) is expected when an `InfoTypeTransformation` is applied to both structured and unstructured `ContentItem`s. Currently, the referenced field may be of value type integer or string. The tweak is constructed as a sequence of bytes in big endian byte order such that: - a 64 bit integer is encoded followed by a single byte of value 1 - a string is encoded in UTF-8 format followed by a single byte of value 2 "name": "A String", # Name describing the field. }, "cryptoKey": { # This is a data encryption key (DEK) (as opposed to a key encryption key (KEK) stored by Cloud Key Management Service (Cloud KMS). When using Cloud KMS to wrap or unwrap a DEK, be sure to set an appropriate IAM policy on the KEK to ensure an attacker cannot unwrap the DEK. # Required. The key used by the encryption algorithm. @@ -2545,7 +2545,7 @@

Method Details

"recordSuppressions": [ # Configuration defining which records get suppressed entirely. Records that match any suppression rule are omitted from the output. { # Configuration to suppress records whose suppression conditions evaluate to true. "condition": { # A condition for determining whether a transformation should be applied to a field. # A condition that when it evaluates to true will result in the record being evaluated to be suppressed from the transformed content. - "expressions": { # An expression, consisting or an operator and conditions. # An expression. + "expressions": { # An expression, consisting of an operator and conditions. # An expression. "conditions": { # A collection of conditions. # Conditions to apply to the expression. "conditions": [ # A collection of conditions. { # The field type of `value` and `field` do not need to match to be considered equal, but not all comparisons are possible. EQUAL_TO and NOT_EQUAL_TO attempt to compare even with incompatible types, but all other comparisons are invalid with incompatible types. A `value` of type: - `string` can be compared against all other types - `boolean` can only be compared against other booleans - `integer` can be compared against doubles or a string if the string value can be parsed as an integer. - `double` can be compared against integers or a string if the string can be parsed as a double. - `Timestamp` can be compared against strings in RFC 3339 date string format. - `TimeOfDay` can be compared against timestamps and strings in the format of 'HH:mm:ss'. If we fail to compare do to type mismatch, a warning will be given and the condition will evaluate to false. @@ -2602,8 +2602,8 @@

Method Details

Args: parent: string, Required. Parent resource name. The format of this value varies depending on the scope of the request (project or organization) and whether you have [specified a processing location](https://cloud.google.com/dlp/docs/specifying-location): + Projects scope, location specified: `projects/`PROJECT_ID`/locations/`LOCATION_ID + Projects scope, no location specified (defaults to global): `projects/`PROJECT_ID + Organizations scope, location specified: `organizations/`ORG_ID`/locations/`LOCATION_ID + Organizations scope, no location specified (defaults to global): `organizations/`ORG_ID The following example `parent` string specifies a parent project with the identifier `example-project`, and specifies the `europe-west3` location for processing data: parent=projects/example-project/locations/europe-west3 (required) locationId: string, Deprecated. This field has no effect. - orderBy: string, Comma separated list of fields to order by, followed by `asc` or `desc` postfix. This list is case-insensitive, default sorting order is ascending, redundant space characters are insignificant. Example: `name asc,update_time, create_time desc` Supported fields are: - `create_time`: corresponds to time the template was created. - `update_time`: corresponds to time the template was last updated. - `name`: corresponds to template's name. - `display_name`: corresponds to template's display name. - pageSize: integer, Size of the page, can be limited by server. If zero server returns a page of max size 100. + orderBy: string, Comma separated list of fields to order by, followed by `asc` or `desc` postfix. This list is case-insensitive, default sorting order is ascending, redundant space characters are insignificant. Example: `name asc,update_time, create_time desc` Supported fields are: - `create_time`: corresponds to the time the template was created. - `update_time`: corresponds to the time the template was last updated. - `name`: corresponds to the template's name. - `display_name`: corresponds to the template's display name. + pageSize: integer, Size of the page, can be limited by the server. If zero server returns a page of max size 100. pageToken: string, Page token to continue retrieval. Comes from previous call to `ListDeidentifyTemplates`. x__xgafv: string, V1 error format. Allowed values @@ -2703,7 +2703,7 @@

Method Details

"reverseOrder": True or False, # Mask characters in reverse order. For example, if `masking_character` is `0`, `number_to_mask` is `14`, and `reverse_order` is `false`, then the input string `1234-5678-9012-3456` is masked as `00000000000000-3456`. If `masking_character` is `*`, `number_to_mask` is `3`, and `reverse_order` is `true`, then the string `12345` is masked as `12***`. }, "cryptoDeterministicConfig": { # Pseudonymization method that generates deterministic encryption for the given input. Outputs a base64 encoded representation of the encrypted output. Uses AES-SIV based on the RFC https://tools.ietf.org/html/rfc5297. # Deterministic Crypto - "context": { # General identifier of a data field in a storage service. # A context may be used for higher security and maintaining referential integrity such that the same identifier in two different contexts will be given a distinct surrogate. The context is appended to plaintext value being encrypted. On decryption the provided context is validated against the value used during encryption. If a context was provided during encryption, same context must be provided during decryption as well. If the context is not set, plaintext would be used as is for encryption. If the context is set but: 1. there is no record present when transforming a given value or 2. the field is not present when transforming a given value, plaintext would be used as is for encryption. Note that case (1) is expected when an `InfoTypeTransformation` is applied to both structured and non-structured `ContentItem`s. + "context": { # General identifier of a data field in a storage service. # A context may be used for higher security and maintaining referential integrity such that the same identifier in two different contexts will be given a distinct surrogate. The context is appended to plaintext value being encrypted. On decryption the provided context is validated against the value used during encryption. If a context was provided during encryption, same context must be provided during decryption as well. If the context is not set, plaintext would be used as is for encryption. If the context is set but: 1. there is no record present when transforming a given value or 2. the field is not present when transforming a given value, plaintext would be used as is for encryption. Note that case (1) is expected when an `InfoTypeTransformation` is applied to both structured and unstructured `ContentItem`s. "name": "A String", # Name describing the field. }, "cryptoKey": { # This is a data encryption key (DEK) (as opposed to a key encryption key (KEK) stored by Cloud Key Management Service (Cloud KMS). When using Cloud KMS to wrap or unwrap a DEK, be sure to set an appropriate IAM policy on the KEK to ensure an attacker cannot unwrap the DEK. # The key used by the encryption function. For deterministic encryption using AES-SIV, the provided key is internally expanded to 64 bytes prior to use. @@ -2739,7 +2739,7 @@

Method Details

}, "cryptoReplaceFfxFpeConfig": { # Replaces an identifier with a surrogate using Format Preserving Encryption (FPE) with the FFX mode of operation; however when used in the `ReidentifyContent` API method, it serves the opposite function by reversing the surrogate back into the original identifier. The identifier must be encoded as ASCII. For a given crypto key and context, the same identifier will be replaced with the same surrogate. Identifiers must be at least two characters long. In the case that the identifier is the empty string, it will be skipped. See https://cloud.google.com/dlp/docs/pseudonymization to learn more. Note: We recommend using CryptoDeterministicConfig for all use cases which do not require preserving the input alphabet space and size, plus warrant referential integrity. # Ffx-Fpe "commonAlphabet": "A String", # Common alphabets. - "context": { # General identifier of a data field in a storage service. # The 'tweak', a context may be used for higher security since the same identifier in two different contexts won't be given the same surrogate. If the context is not set, a default tweak will be used. If the context is set but: 1. there is no record present when transforming a given value or 1. the field is not present when transforming a given value, a default tweak will be used. Note that case (1) is expected when an `InfoTypeTransformation` is applied to both structured and non-structured `ContentItem`s. Currently, the referenced field may be of value type integer or string. The tweak is constructed as a sequence of bytes in big endian byte order such that: - a 64 bit integer is encoded followed by a single byte of value 1 - a string is encoded in UTF-8 format followed by a single byte of value 2 + "context": { # General identifier of a data field in a storage service. # The 'tweak', a context may be used for higher security since the same identifier in two different contexts won't be given the same surrogate. If the context is not set, a default tweak will be used. If the context is set but: 1. there is no record present when transforming a given value or 1. the field is not present when transforming a given value, a default tweak will be used. Note that case (1) is expected when an `InfoTypeTransformation` is applied to both structured and unstructured `ContentItem`s. Currently, the referenced field may be of value type integer or string. The tweak is constructed as a sequence of bytes in big endian byte order such that: - a 64 bit integer is encoded followed by a single byte of value 1 - a string is encoded in UTF-8 format followed by a single byte of value 2 "name": "A String", # Name describing the field. }, "cryptoKey": { # This is a data encryption key (DEK) (as opposed to a key encryption key (KEK) stored by Cloud Key Management Service (Cloud KMS). When using Cloud KMS to wrap or unwrap a DEK, be sure to set an appropriate IAM policy on the KEK to ensure an attacker cannot unwrap the DEK. # Required. The key used by the encryption algorithm. @@ -2864,7 +2864,7 @@

Method Details

"fieldTransformations": [ # Transform the record by applying various field transformations. { # The transformation to apply to the field. "condition": { # A condition for determining whether a transformation should be applied to a field. # Only apply the transformation if the condition evaluates to true for the given `RecordCondition`. The conditions are allowed to reference fields that are not used in the actual transformation. Example Use Cases: - Apply a different bucket transformation to an age column if the zip code column for the same record is within a specific range. - Redact a field if the date of birth field is greater than 85. - "expressions": { # An expression, consisting or an operator and conditions. # An expression. + "expressions": { # An expression, consisting of an operator and conditions. # An expression. "conditions": { # A collection of conditions. # Conditions to apply to the expression. "conditions": [ # A collection of conditions. { # The field type of `value` and `field` do not need to match to be considered equal, but not all comparisons are possible. EQUAL_TO and NOT_EQUAL_TO attempt to compare even with incompatible types, but all other comparisons are invalid with incompatible types. A `value` of type: - `string` can be compared against all other types - `boolean` can only be compared against other booleans - `integer` can be compared against doubles or a string if the string value can be parsed as an integer. - `double` can be compared against integers or a string if the string can be parsed as a double. - `Timestamp` can be compared against strings in RFC 3339 date string format. - `TimeOfDay` can be compared against timestamps and strings in the format of 'HH:mm:ss'. If we fail to compare do to type mismatch, a warning will be given and the condition will evaluate to false. @@ -2987,7 +2987,7 @@

Method Details

"reverseOrder": True or False, # Mask characters in reverse order. For example, if `masking_character` is `0`, `number_to_mask` is `14`, and `reverse_order` is `false`, then the input string `1234-5678-9012-3456` is masked as `00000000000000-3456`. If `masking_character` is `*`, `number_to_mask` is `3`, and `reverse_order` is `true`, then the string `12345` is masked as `12***`. }, "cryptoDeterministicConfig": { # Pseudonymization method that generates deterministic encryption for the given input. Outputs a base64 encoded representation of the encrypted output. Uses AES-SIV based on the RFC https://tools.ietf.org/html/rfc5297. # Deterministic Crypto - "context": { # General identifier of a data field in a storage service. # A context may be used for higher security and maintaining referential integrity such that the same identifier in two different contexts will be given a distinct surrogate. The context is appended to plaintext value being encrypted. On decryption the provided context is validated against the value used during encryption. If a context was provided during encryption, same context must be provided during decryption as well. If the context is not set, plaintext would be used as is for encryption. If the context is set but: 1. there is no record present when transforming a given value or 2. the field is not present when transforming a given value, plaintext would be used as is for encryption. Note that case (1) is expected when an `InfoTypeTransformation` is applied to both structured and non-structured `ContentItem`s. + "context": { # General identifier of a data field in a storage service. # A context may be used for higher security and maintaining referential integrity such that the same identifier in two different contexts will be given a distinct surrogate. The context is appended to plaintext value being encrypted. On decryption the provided context is validated against the value used during encryption. If a context was provided during encryption, same context must be provided during decryption as well. If the context is not set, plaintext would be used as is for encryption. If the context is set but: 1. there is no record present when transforming a given value or 2. the field is not present when transforming a given value, plaintext would be used as is for encryption. Note that case (1) is expected when an `InfoTypeTransformation` is applied to both structured and unstructured `ContentItem`s. "name": "A String", # Name describing the field. }, "cryptoKey": { # This is a data encryption key (DEK) (as opposed to a key encryption key (KEK) stored by Cloud Key Management Service (Cloud KMS). When using Cloud KMS to wrap or unwrap a DEK, be sure to set an appropriate IAM policy on the KEK to ensure an attacker cannot unwrap the DEK. # The key used by the encryption function. For deterministic encryption using AES-SIV, the provided key is internally expanded to 64 bytes prior to use. @@ -3023,7 +3023,7 @@

Method Details

}, "cryptoReplaceFfxFpeConfig": { # Replaces an identifier with a surrogate using Format Preserving Encryption (FPE) with the FFX mode of operation; however when used in the `ReidentifyContent` API method, it serves the opposite function by reversing the surrogate back into the original identifier. The identifier must be encoded as ASCII. For a given crypto key and context, the same identifier will be replaced with the same surrogate. Identifiers must be at least two characters long. In the case that the identifier is the empty string, it will be skipped. See https://cloud.google.com/dlp/docs/pseudonymization to learn more. Note: We recommend using CryptoDeterministicConfig for all use cases which do not require preserving the input alphabet space and size, plus warrant referential integrity. # Ffx-Fpe "commonAlphabet": "A String", # Common alphabets. - "context": { # General identifier of a data field in a storage service. # The 'tweak', a context may be used for higher security since the same identifier in two different contexts won't be given the same surrogate. If the context is not set, a default tweak will be used. If the context is set but: 1. there is no record present when transforming a given value or 1. the field is not present when transforming a given value, a default tweak will be used. Note that case (1) is expected when an `InfoTypeTransformation` is applied to both structured and non-structured `ContentItem`s. Currently, the referenced field may be of value type integer or string. The tweak is constructed as a sequence of bytes in big endian byte order such that: - a 64 bit integer is encoded followed by a single byte of value 1 - a string is encoded in UTF-8 format followed by a single byte of value 2 + "context": { # General identifier of a data field in a storage service. # The 'tweak', a context may be used for higher security since the same identifier in two different contexts won't be given the same surrogate. If the context is not set, a default tweak will be used. If the context is set but: 1. there is no record present when transforming a given value or 1. the field is not present when transforming a given value, a default tweak will be used. Note that case (1) is expected when an `InfoTypeTransformation` is applied to both structured and unstructured `ContentItem`s. Currently, the referenced field may be of value type integer or string. The tweak is constructed as a sequence of bytes in big endian byte order such that: - a 64 bit integer is encoded followed by a single byte of value 1 - a string is encoded in UTF-8 format followed by a single byte of value 2 "name": "A String", # Name describing the field. }, "cryptoKey": { # This is a data encryption key (DEK) (as opposed to a key encryption key (KEK) stored by Cloud Key Management Service (Cloud KMS). When using Cloud KMS to wrap or unwrap a DEK, be sure to set an appropriate IAM policy on the KEK to ensure an attacker cannot unwrap the DEK. # Required. The key used by the encryption algorithm. @@ -3220,7 +3220,7 @@

Method Details

"reverseOrder": True or False, # Mask characters in reverse order. For example, if `masking_character` is `0`, `number_to_mask` is `14`, and `reverse_order` is `false`, then the input string `1234-5678-9012-3456` is masked as `00000000000000-3456`. If `masking_character` is `*`, `number_to_mask` is `3`, and `reverse_order` is `true`, then the string `12345` is masked as `12***`. }, "cryptoDeterministicConfig": { # Pseudonymization method that generates deterministic encryption for the given input. Outputs a base64 encoded representation of the encrypted output. Uses AES-SIV based on the RFC https://tools.ietf.org/html/rfc5297. # Deterministic Crypto - "context": { # General identifier of a data field in a storage service. # A context may be used for higher security and maintaining referential integrity such that the same identifier in two different contexts will be given a distinct surrogate. The context is appended to plaintext value being encrypted. On decryption the provided context is validated against the value used during encryption. If a context was provided during encryption, same context must be provided during decryption as well. If the context is not set, plaintext would be used as is for encryption. If the context is set but: 1. there is no record present when transforming a given value or 2. the field is not present when transforming a given value, plaintext would be used as is for encryption. Note that case (1) is expected when an `InfoTypeTransformation` is applied to both structured and non-structured `ContentItem`s. + "context": { # General identifier of a data field in a storage service. # A context may be used for higher security and maintaining referential integrity such that the same identifier in two different contexts will be given a distinct surrogate. The context is appended to plaintext value being encrypted. On decryption the provided context is validated against the value used during encryption. If a context was provided during encryption, same context must be provided during decryption as well. If the context is not set, plaintext would be used as is for encryption. If the context is set but: 1. there is no record present when transforming a given value or 2. the field is not present when transforming a given value, plaintext would be used as is for encryption. Note that case (1) is expected when an `InfoTypeTransformation` is applied to both structured and unstructured `ContentItem`s. "name": "A String", # Name describing the field. }, "cryptoKey": { # This is a data encryption key (DEK) (as opposed to a key encryption key (KEK) stored by Cloud Key Management Service (Cloud KMS). When using Cloud KMS to wrap or unwrap a DEK, be sure to set an appropriate IAM policy on the KEK to ensure an attacker cannot unwrap the DEK. # The key used by the encryption function. For deterministic encryption using AES-SIV, the provided key is internally expanded to 64 bytes prior to use. @@ -3256,7 +3256,7 @@

Method Details

}, "cryptoReplaceFfxFpeConfig": { # Replaces an identifier with a surrogate using Format Preserving Encryption (FPE) with the FFX mode of operation; however when used in the `ReidentifyContent` API method, it serves the opposite function by reversing the surrogate back into the original identifier. The identifier must be encoded as ASCII. For a given crypto key and context, the same identifier will be replaced with the same surrogate. Identifiers must be at least two characters long. In the case that the identifier is the empty string, it will be skipped. See https://cloud.google.com/dlp/docs/pseudonymization to learn more. Note: We recommend using CryptoDeterministicConfig for all use cases which do not require preserving the input alphabet space and size, plus warrant referential integrity. # Ffx-Fpe "commonAlphabet": "A String", # Common alphabets. - "context": { # General identifier of a data field in a storage service. # The 'tweak', a context may be used for higher security since the same identifier in two different contexts won't be given the same surrogate. If the context is not set, a default tweak will be used. If the context is set but: 1. there is no record present when transforming a given value or 1. the field is not present when transforming a given value, a default tweak will be used. Note that case (1) is expected when an `InfoTypeTransformation` is applied to both structured and non-structured `ContentItem`s. Currently, the referenced field may be of value type integer or string. The tweak is constructed as a sequence of bytes in big endian byte order such that: - a 64 bit integer is encoded followed by a single byte of value 1 - a string is encoded in UTF-8 format followed by a single byte of value 2 + "context": { # General identifier of a data field in a storage service. # The 'tweak', a context may be used for higher security since the same identifier in two different contexts won't be given the same surrogate. If the context is not set, a default tweak will be used. If the context is set but: 1. there is no record present when transforming a given value or 1. the field is not present when transforming a given value, a default tweak will be used. Note that case (1) is expected when an `InfoTypeTransformation` is applied to both structured and unstructured `ContentItem`s. Currently, the referenced field may be of value type integer or string. The tweak is constructed as a sequence of bytes in big endian byte order such that: - a 64 bit integer is encoded followed by a single byte of value 1 - a string is encoded in UTF-8 format followed by a single byte of value 2 "name": "A String", # Name describing the field. }, "cryptoKey": { # This is a data encryption key (DEK) (as opposed to a key encryption key (KEK) stored by Cloud Key Management Service (Cloud KMS). When using Cloud KMS to wrap or unwrap a DEK, be sure to set an appropriate IAM policy on the KEK to ensure an attacker cannot unwrap the DEK. # Required. The key used by the encryption algorithm. @@ -3379,7 +3379,7 @@

Method Details

"recordSuppressions": [ # Configuration defining which records get suppressed entirely. Records that match any suppression rule are omitted from the output. { # Configuration to suppress records whose suppression conditions evaluate to true. "condition": { # A condition for determining whether a transformation should be applied to a field. # A condition that when it evaluates to true will result in the record being evaluated to be suppressed from the transformed content. - "expressions": { # An expression, consisting or an operator and conditions. # An expression. + "expressions": { # An expression, consisting of an operator and conditions. # An expression. "conditions": { # A collection of conditions. # Conditions to apply to the expression. "conditions": [ # A collection of conditions. { # The field type of `value` and `field` do not need to match to be considered equal, but not all comparisons are possible. EQUAL_TO and NOT_EQUAL_TO attempt to compare even with incompatible types, but all other comparisons are invalid with incompatible types. A `value` of type: - `string` can be compared against all other types - `boolean` can only be compared against other booleans - `integer` can be compared against doubles or a string if the string value can be parsed as an integer. - `double` can be compared against integers or a string if the string can be parsed as a double. - `Timestamp` can be compared against strings in RFC 3339 date string format. - `TimeOfDay` can be compared against timestamps and strings in the format of 'HH:mm:ss'. If we fail to compare do to type mismatch, a warning will be given and the condition will evaluate to false. @@ -3544,7 +3544,7 @@

Method Details

"reverseOrder": True or False, # Mask characters in reverse order. For example, if `masking_character` is `0`, `number_to_mask` is `14`, and `reverse_order` is `false`, then the input string `1234-5678-9012-3456` is masked as `00000000000000-3456`. If `masking_character` is `*`, `number_to_mask` is `3`, and `reverse_order` is `true`, then the string `12345` is masked as `12***`. }, "cryptoDeterministicConfig": { # Pseudonymization method that generates deterministic encryption for the given input. Outputs a base64 encoded representation of the encrypted output. Uses AES-SIV based on the RFC https://tools.ietf.org/html/rfc5297. # Deterministic Crypto - "context": { # General identifier of a data field in a storage service. # A context may be used for higher security and maintaining referential integrity such that the same identifier in two different contexts will be given a distinct surrogate. The context is appended to plaintext value being encrypted. On decryption the provided context is validated against the value used during encryption. If a context was provided during encryption, same context must be provided during decryption as well. If the context is not set, plaintext would be used as is for encryption. If the context is set but: 1. there is no record present when transforming a given value or 2. the field is not present when transforming a given value, plaintext would be used as is for encryption. Note that case (1) is expected when an `InfoTypeTransformation` is applied to both structured and non-structured `ContentItem`s. + "context": { # General identifier of a data field in a storage service. # A context may be used for higher security and maintaining referential integrity such that the same identifier in two different contexts will be given a distinct surrogate. The context is appended to plaintext value being encrypted. On decryption the provided context is validated against the value used during encryption. If a context was provided during encryption, same context must be provided during decryption as well. If the context is not set, plaintext would be used as is for encryption. If the context is set but: 1. there is no record present when transforming a given value or 2. the field is not present when transforming a given value, plaintext would be used as is for encryption. Note that case (1) is expected when an `InfoTypeTransformation` is applied to both structured and unstructured `ContentItem`s. "name": "A String", # Name describing the field. }, "cryptoKey": { # This is a data encryption key (DEK) (as opposed to a key encryption key (KEK) stored by Cloud Key Management Service (Cloud KMS). When using Cloud KMS to wrap or unwrap a DEK, be sure to set an appropriate IAM policy on the KEK to ensure an attacker cannot unwrap the DEK. # The key used by the encryption function. For deterministic encryption using AES-SIV, the provided key is internally expanded to 64 bytes prior to use. @@ -3580,7 +3580,7 @@

Method Details

}, "cryptoReplaceFfxFpeConfig": { # Replaces an identifier with a surrogate using Format Preserving Encryption (FPE) with the FFX mode of operation; however when used in the `ReidentifyContent` API method, it serves the opposite function by reversing the surrogate back into the original identifier. The identifier must be encoded as ASCII. For a given crypto key and context, the same identifier will be replaced with the same surrogate. Identifiers must be at least two characters long. In the case that the identifier is the empty string, it will be skipped. See https://cloud.google.com/dlp/docs/pseudonymization to learn more. Note: We recommend using CryptoDeterministicConfig for all use cases which do not require preserving the input alphabet space and size, plus warrant referential integrity. # Ffx-Fpe "commonAlphabet": "A String", # Common alphabets. - "context": { # General identifier of a data field in a storage service. # The 'tweak', a context may be used for higher security since the same identifier in two different contexts won't be given the same surrogate. If the context is not set, a default tweak will be used. If the context is set but: 1. there is no record present when transforming a given value or 1. the field is not present when transforming a given value, a default tweak will be used. Note that case (1) is expected when an `InfoTypeTransformation` is applied to both structured and non-structured `ContentItem`s. Currently, the referenced field may be of value type integer or string. The tweak is constructed as a sequence of bytes in big endian byte order such that: - a 64 bit integer is encoded followed by a single byte of value 1 - a string is encoded in UTF-8 format followed by a single byte of value 2 + "context": { # General identifier of a data field in a storage service. # The 'tweak', a context may be used for higher security since the same identifier in two different contexts won't be given the same surrogate. If the context is not set, a default tweak will be used. If the context is set but: 1. there is no record present when transforming a given value or 1. the field is not present when transforming a given value, a default tweak will be used. Note that case (1) is expected when an `InfoTypeTransformation` is applied to both structured and unstructured `ContentItem`s. Currently, the referenced field may be of value type integer or string. The tweak is constructed as a sequence of bytes in big endian byte order such that: - a 64 bit integer is encoded followed by a single byte of value 1 - a string is encoded in UTF-8 format followed by a single byte of value 2 "name": "A String", # Name describing the field. }, "cryptoKey": { # This is a data encryption key (DEK) (as opposed to a key encryption key (KEK) stored by Cloud Key Management Service (Cloud KMS). When using Cloud KMS to wrap or unwrap a DEK, be sure to set an appropriate IAM policy on the KEK to ensure an attacker cannot unwrap the DEK. # Required. The key used by the encryption algorithm. @@ -3705,7 +3705,7 @@

Method Details

"fieldTransformations": [ # Transform the record by applying various field transformations. { # The transformation to apply to the field. "condition": { # A condition for determining whether a transformation should be applied to a field. # Only apply the transformation if the condition evaluates to true for the given `RecordCondition`. The conditions are allowed to reference fields that are not used in the actual transformation. Example Use Cases: - Apply a different bucket transformation to an age column if the zip code column for the same record is within a specific range. - Redact a field if the date of birth field is greater than 85. - "expressions": { # An expression, consisting or an operator and conditions. # An expression. + "expressions": { # An expression, consisting of an operator and conditions. # An expression. "conditions": { # A collection of conditions. # Conditions to apply to the expression. "conditions": [ # A collection of conditions. { # The field type of `value` and `field` do not need to match to be considered equal, but not all comparisons are possible. EQUAL_TO and NOT_EQUAL_TO attempt to compare even with incompatible types, but all other comparisons are invalid with incompatible types. A `value` of type: - `string` can be compared against all other types - `boolean` can only be compared against other booleans - `integer` can be compared against doubles or a string if the string value can be parsed as an integer. - `double` can be compared against integers or a string if the string can be parsed as a double. - `Timestamp` can be compared against strings in RFC 3339 date string format. - `TimeOfDay` can be compared against timestamps and strings in the format of 'HH:mm:ss'. If we fail to compare do to type mismatch, a warning will be given and the condition will evaluate to false. @@ -3828,7 +3828,7 @@

Method Details

"reverseOrder": True or False, # Mask characters in reverse order. For example, if `masking_character` is `0`, `number_to_mask` is `14`, and `reverse_order` is `false`, then the input string `1234-5678-9012-3456` is masked as `00000000000000-3456`. If `masking_character` is `*`, `number_to_mask` is `3`, and `reverse_order` is `true`, then the string `12345` is masked as `12***`. }, "cryptoDeterministicConfig": { # Pseudonymization method that generates deterministic encryption for the given input. Outputs a base64 encoded representation of the encrypted output. Uses AES-SIV based on the RFC https://tools.ietf.org/html/rfc5297. # Deterministic Crypto - "context": { # General identifier of a data field in a storage service. # A context may be used for higher security and maintaining referential integrity such that the same identifier in two different contexts will be given a distinct surrogate. The context is appended to plaintext value being encrypted. On decryption the provided context is validated against the value used during encryption. If a context was provided during encryption, same context must be provided during decryption as well. If the context is not set, plaintext would be used as is for encryption. If the context is set but: 1. there is no record present when transforming a given value or 2. the field is not present when transforming a given value, plaintext would be used as is for encryption. Note that case (1) is expected when an `InfoTypeTransformation` is applied to both structured and non-structured `ContentItem`s. + "context": { # General identifier of a data field in a storage service. # A context may be used for higher security and maintaining referential integrity such that the same identifier in two different contexts will be given a distinct surrogate. The context is appended to plaintext value being encrypted. On decryption the provided context is validated against the value used during encryption. If a context was provided during encryption, same context must be provided during decryption as well. If the context is not set, plaintext would be used as is for encryption. If the context is set but: 1. there is no record present when transforming a given value or 2. the field is not present when transforming a given value, plaintext would be used as is for encryption. Note that case (1) is expected when an `InfoTypeTransformation` is applied to both structured and unstructured `ContentItem`s. "name": "A String", # Name describing the field. }, "cryptoKey": { # This is a data encryption key (DEK) (as opposed to a key encryption key (KEK) stored by Cloud Key Management Service (Cloud KMS). When using Cloud KMS to wrap or unwrap a DEK, be sure to set an appropriate IAM policy on the KEK to ensure an attacker cannot unwrap the DEK. # The key used by the encryption function. For deterministic encryption using AES-SIV, the provided key is internally expanded to 64 bytes prior to use. @@ -3864,7 +3864,7 @@

Method Details

}, "cryptoReplaceFfxFpeConfig": { # Replaces an identifier with a surrogate using Format Preserving Encryption (FPE) with the FFX mode of operation; however when used in the `ReidentifyContent` API method, it serves the opposite function by reversing the surrogate back into the original identifier. The identifier must be encoded as ASCII. For a given crypto key and context, the same identifier will be replaced with the same surrogate. Identifiers must be at least two characters long. In the case that the identifier is the empty string, it will be skipped. See https://cloud.google.com/dlp/docs/pseudonymization to learn more. Note: We recommend using CryptoDeterministicConfig for all use cases which do not require preserving the input alphabet space and size, plus warrant referential integrity. # Ffx-Fpe "commonAlphabet": "A String", # Common alphabets. - "context": { # General identifier of a data field in a storage service. # The 'tweak', a context may be used for higher security since the same identifier in two different contexts won't be given the same surrogate. If the context is not set, a default tweak will be used. If the context is set but: 1. there is no record present when transforming a given value or 1. the field is not present when transforming a given value, a default tweak will be used. Note that case (1) is expected when an `InfoTypeTransformation` is applied to both structured and non-structured `ContentItem`s. Currently, the referenced field may be of value type integer or string. The tweak is constructed as a sequence of bytes in big endian byte order such that: - a 64 bit integer is encoded followed by a single byte of value 1 - a string is encoded in UTF-8 format followed by a single byte of value 2 + "context": { # General identifier of a data field in a storage service. # The 'tweak', a context may be used for higher security since the same identifier in two different contexts won't be given the same surrogate. If the context is not set, a default tweak will be used. If the context is set but: 1. there is no record present when transforming a given value or 1. the field is not present when transforming a given value, a default tweak will be used. Note that case (1) is expected when an `InfoTypeTransformation` is applied to both structured and unstructured `ContentItem`s. Currently, the referenced field may be of value type integer or string. The tweak is constructed as a sequence of bytes in big endian byte order such that: - a 64 bit integer is encoded followed by a single byte of value 1 - a string is encoded in UTF-8 format followed by a single byte of value 2 "name": "A String", # Name describing the field. }, "cryptoKey": { # This is a data encryption key (DEK) (as opposed to a key encryption key (KEK) stored by Cloud Key Management Service (Cloud KMS). When using Cloud KMS to wrap or unwrap a DEK, be sure to set an appropriate IAM policy on the KEK to ensure an attacker cannot unwrap the DEK. # Required. The key used by the encryption algorithm. @@ -4061,7 +4061,7 @@

Method Details

"reverseOrder": True or False, # Mask characters in reverse order. For example, if `masking_character` is `0`, `number_to_mask` is `14`, and `reverse_order` is `false`, then the input string `1234-5678-9012-3456` is masked as `00000000000000-3456`. If `masking_character` is `*`, `number_to_mask` is `3`, and `reverse_order` is `true`, then the string `12345` is masked as `12***`. }, "cryptoDeterministicConfig": { # Pseudonymization method that generates deterministic encryption for the given input. Outputs a base64 encoded representation of the encrypted output. Uses AES-SIV based on the RFC https://tools.ietf.org/html/rfc5297. # Deterministic Crypto - "context": { # General identifier of a data field in a storage service. # A context may be used for higher security and maintaining referential integrity such that the same identifier in two different contexts will be given a distinct surrogate. The context is appended to plaintext value being encrypted. On decryption the provided context is validated against the value used during encryption. If a context was provided during encryption, same context must be provided during decryption as well. If the context is not set, plaintext would be used as is for encryption. If the context is set but: 1. there is no record present when transforming a given value or 2. the field is not present when transforming a given value, plaintext would be used as is for encryption. Note that case (1) is expected when an `InfoTypeTransformation` is applied to both structured and non-structured `ContentItem`s. + "context": { # General identifier of a data field in a storage service. # A context may be used for higher security and maintaining referential integrity such that the same identifier in two different contexts will be given a distinct surrogate. The context is appended to plaintext value being encrypted. On decryption the provided context is validated against the value used during encryption. If a context was provided during encryption, same context must be provided during decryption as well. If the context is not set, plaintext would be used as is for encryption. If the context is set but: 1. there is no record present when transforming a given value or 2. the field is not present when transforming a given value, plaintext would be used as is for encryption. Note that case (1) is expected when an `InfoTypeTransformation` is applied to both structured and unstructured `ContentItem`s. "name": "A String", # Name describing the field. }, "cryptoKey": { # This is a data encryption key (DEK) (as opposed to a key encryption key (KEK) stored by Cloud Key Management Service (Cloud KMS). When using Cloud KMS to wrap or unwrap a DEK, be sure to set an appropriate IAM policy on the KEK to ensure an attacker cannot unwrap the DEK. # The key used by the encryption function. For deterministic encryption using AES-SIV, the provided key is internally expanded to 64 bytes prior to use. @@ -4097,7 +4097,7 @@

Method Details

}, "cryptoReplaceFfxFpeConfig": { # Replaces an identifier with a surrogate using Format Preserving Encryption (FPE) with the FFX mode of operation; however when used in the `ReidentifyContent` API method, it serves the opposite function by reversing the surrogate back into the original identifier. The identifier must be encoded as ASCII. For a given crypto key and context, the same identifier will be replaced with the same surrogate. Identifiers must be at least two characters long. In the case that the identifier is the empty string, it will be skipped. See https://cloud.google.com/dlp/docs/pseudonymization to learn more. Note: We recommend using CryptoDeterministicConfig for all use cases which do not require preserving the input alphabet space and size, plus warrant referential integrity. # Ffx-Fpe "commonAlphabet": "A String", # Common alphabets. - "context": { # General identifier of a data field in a storage service. # The 'tweak', a context may be used for higher security since the same identifier in two different contexts won't be given the same surrogate. If the context is not set, a default tweak will be used. If the context is set but: 1. there is no record present when transforming a given value or 1. the field is not present when transforming a given value, a default tweak will be used. Note that case (1) is expected when an `InfoTypeTransformation` is applied to both structured and non-structured `ContentItem`s. Currently, the referenced field may be of value type integer or string. The tweak is constructed as a sequence of bytes in big endian byte order such that: - a 64 bit integer is encoded followed by a single byte of value 1 - a string is encoded in UTF-8 format followed by a single byte of value 2 + "context": { # General identifier of a data field in a storage service. # The 'tweak', a context may be used for higher security since the same identifier in two different contexts won't be given the same surrogate. If the context is not set, a default tweak will be used. If the context is set but: 1. there is no record present when transforming a given value or 1. the field is not present when transforming a given value, a default tweak will be used. Note that case (1) is expected when an `InfoTypeTransformation` is applied to both structured and unstructured `ContentItem`s. Currently, the referenced field may be of value type integer or string. The tweak is constructed as a sequence of bytes in big endian byte order such that: - a 64 bit integer is encoded followed by a single byte of value 1 - a string is encoded in UTF-8 format followed by a single byte of value 2 "name": "A String", # Name describing the field. }, "cryptoKey": { # This is a data encryption key (DEK) (as opposed to a key encryption key (KEK) stored by Cloud Key Management Service (Cloud KMS). When using Cloud KMS to wrap or unwrap a DEK, be sure to set an appropriate IAM policy on the KEK to ensure an attacker cannot unwrap the DEK. # Required. The key used by the encryption algorithm. @@ -4220,7 +4220,7 @@

Method Details

"recordSuppressions": [ # Configuration defining which records get suppressed entirely. Records that match any suppression rule are omitted from the output. { # Configuration to suppress records whose suppression conditions evaluate to true. "condition": { # A condition for determining whether a transformation should be applied to a field. # A condition that when it evaluates to true will result in the record being evaluated to be suppressed from the transformed content. - "expressions": { # An expression, consisting or an operator and conditions. # An expression. + "expressions": { # An expression, consisting of an operator and conditions. # An expression. "conditions": { # A collection of conditions. # Conditions to apply to the expression. "conditions": [ # A collection of conditions. { # The field type of `value` and `field` do not need to match to be considered equal, but not all comparisons are possible. EQUAL_TO and NOT_EQUAL_TO attempt to compare even with incompatible types, but all other comparisons are invalid with incompatible types. A `value` of type: - `string` can be compared against all other types - `boolean` can only be compared against other booleans - `integer` can be compared against doubles or a string if the string value can be parsed as an integer. - `double` can be compared against integers or a string if the string can be parsed as a double. - `Timestamp` can be compared against strings in RFC 3339 date string format. - `TimeOfDay` can be compared against timestamps and strings in the format of 'HH:mm:ss'. If we fail to compare do to type mismatch, a warning will be given and the condition will evaluate to false. @@ -4367,7 +4367,7 @@

Method Details

"reverseOrder": True or False, # Mask characters in reverse order. For example, if `masking_character` is `0`, `number_to_mask` is `14`, and `reverse_order` is `false`, then the input string `1234-5678-9012-3456` is masked as `00000000000000-3456`. If `masking_character` is `*`, `number_to_mask` is `3`, and `reverse_order` is `true`, then the string `12345` is masked as `12***`. }, "cryptoDeterministicConfig": { # Pseudonymization method that generates deterministic encryption for the given input. Outputs a base64 encoded representation of the encrypted output. Uses AES-SIV based on the RFC https://tools.ietf.org/html/rfc5297. # Deterministic Crypto - "context": { # General identifier of a data field in a storage service. # A context may be used for higher security and maintaining referential integrity such that the same identifier in two different contexts will be given a distinct surrogate. The context is appended to plaintext value being encrypted. On decryption the provided context is validated against the value used during encryption. If a context was provided during encryption, same context must be provided during decryption as well. If the context is not set, plaintext would be used as is for encryption. If the context is set but: 1. there is no record present when transforming a given value or 2. the field is not present when transforming a given value, plaintext would be used as is for encryption. Note that case (1) is expected when an `InfoTypeTransformation` is applied to both structured and non-structured `ContentItem`s. + "context": { # General identifier of a data field in a storage service. # A context may be used for higher security and maintaining referential integrity such that the same identifier in two different contexts will be given a distinct surrogate. The context is appended to plaintext value being encrypted. On decryption the provided context is validated against the value used during encryption. If a context was provided during encryption, same context must be provided during decryption as well. If the context is not set, plaintext would be used as is for encryption. If the context is set but: 1. there is no record present when transforming a given value or 2. the field is not present when transforming a given value, plaintext would be used as is for encryption. Note that case (1) is expected when an `InfoTypeTransformation` is applied to both structured and unstructured `ContentItem`s. "name": "A String", # Name describing the field. }, "cryptoKey": { # This is a data encryption key (DEK) (as opposed to a key encryption key (KEK) stored by Cloud Key Management Service (Cloud KMS). When using Cloud KMS to wrap or unwrap a DEK, be sure to set an appropriate IAM policy on the KEK to ensure an attacker cannot unwrap the DEK. # The key used by the encryption function. For deterministic encryption using AES-SIV, the provided key is internally expanded to 64 bytes prior to use. @@ -4403,7 +4403,7 @@

Method Details

}, "cryptoReplaceFfxFpeConfig": { # Replaces an identifier with a surrogate using Format Preserving Encryption (FPE) with the FFX mode of operation; however when used in the `ReidentifyContent` API method, it serves the opposite function by reversing the surrogate back into the original identifier. The identifier must be encoded as ASCII. For a given crypto key and context, the same identifier will be replaced with the same surrogate. Identifiers must be at least two characters long. In the case that the identifier is the empty string, it will be skipped. See https://cloud.google.com/dlp/docs/pseudonymization to learn more. Note: We recommend using CryptoDeterministicConfig for all use cases which do not require preserving the input alphabet space and size, plus warrant referential integrity. # Ffx-Fpe "commonAlphabet": "A String", # Common alphabets. - "context": { # General identifier of a data field in a storage service. # The 'tweak', a context may be used for higher security since the same identifier in two different contexts won't be given the same surrogate. If the context is not set, a default tweak will be used. If the context is set but: 1. there is no record present when transforming a given value or 1. the field is not present when transforming a given value, a default tweak will be used. Note that case (1) is expected when an `InfoTypeTransformation` is applied to both structured and non-structured `ContentItem`s. Currently, the referenced field may be of value type integer or string. The tweak is constructed as a sequence of bytes in big endian byte order such that: - a 64 bit integer is encoded followed by a single byte of value 1 - a string is encoded in UTF-8 format followed by a single byte of value 2 + "context": { # General identifier of a data field in a storage service. # The 'tweak', a context may be used for higher security since the same identifier in two different contexts won't be given the same surrogate. If the context is not set, a default tweak will be used. If the context is set but: 1. there is no record present when transforming a given value or 1. the field is not present when transforming a given value, a default tweak will be used. Note that case (1) is expected when an `InfoTypeTransformation` is applied to both structured and unstructured `ContentItem`s. Currently, the referenced field may be of value type integer or string. The tweak is constructed as a sequence of bytes in big endian byte order such that: - a 64 bit integer is encoded followed by a single byte of value 1 - a string is encoded in UTF-8 format followed by a single byte of value 2 "name": "A String", # Name describing the field. }, "cryptoKey": { # This is a data encryption key (DEK) (as opposed to a key encryption key (KEK) stored by Cloud Key Management Service (Cloud KMS). When using Cloud KMS to wrap or unwrap a DEK, be sure to set an appropriate IAM policy on the KEK to ensure an attacker cannot unwrap the DEK. # Required. The key used by the encryption algorithm. @@ -4528,7 +4528,7 @@

Method Details

"fieldTransformations": [ # Transform the record by applying various field transformations. { # The transformation to apply to the field. "condition": { # A condition for determining whether a transformation should be applied to a field. # Only apply the transformation if the condition evaluates to true for the given `RecordCondition`. The conditions are allowed to reference fields that are not used in the actual transformation. Example Use Cases: - Apply a different bucket transformation to an age column if the zip code column for the same record is within a specific range. - Redact a field if the date of birth field is greater than 85. - "expressions": { # An expression, consisting or an operator and conditions. # An expression. + "expressions": { # An expression, consisting of an operator and conditions. # An expression. "conditions": { # A collection of conditions. # Conditions to apply to the expression. "conditions": [ # A collection of conditions. { # The field type of `value` and `field` do not need to match to be considered equal, but not all comparisons are possible. EQUAL_TO and NOT_EQUAL_TO attempt to compare even with incompatible types, but all other comparisons are invalid with incompatible types. A `value` of type: - `string` can be compared against all other types - `boolean` can only be compared against other booleans - `integer` can be compared against doubles or a string if the string value can be parsed as an integer. - `double` can be compared against integers or a string if the string can be parsed as a double. - `Timestamp` can be compared against strings in RFC 3339 date string format. - `TimeOfDay` can be compared against timestamps and strings in the format of 'HH:mm:ss'. If we fail to compare do to type mismatch, a warning will be given and the condition will evaluate to false. @@ -4651,7 +4651,7 @@

Method Details

"reverseOrder": True or False, # Mask characters in reverse order. For example, if `masking_character` is `0`, `number_to_mask` is `14`, and `reverse_order` is `false`, then the input string `1234-5678-9012-3456` is masked as `00000000000000-3456`. If `masking_character` is `*`, `number_to_mask` is `3`, and `reverse_order` is `true`, then the string `12345` is masked as `12***`. }, "cryptoDeterministicConfig": { # Pseudonymization method that generates deterministic encryption for the given input. Outputs a base64 encoded representation of the encrypted output. Uses AES-SIV based on the RFC https://tools.ietf.org/html/rfc5297. # Deterministic Crypto - "context": { # General identifier of a data field in a storage service. # A context may be used for higher security and maintaining referential integrity such that the same identifier in two different contexts will be given a distinct surrogate. The context is appended to plaintext value being encrypted. On decryption the provided context is validated against the value used during encryption. If a context was provided during encryption, same context must be provided during decryption as well. If the context is not set, plaintext would be used as is for encryption. If the context is set but: 1. there is no record present when transforming a given value or 2. the field is not present when transforming a given value, plaintext would be used as is for encryption. Note that case (1) is expected when an `InfoTypeTransformation` is applied to both structured and non-structured `ContentItem`s. + "context": { # General identifier of a data field in a storage service. # A context may be used for higher security and maintaining referential integrity such that the same identifier in two different contexts will be given a distinct surrogate. The context is appended to plaintext value being encrypted. On decryption the provided context is validated against the value used during encryption. If a context was provided during encryption, same context must be provided during decryption as well. If the context is not set, plaintext would be used as is for encryption. If the context is set but: 1. there is no record present when transforming a given value or 2. the field is not present when transforming a given value, plaintext would be used as is for encryption. Note that case (1) is expected when an `InfoTypeTransformation` is applied to both structured and unstructured `ContentItem`s. "name": "A String", # Name describing the field. }, "cryptoKey": { # This is a data encryption key (DEK) (as opposed to a key encryption key (KEK) stored by Cloud Key Management Service (Cloud KMS). When using Cloud KMS to wrap or unwrap a DEK, be sure to set an appropriate IAM policy on the KEK to ensure an attacker cannot unwrap the DEK. # The key used by the encryption function. For deterministic encryption using AES-SIV, the provided key is internally expanded to 64 bytes prior to use. @@ -4687,7 +4687,7 @@

Method Details

}, "cryptoReplaceFfxFpeConfig": { # Replaces an identifier with a surrogate using Format Preserving Encryption (FPE) with the FFX mode of operation; however when used in the `ReidentifyContent` API method, it serves the opposite function by reversing the surrogate back into the original identifier. The identifier must be encoded as ASCII. For a given crypto key and context, the same identifier will be replaced with the same surrogate. Identifiers must be at least two characters long. In the case that the identifier is the empty string, it will be skipped. See https://cloud.google.com/dlp/docs/pseudonymization to learn more. Note: We recommend using CryptoDeterministicConfig for all use cases which do not require preserving the input alphabet space and size, plus warrant referential integrity. # Ffx-Fpe "commonAlphabet": "A String", # Common alphabets. - "context": { # General identifier of a data field in a storage service. # The 'tweak', a context may be used for higher security since the same identifier in two different contexts won't be given the same surrogate. If the context is not set, a default tweak will be used. If the context is set but: 1. there is no record present when transforming a given value or 1. the field is not present when transforming a given value, a default tweak will be used. Note that case (1) is expected when an `InfoTypeTransformation` is applied to both structured and non-structured `ContentItem`s. Currently, the referenced field may be of value type integer or string. The tweak is constructed as a sequence of bytes in big endian byte order such that: - a 64 bit integer is encoded followed by a single byte of value 1 - a string is encoded in UTF-8 format followed by a single byte of value 2 + "context": { # General identifier of a data field in a storage service. # The 'tweak', a context may be used for higher security since the same identifier in two different contexts won't be given the same surrogate. If the context is not set, a default tweak will be used. If the context is set but: 1. there is no record present when transforming a given value or 1. the field is not present when transforming a given value, a default tweak will be used. Note that case (1) is expected when an `InfoTypeTransformation` is applied to both structured and unstructured `ContentItem`s. Currently, the referenced field may be of value type integer or string. The tweak is constructed as a sequence of bytes in big endian byte order such that: - a 64 bit integer is encoded followed by a single byte of value 1 - a string is encoded in UTF-8 format followed by a single byte of value 2 "name": "A String", # Name describing the field. }, "cryptoKey": { # This is a data encryption key (DEK) (as opposed to a key encryption key (KEK) stored by Cloud Key Management Service (Cloud KMS). When using Cloud KMS to wrap or unwrap a DEK, be sure to set an appropriate IAM policy on the KEK to ensure an attacker cannot unwrap the DEK. # Required. The key used by the encryption algorithm. @@ -4884,7 +4884,7 @@

Method Details

"reverseOrder": True or False, # Mask characters in reverse order. For example, if `masking_character` is `0`, `number_to_mask` is `14`, and `reverse_order` is `false`, then the input string `1234-5678-9012-3456` is masked as `00000000000000-3456`. If `masking_character` is `*`, `number_to_mask` is `3`, and `reverse_order` is `true`, then the string `12345` is masked as `12***`. }, "cryptoDeterministicConfig": { # Pseudonymization method that generates deterministic encryption for the given input. Outputs a base64 encoded representation of the encrypted output. Uses AES-SIV based on the RFC https://tools.ietf.org/html/rfc5297. # Deterministic Crypto - "context": { # General identifier of a data field in a storage service. # A context may be used for higher security and maintaining referential integrity such that the same identifier in two different contexts will be given a distinct surrogate. The context is appended to plaintext value being encrypted. On decryption the provided context is validated against the value used during encryption. If a context was provided during encryption, same context must be provided during decryption as well. If the context is not set, plaintext would be used as is for encryption. If the context is set but: 1. there is no record present when transforming a given value or 2. the field is not present when transforming a given value, plaintext would be used as is for encryption. Note that case (1) is expected when an `InfoTypeTransformation` is applied to both structured and non-structured `ContentItem`s. + "context": { # General identifier of a data field in a storage service. # A context may be used for higher security and maintaining referential integrity such that the same identifier in two different contexts will be given a distinct surrogate. The context is appended to plaintext value being encrypted. On decryption the provided context is validated against the value used during encryption. If a context was provided during encryption, same context must be provided during decryption as well. If the context is not set, plaintext would be used as is for encryption. If the context is set but: 1. there is no record present when transforming a given value or 2. the field is not present when transforming a given value, plaintext would be used as is for encryption. Note that case (1) is expected when an `InfoTypeTransformation` is applied to both structured and unstructured `ContentItem`s. "name": "A String", # Name describing the field. }, "cryptoKey": { # This is a data encryption key (DEK) (as opposed to a key encryption key (KEK) stored by Cloud Key Management Service (Cloud KMS). When using Cloud KMS to wrap or unwrap a DEK, be sure to set an appropriate IAM policy on the KEK to ensure an attacker cannot unwrap the DEK. # The key used by the encryption function. For deterministic encryption using AES-SIV, the provided key is internally expanded to 64 bytes prior to use. @@ -4920,7 +4920,7 @@

Method Details

}, "cryptoReplaceFfxFpeConfig": { # Replaces an identifier with a surrogate using Format Preserving Encryption (FPE) with the FFX mode of operation; however when used in the `ReidentifyContent` API method, it serves the opposite function by reversing the surrogate back into the original identifier. The identifier must be encoded as ASCII. For a given crypto key and context, the same identifier will be replaced with the same surrogate. Identifiers must be at least two characters long. In the case that the identifier is the empty string, it will be skipped. See https://cloud.google.com/dlp/docs/pseudonymization to learn more. Note: We recommend using CryptoDeterministicConfig for all use cases which do not require preserving the input alphabet space and size, plus warrant referential integrity. # Ffx-Fpe "commonAlphabet": "A String", # Common alphabets. - "context": { # General identifier of a data field in a storage service. # The 'tweak', a context may be used for higher security since the same identifier in two different contexts won't be given the same surrogate. If the context is not set, a default tweak will be used. If the context is set but: 1. there is no record present when transforming a given value or 1. the field is not present when transforming a given value, a default tweak will be used. Note that case (1) is expected when an `InfoTypeTransformation` is applied to both structured and non-structured `ContentItem`s. Currently, the referenced field may be of value type integer or string. The tweak is constructed as a sequence of bytes in big endian byte order such that: - a 64 bit integer is encoded followed by a single byte of value 1 - a string is encoded in UTF-8 format followed by a single byte of value 2 + "context": { # General identifier of a data field in a storage service. # The 'tweak', a context may be used for higher security since the same identifier in two different contexts won't be given the same surrogate. If the context is not set, a default tweak will be used. If the context is set but: 1. there is no record present when transforming a given value or 1. the field is not present when transforming a given value, a default tweak will be used. Note that case (1) is expected when an `InfoTypeTransformation` is applied to both structured and unstructured `ContentItem`s. Currently, the referenced field may be of value type integer or string. The tweak is constructed as a sequence of bytes in big endian byte order such that: - a 64 bit integer is encoded followed by a single byte of value 1 - a string is encoded in UTF-8 format followed by a single byte of value 2 "name": "A String", # Name describing the field. }, "cryptoKey": { # This is a data encryption key (DEK) (as opposed to a key encryption key (KEK) stored by Cloud Key Management Service (Cloud KMS). When using Cloud KMS to wrap or unwrap a DEK, be sure to set an appropriate IAM policy on the KEK to ensure an attacker cannot unwrap the DEK. # Required. The key used by the encryption algorithm. @@ -5043,7 +5043,7 @@

Method Details

"recordSuppressions": [ # Configuration defining which records get suppressed entirely. Records that match any suppression rule are omitted from the output. { # Configuration to suppress records whose suppression conditions evaluate to true. "condition": { # A condition for determining whether a transformation should be applied to a field. # A condition that when it evaluates to true will result in the record being evaluated to be suppressed from the transformed content. - "expressions": { # An expression, consisting or an operator and conditions. # An expression. + "expressions": { # An expression, consisting of an operator and conditions. # An expression. "conditions": { # A collection of conditions. # Conditions to apply to the expression. "conditions": [ # A collection of conditions. { # The field type of `value` and `field` do not need to match to be considered equal, but not all comparisons are possible. EQUAL_TO and NOT_EQUAL_TO attempt to compare even with incompatible types, but all other comparisons are invalid with incompatible types. A `value` of type: - `string` can be compared against all other types - `boolean` can only be compared against other booleans - `integer` can be compared against doubles or a string if the string value can be parsed as an integer. - `double` can be compared against integers or a string if the string can be parsed as a double. - `Timestamp` can be compared against strings in RFC 3339 date string format. - `TimeOfDay` can be compared against timestamps and strings in the format of 'HH:mm:ss'. If we fail to compare do to type mismatch, a warning will be given and the condition will evaluate to false. diff --git a/docs/dyn/dlp_v2.projects.locations.dlpJobs.html b/docs/dyn/dlp_v2.projects.locations.dlpJobs.html index a93a8f9435d..6ac260570d0 100644 --- a/docs/dyn/dlp_v2.projects.locations.dlpJobs.html +++ b/docs/dyn/dlp_v2.projects.locations.dlpJobs.html @@ -85,7 +85,7 @@

Instance Methods

Creates a new job to inspect storage or calculate risk metrics. See https://cloud.google.com/dlp/docs/inspecting-storage and https://cloud.google.com/dlp/docs/compute-risk-analysis to learn more. When no InfoTypes or CustomInfoTypes are specified in inspect jobs, the system will automatically choose what detectors to run. By default this may be all types, but may change over time as detectors are updated.

delete(name, x__xgafv=None)

-

Deletes a long-running DlpJob. This method indicates that the client is no longer interested in the DlpJob result. The job will be cancelled if possible. See https://cloud.google.com/dlp/docs/inspecting-storage and https://cloud.google.com/dlp/docs/compute-risk-analysis to learn more.

+

Deletes a long-running DlpJob. This method indicates that the client is no longer interested in the DlpJob result. The job will be canceled if possible. See https://cloud.google.com/dlp/docs/inspecting-storage and https://cloud.google.com/dlp/docs/compute-risk-analysis to learn more.

finish(name, body=None, x__xgafv=None)

Finish a running hybrid DlpJob. Triggers the finalization steps and running of any enabled actions that have not yet run.

@@ -144,21 +144,39 @@

Method Details

"inspectJob": { # Controls what and how to inspect for findings. # An inspection job scans a storage repository for InfoTypes. "actions": [ # Actions to execute at the completion of the job. { # A task to execute on the completion of a job. See https://cloud.google.com/dlp/docs/concepts-actions to learn more. + "deidentify": { # Create a de-identified copy of the requested table or files. . A TransformationDetail will be created for each transformation. If any rows in BigQuery are skipped during de-identification (transformation errors or row size exceeds BigQuery insert API limits) they are placed in the failure output table. If the original row exceeds the BigQuery insert API limit it will be truncated when written to the failure output table. The failure output table can be set in the action.deidentify.output.big_query_output.deidentified_failure_output_table field, if no table is set, a table will be automatically created in the same project and dataset as the original table. Compatible with: Inspect # Create a de-identified copy of the input data. Applicable for non-image data only. The de-identified copy is in the same location as the original data. + "cloudStorageOutput": "A String", # Required. User settable GCS bucket and folders to store de-identified files. This field must be set for cloud storage deidentification. The output GCS bucket must be different from the input bucket. De-identified files will overwrite files in the output path. Form of: gs://bucket/folder/ or gs://bucket + "fileTypesToTransform": [ # List of user-specified file type groups to transform. If specified, only the files with these filetypes will be transformed. If empty, all supported files will be transformed. Supported types may be automatically added over time. If a file type is set in this field that isn't supported by the Deidentify action then the job will fail and will not be successfully created/started. Currently the only filetypes supported are: IMAGES, TEXT_FILES, CSV, TSV. + "A String", + ], + "transformationConfig": { # User specified templates and configs for how to deidentify structured, unstructures, and image files. User must provide either a unstructured deidentify template or at least one redact image config. # User specified deidentify templates and configs for structured, unstructured, and image files. + "deidentifyTemplate": "A String", # De-identify template. If this template is specified, it will serve as the default de-identify template. This template cannot contain `record_transformations` since it can be used for unstructured content such as free-form text files. If this template is not set, a default `ReplaceWithInfoTypeConfig` will be used to de-identify unstructured content. + "imageRedactTemplate": "A String", # Image redact template. If this template is specified, it will serve as the de-identify template for images. If this template is not set, all findings in the image will be redacted with a black box. + "structuredDeidentifyTemplate": "A String", # Structured de-identify template. If this template is specified, it will serve as the de-identify template for structured content such as delimited files and tables. If this template is not set but the `deidentify_template` is set, then `deidentify_template` will also apply to the structured content. If neither template is set, a default `ReplaceWithInfoTypeConfig` will be used to de-identify structured content. + }, + "transformationDetailsStorageConfig": { # Config for storing transformation details. # Config for storing transformation details. This is separate from the de-identified content, and contains metadata about the successful transformations and/or failures that occurred while de-identifying. This needs to be set in order for users to access information about the status of each transformation (see TransformationDetails message for more information about what is noted). + "table": { # Message defining the location of a BigQuery table. A table is uniquely identified by its project_id, dataset_id, and table_name. Within a query a table is often referenced with a string in the format of: `:.` or `..`. # The BigQuery table in which to store the output. This may be an existing table or in a new table in an existing dataset. If table_id is not set a new one will be generated for you with the following format: dlp_googleapis_transformation_details_yyyy_mm_dd_[dlp_job_id]. Pacific time zone will be used for generating the date details. + "datasetId": "A String", # Dataset ID of the table. + "projectId": "A String", # The Google Cloud Platform project ID of the project containing the table. If omitted, project ID is inferred from the API call. + "tableId": "A String", # Name of the table. + }, + }, + }, "jobNotificationEmails": { # Enable email notification to project owners and editors on jobs's completion/failure. # Enable email notification for project owners and editors on job's completion/failure. }, - "pubSub": { # Publish a message into given Pub/Sub topic when DlpJob has completed. The message contains a single field, `DlpJobName`, which is equal to the finished job's [`DlpJob.name`](https://cloud.google.com/dlp/docs/reference/rest/v2/projects.dlpJobs#DlpJob). Compatible with: Inspect, Risk # Publish a notification to a pubsub topic. + "pubSub": { # Publish a message into a given Pub/Sub topic when DlpJob has completed. The message contains a single field, `DlpJobName`, which is equal to the finished job's [`DlpJob.name`](https://cloud.google.com/dlp/docs/reference/rest/v2/projects.dlpJobs#DlpJob). Compatible with: Inspect, Risk # Publish a notification to a pubsub topic. "topic": "A String", # Cloud Pub/Sub topic to send notifications to. The topic must have given publishing access rights to the DLP API service account executing the long running DlpJob sending the notifications. Format is projects/{project}/topics/{topic}. }, "publishFindingsToCloudDataCatalog": { # Publish findings of a DlpJob to Data Catalog. Labels summarizing the results of the DlpJob will be applied to the entry for the resource scanned in Data Catalog. Any labels previously written by another DlpJob will be deleted. InfoType naming patterns are strictly enforced when using this feature. Note that the findings will be persisted in Data Catalog storage and are governed by Data Catalog service-specific policy, see https://cloud.google.com/terms/service-terms Only a single instance of this action can be specified and only allowed if all resources being scanned are BigQuery tables. Compatible with: Inspect # Publish findings to Cloud Datahub. }, - "publishSummaryToCscc": { # Publish the result summary of a DlpJob to the Cloud Security Command Center (CSCC Alpha). This action is only available for projects which are parts of an organization and whitelisted for the alpha Cloud Security Command Center. The action will publish count of finding instances and their info types. The summary of findings will be persisted in CSCC and are governed by CSCC service-specific policy, see https://cloud.google.com/terms/service-terms Only a single instance of this action can be specified. Compatible with: Inspect # Publish summary to Cloud Security Command Center (Alpha). + "publishSummaryToCscc": { # Publish the result summary of a DlpJob to the Cloud Security Command Center (CSCC Alpha). This action is only available for projects which are parts of an organization and whitelisted for the alpha Cloud Security Command Center. The action will publish the count of finding instances and their info types. The summary of findings will be persisted in CSCC and are governed by CSCC service-specific policy, see https://cloud.google.com/terms/service-terms Only a single instance of this action can be specified. Compatible with: Inspect # Publish summary to Cloud Security Command Center (Alpha). }, "publishToStackdriver": { # Enable Stackdriver metric dlp.googleapis.com/finding_count. This will publish a metric to stack driver on each infotype requested and how many findings were found for it. CustomDetectors will be bucketed as 'Custom' under the Stackdriver label 'info_type'. # Enable Stackdriver metric dlp.googleapis.com/finding_count. }, "saveFindings": { # If set, the detailed findings will be persisted to the specified OutputStorageConfig. Only a single instance of this action can be specified. Compatible with: Inspect, Risk # Save resulting findings in a provided location. "outputConfig": { # Cloud repository for storing output. # Location to store findings outside of DLP. "outputSchema": "A String", # Schema used for writing the findings for Inspect jobs. This field is only used for Inspect and must be unspecified for Risk jobs. Columns are derived from the `Finding` object. If appending to an existing table, any columns from the predefined schema that are missing will be added. No columns in the existing table will be deleted. If unspecified, then all available columns will be used for a new table or an (existing) table with no schema, and no changes will be made to an existing table that has a schema. Only for use with external storage. - "table": { # Message defining the location of a BigQuery table. A table is uniquely identified by its project_id, dataset_id, and table_name. Within a query a table is often referenced with a string in the format of: `:.` or `..`. # Store findings in an existing table or a new table in an existing dataset. If table_id is not set a new one will be generated for you with the following format: dlp_googleapis_yyyy_mm_dd_[dlp_job_id]. Pacific timezone will be used for generating the date details. For Inspect, each column in an existing output table must have the same name, type, and mode of a field in the `Finding` object. For Risk, an existing output table should be the output of a previous Risk analysis job run on the same source table, with the same privacy metric and quasi-identifiers. Risk jobs that analyze the same table but compute a different privacy metric, or use different sets of quasi-identifiers, cannot store their results in the same table. + "table": { # Message defining the location of a BigQuery table. A table is uniquely identified by its project_id, dataset_id, and table_name. Within a query a table is often referenced with a string in the format of: `:.` or `..`. # Store findings in an existing table or a new table in an existing dataset. If table_id is not set a new one will be generated for you with the following format: dlp_googleapis_yyyy_mm_dd_[dlp_job_id]. Pacific time zone will be used for generating the date details. For Inspect, each column in an existing output table must have the same name, type, and mode of a field in the `Finding` object. For Risk, an existing output table should be the output of a previous Risk analysis job run on the same source table, with the same privacy metric and quasi-identifiers. Risk jobs that analyze the same table but compute a different privacy metric, or use different sets of quasi-identifiers, cannot store their results in the same table. "datasetId": "A String", # Dataset ID of the table. "projectId": "A String", # The Google Cloud Platform project ID of the project containing the table. If omitted, project ID is inferred from the API call. "tableId": "A String", # Name of the table. @@ -231,7 +249,7 @@

Method Details

"version": "A String", # Optional version name for this InfoType. }, ], - "limits": { # Configuration to control the number of findings returned for inspection. This is not used for de-identification or data profiling. # Configuration to control the number of findings returned. This is not used for data profiling. + "limits": { # Configuration to control the number of findings returned for inspection. This is not used for de-identification or data profiling. When redacting sensitive data from images, finding limits don't apply. They can cause unexpected or inconsistent results, where only some data is redacted. Don't include finding limits in RedactImage requests. Otherwise, Cloud DLP returns an error. # Configuration to control the number of findings returned. This is not used for data profiling. When redacting sensitive data from images, finding limits don't apply. They can cause unexpected or inconsistent results, where only some data is redacted. Don't include finding limits in RedactImage requests. Otherwise, Cloud DLP returns an error. "maxFindingsPerInfoType": [ # Configuration of findings limit given for specified infoTypes. { # Max findings configuration per infoType, per content item or long running DlpJob. "infoType": { # Type of information detected by the API. # Type of information the findings limit applies to. Only one limit per info_type should be provided. If InfoTypeLimit does not have an info_type, the DLP API applies the limit against all info_types that are found but not specified in another InfoTypeLimit. @@ -266,7 +284,7 @@

Method Details

], }, }, - "excludeInfoTypes": { # List of exclude infoTypes. # Set of infoTypes for which findings would affect this rule. + "excludeInfoTypes": { # List of excluded infoTypes. # Set of infoTypes for which findings would affect this rule. "infoTypes": [ # InfoType list in ExclusionRule rule drops a finding when it overlaps or contained within with a finding of an infoType from this list. For example, for `InspectionRuleSet.info_types` containing "PHONE_NUMBER"` and `exclusion_rule` containing `exclude_info_types.info_types` with "EMAIL_ADDRESS" the phone number findings are dropped if they overlap with EMAIL_ADDRESS finding. That leads to "555-222-2222@example.org" to generate only a single finding, namely email address. { # Type of information detected by the API. "name": "A String", # Name of the information type. Either a name of your choosing when creating a CustomInfoType, or one of the names listed at https://cloud.google.com/dlp/docs/infotypes-reference when specifying a built-in type. When sending Cloud DLP results to Data Catalog, infoType names should conform to the pattern `[A-Za-z0-9$-_]{1,64}`. @@ -330,7 +348,7 @@

Method Details

"tableId": "A String", # Name of the table. }, }, - "cloudStorageOptions": { # Options defining a file or a set of files within a Google Cloud Storage bucket. # Google Cloud Storage options. + "cloudStorageOptions": { # Options defining a file or a set of files within a Cloud Storage bucket. # Cloud Storage options. "bytesLimitPerFile": "A String", # Max number of bytes to scan from a file. If a scanned file's size is bigger than this value then the rest of the bytes are omitted. Only one of bytes_limit_per_file and bytes_limit_per_file_percent can be specified. Cannot be set if de-identification is requested. "bytesLimitPerFilePercent": 42, # Max percentage of bytes to scan from a file. The rest are omitted. The number of bytes scanned is rounded down. Must be between 0 and 100, inclusively. Both 0 and 100 means no limit. Defaults to 0. Only one of bytes_limit_per_file and bytes_limit_per_file_percent can be specified. Cannot be set if de-identification is requested. "fileSet": { # Set of files to scan. # The set of one or more files to scan. @@ -376,11 +394,11 @@

Method Details

], }, }, - "timespanConfig": { # Configuration of the timespan of the items to include in scanning. Currently only supported when inspecting Google Cloud Storage and BigQuery. + "timespanConfig": { # Configuration of the timespan of the items to include in scanning. Currently only supported when inspecting Cloud Storage and BigQuery. "enableAutoPopulationOfTimespanConfig": True or False, # When the job is started by a JobTrigger we will automatically figure out a valid start_time to avoid scanning files that have not been modified since the last time the JobTrigger executed. This will be based on the time of the execution of the last run of the JobTrigger. "endTime": "A String", # Exclude files, tables, or rows newer than this value. If not set, no upper time limit is applied. "startTime": "A String", # Exclude files, tables, or rows older than this value. If not set, no lower time limit is applied. - "timestampField": { # General identifier of a data field in a storage service. # Specification of the field containing the timestamp of scanned items. Used for data sources like Datastore and BigQuery. For BigQuery: If this value is not specified and the table was modified between the given start and end times, the entire table will be scanned. If this value is specified, then rows are filtered based on the given start and end times. Rows with a `NULL` value in the provided BigQuery column are skipped. Valid data types of the provided BigQuery column are: `INTEGER`, `DATE`, `TIMESTAMP`, and `DATETIME`. For Datastore: If this value is specified, then entities are filtered based on the given start and end times. If an entity does not contain the provided timestamp property or contains empty or invalid values, then it is included. Valid data types of the provided timestamp property are: `TIMESTAMP`. + "timestampField": { # General identifier of a data field in a storage service. # Specification of the field containing the timestamp of scanned items. Used for data sources like Datastore and BigQuery. *For BigQuery* If this value is not specified and the table was modified between the given start and end times, the entire table will be scanned. If this value is specified, then rows are filtered based on the given start and end times. Rows with a `NULL` value in the provided BigQuery column are skipped. Valid data types of the provided BigQuery column are: `INTEGER`, `DATE`, `TIMESTAMP`, and `DATETIME`. If your BigQuery table is [partitioned at ingestion time](https://cloud.google.com/bigquery/docs/partitioned-tables#ingestion_time), you can use any of the following pseudo-columns as your timestamp field. When used with Cloud DLP, these pseudo-column names are case sensitive. - _PARTITIONTIME - _PARTITIONDATE - _PARTITION_LOAD_TIME *For Datastore* If this value is specified, then entities are filtered based on the given start and end times. If an entity does not contain the provided timestamp property or contains empty or invalid values, then it is included. Valid data types of the provided timestamp property are: `TIMESTAMP`. See the [known issue](https://cloud.google.com/dlp/docs/known-issues#bq-timespan) related to this operation. "name": "A String", # Name describing the field. }, }, @@ -391,21 +409,39 @@

Method Details

"riskJob": { # Configuration for a risk analysis job. See https://cloud.google.com/dlp/docs/concepts-risk-analysis to learn more. # A risk analysis job calculates re-identification risk metrics for a BigQuery table. "actions": [ # Actions to execute at the completion of the job. Are executed in the order provided. { # A task to execute on the completion of a job. See https://cloud.google.com/dlp/docs/concepts-actions to learn more. + "deidentify": { # Create a de-identified copy of the requested table or files. . A TransformationDetail will be created for each transformation. If any rows in BigQuery are skipped during de-identification (transformation errors or row size exceeds BigQuery insert API limits) they are placed in the failure output table. If the original row exceeds the BigQuery insert API limit it will be truncated when written to the failure output table. The failure output table can be set in the action.deidentify.output.big_query_output.deidentified_failure_output_table field, if no table is set, a table will be automatically created in the same project and dataset as the original table. Compatible with: Inspect # Create a de-identified copy of the input data. Applicable for non-image data only. The de-identified copy is in the same location as the original data. + "cloudStorageOutput": "A String", # Required. User settable GCS bucket and folders to store de-identified files. This field must be set for cloud storage deidentification. The output GCS bucket must be different from the input bucket. De-identified files will overwrite files in the output path. Form of: gs://bucket/folder/ or gs://bucket + "fileTypesToTransform": [ # List of user-specified file type groups to transform. If specified, only the files with these filetypes will be transformed. If empty, all supported files will be transformed. Supported types may be automatically added over time. If a file type is set in this field that isn't supported by the Deidentify action then the job will fail and will not be successfully created/started. Currently the only filetypes supported are: IMAGES, TEXT_FILES, CSV, TSV. + "A String", + ], + "transformationConfig": { # User specified templates and configs for how to deidentify structured, unstructures, and image files. User must provide either a unstructured deidentify template or at least one redact image config. # User specified deidentify templates and configs for structured, unstructured, and image files. + "deidentifyTemplate": "A String", # De-identify template. If this template is specified, it will serve as the default de-identify template. This template cannot contain `record_transformations` since it can be used for unstructured content such as free-form text files. If this template is not set, a default `ReplaceWithInfoTypeConfig` will be used to de-identify unstructured content. + "imageRedactTemplate": "A String", # Image redact template. If this template is specified, it will serve as the de-identify template for images. If this template is not set, all findings in the image will be redacted with a black box. + "structuredDeidentifyTemplate": "A String", # Structured de-identify template. If this template is specified, it will serve as the de-identify template for structured content such as delimited files and tables. If this template is not set but the `deidentify_template` is set, then `deidentify_template` will also apply to the structured content. If neither template is set, a default `ReplaceWithInfoTypeConfig` will be used to de-identify structured content. + }, + "transformationDetailsStorageConfig": { # Config for storing transformation details. # Config for storing transformation details. This is separate from the de-identified content, and contains metadata about the successful transformations and/or failures that occurred while de-identifying. This needs to be set in order for users to access information about the status of each transformation (see TransformationDetails message for more information about what is noted). + "table": { # Message defining the location of a BigQuery table. A table is uniquely identified by its project_id, dataset_id, and table_name. Within a query a table is often referenced with a string in the format of: `:.` or `..`. # The BigQuery table in which to store the output. This may be an existing table or in a new table in an existing dataset. If table_id is not set a new one will be generated for you with the following format: dlp_googleapis_transformation_details_yyyy_mm_dd_[dlp_job_id]. Pacific time zone will be used for generating the date details. + "datasetId": "A String", # Dataset ID of the table. + "projectId": "A String", # The Google Cloud Platform project ID of the project containing the table. If omitted, project ID is inferred from the API call. + "tableId": "A String", # Name of the table. + }, + }, + }, "jobNotificationEmails": { # Enable email notification to project owners and editors on jobs's completion/failure. # Enable email notification for project owners and editors on job's completion/failure. }, - "pubSub": { # Publish a message into given Pub/Sub topic when DlpJob has completed. The message contains a single field, `DlpJobName`, which is equal to the finished job's [`DlpJob.name`](https://cloud.google.com/dlp/docs/reference/rest/v2/projects.dlpJobs#DlpJob). Compatible with: Inspect, Risk # Publish a notification to a pubsub topic. + "pubSub": { # Publish a message into a given Pub/Sub topic when DlpJob has completed. The message contains a single field, `DlpJobName`, which is equal to the finished job's [`DlpJob.name`](https://cloud.google.com/dlp/docs/reference/rest/v2/projects.dlpJobs#DlpJob). Compatible with: Inspect, Risk # Publish a notification to a pubsub topic. "topic": "A String", # Cloud Pub/Sub topic to send notifications to. The topic must have given publishing access rights to the DLP API service account executing the long running DlpJob sending the notifications. Format is projects/{project}/topics/{topic}. }, "publishFindingsToCloudDataCatalog": { # Publish findings of a DlpJob to Data Catalog. Labels summarizing the results of the DlpJob will be applied to the entry for the resource scanned in Data Catalog. Any labels previously written by another DlpJob will be deleted. InfoType naming patterns are strictly enforced when using this feature. Note that the findings will be persisted in Data Catalog storage and are governed by Data Catalog service-specific policy, see https://cloud.google.com/terms/service-terms Only a single instance of this action can be specified and only allowed if all resources being scanned are BigQuery tables. Compatible with: Inspect # Publish findings to Cloud Datahub. }, - "publishSummaryToCscc": { # Publish the result summary of a DlpJob to the Cloud Security Command Center (CSCC Alpha). This action is only available for projects which are parts of an organization and whitelisted for the alpha Cloud Security Command Center. The action will publish count of finding instances and their info types. The summary of findings will be persisted in CSCC and are governed by CSCC service-specific policy, see https://cloud.google.com/terms/service-terms Only a single instance of this action can be specified. Compatible with: Inspect # Publish summary to Cloud Security Command Center (Alpha). + "publishSummaryToCscc": { # Publish the result summary of a DlpJob to the Cloud Security Command Center (CSCC Alpha). This action is only available for projects which are parts of an organization and whitelisted for the alpha Cloud Security Command Center. The action will publish the count of finding instances and their info types. The summary of findings will be persisted in CSCC and are governed by CSCC service-specific policy, see https://cloud.google.com/terms/service-terms Only a single instance of this action can be specified. Compatible with: Inspect # Publish summary to Cloud Security Command Center (Alpha). }, "publishToStackdriver": { # Enable Stackdriver metric dlp.googleapis.com/finding_count. This will publish a metric to stack driver on each infotype requested and how many findings were found for it. CustomDetectors will be bucketed as 'Custom' under the Stackdriver label 'info_type'. # Enable Stackdriver metric dlp.googleapis.com/finding_count. }, "saveFindings": { # If set, the detailed findings will be persisted to the specified OutputStorageConfig. Only a single instance of this action can be specified. Compatible with: Inspect, Risk # Save resulting findings in a provided location. "outputConfig": { # Cloud repository for storing output. # Location to store findings outside of DLP. "outputSchema": "A String", # Schema used for writing the findings for Inspect jobs. This field is only used for Inspect and must be unspecified for Risk jobs. Columns are derived from the `Finding` object. If appending to an existing table, any columns from the predefined schema that are missing will be added. No columns in the existing table will be deleted. If unspecified, then all available columns will be used for a new table or an (existing) table with no schema, and no changes will be made to an existing table that has a schema. Only for use with external storage. - "table": { # Message defining the location of a BigQuery table. A table is uniquely identified by its project_id, dataset_id, and table_name. Within a query a table is often referenced with a string in the format of: `:.` or `..`. # Store findings in an existing table or a new table in an existing dataset. If table_id is not set a new one will be generated for you with the following format: dlp_googleapis_yyyy_mm_dd_[dlp_job_id]. Pacific timezone will be used for generating the date details. For Inspect, each column in an existing output table must have the same name, type, and mode of a field in the `Finding` object. For Risk, an existing output table should be the output of a previous Risk analysis job run on the same source table, with the same privacy metric and quasi-identifiers. Risk jobs that analyze the same table but compute a different privacy metric, or use different sets of quasi-identifiers, cannot store their results in the same table. + "table": { # Message defining the location of a BigQuery table. A table is uniquely identified by its project_id, dataset_id, and table_name. Within a query a table is often referenced with a string in the format of: `:.` or `..`. # Store findings in an existing table or a new table in an existing dataset. If table_id is not set a new one will be generated for you with the following format: dlp_googleapis_yyyy_mm_dd_[dlp_job_id]. Pacific time zone will be used for generating the date details. For Inspect, each column in an existing output table must have the same name, type, and mode of a field in the `Finding` object. For Risk, an existing output table should be the output of a previous Risk analysis job run on the same source table, with the same privacy metric and quasi-identifiers. Risk jobs that analyze the same table but compute a different privacy metric, or use different sets of quasi-identifiers, cannot store their results in the same table. "datasetId": "A String", # Dataset ID of the table. "projectId": "A String", # The Google Cloud Platform project ID of the project containing the table. If omitted, project ID is inferred from the API call. "tableId": "A String", # Name of the table. @@ -562,21 +598,39 @@

Method Details

"jobConfig": { # Controls what and how to inspect for findings. # Inspect config. "actions": [ # Actions to execute at the completion of the job. { # A task to execute on the completion of a job. See https://cloud.google.com/dlp/docs/concepts-actions to learn more. + "deidentify": { # Create a de-identified copy of the requested table or files. . A TransformationDetail will be created for each transformation. If any rows in BigQuery are skipped during de-identification (transformation errors or row size exceeds BigQuery insert API limits) they are placed in the failure output table. If the original row exceeds the BigQuery insert API limit it will be truncated when written to the failure output table. The failure output table can be set in the action.deidentify.output.big_query_output.deidentified_failure_output_table field, if no table is set, a table will be automatically created in the same project and dataset as the original table. Compatible with: Inspect # Create a de-identified copy of the input data. Applicable for non-image data only. The de-identified copy is in the same location as the original data. + "cloudStorageOutput": "A String", # Required. User settable GCS bucket and folders to store de-identified files. This field must be set for cloud storage deidentification. The output GCS bucket must be different from the input bucket. De-identified files will overwrite files in the output path. Form of: gs://bucket/folder/ or gs://bucket + "fileTypesToTransform": [ # List of user-specified file type groups to transform. If specified, only the files with these filetypes will be transformed. If empty, all supported files will be transformed. Supported types may be automatically added over time. If a file type is set in this field that isn't supported by the Deidentify action then the job will fail and will not be successfully created/started. Currently the only filetypes supported are: IMAGES, TEXT_FILES, CSV, TSV. + "A String", + ], + "transformationConfig": { # User specified templates and configs for how to deidentify structured, unstructures, and image files. User must provide either a unstructured deidentify template or at least one redact image config. # User specified deidentify templates and configs for structured, unstructured, and image files. + "deidentifyTemplate": "A String", # De-identify template. If this template is specified, it will serve as the default de-identify template. This template cannot contain `record_transformations` since it can be used for unstructured content such as free-form text files. If this template is not set, a default `ReplaceWithInfoTypeConfig` will be used to de-identify unstructured content. + "imageRedactTemplate": "A String", # Image redact template. If this template is specified, it will serve as the de-identify template for images. If this template is not set, all findings in the image will be redacted with a black box. + "structuredDeidentifyTemplate": "A String", # Structured de-identify template. If this template is specified, it will serve as the de-identify template for structured content such as delimited files and tables. If this template is not set but the `deidentify_template` is set, then `deidentify_template` will also apply to the structured content. If neither template is set, a default `ReplaceWithInfoTypeConfig` will be used to de-identify structured content. + }, + "transformationDetailsStorageConfig": { # Config for storing transformation details. # Config for storing transformation details. This is separate from the de-identified content, and contains metadata about the successful transformations and/or failures that occurred while de-identifying. This needs to be set in order for users to access information about the status of each transformation (see TransformationDetails message for more information about what is noted). + "table": { # Message defining the location of a BigQuery table. A table is uniquely identified by its project_id, dataset_id, and table_name. Within a query a table is often referenced with a string in the format of: `:.` or `..`. # The BigQuery table in which to store the output. This may be an existing table or in a new table in an existing dataset. If table_id is not set a new one will be generated for you with the following format: dlp_googleapis_transformation_details_yyyy_mm_dd_[dlp_job_id]. Pacific time zone will be used for generating the date details. + "datasetId": "A String", # Dataset ID of the table. + "projectId": "A String", # The Google Cloud Platform project ID of the project containing the table. If omitted, project ID is inferred from the API call. + "tableId": "A String", # Name of the table. + }, + }, + }, "jobNotificationEmails": { # Enable email notification to project owners and editors on jobs's completion/failure. # Enable email notification for project owners and editors on job's completion/failure. }, - "pubSub": { # Publish a message into given Pub/Sub topic when DlpJob has completed. The message contains a single field, `DlpJobName`, which is equal to the finished job's [`DlpJob.name`](https://cloud.google.com/dlp/docs/reference/rest/v2/projects.dlpJobs#DlpJob). Compatible with: Inspect, Risk # Publish a notification to a pubsub topic. + "pubSub": { # Publish a message into a given Pub/Sub topic when DlpJob has completed. The message contains a single field, `DlpJobName`, which is equal to the finished job's [`DlpJob.name`](https://cloud.google.com/dlp/docs/reference/rest/v2/projects.dlpJobs#DlpJob). Compatible with: Inspect, Risk # Publish a notification to a pubsub topic. "topic": "A String", # Cloud Pub/Sub topic to send notifications to. The topic must have given publishing access rights to the DLP API service account executing the long running DlpJob sending the notifications. Format is projects/{project}/topics/{topic}. }, "publishFindingsToCloudDataCatalog": { # Publish findings of a DlpJob to Data Catalog. Labels summarizing the results of the DlpJob will be applied to the entry for the resource scanned in Data Catalog. Any labels previously written by another DlpJob will be deleted. InfoType naming patterns are strictly enforced when using this feature. Note that the findings will be persisted in Data Catalog storage and are governed by Data Catalog service-specific policy, see https://cloud.google.com/terms/service-terms Only a single instance of this action can be specified and only allowed if all resources being scanned are BigQuery tables. Compatible with: Inspect # Publish findings to Cloud Datahub. }, - "publishSummaryToCscc": { # Publish the result summary of a DlpJob to the Cloud Security Command Center (CSCC Alpha). This action is only available for projects which are parts of an organization and whitelisted for the alpha Cloud Security Command Center. The action will publish count of finding instances and their info types. The summary of findings will be persisted in CSCC and are governed by CSCC service-specific policy, see https://cloud.google.com/terms/service-terms Only a single instance of this action can be specified. Compatible with: Inspect # Publish summary to Cloud Security Command Center (Alpha). + "publishSummaryToCscc": { # Publish the result summary of a DlpJob to the Cloud Security Command Center (CSCC Alpha). This action is only available for projects which are parts of an organization and whitelisted for the alpha Cloud Security Command Center. The action will publish the count of finding instances and their info types. The summary of findings will be persisted in CSCC and are governed by CSCC service-specific policy, see https://cloud.google.com/terms/service-terms Only a single instance of this action can be specified. Compatible with: Inspect # Publish summary to Cloud Security Command Center (Alpha). }, "publishToStackdriver": { # Enable Stackdriver metric dlp.googleapis.com/finding_count. This will publish a metric to stack driver on each infotype requested and how many findings were found for it. CustomDetectors will be bucketed as 'Custom' under the Stackdriver label 'info_type'. # Enable Stackdriver metric dlp.googleapis.com/finding_count. }, "saveFindings": { # If set, the detailed findings will be persisted to the specified OutputStorageConfig. Only a single instance of this action can be specified. Compatible with: Inspect, Risk # Save resulting findings in a provided location. "outputConfig": { # Cloud repository for storing output. # Location to store findings outside of DLP. "outputSchema": "A String", # Schema used for writing the findings for Inspect jobs. This field is only used for Inspect and must be unspecified for Risk jobs. Columns are derived from the `Finding` object. If appending to an existing table, any columns from the predefined schema that are missing will be added. No columns in the existing table will be deleted. If unspecified, then all available columns will be used for a new table or an (existing) table with no schema, and no changes will be made to an existing table that has a schema. Only for use with external storage. - "table": { # Message defining the location of a BigQuery table. A table is uniquely identified by its project_id, dataset_id, and table_name. Within a query a table is often referenced with a string in the format of: `:.` or `..`. # Store findings in an existing table or a new table in an existing dataset. If table_id is not set a new one will be generated for you with the following format: dlp_googleapis_yyyy_mm_dd_[dlp_job_id]. Pacific timezone will be used for generating the date details. For Inspect, each column in an existing output table must have the same name, type, and mode of a field in the `Finding` object. For Risk, an existing output table should be the output of a previous Risk analysis job run on the same source table, with the same privacy metric and quasi-identifiers. Risk jobs that analyze the same table but compute a different privacy metric, or use different sets of quasi-identifiers, cannot store their results in the same table. + "table": { # Message defining the location of a BigQuery table. A table is uniquely identified by its project_id, dataset_id, and table_name. Within a query a table is often referenced with a string in the format of: `:.` or `..`. # Store findings in an existing table or a new table in an existing dataset. If table_id is not set a new one will be generated for you with the following format: dlp_googleapis_yyyy_mm_dd_[dlp_job_id]. Pacific time zone will be used for generating the date details. For Inspect, each column in an existing output table must have the same name, type, and mode of a field in the `Finding` object. For Risk, an existing output table should be the output of a previous Risk analysis job run on the same source table, with the same privacy metric and quasi-identifiers. Risk jobs that analyze the same table but compute a different privacy metric, or use different sets of quasi-identifiers, cannot store their results in the same table. "datasetId": "A String", # Dataset ID of the table. "projectId": "A String", # The Google Cloud Platform project ID of the project containing the table. If omitted, project ID is inferred from the API call. "tableId": "A String", # Name of the table. @@ -649,7 +703,7 @@

Method Details

"version": "A String", # Optional version name for this InfoType. }, ], - "limits": { # Configuration to control the number of findings returned for inspection. This is not used for de-identification or data profiling. # Configuration to control the number of findings returned. This is not used for data profiling. + "limits": { # Configuration to control the number of findings returned for inspection. This is not used for de-identification or data profiling. When redacting sensitive data from images, finding limits don't apply. They can cause unexpected or inconsistent results, where only some data is redacted. Don't include finding limits in RedactImage requests. Otherwise, Cloud DLP returns an error. # Configuration to control the number of findings returned. This is not used for data profiling. When redacting sensitive data from images, finding limits don't apply. They can cause unexpected or inconsistent results, where only some data is redacted. Don't include finding limits in RedactImage requests. Otherwise, Cloud DLP returns an error. "maxFindingsPerInfoType": [ # Configuration of findings limit given for specified infoTypes. { # Max findings configuration per infoType, per content item or long running DlpJob. "infoType": { # Type of information detected by the API. # Type of information the findings limit applies to. Only one limit per info_type should be provided. If InfoTypeLimit does not have an info_type, the DLP API applies the limit against all info_types that are found but not specified in another InfoTypeLimit. @@ -684,7 +738,7 @@

Method Details

], }, }, - "excludeInfoTypes": { # List of exclude infoTypes. # Set of infoTypes for which findings would affect this rule. + "excludeInfoTypes": { # List of excluded infoTypes. # Set of infoTypes for which findings would affect this rule. "infoTypes": [ # InfoType list in ExclusionRule rule drops a finding when it overlaps or contained within with a finding of an infoType from this list. For example, for `InspectionRuleSet.info_types` containing "PHONE_NUMBER"` and `exclusion_rule` containing `exclude_info_types.info_types` with "EMAIL_ADDRESS" the phone number findings are dropped if they overlap with EMAIL_ADDRESS finding. That leads to "555-222-2222@example.org" to generate only a single finding, namely email address. { # Type of information detected by the API. "name": "A String", # Name of the information type. Either a name of your choosing when creating a CustomInfoType, or one of the names listed at https://cloud.google.com/dlp/docs/infotypes-reference when specifying a built-in type. When sending Cloud DLP results to Data Catalog, infoType names should conform to the pattern `[A-Za-z0-9$-_]{1,64}`. @@ -748,7 +802,7 @@

Method Details

"tableId": "A String", # Name of the table. }, }, - "cloudStorageOptions": { # Options defining a file or a set of files within a Google Cloud Storage bucket. # Google Cloud Storage options. + "cloudStorageOptions": { # Options defining a file or a set of files within a Cloud Storage bucket. # Cloud Storage options. "bytesLimitPerFile": "A String", # Max number of bytes to scan from a file. If a scanned file's size is bigger than this value then the rest of the bytes are omitted. Only one of bytes_limit_per_file and bytes_limit_per_file_percent can be specified. Cannot be set if de-identification is requested. "bytesLimitPerFilePercent": 42, # Max percentage of bytes to scan from a file. The rest are omitted. The number of bytes scanned is rounded down. Must be between 0 and 100, inclusively. Both 0 and 100 means no limit. Defaults to 0. Only one of bytes_limit_per_file and bytes_limit_per_file_percent can be specified. Cannot be set if de-identification is requested. "fileSet": { # Set of files to scan. # The set of one or more files to scan. @@ -794,11 +848,11 @@

Method Details

], }, }, - "timespanConfig": { # Configuration of the timespan of the items to include in scanning. Currently only supported when inspecting Google Cloud Storage and BigQuery. + "timespanConfig": { # Configuration of the timespan of the items to include in scanning. Currently only supported when inspecting Cloud Storage and BigQuery. "enableAutoPopulationOfTimespanConfig": True or False, # When the job is started by a JobTrigger we will automatically figure out a valid start_time to avoid scanning files that have not been modified since the last time the JobTrigger executed. This will be based on the time of the execution of the last run of the JobTrigger. "endTime": "A String", # Exclude files, tables, or rows newer than this value. If not set, no upper time limit is applied. "startTime": "A String", # Exclude files, tables, or rows older than this value. If not set, no lower time limit is applied. - "timestampField": { # General identifier of a data field in a storage service. # Specification of the field containing the timestamp of scanned items. Used for data sources like Datastore and BigQuery. For BigQuery: If this value is not specified and the table was modified between the given start and end times, the entire table will be scanned. If this value is specified, then rows are filtered based on the given start and end times. Rows with a `NULL` value in the provided BigQuery column are skipped. Valid data types of the provided BigQuery column are: `INTEGER`, `DATE`, `TIMESTAMP`, and `DATETIME`. For Datastore: If this value is specified, then entities are filtered based on the given start and end times. If an entity does not contain the provided timestamp property or contains empty or invalid values, then it is included. Valid data types of the provided timestamp property are: `TIMESTAMP`. + "timestampField": { # General identifier of a data field in a storage service. # Specification of the field containing the timestamp of scanned items. Used for data sources like Datastore and BigQuery. *For BigQuery* If this value is not specified and the table was modified between the given start and end times, the entire table will be scanned. If this value is specified, then rows are filtered based on the given start and end times. Rows with a `NULL` value in the provided BigQuery column are skipped. Valid data types of the provided BigQuery column are: `INTEGER`, `DATE`, `TIMESTAMP`, and `DATETIME`. If your BigQuery table is [partitioned at ingestion time](https://cloud.google.com/bigquery/docs/partitioned-tables#ingestion_time), you can use any of the following pseudo-columns as your timestamp field. When used with Cloud DLP, these pseudo-column names are case sensitive. - _PARTITIONTIME - _PARTITIONDATE - _PARTITION_LOAD_TIME *For Datastore* If this value is specified, then entities are filtered based on the given start and end times. If an entity does not contain the provided timestamp property or contains empty or invalid values, then it is included. Valid data types of the provided timestamp property are: `TIMESTAMP`. See the [known issue](https://cloud.google.com/dlp/docs/known-issues#bq-timespan) related to this operation. "name": "A String", # Name describing the field. }, }, @@ -872,7 +926,7 @@

Method Details

"version": "A String", # Optional version name for this InfoType. }, ], - "limits": { # Configuration to control the number of findings returned for inspection. This is not used for de-identification or data profiling. # Configuration to control the number of findings returned. This is not used for data profiling. + "limits": { # Configuration to control the number of findings returned for inspection. This is not used for de-identification or data profiling. When redacting sensitive data from images, finding limits don't apply. They can cause unexpected or inconsistent results, where only some data is redacted. Don't include finding limits in RedactImage requests. Otherwise, Cloud DLP returns an error. # Configuration to control the number of findings returned. This is not used for data profiling. When redacting sensitive data from images, finding limits don't apply. They can cause unexpected or inconsistent results, where only some data is redacted. Don't include finding limits in RedactImage requests. Otherwise, Cloud DLP returns an error. "maxFindingsPerInfoType": [ # Configuration of findings limit given for specified infoTypes. { # Max findings configuration per infoType, per content item or long running DlpJob. "infoType": { # Type of information detected by the API. # Type of information the findings limit applies to. Only one limit per info_type should be provided. If InfoTypeLimit does not have an info_type, the DLP API applies the limit against all info_types that are found but not specified in another InfoTypeLimit. @@ -907,7 +961,7 @@

Method Details

], }, }, - "excludeInfoTypes": { # List of exclude infoTypes. # Set of infoTypes for which findings would affect this rule. + "excludeInfoTypes": { # List of excluded infoTypes. # Set of infoTypes for which findings would affect this rule. "infoTypes": [ # InfoType list in ExclusionRule rule drops a finding when it overlaps or contained within with a finding of an infoType from this list. For example, for `InspectionRuleSet.info_types` containing "PHONE_NUMBER"` and `exclusion_rule` containing `exclude_info_types.info_types` with "EMAIL_ADDRESS" the phone number findings are dropped if they overlap with EMAIL_ADDRESS finding. That leads to "555-222-2222@example.org" to generate only a single finding, namely email address. { # Type of information detected by the API. "name": "A String", # Name of the information type. Either a name of your choosing when creating a CustomInfoType, or one of the names listed at https://cloud.google.com/dlp/docs/infotypes-reference when specifying a built-in type. When sending Cloud DLP results to Data Catalog, infoType names should conform to the pattern `[A-Za-z0-9$-_]{1,64}`. @@ -1238,21 +1292,39 @@

Method Details

"jobConfig": { # Configuration for a risk analysis job. See https://cloud.google.com/dlp/docs/concepts-risk-analysis to learn more. # The job config for the risk job. "actions": [ # Actions to execute at the completion of the job. Are executed in the order provided. { # A task to execute on the completion of a job. See https://cloud.google.com/dlp/docs/concepts-actions to learn more. + "deidentify": { # Create a de-identified copy of the requested table or files. . A TransformationDetail will be created for each transformation. If any rows in BigQuery are skipped during de-identification (transformation errors or row size exceeds BigQuery insert API limits) they are placed in the failure output table. If the original row exceeds the BigQuery insert API limit it will be truncated when written to the failure output table. The failure output table can be set in the action.deidentify.output.big_query_output.deidentified_failure_output_table field, if no table is set, a table will be automatically created in the same project and dataset as the original table. Compatible with: Inspect # Create a de-identified copy of the input data. Applicable for non-image data only. The de-identified copy is in the same location as the original data. + "cloudStorageOutput": "A String", # Required. User settable GCS bucket and folders to store de-identified files. This field must be set for cloud storage deidentification. The output GCS bucket must be different from the input bucket. De-identified files will overwrite files in the output path. Form of: gs://bucket/folder/ or gs://bucket + "fileTypesToTransform": [ # List of user-specified file type groups to transform. If specified, only the files with these filetypes will be transformed. If empty, all supported files will be transformed. Supported types may be automatically added over time. If a file type is set in this field that isn't supported by the Deidentify action then the job will fail and will not be successfully created/started. Currently the only filetypes supported are: IMAGES, TEXT_FILES, CSV, TSV. + "A String", + ], + "transformationConfig": { # User specified templates and configs for how to deidentify structured, unstructures, and image files. User must provide either a unstructured deidentify template or at least one redact image config. # User specified deidentify templates and configs for structured, unstructured, and image files. + "deidentifyTemplate": "A String", # De-identify template. If this template is specified, it will serve as the default de-identify template. This template cannot contain `record_transformations` since it can be used for unstructured content such as free-form text files. If this template is not set, a default `ReplaceWithInfoTypeConfig` will be used to de-identify unstructured content. + "imageRedactTemplate": "A String", # Image redact template. If this template is specified, it will serve as the de-identify template for images. If this template is not set, all findings in the image will be redacted with a black box. + "structuredDeidentifyTemplate": "A String", # Structured de-identify template. If this template is specified, it will serve as the de-identify template for structured content such as delimited files and tables. If this template is not set but the `deidentify_template` is set, then `deidentify_template` will also apply to the structured content. If neither template is set, a default `ReplaceWithInfoTypeConfig` will be used to de-identify structured content. + }, + "transformationDetailsStorageConfig": { # Config for storing transformation details. # Config for storing transformation details. This is separate from the de-identified content, and contains metadata about the successful transformations and/or failures that occurred while de-identifying. This needs to be set in order for users to access information about the status of each transformation (see TransformationDetails message for more information about what is noted). + "table": { # Message defining the location of a BigQuery table. A table is uniquely identified by its project_id, dataset_id, and table_name. Within a query a table is often referenced with a string in the format of: `:.` or `..`. # The BigQuery table in which to store the output. This may be an existing table or in a new table in an existing dataset. If table_id is not set a new one will be generated for you with the following format: dlp_googleapis_transformation_details_yyyy_mm_dd_[dlp_job_id]. Pacific time zone will be used for generating the date details. + "datasetId": "A String", # Dataset ID of the table. + "projectId": "A String", # The Google Cloud Platform project ID of the project containing the table. If omitted, project ID is inferred from the API call. + "tableId": "A String", # Name of the table. + }, + }, + }, "jobNotificationEmails": { # Enable email notification to project owners and editors on jobs's completion/failure. # Enable email notification for project owners and editors on job's completion/failure. }, - "pubSub": { # Publish a message into given Pub/Sub topic when DlpJob has completed. The message contains a single field, `DlpJobName`, which is equal to the finished job's [`DlpJob.name`](https://cloud.google.com/dlp/docs/reference/rest/v2/projects.dlpJobs#DlpJob). Compatible with: Inspect, Risk # Publish a notification to a pubsub topic. + "pubSub": { # Publish a message into a given Pub/Sub topic when DlpJob has completed. The message contains a single field, `DlpJobName`, which is equal to the finished job's [`DlpJob.name`](https://cloud.google.com/dlp/docs/reference/rest/v2/projects.dlpJobs#DlpJob). Compatible with: Inspect, Risk # Publish a notification to a pubsub topic. "topic": "A String", # Cloud Pub/Sub topic to send notifications to. The topic must have given publishing access rights to the DLP API service account executing the long running DlpJob sending the notifications. Format is projects/{project}/topics/{topic}. }, "publishFindingsToCloudDataCatalog": { # Publish findings of a DlpJob to Data Catalog. Labels summarizing the results of the DlpJob will be applied to the entry for the resource scanned in Data Catalog. Any labels previously written by another DlpJob will be deleted. InfoType naming patterns are strictly enforced when using this feature. Note that the findings will be persisted in Data Catalog storage and are governed by Data Catalog service-specific policy, see https://cloud.google.com/terms/service-terms Only a single instance of this action can be specified and only allowed if all resources being scanned are BigQuery tables. Compatible with: Inspect # Publish findings to Cloud Datahub. }, - "publishSummaryToCscc": { # Publish the result summary of a DlpJob to the Cloud Security Command Center (CSCC Alpha). This action is only available for projects which are parts of an organization and whitelisted for the alpha Cloud Security Command Center. The action will publish count of finding instances and their info types. The summary of findings will be persisted in CSCC and are governed by CSCC service-specific policy, see https://cloud.google.com/terms/service-terms Only a single instance of this action can be specified. Compatible with: Inspect # Publish summary to Cloud Security Command Center (Alpha). + "publishSummaryToCscc": { # Publish the result summary of a DlpJob to the Cloud Security Command Center (CSCC Alpha). This action is only available for projects which are parts of an organization and whitelisted for the alpha Cloud Security Command Center. The action will publish the count of finding instances and their info types. The summary of findings will be persisted in CSCC and are governed by CSCC service-specific policy, see https://cloud.google.com/terms/service-terms Only a single instance of this action can be specified. Compatible with: Inspect # Publish summary to Cloud Security Command Center (Alpha). }, "publishToStackdriver": { # Enable Stackdriver metric dlp.googleapis.com/finding_count. This will publish a metric to stack driver on each infotype requested and how many findings were found for it. CustomDetectors will be bucketed as 'Custom' under the Stackdriver label 'info_type'. # Enable Stackdriver metric dlp.googleapis.com/finding_count. }, "saveFindings": { # If set, the detailed findings will be persisted to the specified OutputStorageConfig. Only a single instance of this action can be specified. Compatible with: Inspect, Risk # Save resulting findings in a provided location. "outputConfig": { # Cloud repository for storing output. # Location to store findings outside of DLP. "outputSchema": "A String", # Schema used for writing the findings for Inspect jobs. This field is only used for Inspect and must be unspecified for Risk jobs. Columns are derived from the `Finding` object. If appending to an existing table, any columns from the predefined schema that are missing will be added. No columns in the existing table will be deleted. If unspecified, then all available columns will be used for a new table or an (existing) table with no schema, and no changes will be made to an existing table that has a schema. Only for use with external storage. - "table": { # Message defining the location of a BigQuery table. A table is uniquely identified by its project_id, dataset_id, and table_name. Within a query a table is often referenced with a string in the format of: `:.` or `..`. # Store findings in an existing table or a new table in an existing dataset. If table_id is not set a new one will be generated for you with the following format: dlp_googleapis_yyyy_mm_dd_[dlp_job_id]. Pacific timezone will be used for generating the date details. For Inspect, each column in an existing output table must have the same name, type, and mode of a field in the `Finding` object. For Risk, an existing output table should be the output of a previous Risk analysis job run on the same source table, with the same privacy metric and quasi-identifiers. Risk jobs that analyze the same table but compute a different privacy metric, or use different sets of quasi-identifiers, cannot store their results in the same table. + "table": { # Message defining the location of a BigQuery table. A table is uniquely identified by its project_id, dataset_id, and table_name. Within a query a table is often referenced with a string in the format of: `:.` or `..`. # Store findings in an existing table or a new table in an existing dataset. If table_id is not set a new one will be generated for you with the following format: dlp_googleapis_yyyy_mm_dd_[dlp_job_id]. Pacific time zone will be used for generating the date details. For Inspect, each column in an existing output table must have the same name, type, and mode of a field in the `Finding` object. For Risk, an existing output table should be the output of a previous Risk analysis job run on the same source table, with the same privacy metric and quasi-identifiers. Risk jobs that analyze the same table but compute a different privacy metric, or use different sets of quasi-identifiers, cannot store their results in the same table. "datasetId": "A String", # Dataset ID of the table. "projectId": "A String", # The Google Cloud Platform project ID of the project containing the table. If omitted, project ID is inferred from the API call. "tableId": "A String", # Name of the table. @@ -1498,7 +1570,7 @@

Method Details

delete(name, x__xgafv=None) -
Deletes a long-running DlpJob. This method indicates that the client is no longer interested in the DlpJob result. The job will be cancelled if possible. See https://cloud.google.com/dlp/docs/inspecting-storage and https://cloud.google.com/dlp/docs/compute-risk-analysis to learn more.
+  
Deletes a long-running DlpJob. This method indicates that the client is no longer interested in the DlpJob result. The job will be canceled if possible. See https://cloud.google.com/dlp/docs/inspecting-storage and https://cloud.google.com/dlp/docs/compute-risk-analysis to learn more.
 
 Args:
   name: string, Required. The name of the DlpJob resource to be deleted. (required)
@@ -1576,21 +1648,39 @@ 

Method Details

"jobConfig": { # Controls what and how to inspect for findings. # Inspect config. "actions": [ # Actions to execute at the completion of the job. { # A task to execute on the completion of a job. See https://cloud.google.com/dlp/docs/concepts-actions to learn more. + "deidentify": { # Create a de-identified copy of the requested table or files. . A TransformationDetail will be created for each transformation. If any rows in BigQuery are skipped during de-identification (transformation errors or row size exceeds BigQuery insert API limits) they are placed in the failure output table. If the original row exceeds the BigQuery insert API limit it will be truncated when written to the failure output table. The failure output table can be set in the action.deidentify.output.big_query_output.deidentified_failure_output_table field, if no table is set, a table will be automatically created in the same project and dataset as the original table. Compatible with: Inspect # Create a de-identified copy of the input data. Applicable for non-image data only. The de-identified copy is in the same location as the original data. + "cloudStorageOutput": "A String", # Required. User settable GCS bucket and folders to store de-identified files. This field must be set for cloud storage deidentification. The output GCS bucket must be different from the input bucket. De-identified files will overwrite files in the output path. Form of: gs://bucket/folder/ or gs://bucket + "fileTypesToTransform": [ # List of user-specified file type groups to transform. If specified, only the files with these filetypes will be transformed. If empty, all supported files will be transformed. Supported types may be automatically added over time. If a file type is set in this field that isn't supported by the Deidentify action then the job will fail and will not be successfully created/started. Currently the only filetypes supported are: IMAGES, TEXT_FILES, CSV, TSV. + "A String", + ], + "transformationConfig": { # User specified templates and configs for how to deidentify structured, unstructures, and image files. User must provide either a unstructured deidentify template or at least one redact image config. # User specified deidentify templates and configs for structured, unstructured, and image files. + "deidentifyTemplate": "A String", # De-identify template. If this template is specified, it will serve as the default de-identify template. This template cannot contain `record_transformations` since it can be used for unstructured content such as free-form text files. If this template is not set, a default `ReplaceWithInfoTypeConfig` will be used to de-identify unstructured content. + "imageRedactTemplate": "A String", # Image redact template. If this template is specified, it will serve as the de-identify template for images. If this template is not set, all findings in the image will be redacted with a black box. + "structuredDeidentifyTemplate": "A String", # Structured de-identify template. If this template is specified, it will serve as the de-identify template for structured content such as delimited files and tables. If this template is not set but the `deidentify_template` is set, then `deidentify_template` will also apply to the structured content. If neither template is set, a default `ReplaceWithInfoTypeConfig` will be used to de-identify structured content. + }, + "transformationDetailsStorageConfig": { # Config for storing transformation details. # Config for storing transformation details. This is separate from the de-identified content, and contains metadata about the successful transformations and/or failures that occurred while de-identifying. This needs to be set in order for users to access information about the status of each transformation (see TransformationDetails message for more information about what is noted). + "table": { # Message defining the location of a BigQuery table. A table is uniquely identified by its project_id, dataset_id, and table_name. Within a query a table is often referenced with a string in the format of: `:.` or `..`. # The BigQuery table in which to store the output. This may be an existing table or in a new table in an existing dataset. If table_id is not set a new one will be generated for you with the following format: dlp_googleapis_transformation_details_yyyy_mm_dd_[dlp_job_id]. Pacific time zone will be used for generating the date details. + "datasetId": "A String", # Dataset ID of the table. + "projectId": "A String", # The Google Cloud Platform project ID of the project containing the table. If omitted, project ID is inferred from the API call. + "tableId": "A String", # Name of the table. + }, + }, + }, "jobNotificationEmails": { # Enable email notification to project owners and editors on jobs's completion/failure. # Enable email notification for project owners and editors on job's completion/failure. }, - "pubSub": { # Publish a message into given Pub/Sub topic when DlpJob has completed. The message contains a single field, `DlpJobName`, which is equal to the finished job's [`DlpJob.name`](https://cloud.google.com/dlp/docs/reference/rest/v2/projects.dlpJobs#DlpJob). Compatible with: Inspect, Risk # Publish a notification to a pubsub topic. + "pubSub": { # Publish a message into a given Pub/Sub topic when DlpJob has completed. The message contains a single field, `DlpJobName`, which is equal to the finished job's [`DlpJob.name`](https://cloud.google.com/dlp/docs/reference/rest/v2/projects.dlpJobs#DlpJob). Compatible with: Inspect, Risk # Publish a notification to a pubsub topic. "topic": "A String", # Cloud Pub/Sub topic to send notifications to. The topic must have given publishing access rights to the DLP API service account executing the long running DlpJob sending the notifications. Format is projects/{project}/topics/{topic}. }, "publishFindingsToCloudDataCatalog": { # Publish findings of a DlpJob to Data Catalog. Labels summarizing the results of the DlpJob will be applied to the entry for the resource scanned in Data Catalog. Any labels previously written by another DlpJob will be deleted. InfoType naming patterns are strictly enforced when using this feature. Note that the findings will be persisted in Data Catalog storage and are governed by Data Catalog service-specific policy, see https://cloud.google.com/terms/service-terms Only a single instance of this action can be specified and only allowed if all resources being scanned are BigQuery tables. Compatible with: Inspect # Publish findings to Cloud Datahub. }, - "publishSummaryToCscc": { # Publish the result summary of a DlpJob to the Cloud Security Command Center (CSCC Alpha). This action is only available for projects which are parts of an organization and whitelisted for the alpha Cloud Security Command Center. The action will publish count of finding instances and their info types. The summary of findings will be persisted in CSCC and are governed by CSCC service-specific policy, see https://cloud.google.com/terms/service-terms Only a single instance of this action can be specified. Compatible with: Inspect # Publish summary to Cloud Security Command Center (Alpha). + "publishSummaryToCscc": { # Publish the result summary of a DlpJob to the Cloud Security Command Center (CSCC Alpha). This action is only available for projects which are parts of an organization and whitelisted for the alpha Cloud Security Command Center. The action will publish the count of finding instances and their info types. The summary of findings will be persisted in CSCC and are governed by CSCC service-specific policy, see https://cloud.google.com/terms/service-terms Only a single instance of this action can be specified. Compatible with: Inspect # Publish summary to Cloud Security Command Center (Alpha). }, "publishToStackdriver": { # Enable Stackdriver metric dlp.googleapis.com/finding_count. This will publish a metric to stack driver on each infotype requested and how many findings were found for it. CustomDetectors will be bucketed as 'Custom' under the Stackdriver label 'info_type'. # Enable Stackdriver metric dlp.googleapis.com/finding_count. }, "saveFindings": { # If set, the detailed findings will be persisted to the specified OutputStorageConfig. Only a single instance of this action can be specified. Compatible with: Inspect, Risk # Save resulting findings in a provided location. "outputConfig": { # Cloud repository for storing output. # Location to store findings outside of DLP. "outputSchema": "A String", # Schema used for writing the findings for Inspect jobs. This field is only used for Inspect and must be unspecified for Risk jobs. Columns are derived from the `Finding` object. If appending to an existing table, any columns from the predefined schema that are missing will be added. No columns in the existing table will be deleted. If unspecified, then all available columns will be used for a new table or an (existing) table with no schema, and no changes will be made to an existing table that has a schema. Only for use with external storage. - "table": { # Message defining the location of a BigQuery table. A table is uniquely identified by its project_id, dataset_id, and table_name. Within a query a table is often referenced with a string in the format of: `:.` or `..`. # Store findings in an existing table or a new table in an existing dataset. If table_id is not set a new one will be generated for you with the following format: dlp_googleapis_yyyy_mm_dd_[dlp_job_id]. Pacific timezone will be used for generating the date details. For Inspect, each column in an existing output table must have the same name, type, and mode of a field in the `Finding` object. For Risk, an existing output table should be the output of a previous Risk analysis job run on the same source table, with the same privacy metric and quasi-identifiers. Risk jobs that analyze the same table but compute a different privacy metric, or use different sets of quasi-identifiers, cannot store their results in the same table. + "table": { # Message defining the location of a BigQuery table. A table is uniquely identified by its project_id, dataset_id, and table_name. Within a query a table is often referenced with a string in the format of: `:.` or `..`. # Store findings in an existing table or a new table in an existing dataset. If table_id is not set a new one will be generated for you with the following format: dlp_googleapis_yyyy_mm_dd_[dlp_job_id]. Pacific time zone will be used for generating the date details. For Inspect, each column in an existing output table must have the same name, type, and mode of a field in the `Finding` object. For Risk, an existing output table should be the output of a previous Risk analysis job run on the same source table, with the same privacy metric and quasi-identifiers. Risk jobs that analyze the same table but compute a different privacy metric, or use different sets of quasi-identifiers, cannot store their results in the same table. "datasetId": "A String", # Dataset ID of the table. "projectId": "A String", # The Google Cloud Platform project ID of the project containing the table. If omitted, project ID is inferred from the API call. "tableId": "A String", # Name of the table. @@ -1663,7 +1753,7 @@

Method Details

"version": "A String", # Optional version name for this InfoType. }, ], - "limits": { # Configuration to control the number of findings returned for inspection. This is not used for de-identification or data profiling. # Configuration to control the number of findings returned. This is not used for data profiling. + "limits": { # Configuration to control the number of findings returned for inspection. This is not used for de-identification or data profiling. When redacting sensitive data from images, finding limits don't apply. They can cause unexpected or inconsistent results, where only some data is redacted. Don't include finding limits in RedactImage requests. Otherwise, Cloud DLP returns an error. # Configuration to control the number of findings returned. This is not used for data profiling. When redacting sensitive data from images, finding limits don't apply. They can cause unexpected or inconsistent results, where only some data is redacted. Don't include finding limits in RedactImage requests. Otherwise, Cloud DLP returns an error. "maxFindingsPerInfoType": [ # Configuration of findings limit given for specified infoTypes. { # Max findings configuration per infoType, per content item or long running DlpJob. "infoType": { # Type of information detected by the API. # Type of information the findings limit applies to. Only one limit per info_type should be provided. If InfoTypeLimit does not have an info_type, the DLP API applies the limit against all info_types that are found but not specified in another InfoTypeLimit. @@ -1698,7 +1788,7 @@

Method Details

], }, }, - "excludeInfoTypes": { # List of exclude infoTypes. # Set of infoTypes for which findings would affect this rule. + "excludeInfoTypes": { # List of excluded infoTypes. # Set of infoTypes for which findings would affect this rule. "infoTypes": [ # InfoType list in ExclusionRule rule drops a finding when it overlaps or contained within with a finding of an infoType from this list. For example, for `InspectionRuleSet.info_types` containing "PHONE_NUMBER"` and `exclusion_rule` containing `exclude_info_types.info_types` with "EMAIL_ADDRESS" the phone number findings are dropped if they overlap with EMAIL_ADDRESS finding. That leads to "555-222-2222@example.org" to generate only a single finding, namely email address. { # Type of information detected by the API. "name": "A String", # Name of the information type. Either a name of your choosing when creating a CustomInfoType, or one of the names listed at https://cloud.google.com/dlp/docs/infotypes-reference when specifying a built-in type. When sending Cloud DLP results to Data Catalog, infoType names should conform to the pattern `[A-Za-z0-9$-_]{1,64}`. @@ -1762,7 +1852,7 @@

Method Details

"tableId": "A String", # Name of the table. }, }, - "cloudStorageOptions": { # Options defining a file or a set of files within a Google Cloud Storage bucket. # Google Cloud Storage options. + "cloudStorageOptions": { # Options defining a file or a set of files within a Cloud Storage bucket. # Cloud Storage options. "bytesLimitPerFile": "A String", # Max number of bytes to scan from a file. If a scanned file's size is bigger than this value then the rest of the bytes are omitted. Only one of bytes_limit_per_file and bytes_limit_per_file_percent can be specified. Cannot be set if de-identification is requested. "bytesLimitPerFilePercent": 42, # Max percentage of bytes to scan from a file. The rest are omitted. The number of bytes scanned is rounded down. Must be between 0 and 100, inclusively. Both 0 and 100 means no limit. Defaults to 0. Only one of bytes_limit_per_file and bytes_limit_per_file_percent can be specified. Cannot be set if de-identification is requested. "fileSet": { # Set of files to scan. # The set of one or more files to scan. @@ -1808,11 +1898,11 @@

Method Details

], }, }, - "timespanConfig": { # Configuration of the timespan of the items to include in scanning. Currently only supported when inspecting Google Cloud Storage and BigQuery. + "timespanConfig": { # Configuration of the timespan of the items to include in scanning. Currently only supported when inspecting Cloud Storage and BigQuery. "enableAutoPopulationOfTimespanConfig": True or False, # When the job is started by a JobTrigger we will automatically figure out a valid start_time to avoid scanning files that have not been modified since the last time the JobTrigger executed. This will be based on the time of the execution of the last run of the JobTrigger. "endTime": "A String", # Exclude files, tables, or rows newer than this value. If not set, no upper time limit is applied. "startTime": "A String", # Exclude files, tables, or rows older than this value. If not set, no lower time limit is applied. - "timestampField": { # General identifier of a data field in a storage service. # Specification of the field containing the timestamp of scanned items. Used for data sources like Datastore and BigQuery. For BigQuery: If this value is not specified and the table was modified between the given start and end times, the entire table will be scanned. If this value is specified, then rows are filtered based on the given start and end times. Rows with a `NULL` value in the provided BigQuery column are skipped. Valid data types of the provided BigQuery column are: `INTEGER`, `DATE`, `TIMESTAMP`, and `DATETIME`. For Datastore: If this value is specified, then entities are filtered based on the given start and end times. If an entity does not contain the provided timestamp property or contains empty or invalid values, then it is included. Valid data types of the provided timestamp property are: `TIMESTAMP`. + "timestampField": { # General identifier of a data field in a storage service. # Specification of the field containing the timestamp of scanned items. Used for data sources like Datastore and BigQuery. *For BigQuery* If this value is not specified and the table was modified between the given start and end times, the entire table will be scanned. If this value is specified, then rows are filtered based on the given start and end times. Rows with a `NULL` value in the provided BigQuery column are skipped. Valid data types of the provided BigQuery column are: `INTEGER`, `DATE`, `TIMESTAMP`, and `DATETIME`. If your BigQuery table is [partitioned at ingestion time](https://cloud.google.com/bigquery/docs/partitioned-tables#ingestion_time), you can use any of the following pseudo-columns as your timestamp field. When used with Cloud DLP, these pseudo-column names are case sensitive. - _PARTITIONTIME - _PARTITIONDATE - _PARTITION_LOAD_TIME *For Datastore* If this value is specified, then entities are filtered based on the given start and end times. If an entity does not contain the provided timestamp property or contains empty or invalid values, then it is included. Valid data types of the provided timestamp property are: `TIMESTAMP`. See the [known issue](https://cloud.google.com/dlp/docs/known-issues#bq-timespan) related to this operation. "name": "A String", # Name describing the field. }, }, @@ -1886,7 +1976,7 @@

Method Details

"version": "A String", # Optional version name for this InfoType. }, ], - "limits": { # Configuration to control the number of findings returned for inspection. This is not used for de-identification or data profiling. # Configuration to control the number of findings returned. This is not used for data profiling. + "limits": { # Configuration to control the number of findings returned for inspection. This is not used for de-identification or data profiling. When redacting sensitive data from images, finding limits don't apply. They can cause unexpected or inconsistent results, where only some data is redacted. Don't include finding limits in RedactImage requests. Otherwise, Cloud DLP returns an error. # Configuration to control the number of findings returned. This is not used for data profiling. When redacting sensitive data from images, finding limits don't apply. They can cause unexpected or inconsistent results, where only some data is redacted. Don't include finding limits in RedactImage requests. Otherwise, Cloud DLP returns an error. "maxFindingsPerInfoType": [ # Configuration of findings limit given for specified infoTypes. { # Max findings configuration per infoType, per content item or long running DlpJob. "infoType": { # Type of information detected by the API. # Type of information the findings limit applies to. Only one limit per info_type should be provided. If InfoTypeLimit does not have an info_type, the DLP API applies the limit against all info_types that are found but not specified in another InfoTypeLimit. @@ -1921,7 +2011,7 @@

Method Details

], }, }, - "excludeInfoTypes": { # List of exclude infoTypes. # Set of infoTypes for which findings would affect this rule. + "excludeInfoTypes": { # List of excluded infoTypes. # Set of infoTypes for which findings would affect this rule. "infoTypes": [ # InfoType list in ExclusionRule rule drops a finding when it overlaps or contained within with a finding of an infoType from this list. For example, for `InspectionRuleSet.info_types` containing "PHONE_NUMBER"` and `exclusion_rule` containing `exclude_info_types.info_types` with "EMAIL_ADDRESS" the phone number findings are dropped if they overlap with EMAIL_ADDRESS finding. That leads to "555-222-2222@example.org" to generate only a single finding, namely email address. { # Type of information detected by the API. "name": "A String", # Name of the information type. Either a name of your choosing when creating a CustomInfoType, or one of the names listed at https://cloud.google.com/dlp/docs/infotypes-reference when specifying a built-in type. When sending Cloud DLP results to Data Catalog, infoType names should conform to the pattern `[A-Za-z0-9$-_]{1,64}`. @@ -2252,21 +2342,39 @@

Method Details

"jobConfig": { # Configuration for a risk analysis job. See https://cloud.google.com/dlp/docs/concepts-risk-analysis to learn more. # The job config for the risk job. "actions": [ # Actions to execute at the completion of the job. Are executed in the order provided. { # A task to execute on the completion of a job. See https://cloud.google.com/dlp/docs/concepts-actions to learn more. + "deidentify": { # Create a de-identified copy of the requested table or files. . A TransformationDetail will be created for each transformation. If any rows in BigQuery are skipped during de-identification (transformation errors or row size exceeds BigQuery insert API limits) they are placed in the failure output table. If the original row exceeds the BigQuery insert API limit it will be truncated when written to the failure output table. The failure output table can be set in the action.deidentify.output.big_query_output.deidentified_failure_output_table field, if no table is set, a table will be automatically created in the same project and dataset as the original table. Compatible with: Inspect # Create a de-identified copy of the input data. Applicable for non-image data only. The de-identified copy is in the same location as the original data. + "cloudStorageOutput": "A String", # Required. User settable GCS bucket and folders to store de-identified files. This field must be set for cloud storage deidentification. The output GCS bucket must be different from the input bucket. De-identified files will overwrite files in the output path. Form of: gs://bucket/folder/ or gs://bucket + "fileTypesToTransform": [ # List of user-specified file type groups to transform. If specified, only the files with these filetypes will be transformed. If empty, all supported files will be transformed. Supported types may be automatically added over time. If a file type is set in this field that isn't supported by the Deidentify action then the job will fail and will not be successfully created/started. Currently the only filetypes supported are: IMAGES, TEXT_FILES, CSV, TSV. + "A String", + ], + "transformationConfig": { # User specified templates and configs for how to deidentify structured, unstructures, and image files. User must provide either a unstructured deidentify template or at least one redact image config. # User specified deidentify templates and configs for structured, unstructured, and image files. + "deidentifyTemplate": "A String", # De-identify template. If this template is specified, it will serve as the default de-identify template. This template cannot contain `record_transformations` since it can be used for unstructured content such as free-form text files. If this template is not set, a default `ReplaceWithInfoTypeConfig` will be used to de-identify unstructured content. + "imageRedactTemplate": "A String", # Image redact template. If this template is specified, it will serve as the de-identify template for images. If this template is not set, all findings in the image will be redacted with a black box. + "structuredDeidentifyTemplate": "A String", # Structured de-identify template. If this template is specified, it will serve as the de-identify template for structured content such as delimited files and tables. If this template is not set but the `deidentify_template` is set, then `deidentify_template` will also apply to the structured content. If neither template is set, a default `ReplaceWithInfoTypeConfig` will be used to de-identify structured content. + }, + "transformationDetailsStorageConfig": { # Config for storing transformation details. # Config for storing transformation details. This is separate from the de-identified content, and contains metadata about the successful transformations and/or failures that occurred while de-identifying. This needs to be set in order for users to access information about the status of each transformation (see TransformationDetails message for more information about what is noted). + "table": { # Message defining the location of a BigQuery table. A table is uniquely identified by its project_id, dataset_id, and table_name. Within a query a table is often referenced with a string in the format of: `:.` or `..`. # The BigQuery table in which to store the output. This may be an existing table or in a new table in an existing dataset. If table_id is not set a new one will be generated for you with the following format: dlp_googleapis_transformation_details_yyyy_mm_dd_[dlp_job_id]. Pacific time zone will be used for generating the date details. + "datasetId": "A String", # Dataset ID of the table. + "projectId": "A String", # The Google Cloud Platform project ID of the project containing the table. If omitted, project ID is inferred from the API call. + "tableId": "A String", # Name of the table. + }, + }, + }, "jobNotificationEmails": { # Enable email notification to project owners and editors on jobs's completion/failure. # Enable email notification for project owners and editors on job's completion/failure. }, - "pubSub": { # Publish a message into given Pub/Sub topic when DlpJob has completed. The message contains a single field, `DlpJobName`, which is equal to the finished job's [`DlpJob.name`](https://cloud.google.com/dlp/docs/reference/rest/v2/projects.dlpJobs#DlpJob). Compatible with: Inspect, Risk # Publish a notification to a pubsub topic. + "pubSub": { # Publish a message into a given Pub/Sub topic when DlpJob has completed. The message contains a single field, `DlpJobName`, which is equal to the finished job's [`DlpJob.name`](https://cloud.google.com/dlp/docs/reference/rest/v2/projects.dlpJobs#DlpJob). Compatible with: Inspect, Risk # Publish a notification to a pubsub topic. "topic": "A String", # Cloud Pub/Sub topic to send notifications to. The topic must have given publishing access rights to the DLP API service account executing the long running DlpJob sending the notifications. Format is projects/{project}/topics/{topic}. }, "publishFindingsToCloudDataCatalog": { # Publish findings of a DlpJob to Data Catalog. Labels summarizing the results of the DlpJob will be applied to the entry for the resource scanned in Data Catalog. Any labels previously written by another DlpJob will be deleted. InfoType naming patterns are strictly enforced when using this feature. Note that the findings will be persisted in Data Catalog storage and are governed by Data Catalog service-specific policy, see https://cloud.google.com/terms/service-terms Only a single instance of this action can be specified and only allowed if all resources being scanned are BigQuery tables. Compatible with: Inspect # Publish findings to Cloud Datahub. }, - "publishSummaryToCscc": { # Publish the result summary of a DlpJob to the Cloud Security Command Center (CSCC Alpha). This action is only available for projects which are parts of an organization and whitelisted for the alpha Cloud Security Command Center. The action will publish count of finding instances and their info types. The summary of findings will be persisted in CSCC and are governed by CSCC service-specific policy, see https://cloud.google.com/terms/service-terms Only a single instance of this action can be specified. Compatible with: Inspect # Publish summary to Cloud Security Command Center (Alpha). + "publishSummaryToCscc": { # Publish the result summary of a DlpJob to the Cloud Security Command Center (CSCC Alpha). This action is only available for projects which are parts of an organization and whitelisted for the alpha Cloud Security Command Center. The action will publish the count of finding instances and their info types. The summary of findings will be persisted in CSCC and are governed by CSCC service-specific policy, see https://cloud.google.com/terms/service-terms Only a single instance of this action can be specified. Compatible with: Inspect # Publish summary to Cloud Security Command Center (Alpha). }, "publishToStackdriver": { # Enable Stackdriver metric dlp.googleapis.com/finding_count. This will publish a metric to stack driver on each infotype requested and how many findings were found for it. CustomDetectors will be bucketed as 'Custom' under the Stackdriver label 'info_type'. # Enable Stackdriver metric dlp.googleapis.com/finding_count. }, "saveFindings": { # If set, the detailed findings will be persisted to the specified OutputStorageConfig. Only a single instance of this action can be specified. Compatible with: Inspect, Risk # Save resulting findings in a provided location. "outputConfig": { # Cloud repository for storing output. # Location to store findings outside of DLP. "outputSchema": "A String", # Schema used for writing the findings for Inspect jobs. This field is only used for Inspect and must be unspecified for Risk jobs. Columns are derived from the `Finding` object. If appending to an existing table, any columns from the predefined schema that are missing will be added. No columns in the existing table will be deleted. If unspecified, then all available columns will be used for a new table or an (existing) table with no schema, and no changes will be made to an existing table that has a schema. Only for use with external storage. - "table": { # Message defining the location of a BigQuery table. A table is uniquely identified by its project_id, dataset_id, and table_name. Within a query a table is often referenced with a string in the format of: `:.` or `..`. # Store findings in an existing table or a new table in an existing dataset. If table_id is not set a new one will be generated for you with the following format: dlp_googleapis_yyyy_mm_dd_[dlp_job_id]. Pacific timezone will be used for generating the date details. For Inspect, each column in an existing output table must have the same name, type, and mode of a field in the `Finding` object. For Risk, an existing output table should be the output of a previous Risk analysis job run on the same source table, with the same privacy metric and quasi-identifiers. Risk jobs that analyze the same table but compute a different privacy metric, or use different sets of quasi-identifiers, cannot store their results in the same table. + "table": { # Message defining the location of a BigQuery table. A table is uniquely identified by its project_id, dataset_id, and table_name. Within a query a table is often referenced with a string in the format of: `:.` or `..`. # Store findings in an existing table or a new table in an existing dataset. If table_id is not set a new one will be generated for you with the following format: dlp_googleapis_yyyy_mm_dd_[dlp_job_id]. Pacific time zone will be used for generating the date details. For Inspect, each column in an existing output table must have the same name, type, and mode of a field in the `Finding` object. For Risk, an existing output table should be the output of a previous Risk analysis job run on the same source table, with the same privacy metric and quasi-identifiers. Risk jobs that analyze the same table but compute a different privacy metric, or use different sets of quasi-identifiers, cannot store their results in the same table. "datasetId": "A String", # Dataset ID of the table. "projectId": "A String", # The Google Cloud Platform project ID of the project containing the table. If omitted, project ID is inferred from the API call. "tableId": "A String", # Name of the table. @@ -2523,13 +2631,13 @@

Method Details

"hybridItem": { # An individual hybrid item to inspect. Will be stored temporarily during processing. # The item to inspect. "findingDetails": { # Populate to associate additional data with each finding. # Supplementary information that will be added to each finding. "containerDetails": { # Represents a container that may contain DLP findings. Examples of a container include a file, table, or database record. # Details about the container where the content being inspected is from. - "fullPath": "A String", # A string representation of the full container name. Examples: - BigQuery: 'Project:DataSetId.TableId' - Google Cloud Storage: 'gs://Bucket/folders/filename.txt' + "fullPath": "A String", # A string representation of the full container name. Examples: - BigQuery: 'Project:DataSetId.TableId' - Cloud Storage: 'gs://Bucket/folders/filename.txt' "projectId": "A String", # Project where the finding was found. Can be different from the project that owns the finding. - "relativePath": "A String", # The rest of the path after the root. Examples: - For BigQuery table `project_id:dataset_id.table_id`, the relative path is `table_id` - Google Cloud Storage file `gs://bucket/folder/filename.txt`, the relative path is `folder/filename.txt` - "rootPath": "A String", # The root of the container. Examples: - For BigQuery table `project_id:dataset_id.table_id`, the root is `dataset_id` - For Google Cloud Storage file `gs://bucket/folder/filename.txt`, the root is `gs://bucket` - "type": "A String", # Container type, for example BigQuery or Google Cloud Storage. - "updateTime": "A String", # Findings container modification timestamp, if applicable. For Google Cloud Storage contains last file modification timestamp. For BigQuery table contains last_modified_time property. For Datastore - not populated. - "version": "A String", # Findings container version, if available ("generation" for Google Cloud Storage). + "relativePath": "A String", # The rest of the path after the root. Examples: - For BigQuery table `project_id:dataset_id.table_id`, the relative path is `table_id` - For Cloud Storage file `gs://bucket/folder/filename.txt`, the relative path is `folder/filename.txt` + "rootPath": "A String", # The root of the container. Examples: - For BigQuery table `project_id:dataset_id.table_id`, the root is `dataset_id` - For Cloud Storage file `gs://bucket/folder/filename.txt`, the root is `gs://bucket` + "type": "A String", # Container type, for example BigQuery or Cloud Storage. + "updateTime": "A String", # Findings container modification timestamp, if applicable. For Cloud Storage, this field contains the last file modification timestamp. For a BigQuery table, this field contains the last_modified_time property. For Datastore, this field isn't populated. + "version": "A String", # Findings container version, if available ("generation" for Cloud Storage). }, "fileOffset": "A String", # Offset in bytes of the line, from the beginning of the file, where the finding is located. Populate if the item being scanned is only part of a bigger item, such as a shard of a file and you want to track the absolute position of the finding. "labels": { # Labels to represent user provided metadata about the data being inspected. If configured by the job, some key values may be required. The labels associated with `Finding`'s produced by hybrid inspection. Label keys must be between 1 and 63 characters long and must conform to the following regular expression: `[a-z]([-a-z0-9]*[a-z0-9])?`. Label values must be between 0 and 63 characters long and must conform to the regular expression `([a-z]([-a-z0-9]*[a-z0-9])?)?`. No more than 10 labels can be associated with a given finding. Examples: * `"environment" : "production"` * `"pipeline" : "etl"` @@ -2604,9 +2712,9 @@

Method Details

Args: parent: string, Required. Parent resource name. The format of this value varies depending on whether you have [specified a processing location](https://cloud.google.com/dlp/docs/specifying-location): + Projects scope, location specified: `projects/`PROJECT_ID`/locations/`LOCATION_ID + Projects scope, no location specified (defaults to global): `projects/`PROJECT_ID The following example `parent` string specifies a parent project with the identifier `example-project`, and specifies the `europe-west3` location for processing data: parent=projects/example-project/locations/europe-west3 (required) - filter: string, Allows filtering. Supported syntax: * Filter expressions are made up of one or more restrictions. * Restrictions can be combined by `AND` or `OR` logical operators. A sequence of restrictions implicitly uses `AND`. * A restriction has the form of `{field} {operator} {value}`. * Supported fields/values for inspect jobs: - `state` - PENDING|RUNNING|CANCELED|FINISHED|FAILED - `inspected_storage` - DATASTORE|CLOUD_STORAGE|BIGQUERY - `trigger_name` - The resource name of the trigger that created job. - 'end_time` - Corresponds to time the job finished. - 'start_time` - Corresponds to time the job finished. * Supported fields for risk analysis jobs: - `state` - RUNNING|CANCELED|FINISHED|FAILED - 'end_time` - Corresponds to time the job finished. - 'start_time` - Corresponds to time the job finished. * The operator must be `=` or `!=`. Examples: * inspected_storage = cloud_storage AND state = done * inspected_storage = cloud_storage OR inspected_storage = bigquery * inspected_storage = cloud_storage AND (state = done OR state = canceled) * end_time > \"2017-12-12T00:00:00+00:00\" The length of this field should be no more than 500 characters. + filter: string, Allows filtering. Supported syntax: * Filter expressions are made up of one or more restrictions. * Restrictions can be combined by `AND` or `OR` logical operators. A sequence of restrictions implicitly uses `AND`. * A restriction has the form of `{field} {operator} {value}`. * Supported fields/values for inspect jobs: - `state` - PENDING|RUNNING|CANCELED|FINISHED|FAILED - `inspected_storage` - DATASTORE|CLOUD_STORAGE|BIGQUERY - `trigger_name` - The name of the trigger that created the job. - 'end_time` - Corresponds to the time the job finished. - 'start_time` - Corresponds to the time the job finished. * Supported fields for risk analysis jobs: - `state` - RUNNING|CANCELED|FINISHED|FAILED - 'end_time` - Corresponds to the time the job finished. - 'start_time` - Corresponds to the time the job finished. * The operator must be `=` or `!=`. Examples: * inspected_storage = cloud_storage AND state = done * inspected_storage = cloud_storage OR inspected_storage = bigquery * inspected_storage = cloud_storage AND (state = done OR state = canceled) * end_time > \"2017-12-12T00:00:00+00:00\" The length of this field should be no more than 500 characters. locationId: string, Deprecated. This field has no effect. - orderBy: string, Comma separated list of fields to order by, followed by `asc` or `desc` postfix. This list is case-insensitive, default sorting order is ascending, redundant space characters are insignificant. Example: `name asc, end_time asc, create_time desc` Supported fields are: - `create_time`: corresponds to time the job was created. - `end_time`: corresponds to time the job ended. - `name`: corresponds to job's name. - `state`: corresponds to `state` + orderBy: string, Comma separated list of fields to order by, followed by `asc` or `desc` postfix. This list is case-insensitive, default sorting order is ascending, redundant space characters are insignificant. Example: `name asc, end_time asc, create_time desc` Supported fields are: - `create_time`: corresponds to the time the job was created. - `end_time`: corresponds to the time the job ended. - `name`: corresponds to the job's name. - `state`: corresponds to `state` pageSize: integer, The standard list page size. pageToken: string, The standard list page token. type: string, The type of job. Defaults to `DlpJobType.INSPECT` @@ -2648,21 +2756,39 @@

Method Details

"jobConfig": { # Controls what and how to inspect for findings. # Inspect config. "actions": [ # Actions to execute at the completion of the job. { # A task to execute on the completion of a job. See https://cloud.google.com/dlp/docs/concepts-actions to learn more. + "deidentify": { # Create a de-identified copy of the requested table or files. . A TransformationDetail will be created for each transformation. If any rows in BigQuery are skipped during de-identification (transformation errors or row size exceeds BigQuery insert API limits) they are placed in the failure output table. If the original row exceeds the BigQuery insert API limit it will be truncated when written to the failure output table. The failure output table can be set in the action.deidentify.output.big_query_output.deidentified_failure_output_table field, if no table is set, a table will be automatically created in the same project and dataset as the original table. Compatible with: Inspect # Create a de-identified copy of the input data. Applicable for non-image data only. The de-identified copy is in the same location as the original data. + "cloudStorageOutput": "A String", # Required. User settable GCS bucket and folders to store de-identified files. This field must be set for cloud storage deidentification. The output GCS bucket must be different from the input bucket. De-identified files will overwrite files in the output path. Form of: gs://bucket/folder/ or gs://bucket + "fileTypesToTransform": [ # List of user-specified file type groups to transform. If specified, only the files with these filetypes will be transformed. If empty, all supported files will be transformed. Supported types may be automatically added over time. If a file type is set in this field that isn't supported by the Deidentify action then the job will fail and will not be successfully created/started. Currently the only filetypes supported are: IMAGES, TEXT_FILES, CSV, TSV. + "A String", + ], + "transformationConfig": { # User specified templates and configs for how to deidentify structured, unstructures, and image files. User must provide either a unstructured deidentify template or at least one redact image config. # User specified deidentify templates and configs for structured, unstructured, and image files. + "deidentifyTemplate": "A String", # De-identify template. If this template is specified, it will serve as the default de-identify template. This template cannot contain `record_transformations` since it can be used for unstructured content such as free-form text files. If this template is not set, a default `ReplaceWithInfoTypeConfig` will be used to de-identify unstructured content. + "imageRedactTemplate": "A String", # Image redact template. If this template is specified, it will serve as the de-identify template for images. If this template is not set, all findings in the image will be redacted with a black box. + "structuredDeidentifyTemplate": "A String", # Structured de-identify template. If this template is specified, it will serve as the de-identify template for structured content such as delimited files and tables. If this template is not set but the `deidentify_template` is set, then `deidentify_template` will also apply to the structured content. If neither template is set, a default `ReplaceWithInfoTypeConfig` will be used to de-identify structured content. + }, + "transformationDetailsStorageConfig": { # Config for storing transformation details. # Config for storing transformation details. This is separate from the de-identified content, and contains metadata about the successful transformations and/or failures that occurred while de-identifying. This needs to be set in order for users to access information about the status of each transformation (see TransformationDetails message for more information about what is noted). + "table": { # Message defining the location of a BigQuery table. A table is uniquely identified by its project_id, dataset_id, and table_name. Within a query a table is often referenced with a string in the format of: `:.` or `..`. # The BigQuery table in which to store the output. This may be an existing table or in a new table in an existing dataset. If table_id is not set a new one will be generated for you with the following format: dlp_googleapis_transformation_details_yyyy_mm_dd_[dlp_job_id]. Pacific time zone will be used for generating the date details. + "datasetId": "A String", # Dataset ID of the table. + "projectId": "A String", # The Google Cloud Platform project ID of the project containing the table. If omitted, project ID is inferred from the API call. + "tableId": "A String", # Name of the table. + }, + }, + }, "jobNotificationEmails": { # Enable email notification to project owners and editors on jobs's completion/failure. # Enable email notification for project owners and editors on job's completion/failure. }, - "pubSub": { # Publish a message into given Pub/Sub topic when DlpJob has completed. The message contains a single field, `DlpJobName`, which is equal to the finished job's [`DlpJob.name`](https://cloud.google.com/dlp/docs/reference/rest/v2/projects.dlpJobs#DlpJob). Compatible with: Inspect, Risk # Publish a notification to a pubsub topic. + "pubSub": { # Publish a message into a given Pub/Sub topic when DlpJob has completed. The message contains a single field, `DlpJobName`, which is equal to the finished job's [`DlpJob.name`](https://cloud.google.com/dlp/docs/reference/rest/v2/projects.dlpJobs#DlpJob). Compatible with: Inspect, Risk # Publish a notification to a pubsub topic. "topic": "A String", # Cloud Pub/Sub topic to send notifications to. The topic must have given publishing access rights to the DLP API service account executing the long running DlpJob sending the notifications. Format is projects/{project}/topics/{topic}. }, "publishFindingsToCloudDataCatalog": { # Publish findings of a DlpJob to Data Catalog. Labels summarizing the results of the DlpJob will be applied to the entry for the resource scanned in Data Catalog. Any labels previously written by another DlpJob will be deleted. InfoType naming patterns are strictly enforced when using this feature. Note that the findings will be persisted in Data Catalog storage and are governed by Data Catalog service-specific policy, see https://cloud.google.com/terms/service-terms Only a single instance of this action can be specified and only allowed if all resources being scanned are BigQuery tables. Compatible with: Inspect # Publish findings to Cloud Datahub. }, - "publishSummaryToCscc": { # Publish the result summary of a DlpJob to the Cloud Security Command Center (CSCC Alpha). This action is only available for projects which are parts of an organization and whitelisted for the alpha Cloud Security Command Center. The action will publish count of finding instances and their info types. The summary of findings will be persisted in CSCC and are governed by CSCC service-specific policy, see https://cloud.google.com/terms/service-terms Only a single instance of this action can be specified. Compatible with: Inspect # Publish summary to Cloud Security Command Center (Alpha). + "publishSummaryToCscc": { # Publish the result summary of a DlpJob to the Cloud Security Command Center (CSCC Alpha). This action is only available for projects which are parts of an organization and whitelisted for the alpha Cloud Security Command Center. The action will publish the count of finding instances and their info types. The summary of findings will be persisted in CSCC and are governed by CSCC service-specific policy, see https://cloud.google.com/terms/service-terms Only a single instance of this action can be specified. Compatible with: Inspect # Publish summary to Cloud Security Command Center (Alpha). }, "publishToStackdriver": { # Enable Stackdriver metric dlp.googleapis.com/finding_count. This will publish a metric to stack driver on each infotype requested and how many findings were found for it. CustomDetectors will be bucketed as 'Custom' under the Stackdriver label 'info_type'. # Enable Stackdriver metric dlp.googleapis.com/finding_count. }, "saveFindings": { # If set, the detailed findings will be persisted to the specified OutputStorageConfig. Only a single instance of this action can be specified. Compatible with: Inspect, Risk # Save resulting findings in a provided location. "outputConfig": { # Cloud repository for storing output. # Location to store findings outside of DLP. "outputSchema": "A String", # Schema used for writing the findings for Inspect jobs. This field is only used for Inspect and must be unspecified for Risk jobs. Columns are derived from the `Finding` object. If appending to an existing table, any columns from the predefined schema that are missing will be added. No columns in the existing table will be deleted. If unspecified, then all available columns will be used for a new table or an (existing) table with no schema, and no changes will be made to an existing table that has a schema. Only for use with external storage. - "table": { # Message defining the location of a BigQuery table. A table is uniquely identified by its project_id, dataset_id, and table_name. Within a query a table is often referenced with a string in the format of: `:.` or `..`. # Store findings in an existing table or a new table in an existing dataset. If table_id is not set a new one will be generated for you with the following format: dlp_googleapis_yyyy_mm_dd_[dlp_job_id]. Pacific timezone will be used for generating the date details. For Inspect, each column in an existing output table must have the same name, type, and mode of a field in the `Finding` object. For Risk, an existing output table should be the output of a previous Risk analysis job run on the same source table, with the same privacy metric and quasi-identifiers. Risk jobs that analyze the same table but compute a different privacy metric, or use different sets of quasi-identifiers, cannot store their results in the same table. + "table": { # Message defining the location of a BigQuery table. A table is uniquely identified by its project_id, dataset_id, and table_name. Within a query a table is often referenced with a string in the format of: `:.` or `..`. # Store findings in an existing table or a new table in an existing dataset. If table_id is not set a new one will be generated for you with the following format: dlp_googleapis_yyyy_mm_dd_[dlp_job_id]. Pacific time zone will be used for generating the date details. For Inspect, each column in an existing output table must have the same name, type, and mode of a field in the `Finding` object. For Risk, an existing output table should be the output of a previous Risk analysis job run on the same source table, with the same privacy metric and quasi-identifiers. Risk jobs that analyze the same table but compute a different privacy metric, or use different sets of quasi-identifiers, cannot store their results in the same table. "datasetId": "A String", # Dataset ID of the table. "projectId": "A String", # The Google Cloud Platform project ID of the project containing the table. If omitted, project ID is inferred from the API call. "tableId": "A String", # Name of the table. @@ -2735,7 +2861,7 @@

Method Details

"version": "A String", # Optional version name for this InfoType. }, ], - "limits": { # Configuration to control the number of findings returned for inspection. This is not used for de-identification or data profiling. # Configuration to control the number of findings returned. This is not used for data profiling. + "limits": { # Configuration to control the number of findings returned for inspection. This is not used for de-identification or data profiling. When redacting sensitive data from images, finding limits don't apply. They can cause unexpected or inconsistent results, where only some data is redacted. Don't include finding limits in RedactImage requests. Otherwise, Cloud DLP returns an error. # Configuration to control the number of findings returned. This is not used for data profiling. When redacting sensitive data from images, finding limits don't apply. They can cause unexpected or inconsistent results, where only some data is redacted. Don't include finding limits in RedactImage requests. Otherwise, Cloud DLP returns an error. "maxFindingsPerInfoType": [ # Configuration of findings limit given for specified infoTypes. { # Max findings configuration per infoType, per content item or long running DlpJob. "infoType": { # Type of information detected by the API. # Type of information the findings limit applies to. Only one limit per info_type should be provided. If InfoTypeLimit does not have an info_type, the DLP API applies the limit against all info_types that are found but not specified in another InfoTypeLimit. @@ -2770,7 +2896,7 @@

Method Details

], }, }, - "excludeInfoTypes": { # List of exclude infoTypes. # Set of infoTypes for which findings would affect this rule. + "excludeInfoTypes": { # List of excluded infoTypes. # Set of infoTypes for which findings would affect this rule. "infoTypes": [ # InfoType list in ExclusionRule rule drops a finding when it overlaps or contained within with a finding of an infoType from this list. For example, for `InspectionRuleSet.info_types` containing "PHONE_NUMBER"` and `exclusion_rule` containing `exclude_info_types.info_types` with "EMAIL_ADDRESS" the phone number findings are dropped if they overlap with EMAIL_ADDRESS finding. That leads to "555-222-2222@example.org" to generate only a single finding, namely email address. { # Type of information detected by the API. "name": "A String", # Name of the information type. Either a name of your choosing when creating a CustomInfoType, or one of the names listed at https://cloud.google.com/dlp/docs/infotypes-reference when specifying a built-in type. When sending Cloud DLP results to Data Catalog, infoType names should conform to the pattern `[A-Za-z0-9$-_]{1,64}`. @@ -2834,7 +2960,7 @@

Method Details

"tableId": "A String", # Name of the table. }, }, - "cloudStorageOptions": { # Options defining a file or a set of files within a Google Cloud Storage bucket. # Google Cloud Storage options. + "cloudStorageOptions": { # Options defining a file or a set of files within a Cloud Storage bucket. # Cloud Storage options. "bytesLimitPerFile": "A String", # Max number of bytes to scan from a file. If a scanned file's size is bigger than this value then the rest of the bytes are omitted. Only one of bytes_limit_per_file and bytes_limit_per_file_percent can be specified. Cannot be set if de-identification is requested. "bytesLimitPerFilePercent": 42, # Max percentage of bytes to scan from a file. The rest are omitted. The number of bytes scanned is rounded down. Must be between 0 and 100, inclusively. Both 0 and 100 means no limit. Defaults to 0. Only one of bytes_limit_per_file and bytes_limit_per_file_percent can be specified. Cannot be set if de-identification is requested. "fileSet": { # Set of files to scan. # The set of one or more files to scan. @@ -2880,11 +3006,11 @@

Method Details

], }, }, - "timespanConfig": { # Configuration of the timespan of the items to include in scanning. Currently only supported when inspecting Google Cloud Storage and BigQuery. + "timespanConfig": { # Configuration of the timespan of the items to include in scanning. Currently only supported when inspecting Cloud Storage and BigQuery. "enableAutoPopulationOfTimespanConfig": True or False, # When the job is started by a JobTrigger we will automatically figure out a valid start_time to avoid scanning files that have not been modified since the last time the JobTrigger executed. This will be based on the time of the execution of the last run of the JobTrigger. "endTime": "A String", # Exclude files, tables, or rows newer than this value. If not set, no upper time limit is applied. "startTime": "A String", # Exclude files, tables, or rows older than this value. If not set, no lower time limit is applied. - "timestampField": { # General identifier of a data field in a storage service. # Specification of the field containing the timestamp of scanned items. Used for data sources like Datastore and BigQuery. For BigQuery: If this value is not specified and the table was modified between the given start and end times, the entire table will be scanned. If this value is specified, then rows are filtered based on the given start and end times. Rows with a `NULL` value in the provided BigQuery column are skipped. Valid data types of the provided BigQuery column are: `INTEGER`, `DATE`, `TIMESTAMP`, and `DATETIME`. For Datastore: If this value is specified, then entities are filtered based on the given start and end times. If an entity does not contain the provided timestamp property or contains empty or invalid values, then it is included. Valid data types of the provided timestamp property are: `TIMESTAMP`. + "timestampField": { # General identifier of a data field in a storage service. # Specification of the field containing the timestamp of scanned items. Used for data sources like Datastore and BigQuery. *For BigQuery* If this value is not specified and the table was modified between the given start and end times, the entire table will be scanned. If this value is specified, then rows are filtered based on the given start and end times. Rows with a `NULL` value in the provided BigQuery column are skipped. Valid data types of the provided BigQuery column are: `INTEGER`, `DATE`, `TIMESTAMP`, and `DATETIME`. If your BigQuery table is [partitioned at ingestion time](https://cloud.google.com/bigquery/docs/partitioned-tables#ingestion_time), you can use any of the following pseudo-columns as your timestamp field. When used with Cloud DLP, these pseudo-column names are case sensitive. - _PARTITIONTIME - _PARTITIONDATE - _PARTITION_LOAD_TIME *For Datastore* If this value is specified, then entities are filtered based on the given start and end times. If an entity does not contain the provided timestamp property or contains empty or invalid values, then it is included. Valid data types of the provided timestamp property are: `TIMESTAMP`. See the [known issue](https://cloud.google.com/dlp/docs/known-issues#bq-timespan) related to this operation. "name": "A String", # Name describing the field. }, }, @@ -2958,7 +3084,7 @@

Method Details

"version": "A String", # Optional version name for this InfoType. }, ], - "limits": { # Configuration to control the number of findings returned for inspection. This is not used for de-identification or data profiling. # Configuration to control the number of findings returned. This is not used for data profiling. + "limits": { # Configuration to control the number of findings returned for inspection. This is not used for de-identification or data profiling. When redacting sensitive data from images, finding limits don't apply. They can cause unexpected or inconsistent results, where only some data is redacted. Don't include finding limits in RedactImage requests. Otherwise, Cloud DLP returns an error. # Configuration to control the number of findings returned. This is not used for data profiling. When redacting sensitive data from images, finding limits don't apply. They can cause unexpected or inconsistent results, where only some data is redacted. Don't include finding limits in RedactImage requests. Otherwise, Cloud DLP returns an error. "maxFindingsPerInfoType": [ # Configuration of findings limit given for specified infoTypes. { # Max findings configuration per infoType, per content item or long running DlpJob. "infoType": { # Type of information detected by the API. # Type of information the findings limit applies to. Only one limit per info_type should be provided. If InfoTypeLimit does not have an info_type, the DLP API applies the limit against all info_types that are found but not specified in another InfoTypeLimit. @@ -2993,7 +3119,7 @@

Method Details

], }, }, - "excludeInfoTypes": { # List of exclude infoTypes. # Set of infoTypes for which findings would affect this rule. + "excludeInfoTypes": { # List of excluded infoTypes. # Set of infoTypes for which findings would affect this rule. "infoTypes": [ # InfoType list in ExclusionRule rule drops a finding when it overlaps or contained within with a finding of an infoType from this list. For example, for `InspectionRuleSet.info_types` containing "PHONE_NUMBER"` and `exclusion_rule` containing `exclude_info_types.info_types` with "EMAIL_ADDRESS" the phone number findings are dropped if they overlap with EMAIL_ADDRESS finding. That leads to "555-222-2222@example.org" to generate only a single finding, namely email address. { # Type of information detected by the API. "name": "A String", # Name of the information type. Either a name of your choosing when creating a CustomInfoType, or one of the names listed at https://cloud.google.com/dlp/docs/infotypes-reference when specifying a built-in type. When sending Cloud DLP results to Data Catalog, infoType names should conform to the pattern `[A-Za-z0-9$-_]{1,64}`. @@ -3324,21 +3450,39 @@

Method Details

"jobConfig": { # Configuration for a risk analysis job. See https://cloud.google.com/dlp/docs/concepts-risk-analysis to learn more. # The job config for the risk job. "actions": [ # Actions to execute at the completion of the job. Are executed in the order provided. { # A task to execute on the completion of a job. See https://cloud.google.com/dlp/docs/concepts-actions to learn more. + "deidentify": { # Create a de-identified copy of the requested table or files. . A TransformationDetail will be created for each transformation. If any rows in BigQuery are skipped during de-identification (transformation errors or row size exceeds BigQuery insert API limits) they are placed in the failure output table. If the original row exceeds the BigQuery insert API limit it will be truncated when written to the failure output table. The failure output table can be set in the action.deidentify.output.big_query_output.deidentified_failure_output_table field, if no table is set, a table will be automatically created in the same project and dataset as the original table. Compatible with: Inspect # Create a de-identified copy of the input data. Applicable for non-image data only. The de-identified copy is in the same location as the original data. + "cloudStorageOutput": "A String", # Required. User settable GCS bucket and folders to store de-identified files. This field must be set for cloud storage deidentification. The output GCS bucket must be different from the input bucket. De-identified files will overwrite files in the output path. Form of: gs://bucket/folder/ or gs://bucket + "fileTypesToTransform": [ # List of user-specified file type groups to transform. If specified, only the files with these filetypes will be transformed. If empty, all supported files will be transformed. Supported types may be automatically added over time. If a file type is set in this field that isn't supported by the Deidentify action then the job will fail and will not be successfully created/started. Currently the only filetypes supported are: IMAGES, TEXT_FILES, CSV, TSV. + "A String", + ], + "transformationConfig": { # User specified templates and configs for how to deidentify structured, unstructures, and image files. User must provide either a unstructured deidentify template or at least one redact image config. # User specified deidentify templates and configs for structured, unstructured, and image files. + "deidentifyTemplate": "A String", # De-identify template. If this template is specified, it will serve as the default de-identify template. This template cannot contain `record_transformations` since it can be used for unstructured content such as free-form text files. If this template is not set, a default `ReplaceWithInfoTypeConfig` will be used to de-identify unstructured content. + "imageRedactTemplate": "A String", # Image redact template. If this template is specified, it will serve as the de-identify template for images. If this template is not set, all findings in the image will be redacted with a black box. + "structuredDeidentifyTemplate": "A String", # Structured de-identify template. If this template is specified, it will serve as the de-identify template for structured content such as delimited files and tables. If this template is not set but the `deidentify_template` is set, then `deidentify_template` will also apply to the structured content. If neither template is set, a default `ReplaceWithInfoTypeConfig` will be used to de-identify structured content. + }, + "transformationDetailsStorageConfig": { # Config for storing transformation details. # Config for storing transformation details. This is separate from the de-identified content, and contains metadata about the successful transformations and/or failures that occurred while de-identifying. This needs to be set in order for users to access information about the status of each transformation (see TransformationDetails message for more information about what is noted). + "table": { # Message defining the location of a BigQuery table. A table is uniquely identified by its project_id, dataset_id, and table_name. Within a query a table is often referenced with a string in the format of: `:.` or `..`. # The BigQuery table in which to store the output. This may be an existing table or in a new table in an existing dataset. If table_id is not set a new one will be generated for you with the following format: dlp_googleapis_transformation_details_yyyy_mm_dd_[dlp_job_id]. Pacific time zone will be used for generating the date details. + "datasetId": "A String", # Dataset ID of the table. + "projectId": "A String", # The Google Cloud Platform project ID of the project containing the table. If omitted, project ID is inferred from the API call. + "tableId": "A String", # Name of the table. + }, + }, + }, "jobNotificationEmails": { # Enable email notification to project owners and editors on jobs's completion/failure. # Enable email notification for project owners and editors on job's completion/failure. }, - "pubSub": { # Publish a message into given Pub/Sub topic when DlpJob has completed. The message contains a single field, `DlpJobName`, which is equal to the finished job's [`DlpJob.name`](https://cloud.google.com/dlp/docs/reference/rest/v2/projects.dlpJobs#DlpJob). Compatible with: Inspect, Risk # Publish a notification to a pubsub topic. + "pubSub": { # Publish a message into a given Pub/Sub topic when DlpJob has completed. The message contains a single field, `DlpJobName`, which is equal to the finished job's [`DlpJob.name`](https://cloud.google.com/dlp/docs/reference/rest/v2/projects.dlpJobs#DlpJob). Compatible with: Inspect, Risk # Publish a notification to a pubsub topic. "topic": "A String", # Cloud Pub/Sub topic to send notifications to. The topic must have given publishing access rights to the DLP API service account executing the long running DlpJob sending the notifications. Format is projects/{project}/topics/{topic}. }, "publishFindingsToCloudDataCatalog": { # Publish findings of a DlpJob to Data Catalog. Labels summarizing the results of the DlpJob will be applied to the entry for the resource scanned in Data Catalog. Any labels previously written by another DlpJob will be deleted. InfoType naming patterns are strictly enforced when using this feature. Note that the findings will be persisted in Data Catalog storage and are governed by Data Catalog service-specific policy, see https://cloud.google.com/terms/service-terms Only a single instance of this action can be specified and only allowed if all resources being scanned are BigQuery tables. Compatible with: Inspect # Publish findings to Cloud Datahub. }, - "publishSummaryToCscc": { # Publish the result summary of a DlpJob to the Cloud Security Command Center (CSCC Alpha). This action is only available for projects which are parts of an organization and whitelisted for the alpha Cloud Security Command Center. The action will publish count of finding instances and their info types. The summary of findings will be persisted in CSCC and are governed by CSCC service-specific policy, see https://cloud.google.com/terms/service-terms Only a single instance of this action can be specified. Compatible with: Inspect # Publish summary to Cloud Security Command Center (Alpha). + "publishSummaryToCscc": { # Publish the result summary of a DlpJob to the Cloud Security Command Center (CSCC Alpha). This action is only available for projects which are parts of an organization and whitelisted for the alpha Cloud Security Command Center. The action will publish the count of finding instances and their info types. The summary of findings will be persisted in CSCC and are governed by CSCC service-specific policy, see https://cloud.google.com/terms/service-terms Only a single instance of this action can be specified. Compatible with: Inspect # Publish summary to Cloud Security Command Center (Alpha). }, "publishToStackdriver": { # Enable Stackdriver metric dlp.googleapis.com/finding_count. This will publish a metric to stack driver on each infotype requested and how many findings were found for it. CustomDetectors will be bucketed as 'Custom' under the Stackdriver label 'info_type'. # Enable Stackdriver metric dlp.googleapis.com/finding_count. }, "saveFindings": { # If set, the detailed findings will be persisted to the specified OutputStorageConfig. Only a single instance of this action can be specified. Compatible with: Inspect, Risk # Save resulting findings in a provided location. "outputConfig": { # Cloud repository for storing output. # Location to store findings outside of DLP. "outputSchema": "A String", # Schema used for writing the findings for Inspect jobs. This field is only used for Inspect and must be unspecified for Risk jobs. Columns are derived from the `Finding` object. If appending to an existing table, any columns from the predefined schema that are missing will be added. No columns in the existing table will be deleted. If unspecified, then all available columns will be used for a new table or an (existing) table with no schema, and no changes will be made to an existing table that has a schema. Only for use with external storage. - "table": { # Message defining the location of a BigQuery table. A table is uniquely identified by its project_id, dataset_id, and table_name. Within a query a table is often referenced with a string in the format of: `:.` or `..`. # Store findings in an existing table or a new table in an existing dataset. If table_id is not set a new one will be generated for you with the following format: dlp_googleapis_yyyy_mm_dd_[dlp_job_id]. Pacific timezone will be used for generating the date details. For Inspect, each column in an existing output table must have the same name, type, and mode of a field in the `Finding` object. For Risk, an existing output table should be the output of a previous Risk analysis job run on the same source table, with the same privacy metric and quasi-identifiers. Risk jobs that analyze the same table but compute a different privacy metric, or use different sets of quasi-identifiers, cannot store their results in the same table. + "table": { # Message defining the location of a BigQuery table. A table is uniquely identified by its project_id, dataset_id, and table_name. Within a query a table is often referenced with a string in the format of: `:.` or `..`. # Store findings in an existing table or a new table in an existing dataset. If table_id is not set a new one will be generated for you with the following format: dlp_googleapis_yyyy_mm_dd_[dlp_job_id]. Pacific time zone will be used for generating the date details. For Inspect, each column in an existing output table must have the same name, type, and mode of a field in the `Finding` object. For Risk, an existing output table should be the output of a previous Risk analysis job run on the same source table, with the same privacy metric and quasi-identifiers. Risk jobs that analyze the same table but compute a different privacy metric, or use different sets of quasi-identifiers, cannot store their results in the same table. "datasetId": "A String", # Dataset ID of the table. "projectId": "A String", # The Google Cloud Platform project ID of the project containing the table. If omitted, project ID is inferred from the API call. "tableId": "A String", # Name of the table. diff --git a/docs/dyn/dlp_v2.projects.locations.image.html b/docs/dyn/dlp_v2.projects.locations.image.html index 6d287f499b0..b1e51b135e4 100644 --- a/docs/dyn/dlp_v2.projects.locations.image.html +++ b/docs/dyn/dlp_v2.projects.locations.image.html @@ -179,7 +179,7 @@

Method Details

"version": "A String", # Optional version name for this InfoType. }, ], - "limits": { # Configuration to control the number of findings returned for inspection. This is not used for de-identification or data profiling. # Configuration to control the number of findings returned. This is not used for data profiling. + "limits": { # Configuration to control the number of findings returned for inspection. This is not used for de-identification or data profiling. When redacting sensitive data from images, finding limits don't apply. They can cause unexpected or inconsistent results, where only some data is redacted. Don't include finding limits in RedactImage requests. Otherwise, Cloud DLP returns an error. # Configuration to control the number of findings returned. This is not used for data profiling. When redacting sensitive data from images, finding limits don't apply. They can cause unexpected or inconsistent results, where only some data is redacted. Don't include finding limits in RedactImage requests. Otherwise, Cloud DLP returns an error. "maxFindingsPerInfoType": [ # Configuration of findings limit given for specified infoTypes. { # Max findings configuration per infoType, per content item or long running DlpJob. "infoType": { # Type of information detected by the API. # Type of information the findings limit applies to. Only one limit per info_type should be provided. If InfoTypeLimit does not have an info_type, the DLP API applies the limit against all info_types that are found but not specified in another InfoTypeLimit. @@ -214,7 +214,7 @@

Method Details

], }, }, - "excludeInfoTypes": { # List of exclude infoTypes. # Set of infoTypes for which findings would affect this rule. + "excludeInfoTypes": { # List of excluded infoTypes. # Set of infoTypes for which findings would affect this rule. "infoTypes": [ # InfoType list in ExclusionRule rule drops a finding when it overlaps or contained within with a finding of an infoType from this list. For example, for `InspectionRuleSet.info_types` containing "PHONE_NUMBER"` and `exclusion_rule` containing `exclude_info_types.info_types` with "EMAIL_ADDRESS" the phone number findings are dropped if they overlap with EMAIL_ADDRESS finding. That leads to "555-222-2222@example.org" to generate only a single finding, namely email address. { # Type of information detected by the API. "name": "A String", # Name of the information type. Either a name of your choosing when creating a CustomInfoType, or one of the names listed at https://cloud.google.com/dlp/docs/infotypes-reference when specifying a built-in type. When sending Cloud DLP results to Data Catalog, infoType names should conform to the pattern `[A-Za-z0-9$-_]{1,64}`. @@ -289,19 +289,19 @@

Method Details

"start": "A String", # Index of the first character of the range (inclusive). }, "container": { # Represents a container that may contain DLP findings. Examples of a container include a file, table, or database record. # Information about the container where this finding occurred, if available. - "fullPath": "A String", # A string representation of the full container name. Examples: - BigQuery: 'Project:DataSetId.TableId' - Google Cloud Storage: 'gs://Bucket/folders/filename.txt' + "fullPath": "A String", # A string representation of the full container name. Examples: - BigQuery: 'Project:DataSetId.TableId' - Cloud Storage: 'gs://Bucket/folders/filename.txt' "projectId": "A String", # Project where the finding was found. Can be different from the project that owns the finding. - "relativePath": "A String", # The rest of the path after the root. Examples: - For BigQuery table `project_id:dataset_id.table_id`, the relative path is `table_id` - Google Cloud Storage file `gs://bucket/folder/filename.txt`, the relative path is `folder/filename.txt` - "rootPath": "A String", # The root of the container. Examples: - For BigQuery table `project_id:dataset_id.table_id`, the root is `dataset_id` - For Google Cloud Storage file `gs://bucket/folder/filename.txt`, the root is `gs://bucket` - "type": "A String", # Container type, for example BigQuery or Google Cloud Storage. - "updateTime": "A String", # Findings container modification timestamp, if applicable. For Google Cloud Storage contains last file modification timestamp. For BigQuery table contains last_modified_time property. For Datastore - not populated. - "version": "A String", # Findings container version, if available ("generation" for Google Cloud Storage). + "relativePath": "A String", # The rest of the path after the root. Examples: - For BigQuery table `project_id:dataset_id.table_id`, the relative path is `table_id` - For Cloud Storage file `gs://bucket/folder/filename.txt`, the relative path is `folder/filename.txt` + "rootPath": "A String", # The root of the container. Examples: - For BigQuery table `project_id:dataset_id.table_id`, the root is `dataset_id` - For Cloud Storage file `gs://bucket/folder/filename.txt`, the root is `gs://bucket` + "type": "A String", # Container type, for example BigQuery or Cloud Storage. + "updateTime": "A String", # Findings container modification timestamp, if applicable. For Cloud Storage, this field contains the last file modification timestamp. For a BigQuery table, this field contains the last_modified_time property. For Datastore, this field isn't populated. + "version": "A String", # Findings container version, if available ("generation" for Cloud Storage). }, "contentLocations": [ # List of nested objects pointing to the precise location of the finding within the file or record. { # Precise location of the finding within a document, record, image, or metadata container. - "containerName": "A String", # Name of the container where the finding is located. The top level name is the source file name or table name. Names of some common storage containers are formatted as follows: * BigQuery tables: `{project_id}:{dataset_id}.{table_id}` * Cloud Storage files: `gs://{bucket}/{path}` * Datastore namespace: {namespace} Nested names could be absent if the embedded object has no string identifier (for an example an image contained within a document). - "containerTimestamp": "A String", # Findings container modification timestamp, if applicable. For Google Cloud Storage contains last file modification timestamp. For BigQuery table contains last_modified_time property. For Datastore - not populated. - "containerVersion": "A String", # Findings container version, if available ("generation" for Google Cloud Storage). + "containerName": "A String", # Name of the container where the finding is located. The top level name is the source file name or table name. Names of some common storage containers are formatted as follows: * BigQuery tables: `{project_id}:{dataset_id}.{table_id}` * Cloud Storage files: `gs://{bucket}/{path}` * Datastore namespace: {namespace} Nested names could be absent if the embedded object has no string identifier (for example, an image contained within a document). + "containerTimestamp": "A String", # Finding container modification timestamp, if applicable. For Cloud Storage, this field contains the last file modification timestamp. For a BigQuery table, this field contains the last_modified_time property. For Datastore, this field isn't populated. + "containerVersion": "A String", # Finding container version, if available ("generation" for Cloud Storage). "documentLocation": { # Location of a finding within a document. # Location data for document files. "fileOffset": "A String", # Offset of the line, from the beginning of the file, where the finding is located. }, diff --git a/docs/dyn/dlp_v2.projects.locations.inspectTemplates.html b/docs/dyn/dlp_v2.projects.locations.inspectTemplates.html index 8c513936583..16896cf9dad 100644 --- a/docs/dyn/dlp_v2.projects.locations.inspectTemplates.html +++ b/docs/dyn/dlp_v2.projects.locations.inspectTemplates.html @@ -79,7 +79,7 @@

Instance Methods

Close httplib2 connections.

create(parent, body=None, x__xgafv=None)

-

Creates an InspectTemplate for re-using frequently used configuration for inspecting content, images, and storage. See https://cloud.google.com/dlp/docs/creating-templates to learn more.

+

Creates an InspectTemplate for reusing frequently used configuration for inspecting content, images, and storage. See https://cloud.google.com/dlp/docs/creating-templates to learn more.

delete(name, x__xgafv=None)

Deletes an InspectTemplate. See https://cloud.google.com/dlp/docs/creating-templates to learn more.

@@ -103,7 +103,7 @@

Method Details

create(parent, body=None, x__xgafv=None) -
Creates an InspectTemplate for re-using frequently used configuration for inspecting content, images, and storage. See https://cloud.google.com/dlp/docs/creating-templates to learn more.
+  
Creates an InspectTemplate for reusing frequently used configuration for inspecting content, images, and storage. See https://cloud.google.com/dlp/docs/creating-templates to learn more.
 
 Args:
   parent: string, Required. Parent resource name. The format of this value varies depending on the scope of the request (project or organization) and whether you have [specified a processing location](https://cloud.google.com/dlp/docs/specifying-location): + Projects scope, location specified: `projects/`PROJECT_ID`/locations/`LOCATION_ID + Projects scope, no location specified (defaults to global): `projects/`PROJECT_ID + Organizations scope, location specified: `organizations/`ORG_ID`/locations/`LOCATION_ID + Organizations scope, no location specified (defaults to global): `organizations/`ORG_ID The following example `parent` string specifies a parent project with the identifier `example-project`, and specifies the `europe-west3` location for processing data: parent=projects/example-project/locations/europe-west3 (required)
@@ -179,7 +179,7 @@ 

Method Details

"version": "A String", # Optional version name for this InfoType. }, ], - "limits": { # Configuration to control the number of findings returned for inspection. This is not used for de-identification or data profiling. # Configuration to control the number of findings returned. This is not used for data profiling. + "limits": { # Configuration to control the number of findings returned for inspection. This is not used for de-identification or data profiling. When redacting sensitive data from images, finding limits don't apply. They can cause unexpected or inconsistent results, where only some data is redacted. Don't include finding limits in RedactImage requests. Otherwise, Cloud DLP returns an error. # Configuration to control the number of findings returned. This is not used for data profiling. When redacting sensitive data from images, finding limits don't apply. They can cause unexpected or inconsistent results, where only some data is redacted. Don't include finding limits in RedactImage requests. Otherwise, Cloud DLP returns an error. "maxFindingsPerInfoType": [ # Configuration of findings limit given for specified infoTypes. { # Max findings configuration per infoType, per content item or long running DlpJob. "infoType": { # Type of information detected by the API. # Type of information the findings limit applies to. Only one limit per info_type should be provided. If InfoTypeLimit does not have an info_type, the DLP API applies the limit against all info_types that are found but not specified in another InfoTypeLimit. @@ -214,7 +214,7 @@

Method Details

], }, }, - "excludeInfoTypes": { # List of exclude infoTypes. # Set of infoTypes for which findings would affect this rule. + "excludeInfoTypes": { # List of excluded infoTypes. # Set of infoTypes for which findings would affect this rule. "infoTypes": [ # InfoType list in ExclusionRule rule drops a finding when it overlaps or contained within with a finding of an infoType from this list. For example, for `InspectionRuleSet.info_types` containing "PHONE_NUMBER"` and `exclusion_rule` containing `exclude_info_types.info_types` with "EMAIL_ADDRESS" the phone number findings are dropped if they overlap with EMAIL_ADDRESS finding. That leads to "555-222-2222@example.org" to generate only a single finding, namely email address. { # Type of information detected by the API. "name": "A String", # Name of the information type. Either a name of your choosing when creating a CustomInfoType, or one of the names listed at https://cloud.google.com/dlp/docs/infotypes-reference when specifying a built-in type. When sending Cloud DLP results to Data Catalog, infoType names should conform to the pattern `[A-Za-z0-9$-_]{1,64}`. @@ -334,7 +334,7 @@

Method Details

"version": "A String", # Optional version name for this InfoType. }, ], - "limits": { # Configuration to control the number of findings returned for inspection. This is not used for de-identification or data profiling. # Configuration to control the number of findings returned. This is not used for data profiling. + "limits": { # Configuration to control the number of findings returned for inspection. This is not used for de-identification or data profiling. When redacting sensitive data from images, finding limits don't apply. They can cause unexpected or inconsistent results, where only some data is redacted. Don't include finding limits in RedactImage requests. Otherwise, Cloud DLP returns an error. # Configuration to control the number of findings returned. This is not used for data profiling. When redacting sensitive data from images, finding limits don't apply. They can cause unexpected or inconsistent results, where only some data is redacted. Don't include finding limits in RedactImage requests. Otherwise, Cloud DLP returns an error. "maxFindingsPerInfoType": [ # Configuration of findings limit given for specified infoTypes. { # Max findings configuration per infoType, per content item or long running DlpJob. "infoType": { # Type of information detected by the API. # Type of information the findings limit applies to. Only one limit per info_type should be provided. If InfoTypeLimit does not have an info_type, the DLP API applies the limit against all info_types that are found but not specified in another InfoTypeLimit. @@ -369,7 +369,7 @@

Method Details

], }, }, - "excludeInfoTypes": { # List of exclude infoTypes. # Set of infoTypes for which findings would affect this rule. + "excludeInfoTypes": { # List of excluded infoTypes. # Set of infoTypes for which findings would affect this rule. "infoTypes": [ # InfoType list in ExclusionRule rule drops a finding when it overlaps or contained within with a finding of an infoType from this list. For example, for `InspectionRuleSet.info_types` containing "PHONE_NUMBER"` and `exclusion_rule` containing `exclude_info_types.info_types` with "EMAIL_ADDRESS" the phone number findings are dropped if they overlap with EMAIL_ADDRESS finding. That leads to "555-222-2222@example.org" to generate only a single finding, namely email address. { # Type of information detected by the API. "name": "A String", # Name of the information type. Either a name of your choosing when creating a CustomInfoType, or one of the names listed at https://cloud.google.com/dlp/docs/infotypes-reference when specifying a built-in type. When sending Cloud DLP results to Data Catalog, infoType names should conform to the pattern `[A-Za-z0-9$-_]{1,64}`. @@ -511,7 +511,7 @@

Method Details

"version": "A String", # Optional version name for this InfoType. }, ], - "limits": { # Configuration to control the number of findings returned for inspection. This is not used for de-identification or data profiling. # Configuration to control the number of findings returned. This is not used for data profiling. + "limits": { # Configuration to control the number of findings returned for inspection. This is not used for de-identification or data profiling. When redacting sensitive data from images, finding limits don't apply. They can cause unexpected or inconsistent results, where only some data is redacted. Don't include finding limits in RedactImage requests. Otherwise, Cloud DLP returns an error. # Configuration to control the number of findings returned. This is not used for data profiling. When redacting sensitive data from images, finding limits don't apply. They can cause unexpected or inconsistent results, where only some data is redacted. Don't include finding limits in RedactImage requests. Otherwise, Cloud DLP returns an error. "maxFindingsPerInfoType": [ # Configuration of findings limit given for specified infoTypes. { # Max findings configuration per infoType, per content item or long running DlpJob. "infoType": { # Type of information detected by the API. # Type of information the findings limit applies to. Only one limit per info_type should be provided. If InfoTypeLimit does not have an info_type, the DLP API applies the limit against all info_types that are found but not specified in another InfoTypeLimit. @@ -546,7 +546,7 @@

Method Details

], }, }, - "excludeInfoTypes": { # List of exclude infoTypes. # Set of infoTypes for which findings would affect this rule. + "excludeInfoTypes": { # List of excluded infoTypes. # Set of infoTypes for which findings would affect this rule. "infoTypes": [ # InfoType list in ExclusionRule rule drops a finding when it overlaps or contained within with a finding of an infoType from this list. For example, for `InspectionRuleSet.info_types` containing "PHONE_NUMBER"` and `exclusion_rule` containing `exclude_info_types.info_types` with "EMAIL_ADDRESS" the phone number findings are dropped if they overlap with EMAIL_ADDRESS finding. That leads to "555-222-2222@example.org" to generate only a single finding, namely email address. { # Type of information detected by the API. "name": "A String", # Name of the information type. Either a name of your choosing when creating a CustomInfoType, or one of the names listed at https://cloud.google.com/dlp/docs/infotypes-reference when specifying a built-in type. When sending Cloud DLP results to Data Catalog, infoType names should conform to the pattern `[A-Za-z0-9$-_]{1,64}`. @@ -595,8 +595,8 @@

Method Details

Args: parent: string, Required. Parent resource name. The format of this value varies depending on the scope of the request (project or organization) and whether you have [specified a processing location](https://cloud.google.com/dlp/docs/specifying-location): + Projects scope, location specified: `projects/`PROJECT_ID`/locations/`LOCATION_ID + Projects scope, no location specified (defaults to global): `projects/`PROJECT_ID + Organizations scope, location specified: `organizations/`ORG_ID`/locations/`LOCATION_ID + Organizations scope, no location specified (defaults to global): `organizations/`ORG_ID The following example `parent` string specifies a parent project with the identifier `example-project`, and specifies the `europe-west3` location for processing data: parent=projects/example-project/locations/europe-west3 (required) locationId: string, Deprecated. This field has no effect. - orderBy: string, Comma separated list of fields to order by, followed by `asc` or `desc` postfix. This list is case-insensitive, default sorting order is ascending, redundant space characters are insignificant. Example: `name asc,update_time, create_time desc` Supported fields are: - `create_time`: corresponds to time the template was created. - `update_time`: corresponds to time the template was last updated. - `name`: corresponds to template's name. - `display_name`: corresponds to template's display name. - pageSize: integer, Size of the page, can be limited by server. If zero server returns a page of max size 100. + orderBy: string, Comma separated list of fields to order by, followed by `asc` or `desc` postfix. This list is case-insensitive, default sorting order is ascending, redundant space characters are insignificant. Example: `name asc,update_time, create_time desc` Supported fields are: - `create_time`: corresponds to the time the template was created. - `update_time`: corresponds to the time the template was last updated. - `name`: corresponds to the template's name. - `display_name`: corresponds to the template's display name. + pageSize: integer, Size of the page, can be limited by the server. If zero server returns a page of max size 100. pageToken: string, Page token to continue retrieval. Comes from previous call to `ListInspectTemplates`. x__xgafv: string, V1 error format. Allowed values @@ -676,7 +676,7 @@

Method Details

"version": "A String", # Optional version name for this InfoType. }, ], - "limits": { # Configuration to control the number of findings returned for inspection. This is not used for de-identification or data profiling. # Configuration to control the number of findings returned. This is not used for data profiling. + "limits": { # Configuration to control the number of findings returned for inspection. This is not used for de-identification or data profiling. When redacting sensitive data from images, finding limits don't apply. They can cause unexpected or inconsistent results, where only some data is redacted. Don't include finding limits in RedactImage requests. Otherwise, Cloud DLP returns an error. # Configuration to control the number of findings returned. This is not used for data profiling. When redacting sensitive data from images, finding limits don't apply. They can cause unexpected or inconsistent results, where only some data is redacted. Don't include finding limits in RedactImage requests. Otherwise, Cloud DLP returns an error. "maxFindingsPerInfoType": [ # Configuration of findings limit given for specified infoTypes. { # Max findings configuration per infoType, per content item or long running DlpJob. "infoType": { # Type of information detected by the API. # Type of information the findings limit applies to. Only one limit per info_type should be provided. If InfoTypeLimit does not have an info_type, the DLP API applies the limit against all info_types that are found but not specified in another InfoTypeLimit. @@ -711,7 +711,7 @@

Method Details

], }, }, - "excludeInfoTypes": { # List of exclude infoTypes. # Set of infoTypes for which findings would affect this rule. + "excludeInfoTypes": { # List of excluded infoTypes. # Set of infoTypes for which findings would affect this rule. "infoTypes": [ # InfoType list in ExclusionRule rule drops a finding when it overlaps or contained within with a finding of an infoType from this list. For example, for `InspectionRuleSet.info_types` containing "PHONE_NUMBER"` and `exclusion_rule` containing `exclude_info_types.info_types` with "EMAIL_ADDRESS" the phone number findings are dropped if they overlap with EMAIL_ADDRESS finding. That leads to "555-222-2222@example.org" to generate only a single finding, namely email address. { # Type of information detected by the API. "name": "A String", # Name of the information type. Either a name of your choosing when creating a CustomInfoType, or one of the names listed at https://cloud.google.com/dlp/docs/infotypes-reference when specifying a built-in type. When sending Cloud DLP results to Data Catalog, infoType names should conform to the pattern `[A-Za-z0-9$-_]{1,64}`. @@ -848,7 +848,7 @@

Method Details

"version": "A String", # Optional version name for this InfoType. }, ], - "limits": { # Configuration to control the number of findings returned for inspection. This is not used for de-identification or data profiling. # Configuration to control the number of findings returned. This is not used for data profiling. + "limits": { # Configuration to control the number of findings returned for inspection. This is not used for de-identification or data profiling. When redacting sensitive data from images, finding limits don't apply. They can cause unexpected or inconsistent results, where only some data is redacted. Don't include finding limits in RedactImage requests. Otherwise, Cloud DLP returns an error. # Configuration to control the number of findings returned. This is not used for data profiling. When redacting sensitive data from images, finding limits don't apply. They can cause unexpected or inconsistent results, where only some data is redacted. Don't include finding limits in RedactImage requests. Otherwise, Cloud DLP returns an error. "maxFindingsPerInfoType": [ # Configuration of findings limit given for specified infoTypes. { # Max findings configuration per infoType, per content item or long running DlpJob. "infoType": { # Type of information detected by the API. # Type of information the findings limit applies to. Only one limit per info_type should be provided. If InfoTypeLimit does not have an info_type, the DLP API applies the limit against all info_types that are found but not specified in another InfoTypeLimit. @@ -883,7 +883,7 @@

Method Details

], }, }, - "excludeInfoTypes": { # List of exclude infoTypes. # Set of infoTypes for which findings would affect this rule. + "excludeInfoTypes": { # List of excluded infoTypes. # Set of infoTypes for which findings would affect this rule. "infoTypes": [ # InfoType list in ExclusionRule rule drops a finding when it overlaps or contained within with a finding of an infoType from this list. For example, for `InspectionRuleSet.info_types` containing "PHONE_NUMBER"` and `exclusion_rule` containing `exclude_info_types.info_types` with "EMAIL_ADDRESS" the phone number findings are dropped if they overlap with EMAIL_ADDRESS finding. That leads to "555-222-2222@example.org" to generate only a single finding, namely email address. { # Type of information detected by the API. "name": "A String", # Name of the information type. Either a name of your choosing when creating a CustomInfoType, or one of the names listed at https://cloud.google.com/dlp/docs/infotypes-reference when specifying a built-in type. When sending Cloud DLP results to Data Catalog, infoType names should conform to the pattern `[A-Za-z0-9$-_]{1,64}`. @@ -1002,7 +1002,7 @@

Method Details

"version": "A String", # Optional version name for this InfoType. }, ], - "limits": { # Configuration to control the number of findings returned for inspection. This is not used for de-identification or data profiling. # Configuration to control the number of findings returned. This is not used for data profiling. + "limits": { # Configuration to control the number of findings returned for inspection. This is not used for de-identification or data profiling. When redacting sensitive data from images, finding limits don't apply. They can cause unexpected or inconsistent results, where only some data is redacted. Don't include finding limits in RedactImage requests. Otherwise, Cloud DLP returns an error. # Configuration to control the number of findings returned. This is not used for data profiling. When redacting sensitive data from images, finding limits don't apply. They can cause unexpected or inconsistent results, where only some data is redacted. Don't include finding limits in RedactImage requests. Otherwise, Cloud DLP returns an error. "maxFindingsPerInfoType": [ # Configuration of findings limit given for specified infoTypes. { # Max findings configuration per infoType, per content item or long running DlpJob. "infoType": { # Type of information detected by the API. # Type of information the findings limit applies to. Only one limit per info_type should be provided. If InfoTypeLimit does not have an info_type, the DLP API applies the limit against all info_types that are found but not specified in another InfoTypeLimit. @@ -1037,7 +1037,7 @@

Method Details

], }, }, - "excludeInfoTypes": { # List of exclude infoTypes. # Set of infoTypes for which findings would affect this rule. + "excludeInfoTypes": { # List of excluded infoTypes. # Set of infoTypes for which findings would affect this rule. "infoTypes": [ # InfoType list in ExclusionRule rule drops a finding when it overlaps or contained within with a finding of an infoType from this list. For example, for `InspectionRuleSet.info_types` containing "PHONE_NUMBER"` and `exclusion_rule` containing `exclude_info_types.info_types` with "EMAIL_ADDRESS" the phone number findings are dropped if they overlap with EMAIL_ADDRESS finding. That leads to "555-222-2222@example.org" to generate only a single finding, namely email address. { # Type of information detected by the API. "name": "A String", # Name of the information type. Either a name of your choosing when creating a CustomInfoType, or one of the names listed at https://cloud.google.com/dlp/docs/infotypes-reference when specifying a built-in type. When sending Cloud DLP results to Data Catalog, infoType names should conform to the pattern `[A-Za-z0-9$-_]{1,64}`. diff --git a/docs/dyn/dlp_v2.projects.locations.jobTriggers.html b/docs/dyn/dlp_v2.projects.locations.jobTriggers.html index 0a26028a0d9..6aa1ee8d2c2 100644 --- a/docs/dyn/dlp_v2.projects.locations.jobTriggers.html +++ b/docs/dyn/dlp_v2.projects.locations.jobTriggers.html @@ -146,21 +146,39 @@

Method Details

"jobConfig": { # Controls what and how to inspect for findings. # Inspect config. "actions": [ # Actions to execute at the completion of the job. { # A task to execute on the completion of a job. See https://cloud.google.com/dlp/docs/concepts-actions to learn more. + "deidentify": { # Create a de-identified copy of the requested table or files. . A TransformationDetail will be created for each transformation. If any rows in BigQuery are skipped during de-identification (transformation errors or row size exceeds BigQuery insert API limits) they are placed in the failure output table. If the original row exceeds the BigQuery insert API limit it will be truncated when written to the failure output table. The failure output table can be set in the action.deidentify.output.big_query_output.deidentified_failure_output_table field, if no table is set, a table will be automatically created in the same project and dataset as the original table. Compatible with: Inspect # Create a de-identified copy of the input data. Applicable for non-image data only. The de-identified copy is in the same location as the original data. + "cloudStorageOutput": "A String", # Required. User settable GCS bucket and folders to store de-identified files. This field must be set for cloud storage deidentification. The output GCS bucket must be different from the input bucket. De-identified files will overwrite files in the output path. Form of: gs://bucket/folder/ or gs://bucket + "fileTypesToTransform": [ # List of user-specified file type groups to transform. If specified, only the files with these filetypes will be transformed. If empty, all supported files will be transformed. Supported types may be automatically added over time. If a file type is set in this field that isn't supported by the Deidentify action then the job will fail and will not be successfully created/started. Currently the only filetypes supported are: IMAGES, TEXT_FILES, CSV, TSV. + "A String", + ], + "transformationConfig": { # User specified templates and configs for how to deidentify structured, unstructures, and image files. User must provide either a unstructured deidentify template or at least one redact image config. # User specified deidentify templates and configs for structured, unstructured, and image files. + "deidentifyTemplate": "A String", # De-identify template. If this template is specified, it will serve as the default de-identify template. This template cannot contain `record_transformations` since it can be used for unstructured content such as free-form text files. If this template is not set, a default `ReplaceWithInfoTypeConfig` will be used to de-identify unstructured content. + "imageRedactTemplate": "A String", # Image redact template. If this template is specified, it will serve as the de-identify template for images. If this template is not set, all findings in the image will be redacted with a black box. + "structuredDeidentifyTemplate": "A String", # Structured de-identify template. If this template is specified, it will serve as the de-identify template for structured content such as delimited files and tables. If this template is not set but the `deidentify_template` is set, then `deidentify_template` will also apply to the structured content. If neither template is set, a default `ReplaceWithInfoTypeConfig` will be used to de-identify structured content. + }, + "transformationDetailsStorageConfig": { # Config for storing transformation details. # Config for storing transformation details. This is separate from the de-identified content, and contains metadata about the successful transformations and/or failures that occurred while de-identifying. This needs to be set in order for users to access information about the status of each transformation (see TransformationDetails message for more information about what is noted). + "table": { # Message defining the location of a BigQuery table. A table is uniquely identified by its project_id, dataset_id, and table_name. Within a query a table is often referenced with a string in the format of: `:.` or `..`. # The BigQuery table in which to store the output. This may be an existing table or in a new table in an existing dataset. If table_id is not set a new one will be generated for you with the following format: dlp_googleapis_transformation_details_yyyy_mm_dd_[dlp_job_id]. Pacific time zone will be used for generating the date details. + "datasetId": "A String", # Dataset ID of the table. + "projectId": "A String", # The Google Cloud Platform project ID of the project containing the table. If omitted, project ID is inferred from the API call. + "tableId": "A String", # Name of the table. + }, + }, + }, "jobNotificationEmails": { # Enable email notification to project owners and editors on jobs's completion/failure. # Enable email notification for project owners and editors on job's completion/failure. }, - "pubSub": { # Publish a message into given Pub/Sub topic when DlpJob has completed. The message contains a single field, `DlpJobName`, which is equal to the finished job's [`DlpJob.name`](https://cloud.google.com/dlp/docs/reference/rest/v2/projects.dlpJobs#DlpJob). Compatible with: Inspect, Risk # Publish a notification to a pubsub topic. + "pubSub": { # Publish a message into a given Pub/Sub topic when DlpJob has completed. The message contains a single field, `DlpJobName`, which is equal to the finished job's [`DlpJob.name`](https://cloud.google.com/dlp/docs/reference/rest/v2/projects.dlpJobs#DlpJob). Compatible with: Inspect, Risk # Publish a notification to a pubsub topic. "topic": "A String", # Cloud Pub/Sub topic to send notifications to. The topic must have given publishing access rights to the DLP API service account executing the long running DlpJob sending the notifications. Format is projects/{project}/topics/{topic}. }, "publishFindingsToCloudDataCatalog": { # Publish findings of a DlpJob to Data Catalog. Labels summarizing the results of the DlpJob will be applied to the entry for the resource scanned in Data Catalog. Any labels previously written by another DlpJob will be deleted. InfoType naming patterns are strictly enforced when using this feature. Note that the findings will be persisted in Data Catalog storage and are governed by Data Catalog service-specific policy, see https://cloud.google.com/terms/service-terms Only a single instance of this action can be specified and only allowed if all resources being scanned are BigQuery tables. Compatible with: Inspect # Publish findings to Cloud Datahub. }, - "publishSummaryToCscc": { # Publish the result summary of a DlpJob to the Cloud Security Command Center (CSCC Alpha). This action is only available for projects which are parts of an organization and whitelisted for the alpha Cloud Security Command Center. The action will publish count of finding instances and their info types. The summary of findings will be persisted in CSCC and are governed by CSCC service-specific policy, see https://cloud.google.com/terms/service-terms Only a single instance of this action can be specified. Compatible with: Inspect # Publish summary to Cloud Security Command Center (Alpha). + "publishSummaryToCscc": { # Publish the result summary of a DlpJob to the Cloud Security Command Center (CSCC Alpha). This action is only available for projects which are parts of an organization and whitelisted for the alpha Cloud Security Command Center. The action will publish the count of finding instances and their info types. The summary of findings will be persisted in CSCC and are governed by CSCC service-specific policy, see https://cloud.google.com/terms/service-terms Only a single instance of this action can be specified. Compatible with: Inspect # Publish summary to Cloud Security Command Center (Alpha). }, "publishToStackdriver": { # Enable Stackdriver metric dlp.googleapis.com/finding_count. This will publish a metric to stack driver on each infotype requested and how many findings were found for it. CustomDetectors will be bucketed as 'Custom' under the Stackdriver label 'info_type'. # Enable Stackdriver metric dlp.googleapis.com/finding_count. }, "saveFindings": { # If set, the detailed findings will be persisted to the specified OutputStorageConfig. Only a single instance of this action can be specified. Compatible with: Inspect, Risk # Save resulting findings in a provided location. "outputConfig": { # Cloud repository for storing output. # Location to store findings outside of DLP. "outputSchema": "A String", # Schema used for writing the findings for Inspect jobs. This field is only used for Inspect and must be unspecified for Risk jobs. Columns are derived from the `Finding` object. If appending to an existing table, any columns from the predefined schema that are missing will be added. No columns in the existing table will be deleted. If unspecified, then all available columns will be used for a new table or an (existing) table with no schema, and no changes will be made to an existing table that has a schema. Only for use with external storage. - "table": { # Message defining the location of a BigQuery table. A table is uniquely identified by its project_id, dataset_id, and table_name. Within a query a table is often referenced with a string in the format of: `:.` or `..`. # Store findings in an existing table or a new table in an existing dataset. If table_id is not set a new one will be generated for you with the following format: dlp_googleapis_yyyy_mm_dd_[dlp_job_id]. Pacific timezone will be used for generating the date details. For Inspect, each column in an existing output table must have the same name, type, and mode of a field in the `Finding` object. For Risk, an existing output table should be the output of a previous Risk analysis job run on the same source table, with the same privacy metric and quasi-identifiers. Risk jobs that analyze the same table but compute a different privacy metric, or use different sets of quasi-identifiers, cannot store their results in the same table. + "table": { # Message defining the location of a BigQuery table. A table is uniquely identified by its project_id, dataset_id, and table_name. Within a query a table is often referenced with a string in the format of: `:.` or `..`. # Store findings in an existing table or a new table in an existing dataset. If table_id is not set a new one will be generated for you with the following format: dlp_googleapis_yyyy_mm_dd_[dlp_job_id]. Pacific time zone will be used for generating the date details. For Inspect, each column in an existing output table must have the same name, type, and mode of a field in the `Finding` object. For Risk, an existing output table should be the output of a previous Risk analysis job run on the same source table, with the same privacy metric and quasi-identifiers. Risk jobs that analyze the same table but compute a different privacy metric, or use different sets of quasi-identifiers, cannot store their results in the same table. "datasetId": "A String", # Dataset ID of the table. "projectId": "A String", # The Google Cloud Platform project ID of the project containing the table. If omitted, project ID is inferred from the API call. "tableId": "A String", # Name of the table. @@ -233,7 +251,7 @@

Method Details

"version": "A String", # Optional version name for this InfoType. }, ], - "limits": { # Configuration to control the number of findings returned for inspection. This is not used for de-identification or data profiling. # Configuration to control the number of findings returned. This is not used for data profiling. + "limits": { # Configuration to control the number of findings returned for inspection. This is not used for de-identification or data profiling. When redacting sensitive data from images, finding limits don't apply. They can cause unexpected or inconsistent results, where only some data is redacted. Don't include finding limits in RedactImage requests. Otherwise, Cloud DLP returns an error. # Configuration to control the number of findings returned. This is not used for data profiling. When redacting sensitive data from images, finding limits don't apply. They can cause unexpected or inconsistent results, where only some data is redacted. Don't include finding limits in RedactImage requests. Otherwise, Cloud DLP returns an error. "maxFindingsPerInfoType": [ # Configuration of findings limit given for specified infoTypes. { # Max findings configuration per infoType, per content item or long running DlpJob. "infoType": { # Type of information detected by the API. # Type of information the findings limit applies to. Only one limit per info_type should be provided. If InfoTypeLimit does not have an info_type, the DLP API applies the limit against all info_types that are found but not specified in another InfoTypeLimit. @@ -268,7 +286,7 @@

Method Details

], }, }, - "excludeInfoTypes": { # List of exclude infoTypes. # Set of infoTypes for which findings would affect this rule. + "excludeInfoTypes": { # List of excluded infoTypes. # Set of infoTypes for which findings would affect this rule. "infoTypes": [ # InfoType list in ExclusionRule rule drops a finding when it overlaps or contained within with a finding of an infoType from this list. For example, for `InspectionRuleSet.info_types` containing "PHONE_NUMBER"` and `exclusion_rule` containing `exclude_info_types.info_types` with "EMAIL_ADDRESS" the phone number findings are dropped if they overlap with EMAIL_ADDRESS finding. That leads to "555-222-2222@example.org" to generate only a single finding, namely email address. { # Type of information detected by the API. "name": "A String", # Name of the information type. Either a name of your choosing when creating a CustomInfoType, or one of the names listed at https://cloud.google.com/dlp/docs/infotypes-reference when specifying a built-in type. When sending Cloud DLP results to Data Catalog, infoType names should conform to the pattern `[A-Za-z0-9$-_]{1,64}`. @@ -332,7 +350,7 @@

Method Details

"tableId": "A String", # Name of the table. }, }, - "cloudStorageOptions": { # Options defining a file or a set of files within a Google Cloud Storage bucket. # Google Cloud Storage options. + "cloudStorageOptions": { # Options defining a file or a set of files within a Cloud Storage bucket. # Cloud Storage options. "bytesLimitPerFile": "A String", # Max number of bytes to scan from a file. If a scanned file's size is bigger than this value then the rest of the bytes are omitted. Only one of bytes_limit_per_file and bytes_limit_per_file_percent can be specified. Cannot be set if de-identification is requested. "bytesLimitPerFilePercent": 42, # Max percentage of bytes to scan from a file. The rest are omitted. The number of bytes scanned is rounded down. Must be between 0 and 100, inclusively. Both 0 and 100 means no limit. Defaults to 0. Only one of bytes_limit_per_file and bytes_limit_per_file_percent can be specified. Cannot be set if de-identification is requested. "fileSet": { # Set of files to scan. # The set of one or more files to scan. @@ -378,11 +396,11 @@

Method Details

], }, }, - "timespanConfig": { # Configuration of the timespan of the items to include in scanning. Currently only supported when inspecting Google Cloud Storage and BigQuery. + "timespanConfig": { # Configuration of the timespan of the items to include in scanning. Currently only supported when inspecting Cloud Storage and BigQuery. "enableAutoPopulationOfTimespanConfig": True or False, # When the job is started by a JobTrigger we will automatically figure out a valid start_time to avoid scanning files that have not been modified since the last time the JobTrigger executed. This will be based on the time of the execution of the last run of the JobTrigger. "endTime": "A String", # Exclude files, tables, or rows newer than this value. If not set, no upper time limit is applied. "startTime": "A String", # Exclude files, tables, or rows older than this value. If not set, no lower time limit is applied. - "timestampField": { # General identifier of a data field in a storage service. # Specification of the field containing the timestamp of scanned items. Used for data sources like Datastore and BigQuery. For BigQuery: If this value is not specified and the table was modified between the given start and end times, the entire table will be scanned. If this value is specified, then rows are filtered based on the given start and end times. Rows with a `NULL` value in the provided BigQuery column are skipped. Valid data types of the provided BigQuery column are: `INTEGER`, `DATE`, `TIMESTAMP`, and `DATETIME`. For Datastore: If this value is specified, then entities are filtered based on the given start and end times. If an entity does not contain the provided timestamp property or contains empty or invalid values, then it is included. Valid data types of the provided timestamp property are: `TIMESTAMP`. + "timestampField": { # General identifier of a data field in a storage service. # Specification of the field containing the timestamp of scanned items. Used for data sources like Datastore and BigQuery. *For BigQuery* If this value is not specified and the table was modified between the given start and end times, the entire table will be scanned. If this value is specified, then rows are filtered based on the given start and end times. Rows with a `NULL` value in the provided BigQuery column are skipped. Valid data types of the provided BigQuery column are: `INTEGER`, `DATE`, `TIMESTAMP`, and `DATETIME`. If your BigQuery table is [partitioned at ingestion time](https://cloud.google.com/bigquery/docs/partitioned-tables#ingestion_time), you can use any of the following pseudo-columns as your timestamp field. When used with Cloud DLP, these pseudo-column names are case sensitive. - _PARTITIONTIME - _PARTITIONDATE - _PARTITION_LOAD_TIME *For Datastore* If this value is specified, then entities are filtered based on the given start and end times. If an entity does not contain the provided timestamp property or contains empty or invalid values, then it is included. Valid data types of the provided timestamp property are: `TIMESTAMP`. See the [known issue](https://cloud.google.com/dlp/docs/known-issues#bq-timespan) related to this operation. "name": "A String", # Name describing the field. }, }, @@ -456,7 +474,7 @@

Method Details

"version": "A String", # Optional version name for this InfoType. }, ], - "limits": { # Configuration to control the number of findings returned for inspection. This is not used for de-identification or data profiling. # Configuration to control the number of findings returned. This is not used for data profiling. + "limits": { # Configuration to control the number of findings returned for inspection. This is not used for de-identification or data profiling. When redacting sensitive data from images, finding limits don't apply. They can cause unexpected or inconsistent results, where only some data is redacted. Don't include finding limits in RedactImage requests. Otherwise, Cloud DLP returns an error. # Configuration to control the number of findings returned. This is not used for data profiling. When redacting sensitive data from images, finding limits don't apply. They can cause unexpected or inconsistent results, where only some data is redacted. Don't include finding limits in RedactImage requests. Otherwise, Cloud DLP returns an error. "maxFindingsPerInfoType": [ # Configuration of findings limit given for specified infoTypes. { # Max findings configuration per infoType, per content item or long running DlpJob. "infoType": { # Type of information detected by the API. # Type of information the findings limit applies to. Only one limit per info_type should be provided. If InfoTypeLimit does not have an info_type, the DLP API applies the limit against all info_types that are found but not specified in another InfoTypeLimit. @@ -491,7 +509,7 @@

Method Details

], }, }, - "excludeInfoTypes": { # List of exclude infoTypes. # Set of infoTypes for which findings would affect this rule. + "excludeInfoTypes": { # List of excluded infoTypes. # Set of infoTypes for which findings would affect this rule. "infoTypes": [ # InfoType list in ExclusionRule rule drops a finding when it overlaps or contained within with a finding of an infoType from this list. For example, for `InspectionRuleSet.info_types` containing "PHONE_NUMBER"` and `exclusion_rule` containing `exclude_info_types.info_types` with "EMAIL_ADDRESS" the phone number findings are dropped if they overlap with EMAIL_ADDRESS finding. That leads to "555-222-2222@example.org" to generate only a single finding, namely email address. { # Type of information detected by the API. "name": "A String", # Name of the information type. Either a name of your choosing when creating a CustomInfoType, or one of the names listed at https://cloud.google.com/dlp/docs/infotypes-reference when specifying a built-in type. When sending Cloud DLP results to Data Catalog, infoType names should conform to the pattern `[A-Za-z0-9$-_]{1,64}`. @@ -822,21 +840,39 @@

Method Details

"jobConfig": { # Configuration for a risk analysis job. See https://cloud.google.com/dlp/docs/concepts-risk-analysis to learn more. # The job config for the risk job. "actions": [ # Actions to execute at the completion of the job. Are executed in the order provided. { # A task to execute on the completion of a job. See https://cloud.google.com/dlp/docs/concepts-actions to learn more. + "deidentify": { # Create a de-identified copy of the requested table or files. . A TransformationDetail will be created for each transformation. If any rows in BigQuery are skipped during de-identification (transformation errors or row size exceeds BigQuery insert API limits) they are placed in the failure output table. If the original row exceeds the BigQuery insert API limit it will be truncated when written to the failure output table. The failure output table can be set in the action.deidentify.output.big_query_output.deidentified_failure_output_table field, if no table is set, a table will be automatically created in the same project and dataset as the original table. Compatible with: Inspect # Create a de-identified copy of the input data. Applicable for non-image data only. The de-identified copy is in the same location as the original data. + "cloudStorageOutput": "A String", # Required. User settable GCS bucket and folders to store de-identified files. This field must be set for cloud storage deidentification. The output GCS bucket must be different from the input bucket. De-identified files will overwrite files in the output path. Form of: gs://bucket/folder/ or gs://bucket + "fileTypesToTransform": [ # List of user-specified file type groups to transform. If specified, only the files with these filetypes will be transformed. If empty, all supported files will be transformed. Supported types may be automatically added over time. If a file type is set in this field that isn't supported by the Deidentify action then the job will fail and will not be successfully created/started. Currently the only filetypes supported are: IMAGES, TEXT_FILES, CSV, TSV. + "A String", + ], + "transformationConfig": { # User specified templates and configs for how to deidentify structured, unstructures, and image files. User must provide either a unstructured deidentify template or at least one redact image config. # User specified deidentify templates and configs for structured, unstructured, and image files. + "deidentifyTemplate": "A String", # De-identify template. If this template is specified, it will serve as the default de-identify template. This template cannot contain `record_transformations` since it can be used for unstructured content such as free-form text files. If this template is not set, a default `ReplaceWithInfoTypeConfig` will be used to de-identify unstructured content. + "imageRedactTemplate": "A String", # Image redact template. If this template is specified, it will serve as the de-identify template for images. If this template is not set, all findings in the image will be redacted with a black box. + "structuredDeidentifyTemplate": "A String", # Structured de-identify template. If this template is specified, it will serve as the de-identify template for structured content such as delimited files and tables. If this template is not set but the `deidentify_template` is set, then `deidentify_template` will also apply to the structured content. If neither template is set, a default `ReplaceWithInfoTypeConfig` will be used to de-identify structured content. + }, + "transformationDetailsStorageConfig": { # Config for storing transformation details. # Config for storing transformation details. This is separate from the de-identified content, and contains metadata about the successful transformations and/or failures that occurred while de-identifying. This needs to be set in order for users to access information about the status of each transformation (see TransformationDetails message for more information about what is noted). + "table": { # Message defining the location of a BigQuery table. A table is uniquely identified by its project_id, dataset_id, and table_name. Within a query a table is often referenced with a string in the format of: `:.` or `..`. # The BigQuery table in which to store the output. This may be an existing table or in a new table in an existing dataset. If table_id is not set a new one will be generated for you with the following format: dlp_googleapis_transformation_details_yyyy_mm_dd_[dlp_job_id]. Pacific time zone will be used for generating the date details. + "datasetId": "A String", # Dataset ID of the table. + "projectId": "A String", # The Google Cloud Platform project ID of the project containing the table. If omitted, project ID is inferred from the API call. + "tableId": "A String", # Name of the table. + }, + }, + }, "jobNotificationEmails": { # Enable email notification to project owners and editors on jobs's completion/failure. # Enable email notification for project owners and editors on job's completion/failure. }, - "pubSub": { # Publish a message into given Pub/Sub topic when DlpJob has completed. The message contains a single field, `DlpJobName`, which is equal to the finished job's [`DlpJob.name`](https://cloud.google.com/dlp/docs/reference/rest/v2/projects.dlpJobs#DlpJob). Compatible with: Inspect, Risk # Publish a notification to a pubsub topic. + "pubSub": { # Publish a message into a given Pub/Sub topic when DlpJob has completed. The message contains a single field, `DlpJobName`, which is equal to the finished job's [`DlpJob.name`](https://cloud.google.com/dlp/docs/reference/rest/v2/projects.dlpJobs#DlpJob). Compatible with: Inspect, Risk # Publish a notification to a pubsub topic. "topic": "A String", # Cloud Pub/Sub topic to send notifications to. The topic must have given publishing access rights to the DLP API service account executing the long running DlpJob sending the notifications. Format is projects/{project}/topics/{topic}. }, "publishFindingsToCloudDataCatalog": { # Publish findings of a DlpJob to Data Catalog. Labels summarizing the results of the DlpJob will be applied to the entry for the resource scanned in Data Catalog. Any labels previously written by another DlpJob will be deleted. InfoType naming patterns are strictly enforced when using this feature. Note that the findings will be persisted in Data Catalog storage and are governed by Data Catalog service-specific policy, see https://cloud.google.com/terms/service-terms Only a single instance of this action can be specified and only allowed if all resources being scanned are BigQuery tables. Compatible with: Inspect # Publish findings to Cloud Datahub. }, - "publishSummaryToCscc": { # Publish the result summary of a DlpJob to the Cloud Security Command Center (CSCC Alpha). This action is only available for projects which are parts of an organization and whitelisted for the alpha Cloud Security Command Center. The action will publish count of finding instances and their info types. The summary of findings will be persisted in CSCC and are governed by CSCC service-specific policy, see https://cloud.google.com/terms/service-terms Only a single instance of this action can be specified. Compatible with: Inspect # Publish summary to Cloud Security Command Center (Alpha). + "publishSummaryToCscc": { # Publish the result summary of a DlpJob to the Cloud Security Command Center (CSCC Alpha). This action is only available for projects which are parts of an organization and whitelisted for the alpha Cloud Security Command Center. The action will publish the count of finding instances and their info types. The summary of findings will be persisted in CSCC and are governed by CSCC service-specific policy, see https://cloud.google.com/terms/service-terms Only a single instance of this action can be specified. Compatible with: Inspect # Publish summary to Cloud Security Command Center (Alpha). }, "publishToStackdriver": { # Enable Stackdriver metric dlp.googleapis.com/finding_count. This will publish a metric to stack driver on each infotype requested and how many findings were found for it. CustomDetectors will be bucketed as 'Custom' under the Stackdriver label 'info_type'. # Enable Stackdriver metric dlp.googleapis.com/finding_count. }, "saveFindings": { # If set, the detailed findings will be persisted to the specified OutputStorageConfig. Only a single instance of this action can be specified. Compatible with: Inspect, Risk # Save resulting findings in a provided location. "outputConfig": { # Cloud repository for storing output. # Location to store findings outside of DLP. "outputSchema": "A String", # Schema used for writing the findings for Inspect jobs. This field is only used for Inspect and must be unspecified for Risk jobs. Columns are derived from the `Finding` object. If appending to an existing table, any columns from the predefined schema that are missing will be added. No columns in the existing table will be deleted. If unspecified, then all available columns will be used for a new table or an (existing) table with no schema, and no changes will be made to an existing table that has a schema. Only for use with external storage. - "table": { # Message defining the location of a BigQuery table. A table is uniquely identified by its project_id, dataset_id, and table_name. Within a query a table is often referenced with a string in the format of: `:.` or `..`. # Store findings in an existing table or a new table in an existing dataset. If table_id is not set a new one will be generated for you with the following format: dlp_googleapis_yyyy_mm_dd_[dlp_job_id]. Pacific timezone will be used for generating the date details. For Inspect, each column in an existing output table must have the same name, type, and mode of a field in the `Finding` object. For Risk, an existing output table should be the output of a previous Risk analysis job run on the same source table, with the same privacy metric and quasi-identifiers. Risk jobs that analyze the same table but compute a different privacy metric, or use different sets of quasi-identifiers, cannot store their results in the same table. + "table": { # Message defining the location of a BigQuery table. A table is uniquely identified by its project_id, dataset_id, and table_name. Within a query a table is often referenced with a string in the format of: `:.` or `..`. # Store findings in an existing table or a new table in an existing dataset. If table_id is not set a new one will be generated for you with the following format: dlp_googleapis_yyyy_mm_dd_[dlp_job_id]. Pacific time zone will be used for generating the date details. For Inspect, each column in an existing output table must have the same name, type, and mode of a field in the `Finding` object. For Risk, an existing output table should be the output of a previous Risk analysis job run on the same source table, with the same privacy metric and quasi-identifiers. Risk jobs that analyze the same table but compute a different privacy metric, or use different sets of quasi-identifiers, cannot store their results in the same table. "datasetId": "A String", # Dataset ID of the table. "projectId": "A String", # The Google Cloud Platform project ID of the project containing the table. If omitted, project ID is inferred from the API call. "tableId": "A String", # Name of the table. @@ -1118,21 +1154,39 @@

Method Details

"inspectJob": { # Controls what and how to inspect for findings. # For inspect jobs, a snapshot of the configuration. "actions": [ # Actions to execute at the completion of the job. { # A task to execute on the completion of a job. See https://cloud.google.com/dlp/docs/concepts-actions to learn more. + "deidentify": { # Create a de-identified copy of the requested table or files. . A TransformationDetail will be created for each transformation. If any rows in BigQuery are skipped during de-identification (transformation errors or row size exceeds BigQuery insert API limits) they are placed in the failure output table. If the original row exceeds the BigQuery insert API limit it will be truncated when written to the failure output table. The failure output table can be set in the action.deidentify.output.big_query_output.deidentified_failure_output_table field, if no table is set, a table will be automatically created in the same project and dataset as the original table. Compatible with: Inspect # Create a de-identified copy of the input data. Applicable for non-image data only. The de-identified copy is in the same location as the original data. + "cloudStorageOutput": "A String", # Required. User settable GCS bucket and folders to store de-identified files. This field must be set for cloud storage deidentification. The output GCS bucket must be different from the input bucket. De-identified files will overwrite files in the output path. Form of: gs://bucket/folder/ or gs://bucket + "fileTypesToTransform": [ # List of user-specified file type groups to transform. If specified, only the files with these filetypes will be transformed. If empty, all supported files will be transformed. Supported types may be automatically added over time. If a file type is set in this field that isn't supported by the Deidentify action then the job will fail and will not be successfully created/started. Currently the only filetypes supported are: IMAGES, TEXT_FILES, CSV, TSV. + "A String", + ], + "transformationConfig": { # User specified templates and configs for how to deidentify structured, unstructures, and image files. User must provide either a unstructured deidentify template or at least one redact image config. # User specified deidentify templates and configs for structured, unstructured, and image files. + "deidentifyTemplate": "A String", # De-identify template. If this template is specified, it will serve as the default de-identify template. This template cannot contain `record_transformations` since it can be used for unstructured content such as free-form text files. If this template is not set, a default `ReplaceWithInfoTypeConfig` will be used to de-identify unstructured content. + "imageRedactTemplate": "A String", # Image redact template. If this template is specified, it will serve as the de-identify template for images. If this template is not set, all findings in the image will be redacted with a black box. + "structuredDeidentifyTemplate": "A String", # Structured de-identify template. If this template is specified, it will serve as the de-identify template for structured content such as delimited files and tables. If this template is not set but the `deidentify_template` is set, then `deidentify_template` will also apply to the structured content. If neither template is set, a default `ReplaceWithInfoTypeConfig` will be used to de-identify structured content. + }, + "transformationDetailsStorageConfig": { # Config for storing transformation details. # Config for storing transformation details. This is separate from the de-identified content, and contains metadata about the successful transformations and/or failures that occurred while de-identifying. This needs to be set in order for users to access information about the status of each transformation (see TransformationDetails message for more information about what is noted). + "table": { # Message defining the location of a BigQuery table. A table is uniquely identified by its project_id, dataset_id, and table_name. Within a query a table is often referenced with a string in the format of: `:.` or `..`. # The BigQuery table in which to store the output. This may be an existing table or in a new table in an existing dataset. If table_id is not set a new one will be generated for you with the following format: dlp_googleapis_transformation_details_yyyy_mm_dd_[dlp_job_id]. Pacific time zone will be used for generating the date details. + "datasetId": "A String", # Dataset ID of the table. + "projectId": "A String", # The Google Cloud Platform project ID of the project containing the table. If omitted, project ID is inferred from the API call. + "tableId": "A String", # Name of the table. + }, + }, + }, "jobNotificationEmails": { # Enable email notification to project owners and editors on jobs's completion/failure. # Enable email notification for project owners and editors on job's completion/failure. }, - "pubSub": { # Publish a message into given Pub/Sub topic when DlpJob has completed. The message contains a single field, `DlpJobName`, which is equal to the finished job's [`DlpJob.name`](https://cloud.google.com/dlp/docs/reference/rest/v2/projects.dlpJobs#DlpJob). Compatible with: Inspect, Risk # Publish a notification to a pubsub topic. + "pubSub": { # Publish a message into a given Pub/Sub topic when DlpJob has completed. The message contains a single field, `DlpJobName`, which is equal to the finished job's [`DlpJob.name`](https://cloud.google.com/dlp/docs/reference/rest/v2/projects.dlpJobs#DlpJob). Compatible with: Inspect, Risk # Publish a notification to a pubsub topic. "topic": "A String", # Cloud Pub/Sub topic to send notifications to. The topic must have given publishing access rights to the DLP API service account executing the long running DlpJob sending the notifications. Format is projects/{project}/topics/{topic}. }, "publishFindingsToCloudDataCatalog": { # Publish findings of a DlpJob to Data Catalog. Labels summarizing the results of the DlpJob will be applied to the entry for the resource scanned in Data Catalog. Any labels previously written by another DlpJob will be deleted. InfoType naming patterns are strictly enforced when using this feature. Note that the findings will be persisted in Data Catalog storage and are governed by Data Catalog service-specific policy, see https://cloud.google.com/terms/service-terms Only a single instance of this action can be specified and only allowed if all resources being scanned are BigQuery tables. Compatible with: Inspect # Publish findings to Cloud Datahub. }, - "publishSummaryToCscc": { # Publish the result summary of a DlpJob to the Cloud Security Command Center (CSCC Alpha). This action is only available for projects which are parts of an organization and whitelisted for the alpha Cloud Security Command Center. The action will publish count of finding instances and their info types. The summary of findings will be persisted in CSCC and are governed by CSCC service-specific policy, see https://cloud.google.com/terms/service-terms Only a single instance of this action can be specified. Compatible with: Inspect # Publish summary to Cloud Security Command Center (Alpha). + "publishSummaryToCscc": { # Publish the result summary of a DlpJob to the Cloud Security Command Center (CSCC Alpha). This action is only available for projects which are parts of an organization and whitelisted for the alpha Cloud Security Command Center. The action will publish the count of finding instances and their info types. The summary of findings will be persisted in CSCC and are governed by CSCC service-specific policy, see https://cloud.google.com/terms/service-terms Only a single instance of this action can be specified. Compatible with: Inspect # Publish summary to Cloud Security Command Center (Alpha). }, "publishToStackdriver": { # Enable Stackdriver metric dlp.googleapis.com/finding_count. This will publish a metric to stack driver on each infotype requested and how many findings were found for it. CustomDetectors will be bucketed as 'Custom' under the Stackdriver label 'info_type'. # Enable Stackdriver metric dlp.googleapis.com/finding_count. }, "saveFindings": { # If set, the detailed findings will be persisted to the specified OutputStorageConfig. Only a single instance of this action can be specified. Compatible with: Inspect, Risk # Save resulting findings in a provided location. "outputConfig": { # Cloud repository for storing output. # Location to store findings outside of DLP. "outputSchema": "A String", # Schema used for writing the findings for Inspect jobs. This field is only used for Inspect and must be unspecified for Risk jobs. Columns are derived from the `Finding` object. If appending to an existing table, any columns from the predefined schema that are missing will be added. No columns in the existing table will be deleted. If unspecified, then all available columns will be used for a new table or an (existing) table with no schema, and no changes will be made to an existing table that has a schema. Only for use with external storage. - "table": { # Message defining the location of a BigQuery table. A table is uniquely identified by its project_id, dataset_id, and table_name. Within a query a table is often referenced with a string in the format of: `:.` or `..`. # Store findings in an existing table or a new table in an existing dataset. If table_id is not set a new one will be generated for you with the following format: dlp_googleapis_yyyy_mm_dd_[dlp_job_id]. Pacific timezone will be used for generating the date details. For Inspect, each column in an existing output table must have the same name, type, and mode of a field in the `Finding` object. For Risk, an existing output table should be the output of a previous Risk analysis job run on the same source table, with the same privacy metric and quasi-identifiers. Risk jobs that analyze the same table but compute a different privacy metric, or use different sets of quasi-identifiers, cannot store their results in the same table. + "table": { # Message defining the location of a BigQuery table. A table is uniquely identified by its project_id, dataset_id, and table_name. Within a query a table is often referenced with a string in the format of: `:.` or `..`. # Store findings in an existing table or a new table in an existing dataset. If table_id is not set a new one will be generated for you with the following format: dlp_googleapis_yyyy_mm_dd_[dlp_job_id]. Pacific time zone will be used for generating the date details. For Inspect, each column in an existing output table must have the same name, type, and mode of a field in the `Finding` object. For Risk, an existing output table should be the output of a previous Risk analysis job run on the same source table, with the same privacy metric and quasi-identifiers. Risk jobs that analyze the same table but compute a different privacy metric, or use different sets of quasi-identifiers, cannot store their results in the same table. "datasetId": "A String", # Dataset ID of the table. "projectId": "A String", # The Google Cloud Platform project ID of the project containing the table. If omitted, project ID is inferred from the API call. "tableId": "A String", # Name of the table. @@ -1205,7 +1259,7 @@

Method Details

"version": "A String", # Optional version name for this InfoType. }, ], - "limits": { # Configuration to control the number of findings returned for inspection. This is not used for de-identification or data profiling. # Configuration to control the number of findings returned. This is not used for data profiling. + "limits": { # Configuration to control the number of findings returned for inspection. This is not used for de-identification or data profiling. When redacting sensitive data from images, finding limits don't apply. They can cause unexpected or inconsistent results, where only some data is redacted. Don't include finding limits in RedactImage requests. Otherwise, Cloud DLP returns an error. # Configuration to control the number of findings returned. This is not used for data profiling. When redacting sensitive data from images, finding limits don't apply. They can cause unexpected or inconsistent results, where only some data is redacted. Don't include finding limits in RedactImage requests. Otherwise, Cloud DLP returns an error. "maxFindingsPerInfoType": [ # Configuration of findings limit given for specified infoTypes. { # Max findings configuration per infoType, per content item or long running DlpJob. "infoType": { # Type of information detected by the API. # Type of information the findings limit applies to. Only one limit per info_type should be provided. If InfoTypeLimit does not have an info_type, the DLP API applies the limit against all info_types that are found but not specified in another InfoTypeLimit. @@ -1240,7 +1294,7 @@

Method Details

], }, }, - "excludeInfoTypes": { # List of exclude infoTypes. # Set of infoTypes for which findings would affect this rule. + "excludeInfoTypes": { # List of excluded infoTypes. # Set of infoTypes for which findings would affect this rule. "infoTypes": [ # InfoType list in ExclusionRule rule drops a finding when it overlaps or contained within with a finding of an infoType from this list. For example, for `InspectionRuleSet.info_types` containing "PHONE_NUMBER"` and `exclusion_rule` containing `exclude_info_types.info_types` with "EMAIL_ADDRESS" the phone number findings are dropped if they overlap with EMAIL_ADDRESS finding. That leads to "555-222-2222@example.org" to generate only a single finding, namely email address. { # Type of information detected by the API. "name": "A String", # Name of the information type. Either a name of your choosing when creating a CustomInfoType, or one of the names listed at https://cloud.google.com/dlp/docs/infotypes-reference when specifying a built-in type. When sending Cloud DLP results to Data Catalog, infoType names should conform to the pattern `[A-Za-z0-9$-_]{1,64}`. @@ -1304,7 +1358,7 @@

Method Details

"tableId": "A String", # Name of the table. }, }, - "cloudStorageOptions": { # Options defining a file or a set of files within a Google Cloud Storage bucket. # Google Cloud Storage options. + "cloudStorageOptions": { # Options defining a file or a set of files within a Cloud Storage bucket. # Cloud Storage options. "bytesLimitPerFile": "A String", # Max number of bytes to scan from a file. If a scanned file's size is bigger than this value then the rest of the bytes are omitted. Only one of bytes_limit_per_file and bytes_limit_per_file_percent can be specified. Cannot be set if de-identification is requested. "bytesLimitPerFilePercent": 42, # Max percentage of bytes to scan from a file. The rest are omitted. The number of bytes scanned is rounded down. Must be between 0 and 100, inclusively. Both 0 and 100 means no limit. Defaults to 0. Only one of bytes_limit_per_file and bytes_limit_per_file_percent can be specified. Cannot be set if de-identification is requested. "fileSet": { # Set of files to scan. # The set of one or more files to scan. @@ -1350,11 +1404,11 @@

Method Details

], }, }, - "timespanConfig": { # Configuration of the timespan of the items to include in scanning. Currently only supported when inspecting Google Cloud Storage and BigQuery. + "timespanConfig": { # Configuration of the timespan of the items to include in scanning. Currently only supported when inspecting Cloud Storage and BigQuery. "enableAutoPopulationOfTimespanConfig": True or False, # When the job is started by a JobTrigger we will automatically figure out a valid start_time to avoid scanning files that have not been modified since the last time the JobTrigger executed. This will be based on the time of the execution of the last run of the JobTrigger. "endTime": "A String", # Exclude files, tables, or rows newer than this value. If not set, no upper time limit is applied. "startTime": "A String", # Exclude files, tables, or rows older than this value. If not set, no lower time limit is applied. - "timestampField": { # General identifier of a data field in a storage service. # Specification of the field containing the timestamp of scanned items. Used for data sources like Datastore and BigQuery. For BigQuery: If this value is not specified and the table was modified between the given start and end times, the entire table will be scanned. If this value is specified, then rows are filtered based on the given start and end times. Rows with a `NULL` value in the provided BigQuery column are skipped. Valid data types of the provided BigQuery column are: `INTEGER`, `DATE`, `TIMESTAMP`, and `DATETIME`. For Datastore: If this value is specified, then entities are filtered based on the given start and end times. If an entity does not contain the provided timestamp property or contains empty or invalid values, then it is included. Valid data types of the provided timestamp property are: `TIMESTAMP`. + "timestampField": { # General identifier of a data field in a storage service. # Specification of the field containing the timestamp of scanned items. Used for data sources like Datastore and BigQuery. *For BigQuery* If this value is not specified and the table was modified between the given start and end times, the entire table will be scanned. If this value is specified, then rows are filtered based on the given start and end times. Rows with a `NULL` value in the provided BigQuery column are skipped. Valid data types of the provided BigQuery column are: `INTEGER`, `DATE`, `TIMESTAMP`, and `DATETIME`. If your BigQuery table is [partitioned at ingestion time](https://cloud.google.com/bigquery/docs/partitioned-tables#ingestion_time), you can use any of the following pseudo-columns as your timestamp field. When used with Cloud DLP, these pseudo-column names are case sensitive. - _PARTITIONTIME - _PARTITIONDATE - _PARTITION_LOAD_TIME *For Datastore* If this value is specified, then entities are filtered based on the given start and end times. If an entity does not contain the provided timestamp property or contains empty or invalid values, then it is included. Valid data types of the provided timestamp property are: `TIMESTAMP`. See the [known issue](https://cloud.google.com/dlp/docs/known-issues#bq-timespan) related to this operation. "name": "A String", # Name describing the field. }, }, @@ -1368,7 +1422,7 @@

Method Details

"manual": { # Job trigger option for hybrid jobs. Jobs must be manually created and finished. # For use with hybrid jobs. Jobs must be manually created and finished. }, "schedule": { # Schedule for inspect job triggers. # Create a job on a repeating basis based on the elapse of time. - "recurrencePeriodDuration": "A String", # With this option a job is started a regular periodic basis. For example: every day (86400 seconds). A scheduled start time will be skipped if the previous execution has not ended when its scheduled time occurs. This value must be set to a time duration greater than or equal to 1 day and can be no longer than 60 days. + "recurrencePeriodDuration": "A String", # With this option a job is started on a regular periodic basis. For example: every day (86400 seconds). A scheduled start time will be skipped if the previous execution has not ended when its scheduled time occurs. This value must be set to a time duration greater than or equal to 1 day and can be no longer than 60 days. }, }, ], @@ -1409,21 +1463,39 @@

Method Details

"inspectJob": { # Controls what and how to inspect for findings. # For inspect jobs, a snapshot of the configuration. "actions": [ # Actions to execute at the completion of the job. { # A task to execute on the completion of a job. See https://cloud.google.com/dlp/docs/concepts-actions to learn more. + "deidentify": { # Create a de-identified copy of the requested table or files. . A TransformationDetail will be created for each transformation. If any rows in BigQuery are skipped during de-identification (transformation errors or row size exceeds BigQuery insert API limits) they are placed in the failure output table. If the original row exceeds the BigQuery insert API limit it will be truncated when written to the failure output table. The failure output table can be set in the action.deidentify.output.big_query_output.deidentified_failure_output_table field, if no table is set, a table will be automatically created in the same project and dataset as the original table. Compatible with: Inspect # Create a de-identified copy of the input data. Applicable for non-image data only. The de-identified copy is in the same location as the original data. + "cloudStorageOutput": "A String", # Required. User settable GCS bucket and folders to store de-identified files. This field must be set for cloud storage deidentification. The output GCS bucket must be different from the input bucket. De-identified files will overwrite files in the output path. Form of: gs://bucket/folder/ or gs://bucket + "fileTypesToTransform": [ # List of user-specified file type groups to transform. If specified, only the files with these filetypes will be transformed. If empty, all supported files will be transformed. Supported types may be automatically added over time. If a file type is set in this field that isn't supported by the Deidentify action then the job will fail and will not be successfully created/started. Currently the only filetypes supported are: IMAGES, TEXT_FILES, CSV, TSV. + "A String", + ], + "transformationConfig": { # User specified templates and configs for how to deidentify structured, unstructures, and image files. User must provide either a unstructured deidentify template or at least one redact image config. # User specified deidentify templates and configs for structured, unstructured, and image files. + "deidentifyTemplate": "A String", # De-identify template. If this template is specified, it will serve as the default de-identify template. This template cannot contain `record_transformations` since it can be used for unstructured content such as free-form text files. If this template is not set, a default `ReplaceWithInfoTypeConfig` will be used to de-identify unstructured content. + "imageRedactTemplate": "A String", # Image redact template. If this template is specified, it will serve as the de-identify template for images. If this template is not set, all findings in the image will be redacted with a black box. + "structuredDeidentifyTemplate": "A String", # Structured de-identify template. If this template is specified, it will serve as the de-identify template for structured content such as delimited files and tables. If this template is not set but the `deidentify_template` is set, then `deidentify_template` will also apply to the structured content. If neither template is set, a default `ReplaceWithInfoTypeConfig` will be used to de-identify structured content. + }, + "transformationDetailsStorageConfig": { # Config for storing transformation details. # Config for storing transformation details. This is separate from the de-identified content, and contains metadata about the successful transformations and/or failures that occurred while de-identifying. This needs to be set in order for users to access information about the status of each transformation (see TransformationDetails message for more information about what is noted). + "table": { # Message defining the location of a BigQuery table. A table is uniquely identified by its project_id, dataset_id, and table_name. Within a query a table is often referenced with a string in the format of: `:.` or `..`. # The BigQuery table in which to store the output. This may be an existing table or in a new table in an existing dataset. If table_id is not set a new one will be generated for you with the following format: dlp_googleapis_transformation_details_yyyy_mm_dd_[dlp_job_id]. Pacific time zone will be used for generating the date details. + "datasetId": "A String", # Dataset ID of the table. + "projectId": "A String", # The Google Cloud Platform project ID of the project containing the table. If omitted, project ID is inferred from the API call. + "tableId": "A String", # Name of the table. + }, + }, + }, "jobNotificationEmails": { # Enable email notification to project owners and editors on jobs's completion/failure. # Enable email notification for project owners and editors on job's completion/failure. }, - "pubSub": { # Publish a message into given Pub/Sub topic when DlpJob has completed. The message contains a single field, `DlpJobName`, which is equal to the finished job's [`DlpJob.name`](https://cloud.google.com/dlp/docs/reference/rest/v2/projects.dlpJobs#DlpJob). Compatible with: Inspect, Risk # Publish a notification to a pubsub topic. + "pubSub": { # Publish a message into a given Pub/Sub topic when DlpJob has completed. The message contains a single field, `DlpJobName`, which is equal to the finished job's [`DlpJob.name`](https://cloud.google.com/dlp/docs/reference/rest/v2/projects.dlpJobs#DlpJob). Compatible with: Inspect, Risk # Publish a notification to a pubsub topic. "topic": "A String", # Cloud Pub/Sub topic to send notifications to. The topic must have given publishing access rights to the DLP API service account executing the long running DlpJob sending the notifications. Format is projects/{project}/topics/{topic}. }, "publishFindingsToCloudDataCatalog": { # Publish findings of a DlpJob to Data Catalog. Labels summarizing the results of the DlpJob will be applied to the entry for the resource scanned in Data Catalog. Any labels previously written by another DlpJob will be deleted. InfoType naming patterns are strictly enforced when using this feature. Note that the findings will be persisted in Data Catalog storage and are governed by Data Catalog service-specific policy, see https://cloud.google.com/terms/service-terms Only a single instance of this action can be specified and only allowed if all resources being scanned are BigQuery tables. Compatible with: Inspect # Publish findings to Cloud Datahub. }, - "publishSummaryToCscc": { # Publish the result summary of a DlpJob to the Cloud Security Command Center (CSCC Alpha). This action is only available for projects which are parts of an organization and whitelisted for the alpha Cloud Security Command Center. The action will publish count of finding instances and their info types. The summary of findings will be persisted in CSCC and are governed by CSCC service-specific policy, see https://cloud.google.com/terms/service-terms Only a single instance of this action can be specified. Compatible with: Inspect # Publish summary to Cloud Security Command Center (Alpha). + "publishSummaryToCscc": { # Publish the result summary of a DlpJob to the Cloud Security Command Center (CSCC Alpha). This action is only available for projects which are parts of an organization and whitelisted for the alpha Cloud Security Command Center. The action will publish the count of finding instances and their info types. The summary of findings will be persisted in CSCC and are governed by CSCC service-specific policy, see https://cloud.google.com/terms/service-terms Only a single instance of this action can be specified. Compatible with: Inspect # Publish summary to Cloud Security Command Center (Alpha). }, "publishToStackdriver": { # Enable Stackdriver metric dlp.googleapis.com/finding_count. This will publish a metric to stack driver on each infotype requested and how many findings were found for it. CustomDetectors will be bucketed as 'Custom' under the Stackdriver label 'info_type'. # Enable Stackdriver metric dlp.googleapis.com/finding_count. }, "saveFindings": { # If set, the detailed findings will be persisted to the specified OutputStorageConfig. Only a single instance of this action can be specified. Compatible with: Inspect, Risk # Save resulting findings in a provided location. "outputConfig": { # Cloud repository for storing output. # Location to store findings outside of DLP. "outputSchema": "A String", # Schema used for writing the findings for Inspect jobs. This field is only used for Inspect and must be unspecified for Risk jobs. Columns are derived from the `Finding` object. If appending to an existing table, any columns from the predefined schema that are missing will be added. No columns in the existing table will be deleted. If unspecified, then all available columns will be used for a new table or an (existing) table with no schema, and no changes will be made to an existing table that has a schema. Only for use with external storage. - "table": { # Message defining the location of a BigQuery table. A table is uniquely identified by its project_id, dataset_id, and table_name. Within a query a table is often referenced with a string in the format of: `:.` or `..`. # Store findings in an existing table or a new table in an existing dataset. If table_id is not set a new one will be generated for you with the following format: dlp_googleapis_yyyy_mm_dd_[dlp_job_id]. Pacific timezone will be used for generating the date details. For Inspect, each column in an existing output table must have the same name, type, and mode of a field in the `Finding` object. For Risk, an existing output table should be the output of a previous Risk analysis job run on the same source table, with the same privacy metric and quasi-identifiers. Risk jobs that analyze the same table but compute a different privacy metric, or use different sets of quasi-identifiers, cannot store their results in the same table. + "table": { # Message defining the location of a BigQuery table. A table is uniquely identified by its project_id, dataset_id, and table_name. Within a query a table is often referenced with a string in the format of: `:.` or `..`. # Store findings in an existing table or a new table in an existing dataset. If table_id is not set a new one will be generated for you with the following format: dlp_googleapis_yyyy_mm_dd_[dlp_job_id]. Pacific time zone will be used for generating the date details. For Inspect, each column in an existing output table must have the same name, type, and mode of a field in the `Finding` object. For Risk, an existing output table should be the output of a previous Risk analysis job run on the same source table, with the same privacy metric and quasi-identifiers. Risk jobs that analyze the same table but compute a different privacy metric, or use different sets of quasi-identifiers, cannot store their results in the same table. "datasetId": "A String", # Dataset ID of the table. "projectId": "A String", # The Google Cloud Platform project ID of the project containing the table. If omitted, project ID is inferred from the API call. "tableId": "A String", # Name of the table. @@ -1496,7 +1568,7 @@

Method Details

"version": "A String", # Optional version name for this InfoType. }, ], - "limits": { # Configuration to control the number of findings returned for inspection. This is not used for de-identification or data profiling. # Configuration to control the number of findings returned. This is not used for data profiling. + "limits": { # Configuration to control the number of findings returned for inspection. This is not used for de-identification or data profiling. When redacting sensitive data from images, finding limits don't apply. They can cause unexpected or inconsistent results, where only some data is redacted. Don't include finding limits in RedactImage requests. Otherwise, Cloud DLP returns an error. # Configuration to control the number of findings returned. This is not used for data profiling. When redacting sensitive data from images, finding limits don't apply. They can cause unexpected or inconsistent results, where only some data is redacted. Don't include finding limits in RedactImage requests. Otherwise, Cloud DLP returns an error. "maxFindingsPerInfoType": [ # Configuration of findings limit given for specified infoTypes. { # Max findings configuration per infoType, per content item or long running DlpJob. "infoType": { # Type of information detected by the API. # Type of information the findings limit applies to. Only one limit per info_type should be provided. If InfoTypeLimit does not have an info_type, the DLP API applies the limit against all info_types that are found but not specified in another InfoTypeLimit. @@ -1531,7 +1603,7 @@

Method Details

], }, }, - "excludeInfoTypes": { # List of exclude infoTypes. # Set of infoTypes for which findings would affect this rule. + "excludeInfoTypes": { # List of excluded infoTypes. # Set of infoTypes for which findings would affect this rule. "infoTypes": [ # InfoType list in ExclusionRule rule drops a finding when it overlaps or contained within with a finding of an infoType from this list. For example, for `InspectionRuleSet.info_types` containing "PHONE_NUMBER"` and `exclusion_rule` containing `exclude_info_types.info_types` with "EMAIL_ADDRESS" the phone number findings are dropped if they overlap with EMAIL_ADDRESS finding. That leads to "555-222-2222@example.org" to generate only a single finding, namely email address. { # Type of information detected by the API. "name": "A String", # Name of the information type. Either a name of your choosing when creating a CustomInfoType, or one of the names listed at https://cloud.google.com/dlp/docs/infotypes-reference when specifying a built-in type. When sending Cloud DLP results to Data Catalog, infoType names should conform to the pattern `[A-Za-z0-9$-_]{1,64}`. @@ -1595,7 +1667,7 @@

Method Details

"tableId": "A String", # Name of the table. }, }, - "cloudStorageOptions": { # Options defining a file or a set of files within a Google Cloud Storage bucket. # Google Cloud Storage options. + "cloudStorageOptions": { # Options defining a file or a set of files within a Cloud Storage bucket. # Cloud Storage options. "bytesLimitPerFile": "A String", # Max number of bytes to scan from a file. If a scanned file's size is bigger than this value then the rest of the bytes are omitted. Only one of bytes_limit_per_file and bytes_limit_per_file_percent can be specified. Cannot be set if de-identification is requested. "bytesLimitPerFilePercent": 42, # Max percentage of bytes to scan from a file. The rest are omitted. The number of bytes scanned is rounded down. Must be between 0 and 100, inclusively. Both 0 and 100 means no limit. Defaults to 0. Only one of bytes_limit_per_file and bytes_limit_per_file_percent can be specified. Cannot be set if de-identification is requested. "fileSet": { # Set of files to scan. # The set of one or more files to scan. @@ -1641,11 +1713,11 @@

Method Details

], }, }, - "timespanConfig": { # Configuration of the timespan of the items to include in scanning. Currently only supported when inspecting Google Cloud Storage and BigQuery. + "timespanConfig": { # Configuration of the timespan of the items to include in scanning. Currently only supported when inspecting Cloud Storage and BigQuery. "enableAutoPopulationOfTimespanConfig": True or False, # When the job is started by a JobTrigger we will automatically figure out a valid start_time to avoid scanning files that have not been modified since the last time the JobTrigger executed. This will be based on the time of the execution of the last run of the JobTrigger. "endTime": "A String", # Exclude files, tables, or rows newer than this value. If not set, no upper time limit is applied. "startTime": "A String", # Exclude files, tables, or rows older than this value. If not set, no lower time limit is applied. - "timestampField": { # General identifier of a data field in a storage service. # Specification of the field containing the timestamp of scanned items. Used for data sources like Datastore and BigQuery. For BigQuery: If this value is not specified and the table was modified between the given start and end times, the entire table will be scanned. If this value is specified, then rows are filtered based on the given start and end times. Rows with a `NULL` value in the provided BigQuery column are skipped. Valid data types of the provided BigQuery column are: `INTEGER`, `DATE`, `TIMESTAMP`, and `DATETIME`. For Datastore: If this value is specified, then entities are filtered based on the given start and end times. If an entity does not contain the provided timestamp property or contains empty or invalid values, then it is included. Valid data types of the provided timestamp property are: `TIMESTAMP`. + "timestampField": { # General identifier of a data field in a storage service. # Specification of the field containing the timestamp of scanned items. Used for data sources like Datastore and BigQuery. *For BigQuery* If this value is not specified and the table was modified between the given start and end times, the entire table will be scanned. If this value is specified, then rows are filtered based on the given start and end times. Rows with a `NULL` value in the provided BigQuery column are skipped. Valid data types of the provided BigQuery column are: `INTEGER`, `DATE`, `TIMESTAMP`, and `DATETIME`. If your BigQuery table is [partitioned at ingestion time](https://cloud.google.com/bigquery/docs/partitioned-tables#ingestion_time), you can use any of the following pseudo-columns as your timestamp field. When used with Cloud DLP, these pseudo-column names are case sensitive. - _PARTITIONTIME - _PARTITIONDATE - _PARTITION_LOAD_TIME *For Datastore* If this value is specified, then entities are filtered based on the given start and end times. If an entity does not contain the provided timestamp property or contains empty or invalid values, then it is included. Valid data types of the provided timestamp property are: `TIMESTAMP`. See the [known issue](https://cloud.google.com/dlp/docs/known-issues#bq-timespan) related to this operation. "name": "A String", # Name describing the field. }, }, @@ -1659,7 +1731,7 @@

Method Details

"manual": { # Job trigger option for hybrid jobs. Jobs must be manually created and finished. # For use with hybrid jobs. Jobs must be manually created and finished. }, "schedule": { # Schedule for inspect job triggers. # Create a job on a repeating basis based on the elapse of time. - "recurrencePeriodDuration": "A String", # With this option a job is started a regular periodic basis. For example: every day (86400 seconds). A scheduled start time will be skipped if the previous execution has not ended when its scheduled time occurs. This value must be set to a time duration greater than or equal to 1 day and can be no longer than 60 days. + "recurrencePeriodDuration": "A String", # With this option a job is started on a regular periodic basis. For example: every day (86400 seconds). A scheduled start time will be skipped if the previous execution has not ended when its scheduled time occurs. This value must be set to a time duration greater than or equal to 1 day and can be no longer than 60 days. }, }, ], @@ -1722,21 +1794,39 @@

Method Details

"inspectJob": { # Controls what and how to inspect for findings. # For inspect jobs, a snapshot of the configuration. "actions": [ # Actions to execute at the completion of the job. { # A task to execute on the completion of a job. See https://cloud.google.com/dlp/docs/concepts-actions to learn more. + "deidentify": { # Create a de-identified copy of the requested table or files. . A TransformationDetail will be created for each transformation. If any rows in BigQuery are skipped during de-identification (transformation errors or row size exceeds BigQuery insert API limits) they are placed in the failure output table. If the original row exceeds the BigQuery insert API limit it will be truncated when written to the failure output table. The failure output table can be set in the action.deidentify.output.big_query_output.deidentified_failure_output_table field, if no table is set, a table will be automatically created in the same project and dataset as the original table. Compatible with: Inspect # Create a de-identified copy of the input data. Applicable for non-image data only. The de-identified copy is in the same location as the original data. + "cloudStorageOutput": "A String", # Required. User settable GCS bucket and folders to store de-identified files. This field must be set for cloud storage deidentification. The output GCS bucket must be different from the input bucket. De-identified files will overwrite files in the output path. Form of: gs://bucket/folder/ or gs://bucket + "fileTypesToTransform": [ # List of user-specified file type groups to transform. If specified, only the files with these filetypes will be transformed. If empty, all supported files will be transformed. Supported types may be automatically added over time. If a file type is set in this field that isn't supported by the Deidentify action then the job will fail and will not be successfully created/started. Currently the only filetypes supported are: IMAGES, TEXT_FILES, CSV, TSV. + "A String", + ], + "transformationConfig": { # User specified templates and configs for how to deidentify structured, unstructures, and image files. User must provide either a unstructured deidentify template or at least one redact image config. # User specified deidentify templates and configs for structured, unstructured, and image files. + "deidentifyTemplate": "A String", # De-identify template. If this template is specified, it will serve as the default de-identify template. This template cannot contain `record_transformations` since it can be used for unstructured content such as free-form text files. If this template is not set, a default `ReplaceWithInfoTypeConfig` will be used to de-identify unstructured content. + "imageRedactTemplate": "A String", # Image redact template. If this template is specified, it will serve as the de-identify template for images. If this template is not set, all findings in the image will be redacted with a black box. + "structuredDeidentifyTemplate": "A String", # Structured de-identify template. If this template is specified, it will serve as the de-identify template for structured content such as delimited files and tables. If this template is not set but the `deidentify_template` is set, then `deidentify_template` will also apply to the structured content. If neither template is set, a default `ReplaceWithInfoTypeConfig` will be used to de-identify structured content. + }, + "transformationDetailsStorageConfig": { # Config for storing transformation details. # Config for storing transformation details. This is separate from the de-identified content, and contains metadata about the successful transformations and/or failures that occurred while de-identifying. This needs to be set in order for users to access information about the status of each transformation (see TransformationDetails message for more information about what is noted). + "table": { # Message defining the location of a BigQuery table. A table is uniquely identified by its project_id, dataset_id, and table_name. Within a query a table is often referenced with a string in the format of: `:.` or `..`. # The BigQuery table in which to store the output. This may be an existing table or in a new table in an existing dataset. If table_id is not set a new one will be generated for you with the following format: dlp_googleapis_transformation_details_yyyy_mm_dd_[dlp_job_id]. Pacific time zone will be used for generating the date details. + "datasetId": "A String", # Dataset ID of the table. + "projectId": "A String", # The Google Cloud Platform project ID of the project containing the table. If omitted, project ID is inferred from the API call. + "tableId": "A String", # Name of the table. + }, + }, + }, "jobNotificationEmails": { # Enable email notification to project owners and editors on jobs's completion/failure. # Enable email notification for project owners and editors on job's completion/failure. }, - "pubSub": { # Publish a message into given Pub/Sub topic when DlpJob has completed. The message contains a single field, `DlpJobName`, which is equal to the finished job's [`DlpJob.name`](https://cloud.google.com/dlp/docs/reference/rest/v2/projects.dlpJobs#DlpJob). Compatible with: Inspect, Risk # Publish a notification to a pubsub topic. + "pubSub": { # Publish a message into a given Pub/Sub topic when DlpJob has completed. The message contains a single field, `DlpJobName`, which is equal to the finished job's [`DlpJob.name`](https://cloud.google.com/dlp/docs/reference/rest/v2/projects.dlpJobs#DlpJob). Compatible with: Inspect, Risk # Publish a notification to a pubsub topic. "topic": "A String", # Cloud Pub/Sub topic to send notifications to. The topic must have given publishing access rights to the DLP API service account executing the long running DlpJob sending the notifications. Format is projects/{project}/topics/{topic}. }, "publishFindingsToCloudDataCatalog": { # Publish findings of a DlpJob to Data Catalog. Labels summarizing the results of the DlpJob will be applied to the entry for the resource scanned in Data Catalog. Any labels previously written by another DlpJob will be deleted. InfoType naming patterns are strictly enforced when using this feature. Note that the findings will be persisted in Data Catalog storage and are governed by Data Catalog service-specific policy, see https://cloud.google.com/terms/service-terms Only a single instance of this action can be specified and only allowed if all resources being scanned are BigQuery tables. Compatible with: Inspect # Publish findings to Cloud Datahub. }, - "publishSummaryToCscc": { # Publish the result summary of a DlpJob to the Cloud Security Command Center (CSCC Alpha). This action is only available for projects which are parts of an organization and whitelisted for the alpha Cloud Security Command Center. The action will publish count of finding instances and their info types. The summary of findings will be persisted in CSCC and are governed by CSCC service-specific policy, see https://cloud.google.com/terms/service-terms Only a single instance of this action can be specified. Compatible with: Inspect # Publish summary to Cloud Security Command Center (Alpha). + "publishSummaryToCscc": { # Publish the result summary of a DlpJob to the Cloud Security Command Center (CSCC Alpha). This action is only available for projects which are parts of an organization and whitelisted for the alpha Cloud Security Command Center. The action will publish the count of finding instances and their info types. The summary of findings will be persisted in CSCC and are governed by CSCC service-specific policy, see https://cloud.google.com/terms/service-terms Only a single instance of this action can be specified. Compatible with: Inspect # Publish summary to Cloud Security Command Center (Alpha). }, "publishToStackdriver": { # Enable Stackdriver metric dlp.googleapis.com/finding_count. This will publish a metric to stack driver on each infotype requested and how many findings were found for it. CustomDetectors will be bucketed as 'Custom' under the Stackdriver label 'info_type'. # Enable Stackdriver metric dlp.googleapis.com/finding_count. }, "saveFindings": { # If set, the detailed findings will be persisted to the specified OutputStorageConfig. Only a single instance of this action can be specified. Compatible with: Inspect, Risk # Save resulting findings in a provided location. "outputConfig": { # Cloud repository for storing output. # Location to store findings outside of DLP. "outputSchema": "A String", # Schema used for writing the findings for Inspect jobs. This field is only used for Inspect and must be unspecified for Risk jobs. Columns are derived from the `Finding` object. If appending to an existing table, any columns from the predefined schema that are missing will be added. No columns in the existing table will be deleted. If unspecified, then all available columns will be used for a new table or an (existing) table with no schema, and no changes will be made to an existing table that has a schema. Only for use with external storage. - "table": { # Message defining the location of a BigQuery table. A table is uniquely identified by its project_id, dataset_id, and table_name. Within a query a table is often referenced with a string in the format of: `:.` or `..`. # Store findings in an existing table or a new table in an existing dataset. If table_id is not set a new one will be generated for you with the following format: dlp_googleapis_yyyy_mm_dd_[dlp_job_id]. Pacific timezone will be used for generating the date details. For Inspect, each column in an existing output table must have the same name, type, and mode of a field in the `Finding` object. For Risk, an existing output table should be the output of a previous Risk analysis job run on the same source table, with the same privacy metric and quasi-identifiers. Risk jobs that analyze the same table but compute a different privacy metric, or use different sets of quasi-identifiers, cannot store their results in the same table. + "table": { # Message defining the location of a BigQuery table. A table is uniquely identified by its project_id, dataset_id, and table_name. Within a query a table is often referenced with a string in the format of: `:.` or `..`. # Store findings in an existing table or a new table in an existing dataset. If table_id is not set a new one will be generated for you with the following format: dlp_googleapis_yyyy_mm_dd_[dlp_job_id]. Pacific time zone will be used for generating the date details. For Inspect, each column in an existing output table must have the same name, type, and mode of a field in the `Finding` object. For Risk, an existing output table should be the output of a previous Risk analysis job run on the same source table, with the same privacy metric and quasi-identifiers. Risk jobs that analyze the same table but compute a different privacy metric, or use different sets of quasi-identifiers, cannot store their results in the same table. "datasetId": "A String", # Dataset ID of the table. "projectId": "A String", # The Google Cloud Platform project ID of the project containing the table. If omitted, project ID is inferred from the API call. "tableId": "A String", # Name of the table. @@ -1809,7 +1899,7 @@

Method Details

"version": "A String", # Optional version name for this InfoType. }, ], - "limits": { # Configuration to control the number of findings returned for inspection. This is not used for de-identification or data profiling. # Configuration to control the number of findings returned. This is not used for data profiling. + "limits": { # Configuration to control the number of findings returned for inspection. This is not used for de-identification or data profiling. When redacting sensitive data from images, finding limits don't apply. They can cause unexpected or inconsistent results, where only some data is redacted. Don't include finding limits in RedactImage requests. Otherwise, Cloud DLP returns an error. # Configuration to control the number of findings returned. This is not used for data profiling. When redacting sensitive data from images, finding limits don't apply. They can cause unexpected or inconsistent results, where only some data is redacted. Don't include finding limits in RedactImage requests. Otherwise, Cloud DLP returns an error. "maxFindingsPerInfoType": [ # Configuration of findings limit given for specified infoTypes. { # Max findings configuration per infoType, per content item or long running DlpJob. "infoType": { # Type of information detected by the API. # Type of information the findings limit applies to. Only one limit per info_type should be provided. If InfoTypeLimit does not have an info_type, the DLP API applies the limit against all info_types that are found but not specified in another InfoTypeLimit. @@ -1844,7 +1934,7 @@

Method Details

], }, }, - "excludeInfoTypes": { # List of exclude infoTypes. # Set of infoTypes for which findings would affect this rule. + "excludeInfoTypes": { # List of excluded infoTypes. # Set of infoTypes for which findings would affect this rule. "infoTypes": [ # InfoType list in ExclusionRule rule drops a finding when it overlaps or contained within with a finding of an infoType from this list. For example, for `InspectionRuleSet.info_types` containing "PHONE_NUMBER"` and `exclusion_rule` containing `exclude_info_types.info_types` with "EMAIL_ADDRESS" the phone number findings are dropped if they overlap with EMAIL_ADDRESS finding. That leads to "555-222-2222@example.org" to generate only a single finding, namely email address. { # Type of information detected by the API. "name": "A String", # Name of the information type. Either a name of your choosing when creating a CustomInfoType, or one of the names listed at https://cloud.google.com/dlp/docs/infotypes-reference when specifying a built-in type. When sending Cloud DLP results to Data Catalog, infoType names should conform to the pattern `[A-Za-z0-9$-_]{1,64}`. @@ -1908,7 +1998,7 @@

Method Details

"tableId": "A String", # Name of the table. }, }, - "cloudStorageOptions": { # Options defining a file or a set of files within a Google Cloud Storage bucket. # Google Cloud Storage options. + "cloudStorageOptions": { # Options defining a file or a set of files within a Cloud Storage bucket. # Cloud Storage options. "bytesLimitPerFile": "A String", # Max number of bytes to scan from a file. If a scanned file's size is bigger than this value then the rest of the bytes are omitted. Only one of bytes_limit_per_file and bytes_limit_per_file_percent can be specified. Cannot be set if de-identification is requested. "bytesLimitPerFilePercent": 42, # Max percentage of bytes to scan from a file. The rest are omitted. The number of bytes scanned is rounded down. Must be between 0 and 100, inclusively. Both 0 and 100 means no limit. Defaults to 0. Only one of bytes_limit_per_file and bytes_limit_per_file_percent can be specified. Cannot be set if de-identification is requested. "fileSet": { # Set of files to scan. # The set of one or more files to scan. @@ -1954,11 +2044,11 @@

Method Details

], }, }, - "timespanConfig": { # Configuration of the timespan of the items to include in scanning. Currently only supported when inspecting Google Cloud Storage and BigQuery. + "timespanConfig": { # Configuration of the timespan of the items to include in scanning. Currently only supported when inspecting Cloud Storage and BigQuery. "enableAutoPopulationOfTimespanConfig": True or False, # When the job is started by a JobTrigger we will automatically figure out a valid start_time to avoid scanning files that have not been modified since the last time the JobTrigger executed. This will be based on the time of the execution of the last run of the JobTrigger. "endTime": "A String", # Exclude files, tables, or rows newer than this value. If not set, no upper time limit is applied. "startTime": "A String", # Exclude files, tables, or rows older than this value. If not set, no lower time limit is applied. - "timestampField": { # General identifier of a data field in a storage service. # Specification of the field containing the timestamp of scanned items. Used for data sources like Datastore and BigQuery. For BigQuery: If this value is not specified and the table was modified between the given start and end times, the entire table will be scanned. If this value is specified, then rows are filtered based on the given start and end times. Rows with a `NULL` value in the provided BigQuery column are skipped. Valid data types of the provided BigQuery column are: `INTEGER`, `DATE`, `TIMESTAMP`, and `DATETIME`. For Datastore: If this value is specified, then entities are filtered based on the given start and end times. If an entity does not contain the provided timestamp property or contains empty or invalid values, then it is included. Valid data types of the provided timestamp property are: `TIMESTAMP`. + "timestampField": { # General identifier of a data field in a storage service. # Specification of the field containing the timestamp of scanned items. Used for data sources like Datastore and BigQuery. *For BigQuery* If this value is not specified and the table was modified between the given start and end times, the entire table will be scanned. If this value is specified, then rows are filtered based on the given start and end times. Rows with a `NULL` value in the provided BigQuery column are skipped. Valid data types of the provided BigQuery column are: `INTEGER`, `DATE`, `TIMESTAMP`, and `DATETIME`. If your BigQuery table is [partitioned at ingestion time](https://cloud.google.com/bigquery/docs/partitioned-tables#ingestion_time), you can use any of the following pseudo-columns as your timestamp field. When used with Cloud DLP, these pseudo-column names are case sensitive. - _PARTITIONTIME - _PARTITIONDATE - _PARTITION_LOAD_TIME *For Datastore* If this value is specified, then entities are filtered based on the given start and end times. If an entity does not contain the provided timestamp property or contains empty or invalid values, then it is included. Valid data types of the provided timestamp property are: `TIMESTAMP`. See the [known issue](https://cloud.google.com/dlp/docs/known-issues#bq-timespan) related to this operation. "name": "A String", # Name describing the field. }, }, @@ -1972,7 +2062,7 @@

Method Details

"manual": { # Job trigger option for hybrid jobs. Jobs must be manually created and finished. # For use with hybrid jobs. Jobs must be manually created and finished. }, "schedule": { # Schedule for inspect job triggers. # Create a job on a repeating basis based on the elapse of time. - "recurrencePeriodDuration": "A String", # With this option a job is started a regular periodic basis. For example: every day (86400 seconds). A scheduled start time will be skipped if the previous execution has not ended when its scheduled time occurs. This value must be set to a time duration greater than or equal to 1 day and can be no longer than 60 days. + "recurrencePeriodDuration": "A String", # With this option a job is started on a regular periodic basis. For example: every day (86400 seconds). A scheduled start time will be skipped if the previous execution has not ended when its scheduled time occurs. This value must be set to a time duration greater than or equal to 1 day and can be no longer than 60 days. }, }, ], @@ -1993,13 +2083,13 @@

Method Details

"hybridItem": { # An individual hybrid item to inspect. Will be stored temporarily during processing. # The item to inspect. "findingDetails": { # Populate to associate additional data with each finding. # Supplementary information that will be added to each finding. "containerDetails": { # Represents a container that may contain DLP findings. Examples of a container include a file, table, or database record. # Details about the container where the content being inspected is from. - "fullPath": "A String", # A string representation of the full container name. Examples: - BigQuery: 'Project:DataSetId.TableId' - Google Cloud Storage: 'gs://Bucket/folders/filename.txt' + "fullPath": "A String", # A string representation of the full container name. Examples: - BigQuery: 'Project:DataSetId.TableId' - Cloud Storage: 'gs://Bucket/folders/filename.txt' "projectId": "A String", # Project where the finding was found. Can be different from the project that owns the finding. - "relativePath": "A String", # The rest of the path after the root. Examples: - For BigQuery table `project_id:dataset_id.table_id`, the relative path is `table_id` - Google Cloud Storage file `gs://bucket/folder/filename.txt`, the relative path is `folder/filename.txt` - "rootPath": "A String", # The root of the container. Examples: - For BigQuery table `project_id:dataset_id.table_id`, the root is `dataset_id` - For Google Cloud Storage file `gs://bucket/folder/filename.txt`, the root is `gs://bucket` - "type": "A String", # Container type, for example BigQuery or Google Cloud Storage. - "updateTime": "A String", # Findings container modification timestamp, if applicable. For Google Cloud Storage contains last file modification timestamp. For BigQuery table contains last_modified_time property. For Datastore - not populated. - "version": "A String", # Findings container version, if available ("generation" for Google Cloud Storage). + "relativePath": "A String", # The rest of the path after the root. Examples: - For BigQuery table `project_id:dataset_id.table_id`, the relative path is `table_id` - For Cloud Storage file `gs://bucket/folder/filename.txt`, the relative path is `folder/filename.txt` + "rootPath": "A String", # The root of the container. Examples: - For BigQuery table `project_id:dataset_id.table_id`, the root is `dataset_id` - For Cloud Storage file `gs://bucket/folder/filename.txt`, the root is `gs://bucket` + "type": "A String", # Container type, for example BigQuery or Cloud Storage. + "updateTime": "A String", # Findings container modification timestamp, if applicable. For Cloud Storage, this field contains the last file modification timestamp. For a BigQuery table, this field contains the last_modified_time property. For Datastore, this field isn't populated. + "version": "A String", # Findings container version, if available ("generation" for Cloud Storage). }, "fileOffset": "A String", # Offset in bytes of the line, from the beginning of the file, where the finding is located. Populate if the item being scanned is only part of a bigger item, such as a shard of a file and you want to track the absolute position of the finding. "labels": { # Labels to represent user provided metadata about the data being inspected. If configured by the job, some key values may be required. The labels associated with `Finding`'s produced by hybrid inspection. Label keys must be between 1 and 63 characters long and must conform to the following regular expression: `[a-z]([-a-z0-9]*[a-z0-9])?`. Label values must be between 0 and 63 characters long and must conform to the regular expression `([a-z]([-a-z0-9]*[a-z0-9])?)?`. No more than 10 labels can be associated with a given finding. Examples: * `"environment" : "production"` * `"pipeline" : "etl"` @@ -2076,7 +2166,7 @@

Method Details

parent: string, Required. Parent resource name. The format of this value varies depending on whether you have [specified a processing location](https://cloud.google.com/dlp/docs/specifying-location): + Projects scope, location specified: `projects/`PROJECT_ID`/locations/`LOCATION_ID + Projects scope, no location specified (defaults to global): `projects/`PROJECT_ID The following example `parent` string specifies a parent project with the identifier `example-project`, and specifies the `europe-west3` location for processing data: parent=projects/example-project/locations/europe-west3 (required) filter: string, Allows filtering. Supported syntax: * Filter expressions are made up of one or more restrictions. * Restrictions can be combined by `AND` or `OR` logical operators. A sequence of restrictions implicitly uses `AND`. * A restriction has the form of `{field} {operator} {value}`. * Supported fields/values for inspect triggers: - `status` - HEALTHY|PAUSED|CANCELLED - `inspected_storage` - DATASTORE|CLOUD_STORAGE|BIGQUERY - 'last_run_time` - RFC 3339 formatted timestamp, surrounded by quotation marks. Nanoseconds are ignored. - 'error_count' - Number of errors that have occurred while running. * The operator must be `=` or `!=` for status and inspected_storage. Examples: * inspected_storage = cloud_storage AND status = HEALTHY * inspected_storage = cloud_storage OR inspected_storage = bigquery * inspected_storage = cloud_storage AND (state = PAUSED OR state = HEALTHY) * last_run_time > \"2017-12-12T00:00:00+00:00\" The length of this field should be no more than 500 characters. locationId: string, Deprecated. This field has no effect. - orderBy: string, Comma separated list of triggeredJob fields to order by, followed by `asc` or `desc` postfix. This list is case-insensitive, default sorting order is ascending, redundant space characters are insignificant. Example: `name asc,update_time, create_time desc` Supported fields are: - `create_time`: corresponds to time the JobTrigger was created. - `update_time`: corresponds to time the JobTrigger was last updated. - `last_run_time`: corresponds to the last time the JobTrigger ran. - `name`: corresponds to JobTrigger's name. - `display_name`: corresponds to JobTrigger's display name. - `status`: corresponds to JobTrigger's status. + orderBy: string, Comma separated list of triggeredJob fields to order by, followed by `asc` or `desc` postfix. This list is case-insensitive, default sorting order is ascending, redundant space characters are insignificant. Example: `name asc,update_time, create_time desc` Supported fields are: - `create_time`: corresponds to the time the JobTrigger was created. - `update_time`: corresponds to the time the JobTrigger was last updated. - `last_run_time`: corresponds to the last time the JobTrigger ran. - `name`: corresponds to the JobTrigger's name. - `display_name`: corresponds to the JobTrigger's display name. - `status`: corresponds to JobTrigger's status. pageSize: integer, Size of the page, can be limited by a server. pageToken: string, Page token to continue retrieval. Comes from previous call to ListJobTriggers. `order_by` field must not change for subsequent calls. type: string, The type of jobs. Will use `DlpJobType.INSPECT` if not set. @@ -2117,21 +2207,39 @@

Method Details

"inspectJob": { # Controls what and how to inspect for findings. # For inspect jobs, a snapshot of the configuration. "actions": [ # Actions to execute at the completion of the job. { # A task to execute on the completion of a job. See https://cloud.google.com/dlp/docs/concepts-actions to learn more. + "deidentify": { # Create a de-identified copy of the requested table or files. . A TransformationDetail will be created for each transformation. If any rows in BigQuery are skipped during de-identification (transformation errors or row size exceeds BigQuery insert API limits) they are placed in the failure output table. If the original row exceeds the BigQuery insert API limit it will be truncated when written to the failure output table. The failure output table can be set in the action.deidentify.output.big_query_output.deidentified_failure_output_table field, if no table is set, a table will be automatically created in the same project and dataset as the original table. Compatible with: Inspect # Create a de-identified copy of the input data. Applicable for non-image data only. The de-identified copy is in the same location as the original data. + "cloudStorageOutput": "A String", # Required. User settable GCS bucket and folders to store de-identified files. This field must be set for cloud storage deidentification. The output GCS bucket must be different from the input bucket. De-identified files will overwrite files in the output path. Form of: gs://bucket/folder/ or gs://bucket + "fileTypesToTransform": [ # List of user-specified file type groups to transform. If specified, only the files with these filetypes will be transformed. If empty, all supported files will be transformed. Supported types may be automatically added over time. If a file type is set in this field that isn't supported by the Deidentify action then the job will fail and will not be successfully created/started. Currently the only filetypes supported are: IMAGES, TEXT_FILES, CSV, TSV. + "A String", + ], + "transformationConfig": { # User specified templates and configs for how to deidentify structured, unstructures, and image files. User must provide either a unstructured deidentify template or at least one redact image config. # User specified deidentify templates and configs for structured, unstructured, and image files. + "deidentifyTemplate": "A String", # De-identify template. If this template is specified, it will serve as the default de-identify template. This template cannot contain `record_transformations` since it can be used for unstructured content such as free-form text files. If this template is not set, a default `ReplaceWithInfoTypeConfig` will be used to de-identify unstructured content. + "imageRedactTemplate": "A String", # Image redact template. If this template is specified, it will serve as the de-identify template for images. If this template is not set, all findings in the image will be redacted with a black box. + "structuredDeidentifyTemplate": "A String", # Structured de-identify template. If this template is specified, it will serve as the de-identify template for structured content such as delimited files and tables. If this template is not set but the `deidentify_template` is set, then `deidentify_template` will also apply to the structured content. If neither template is set, a default `ReplaceWithInfoTypeConfig` will be used to de-identify structured content. + }, + "transformationDetailsStorageConfig": { # Config for storing transformation details. # Config for storing transformation details. This is separate from the de-identified content, and contains metadata about the successful transformations and/or failures that occurred while de-identifying. This needs to be set in order for users to access information about the status of each transformation (see TransformationDetails message for more information about what is noted). + "table": { # Message defining the location of a BigQuery table. A table is uniquely identified by its project_id, dataset_id, and table_name. Within a query a table is often referenced with a string in the format of: `:.` or `..`. # The BigQuery table in which to store the output. This may be an existing table or in a new table in an existing dataset. If table_id is not set a new one will be generated for you with the following format: dlp_googleapis_transformation_details_yyyy_mm_dd_[dlp_job_id]. Pacific time zone will be used for generating the date details. + "datasetId": "A String", # Dataset ID of the table. + "projectId": "A String", # The Google Cloud Platform project ID of the project containing the table. If omitted, project ID is inferred from the API call. + "tableId": "A String", # Name of the table. + }, + }, + }, "jobNotificationEmails": { # Enable email notification to project owners and editors on jobs's completion/failure. # Enable email notification for project owners and editors on job's completion/failure. }, - "pubSub": { # Publish a message into given Pub/Sub topic when DlpJob has completed. The message contains a single field, `DlpJobName`, which is equal to the finished job's [`DlpJob.name`](https://cloud.google.com/dlp/docs/reference/rest/v2/projects.dlpJobs#DlpJob). Compatible with: Inspect, Risk # Publish a notification to a pubsub topic. + "pubSub": { # Publish a message into a given Pub/Sub topic when DlpJob has completed. The message contains a single field, `DlpJobName`, which is equal to the finished job's [`DlpJob.name`](https://cloud.google.com/dlp/docs/reference/rest/v2/projects.dlpJobs#DlpJob). Compatible with: Inspect, Risk # Publish a notification to a pubsub topic. "topic": "A String", # Cloud Pub/Sub topic to send notifications to. The topic must have given publishing access rights to the DLP API service account executing the long running DlpJob sending the notifications. Format is projects/{project}/topics/{topic}. }, "publishFindingsToCloudDataCatalog": { # Publish findings of a DlpJob to Data Catalog. Labels summarizing the results of the DlpJob will be applied to the entry for the resource scanned in Data Catalog. Any labels previously written by another DlpJob will be deleted. InfoType naming patterns are strictly enforced when using this feature. Note that the findings will be persisted in Data Catalog storage and are governed by Data Catalog service-specific policy, see https://cloud.google.com/terms/service-terms Only a single instance of this action can be specified and only allowed if all resources being scanned are BigQuery tables. Compatible with: Inspect # Publish findings to Cloud Datahub. }, - "publishSummaryToCscc": { # Publish the result summary of a DlpJob to the Cloud Security Command Center (CSCC Alpha). This action is only available for projects which are parts of an organization and whitelisted for the alpha Cloud Security Command Center. The action will publish count of finding instances and their info types. The summary of findings will be persisted in CSCC and are governed by CSCC service-specific policy, see https://cloud.google.com/terms/service-terms Only a single instance of this action can be specified. Compatible with: Inspect # Publish summary to Cloud Security Command Center (Alpha). + "publishSummaryToCscc": { # Publish the result summary of a DlpJob to the Cloud Security Command Center (CSCC Alpha). This action is only available for projects which are parts of an organization and whitelisted for the alpha Cloud Security Command Center. The action will publish the count of finding instances and their info types. The summary of findings will be persisted in CSCC and are governed by CSCC service-specific policy, see https://cloud.google.com/terms/service-terms Only a single instance of this action can be specified. Compatible with: Inspect # Publish summary to Cloud Security Command Center (Alpha). }, "publishToStackdriver": { # Enable Stackdriver metric dlp.googleapis.com/finding_count. This will publish a metric to stack driver on each infotype requested and how many findings were found for it. CustomDetectors will be bucketed as 'Custom' under the Stackdriver label 'info_type'. # Enable Stackdriver metric dlp.googleapis.com/finding_count. }, "saveFindings": { # If set, the detailed findings will be persisted to the specified OutputStorageConfig. Only a single instance of this action can be specified. Compatible with: Inspect, Risk # Save resulting findings in a provided location. "outputConfig": { # Cloud repository for storing output. # Location to store findings outside of DLP. "outputSchema": "A String", # Schema used for writing the findings for Inspect jobs. This field is only used for Inspect and must be unspecified for Risk jobs. Columns are derived from the `Finding` object. If appending to an existing table, any columns from the predefined schema that are missing will be added. No columns in the existing table will be deleted. If unspecified, then all available columns will be used for a new table or an (existing) table with no schema, and no changes will be made to an existing table that has a schema. Only for use with external storage. - "table": { # Message defining the location of a BigQuery table. A table is uniquely identified by its project_id, dataset_id, and table_name. Within a query a table is often referenced with a string in the format of: `:.` or `..`. # Store findings in an existing table or a new table in an existing dataset. If table_id is not set a new one will be generated for you with the following format: dlp_googleapis_yyyy_mm_dd_[dlp_job_id]. Pacific timezone will be used for generating the date details. For Inspect, each column in an existing output table must have the same name, type, and mode of a field in the `Finding` object. For Risk, an existing output table should be the output of a previous Risk analysis job run on the same source table, with the same privacy metric and quasi-identifiers. Risk jobs that analyze the same table but compute a different privacy metric, or use different sets of quasi-identifiers, cannot store their results in the same table. + "table": { # Message defining the location of a BigQuery table. A table is uniquely identified by its project_id, dataset_id, and table_name. Within a query a table is often referenced with a string in the format of: `:.` or `..`. # Store findings in an existing table or a new table in an existing dataset. If table_id is not set a new one will be generated for you with the following format: dlp_googleapis_yyyy_mm_dd_[dlp_job_id]. Pacific time zone will be used for generating the date details. For Inspect, each column in an existing output table must have the same name, type, and mode of a field in the `Finding` object. For Risk, an existing output table should be the output of a previous Risk analysis job run on the same source table, with the same privacy metric and quasi-identifiers. Risk jobs that analyze the same table but compute a different privacy metric, or use different sets of quasi-identifiers, cannot store their results in the same table. "datasetId": "A String", # Dataset ID of the table. "projectId": "A String", # The Google Cloud Platform project ID of the project containing the table. If omitted, project ID is inferred from the API call. "tableId": "A String", # Name of the table. @@ -2204,7 +2312,7 @@

Method Details

"version": "A String", # Optional version name for this InfoType. }, ], - "limits": { # Configuration to control the number of findings returned for inspection. This is not used for de-identification or data profiling. # Configuration to control the number of findings returned. This is not used for data profiling. + "limits": { # Configuration to control the number of findings returned for inspection. This is not used for de-identification or data profiling. When redacting sensitive data from images, finding limits don't apply. They can cause unexpected or inconsistent results, where only some data is redacted. Don't include finding limits in RedactImage requests. Otherwise, Cloud DLP returns an error. # Configuration to control the number of findings returned. This is not used for data profiling. When redacting sensitive data from images, finding limits don't apply. They can cause unexpected or inconsistent results, where only some data is redacted. Don't include finding limits in RedactImage requests. Otherwise, Cloud DLP returns an error. "maxFindingsPerInfoType": [ # Configuration of findings limit given for specified infoTypes. { # Max findings configuration per infoType, per content item or long running DlpJob. "infoType": { # Type of information detected by the API. # Type of information the findings limit applies to. Only one limit per info_type should be provided. If InfoTypeLimit does not have an info_type, the DLP API applies the limit against all info_types that are found but not specified in another InfoTypeLimit. @@ -2239,7 +2347,7 @@

Method Details

], }, }, - "excludeInfoTypes": { # List of exclude infoTypes. # Set of infoTypes for which findings would affect this rule. + "excludeInfoTypes": { # List of excluded infoTypes. # Set of infoTypes for which findings would affect this rule. "infoTypes": [ # InfoType list in ExclusionRule rule drops a finding when it overlaps or contained within with a finding of an infoType from this list. For example, for `InspectionRuleSet.info_types` containing "PHONE_NUMBER"` and `exclusion_rule` containing `exclude_info_types.info_types` with "EMAIL_ADDRESS" the phone number findings are dropped if they overlap with EMAIL_ADDRESS finding. That leads to "555-222-2222@example.org" to generate only a single finding, namely email address. { # Type of information detected by the API. "name": "A String", # Name of the information type. Either a name of your choosing when creating a CustomInfoType, or one of the names listed at https://cloud.google.com/dlp/docs/infotypes-reference when specifying a built-in type. When sending Cloud DLP results to Data Catalog, infoType names should conform to the pattern `[A-Za-z0-9$-_]{1,64}`. @@ -2303,7 +2411,7 @@

Method Details

"tableId": "A String", # Name of the table. }, }, - "cloudStorageOptions": { # Options defining a file or a set of files within a Google Cloud Storage bucket. # Google Cloud Storage options. + "cloudStorageOptions": { # Options defining a file or a set of files within a Cloud Storage bucket. # Cloud Storage options. "bytesLimitPerFile": "A String", # Max number of bytes to scan from a file. If a scanned file's size is bigger than this value then the rest of the bytes are omitted. Only one of bytes_limit_per_file and bytes_limit_per_file_percent can be specified. Cannot be set if de-identification is requested. "bytesLimitPerFilePercent": 42, # Max percentage of bytes to scan from a file. The rest are omitted. The number of bytes scanned is rounded down. Must be between 0 and 100, inclusively. Both 0 and 100 means no limit. Defaults to 0. Only one of bytes_limit_per_file and bytes_limit_per_file_percent can be specified. Cannot be set if de-identification is requested. "fileSet": { # Set of files to scan. # The set of one or more files to scan. @@ -2349,11 +2457,11 @@

Method Details

], }, }, - "timespanConfig": { # Configuration of the timespan of the items to include in scanning. Currently only supported when inspecting Google Cloud Storage and BigQuery. + "timespanConfig": { # Configuration of the timespan of the items to include in scanning. Currently only supported when inspecting Cloud Storage and BigQuery. "enableAutoPopulationOfTimespanConfig": True or False, # When the job is started by a JobTrigger we will automatically figure out a valid start_time to avoid scanning files that have not been modified since the last time the JobTrigger executed. This will be based on the time of the execution of the last run of the JobTrigger. "endTime": "A String", # Exclude files, tables, or rows newer than this value. If not set, no upper time limit is applied. "startTime": "A String", # Exclude files, tables, or rows older than this value. If not set, no lower time limit is applied. - "timestampField": { # General identifier of a data field in a storage service. # Specification of the field containing the timestamp of scanned items. Used for data sources like Datastore and BigQuery. For BigQuery: If this value is not specified and the table was modified between the given start and end times, the entire table will be scanned. If this value is specified, then rows are filtered based on the given start and end times. Rows with a `NULL` value in the provided BigQuery column are skipped. Valid data types of the provided BigQuery column are: `INTEGER`, `DATE`, `TIMESTAMP`, and `DATETIME`. For Datastore: If this value is specified, then entities are filtered based on the given start and end times. If an entity does not contain the provided timestamp property or contains empty or invalid values, then it is included. Valid data types of the provided timestamp property are: `TIMESTAMP`. + "timestampField": { # General identifier of a data field in a storage service. # Specification of the field containing the timestamp of scanned items. Used for data sources like Datastore and BigQuery. *For BigQuery* If this value is not specified and the table was modified between the given start and end times, the entire table will be scanned. If this value is specified, then rows are filtered based on the given start and end times. Rows with a `NULL` value in the provided BigQuery column are skipped. Valid data types of the provided BigQuery column are: `INTEGER`, `DATE`, `TIMESTAMP`, and `DATETIME`. If your BigQuery table is [partitioned at ingestion time](https://cloud.google.com/bigquery/docs/partitioned-tables#ingestion_time), you can use any of the following pseudo-columns as your timestamp field. When used with Cloud DLP, these pseudo-column names are case sensitive. - _PARTITIONTIME - _PARTITIONDATE - _PARTITION_LOAD_TIME *For Datastore* If this value is specified, then entities are filtered based on the given start and end times. If an entity does not contain the provided timestamp property or contains empty or invalid values, then it is included. Valid data types of the provided timestamp property are: `TIMESTAMP`. See the [known issue](https://cloud.google.com/dlp/docs/known-issues#bq-timespan) related to this operation. "name": "A String", # Name describing the field. }, }, @@ -2367,7 +2475,7 @@

Method Details

"manual": { # Job trigger option for hybrid jobs. Jobs must be manually created and finished. # For use with hybrid jobs. Jobs must be manually created and finished. }, "schedule": { # Schedule for inspect job triggers. # Create a job on a repeating basis based on the elapse of time. - "recurrencePeriodDuration": "A String", # With this option a job is started a regular periodic basis. For example: every day (86400 seconds). A scheduled start time will be skipped if the previous execution has not ended when its scheduled time occurs. This value must be set to a time duration greater than or equal to 1 day and can be no longer than 60 days. + "recurrencePeriodDuration": "A String", # With this option a job is started on a regular periodic basis. For example: every day (86400 seconds). A scheduled start time will be skipped if the previous execution has not ended when its scheduled time occurs. This value must be set to a time duration greater than or equal to 1 day and can be no longer than 60 days. }, }, ], @@ -2425,21 +2533,39 @@

Method Details

"inspectJob": { # Controls what and how to inspect for findings. # For inspect jobs, a snapshot of the configuration. "actions": [ # Actions to execute at the completion of the job. { # A task to execute on the completion of a job. See https://cloud.google.com/dlp/docs/concepts-actions to learn more. + "deidentify": { # Create a de-identified copy of the requested table or files. . A TransformationDetail will be created for each transformation. If any rows in BigQuery are skipped during de-identification (transformation errors or row size exceeds BigQuery insert API limits) they are placed in the failure output table. If the original row exceeds the BigQuery insert API limit it will be truncated when written to the failure output table. The failure output table can be set in the action.deidentify.output.big_query_output.deidentified_failure_output_table field, if no table is set, a table will be automatically created in the same project and dataset as the original table. Compatible with: Inspect # Create a de-identified copy of the input data. Applicable for non-image data only. The de-identified copy is in the same location as the original data. + "cloudStorageOutput": "A String", # Required. User settable GCS bucket and folders to store de-identified files. This field must be set for cloud storage deidentification. The output GCS bucket must be different from the input bucket. De-identified files will overwrite files in the output path. Form of: gs://bucket/folder/ or gs://bucket + "fileTypesToTransform": [ # List of user-specified file type groups to transform. If specified, only the files with these filetypes will be transformed. If empty, all supported files will be transformed. Supported types may be automatically added over time. If a file type is set in this field that isn't supported by the Deidentify action then the job will fail and will not be successfully created/started. Currently the only filetypes supported are: IMAGES, TEXT_FILES, CSV, TSV. + "A String", + ], + "transformationConfig": { # User specified templates and configs for how to deidentify structured, unstructures, and image files. User must provide either a unstructured deidentify template or at least one redact image config. # User specified deidentify templates and configs for structured, unstructured, and image files. + "deidentifyTemplate": "A String", # De-identify template. If this template is specified, it will serve as the default de-identify template. This template cannot contain `record_transformations` since it can be used for unstructured content such as free-form text files. If this template is not set, a default `ReplaceWithInfoTypeConfig` will be used to de-identify unstructured content. + "imageRedactTemplate": "A String", # Image redact template. If this template is specified, it will serve as the de-identify template for images. If this template is not set, all findings in the image will be redacted with a black box. + "structuredDeidentifyTemplate": "A String", # Structured de-identify template. If this template is specified, it will serve as the de-identify template for structured content such as delimited files and tables. If this template is not set but the `deidentify_template` is set, then `deidentify_template` will also apply to the structured content. If neither template is set, a default `ReplaceWithInfoTypeConfig` will be used to de-identify structured content. + }, + "transformationDetailsStorageConfig": { # Config for storing transformation details. # Config for storing transformation details. This is separate from the de-identified content, and contains metadata about the successful transformations and/or failures that occurred while de-identifying. This needs to be set in order for users to access information about the status of each transformation (see TransformationDetails message for more information about what is noted). + "table": { # Message defining the location of a BigQuery table. A table is uniquely identified by its project_id, dataset_id, and table_name. Within a query a table is often referenced with a string in the format of: `:.` or `..`. # The BigQuery table in which to store the output. This may be an existing table or in a new table in an existing dataset. If table_id is not set a new one will be generated for you with the following format: dlp_googleapis_transformation_details_yyyy_mm_dd_[dlp_job_id]. Pacific time zone will be used for generating the date details. + "datasetId": "A String", # Dataset ID of the table. + "projectId": "A String", # The Google Cloud Platform project ID of the project containing the table. If omitted, project ID is inferred from the API call. + "tableId": "A String", # Name of the table. + }, + }, + }, "jobNotificationEmails": { # Enable email notification to project owners and editors on jobs's completion/failure. # Enable email notification for project owners and editors on job's completion/failure. }, - "pubSub": { # Publish a message into given Pub/Sub topic when DlpJob has completed. The message contains a single field, `DlpJobName`, which is equal to the finished job's [`DlpJob.name`](https://cloud.google.com/dlp/docs/reference/rest/v2/projects.dlpJobs#DlpJob). Compatible with: Inspect, Risk # Publish a notification to a pubsub topic. + "pubSub": { # Publish a message into a given Pub/Sub topic when DlpJob has completed. The message contains a single field, `DlpJobName`, which is equal to the finished job's [`DlpJob.name`](https://cloud.google.com/dlp/docs/reference/rest/v2/projects.dlpJobs#DlpJob). Compatible with: Inspect, Risk # Publish a notification to a pubsub topic. "topic": "A String", # Cloud Pub/Sub topic to send notifications to. The topic must have given publishing access rights to the DLP API service account executing the long running DlpJob sending the notifications. Format is projects/{project}/topics/{topic}. }, "publishFindingsToCloudDataCatalog": { # Publish findings of a DlpJob to Data Catalog. Labels summarizing the results of the DlpJob will be applied to the entry for the resource scanned in Data Catalog. Any labels previously written by another DlpJob will be deleted. InfoType naming patterns are strictly enforced when using this feature. Note that the findings will be persisted in Data Catalog storage and are governed by Data Catalog service-specific policy, see https://cloud.google.com/terms/service-terms Only a single instance of this action can be specified and only allowed if all resources being scanned are BigQuery tables. Compatible with: Inspect # Publish findings to Cloud Datahub. }, - "publishSummaryToCscc": { # Publish the result summary of a DlpJob to the Cloud Security Command Center (CSCC Alpha). This action is only available for projects which are parts of an organization and whitelisted for the alpha Cloud Security Command Center. The action will publish count of finding instances and their info types. The summary of findings will be persisted in CSCC and are governed by CSCC service-specific policy, see https://cloud.google.com/terms/service-terms Only a single instance of this action can be specified. Compatible with: Inspect # Publish summary to Cloud Security Command Center (Alpha). + "publishSummaryToCscc": { # Publish the result summary of a DlpJob to the Cloud Security Command Center (CSCC Alpha). This action is only available for projects which are parts of an organization and whitelisted for the alpha Cloud Security Command Center. The action will publish the count of finding instances and their info types. The summary of findings will be persisted in CSCC and are governed by CSCC service-specific policy, see https://cloud.google.com/terms/service-terms Only a single instance of this action can be specified. Compatible with: Inspect # Publish summary to Cloud Security Command Center (Alpha). }, "publishToStackdriver": { # Enable Stackdriver metric dlp.googleapis.com/finding_count. This will publish a metric to stack driver on each infotype requested and how many findings were found for it. CustomDetectors will be bucketed as 'Custom' under the Stackdriver label 'info_type'. # Enable Stackdriver metric dlp.googleapis.com/finding_count. }, "saveFindings": { # If set, the detailed findings will be persisted to the specified OutputStorageConfig. Only a single instance of this action can be specified. Compatible with: Inspect, Risk # Save resulting findings in a provided location. "outputConfig": { # Cloud repository for storing output. # Location to store findings outside of DLP. "outputSchema": "A String", # Schema used for writing the findings for Inspect jobs. This field is only used for Inspect and must be unspecified for Risk jobs. Columns are derived from the `Finding` object. If appending to an existing table, any columns from the predefined schema that are missing will be added. No columns in the existing table will be deleted. If unspecified, then all available columns will be used for a new table or an (existing) table with no schema, and no changes will be made to an existing table that has a schema. Only for use with external storage. - "table": { # Message defining the location of a BigQuery table. A table is uniquely identified by its project_id, dataset_id, and table_name. Within a query a table is often referenced with a string in the format of: `:.` or `..`. # Store findings in an existing table or a new table in an existing dataset. If table_id is not set a new one will be generated for you with the following format: dlp_googleapis_yyyy_mm_dd_[dlp_job_id]. Pacific timezone will be used for generating the date details. For Inspect, each column in an existing output table must have the same name, type, and mode of a field in the `Finding` object. For Risk, an existing output table should be the output of a previous Risk analysis job run on the same source table, with the same privacy metric and quasi-identifiers. Risk jobs that analyze the same table but compute a different privacy metric, or use different sets of quasi-identifiers, cannot store their results in the same table. + "table": { # Message defining the location of a BigQuery table. A table is uniquely identified by its project_id, dataset_id, and table_name. Within a query a table is often referenced with a string in the format of: `:.` or `..`. # Store findings in an existing table or a new table in an existing dataset. If table_id is not set a new one will be generated for you with the following format: dlp_googleapis_yyyy_mm_dd_[dlp_job_id]. Pacific time zone will be used for generating the date details. For Inspect, each column in an existing output table must have the same name, type, and mode of a field in the `Finding` object. For Risk, an existing output table should be the output of a previous Risk analysis job run on the same source table, with the same privacy metric and quasi-identifiers. Risk jobs that analyze the same table but compute a different privacy metric, or use different sets of quasi-identifiers, cannot store their results in the same table. "datasetId": "A String", # Dataset ID of the table. "projectId": "A String", # The Google Cloud Platform project ID of the project containing the table. If omitted, project ID is inferred from the API call. "tableId": "A String", # Name of the table. @@ -2512,7 +2638,7 @@

Method Details

"version": "A String", # Optional version name for this InfoType. }, ], - "limits": { # Configuration to control the number of findings returned for inspection. This is not used for de-identification or data profiling. # Configuration to control the number of findings returned. This is not used for data profiling. + "limits": { # Configuration to control the number of findings returned for inspection. This is not used for de-identification or data profiling. When redacting sensitive data from images, finding limits don't apply. They can cause unexpected or inconsistent results, where only some data is redacted. Don't include finding limits in RedactImage requests. Otherwise, Cloud DLP returns an error. # Configuration to control the number of findings returned. This is not used for data profiling. When redacting sensitive data from images, finding limits don't apply. They can cause unexpected or inconsistent results, where only some data is redacted. Don't include finding limits in RedactImage requests. Otherwise, Cloud DLP returns an error. "maxFindingsPerInfoType": [ # Configuration of findings limit given for specified infoTypes. { # Max findings configuration per infoType, per content item or long running DlpJob. "infoType": { # Type of information detected by the API. # Type of information the findings limit applies to. Only one limit per info_type should be provided. If InfoTypeLimit does not have an info_type, the DLP API applies the limit against all info_types that are found but not specified in another InfoTypeLimit. @@ -2547,7 +2673,7 @@

Method Details

], }, }, - "excludeInfoTypes": { # List of exclude infoTypes. # Set of infoTypes for which findings would affect this rule. + "excludeInfoTypes": { # List of excluded infoTypes. # Set of infoTypes for which findings would affect this rule. "infoTypes": [ # InfoType list in ExclusionRule rule drops a finding when it overlaps or contained within with a finding of an infoType from this list. For example, for `InspectionRuleSet.info_types` containing "PHONE_NUMBER"` and `exclusion_rule` containing `exclude_info_types.info_types` with "EMAIL_ADDRESS" the phone number findings are dropped if they overlap with EMAIL_ADDRESS finding. That leads to "555-222-2222@example.org" to generate only a single finding, namely email address. { # Type of information detected by the API. "name": "A String", # Name of the information type. Either a name of your choosing when creating a CustomInfoType, or one of the names listed at https://cloud.google.com/dlp/docs/infotypes-reference when specifying a built-in type. When sending Cloud DLP results to Data Catalog, infoType names should conform to the pattern `[A-Za-z0-9$-_]{1,64}`. @@ -2611,7 +2737,7 @@

Method Details

"tableId": "A String", # Name of the table. }, }, - "cloudStorageOptions": { # Options defining a file or a set of files within a Google Cloud Storage bucket. # Google Cloud Storage options. + "cloudStorageOptions": { # Options defining a file or a set of files within a Cloud Storage bucket. # Cloud Storage options. "bytesLimitPerFile": "A String", # Max number of bytes to scan from a file. If a scanned file's size is bigger than this value then the rest of the bytes are omitted. Only one of bytes_limit_per_file and bytes_limit_per_file_percent can be specified. Cannot be set if de-identification is requested. "bytesLimitPerFilePercent": 42, # Max percentage of bytes to scan from a file. The rest are omitted. The number of bytes scanned is rounded down. Must be between 0 and 100, inclusively. Both 0 and 100 means no limit. Defaults to 0. Only one of bytes_limit_per_file and bytes_limit_per_file_percent can be specified. Cannot be set if de-identification is requested. "fileSet": { # Set of files to scan. # The set of one or more files to scan. @@ -2657,11 +2783,11 @@

Method Details

], }, }, - "timespanConfig": { # Configuration of the timespan of the items to include in scanning. Currently only supported when inspecting Google Cloud Storage and BigQuery. + "timespanConfig": { # Configuration of the timespan of the items to include in scanning. Currently only supported when inspecting Cloud Storage and BigQuery. "enableAutoPopulationOfTimespanConfig": True or False, # When the job is started by a JobTrigger we will automatically figure out a valid start_time to avoid scanning files that have not been modified since the last time the JobTrigger executed. This will be based on the time of the execution of the last run of the JobTrigger. "endTime": "A String", # Exclude files, tables, or rows newer than this value. If not set, no upper time limit is applied. "startTime": "A String", # Exclude files, tables, or rows older than this value. If not set, no lower time limit is applied. - "timestampField": { # General identifier of a data field in a storage service. # Specification of the field containing the timestamp of scanned items. Used for data sources like Datastore and BigQuery. For BigQuery: If this value is not specified and the table was modified between the given start and end times, the entire table will be scanned. If this value is specified, then rows are filtered based on the given start and end times. Rows with a `NULL` value in the provided BigQuery column are skipped. Valid data types of the provided BigQuery column are: `INTEGER`, `DATE`, `TIMESTAMP`, and `DATETIME`. For Datastore: If this value is specified, then entities are filtered based on the given start and end times. If an entity does not contain the provided timestamp property or contains empty or invalid values, then it is included. Valid data types of the provided timestamp property are: `TIMESTAMP`. + "timestampField": { # General identifier of a data field in a storage service. # Specification of the field containing the timestamp of scanned items. Used for data sources like Datastore and BigQuery. *For BigQuery* If this value is not specified and the table was modified between the given start and end times, the entire table will be scanned. If this value is specified, then rows are filtered based on the given start and end times. Rows with a `NULL` value in the provided BigQuery column are skipped. Valid data types of the provided BigQuery column are: `INTEGER`, `DATE`, `TIMESTAMP`, and `DATETIME`. If your BigQuery table is [partitioned at ingestion time](https://cloud.google.com/bigquery/docs/partitioned-tables#ingestion_time), you can use any of the following pseudo-columns as your timestamp field. When used with Cloud DLP, these pseudo-column names are case sensitive. - _PARTITIONTIME - _PARTITIONDATE - _PARTITION_LOAD_TIME *For Datastore* If this value is specified, then entities are filtered based on the given start and end times. If an entity does not contain the provided timestamp property or contains empty or invalid values, then it is included. Valid data types of the provided timestamp property are: `TIMESTAMP`. See the [known issue](https://cloud.google.com/dlp/docs/known-issues#bq-timespan) related to this operation. "name": "A String", # Name describing the field. }, }, @@ -2675,7 +2801,7 @@

Method Details

"manual": { # Job trigger option for hybrid jobs. Jobs must be manually created and finished. # For use with hybrid jobs. Jobs must be manually created and finished. }, "schedule": { # Schedule for inspect job triggers. # Create a job on a repeating basis based on the elapse of time. - "recurrencePeriodDuration": "A String", # With this option a job is started a regular periodic basis. For example: every day (86400 seconds). A scheduled start time will be skipped if the previous execution has not ended when its scheduled time occurs. This value must be set to a time duration greater than or equal to 1 day and can be no longer than 60 days. + "recurrencePeriodDuration": "A String", # With this option a job is started on a regular periodic basis. For example: every day (86400 seconds). A scheduled start time will be skipped if the previous execution has not ended when its scheduled time occurs. This value must be set to a time duration greater than or equal to 1 day and can be no longer than 60 days. }, }, ], @@ -2715,21 +2841,39 @@

Method Details

"inspectJob": { # Controls what and how to inspect for findings. # For inspect jobs, a snapshot of the configuration. "actions": [ # Actions to execute at the completion of the job. { # A task to execute on the completion of a job. See https://cloud.google.com/dlp/docs/concepts-actions to learn more. + "deidentify": { # Create a de-identified copy of the requested table or files. . A TransformationDetail will be created for each transformation. If any rows in BigQuery are skipped during de-identification (transformation errors or row size exceeds BigQuery insert API limits) they are placed in the failure output table. If the original row exceeds the BigQuery insert API limit it will be truncated when written to the failure output table. The failure output table can be set in the action.deidentify.output.big_query_output.deidentified_failure_output_table field, if no table is set, a table will be automatically created in the same project and dataset as the original table. Compatible with: Inspect # Create a de-identified copy of the input data. Applicable for non-image data only. The de-identified copy is in the same location as the original data. + "cloudStorageOutput": "A String", # Required. User settable GCS bucket and folders to store de-identified files. This field must be set for cloud storage deidentification. The output GCS bucket must be different from the input bucket. De-identified files will overwrite files in the output path. Form of: gs://bucket/folder/ or gs://bucket + "fileTypesToTransform": [ # List of user-specified file type groups to transform. If specified, only the files with these filetypes will be transformed. If empty, all supported files will be transformed. Supported types may be automatically added over time. If a file type is set in this field that isn't supported by the Deidentify action then the job will fail and will not be successfully created/started. Currently the only filetypes supported are: IMAGES, TEXT_FILES, CSV, TSV. + "A String", + ], + "transformationConfig": { # User specified templates and configs for how to deidentify structured, unstructures, and image files. User must provide either a unstructured deidentify template or at least one redact image config. # User specified deidentify templates and configs for structured, unstructured, and image files. + "deidentifyTemplate": "A String", # De-identify template. If this template is specified, it will serve as the default de-identify template. This template cannot contain `record_transformations` since it can be used for unstructured content such as free-form text files. If this template is not set, a default `ReplaceWithInfoTypeConfig` will be used to de-identify unstructured content. + "imageRedactTemplate": "A String", # Image redact template. If this template is specified, it will serve as the de-identify template for images. If this template is not set, all findings in the image will be redacted with a black box. + "structuredDeidentifyTemplate": "A String", # Structured de-identify template. If this template is specified, it will serve as the de-identify template for structured content such as delimited files and tables. If this template is not set but the `deidentify_template` is set, then `deidentify_template` will also apply to the structured content. If neither template is set, a default `ReplaceWithInfoTypeConfig` will be used to de-identify structured content. + }, + "transformationDetailsStorageConfig": { # Config for storing transformation details. # Config for storing transformation details. This is separate from the de-identified content, and contains metadata about the successful transformations and/or failures that occurred while de-identifying. This needs to be set in order for users to access information about the status of each transformation (see TransformationDetails message for more information about what is noted). + "table": { # Message defining the location of a BigQuery table. A table is uniquely identified by its project_id, dataset_id, and table_name. Within a query a table is often referenced with a string in the format of: `:.` or `..`. # The BigQuery table in which to store the output. This may be an existing table or in a new table in an existing dataset. If table_id is not set a new one will be generated for you with the following format: dlp_googleapis_transformation_details_yyyy_mm_dd_[dlp_job_id]. Pacific time zone will be used for generating the date details. + "datasetId": "A String", # Dataset ID of the table. + "projectId": "A String", # The Google Cloud Platform project ID of the project containing the table. If omitted, project ID is inferred from the API call. + "tableId": "A String", # Name of the table. + }, + }, + }, "jobNotificationEmails": { # Enable email notification to project owners and editors on jobs's completion/failure. # Enable email notification for project owners and editors on job's completion/failure. }, - "pubSub": { # Publish a message into given Pub/Sub topic when DlpJob has completed. The message contains a single field, `DlpJobName`, which is equal to the finished job's [`DlpJob.name`](https://cloud.google.com/dlp/docs/reference/rest/v2/projects.dlpJobs#DlpJob). Compatible with: Inspect, Risk # Publish a notification to a pubsub topic. + "pubSub": { # Publish a message into a given Pub/Sub topic when DlpJob has completed. The message contains a single field, `DlpJobName`, which is equal to the finished job's [`DlpJob.name`](https://cloud.google.com/dlp/docs/reference/rest/v2/projects.dlpJobs#DlpJob). Compatible with: Inspect, Risk # Publish a notification to a pubsub topic. "topic": "A String", # Cloud Pub/Sub topic to send notifications to. The topic must have given publishing access rights to the DLP API service account executing the long running DlpJob sending the notifications. Format is projects/{project}/topics/{topic}. }, "publishFindingsToCloudDataCatalog": { # Publish findings of a DlpJob to Data Catalog. Labels summarizing the results of the DlpJob will be applied to the entry for the resource scanned in Data Catalog. Any labels previously written by another DlpJob will be deleted. InfoType naming patterns are strictly enforced when using this feature. Note that the findings will be persisted in Data Catalog storage and are governed by Data Catalog service-specific policy, see https://cloud.google.com/terms/service-terms Only a single instance of this action can be specified and only allowed if all resources being scanned are BigQuery tables. Compatible with: Inspect # Publish findings to Cloud Datahub. }, - "publishSummaryToCscc": { # Publish the result summary of a DlpJob to the Cloud Security Command Center (CSCC Alpha). This action is only available for projects which are parts of an organization and whitelisted for the alpha Cloud Security Command Center. The action will publish count of finding instances and their info types. The summary of findings will be persisted in CSCC and are governed by CSCC service-specific policy, see https://cloud.google.com/terms/service-terms Only a single instance of this action can be specified. Compatible with: Inspect # Publish summary to Cloud Security Command Center (Alpha). + "publishSummaryToCscc": { # Publish the result summary of a DlpJob to the Cloud Security Command Center (CSCC Alpha). This action is only available for projects which are parts of an organization and whitelisted for the alpha Cloud Security Command Center. The action will publish the count of finding instances and their info types. The summary of findings will be persisted in CSCC and are governed by CSCC service-specific policy, see https://cloud.google.com/terms/service-terms Only a single instance of this action can be specified. Compatible with: Inspect # Publish summary to Cloud Security Command Center (Alpha). }, "publishToStackdriver": { # Enable Stackdriver metric dlp.googleapis.com/finding_count. This will publish a metric to stack driver on each infotype requested and how many findings were found for it. CustomDetectors will be bucketed as 'Custom' under the Stackdriver label 'info_type'. # Enable Stackdriver metric dlp.googleapis.com/finding_count. }, "saveFindings": { # If set, the detailed findings will be persisted to the specified OutputStorageConfig. Only a single instance of this action can be specified. Compatible with: Inspect, Risk # Save resulting findings in a provided location. "outputConfig": { # Cloud repository for storing output. # Location to store findings outside of DLP. "outputSchema": "A String", # Schema used for writing the findings for Inspect jobs. This field is only used for Inspect and must be unspecified for Risk jobs. Columns are derived from the `Finding` object. If appending to an existing table, any columns from the predefined schema that are missing will be added. No columns in the existing table will be deleted. If unspecified, then all available columns will be used for a new table or an (existing) table with no schema, and no changes will be made to an existing table that has a schema. Only for use with external storage. - "table": { # Message defining the location of a BigQuery table. A table is uniquely identified by its project_id, dataset_id, and table_name. Within a query a table is often referenced with a string in the format of: `:.` or `..`. # Store findings in an existing table or a new table in an existing dataset. If table_id is not set a new one will be generated for you with the following format: dlp_googleapis_yyyy_mm_dd_[dlp_job_id]. Pacific timezone will be used for generating the date details. For Inspect, each column in an existing output table must have the same name, type, and mode of a field in the `Finding` object. For Risk, an existing output table should be the output of a previous Risk analysis job run on the same source table, with the same privacy metric and quasi-identifiers. Risk jobs that analyze the same table but compute a different privacy metric, or use different sets of quasi-identifiers, cannot store their results in the same table. + "table": { # Message defining the location of a BigQuery table. A table is uniquely identified by its project_id, dataset_id, and table_name. Within a query a table is often referenced with a string in the format of: `:.` or `..`. # Store findings in an existing table or a new table in an existing dataset. If table_id is not set a new one will be generated for you with the following format: dlp_googleapis_yyyy_mm_dd_[dlp_job_id]. Pacific time zone will be used for generating the date details. For Inspect, each column in an existing output table must have the same name, type, and mode of a field in the `Finding` object. For Risk, an existing output table should be the output of a previous Risk analysis job run on the same source table, with the same privacy metric and quasi-identifiers. Risk jobs that analyze the same table but compute a different privacy metric, or use different sets of quasi-identifiers, cannot store their results in the same table. "datasetId": "A String", # Dataset ID of the table. "projectId": "A String", # The Google Cloud Platform project ID of the project containing the table. If omitted, project ID is inferred from the API call. "tableId": "A String", # Name of the table. @@ -2802,7 +2946,7 @@

Method Details

"version": "A String", # Optional version name for this InfoType. }, ], - "limits": { # Configuration to control the number of findings returned for inspection. This is not used for de-identification or data profiling. # Configuration to control the number of findings returned. This is not used for data profiling. + "limits": { # Configuration to control the number of findings returned for inspection. This is not used for de-identification or data profiling. When redacting sensitive data from images, finding limits don't apply. They can cause unexpected or inconsistent results, where only some data is redacted. Don't include finding limits in RedactImage requests. Otherwise, Cloud DLP returns an error. # Configuration to control the number of findings returned. This is not used for data profiling. When redacting sensitive data from images, finding limits don't apply. They can cause unexpected or inconsistent results, where only some data is redacted. Don't include finding limits in RedactImage requests. Otherwise, Cloud DLP returns an error. "maxFindingsPerInfoType": [ # Configuration of findings limit given for specified infoTypes. { # Max findings configuration per infoType, per content item or long running DlpJob. "infoType": { # Type of information detected by the API. # Type of information the findings limit applies to. Only one limit per info_type should be provided. If InfoTypeLimit does not have an info_type, the DLP API applies the limit against all info_types that are found but not specified in another InfoTypeLimit. @@ -2837,7 +2981,7 @@

Method Details

], }, }, - "excludeInfoTypes": { # List of exclude infoTypes. # Set of infoTypes for which findings would affect this rule. + "excludeInfoTypes": { # List of excluded infoTypes. # Set of infoTypes for which findings would affect this rule. "infoTypes": [ # InfoType list in ExclusionRule rule drops a finding when it overlaps or contained within with a finding of an infoType from this list. For example, for `InspectionRuleSet.info_types` containing "PHONE_NUMBER"` and `exclusion_rule` containing `exclude_info_types.info_types` with "EMAIL_ADDRESS" the phone number findings are dropped if they overlap with EMAIL_ADDRESS finding. That leads to "555-222-2222@example.org" to generate only a single finding, namely email address. { # Type of information detected by the API. "name": "A String", # Name of the information type. Either a name of your choosing when creating a CustomInfoType, or one of the names listed at https://cloud.google.com/dlp/docs/infotypes-reference when specifying a built-in type. When sending Cloud DLP results to Data Catalog, infoType names should conform to the pattern `[A-Za-z0-9$-_]{1,64}`. @@ -2901,7 +3045,7 @@

Method Details

"tableId": "A String", # Name of the table. }, }, - "cloudStorageOptions": { # Options defining a file or a set of files within a Google Cloud Storage bucket. # Google Cloud Storage options. + "cloudStorageOptions": { # Options defining a file or a set of files within a Cloud Storage bucket. # Cloud Storage options. "bytesLimitPerFile": "A String", # Max number of bytes to scan from a file. If a scanned file's size is bigger than this value then the rest of the bytes are omitted. Only one of bytes_limit_per_file and bytes_limit_per_file_percent can be specified. Cannot be set if de-identification is requested. "bytesLimitPerFilePercent": 42, # Max percentage of bytes to scan from a file. The rest are omitted. The number of bytes scanned is rounded down. Must be between 0 and 100, inclusively. Both 0 and 100 means no limit. Defaults to 0. Only one of bytes_limit_per_file and bytes_limit_per_file_percent can be specified. Cannot be set if de-identification is requested. "fileSet": { # Set of files to scan. # The set of one or more files to scan. @@ -2947,11 +3091,11 @@

Method Details

], }, }, - "timespanConfig": { # Configuration of the timespan of the items to include in scanning. Currently only supported when inspecting Google Cloud Storage and BigQuery. + "timespanConfig": { # Configuration of the timespan of the items to include in scanning. Currently only supported when inspecting Cloud Storage and BigQuery. "enableAutoPopulationOfTimespanConfig": True or False, # When the job is started by a JobTrigger we will automatically figure out a valid start_time to avoid scanning files that have not been modified since the last time the JobTrigger executed. This will be based on the time of the execution of the last run of the JobTrigger. "endTime": "A String", # Exclude files, tables, or rows newer than this value. If not set, no upper time limit is applied. "startTime": "A String", # Exclude files, tables, or rows older than this value. If not set, no lower time limit is applied. - "timestampField": { # General identifier of a data field in a storage service. # Specification of the field containing the timestamp of scanned items. Used for data sources like Datastore and BigQuery. For BigQuery: If this value is not specified and the table was modified between the given start and end times, the entire table will be scanned. If this value is specified, then rows are filtered based on the given start and end times. Rows with a `NULL` value in the provided BigQuery column are skipped. Valid data types of the provided BigQuery column are: `INTEGER`, `DATE`, `TIMESTAMP`, and `DATETIME`. For Datastore: If this value is specified, then entities are filtered based on the given start and end times. If an entity does not contain the provided timestamp property or contains empty or invalid values, then it is included. Valid data types of the provided timestamp property are: `TIMESTAMP`. + "timestampField": { # General identifier of a data field in a storage service. # Specification of the field containing the timestamp of scanned items. Used for data sources like Datastore and BigQuery. *For BigQuery* If this value is not specified and the table was modified between the given start and end times, the entire table will be scanned. If this value is specified, then rows are filtered based on the given start and end times. Rows with a `NULL` value in the provided BigQuery column are skipped. Valid data types of the provided BigQuery column are: `INTEGER`, `DATE`, `TIMESTAMP`, and `DATETIME`. If your BigQuery table is [partitioned at ingestion time](https://cloud.google.com/bigquery/docs/partitioned-tables#ingestion_time), you can use any of the following pseudo-columns as your timestamp field. When used with Cloud DLP, these pseudo-column names are case sensitive. - _PARTITIONTIME - _PARTITIONDATE - _PARTITION_LOAD_TIME *For Datastore* If this value is specified, then entities are filtered based on the given start and end times. If an entity does not contain the provided timestamp property or contains empty or invalid values, then it is included. Valid data types of the provided timestamp property are: `TIMESTAMP`. See the [known issue](https://cloud.google.com/dlp/docs/known-issues#bq-timespan) related to this operation. "name": "A String", # Name describing the field. }, }, @@ -2965,7 +3109,7 @@

Method Details

"manual": { # Job trigger option for hybrid jobs. Jobs must be manually created and finished. # For use with hybrid jobs. Jobs must be manually created and finished. }, "schedule": { # Schedule for inspect job triggers. # Create a job on a repeating basis based on the elapse of time. - "recurrencePeriodDuration": "A String", # With this option a job is started a regular periodic basis. For example: every day (86400 seconds). A scheduled start time will be skipped if the previous execution has not ended when its scheduled time occurs. This value must be set to a time duration greater than or equal to 1 day and can be no longer than 60 days. + "recurrencePeriodDuration": "A String", # With this option a job is started on a regular periodic basis. For example: every day (86400 seconds). A scheduled start time will be skipped if the previous execution has not ended when its scheduled time occurs. This value must be set to a time duration greater than or equal to 1 day and can be no longer than 60 days. }, }, ], diff --git a/docs/dyn/dlp_v2.projects.locations.storedInfoTypes.html b/docs/dyn/dlp_v2.projects.locations.storedInfoTypes.html index 5ede47ff423..b038a1e104d 100644 --- a/docs/dyn/dlp_v2.projects.locations.storedInfoTypes.html +++ b/docs/dyn/dlp_v2.projects.locations.storedInfoTypes.html @@ -124,7 +124,7 @@

Method Details

}, }, "displayName": "A String", # Display name of the StoredInfoType (max 256 characters). - "largeCustomDictionary": { # Configuration for a custom dictionary created from a data source of any size up to the maximum size defined in the [limits](https://cloud.google.com/dlp/limits) page. The artifacts of dictionary creation are stored in the specified Google Cloud Storage location. Consider using `CustomInfoType.Dictionary` for smaller dictionaries that satisfy the size requirements. # StoredInfoType where findings are defined by a dictionary of phrases. + "largeCustomDictionary": { # Configuration for a custom dictionary created from a data source of any size up to the maximum size defined in the [limits](https://cloud.google.com/dlp/limits) page. The artifacts of dictionary creation are stored in the specified Cloud Storage location. Consider using `CustomInfoType.Dictionary` for smaller dictionaries that satisfy the size requirements. # StoredInfoType where findings are defined by a dictionary of phrases. "bigQueryField": { # Message defining a field of a BigQuery table. # Field in a BigQuery table where each cell represents a dictionary phrase. "field": { # General identifier of a data field in a storage service. # Designated field in the BigQuery table. "name": "A String", # Name describing the field. @@ -138,7 +138,7 @@

Method Details

"cloudStorageFileSet": { # Message representing a set of files in Cloud Storage. # Set of files containing newline-delimited lists of dictionary phrases. "url": "A String", # The url, in the format `gs:///`. Trailing wildcard in the path is allowed. }, - "outputPath": { # Message representing a single file or path in Cloud Storage. # Location to store dictionary artifacts in Google Cloud Storage. These files will only be accessible by project owners and the DLP API. If any of these artifacts are modified, the dictionary is considered invalid and can no longer be used. + "outputPath": { # Message representing a single file or path in Cloud Storage. # Location to store dictionary artifacts in Cloud Storage. These files will only be accessible by project owners and the DLP API. If any of these artifacts are modified, the dictionary is considered invalid and can no longer be used. "path": "A String", # A url representing a file or path (no wildcards) in Cloud Storage. Example: gs://[BUCKET_NAME]/dictionary.txt }, }, @@ -176,7 +176,7 @@

Method Details

}, }, "displayName": "A String", # Display name of the StoredInfoType (max 256 characters). - "largeCustomDictionary": { # Configuration for a custom dictionary created from a data source of any size up to the maximum size defined in the [limits](https://cloud.google.com/dlp/limits) page. The artifacts of dictionary creation are stored in the specified Google Cloud Storage location. Consider using `CustomInfoType.Dictionary` for smaller dictionaries that satisfy the size requirements. # StoredInfoType where findings are defined by a dictionary of phrases. + "largeCustomDictionary": { # Configuration for a custom dictionary created from a data source of any size up to the maximum size defined in the [limits](https://cloud.google.com/dlp/limits) page. The artifacts of dictionary creation are stored in the specified Cloud Storage location. Consider using `CustomInfoType.Dictionary` for smaller dictionaries that satisfy the size requirements. # StoredInfoType where findings are defined by a dictionary of phrases. "bigQueryField": { # Message defining a field of a BigQuery table. # Field in a BigQuery table where each cell represents a dictionary phrase. "field": { # General identifier of a data field in a storage service. # Designated field in the BigQuery table. "name": "A String", # Name describing the field. @@ -190,7 +190,7 @@

Method Details

"cloudStorageFileSet": { # Message representing a set of files in Cloud Storage. # Set of files containing newline-delimited lists of dictionary phrases. "url": "A String", # The url, in the format `gs:///`. Trailing wildcard in the path is allowed. }, - "outputPath": { # Message representing a single file or path in Cloud Storage. # Location to store dictionary artifacts in Google Cloud Storage. These files will only be accessible by project owners and the DLP API. If any of these artifacts are modified, the dictionary is considered invalid and can no longer be used. + "outputPath": { # Message representing a single file or path in Cloud Storage. # Location to store dictionary artifacts in Cloud Storage. These files will only be accessible by project owners and the DLP API. If any of these artifacts are modified, the dictionary is considered invalid and can no longer be used. "path": "A String", # A url representing a file or path (no wildcards) in Cloud Storage. Example: gs://[BUCKET_NAME]/dictionary.txt }, }, @@ -202,7 +202,7 @@

Method Details

}, }, "createTime": "A String", # Create timestamp of the version. Read-only, determined by the system when the version is created. - "errors": [ # Errors that occurred when creating this storedInfoType version, or anomalies detected in the storedInfoType data that render it unusable. Only the five most recent errors will be displayed, with the most recent error appearing first. For example, some of the data for stored custom dictionaries is put in the user's Google Cloud Storage bucket, and if this data is modified or deleted by the user or another system, the dictionary becomes invalid. If any errors occur, fix the problem indicated by the error message and use the UpdateStoredInfoType API method to create another version of the storedInfoType to continue using it, reusing the same `config` if it was not the source of the error. + "errors": [ # Errors that occurred when creating this storedInfoType version, or anomalies detected in the storedInfoType data that render it unusable. Only the five most recent errors will be displayed, with the most recent error appearing first. For example, some of the data for stored custom dictionaries is put in the user's Cloud Storage bucket, and if this data is modified or deleted by the user or another system, the dictionary becomes invalid. If any errors occur, fix the problem indicated by the error message and use the UpdateStoredInfoType API method to create another version of the storedInfoType to continue using it, reusing the same `config` if it was not the source of the error. { # Details information about an error encountered during job execution or the results of an unsuccessful activation of the JobTrigger. "details": { # The `Status` type defines a logical error model that is suitable for different programming environments, including REST APIs and RPC APIs. It is used by [gRPC](https://github.com/grpc). Each `Status` message contains three pieces of data: error code, error message, and error details. You can find out more about this error model and how to work with it in the [API Design Guide](https://cloud.google.com/apis/design/errors). # Detailed error codes and messages. "code": 42, # The status code, which should be an enum value of google.rpc.Code. @@ -241,7 +241,7 @@

Method Details

}, }, "displayName": "A String", # Display name of the StoredInfoType (max 256 characters). - "largeCustomDictionary": { # Configuration for a custom dictionary created from a data source of any size up to the maximum size defined in the [limits](https://cloud.google.com/dlp/limits) page. The artifacts of dictionary creation are stored in the specified Google Cloud Storage location. Consider using `CustomInfoType.Dictionary` for smaller dictionaries that satisfy the size requirements. # StoredInfoType where findings are defined by a dictionary of phrases. + "largeCustomDictionary": { # Configuration for a custom dictionary created from a data source of any size up to the maximum size defined in the [limits](https://cloud.google.com/dlp/limits) page. The artifacts of dictionary creation are stored in the specified Cloud Storage location. Consider using `CustomInfoType.Dictionary` for smaller dictionaries that satisfy the size requirements. # StoredInfoType where findings are defined by a dictionary of phrases. "bigQueryField": { # Message defining a field of a BigQuery table. # Field in a BigQuery table where each cell represents a dictionary phrase. "field": { # General identifier of a data field in a storage service. # Designated field in the BigQuery table. "name": "A String", # Name describing the field. @@ -255,7 +255,7 @@

Method Details

"cloudStorageFileSet": { # Message representing a set of files in Cloud Storage. # Set of files containing newline-delimited lists of dictionary phrases. "url": "A String", # The url, in the format `gs:///`. Trailing wildcard in the path is allowed. }, - "outputPath": { # Message representing a single file or path in Cloud Storage. # Location to store dictionary artifacts in Google Cloud Storage. These files will only be accessible by project owners and the DLP API. If any of these artifacts are modified, the dictionary is considered invalid and can no longer be used. + "outputPath": { # Message representing a single file or path in Cloud Storage. # Location to store dictionary artifacts in Cloud Storage. These files will only be accessible by project owners and the DLP API. If any of these artifacts are modified, the dictionary is considered invalid and can no longer be used. "path": "A String", # A url representing a file or path (no wildcards) in Cloud Storage. Example: gs://[BUCKET_NAME]/dictionary.txt }, }, @@ -267,7 +267,7 @@

Method Details

}, }, "createTime": "A String", # Create timestamp of the version. Read-only, determined by the system when the version is created. - "errors": [ # Errors that occurred when creating this storedInfoType version, or anomalies detected in the storedInfoType data that render it unusable. Only the five most recent errors will be displayed, with the most recent error appearing first. For example, some of the data for stored custom dictionaries is put in the user's Google Cloud Storage bucket, and if this data is modified or deleted by the user or another system, the dictionary becomes invalid. If any errors occur, fix the problem indicated by the error message and use the UpdateStoredInfoType API method to create another version of the storedInfoType to continue using it, reusing the same `config` if it was not the source of the error. + "errors": [ # Errors that occurred when creating this storedInfoType version, or anomalies detected in the storedInfoType data that render it unusable. Only the five most recent errors will be displayed, with the most recent error appearing first. For example, some of the data for stored custom dictionaries is put in the user's Cloud Storage bucket, and if this data is modified or deleted by the user or another system, the dictionary becomes invalid. If any errors occur, fix the problem indicated by the error message and use the UpdateStoredInfoType API method to create another version of the storedInfoType to continue using it, reusing the same `config` if it was not the source of the error. { # Details information about an error encountered during job execution or the results of an unsuccessful activation of the JobTrigger. "details": { # The `Status` type defines a logical error model that is suitable for different programming environments, including REST APIs and RPC APIs. It is used by [gRPC](https://github.com/grpc). Each `Status` message contains three pieces of data: error code, error message, and error details. You can find out more about this error model and how to work with it in the [API Design Guide](https://cloud.google.com/apis/design/errors). # Detailed error codes and messages. "code": 42, # The status code, which should be an enum value of google.rpc.Code. @@ -341,7 +341,7 @@

Method Details

}, }, "displayName": "A String", # Display name of the StoredInfoType (max 256 characters). - "largeCustomDictionary": { # Configuration for a custom dictionary created from a data source of any size up to the maximum size defined in the [limits](https://cloud.google.com/dlp/limits) page. The artifacts of dictionary creation are stored in the specified Google Cloud Storage location. Consider using `CustomInfoType.Dictionary` for smaller dictionaries that satisfy the size requirements. # StoredInfoType where findings are defined by a dictionary of phrases. + "largeCustomDictionary": { # Configuration for a custom dictionary created from a data source of any size up to the maximum size defined in the [limits](https://cloud.google.com/dlp/limits) page. The artifacts of dictionary creation are stored in the specified Cloud Storage location. Consider using `CustomInfoType.Dictionary` for smaller dictionaries that satisfy the size requirements. # StoredInfoType where findings are defined by a dictionary of phrases. "bigQueryField": { # Message defining a field of a BigQuery table. # Field in a BigQuery table where each cell represents a dictionary phrase. "field": { # General identifier of a data field in a storage service. # Designated field in the BigQuery table. "name": "A String", # Name describing the field. @@ -355,7 +355,7 @@

Method Details

"cloudStorageFileSet": { # Message representing a set of files in Cloud Storage. # Set of files containing newline-delimited lists of dictionary phrases. "url": "A String", # The url, in the format `gs:///`. Trailing wildcard in the path is allowed. }, - "outputPath": { # Message representing a single file or path in Cloud Storage. # Location to store dictionary artifacts in Google Cloud Storage. These files will only be accessible by project owners and the DLP API. If any of these artifacts are modified, the dictionary is considered invalid and can no longer be used. + "outputPath": { # Message representing a single file or path in Cloud Storage. # Location to store dictionary artifacts in Cloud Storage. These files will only be accessible by project owners and the DLP API. If any of these artifacts are modified, the dictionary is considered invalid and can no longer be used. "path": "A String", # A url representing a file or path (no wildcards) in Cloud Storage. Example: gs://[BUCKET_NAME]/dictionary.txt }, }, @@ -367,7 +367,7 @@

Method Details

}, }, "createTime": "A String", # Create timestamp of the version. Read-only, determined by the system when the version is created. - "errors": [ # Errors that occurred when creating this storedInfoType version, or anomalies detected in the storedInfoType data that render it unusable. Only the five most recent errors will be displayed, with the most recent error appearing first. For example, some of the data for stored custom dictionaries is put in the user's Google Cloud Storage bucket, and if this data is modified or deleted by the user or another system, the dictionary becomes invalid. If any errors occur, fix the problem indicated by the error message and use the UpdateStoredInfoType API method to create another version of the storedInfoType to continue using it, reusing the same `config` if it was not the source of the error. + "errors": [ # Errors that occurred when creating this storedInfoType version, or anomalies detected in the storedInfoType data that render it unusable. Only the five most recent errors will be displayed, with the most recent error appearing first. For example, some of the data for stored custom dictionaries is put in the user's Cloud Storage bucket, and if this data is modified or deleted by the user or another system, the dictionary becomes invalid. If any errors occur, fix the problem indicated by the error message and use the UpdateStoredInfoType API method to create another version of the storedInfoType to continue using it, reusing the same `config` if it was not the source of the error. { # Details information about an error encountered during job execution or the results of an unsuccessful activation of the JobTrigger. "details": { # The `Status` type defines a logical error model that is suitable for different programming environments, including REST APIs and RPC APIs. It is used by [gRPC](https://github.com/grpc). Each `Status` message contains three pieces of data: error code, error message, and error details. You can find out more about this error model and how to work with it in the [API Design Guide](https://cloud.google.com/apis/design/errors). # Detailed error codes and messages. "code": 42, # The status code, which should be an enum value of google.rpc.Code. @@ -406,7 +406,7 @@

Method Details

}, }, "displayName": "A String", # Display name of the StoredInfoType (max 256 characters). - "largeCustomDictionary": { # Configuration for a custom dictionary created from a data source of any size up to the maximum size defined in the [limits](https://cloud.google.com/dlp/limits) page. The artifacts of dictionary creation are stored in the specified Google Cloud Storage location. Consider using `CustomInfoType.Dictionary` for smaller dictionaries that satisfy the size requirements. # StoredInfoType where findings are defined by a dictionary of phrases. + "largeCustomDictionary": { # Configuration for a custom dictionary created from a data source of any size up to the maximum size defined in the [limits](https://cloud.google.com/dlp/limits) page. The artifacts of dictionary creation are stored in the specified Cloud Storage location. Consider using `CustomInfoType.Dictionary` for smaller dictionaries that satisfy the size requirements. # StoredInfoType where findings are defined by a dictionary of phrases. "bigQueryField": { # Message defining a field of a BigQuery table. # Field in a BigQuery table where each cell represents a dictionary phrase. "field": { # General identifier of a data field in a storage service. # Designated field in the BigQuery table. "name": "A String", # Name describing the field. @@ -420,7 +420,7 @@

Method Details

"cloudStorageFileSet": { # Message representing a set of files in Cloud Storage. # Set of files containing newline-delimited lists of dictionary phrases. "url": "A String", # The url, in the format `gs:///`. Trailing wildcard in the path is allowed. }, - "outputPath": { # Message representing a single file or path in Cloud Storage. # Location to store dictionary artifacts in Google Cloud Storage. These files will only be accessible by project owners and the DLP API. If any of these artifacts are modified, the dictionary is considered invalid and can no longer be used. + "outputPath": { # Message representing a single file or path in Cloud Storage. # Location to store dictionary artifacts in Cloud Storage. These files will only be accessible by project owners and the DLP API. If any of these artifacts are modified, the dictionary is considered invalid and can no longer be used. "path": "A String", # A url representing a file or path (no wildcards) in Cloud Storage. Example: gs://[BUCKET_NAME]/dictionary.txt }, }, @@ -432,7 +432,7 @@

Method Details

}, }, "createTime": "A String", # Create timestamp of the version. Read-only, determined by the system when the version is created. - "errors": [ # Errors that occurred when creating this storedInfoType version, or anomalies detected in the storedInfoType data that render it unusable. Only the five most recent errors will be displayed, with the most recent error appearing first. For example, some of the data for stored custom dictionaries is put in the user's Google Cloud Storage bucket, and if this data is modified or deleted by the user or another system, the dictionary becomes invalid. If any errors occur, fix the problem indicated by the error message and use the UpdateStoredInfoType API method to create another version of the storedInfoType to continue using it, reusing the same `config` if it was not the source of the error. + "errors": [ # Errors that occurred when creating this storedInfoType version, or anomalies detected in the storedInfoType data that render it unusable. Only the five most recent errors will be displayed, with the most recent error appearing first. For example, some of the data for stored custom dictionaries is put in the user's Cloud Storage bucket, and if this data is modified or deleted by the user or another system, the dictionary becomes invalid. If any errors occur, fix the problem indicated by the error message and use the UpdateStoredInfoType API method to create another version of the storedInfoType to continue using it, reusing the same `config` if it was not the source of the error. { # Details information about an error encountered during job execution or the results of an unsuccessful activation of the JobTrigger. "details": { # The `Status` type defines a logical error model that is suitable for different programming environments, including REST APIs and RPC APIs. It is used by [gRPC](https://github.com/grpc). Each `Status` message contains three pieces of data: error code, error message, and error details. You can find out more about this error model and how to work with it in the [API Design Guide](https://cloud.google.com/apis/design/errors). # Detailed error codes and messages. "code": 42, # The status code, which should be an enum value of google.rpc.Code. @@ -466,8 +466,8 @@

Method Details

Args: parent: string, Required. Parent resource name. The format of this value varies depending on the scope of the request (project or organization) and whether you have [specified a processing location](https://cloud.google.com/dlp/docs/specifying-location): + Projects scope, location specified: `projects/`PROJECT_ID`/locations/`LOCATION_ID + Projects scope, no location specified (defaults to global): `projects/`PROJECT_ID + Organizations scope, location specified: `organizations/`ORG_ID`/locations/`LOCATION_ID + Organizations scope, no location specified (defaults to global): `organizations/`ORG_ID The following example `parent` string specifies a parent project with the identifier `example-project`, and specifies the `europe-west3` location for processing data: parent=projects/example-project/locations/europe-west3 (required) locationId: string, Deprecated. This field has no effect. - orderBy: string, Comma separated list of fields to order by, followed by `asc` or `desc` postfix. This list is case-insensitive, default sorting order is ascending, redundant space characters are insignificant. Example: `name asc, display_name, create_time desc` Supported fields are: - `create_time`: corresponds to time the most recent version of the resource was created. - `state`: corresponds to the state of the resource. - `name`: corresponds to resource name. - `display_name`: corresponds to info type's display name. - pageSize: integer, Size of the page, can be limited by server. If zero server returns a page of max size 100. + orderBy: string, Comma separated list of fields to order by, followed by `asc` or `desc` postfix. This list is case-insensitive, default sorting order is ascending, redundant space characters are insignificant. Example: `name asc, display_name, create_time desc` Supported fields are: - `create_time`: corresponds to the time the most recent version of the resource was created. - `state`: corresponds to the state of the resource. - `name`: corresponds to resource name. - `display_name`: corresponds to info type's display name. + pageSize: integer, Size of the page, can be limited by the server. If zero server returns a page of max size 100. pageToken: string, Page token to continue retrieval. Comes from previous call to `ListStoredInfoTypes`. x__xgafv: string, V1 error format. Allowed values @@ -495,7 +495,7 @@

Method Details

}, }, "displayName": "A String", # Display name of the StoredInfoType (max 256 characters). - "largeCustomDictionary": { # Configuration for a custom dictionary created from a data source of any size up to the maximum size defined in the [limits](https://cloud.google.com/dlp/limits) page. The artifacts of dictionary creation are stored in the specified Google Cloud Storage location. Consider using `CustomInfoType.Dictionary` for smaller dictionaries that satisfy the size requirements. # StoredInfoType where findings are defined by a dictionary of phrases. + "largeCustomDictionary": { # Configuration for a custom dictionary created from a data source of any size up to the maximum size defined in the [limits](https://cloud.google.com/dlp/limits) page. The artifacts of dictionary creation are stored in the specified Cloud Storage location. Consider using `CustomInfoType.Dictionary` for smaller dictionaries that satisfy the size requirements. # StoredInfoType where findings are defined by a dictionary of phrases. "bigQueryField": { # Message defining a field of a BigQuery table. # Field in a BigQuery table where each cell represents a dictionary phrase. "field": { # General identifier of a data field in a storage service. # Designated field in the BigQuery table. "name": "A String", # Name describing the field. @@ -509,7 +509,7 @@

Method Details

"cloudStorageFileSet": { # Message representing a set of files in Cloud Storage. # Set of files containing newline-delimited lists of dictionary phrases. "url": "A String", # The url, in the format `gs:///`. Trailing wildcard in the path is allowed. }, - "outputPath": { # Message representing a single file or path in Cloud Storage. # Location to store dictionary artifacts in Google Cloud Storage. These files will only be accessible by project owners and the DLP API. If any of these artifacts are modified, the dictionary is considered invalid and can no longer be used. + "outputPath": { # Message representing a single file or path in Cloud Storage. # Location to store dictionary artifacts in Cloud Storage. These files will only be accessible by project owners and the DLP API. If any of these artifacts are modified, the dictionary is considered invalid and can no longer be used. "path": "A String", # A url representing a file or path (no wildcards) in Cloud Storage. Example: gs://[BUCKET_NAME]/dictionary.txt }, }, @@ -521,7 +521,7 @@

Method Details

}, }, "createTime": "A String", # Create timestamp of the version. Read-only, determined by the system when the version is created. - "errors": [ # Errors that occurred when creating this storedInfoType version, or anomalies detected in the storedInfoType data that render it unusable. Only the five most recent errors will be displayed, with the most recent error appearing first. For example, some of the data for stored custom dictionaries is put in the user's Google Cloud Storage bucket, and if this data is modified or deleted by the user or another system, the dictionary becomes invalid. If any errors occur, fix the problem indicated by the error message and use the UpdateStoredInfoType API method to create another version of the storedInfoType to continue using it, reusing the same `config` if it was not the source of the error. + "errors": [ # Errors that occurred when creating this storedInfoType version, or anomalies detected in the storedInfoType data that render it unusable. Only the five most recent errors will be displayed, with the most recent error appearing first. For example, some of the data for stored custom dictionaries is put in the user's Cloud Storage bucket, and if this data is modified or deleted by the user or another system, the dictionary becomes invalid. If any errors occur, fix the problem indicated by the error message and use the UpdateStoredInfoType API method to create another version of the storedInfoType to continue using it, reusing the same `config` if it was not the source of the error. { # Details information about an error encountered during job execution or the results of an unsuccessful activation of the JobTrigger. "details": { # The `Status` type defines a logical error model that is suitable for different programming environments, including REST APIs and RPC APIs. It is used by [gRPC](https://github.com/grpc). Each `Status` message contains three pieces of data: error code, error message, and error details. You can find out more about this error model and how to work with it in the [API Design Guide](https://cloud.google.com/apis/design/errors). # Detailed error codes and messages. "code": 42, # The status code, which should be an enum value of google.rpc.Code. @@ -560,7 +560,7 @@

Method Details

}, }, "displayName": "A String", # Display name of the StoredInfoType (max 256 characters). - "largeCustomDictionary": { # Configuration for a custom dictionary created from a data source of any size up to the maximum size defined in the [limits](https://cloud.google.com/dlp/limits) page. The artifacts of dictionary creation are stored in the specified Google Cloud Storage location. Consider using `CustomInfoType.Dictionary` for smaller dictionaries that satisfy the size requirements. # StoredInfoType where findings are defined by a dictionary of phrases. + "largeCustomDictionary": { # Configuration for a custom dictionary created from a data source of any size up to the maximum size defined in the [limits](https://cloud.google.com/dlp/limits) page. The artifacts of dictionary creation are stored in the specified Cloud Storage location. Consider using `CustomInfoType.Dictionary` for smaller dictionaries that satisfy the size requirements. # StoredInfoType where findings are defined by a dictionary of phrases. "bigQueryField": { # Message defining a field of a BigQuery table. # Field in a BigQuery table where each cell represents a dictionary phrase. "field": { # General identifier of a data field in a storage service. # Designated field in the BigQuery table. "name": "A String", # Name describing the field. @@ -574,7 +574,7 @@

Method Details

"cloudStorageFileSet": { # Message representing a set of files in Cloud Storage. # Set of files containing newline-delimited lists of dictionary phrases. "url": "A String", # The url, in the format `gs:///`. Trailing wildcard in the path is allowed. }, - "outputPath": { # Message representing a single file or path in Cloud Storage. # Location to store dictionary artifacts in Google Cloud Storage. These files will only be accessible by project owners and the DLP API. If any of these artifacts are modified, the dictionary is considered invalid and can no longer be used. + "outputPath": { # Message representing a single file or path in Cloud Storage. # Location to store dictionary artifacts in Cloud Storage. These files will only be accessible by project owners and the DLP API. If any of these artifacts are modified, the dictionary is considered invalid and can no longer be used. "path": "A String", # A url representing a file or path (no wildcards) in Cloud Storage. Example: gs://[BUCKET_NAME]/dictionary.txt }, }, @@ -586,7 +586,7 @@

Method Details

}, }, "createTime": "A String", # Create timestamp of the version. Read-only, determined by the system when the version is created. - "errors": [ # Errors that occurred when creating this storedInfoType version, or anomalies detected in the storedInfoType data that render it unusable. Only the five most recent errors will be displayed, with the most recent error appearing first. For example, some of the data for stored custom dictionaries is put in the user's Google Cloud Storage bucket, and if this data is modified or deleted by the user or another system, the dictionary becomes invalid. If any errors occur, fix the problem indicated by the error message and use the UpdateStoredInfoType API method to create another version of the storedInfoType to continue using it, reusing the same `config` if it was not the source of the error. + "errors": [ # Errors that occurred when creating this storedInfoType version, or anomalies detected in the storedInfoType data that render it unusable. Only the five most recent errors will be displayed, with the most recent error appearing first. For example, some of the data for stored custom dictionaries is put in the user's Cloud Storage bucket, and if this data is modified or deleted by the user or another system, the dictionary becomes invalid. If any errors occur, fix the problem indicated by the error message and use the UpdateStoredInfoType API method to create another version of the storedInfoType to continue using it, reusing the same `config` if it was not the source of the error. { # Details information about an error encountered during job execution or the results of an unsuccessful activation of the JobTrigger. "details": { # The `Status` type defines a logical error model that is suitable for different programming environments, including REST APIs and RPC APIs. It is used by [gRPC](https://github.com/grpc). Each `Status` message contains three pieces of data: error code, error message, and error details. You can find out more about this error model and how to work with it in the [API Design Guide](https://cloud.google.com/apis/design/errors). # Detailed error codes and messages. "code": 42, # The status code, which should be an enum value of google.rpc.Code. @@ -652,7 +652,7 @@

Method Details

}, }, "displayName": "A String", # Display name of the StoredInfoType (max 256 characters). - "largeCustomDictionary": { # Configuration for a custom dictionary created from a data source of any size up to the maximum size defined in the [limits](https://cloud.google.com/dlp/limits) page. The artifacts of dictionary creation are stored in the specified Google Cloud Storage location. Consider using `CustomInfoType.Dictionary` for smaller dictionaries that satisfy the size requirements. # StoredInfoType where findings are defined by a dictionary of phrases. + "largeCustomDictionary": { # Configuration for a custom dictionary created from a data source of any size up to the maximum size defined in the [limits](https://cloud.google.com/dlp/limits) page. The artifacts of dictionary creation are stored in the specified Cloud Storage location. Consider using `CustomInfoType.Dictionary` for smaller dictionaries that satisfy the size requirements. # StoredInfoType where findings are defined by a dictionary of phrases. "bigQueryField": { # Message defining a field of a BigQuery table. # Field in a BigQuery table where each cell represents a dictionary phrase. "field": { # General identifier of a data field in a storage service. # Designated field in the BigQuery table. "name": "A String", # Name describing the field. @@ -666,7 +666,7 @@

Method Details

"cloudStorageFileSet": { # Message representing a set of files in Cloud Storage. # Set of files containing newline-delimited lists of dictionary phrases. "url": "A String", # The url, in the format `gs:///`. Trailing wildcard in the path is allowed. }, - "outputPath": { # Message representing a single file or path in Cloud Storage. # Location to store dictionary artifacts in Google Cloud Storage. These files will only be accessible by project owners and the DLP API. If any of these artifacts are modified, the dictionary is considered invalid and can no longer be used. + "outputPath": { # Message representing a single file or path in Cloud Storage. # Location to store dictionary artifacts in Cloud Storage. These files will only be accessible by project owners and the DLP API. If any of these artifacts are modified, the dictionary is considered invalid and can no longer be used. "path": "A String", # A url representing a file or path (no wildcards) in Cloud Storage. Example: gs://[BUCKET_NAME]/dictionary.txt }, }, @@ -703,7 +703,7 @@

Method Details

}, }, "displayName": "A String", # Display name of the StoredInfoType (max 256 characters). - "largeCustomDictionary": { # Configuration for a custom dictionary created from a data source of any size up to the maximum size defined in the [limits](https://cloud.google.com/dlp/limits) page. The artifacts of dictionary creation are stored in the specified Google Cloud Storage location. Consider using `CustomInfoType.Dictionary` for smaller dictionaries that satisfy the size requirements. # StoredInfoType where findings are defined by a dictionary of phrases. + "largeCustomDictionary": { # Configuration for a custom dictionary created from a data source of any size up to the maximum size defined in the [limits](https://cloud.google.com/dlp/limits) page. The artifacts of dictionary creation are stored in the specified Cloud Storage location. Consider using `CustomInfoType.Dictionary` for smaller dictionaries that satisfy the size requirements. # StoredInfoType where findings are defined by a dictionary of phrases. "bigQueryField": { # Message defining a field of a BigQuery table. # Field in a BigQuery table where each cell represents a dictionary phrase. "field": { # General identifier of a data field in a storage service. # Designated field in the BigQuery table. "name": "A String", # Name describing the field. @@ -717,7 +717,7 @@

Method Details

"cloudStorageFileSet": { # Message representing a set of files in Cloud Storage. # Set of files containing newline-delimited lists of dictionary phrases. "url": "A String", # The url, in the format `gs:///`. Trailing wildcard in the path is allowed. }, - "outputPath": { # Message representing a single file or path in Cloud Storage. # Location to store dictionary artifacts in Google Cloud Storage. These files will only be accessible by project owners and the DLP API. If any of these artifacts are modified, the dictionary is considered invalid and can no longer be used. + "outputPath": { # Message representing a single file or path in Cloud Storage. # Location to store dictionary artifacts in Cloud Storage. These files will only be accessible by project owners and the DLP API. If any of these artifacts are modified, the dictionary is considered invalid and can no longer be used. "path": "A String", # A url representing a file or path (no wildcards) in Cloud Storage. Example: gs://[BUCKET_NAME]/dictionary.txt }, }, @@ -729,7 +729,7 @@

Method Details

}, }, "createTime": "A String", # Create timestamp of the version. Read-only, determined by the system when the version is created. - "errors": [ # Errors that occurred when creating this storedInfoType version, or anomalies detected in the storedInfoType data that render it unusable. Only the five most recent errors will be displayed, with the most recent error appearing first. For example, some of the data for stored custom dictionaries is put in the user's Google Cloud Storage bucket, and if this data is modified or deleted by the user or another system, the dictionary becomes invalid. If any errors occur, fix the problem indicated by the error message and use the UpdateStoredInfoType API method to create another version of the storedInfoType to continue using it, reusing the same `config` if it was not the source of the error. + "errors": [ # Errors that occurred when creating this storedInfoType version, or anomalies detected in the storedInfoType data that render it unusable. Only the five most recent errors will be displayed, with the most recent error appearing first. For example, some of the data for stored custom dictionaries is put in the user's Cloud Storage bucket, and if this data is modified or deleted by the user or another system, the dictionary becomes invalid. If any errors occur, fix the problem indicated by the error message and use the UpdateStoredInfoType API method to create another version of the storedInfoType to continue using it, reusing the same `config` if it was not the source of the error. { # Details information about an error encountered during job execution or the results of an unsuccessful activation of the JobTrigger. "details": { # The `Status` type defines a logical error model that is suitable for different programming environments, including REST APIs and RPC APIs. It is used by [gRPC](https://github.com/grpc). Each `Status` message contains three pieces of data: error code, error message, and error details. You can find out more about this error model and how to work with it in the [API Design Guide](https://cloud.google.com/apis/design/errors). # Detailed error codes and messages. "code": 42, # The status code, which should be an enum value of google.rpc.Code. @@ -768,7 +768,7 @@

Method Details

}, }, "displayName": "A String", # Display name of the StoredInfoType (max 256 characters). - "largeCustomDictionary": { # Configuration for a custom dictionary created from a data source of any size up to the maximum size defined in the [limits](https://cloud.google.com/dlp/limits) page. The artifacts of dictionary creation are stored in the specified Google Cloud Storage location. Consider using `CustomInfoType.Dictionary` for smaller dictionaries that satisfy the size requirements. # StoredInfoType where findings are defined by a dictionary of phrases. + "largeCustomDictionary": { # Configuration for a custom dictionary created from a data source of any size up to the maximum size defined in the [limits](https://cloud.google.com/dlp/limits) page. The artifacts of dictionary creation are stored in the specified Cloud Storage location. Consider using `CustomInfoType.Dictionary` for smaller dictionaries that satisfy the size requirements. # StoredInfoType where findings are defined by a dictionary of phrases. "bigQueryField": { # Message defining a field of a BigQuery table. # Field in a BigQuery table where each cell represents a dictionary phrase. "field": { # General identifier of a data field in a storage service. # Designated field in the BigQuery table. "name": "A String", # Name describing the field. @@ -782,7 +782,7 @@

Method Details

"cloudStorageFileSet": { # Message representing a set of files in Cloud Storage. # Set of files containing newline-delimited lists of dictionary phrases. "url": "A String", # The url, in the format `gs:///`. Trailing wildcard in the path is allowed. }, - "outputPath": { # Message representing a single file or path in Cloud Storage. # Location to store dictionary artifacts in Google Cloud Storage. These files will only be accessible by project owners and the DLP API. If any of these artifacts are modified, the dictionary is considered invalid and can no longer be used. + "outputPath": { # Message representing a single file or path in Cloud Storage. # Location to store dictionary artifacts in Cloud Storage. These files will only be accessible by project owners and the DLP API. If any of these artifacts are modified, the dictionary is considered invalid and can no longer be used. "path": "A String", # A url representing a file or path (no wildcards) in Cloud Storage. Example: gs://[BUCKET_NAME]/dictionary.txt }, }, @@ -794,7 +794,7 @@

Method Details

}, }, "createTime": "A String", # Create timestamp of the version. Read-only, determined by the system when the version is created. - "errors": [ # Errors that occurred when creating this storedInfoType version, or anomalies detected in the storedInfoType data that render it unusable. Only the five most recent errors will be displayed, with the most recent error appearing first. For example, some of the data for stored custom dictionaries is put in the user's Google Cloud Storage bucket, and if this data is modified or deleted by the user or another system, the dictionary becomes invalid. If any errors occur, fix the problem indicated by the error message and use the UpdateStoredInfoType API method to create another version of the storedInfoType to continue using it, reusing the same `config` if it was not the source of the error. + "errors": [ # Errors that occurred when creating this storedInfoType version, or anomalies detected in the storedInfoType data that render it unusable. Only the five most recent errors will be displayed, with the most recent error appearing first. For example, some of the data for stored custom dictionaries is put in the user's Cloud Storage bucket, and if this data is modified or deleted by the user or another system, the dictionary becomes invalid. If any errors occur, fix the problem indicated by the error message and use the UpdateStoredInfoType API method to create another version of the storedInfoType to continue using it, reusing the same `config` if it was not the source of the error. { # Details information about an error encountered during job execution or the results of an unsuccessful activation of the JobTrigger. "details": { # The `Status` type defines a logical error model that is suitable for different programming environments, including REST APIs and RPC APIs. It is used by [gRPC](https://github.com/grpc). Each `Status` message contains three pieces of data: error code, error message, and error details. You can find out more about this error model and how to work with it in the [API Design Guide](https://cloud.google.com/apis/design/errors). # Detailed error codes and messages. "code": 42, # The status code, which should be an enum value of google.rpc.Code. diff --git a/docs/dyn/dlp_v2.projects.storedInfoTypes.html b/docs/dyn/dlp_v2.projects.storedInfoTypes.html index 7f5601a3914..75507d18453 100644 --- a/docs/dyn/dlp_v2.projects.storedInfoTypes.html +++ b/docs/dyn/dlp_v2.projects.storedInfoTypes.html @@ -124,7 +124,7 @@

Method Details

}, }, "displayName": "A String", # Display name of the StoredInfoType (max 256 characters). - "largeCustomDictionary": { # Configuration for a custom dictionary created from a data source of any size up to the maximum size defined in the [limits](https://cloud.google.com/dlp/limits) page. The artifacts of dictionary creation are stored in the specified Google Cloud Storage location. Consider using `CustomInfoType.Dictionary` for smaller dictionaries that satisfy the size requirements. # StoredInfoType where findings are defined by a dictionary of phrases. + "largeCustomDictionary": { # Configuration for a custom dictionary created from a data source of any size up to the maximum size defined in the [limits](https://cloud.google.com/dlp/limits) page. The artifacts of dictionary creation are stored in the specified Cloud Storage location. Consider using `CustomInfoType.Dictionary` for smaller dictionaries that satisfy the size requirements. # StoredInfoType where findings are defined by a dictionary of phrases. "bigQueryField": { # Message defining a field of a BigQuery table. # Field in a BigQuery table where each cell represents a dictionary phrase. "field": { # General identifier of a data field in a storage service. # Designated field in the BigQuery table. "name": "A String", # Name describing the field. @@ -138,7 +138,7 @@

Method Details

"cloudStorageFileSet": { # Message representing a set of files in Cloud Storage. # Set of files containing newline-delimited lists of dictionary phrases. "url": "A String", # The url, in the format `gs:///`. Trailing wildcard in the path is allowed. }, - "outputPath": { # Message representing a single file or path in Cloud Storage. # Location to store dictionary artifacts in Google Cloud Storage. These files will only be accessible by project owners and the DLP API. If any of these artifacts are modified, the dictionary is considered invalid and can no longer be used. + "outputPath": { # Message representing a single file or path in Cloud Storage. # Location to store dictionary artifacts in Cloud Storage. These files will only be accessible by project owners and the DLP API. If any of these artifacts are modified, the dictionary is considered invalid and can no longer be used. "path": "A String", # A url representing a file or path (no wildcards) in Cloud Storage. Example: gs://[BUCKET_NAME]/dictionary.txt }, }, @@ -176,7 +176,7 @@

Method Details

}, }, "displayName": "A String", # Display name of the StoredInfoType (max 256 characters). - "largeCustomDictionary": { # Configuration for a custom dictionary created from a data source of any size up to the maximum size defined in the [limits](https://cloud.google.com/dlp/limits) page. The artifacts of dictionary creation are stored in the specified Google Cloud Storage location. Consider using `CustomInfoType.Dictionary` for smaller dictionaries that satisfy the size requirements. # StoredInfoType where findings are defined by a dictionary of phrases. + "largeCustomDictionary": { # Configuration for a custom dictionary created from a data source of any size up to the maximum size defined in the [limits](https://cloud.google.com/dlp/limits) page. The artifacts of dictionary creation are stored in the specified Cloud Storage location. Consider using `CustomInfoType.Dictionary` for smaller dictionaries that satisfy the size requirements. # StoredInfoType where findings are defined by a dictionary of phrases. "bigQueryField": { # Message defining a field of a BigQuery table. # Field in a BigQuery table where each cell represents a dictionary phrase. "field": { # General identifier of a data field in a storage service. # Designated field in the BigQuery table. "name": "A String", # Name describing the field. @@ -190,7 +190,7 @@

Method Details

"cloudStorageFileSet": { # Message representing a set of files in Cloud Storage. # Set of files containing newline-delimited lists of dictionary phrases. "url": "A String", # The url, in the format `gs:///`. Trailing wildcard in the path is allowed. }, - "outputPath": { # Message representing a single file or path in Cloud Storage. # Location to store dictionary artifacts in Google Cloud Storage. These files will only be accessible by project owners and the DLP API. If any of these artifacts are modified, the dictionary is considered invalid and can no longer be used. + "outputPath": { # Message representing a single file or path in Cloud Storage. # Location to store dictionary artifacts in Cloud Storage. These files will only be accessible by project owners and the DLP API. If any of these artifacts are modified, the dictionary is considered invalid and can no longer be used. "path": "A String", # A url representing a file or path (no wildcards) in Cloud Storage. Example: gs://[BUCKET_NAME]/dictionary.txt }, }, @@ -202,7 +202,7 @@

Method Details

}, }, "createTime": "A String", # Create timestamp of the version. Read-only, determined by the system when the version is created. - "errors": [ # Errors that occurred when creating this storedInfoType version, or anomalies detected in the storedInfoType data that render it unusable. Only the five most recent errors will be displayed, with the most recent error appearing first. For example, some of the data for stored custom dictionaries is put in the user's Google Cloud Storage bucket, and if this data is modified or deleted by the user or another system, the dictionary becomes invalid. If any errors occur, fix the problem indicated by the error message and use the UpdateStoredInfoType API method to create another version of the storedInfoType to continue using it, reusing the same `config` if it was not the source of the error. + "errors": [ # Errors that occurred when creating this storedInfoType version, or anomalies detected in the storedInfoType data that render it unusable. Only the five most recent errors will be displayed, with the most recent error appearing first. For example, some of the data for stored custom dictionaries is put in the user's Cloud Storage bucket, and if this data is modified or deleted by the user or another system, the dictionary becomes invalid. If any errors occur, fix the problem indicated by the error message and use the UpdateStoredInfoType API method to create another version of the storedInfoType to continue using it, reusing the same `config` if it was not the source of the error. { # Details information about an error encountered during job execution or the results of an unsuccessful activation of the JobTrigger. "details": { # The `Status` type defines a logical error model that is suitable for different programming environments, including REST APIs and RPC APIs. It is used by [gRPC](https://github.com/grpc). Each `Status` message contains three pieces of data: error code, error message, and error details. You can find out more about this error model and how to work with it in the [API Design Guide](https://cloud.google.com/apis/design/errors). # Detailed error codes and messages. "code": 42, # The status code, which should be an enum value of google.rpc.Code. @@ -241,7 +241,7 @@

Method Details

}, }, "displayName": "A String", # Display name of the StoredInfoType (max 256 characters). - "largeCustomDictionary": { # Configuration for a custom dictionary created from a data source of any size up to the maximum size defined in the [limits](https://cloud.google.com/dlp/limits) page. The artifacts of dictionary creation are stored in the specified Google Cloud Storage location. Consider using `CustomInfoType.Dictionary` for smaller dictionaries that satisfy the size requirements. # StoredInfoType where findings are defined by a dictionary of phrases. + "largeCustomDictionary": { # Configuration for a custom dictionary created from a data source of any size up to the maximum size defined in the [limits](https://cloud.google.com/dlp/limits) page. The artifacts of dictionary creation are stored in the specified Cloud Storage location. Consider using `CustomInfoType.Dictionary` for smaller dictionaries that satisfy the size requirements. # StoredInfoType where findings are defined by a dictionary of phrases. "bigQueryField": { # Message defining a field of a BigQuery table. # Field in a BigQuery table where each cell represents a dictionary phrase. "field": { # General identifier of a data field in a storage service. # Designated field in the BigQuery table. "name": "A String", # Name describing the field. @@ -255,7 +255,7 @@

Method Details

"cloudStorageFileSet": { # Message representing a set of files in Cloud Storage. # Set of files containing newline-delimited lists of dictionary phrases. "url": "A String", # The url, in the format `gs:///`. Trailing wildcard in the path is allowed. }, - "outputPath": { # Message representing a single file or path in Cloud Storage. # Location to store dictionary artifacts in Google Cloud Storage. These files will only be accessible by project owners and the DLP API. If any of these artifacts are modified, the dictionary is considered invalid and can no longer be used. + "outputPath": { # Message representing a single file or path in Cloud Storage. # Location to store dictionary artifacts in Cloud Storage. These files will only be accessible by project owners and the DLP API. If any of these artifacts are modified, the dictionary is considered invalid and can no longer be used. "path": "A String", # A url representing a file or path (no wildcards) in Cloud Storage. Example: gs://[BUCKET_NAME]/dictionary.txt }, }, @@ -267,7 +267,7 @@

Method Details

}, }, "createTime": "A String", # Create timestamp of the version. Read-only, determined by the system when the version is created. - "errors": [ # Errors that occurred when creating this storedInfoType version, or anomalies detected in the storedInfoType data that render it unusable. Only the five most recent errors will be displayed, with the most recent error appearing first. For example, some of the data for stored custom dictionaries is put in the user's Google Cloud Storage bucket, and if this data is modified or deleted by the user or another system, the dictionary becomes invalid. If any errors occur, fix the problem indicated by the error message and use the UpdateStoredInfoType API method to create another version of the storedInfoType to continue using it, reusing the same `config` if it was not the source of the error. + "errors": [ # Errors that occurred when creating this storedInfoType version, or anomalies detected in the storedInfoType data that render it unusable. Only the five most recent errors will be displayed, with the most recent error appearing first. For example, some of the data for stored custom dictionaries is put in the user's Cloud Storage bucket, and if this data is modified or deleted by the user or another system, the dictionary becomes invalid. If any errors occur, fix the problem indicated by the error message and use the UpdateStoredInfoType API method to create another version of the storedInfoType to continue using it, reusing the same `config` if it was not the source of the error. { # Details information about an error encountered during job execution or the results of an unsuccessful activation of the JobTrigger. "details": { # The `Status` type defines a logical error model that is suitable for different programming environments, including REST APIs and RPC APIs. It is used by [gRPC](https://github.com/grpc). Each `Status` message contains three pieces of data: error code, error message, and error details. You can find out more about this error model and how to work with it in the [API Design Guide](https://cloud.google.com/apis/design/errors). # Detailed error codes and messages. "code": 42, # The status code, which should be an enum value of google.rpc.Code. @@ -341,7 +341,7 @@

Method Details

}, }, "displayName": "A String", # Display name of the StoredInfoType (max 256 characters). - "largeCustomDictionary": { # Configuration for a custom dictionary created from a data source of any size up to the maximum size defined in the [limits](https://cloud.google.com/dlp/limits) page. The artifacts of dictionary creation are stored in the specified Google Cloud Storage location. Consider using `CustomInfoType.Dictionary` for smaller dictionaries that satisfy the size requirements. # StoredInfoType where findings are defined by a dictionary of phrases. + "largeCustomDictionary": { # Configuration for a custom dictionary created from a data source of any size up to the maximum size defined in the [limits](https://cloud.google.com/dlp/limits) page. The artifacts of dictionary creation are stored in the specified Cloud Storage location. Consider using `CustomInfoType.Dictionary` for smaller dictionaries that satisfy the size requirements. # StoredInfoType where findings are defined by a dictionary of phrases. "bigQueryField": { # Message defining a field of a BigQuery table. # Field in a BigQuery table where each cell represents a dictionary phrase. "field": { # General identifier of a data field in a storage service. # Designated field in the BigQuery table. "name": "A String", # Name describing the field. @@ -355,7 +355,7 @@

Method Details

"cloudStorageFileSet": { # Message representing a set of files in Cloud Storage. # Set of files containing newline-delimited lists of dictionary phrases. "url": "A String", # The url, in the format `gs:///`. Trailing wildcard in the path is allowed. }, - "outputPath": { # Message representing a single file or path in Cloud Storage. # Location to store dictionary artifacts in Google Cloud Storage. These files will only be accessible by project owners and the DLP API. If any of these artifacts are modified, the dictionary is considered invalid and can no longer be used. + "outputPath": { # Message representing a single file or path in Cloud Storage. # Location to store dictionary artifacts in Cloud Storage. These files will only be accessible by project owners and the DLP API. If any of these artifacts are modified, the dictionary is considered invalid and can no longer be used. "path": "A String", # A url representing a file or path (no wildcards) in Cloud Storage. Example: gs://[BUCKET_NAME]/dictionary.txt }, }, @@ -367,7 +367,7 @@

Method Details

}, }, "createTime": "A String", # Create timestamp of the version. Read-only, determined by the system when the version is created. - "errors": [ # Errors that occurred when creating this storedInfoType version, or anomalies detected in the storedInfoType data that render it unusable. Only the five most recent errors will be displayed, with the most recent error appearing first. For example, some of the data for stored custom dictionaries is put in the user's Google Cloud Storage bucket, and if this data is modified or deleted by the user or another system, the dictionary becomes invalid. If any errors occur, fix the problem indicated by the error message and use the UpdateStoredInfoType API method to create another version of the storedInfoType to continue using it, reusing the same `config` if it was not the source of the error. + "errors": [ # Errors that occurred when creating this storedInfoType version, or anomalies detected in the storedInfoType data that render it unusable. Only the five most recent errors will be displayed, with the most recent error appearing first. For example, some of the data for stored custom dictionaries is put in the user's Cloud Storage bucket, and if this data is modified or deleted by the user or another system, the dictionary becomes invalid. If any errors occur, fix the problem indicated by the error message and use the UpdateStoredInfoType API method to create another version of the storedInfoType to continue using it, reusing the same `config` if it was not the source of the error. { # Details information about an error encountered during job execution or the results of an unsuccessful activation of the JobTrigger. "details": { # The `Status` type defines a logical error model that is suitable for different programming environments, including REST APIs and RPC APIs. It is used by [gRPC](https://github.com/grpc). Each `Status` message contains three pieces of data: error code, error message, and error details. You can find out more about this error model and how to work with it in the [API Design Guide](https://cloud.google.com/apis/design/errors). # Detailed error codes and messages. "code": 42, # The status code, which should be an enum value of google.rpc.Code. @@ -406,7 +406,7 @@

Method Details

}, }, "displayName": "A String", # Display name of the StoredInfoType (max 256 characters). - "largeCustomDictionary": { # Configuration for a custom dictionary created from a data source of any size up to the maximum size defined in the [limits](https://cloud.google.com/dlp/limits) page. The artifacts of dictionary creation are stored in the specified Google Cloud Storage location. Consider using `CustomInfoType.Dictionary` for smaller dictionaries that satisfy the size requirements. # StoredInfoType where findings are defined by a dictionary of phrases. + "largeCustomDictionary": { # Configuration for a custom dictionary created from a data source of any size up to the maximum size defined in the [limits](https://cloud.google.com/dlp/limits) page. The artifacts of dictionary creation are stored in the specified Cloud Storage location. Consider using `CustomInfoType.Dictionary` for smaller dictionaries that satisfy the size requirements. # StoredInfoType where findings are defined by a dictionary of phrases. "bigQueryField": { # Message defining a field of a BigQuery table. # Field in a BigQuery table where each cell represents a dictionary phrase. "field": { # General identifier of a data field in a storage service. # Designated field in the BigQuery table. "name": "A String", # Name describing the field. @@ -420,7 +420,7 @@

Method Details

"cloudStorageFileSet": { # Message representing a set of files in Cloud Storage. # Set of files containing newline-delimited lists of dictionary phrases. "url": "A String", # The url, in the format `gs:///`. Trailing wildcard in the path is allowed. }, - "outputPath": { # Message representing a single file or path in Cloud Storage. # Location to store dictionary artifacts in Google Cloud Storage. These files will only be accessible by project owners and the DLP API. If any of these artifacts are modified, the dictionary is considered invalid and can no longer be used. + "outputPath": { # Message representing a single file or path in Cloud Storage. # Location to store dictionary artifacts in Cloud Storage. These files will only be accessible by project owners and the DLP API. If any of these artifacts are modified, the dictionary is considered invalid and can no longer be used. "path": "A String", # A url representing a file or path (no wildcards) in Cloud Storage. Example: gs://[BUCKET_NAME]/dictionary.txt }, }, @@ -432,7 +432,7 @@

Method Details

}, }, "createTime": "A String", # Create timestamp of the version. Read-only, determined by the system when the version is created. - "errors": [ # Errors that occurred when creating this storedInfoType version, or anomalies detected in the storedInfoType data that render it unusable. Only the five most recent errors will be displayed, with the most recent error appearing first. For example, some of the data for stored custom dictionaries is put in the user's Google Cloud Storage bucket, and if this data is modified or deleted by the user or another system, the dictionary becomes invalid. If any errors occur, fix the problem indicated by the error message and use the UpdateStoredInfoType API method to create another version of the storedInfoType to continue using it, reusing the same `config` if it was not the source of the error. + "errors": [ # Errors that occurred when creating this storedInfoType version, or anomalies detected in the storedInfoType data that render it unusable. Only the five most recent errors will be displayed, with the most recent error appearing first. For example, some of the data for stored custom dictionaries is put in the user's Cloud Storage bucket, and if this data is modified or deleted by the user or another system, the dictionary becomes invalid. If any errors occur, fix the problem indicated by the error message and use the UpdateStoredInfoType API method to create another version of the storedInfoType to continue using it, reusing the same `config` if it was not the source of the error. { # Details information about an error encountered during job execution or the results of an unsuccessful activation of the JobTrigger. "details": { # The `Status` type defines a logical error model that is suitable for different programming environments, including REST APIs and RPC APIs. It is used by [gRPC](https://github.com/grpc). Each `Status` message contains three pieces of data: error code, error message, and error details. You can find out more about this error model and how to work with it in the [API Design Guide](https://cloud.google.com/apis/design/errors). # Detailed error codes and messages. "code": 42, # The status code, which should be an enum value of google.rpc.Code. @@ -466,8 +466,8 @@

Method Details

Args: parent: string, Required. Parent resource name. The format of this value varies depending on the scope of the request (project or organization) and whether you have [specified a processing location](https://cloud.google.com/dlp/docs/specifying-location): + Projects scope, location specified: `projects/`PROJECT_ID`/locations/`LOCATION_ID + Projects scope, no location specified (defaults to global): `projects/`PROJECT_ID + Organizations scope, location specified: `organizations/`ORG_ID`/locations/`LOCATION_ID + Organizations scope, no location specified (defaults to global): `organizations/`ORG_ID The following example `parent` string specifies a parent project with the identifier `example-project`, and specifies the `europe-west3` location for processing data: parent=projects/example-project/locations/europe-west3 (required) locationId: string, Deprecated. This field has no effect. - orderBy: string, Comma separated list of fields to order by, followed by `asc` or `desc` postfix. This list is case-insensitive, default sorting order is ascending, redundant space characters are insignificant. Example: `name asc, display_name, create_time desc` Supported fields are: - `create_time`: corresponds to time the most recent version of the resource was created. - `state`: corresponds to the state of the resource. - `name`: corresponds to resource name. - `display_name`: corresponds to info type's display name. - pageSize: integer, Size of the page, can be limited by server. If zero server returns a page of max size 100. + orderBy: string, Comma separated list of fields to order by, followed by `asc` or `desc` postfix. This list is case-insensitive, default sorting order is ascending, redundant space characters are insignificant. Example: `name asc, display_name, create_time desc` Supported fields are: - `create_time`: corresponds to the time the most recent version of the resource was created. - `state`: corresponds to the state of the resource. - `name`: corresponds to resource name. - `display_name`: corresponds to info type's display name. + pageSize: integer, Size of the page, can be limited by the server. If zero server returns a page of max size 100. pageToken: string, Page token to continue retrieval. Comes from previous call to `ListStoredInfoTypes`. x__xgafv: string, V1 error format. Allowed values @@ -495,7 +495,7 @@

Method Details

}, }, "displayName": "A String", # Display name of the StoredInfoType (max 256 characters). - "largeCustomDictionary": { # Configuration for a custom dictionary created from a data source of any size up to the maximum size defined in the [limits](https://cloud.google.com/dlp/limits) page. The artifacts of dictionary creation are stored in the specified Google Cloud Storage location. Consider using `CustomInfoType.Dictionary` for smaller dictionaries that satisfy the size requirements. # StoredInfoType where findings are defined by a dictionary of phrases. + "largeCustomDictionary": { # Configuration for a custom dictionary created from a data source of any size up to the maximum size defined in the [limits](https://cloud.google.com/dlp/limits) page. The artifacts of dictionary creation are stored in the specified Cloud Storage location. Consider using `CustomInfoType.Dictionary` for smaller dictionaries that satisfy the size requirements. # StoredInfoType where findings are defined by a dictionary of phrases. "bigQueryField": { # Message defining a field of a BigQuery table. # Field in a BigQuery table where each cell represents a dictionary phrase. "field": { # General identifier of a data field in a storage service. # Designated field in the BigQuery table. "name": "A String", # Name describing the field. @@ -509,7 +509,7 @@

Method Details

"cloudStorageFileSet": { # Message representing a set of files in Cloud Storage. # Set of files containing newline-delimited lists of dictionary phrases. "url": "A String", # The url, in the format `gs:///`. Trailing wildcard in the path is allowed. }, - "outputPath": { # Message representing a single file or path in Cloud Storage. # Location to store dictionary artifacts in Google Cloud Storage. These files will only be accessible by project owners and the DLP API. If any of these artifacts are modified, the dictionary is considered invalid and can no longer be used. + "outputPath": { # Message representing a single file or path in Cloud Storage. # Location to store dictionary artifacts in Cloud Storage. These files will only be accessible by project owners and the DLP API. If any of these artifacts are modified, the dictionary is considered invalid and can no longer be used. "path": "A String", # A url representing a file or path (no wildcards) in Cloud Storage. Example: gs://[BUCKET_NAME]/dictionary.txt }, }, @@ -521,7 +521,7 @@

Method Details

}, }, "createTime": "A String", # Create timestamp of the version. Read-only, determined by the system when the version is created. - "errors": [ # Errors that occurred when creating this storedInfoType version, or anomalies detected in the storedInfoType data that render it unusable. Only the five most recent errors will be displayed, with the most recent error appearing first. For example, some of the data for stored custom dictionaries is put in the user's Google Cloud Storage bucket, and if this data is modified or deleted by the user or another system, the dictionary becomes invalid. If any errors occur, fix the problem indicated by the error message and use the UpdateStoredInfoType API method to create another version of the storedInfoType to continue using it, reusing the same `config` if it was not the source of the error. + "errors": [ # Errors that occurred when creating this storedInfoType version, or anomalies detected in the storedInfoType data that render it unusable. Only the five most recent errors will be displayed, with the most recent error appearing first. For example, some of the data for stored custom dictionaries is put in the user's Cloud Storage bucket, and if this data is modified or deleted by the user or another system, the dictionary becomes invalid. If any errors occur, fix the problem indicated by the error message and use the UpdateStoredInfoType API method to create another version of the storedInfoType to continue using it, reusing the same `config` if it was not the source of the error. { # Details information about an error encountered during job execution or the results of an unsuccessful activation of the JobTrigger. "details": { # The `Status` type defines a logical error model that is suitable for different programming environments, including REST APIs and RPC APIs. It is used by [gRPC](https://github.com/grpc). Each `Status` message contains three pieces of data: error code, error message, and error details. You can find out more about this error model and how to work with it in the [API Design Guide](https://cloud.google.com/apis/design/errors). # Detailed error codes and messages. "code": 42, # The status code, which should be an enum value of google.rpc.Code. @@ -560,7 +560,7 @@

Method Details

}, }, "displayName": "A String", # Display name of the StoredInfoType (max 256 characters). - "largeCustomDictionary": { # Configuration for a custom dictionary created from a data source of any size up to the maximum size defined in the [limits](https://cloud.google.com/dlp/limits) page. The artifacts of dictionary creation are stored in the specified Google Cloud Storage location. Consider using `CustomInfoType.Dictionary` for smaller dictionaries that satisfy the size requirements. # StoredInfoType where findings are defined by a dictionary of phrases. + "largeCustomDictionary": { # Configuration for a custom dictionary created from a data source of any size up to the maximum size defined in the [limits](https://cloud.google.com/dlp/limits) page. The artifacts of dictionary creation are stored in the specified Cloud Storage location. Consider using `CustomInfoType.Dictionary` for smaller dictionaries that satisfy the size requirements. # StoredInfoType where findings are defined by a dictionary of phrases. "bigQueryField": { # Message defining a field of a BigQuery table. # Field in a BigQuery table where each cell represents a dictionary phrase. "field": { # General identifier of a data field in a storage service. # Designated field in the BigQuery table. "name": "A String", # Name describing the field. @@ -574,7 +574,7 @@

Method Details

"cloudStorageFileSet": { # Message representing a set of files in Cloud Storage. # Set of files containing newline-delimited lists of dictionary phrases. "url": "A String", # The url, in the format `gs:///`. Trailing wildcard in the path is allowed. }, - "outputPath": { # Message representing a single file or path in Cloud Storage. # Location to store dictionary artifacts in Google Cloud Storage. These files will only be accessible by project owners and the DLP API. If any of these artifacts are modified, the dictionary is considered invalid and can no longer be used. + "outputPath": { # Message representing a single file or path in Cloud Storage. # Location to store dictionary artifacts in Cloud Storage. These files will only be accessible by project owners and the DLP API. If any of these artifacts are modified, the dictionary is considered invalid and can no longer be used. "path": "A String", # A url representing a file or path (no wildcards) in Cloud Storage. Example: gs://[BUCKET_NAME]/dictionary.txt }, }, @@ -586,7 +586,7 @@

Method Details

}, }, "createTime": "A String", # Create timestamp of the version. Read-only, determined by the system when the version is created. - "errors": [ # Errors that occurred when creating this storedInfoType version, or anomalies detected in the storedInfoType data that render it unusable. Only the five most recent errors will be displayed, with the most recent error appearing first. For example, some of the data for stored custom dictionaries is put in the user's Google Cloud Storage bucket, and if this data is modified or deleted by the user or another system, the dictionary becomes invalid. If any errors occur, fix the problem indicated by the error message and use the UpdateStoredInfoType API method to create another version of the storedInfoType to continue using it, reusing the same `config` if it was not the source of the error. + "errors": [ # Errors that occurred when creating this storedInfoType version, or anomalies detected in the storedInfoType data that render it unusable. Only the five most recent errors will be displayed, with the most recent error appearing first. For example, some of the data for stored custom dictionaries is put in the user's Cloud Storage bucket, and if this data is modified or deleted by the user or another system, the dictionary becomes invalid. If any errors occur, fix the problem indicated by the error message and use the UpdateStoredInfoType API method to create another version of the storedInfoType to continue using it, reusing the same `config` if it was not the source of the error. { # Details information about an error encountered during job execution or the results of an unsuccessful activation of the JobTrigger. "details": { # The `Status` type defines a logical error model that is suitable for different programming environments, including REST APIs and RPC APIs. It is used by [gRPC](https://github.com/grpc). Each `Status` message contains three pieces of data: error code, error message, and error details. You can find out more about this error model and how to work with it in the [API Design Guide](https://cloud.google.com/apis/design/errors). # Detailed error codes and messages. "code": 42, # The status code, which should be an enum value of google.rpc.Code. @@ -652,7 +652,7 @@

Method Details

}, }, "displayName": "A String", # Display name of the StoredInfoType (max 256 characters). - "largeCustomDictionary": { # Configuration for a custom dictionary created from a data source of any size up to the maximum size defined in the [limits](https://cloud.google.com/dlp/limits) page. The artifacts of dictionary creation are stored in the specified Google Cloud Storage location. Consider using `CustomInfoType.Dictionary` for smaller dictionaries that satisfy the size requirements. # StoredInfoType where findings are defined by a dictionary of phrases. + "largeCustomDictionary": { # Configuration for a custom dictionary created from a data source of any size up to the maximum size defined in the [limits](https://cloud.google.com/dlp/limits) page. The artifacts of dictionary creation are stored in the specified Cloud Storage location. Consider using `CustomInfoType.Dictionary` for smaller dictionaries that satisfy the size requirements. # StoredInfoType where findings are defined by a dictionary of phrases. "bigQueryField": { # Message defining a field of a BigQuery table. # Field in a BigQuery table where each cell represents a dictionary phrase. "field": { # General identifier of a data field in a storage service. # Designated field in the BigQuery table. "name": "A String", # Name describing the field. @@ -666,7 +666,7 @@

Method Details

"cloudStorageFileSet": { # Message representing a set of files in Cloud Storage. # Set of files containing newline-delimited lists of dictionary phrases. "url": "A String", # The url, in the format `gs:///`. Trailing wildcard in the path is allowed. }, - "outputPath": { # Message representing a single file or path in Cloud Storage. # Location to store dictionary artifacts in Google Cloud Storage. These files will only be accessible by project owners and the DLP API. If any of these artifacts are modified, the dictionary is considered invalid and can no longer be used. + "outputPath": { # Message representing a single file or path in Cloud Storage. # Location to store dictionary artifacts in Cloud Storage. These files will only be accessible by project owners and the DLP API. If any of these artifacts are modified, the dictionary is considered invalid and can no longer be used. "path": "A String", # A url representing a file or path (no wildcards) in Cloud Storage. Example: gs://[BUCKET_NAME]/dictionary.txt }, }, @@ -703,7 +703,7 @@

Method Details

}, }, "displayName": "A String", # Display name of the StoredInfoType (max 256 characters). - "largeCustomDictionary": { # Configuration for a custom dictionary created from a data source of any size up to the maximum size defined in the [limits](https://cloud.google.com/dlp/limits) page. The artifacts of dictionary creation are stored in the specified Google Cloud Storage location. Consider using `CustomInfoType.Dictionary` for smaller dictionaries that satisfy the size requirements. # StoredInfoType where findings are defined by a dictionary of phrases. + "largeCustomDictionary": { # Configuration for a custom dictionary created from a data source of any size up to the maximum size defined in the [limits](https://cloud.google.com/dlp/limits) page. The artifacts of dictionary creation are stored in the specified Cloud Storage location. Consider using `CustomInfoType.Dictionary` for smaller dictionaries that satisfy the size requirements. # StoredInfoType where findings are defined by a dictionary of phrases. "bigQueryField": { # Message defining a field of a BigQuery table. # Field in a BigQuery table where each cell represents a dictionary phrase. "field": { # General identifier of a data field in a storage service. # Designated field in the BigQuery table. "name": "A String", # Name describing the field. @@ -717,7 +717,7 @@

Method Details

"cloudStorageFileSet": { # Message representing a set of files in Cloud Storage. # Set of files containing newline-delimited lists of dictionary phrases. "url": "A String", # The url, in the format `gs:///`. Trailing wildcard in the path is allowed. }, - "outputPath": { # Message representing a single file or path in Cloud Storage. # Location to store dictionary artifacts in Google Cloud Storage. These files will only be accessible by project owners and the DLP API. If any of these artifacts are modified, the dictionary is considered invalid and can no longer be used. + "outputPath": { # Message representing a single file or path in Cloud Storage. # Location to store dictionary artifacts in Cloud Storage. These files will only be accessible by project owners and the DLP API. If any of these artifacts are modified, the dictionary is considered invalid and can no longer be used. "path": "A String", # A url representing a file or path (no wildcards) in Cloud Storage. Example: gs://[BUCKET_NAME]/dictionary.txt }, }, @@ -729,7 +729,7 @@

Method Details

}, }, "createTime": "A String", # Create timestamp of the version. Read-only, determined by the system when the version is created. - "errors": [ # Errors that occurred when creating this storedInfoType version, or anomalies detected in the storedInfoType data that render it unusable. Only the five most recent errors will be displayed, with the most recent error appearing first. For example, some of the data for stored custom dictionaries is put in the user's Google Cloud Storage bucket, and if this data is modified or deleted by the user or another system, the dictionary becomes invalid. If any errors occur, fix the problem indicated by the error message and use the UpdateStoredInfoType API method to create another version of the storedInfoType to continue using it, reusing the same `config` if it was not the source of the error. + "errors": [ # Errors that occurred when creating this storedInfoType version, or anomalies detected in the storedInfoType data that render it unusable. Only the five most recent errors will be displayed, with the most recent error appearing first. For example, some of the data for stored custom dictionaries is put in the user's Cloud Storage bucket, and if this data is modified or deleted by the user or another system, the dictionary becomes invalid. If any errors occur, fix the problem indicated by the error message and use the UpdateStoredInfoType API method to create another version of the storedInfoType to continue using it, reusing the same `config` if it was not the source of the error. { # Details information about an error encountered during job execution or the results of an unsuccessful activation of the JobTrigger. "details": { # The `Status` type defines a logical error model that is suitable for different programming environments, including REST APIs and RPC APIs. It is used by [gRPC](https://github.com/grpc). Each `Status` message contains three pieces of data: error code, error message, and error details. You can find out more about this error model and how to work with it in the [API Design Guide](https://cloud.google.com/apis/design/errors). # Detailed error codes and messages. "code": 42, # The status code, which should be an enum value of google.rpc.Code. @@ -768,7 +768,7 @@

Method Details

}, }, "displayName": "A String", # Display name of the StoredInfoType (max 256 characters). - "largeCustomDictionary": { # Configuration for a custom dictionary created from a data source of any size up to the maximum size defined in the [limits](https://cloud.google.com/dlp/limits) page. The artifacts of dictionary creation are stored in the specified Google Cloud Storage location. Consider using `CustomInfoType.Dictionary` for smaller dictionaries that satisfy the size requirements. # StoredInfoType where findings are defined by a dictionary of phrases. + "largeCustomDictionary": { # Configuration for a custom dictionary created from a data source of any size up to the maximum size defined in the [limits](https://cloud.google.com/dlp/limits) page. The artifacts of dictionary creation are stored in the specified Cloud Storage location. Consider using `CustomInfoType.Dictionary` for smaller dictionaries that satisfy the size requirements. # StoredInfoType where findings are defined by a dictionary of phrases. "bigQueryField": { # Message defining a field of a BigQuery table. # Field in a BigQuery table where each cell represents a dictionary phrase. "field": { # General identifier of a data field in a storage service. # Designated field in the BigQuery table. "name": "A String", # Name describing the field. @@ -782,7 +782,7 @@

Method Details

"cloudStorageFileSet": { # Message representing a set of files in Cloud Storage. # Set of files containing newline-delimited lists of dictionary phrases. "url": "A String", # The url, in the format `gs:///`. Trailing wildcard in the path is allowed. }, - "outputPath": { # Message representing a single file or path in Cloud Storage. # Location to store dictionary artifacts in Google Cloud Storage. These files will only be accessible by project owners and the DLP API. If any of these artifacts are modified, the dictionary is considered invalid and can no longer be used. + "outputPath": { # Message representing a single file or path in Cloud Storage. # Location to store dictionary artifacts in Cloud Storage. These files will only be accessible by project owners and the DLP API. If any of these artifacts are modified, the dictionary is considered invalid and can no longer be used. "path": "A String", # A url representing a file or path (no wildcards) in Cloud Storage. Example: gs://[BUCKET_NAME]/dictionary.txt }, }, @@ -794,7 +794,7 @@

Method Details

}, }, "createTime": "A String", # Create timestamp of the version. Read-only, determined by the system when the version is created. - "errors": [ # Errors that occurred when creating this storedInfoType version, or anomalies detected in the storedInfoType data that render it unusable. Only the five most recent errors will be displayed, with the most recent error appearing first. For example, some of the data for stored custom dictionaries is put in the user's Google Cloud Storage bucket, and if this data is modified or deleted by the user or another system, the dictionary becomes invalid. If any errors occur, fix the problem indicated by the error message and use the UpdateStoredInfoType API method to create another version of the storedInfoType to continue using it, reusing the same `config` if it was not the source of the error. + "errors": [ # Errors that occurred when creating this storedInfoType version, or anomalies detected in the storedInfoType data that render it unusable. Only the five most recent errors will be displayed, with the most recent error appearing first. For example, some of the data for stored custom dictionaries is put in the user's Cloud Storage bucket, and if this data is modified or deleted by the user or another system, the dictionary becomes invalid. If any errors occur, fix the problem indicated by the error message and use the UpdateStoredInfoType API method to create another version of the storedInfoType to continue using it, reusing the same `config` if it was not the source of the error. { # Details information about an error encountered during job execution or the results of an unsuccessful activation of the JobTrigger. "details": { # The `Status` type defines a logical error model that is suitable for different programming environments, including REST APIs and RPC APIs. It is used by [gRPC](https://github.com/grpc). Each `Status` message contains three pieces of data: error code, error message, and error details. You can find out more about this error model and how to work with it in the [API Design Guide](https://cloud.google.com/apis/design/errors). # Detailed error codes and messages. "code": 42, # The status code, which should be an enum value of google.rpc.Code. diff --git a/docs/dyn/dns_v1.changes.html b/docs/dyn/dns_v1.changes.html index da03a1cc5e2..41efd0edb39 100644 --- a/docs/dyn/dns_v1.changes.html +++ b/docs/dyn/dns_v1.changes.html @@ -112,8 +112,23 @@

Method Details

"name": "A String", # For example, www.example.com. "routingPolicy": { # A RRSetRoutingPolicy represents ResourceRecordSet data that is returned dynamically with the response varying based on configured properties such as geolocation or by weighted random selection. # Configures dynamic query responses based on geo location of querying user or a weighted round robin based routing policy. A ResourceRecordSet should only have either rrdata (static) or routing_policy (dynamic). An error is returned otherwise. "geo": { # Configures a RRSetRoutingPolicy that routes based on the geo location of the querying user. + "enableFencing": True or False, # Without fencing, if health check fails for all configured items in the current geo bucket, we'll failover to the next nearest geo bucket. With fencing, if health check is enabled, as long as some targets in the current geo bucket are healthy, we'll return only the healthy targets. However, if they're all unhealthy, we won't failover to the next nearest bucket, we'll simply return all the items in the current bucket even though they're unhealthy. "items": [ # The primary geo routing configuration. If there are multiple items with the same location, an error is returned instead. { # ResourceRecordSet data for one geo location. + "healthCheckedTargets": { # HealthCheckTargets describes endpoints to health-check when responding to Routing Policy queries. Only the healthy endpoints will be included in the response. # For A and AAAA types only. Endpoints to return in the query result only if they are healthy. These can be specified along with rrdata within this item. + "internalLoadBalancers": [ + { + "ipAddress": "A String", # The frontend IP address of the + "ipProtocol": "A String", + "kind": "dns#rRSetRoutingPolicyLoadBalancerTarget", + "loadBalancerType": "A String", + "networkUrl": "A String", # The fully qualified url of the network on which the ILB is + "port": "A String", # Load Balancer to health check. The configured port of the Load Balancer. + "project": "A String", # present. This should be formatted like https://www.googleapis.com/compute/v1/projects/{project}/global/networks/{network} The project ID in which the ILB exists. + "region": "A String", # The region for regional ILBs. + }, + ], + }, "kind": "dns#rRSetRoutingPolicyGeoPolicyGeoPolicyItem", "location": "A String", # The geo-location granularity is a GCP region. This location string should correspond to a GCP region. e.g. "us-east1", "southamerica-east1", "asia-east1", etc. "rrdatas": [ @@ -127,9 +142,71 @@

Method Details

"kind": "dns#rRSetRoutingPolicyGeoPolicy", }, "kind": "dns#rRSetRoutingPolicy", + "primaryBackup": { # Configures a RRSetRoutingPolicy such that all queries are responded with the primary_targets if they are healthy. And if all of them are unhealthy, then we fallback to a geo localized policy. + "backupGeoTargets": { # Configures a RRSetRoutingPolicy that routes based on the geo location of the querying user. # Backup targets provide a regional failover policy for the otherwise global primary targets. If serving state is set to BACKUP, this policy essentially becomes a geo routing policy. + "enableFencing": True or False, # Without fencing, if health check fails for all configured items in the current geo bucket, we'll failover to the next nearest geo bucket. With fencing, if health check is enabled, as long as some targets in the current geo bucket are healthy, we'll return only the healthy targets. However, if they're all unhealthy, we won't failover to the next nearest bucket, we'll simply return all the items in the current bucket even though they're unhealthy. + "items": [ # The primary geo routing configuration. If there are multiple items with the same location, an error is returned instead. + { # ResourceRecordSet data for one geo location. + "healthCheckedTargets": { # HealthCheckTargets describes endpoints to health-check when responding to Routing Policy queries. Only the healthy endpoints will be included in the response. # For A and AAAA types only. Endpoints to return in the query result only if they are healthy. These can be specified along with rrdata within this item. + "internalLoadBalancers": [ + { + "ipAddress": "A String", # The frontend IP address of the + "ipProtocol": "A String", + "kind": "dns#rRSetRoutingPolicyLoadBalancerTarget", + "loadBalancerType": "A String", + "networkUrl": "A String", # The fully qualified url of the network on which the ILB is + "port": "A String", # Load Balancer to health check. The configured port of the Load Balancer. + "project": "A String", # present. This should be formatted like https://www.googleapis.com/compute/v1/projects/{project}/global/networks/{network} The project ID in which the ILB exists. + "region": "A String", # The region for regional ILBs. + }, + ], + }, + "kind": "dns#rRSetRoutingPolicyGeoPolicyGeoPolicyItem", + "location": "A String", # The geo-location granularity is a GCP region. This location string should correspond to a GCP region. e.g. "us-east1", "southamerica-east1", "asia-east1", etc. + "rrdatas": [ + "A String", + ], + "signatureRrdatas": [ # DNSSEC generated signatures for all the rrdata within this item. Note that if health checked targets are provided for DNSSEC enabled zones, there's a restriction of 1 ip per item. . + "A String", + ], + }, + ], + "kind": "dns#rRSetRoutingPolicyGeoPolicy", + }, + "kind": "dns#rRSetRoutingPolicyPrimaryBackupPolicy", + "primaryTargets": { # HealthCheckTargets describes endpoints to health-check when responding to Routing Policy queries. Only the healthy endpoints will be included in the response. + "internalLoadBalancers": [ + { + "ipAddress": "A String", # The frontend IP address of the + "ipProtocol": "A String", + "kind": "dns#rRSetRoutingPolicyLoadBalancerTarget", + "loadBalancerType": "A String", + "networkUrl": "A String", # The fully qualified url of the network on which the ILB is + "port": "A String", # Load Balancer to health check. The configured port of the Load Balancer. + "project": "A String", # present. This should be formatted like https://www.googleapis.com/compute/v1/projects/{project}/global/networks/{network} The project ID in which the ILB exists. + "region": "A String", # The region for regional ILBs. + }, + ], + }, + "trickleTraffic": 3.14, # When serving state is PRIMARY, this field provides the option of sending a small percentage of the traffic to the backup targets. + }, "wrr": { # Configures a RRSetRoutingPolicy that routes in a weighted round robin fashion. "items": [ { # A routing block which contains the routing information for one WRR item. + "healthCheckedTargets": { # HealthCheckTargets describes endpoints to health-check when responding to Routing Policy queries. Only the healthy endpoints will be included in the response. # endpoints that need to be health checked before making the routing decision. The unhealthy endpoints will be omitted from the result. If all endpoints within a buckete are unhealthy, we'll choose a different bucket (sampled w.r.t. its weight) for responding. Note that if DNSSEC is enabled for this zone, only one of rrdata or health_checked_targets can be set. + "internalLoadBalancers": [ + { + "ipAddress": "A String", # The frontend IP address of the + "ipProtocol": "A String", + "kind": "dns#rRSetRoutingPolicyLoadBalancerTarget", + "loadBalancerType": "A String", + "networkUrl": "A String", # The fully qualified url of the network on which the ILB is + "port": "A String", # Load Balancer to health check. The configured port of the Load Balancer. + "project": "A String", # present. This should be formatted like https://www.googleapis.com/compute/v1/projects/{project}/global/networks/{network} The project ID in which the ILB exists. + "region": "A String", # The region for regional ILBs. + }, + ], + }, "kind": "dns#rRSetRoutingPolicyWrrPolicyWrrPolicyItem", "rrdatas": [ "A String", @@ -159,8 +236,23 @@

Method Details

"name": "A String", # For example, www.example.com. "routingPolicy": { # A RRSetRoutingPolicy represents ResourceRecordSet data that is returned dynamically with the response varying based on configured properties such as geolocation or by weighted random selection. # Configures dynamic query responses based on geo location of querying user or a weighted round robin based routing policy. A ResourceRecordSet should only have either rrdata (static) or routing_policy (dynamic). An error is returned otherwise. "geo": { # Configures a RRSetRoutingPolicy that routes based on the geo location of the querying user. + "enableFencing": True or False, # Without fencing, if health check fails for all configured items in the current geo bucket, we'll failover to the next nearest geo bucket. With fencing, if health check is enabled, as long as some targets in the current geo bucket are healthy, we'll return only the healthy targets. However, if they're all unhealthy, we won't failover to the next nearest bucket, we'll simply return all the items in the current bucket even though they're unhealthy. "items": [ # The primary geo routing configuration. If there are multiple items with the same location, an error is returned instead. { # ResourceRecordSet data for one geo location. + "healthCheckedTargets": { # HealthCheckTargets describes endpoints to health-check when responding to Routing Policy queries. Only the healthy endpoints will be included in the response. # For A and AAAA types only. Endpoints to return in the query result only if they are healthy. These can be specified along with rrdata within this item. + "internalLoadBalancers": [ + { + "ipAddress": "A String", # The frontend IP address of the + "ipProtocol": "A String", + "kind": "dns#rRSetRoutingPolicyLoadBalancerTarget", + "loadBalancerType": "A String", + "networkUrl": "A String", # The fully qualified url of the network on which the ILB is + "port": "A String", # Load Balancer to health check. The configured port of the Load Balancer. + "project": "A String", # present. This should be formatted like https://www.googleapis.com/compute/v1/projects/{project}/global/networks/{network} The project ID in which the ILB exists. + "region": "A String", # The region for regional ILBs. + }, + ], + }, "kind": "dns#rRSetRoutingPolicyGeoPolicyGeoPolicyItem", "location": "A String", # The geo-location granularity is a GCP region. This location string should correspond to a GCP region. e.g. "us-east1", "southamerica-east1", "asia-east1", etc. "rrdatas": [ @@ -174,9 +266,71 @@

Method Details

"kind": "dns#rRSetRoutingPolicyGeoPolicy", }, "kind": "dns#rRSetRoutingPolicy", + "primaryBackup": { # Configures a RRSetRoutingPolicy such that all queries are responded with the primary_targets if they are healthy. And if all of them are unhealthy, then we fallback to a geo localized policy. + "backupGeoTargets": { # Configures a RRSetRoutingPolicy that routes based on the geo location of the querying user. # Backup targets provide a regional failover policy for the otherwise global primary targets. If serving state is set to BACKUP, this policy essentially becomes a geo routing policy. + "enableFencing": True or False, # Without fencing, if health check fails for all configured items in the current geo bucket, we'll failover to the next nearest geo bucket. With fencing, if health check is enabled, as long as some targets in the current geo bucket are healthy, we'll return only the healthy targets. However, if they're all unhealthy, we won't failover to the next nearest bucket, we'll simply return all the items in the current bucket even though they're unhealthy. + "items": [ # The primary geo routing configuration. If there are multiple items with the same location, an error is returned instead. + { # ResourceRecordSet data for one geo location. + "healthCheckedTargets": { # HealthCheckTargets describes endpoints to health-check when responding to Routing Policy queries. Only the healthy endpoints will be included in the response. # For A and AAAA types only. Endpoints to return in the query result only if they are healthy. These can be specified along with rrdata within this item. + "internalLoadBalancers": [ + { + "ipAddress": "A String", # The frontend IP address of the + "ipProtocol": "A String", + "kind": "dns#rRSetRoutingPolicyLoadBalancerTarget", + "loadBalancerType": "A String", + "networkUrl": "A String", # The fully qualified url of the network on which the ILB is + "port": "A String", # Load Balancer to health check. The configured port of the Load Balancer. + "project": "A String", # present. This should be formatted like https://www.googleapis.com/compute/v1/projects/{project}/global/networks/{network} The project ID in which the ILB exists. + "region": "A String", # The region for regional ILBs. + }, + ], + }, + "kind": "dns#rRSetRoutingPolicyGeoPolicyGeoPolicyItem", + "location": "A String", # The geo-location granularity is a GCP region. This location string should correspond to a GCP region. e.g. "us-east1", "southamerica-east1", "asia-east1", etc. + "rrdatas": [ + "A String", + ], + "signatureRrdatas": [ # DNSSEC generated signatures for all the rrdata within this item. Note that if health checked targets are provided for DNSSEC enabled zones, there's a restriction of 1 ip per item. . + "A String", + ], + }, + ], + "kind": "dns#rRSetRoutingPolicyGeoPolicy", + }, + "kind": "dns#rRSetRoutingPolicyPrimaryBackupPolicy", + "primaryTargets": { # HealthCheckTargets describes endpoints to health-check when responding to Routing Policy queries. Only the healthy endpoints will be included in the response. + "internalLoadBalancers": [ + { + "ipAddress": "A String", # The frontend IP address of the + "ipProtocol": "A String", + "kind": "dns#rRSetRoutingPolicyLoadBalancerTarget", + "loadBalancerType": "A String", + "networkUrl": "A String", # The fully qualified url of the network on which the ILB is + "port": "A String", # Load Balancer to health check. The configured port of the Load Balancer. + "project": "A String", # present. This should be formatted like https://www.googleapis.com/compute/v1/projects/{project}/global/networks/{network} The project ID in which the ILB exists. + "region": "A String", # The region for regional ILBs. + }, + ], + }, + "trickleTraffic": 3.14, # When serving state is PRIMARY, this field provides the option of sending a small percentage of the traffic to the backup targets. + }, "wrr": { # Configures a RRSetRoutingPolicy that routes in a weighted round robin fashion. "items": [ { # A routing block which contains the routing information for one WRR item. + "healthCheckedTargets": { # HealthCheckTargets describes endpoints to health-check when responding to Routing Policy queries. Only the healthy endpoints will be included in the response. # endpoints that need to be health checked before making the routing decision. The unhealthy endpoints will be omitted from the result. If all endpoints within a buckete are unhealthy, we'll choose a different bucket (sampled w.r.t. its weight) for responding. Note that if DNSSEC is enabled for this zone, only one of rrdata or health_checked_targets can be set. + "internalLoadBalancers": [ + { + "ipAddress": "A String", # The frontend IP address of the + "ipProtocol": "A String", + "kind": "dns#rRSetRoutingPolicyLoadBalancerTarget", + "loadBalancerType": "A String", + "networkUrl": "A String", # The fully qualified url of the network on which the ILB is + "port": "A String", # Load Balancer to health check. The configured port of the Load Balancer. + "project": "A String", # present. This should be formatted like https://www.googleapis.com/compute/v1/projects/{project}/global/networks/{network} The project ID in which the ILB exists. + "region": "A String", # The region for regional ILBs. + }, + ], + }, "kind": "dns#rRSetRoutingPolicyWrrPolicyWrrPolicyItem", "rrdatas": [ "A String", @@ -223,8 +377,23 @@

Method Details

"name": "A String", # For example, www.example.com. "routingPolicy": { # A RRSetRoutingPolicy represents ResourceRecordSet data that is returned dynamically with the response varying based on configured properties such as geolocation or by weighted random selection. # Configures dynamic query responses based on geo location of querying user or a weighted round robin based routing policy. A ResourceRecordSet should only have either rrdata (static) or routing_policy (dynamic). An error is returned otherwise. "geo": { # Configures a RRSetRoutingPolicy that routes based on the geo location of the querying user. + "enableFencing": True or False, # Without fencing, if health check fails for all configured items in the current geo bucket, we'll failover to the next nearest geo bucket. With fencing, if health check is enabled, as long as some targets in the current geo bucket are healthy, we'll return only the healthy targets. However, if they're all unhealthy, we won't failover to the next nearest bucket, we'll simply return all the items in the current bucket even though they're unhealthy. "items": [ # The primary geo routing configuration. If there are multiple items with the same location, an error is returned instead. { # ResourceRecordSet data for one geo location. + "healthCheckedTargets": { # HealthCheckTargets describes endpoints to health-check when responding to Routing Policy queries. Only the healthy endpoints will be included in the response. # For A and AAAA types only. Endpoints to return in the query result only if they are healthy. These can be specified along with rrdata within this item. + "internalLoadBalancers": [ + { + "ipAddress": "A String", # The frontend IP address of the + "ipProtocol": "A String", + "kind": "dns#rRSetRoutingPolicyLoadBalancerTarget", + "loadBalancerType": "A String", + "networkUrl": "A String", # The fully qualified url of the network on which the ILB is + "port": "A String", # Load Balancer to health check. The configured port of the Load Balancer. + "project": "A String", # present. This should be formatted like https://www.googleapis.com/compute/v1/projects/{project}/global/networks/{network} The project ID in which the ILB exists. + "region": "A String", # The region for regional ILBs. + }, + ], + }, "kind": "dns#rRSetRoutingPolicyGeoPolicyGeoPolicyItem", "location": "A String", # The geo-location granularity is a GCP region. This location string should correspond to a GCP region. e.g. "us-east1", "southamerica-east1", "asia-east1", etc. "rrdatas": [ @@ -238,9 +407,71 @@

Method Details

"kind": "dns#rRSetRoutingPolicyGeoPolicy", }, "kind": "dns#rRSetRoutingPolicy", + "primaryBackup": { # Configures a RRSetRoutingPolicy such that all queries are responded with the primary_targets if they are healthy. And if all of them are unhealthy, then we fallback to a geo localized policy. + "backupGeoTargets": { # Configures a RRSetRoutingPolicy that routes based on the geo location of the querying user. # Backup targets provide a regional failover policy for the otherwise global primary targets. If serving state is set to BACKUP, this policy essentially becomes a geo routing policy. + "enableFencing": True or False, # Without fencing, if health check fails for all configured items in the current geo bucket, we'll failover to the next nearest geo bucket. With fencing, if health check is enabled, as long as some targets in the current geo bucket are healthy, we'll return only the healthy targets. However, if they're all unhealthy, we won't failover to the next nearest bucket, we'll simply return all the items in the current bucket even though they're unhealthy. + "items": [ # The primary geo routing configuration. If there are multiple items with the same location, an error is returned instead. + { # ResourceRecordSet data for one geo location. + "healthCheckedTargets": { # HealthCheckTargets describes endpoints to health-check when responding to Routing Policy queries. Only the healthy endpoints will be included in the response. # For A and AAAA types only. Endpoints to return in the query result only if they are healthy. These can be specified along with rrdata within this item. + "internalLoadBalancers": [ + { + "ipAddress": "A String", # The frontend IP address of the + "ipProtocol": "A String", + "kind": "dns#rRSetRoutingPolicyLoadBalancerTarget", + "loadBalancerType": "A String", + "networkUrl": "A String", # The fully qualified url of the network on which the ILB is + "port": "A String", # Load Balancer to health check. The configured port of the Load Balancer. + "project": "A String", # present. This should be formatted like https://www.googleapis.com/compute/v1/projects/{project}/global/networks/{network} The project ID in which the ILB exists. + "region": "A String", # The region for regional ILBs. + }, + ], + }, + "kind": "dns#rRSetRoutingPolicyGeoPolicyGeoPolicyItem", + "location": "A String", # The geo-location granularity is a GCP region. This location string should correspond to a GCP region. e.g. "us-east1", "southamerica-east1", "asia-east1", etc. + "rrdatas": [ + "A String", + ], + "signatureRrdatas": [ # DNSSEC generated signatures for all the rrdata within this item. Note that if health checked targets are provided for DNSSEC enabled zones, there's a restriction of 1 ip per item. . + "A String", + ], + }, + ], + "kind": "dns#rRSetRoutingPolicyGeoPolicy", + }, + "kind": "dns#rRSetRoutingPolicyPrimaryBackupPolicy", + "primaryTargets": { # HealthCheckTargets describes endpoints to health-check when responding to Routing Policy queries. Only the healthy endpoints will be included in the response. + "internalLoadBalancers": [ + { + "ipAddress": "A String", # The frontend IP address of the + "ipProtocol": "A String", + "kind": "dns#rRSetRoutingPolicyLoadBalancerTarget", + "loadBalancerType": "A String", + "networkUrl": "A String", # The fully qualified url of the network on which the ILB is + "port": "A String", # Load Balancer to health check. The configured port of the Load Balancer. + "project": "A String", # present. This should be formatted like https://www.googleapis.com/compute/v1/projects/{project}/global/networks/{network} The project ID in which the ILB exists. + "region": "A String", # The region for regional ILBs. + }, + ], + }, + "trickleTraffic": 3.14, # When serving state is PRIMARY, this field provides the option of sending a small percentage of the traffic to the backup targets. + }, "wrr": { # Configures a RRSetRoutingPolicy that routes in a weighted round robin fashion. "items": [ { # A routing block which contains the routing information for one WRR item. + "healthCheckedTargets": { # HealthCheckTargets describes endpoints to health-check when responding to Routing Policy queries. Only the healthy endpoints will be included in the response. # endpoints that need to be health checked before making the routing decision. The unhealthy endpoints will be omitted from the result. If all endpoints within a buckete are unhealthy, we'll choose a different bucket (sampled w.r.t. its weight) for responding. Note that if DNSSEC is enabled for this zone, only one of rrdata or health_checked_targets can be set. + "internalLoadBalancers": [ + { + "ipAddress": "A String", # The frontend IP address of the + "ipProtocol": "A String", + "kind": "dns#rRSetRoutingPolicyLoadBalancerTarget", + "loadBalancerType": "A String", + "networkUrl": "A String", # The fully qualified url of the network on which the ILB is + "port": "A String", # Load Balancer to health check. The configured port of the Load Balancer. + "project": "A String", # present. This should be formatted like https://www.googleapis.com/compute/v1/projects/{project}/global/networks/{network} The project ID in which the ILB exists. + "region": "A String", # The region for regional ILBs. + }, + ], + }, "kind": "dns#rRSetRoutingPolicyWrrPolicyWrrPolicyItem", "rrdatas": [ "A String", @@ -270,8 +501,23 @@

Method Details

"name": "A String", # For example, www.example.com. "routingPolicy": { # A RRSetRoutingPolicy represents ResourceRecordSet data that is returned dynamically with the response varying based on configured properties such as geolocation or by weighted random selection. # Configures dynamic query responses based on geo location of querying user or a weighted round robin based routing policy. A ResourceRecordSet should only have either rrdata (static) or routing_policy (dynamic). An error is returned otherwise. "geo": { # Configures a RRSetRoutingPolicy that routes based on the geo location of the querying user. + "enableFencing": True or False, # Without fencing, if health check fails for all configured items in the current geo bucket, we'll failover to the next nearest geo bucket. With fencing, if health check is enabled, as long as some targets in the current geo bucket are healthy, we'll return only the healthy targets. However, if they're all unhealthy, we won't failover to the next nearest bucket, we'll simply return all the items in the current bucket even though they're unhealthy. "items": [ # The primary geo routing configuration. If there are multiple items with the same location, an error is returned instead. { # ResourceRecordSet data for one geo location. + "healthCheckedTargets": { # HealthCheckTargets describes endpoints to health-check when responding to Routing Policy queries. Only the healthy endpoints will be included in the response. # For A and AAAA types only. Endpoints to return in the query result only if they are healthy. These can be specified along with rrdata within this item. + "internalLoadBalancers": [ + { + "ipAddress": "A String", # The frontend IP address of the + "ipProtocol": "A String", + "kind": "dns#rRSetRoutingPolicyLoadBalancerTarget", + "loadBalancerType": "A String", + "networkUrl": "A String", # The fully qualified url of the network on which the ILB is + "port": "A String", # Load Balancer to health check. The configured port of the Load Balancer. + "project": "A String", # present. This should be formatted like https://www.googleapis.com/compute/v1/projects/{project}/global/networks/{network} The project ID in which the ILB exists. + "region": "A String", # The region for regional ILBs. + }, + ], + }, "kind": "dns#rRSetRoutingPolicyGeoPolicyGeoPolicyItem", "location": "A String", # The geo-location granularity is a GCP region. This location string should correspond to a GCP region. e.g. "us-east1", "southamerica-east1", "asia-east1", etc. "rrdatas": [ @@ -285,9 +531,71 @@

Method Details

"kind": "dns#rRSetRoutingPolicyGeoPolicy", }, "kind": "dns#rRSetRoutingPolicy", + "primaryBackup": { # Configures a RRSetRoutingPolicy such that all queries are responded with the primary_targets if they are healthy. And if all of them are unhealthy, then we fallback to a geo localized policy. + "backupGeoTargets": { # Configures a RRSetRoutingPolicy that routes based on the geo location of the querying user. # Backup targets provide a regional failover policy for the otherwise global primary targets. If serving state is set to BACKUP, this policy essentially becomes a geo routing policy. + "enableFencing": True or False, # Without fencing, if health check fails for all configured items in the current geo bucket, we'll failover to the next nearest geo bucket. With fencing, if health check is enabled, as long as some targets in the current geo bucket are healthy, we'll return only the healthy targets. However, if they're all unhealthy, we won't failover to the next nearest bucket, we'll simply return all the items in the current bucket even though they're unhealthy. + "items": [ # The primary geo routing configuration. If there are multiple items with the same location, an error is returned instead. + { # ResourceRecordSet data for one geo location. + "healthCheckedTargets": { # HealthCheckTargets describes endpoints to health-check when responding to Routing Policy queries. Only the healthy endpoints will be included in the response. # For A and AAAA types only. Endpoints to return in the query result only if they are healthy. These can be specified along with rrdata within this item. + "internalLoadBalancers": [ + { + "ipAddress": "A String", # The frontend IP address of the + "ipProtocol": "A String", + "kind": "dns#rRSetRoutingPolicyLoadBalancerTarget", + "loadBalancerType": "A String", + "networkUrl": "A String", # The fully qualified url of the network on which the ILB is + "port": "A String", # Load Balancer to health check. The configured port of the Load Balancer. + "project": "A String", # present. This should be formatted like https://www.googleapis.com/compute/v1/projects/{project}/global/networks/{network} The project ID in which the ILB exists. + "region": "A String", # The region for regional ILBs. + }, + ], + }, + "kind": "dns#rRSetRoutingPolicyGeoPolicyGeoPolicyItem", + "location": "A String", # The geo-location granularity is a GCP region. This location string should correspond to a GCP region. e.g. "us-east1", "southamerica-east1", "asia-east1", etc. + "rrdatas": [ + "A String", + ], + "signatureRrdatas": [ # DNSSEC generated signatures for all the rrdata within this item. Note that if health checked targets are provided for DNSSEC enabled zones, there's a restriction of 1 ip per item. . + "A String", + ], + }, + ], + "kind": "dns#rRSetRoutingPolicyGeoPolicy", + }, + "kind": "dns#rRSetRoutingPolicyPrimaryBackupPolicy", + "primaryTargets": { # HealthCheckTargets describes endpoints to health-check when responding to Routing Policy queries. Only the healthy endpoints will be included in the response. + "internalLoadBalancers": [ + { + "ipAddress": "A String", # The frontend IP address of the + "ipProtocol": "A String", + "kind": "dns#rRSetRoutingPolicyLoadBalancerTarget", + "loadBalancerType": "A String", + "networkUrl": "A String", # The fully qualified url of the network on which the ILB is + "port": "A String", # Load Balancer to health check. The configured port of the Load Balancer. + "project": "A String", # present. This should be formatted like https://www.googleapis.com/compute/v1/projects/{project}/global/networks/{network} The project ID in which the ILB exists. + "region": "A String", # The region for regional ILBs. + }, + ], + }, + "trickleTraffic": 3.14, # When serving state is PRIMARY, this field provides the option of sending a small percentage of the traffic to the backup targets. + }, "wrr": { # Configures a RRSetRoutingPolicy that routes in a weighted round robin fashion. "items": [ { # A routing block which contains the routing information for one WRR item. + "healthCheckedTargets": { # HealthCheckTargets describes endpoints to health-check when responding to Routing Policy queries. Only the healthy endpoints will be included in the response. # endpoints that need to be health checked before making the routing decision. The unhealthy endpoints will be omitted from the result. If all endpoints within a buckete are unhealthy, we'll choose a different bucket (sampled w.r.t. its weight) for responding. Note that if DNSSEC is enabled for this zone, only one of rrdata or health_checked_targets can be set. + "internalLoadBalancers": [ + { + "ipAddress": "A String", # The frontend IP address of the + "ipProtocol": "A String", + "kind": "dns#rRSetRoutingPolicyLoadBalancerTarget", + "loadBalancerType": "A String", + "networkUrl": "A String", # The fully qualified url of the network on which the ILB is + "port": "A String", # Load Balancer to health check. The configured port of the Load Balancer. + "project": "A String", # present. This should be formatted like https://www.googleapis.com/compute/v1/projects/{project}/global/networks/{network} The project ID in which the ILB exists. + "region": "A String", # The region for regional ILBs. + }, + ], + }, "kind": "dns#rRSetRoutingPolicyWrrPolicyWrrPolicyItem", "rrdatas": [ "A String", @@ -343,8 +651,23 @@

Method Details

"name": "A String", # For example, www.example.com. "routingPolicy": { # A RRSetRoutingPolicy represents ResourceRecordSet data that is returned dynamically with the response varying based on configured properties such as geolocation or by weighted random selection. # Configures dynamic query responses based on geo location of querying user or a weighted round robin based routing policy. A ResourceRecordSet should only have either rrdata (static) or routing_policy (dynamic). An error is returned otherwise. "geo": { # Configures a RRSetRoutingPolicy that routes based on the geo location of the querying user. + "enableFencing": True or False, # Without fencing, if health check fails for all configured items in the current geo bucket, we'll failover to the next nearest geo bucket. With fencing, if health check is enabled, as long as some targets in the current geo bucket are healthy, we'll return only the healthy targets. However, if they're all unhealthy, we won't failover to the next nearest bucket, we'll simply return all the items in the current bucket even though they're unhealthy. "items": [ # The primary geo routing configuration. If there are multiple items with the same location, an error is returned instead. { # ResourceRecordSet data for one geo location. + "healthCheckedTargets": { # HealthCheckTargets describes endpoints to health-check when responding to Routing Policy queries. Only the healthy endpoints will be included in the response. # For A and AAAA types only. Endpoints to return in the query result only if they are healthy. These can be specified along with rrdata within this item. + "internalLoadBalancers": [ + { + "ipAddress": "A String", # The frontend IP address of the + "ipProtocol": "A String", + "kind": "dns#rRSetRoutingPolicyLoadBalancerTarget", + "loadBalancerType": "A String", + "networkUrl": "A String", # The fully qualified url of the network on which the ILB is + "port": "A String", # Load Balancer to health check. The configured port of the Load Balancer. + "project": "A String", # present. This should be formatted like https://www.googleapis.com/compute/v1/projects/{project}/global/networks/{network} The project ID in which the ILB exists. + "region": "A String", # The region for regional ILBs. + }, + ], + }, "kind": "dns#rRSetRoutingPolicyGeoPolicyGeoPolicyItem", "location": "A String", # The geo-location granularity is a GCP region. This location string should correspond to a GCP region. e.g. "us-east1", "southamerica-east1", "asia-east1", etc. "rrdatas": [ @@ -358,9 +681,71 @@

Method Details

"kind": "dns#rRSetRoutingPolicyGeoPolicy", }, "kind": "dns#rRSetRoutingPolicy", + "primaryBackup": { # Configures a RRSetRoutingPolicy such that all queries are responded with the primary_targets if they are healthy. And if all of them are unhealthy, then we fallback to a geo localized policy. + "backupGeoTargets": { # Configures a RRSetRoutingPolicy that routes based on the geo location of the querying user. # Backup targets provide a regional failover policy for the otherwise global primary targets. If serving state is set to BACKUP, this policy essentially becomes a geo routing policy. + "enableFencing": True or False, # Without fencing, if health check fails for all configured items in the current geo bucket, we'll failover to the next nearest geo bucket. With fencing, if health check is enabled, as long as some targets in the current geo bucket are healthy, we'll return only the healthy targets. However, if they're all unhealthy, we won't failover to the next nearest bucket, we'll simply return all the items in the current bucket even though they're unhealthy. + "items": [ # The primary geo routing configuration. If there are multiple items with the same location, an error is returned instead. + { # ResourceRecordSet data for one geo location. + "healthCheckedTargets": { # HealthCheckTargets describes endpoints to health-check when responding to Routing Policy queries. Only the healthy endpoints will be included in the response. # For A and AAAA types only. Endpoints to return in the query result only if they are healthy. These can be specified along with rrdata within this item. + "internalLoadBalancers": [ + { + "ipAddress": "A String", # The frontend IP address of the + "ipProtocol": "A String", + "kind": "dns#rRSetRoutingPolicyLoadBalancerTarget", + "loadBalancerType": "A String", + "networkUrl": "A String", # The fully qualified url of the network on which the ILB is + "port": "A String", # Load Balancer to health check. The configured port of the Load Balancer. + "project": "A String", # present. This should be formatted like https://www.googleapis.com/compute/v1/projects/{project}/global/networks/{network} The project ID in which the ILB exists. + "region": "A String", # The region for regional ILBs. + }, + ], + }, + "kind": "dns#rRSetRoutingPolicyGeoPolicyGeoPolicyItem", + "location": "A String", # The geo-location granularity is a GCP region. This location string should correspond to a GCP region. e.g. "us-east1", "southamerica-east1", "asia-east1", etc. + "rrdatas": [ + "A String", + ], + "signatureRrdatas": [ # DNSSEC generated signatures for all the rrdata within this item. Note that if health checked targets are provided for DNSSEC enabled zones, there's a restriction of 1 ip per item. . + "A String", + ], + }, + ], + "kind": "dns#rRSetRoutingPolicyGeoPolicy", + }, + "kind": "dns#rRSetRoutingPolicyPrimaryBackupPolicy", + "primaryTargets": { # HealthCheckTargets describes endpoints to health-check when responding to Routing Policy queries. Only the healthy endpoints will be included in the response. + "internalLoadBalancers": [ + { + "ipAddress": "A String", # The frontend IP address of the + "ipProtocol": "A String", + "kind": "dns#rRSetRoutingPolicyLoadBalancerTarget", + "loadBalancerType": "A String", + "networkUrl": "A String", # The fully qualified url of the network on which the ILB is + "port": "A String", # Load Balancer to health check. The configured port of the Load Balancer. + "project": "A String", # present. This should be formatted like https://www.googleapis.com/compute/v1/projects/{project}/global/networks/{network} The project ID in which the ILB exists. + "region": "A String", # The region for regional ILBs. + }, + ], + }, + "trickleTraffic": 3.14, # When serving state is PRIMARY, this field provides the option of sending a small percentage of the traffic to the backup targets. + }, "wrr": { # Configures a RRSetRoutingPolicy that routes in a weighted round robin fashion. "items": [ { # A routing block which contains the routing information for one WRR item. + "healthCheckedTargets": { # HealthCheckTargets describes endpoints to health-check when responding to Routing Policy queries. Only the healthy endpoints will be included in the response. # endpoints that need to be health checked before making the routing decision. The unhealthy endpoints will be omitted from the result. If all endpoints within a buckete are unhealthy, we'll choose a different bucket (sampled w.r.t. its weight) for responding. Note that if DNSSEC is enabled for this zone, only one of rrdata or health_checked_targets can be set. + "internalLoadBalancers": [ + { + "ipAddress": "A String", # The frontend IP address of the + "ipProtocol": "A String", + "kind": "dns#rRSetRoutingPolicyLoadBalancerTarget", + "loadBalancerType": "A String", + "networkUrl": "A String", # The fully qualified url of the network on which the ILB is + "port": "A String", # Load Balancer to health check. The configured port of the Load Balancer. + "project": "A String", # present. This should be formatted like https://www.googleapis.com/compute/v1/projects/{project}/global/networks/{network} The project ID in which the ILB exists. + "region": "A String", # The region for regional ILBs. + }, + ], + }, "kind": "dns#rRSetRoutingPolicyWrrPolicyWrrPolicyItem", "rrdatas": [ "A String", @@ -390,8 +775,23 @@

Method Details

"name": "A String", # For example, www.example.com. "routingPolicy": { # A RRSetRoutingPolicy represents ResourceRecordSet data that is returned dynamically with the response varying based on configured properties such as geolocation or by weighted random selection. # Configures dynamic query responses based on geo location of querying user or a weighted round robin based routing policy. A ResourceRecordSet should only have either rrdata (static) or routing_policy (dynamic). An error is returned otherwise. "geo": { # Configures a RRSetRoutingPolicy that routes based on the geo location of the querying user. + "enableFencing": True or False, # Without fencing, if health check fails for all configured items in the current geo bucket, we'll failover to the next nearest geo bucket. With fencing, if health check is enabled, as long as some targets in the current geo bucket are healthy, we'll return only the healthy targets. However, if they're all unhealthy, we won't failover to the next nearest bucket, we'll simply return all the items in the current bucket even though they're unhealthy. "items": [ # The primary geo routing configuration. If there are multiple items with the same location, an error is returned instead. { # ResourceRecordSet data for one geo location. + "healthCheckedTargets": { # HealthCheckTargets describes endpoints to health-check when responding to Routing Policy queries. Only the healthy endpoints will be included in the response. # For A and AAAA types only. Endpoints to return in the query result only if they are healthy. These can be specified along with rrdata within this item. + "internalLoadBalancers": [ + { + "ipAddress": "A String", # The frontend IP address of the + "ipProtocol": "A String", + "kind": "dns#rRSetRoutingPolicyLoadBalancerTarget", + "loadBalancerType": "A String", + "networkUrl": "A String", # The fully qualified url of the network on which the ILB is + "port": "A String", # Load Balancer to health check. The configured port of the Load Balancer. + "project": "A String", # present. This should be formatted like https://www.googleapis.com/compute/v1/projects/{project}/global/networks/{network} The project ID in which the ILB exists. + "region": "A String", # The region for regional ILBs. + }, + ], + }, "kind": "dns#rRSetRoutingPolicyGeoPolicyGeoPolicyItem", "location": "A String", # The geo-location granularity is a GCP region. This location string should correspond to a GCP region. e.g. "us-east1", "southamerica-east1", "asia-east1", etc. "rrdatas": [ @@ -405,9 +805,71 @@

Method Details

"kind": "dns#rRSetRoutingPolicyGeoPolicy", }, "kind": "dns#rRSetRoutingPolicy", + "primaryBackup": { # Configures a RRSetRoutingPolicy such that all queries are responded with the primary_targets if they are healthy. And if all of them are unhealthy, then we fallback to a geo localized policy. + "backupGeoTargets": { # Configures a RRSetRoutingPolicy that routes based on the geo location of the querying user. # Backup targets provide a regional failover policy for the otherwise global primary targets. If serving state is set to BACKUP, this policy essentially becomes a geo routing policy. + "enableFencing": True or False, # Without fencing, if health check fails for all configured items in the current geo bucket, we'll failover to the next nearest geo bucket. With fencing, if health check is enabled, as long as some targets in the current geo bucket are healthy, we'll return only the healthy targets. However, if they're all unhealthy, we won't failover to the next nearest bucket, we'll simply return all the items in the current bucket even though they're unhealthy. + "items": [ # The primary geo routing configuration. If there are multiple items with the same location, an error is returned instead. + { # ResourceRecordSet data for one geo location. + "healthCheckedTargets": { # HealthCheckTargets describes endpoints to health-check when responding to Routing Policy queries. Only the healthy endpoints will be included in the response. # For A and AAAA types only. Endpoints to return in the query result only if they are healthy. These can be specified along with rrdata within this item. + "internalLoadBalancers": [ + { + "ipAddress": "A String", # The frontend IP address of the + "ipProtocol": "A String", + "kind": "dns#rRSetRoutingPolicyLoadBalancerTarget", + "loadBalancerType": "A String", + "networkUrl": "A String", # The fully qualified url of the network on which the ILB is + "port": "A String", # Load Balancer to health check. The configured port of the Load Balancer. + "project": "A String", # present. This should be formatted like https://www.googleapis.com/compute/v1/projects/{project}/global/networks/{network} The project ID in which the ILB exists. + "region": "A String", # The region for regional ILBs. + }, + ], + }, + "kind": "dns#rRSetRoutingPolicyGeoPolicyGeoPolicyItem", + "location": "A String", # The geo-location granularity is a GCP region. This location string should correspond to a GCP region. e.g. "us-east1", "southamerica-east1", "asia-east1", etc. + "rrdatas": [ + "A String", + ], + "signatureRrdatas": [ # DNSSEC generated signatures for all the rrdata within this item. Note that if health checked targets are provided for DNSSEC enabled zones, there's a restriction of 1 ip per item. . + "A String", + ], + }, + ], + "kind": "dns#rRSetRoutingPolicyGeoPolicy", + }, + "kind": "dns#rRSetRoutingPolicyPrimaryBackupPolicy", + "primaryTargets": { # HealthCheckTargets describes endpoints to health-check when responding to Routing Policy queries. Only the healthy endpoints will be included in the response. + "internalLoadBalancers": [ + { + "ipAddress": "A String", # The frontend IP address of the + "ipProtocol": "A String", + "kind": "dns#rRSetRoutingPolicyLoadBalancerTarget", + "loadBalancerType": "A String", + "networkUrl": "A String", # The fully qualified url of the network on which the ILB is + "port": "A String", # Load Balancer to health check. The configured port of the Load Balancer. + "project": "A String", # present. This should be formatted like https://www.googleapis.com/compute/v1/projects/{project}/global/networks/{network} The project ID in which the ILB exists. + "region": "A String", # The region for regional ILBs. + }, + ], + }, + "trickleTraffic": 3.14, # When serving state is PRIMARY, this field provides the option of sending a small percentage of the traffic to the backup targets. + }, "wrr": { # Configures a RRSetRoutingPolicy that routes in a weighted round robin fashion. "items": [ { # A routing block which contains the routing information for one WRR item. + "healthCheckedTargets": { # HealthCheckTargets describes endpoints to health-check when responding to Routing Policy queries. Only the healthy endpoints will be included in the response. # endpoints that need to be health checked before making the routing decision. The unhealthy endpoints will be omitted from the result. If all endpoints within a buckete are unhealthy, we'll choose a different bucket (sampled w.r.t. its weight) for responding. Note that if DNSSEC is enabled for this zone, only one of rrdata or health_checked_targets can be set. + "internalLoadBalancers": [ + { + "ipAddress": "A String", # The frontend IP address of the + "ipProtocol": "A String", + "kind": "dns#rRSetRoutingPolicyLoadBalancerTarget", + "loadBalancerType": "A String", + "networkUrl": "A String", # The fully qualified url of the network on which the ILB is + "port": "A String", # Load Balancer to health check. The configured port of the Load Balancer. + "project": "A String", # present. This should be formatted like https://www.googleapis.com/compute/v1/projects/{project}/global/networks/{network} The project ID in which the ILB exists. + "region": "A String", # The region for regional ILBs. + }, + ], + }, "kind": "dns#rRSetRoutingPolicyWrrPolicyWrrPolicyItem", "rrdatas": [ "A String", @@ -469,8 +931,23 @@

Method Details

"name": "A String", # For example, www.example.com. "routingPolicy": { # A RRSetRoutingPolicy represents ResourceRecordSet data that is returned dynamically with the response varying based on configured properties such as geolocation or by weighted random selection. # Configures dynamic query responses based on geo location of querying user or a weighted round robin based routing policy. A ResourceRecordSet should only have either rrdata (static) or routing_policy (dynamic). An error is returned otherwise. "geo": { # Configures a RRSetRoutingPolicy that routes based on the geo location of the querying user. + "enableFencing": True or False, # Without fencing, if health check fails for all configured items in the current geo bucket, we'll failover to the next nearest geo bucket. With fencing, if health check is enabled, as long as some targets in the current geo bucket are healthy, we'll return only the healthy targets. However, if they're all unhealthy, we won't failover to the next nearest bucket, we'll simply return all the items in the current bucket even though they're unhealthy. "items": [ # The primary geo routing configuration. If there are multiple items with the same location, an error is returned instead. { # ResourceRecordSet data for one geo location. + "healthCheckedTargets": { # HealthCheckTargets describes endpoints to health-check when responding to Routing Policy queries. Only the healthy endpoints will be included in the response. # For A and AAAA types only. Endpoints to return in the query result only if they are healthy. These can be specified along with rrdata within this item. + "internalLoadBalancers": [ + { + "ipAddress": "A String", # The frontend IP address of the + "ipProtocol": "A String", + "kind": "dns#rRSetRoutingPolicyLoadBalancerTarget", + "loadBalancerType": "A String", + "networkUrl": "A String", # The fully qualified url of the network on which the ILB is + "port": "A String", # Load Balancer to health check. The configured port of the Load Balancer. + "project": "A String", # present. This should be formatted like https://www.googleapis.com/compute/v1/projects/{project}/global/networks/{network} The project ID in which the ILB exists. + "region": "A String", # The region for regional ILBs. + }, + ], + }, "kind": "dns#rRSetRoutingPolicyGeoPolicyGeoPolicyItem", "location": "A String", # The geo-location granularity is a GCP region. This location string should correspond to a GCP region. e.g. "us-east1", "southamerica-east1", "asia-east1", etc. "rrdatas": [ @@ -484,9 +961,71 @@

Method Details

"kind": "dns#rRSetRoutingPolicyGeoPolicy", }, "kind": "dns#rRSetRoutingPolicy", + "primaryBackup": { # Configures a RRSetRoutingPolicy such that all queries are responded with the primary_targets if they are healthy. And if all of them are unhealthy, then we fallback to a geo localized policy. + "backupGeoTargets": { # Configures a RRSetRoutingPolicy that routes based on the geo location of the querying user. # Backup targets provide a regional failover policy for the otherwise global primary targets. If serving state is set to BACKUP, this policy essentially becomes a geo routing policy. + "enableFencing": True or False, # Without fencing, if health check fails for all configured items in the current geo bucket, we'll failover to the next nearest geo bucket. With fencing, if health check is enabled, as long as some targets in the current geo bucket are healthy, we'll return only the healthy targets. However, if they're all unhealthy, we won't failover to the next nearest bucket, we'll simply return all the items in the current bucket even though they're unhealthy. + "items": [ # The primary geo routing configuration. If there are multiple items with the same location, an error is returned instead. + { # ResourceRecordSet data for one geo location. + "healthCheckedTargets": { # HealthCheckTargets describes endpoints to health-check when responding to Routing Policy queries. Only the healthy endpoints will be included in the response. # For A and AAAA types only. Endpoints to return in the query result only if they are healthy. These can be specified along with rrdata within this item. + "internalLoadBalancers": [ + { + "ipAddress": "A String", # The frontend IP address of the + "ipProtocol": "A String", + "kind": "dns#rRSetRoutingPolicyLoadBalancerTarget", + "loadBalancerType": "A String", + "networkUrl": "A String", # The fully qualified url of the network on which the ILB is + "port": "A String", # Load Balancer to health check. The configured port of the Load Balancer. + "project": "A String", # present. This should be formatted like https://www.googleapis.com/compute/v1/projects/{project}/global/networks/{network} The project ID in which the ILB exists. + "region": "A String", # The region for regional ILBs. + }, + ], + }, + "kind": "dns#rRSetRoutingPolicyGeoPolicyGeoPolicyItem", + "location": "A String", # The geo-location granularity is a GCP region. This location string should correspond to a GCP region. e.g. "us-east1", "southamerica-east1", "asia-east1", etc. + "rrdatas": [ + "A String", + ], + "signatureRrdatas": [ # DNSSEC generated signatures for all the rrdata within this item. Note that if health checked targets are provided for DNSSEC enabled zones, there's a restriction of 1 ip per item. . + "A String", + ], + }, + ], + "kind": "dns#rRSetRoutingPolicyGeoPolicy", + }, + "kind": "dns#rRSetRoutingPolicyPrimaryBackupPolicy", + "primaryTargets": { # HealthCheckTargets describes endpoints to health-check when responding to Routing Policy queries. Only the healthy endpoints will be included in the response. + "internalLoadBalancers": [ + { + "ipAddress": "A String", # The frontend IP address of the + "ipProtocol": "A String", + "kind": "dns#rRSetRoutingPolicyLoadBalancerTarget", + "loadBalancerType": "A String", + "networkUrl": "A String", # The fully qualified url of the network on which the ILB is + "port": "A String", # Load Balancer to health check. The configured port of the Load Balancer. + "project": "A String", # present. This should be formatted like https://www.googleapis.com/compute/v1/projects/{project}/global/networks/{network} The project ID in which the ILB exists. + "region": "A String", # The region for regional ILBs. + }, + ], + }, + "trickleTraffic": 3.14, # When serving state is PRIMARY, this field provides the option of sending a small percentage of the traffic to the backup targets. + }, "wrr": { # Configures a RRSetRoutingPolicy that routes in a weighted round robin fashion. "items": [ { # A routing block which contains the routing information for one WRR item. + "healthCheckedTargets": { # HealthCheckTargets describes endpoints to health-check when responding to Routing Policy queries. Only the healthy endpoints will be included in the response. # endpoints that need to be health checked before making the routing decision. The unhealthy endpoints will be omitted from the result. If all endpoints within a buckete are unhealthy, we'll choose a different bucket (sampled w.r.t. its weight) for responding. Note that if DNSSEC is enabled for this zone, only one of rrdata or health_checked_targets can be set. + "internalLoadBalancers": [ + { + "ipAddress": "A String", # The frontend IP address of the + "ipProtocol": "A String", + "kind": "dns#rRSetRoutingPolicyLoadBalancerTarget", + "loadBalancerType": "A String", + "networkUrl": "A String", # The fully qualified url of the network on which the ILB is + "port": "A String", # Load Balancer to health check. The configured port of the Load Balancer. + "project": "A String", # present. This should be formatted like https://www.googleapis.com/compute/v1/projects/{project}/global/networks/{network} The project ID in which the ILB exists. + "region": "A String", # The region for regional ILBs. + }, + ], + }, "kind": "dns#rRSetRoutingPolicyWrrPolicyWrrPolicyItem", "rrdatas": [ "A String", @@ -516,8 +1055,23 @@

Method Details

"name": "A String", # For example, www.example.com. "routingPolicy": { # A RRSetRoutingPolicy represents ResourceRecordSet data that is returned dynamically with the response varying based on configured properties such as geolocation or by weighted random selection. # Configures dynamic query responses based on geo location of querying user or a weighted round robin based routing policy. A ResourceRecordSet should only have either rrdata (static) or routing_policy (dynamic). An error is returned otherwise. "geo": { # Configures a RRSetRoutingPolicy that routes based on the geo location of the querying user. + "enableFencing": True or False, # Without fencing, if health check fails for all configured items in the current geo bucket, we'll failover to the next nearest geo bucket. With fencing, if health check is enabled, as long as some targets in the current geo bucket are healthy, we'll return only the healthy targets. However, if they're all unhealthy, we won't failover to the next nearest bucket, we'll simply return all the items in the current bucket even though they're unhealthy. "items": [ # The primary geo routing configuration. If there are multiple items with the same location, an error is returned instead. { # ResourceRecordSet data for one geo location. + "healthCheckedTargets": { # HealthCheckTargets describes endpoints to health-check when responding to Routing Policy queries. Only the healthy endpoints will be included in the response. # For A and AAAA types only. Endpoints to return in the query result only if they are healthy. These can be specified along with rrdata within this item. + "internalLoadBalancers": [ + { + "ipAddress": "A String", # The frontend IP address of the + "ipProtocol": "A String", + "kind": "dns#rRSetRoutingPolicyLoadBalancerTarget", + "loadBalancerType": "A String", + "networkUrl": "A String", # The fully qualified url of the network on which the ILB is + "port": "A String", # Load Balancer to health check. The configured port of the Load Balancer. + "project": "A String", # present. This should be formatted like https://www.googleapis.com/compute/v1/projects/{project}/global/networks/{network} The project ID in which the ILB exists. + "region": "A String", # The region for regional ILBs. + }, + ], + }, "kind": "dns#rRSetRoutingPolicyGeoPolicyGeoPolicyItem", "location": "A String", # The geo-location granularity is a GCP region. This location string should correspond to a GCP region. e.g. "us-east1", "southamerica-east1", "asia-east1", etc. "rrdatas": [ @@ -531,9 +1085,71 @@

Method Details

"kind": "dns#rRSetRoutingPolicyGeoPolicy", }, "kind": "dns#rRSetRoutingPolicy", + "primaryBackup": { # Configures a RRSetRoutingPolicy such that all queries are responded with the primary_targets if they are healthy. And if all of them are unhealthy, then we fallback to a geo localized policy. + "backupGeoTargets": { # Configures a RRSetRoutingPolicy that routes based on the geo location of the querying user. # Backup targets provide a regional failover policy for the otherwise global primary targets. If serving state is set to BACKUP, this policy essentially becomes a geo routing policy. + "enableFencing": True or False, # Without fencing, if health check fails for all configured items in the current geo bucket, we'll failover to the next nearest geo bucket. With fencing, if health check is enabled, as long as some targets in the current geo bucket are healthy, we'll return only the healthy targets. However, if they're all unhealthy, we won't failover to the next nearest bucket, we'll simply return all the items in the current bucket even though they're unhealthy. + "items": [ # The primary geo routing configuration. If there are multiple items with the same location, an error is returned instead. + { # ResourceRecordSet data for one geo location. + "healthCheckedTargets": { # HealthCheckTargets describes endpoints to health-check when responding to Routing Policy queries. Only the healthy endpoints will be included in the response. # For A and AAAA types only. Endpoints to return in the query result only if they are healthy. These can be specified along with rrdata within this item. + "internalLoadBalancers": [ + { + "ipAddress": "A String", # The frontend IP address of the + "ipProtocol": "A String", + "kind": "dns#rRSetRoutingPolicyLoadBalancerTarget", + "loadBalancerType": "A String", + "networkUrl": "A String", # The fully qualified url of the network on which the ILB is + "port": "A String", # Load Balancer to health check. The configured port of the Load Balancer. + "project": "A String", # present. This should be formatted like https://www.googleapis.com/compute/v1/projects/{project}/global/networks/{network} The project ID in which the ILB exists. + "region": "A String", # The region for regional ILBs. + }, + ], + }, + "kind": "dns#rRSetRoutingPolicyGeoPolicyGeoPolicyItem", + "location": "A String", # The geo-location granularity is a GCP region. This location string should correspond to a GCP region. e.g. "us-east1", "southamerica-east1", "asia-east1", etc. + "rrdatas": [ + "A String", + ], + "signatureRrdatas": [ # DNSSEC generated signatures for all the rrdata within this item. Note that if health checked targets are provided for DNSSEC enabled zones, there's a restriction of 1 ip per item. . + "A String", + ], + }, + ], + "kind": "dns#rRSetRoutingPolicyGeoPolicy", + }, + "kind": "dns#rRSetRoutingPolicyPrimaryBackupPolicy", + "primaryTargets": { # HealthCheckTargets describes endpoints to health-check when responding to Routing Policy queries. Only the healthy endpoints will be included in the response. + "internalLoadBalancers": [ + { + "ipAddress": "A String", # The frontend IP address of the + "ipProtocol": "A String", + "kind": "dns#rRSetRoutingPolicyLoadBalancerTarget", + "loadBalancerType": "A String", + "networkUrl": "A String", # The fully qualified url of the network on which the ILB is + "port": "A String", # Load Balancer to health check. The configured port of the Load Balancer. + "project": "A String", # present. This should be formatted like https://www.googleapis.com/compute/v1/projects/{project}/global/networks/{network} The project ID in which the ILB exists. + "region": "A String", # The region for regional ILBs. + }, + ], + }, + "trickleTraffic": 3.14, # When serving state is PRIMARY, this field provides the option of sending a small percentage of the traffic to the backup targets. + }, "wrr": { # Configures a RRSetRoutingPolicy that routes in a weighted round robin fashion. "items": [ { # A routing block which contains the routing information for one WRR item. + "healthCheckedTargets": { # HealthCheckTargets describes endpoints to health-check when responding to Routing Policy queries. Only the healthy endpoints will be included in the response. # endpoints that need to be health checked before making the routing decision. The unhealthy endpoints will be omitted from the result. If all endpoints within a buckete are unhealthy, we'll choose a different bucket (sampled w.r.t. its weight) for responding. Note that if DNSSEC is enabled for this zone, only one of rrdata or health_checked_targets can be set. + "internalLoadBalancers": [ + { + "ipAddress": "A String", # The frontend IP address of the + "ipProtocol": "A String", + "kind": "dns#rRSetRoutingPolicyLoadBalancerTarget", + "loadBalancerType": "A String", + "networkUrl": "A String", # The fully qualified url of the network on which the ILB is + "port": "A String", # Load Balancer to health check. The configured port of the Load Balancer. + "project": "A String", # present. This should be formatted like https://www.googleapis.com/compute/v1/projects/{project}/global/networks/{network} The project ID in which the ILB exists. + "region": "A String", # The region for regional ILBs. + }, + ], + }, "kind": "dns#rRSetRoutingPolicyWrrPolicyWrrPolicyItem", "rrdatas": [ "A String", diff --git a/docs/dyn/dns_v1.resourceRecordSets.html b/docs/dyn/dns_v1.resourceRecordSets.html index 930310b2c2e..0d06ee8aa3e 100644 --- a/docs/dyn/dns_v1.resourceRecordSets.html +++ b/docs/dyn/dns_v1.resourceRecordSets.html @@ -116,8 +116,23 @@

Method Details

"name": "A String", # For example, www.example.com. "routingPolicy": { # A RRSetRoutingPolicy represents ResourceRecordSet data that is returned dynamically with the response varying based on configured properties such as geolocation or by weighted random selection. # Configures dynamic query responses based on geo location of querying user or a weighted round robin based routing policy. A ResourceRecordSet should only have either rrdata (static) or routing_policy (dynamic). An error is returned otherwise. "geo": { # Configures a RRSetRoutingPolicy that routes based on the geo location of the querying user. + "enableFencing": True or False, # Without fencing, if health check fails for all configured items in the current geo bucket, we'll failover to the next nearest geo bucket. With fencing, if health check is enabled, as long as some targets in the current geo bucket are healthy, we'll return only the healthy targets. However, if they're all unhealthy, we won't failover to the next nearest bucket, we'll simply return all the items in the current bucket even though they're unhealthy. "items": [ # The primary geo routing configuration. If there are multiple items with the same location, an error is returned instead. { # ResourceRecordSet data for one geo location. + "healthCheckedTargets": { # HealthCheckTargets describes endpoints to health-check when responding to Routing Policy queries. Only the healthy endpoints will be included in the response. # For A and AAAA types only. Endpoints to return in the query result only if they are healthy. These can be specified along with rrdata within this item. + "internalLoadBalancers": [ + { + "ipAddress": "A String", # The frontend IP address of the + "ipProtocol": "A String", + "kind": "dns#rRSetRoutingPolicyLoadBalancerTarget", + "loadBalancerType": "A String", + "networkUrl": "A String", # The fully qualified url of the network on which the ILB is + "port": "A String", # Load Balancer to health check. The configured port of the Load Balancer. + "project": "A String", # present. This should be formatted like https://www.googleapis.com/compute/v1/projects/{project}/global/networks/{network} The project ID in which the ILB exists. + "region": "A String", # The region for regional ILBs. + }, + ], + }, "kind": "dns#rRSetRoutingPolicyGeoPolicyGeoPolicyItem", "location": "A String", # The geo-location granularity is a GCP region. This location string should correspond to a GCP region. e.g. "us-east1", "southamerica-east1", "asia-east1", etc. "rrdatas": [ @@ -131,9 +146,71 @@

Method Details

"kind": "dns#rRSetRoutingPolicyGeoPolicy", }, "kind": "dns#rRSetRoutingPolicy", + "primaryBackup": { # Configures a RRSetRoutingPolicy such that all queries are responded with the primary_targets if they are healthy. And if all of them are unhealthy, then we fallback to a geo localized policy. + "backupGeoTargets": { # Configures a RRSetRoutingPolicy that routes based on the geo location of the querying user. # Backup targets provide a regional failover policy for the otherwise global primary targets. If serving state is set to BACKUP, this policy essentially becomes a geo routing policy. + "enableFencing": True or False, # Without fencing, if health check fails for all configured items in the current geo bucket, we'll failover to the next nearest geo bucket. With fencing, if health check is enabled, as long as some targets in the current geo bucket are healthy, we'll return only the healthy targets. However, if they're all unhealthy, we won't failover to the next nearest bucket, we'll simply return all the items in the current bucket even though they're unhealthy. + "items": [ # The primary geo routing configuration. If there are multiple items with the same location, an error is returned instead. + { # ResourceRecordSet data for one geo location. + "healthCheckedTargets": { # HealthCheckTargets describes endpoints to health-check when responding to Routing Policy queries. Only the healthy endpoints will be included in the response. # For A and AAAA types only. Endpoints to return in the query result only if they are healthy. These can be specified along with rrdata within this item. + "internalLoadBalancers": [ + { + "ipAddress": "A String", # The frontend IP address of the + "ipProtocol": "A String", + "kind": "dns#rRSetRoutingPolicyLoadBalancerTarget", + "loadBalancerType": "A String", + "networkUrl": "A String", # The fully qualified url of the network on which the ILB is + "port": "A String", # Load Balancer to health check. The configured port of the Load Balancer. + "project": "A String", # present. This should be formatted like https://www.googleapis.com/compute/v1/projects/{project}/global/networks/{network} The project ID in which the ILB exists. + "region": "A String", # The region for regional ILBs. + }, + ], + }, + "kind": "dns#rRSetRoutingPolicyGeoPolicyGeoPolicyItem", + "location": "A String", # The geo-location granularity is a GCP region. This location string should correspond to a GCP region. e.g. "us-east1", "southamerica-east1", "asia-east1", etc. + "rrdatas": [ + "A String", + ], + "signatureRrdatas": [ # DNSSEC generated signatures for all the rrdata within this item. Note that if health checked targets are provided for DNSSEC enabled zones, there's a restriction of 1 ip per item. . + "A String", + ], + }, + ], + "kind": "dns#rRSetRoutingPolicyGeoPolicy", + }, + "kind": "dns#rRSetRoutingPolicyPrimaryBackupPolicy", + "primaryTargets": { # HealthCheckTargets describes endpoints to health-check when responding to Routing Policy queries. Only the healthy endpoints will be included in the response. + "internalLoadBalancers": [ + { + "ipAddress": "A String", # The frontend IP address of the + "ipProtocol": "A String", + "kind": "dns#rRSetRoutingPolicyLoadBalancerTarget", + "loadBalancerType": "A String", + "networkUrl": "A String", # The fully qualified url of the network on which the ILB is + "port": "A String", # Load Balancer to health check. The configured port of the Load Balancer. + "project": "A String", # present. This should be formatted like https://www.googleapis.com/compute/v1/projects/{project}/global/networks/{network} The project ID in which the ILB exists. + "region": "A String", # The region for regional ILBs. + }, + ], + }, + "trickleTraffic": 3.14, # When serving state is PRIMARY, this field provides the option of sending a small percentage of the traffic to the backup targets. + }, "wrr": { # Configures a RRSetRoutingPolicy that routes in a weighted round robin fashion. "items": [ { # A routing block which contains the routing information for one WRR item. + "healthCheckedTargets": { # HealthCheckTargets describes endpoints to health-check when responding to Routing Policy queries. Only the healthy endpoints will be included in the response. # endpoints that need to be health checked before making the routing decision. The unhealthy endpoints will be omitted from the result. If all endpoints within a buckete are unhealthy, we'll choose a different bucket (sampled w.r.t. its weight) for responding. Note that if DNSSEC is enabled for this zone, only one of rrdata or health_checked_targets can be set. + "internalLoadBalancers": [ + { + "ipAddress": "A String", # The frontend IP address of the + "ipProtocol": "A String", + "kind": "dns#rRSetRoutingPolicyLoadBalancerTarget", + "loadBalancerType": "A String", + "networkUrl": "A String", # The fully qualified url of the network on which the ILB is + "port": "A String", # Load Balancer to health check. The configured port of the Load Balancer. + "project": "A String", # present. This should be formatted like https://www.googleapis.com/compute/v1/projects/{project}/global/networks/{network} The project ID in which the ILB exists. + "region": "A String", # The region for regional ILBs. + }, + ], + }, "kind": "dns#rRSetRoutingPolicyWrrPolicyWrrPolicyItem", "rrdatas": [ "A String", @@ -171,8 +248,23 @@

Method Details

"name": "A String", # For example, www.example.com. "routingPolicy": { # A RRSetRoutingPolicy represents ResourceRecordSet data that is returned dynamically with the response varying based on configured properties such as geolocation or by weighted random selection. # Configures dynamic query responses based on geo location of querying user or a weighted round robin based routing policy. A ResourceRecordSet should only have either rrdata (static) or routing_policy (dynamic). An error is returned otherwise. "geo": { # Configures a RRSetRoutingPolicy that routes based on the geo location of the querying user. + "enableFencing": True or False, # Without fencing, if health check fails for all configured items in the current geo bucket, we'll failover to the next nearest geo bucket. With fencing, if health check is enabled, as long as some targets in the current geo bucket are healthy, we'll return only the healthy targets. However, if they're all unhealthy, we won't failover to the next nearest bucket, we'll simply return all the items in the current bucket even though they're unhealthy. "items": [ # The primary geo routing configuration. If there are multiple items with the same location, an error is returned instead. { # ResourceRecordSet data for one geo location. + "healthCheckedTargets": { # HealthCheckTargets describes endpoints to health-check when responding to Routing Policy queries. Only the healthy endpoints will be included in the response. # For A and AAAA types only. Endpoints to return in the query result only if they are healthy. These can be specified along with rrdata within this item. + "internalLoadBalancers": [ + { + "ipAddress": "A String", # The frontend IP address of the + "ipProtocol": "A String", + "kind": "dns#rRSetRoutingPolicyLoadBalancerTarget", + "loadBalancerType": "A String", + "networkUrl": "A String", # The fully qualified url of the network on which the ILB is + "port": "A String", # Load Balancer to health check. The configured port of the Load Balancer. + "project": "A String", # present. This should be formatted like https://www.googleapis.com/compute/v1/projects/{project}/global/networks/{network} The project ID in which the ILB exists. + "region": "A String", # The region for regional ILBs. + }, + ], + }, "kind": "dns#rRSetRoutingPolicyGeoPolicyGeoPolicyItem", "location": "A String", # The geo-location granularity is a GCP region. This location string should correspond to a GCP region. e.g. "us-east1", "southamerica-east1", "asia-east1", etc. "rrdatas": [ @@ -186,9 +278,71 @@

Method Details

"kind": "dns#rRSetRoutingPolicyGeoPolicy", }, "kind": "dns#rRSetRoutingPolicy", + "primaryBackup": { # Configures a RRSetRoutingPolicy such that all queries are responded with the primary_targets if they are healthy. And if all of them are unhealthy, then we fallback to a geo localized policy. + "backupGeoTargets": { # Configures a RRSetRoutingPolicy that routes based on the geo location of the querying user. # Backup targets provide a regional failover policy for the otherwise global primary targets. If serving state is set to BACKUP, this policy essentially becomes a geo routing policy. + "enableFencing": True or False, # Without fencing, if health check fails for all configured items in the current geo bucket, we'll failover to the next nearest geo bucket. With fencing, if health check is enabled, as long as some targets in the current geo bucket are healthy, we'll return only the healthy targets. However, if they're all unhealthy, we won't failover to the next nearest bucket, we'll simply return all the items in the current bucket even though they're unhealthy. + "items": [ # The primary geo routing configuration. If there are multiple items with the same location, an error is returned instead. + { # ResourceRecordSet data for one geo location. + "healthCheckedTargets": { # HealthCheckTargets describes endpoints to health-check when responding to Routing Policy queries. Only the healthy endpoints will be included in the response. # For A and AAAA types only. Endpoints to return in the query result only if they are healthy. These can be specified along with rrdata within this item. + "internalLoadBalancers": [ + { + "ipAddress": "A String", # The frontend IP address of the + "ipProtocol": "A String", + "kind": "dns#rRSetRoutingPolicyLoadBalancerTarget", + "loadBalancerType": "A String", + "networkUrl": "A String", # The fully qualified url of the network on which the ILB is + "port": "A String", # Load Balancer to health check. The configured port of the Load Balancer. + "project": "A String", # present. This should be formatted like https://www.googleapis.com/compute/v1/projects/{project}/global/networks/{network} The project ID in which the ILB exists. + "region": "A String", # The region for regional ILBs. + }, + ], + }, + "kind": "dns#rRSetRoutingPolicyGeoPolicyGeoPolicyItem", + "location": "A String", # The geo-location granularity is a GCP region. This location string should correspond to a GCP region. e.g. "us-east1", "southamerica-east1", "asia-east1", etc. + "rrdatas": [ + "A String", + ], + "signatureRrdatas": [ # DNSSEC generated signatures for all the rrdata within this item. Note that if health checked targets are provided for DNSSEC enabled zones, there's a restriction of 1 ip per item. . + "A String", + ], + }, + ], + "kind": "dns#rRSetRoutingPolicyGeoPolicy", + }, + "kind": "dns#rRSetRoutingPolicyPrimaryBackupPolicy", + "primaryTargets": { # HealthCheckTargets describes endpoints to health-check when responding to Routing Policy queries. Only the healthy endpoints will be included in the response. + "internalLoadBalancers": [ + { + "ipAddress": "A String", # The frontend IP address of the + "ipProtocol": "A String", + "kind": "dns#rRSetRoutingPolicyLoadBalancerTarget", + "loadBalancerType": "A String", + "networkUrl": "A String", # The fully qualified url of the network on which the ILB is + "port": "A String", # Load Balancer to health check. The configured port of the Load Balancer. + "project": "A String", # present. This should be formatted like https://www.googleapis.com/compute/v1/projects/{project}/global/networks/{network} The project ID in which the ILB exists. + "region": "A String", # The region for regional ILBs. + }, + ], + }, + "trickleTraffic": 3.14, # When serving state is PRIMARY, this field provides the option of sending a small percentage of the traffic to the backup targets. + }, "wrr": { # Configures a RRSetRoutingPolicy that routes in a weighted round robin fashion. "items": [ { # A routing block which contains the routing information for one WRR item. + "healthCheckedTargets": { # HealthCheckTargets describes endpoints to health-check when responding to Routing Policy queries. Only the healthy endpoints will be included in the response. # endpoints that need to be health checked before making the routing decision. The unhealthy endpoints will be omitted from the result. If all endpoints within a buckete are unhealthy, we'll choose a different bucket (sampled w.r.t. its weight) for responding. Note that if DNSSEC is enabled for this zone, only one of rrdata or health_checked_targets can be set. + "internalLoadBalancers": [ + { + "ipAddress": "A String", # The frontend IP address of the + "ipProtocol": "A String", + "kind": "dns#rRSetRoutingPolicyLoadBalancerTarget", + "loadBalancerType": "A String", + "networkUrl": "A String", # The fully qualified url of the network on which the ILB is + "port": "A String", # Load Balancer to health check. The configured port of the Load Balancer. + "project": "A String", # present. This should be formatted like https://www.googleapis.com/compute/v1/projects/{project}/global/networks/{network} The project ID in which the ILB exists. + "region": "A String", # The region for regional ILBs. + }, + ], + }, "kind": "dns#rRSetRoutingPolicyWrrPolicyWrrPolicyItem", "rrdatas": [ "A String", @@ -258,8 +412,23 @@

Method Details

"name": "A String", # For example, www.example.com. "routingPolicy": { # A RRSetRoutingPolicy represents ResourceRecordSet data that is returned dynamically with the response varying based on configured properties such as geolocation or by weighted random selection. # Configures dynamic query responses based on geo location of querying user or a weighted round robin based routing policy. A ResourceRecordSet should only have either rrdata (static) or routing_policy (dynamic). An error is returned otherwise. "geo": { # Configures a RRSetRoutingPolicy that routes based on the geo location of the querying user. + "enableFencing": True or False, # Without fencing, if health check fails for all configured items in the current geo bucket, we'll failover to the next nearest geo bucket. With fencing, if health check is enabled, as long as some targets in the current geo bucket are healthy, we'll return only the healthy targets. However, if they're all unhealthy, we won't failover to the next nearest bucket, we'll simply return all the items in the current bucket even though they're unhealthy. "items": [ # The primary geo routing configuration. If there are multiple items with the same location, an error is returned instead. { # ResourceRecordSet data for one geo location. + "healthCheckedTargets": { # HealthCheckTargets describes endpoints to health-check when responding to Routing Policy queries. Only the healthy endpoints will be included in the response. # For A and AAAA types only. Endpoints to return in the query result only if they are healthy. These can be specified along with rrdata within this item. + "internalLoadBalancers": [ + { + "ipAddress": "A String", # The frontend IP address of the + "ipProtocol": "A String", + "kind": "dns#rRSetRoutingPolicyLoadBalancerTarget", + "loadBalancerType": "A String", + "networkUrl": "A String", # The fully qualified url of the network on which the ILB is + "port": "A String", # Load Balancer to health check. The configured port of the Load Balancer. + "project": "A String", # present. This should be formatted like https://www.googleapis.com/compute/v1/projects/{project}/global/networks/{network} The project ID in which the ILB exists. + "region": "A String", # The region for regional ILBs. + }, + ], + }, "kind": "dns#rRSetRoutingPolicyGeoPolicyGeoPolicyItem", "location": "A String", # The geo-location granularity is a GCP region. This location string should correspond to a GCP region. e.g. "us-east1", "southamerica-east1", "asia-east1", etc. "rrdatas": [ @@ -273,9 +442,71 @@

Method Details

"kind": "dns#rRSetRoutingPolicyGeoPolicy", }, "kind": "dns#rRSetRoutingPolicy", + "primaryBackup": { # Configures a RRSetRoutingPolicy such that all queries are responded with the primary_targets if they are healthy. And if all of them are unhealthy, then we fallback to a geo localized policy. + "backupGeoTargets": { # Configures a RRSetRoutingPolicy that routes based on the geo location of the querying user. # Backup targets provide a regional failover policy for the otherwise global primary targets. If serving state is set to BACKUP, this policy essentially becomes a geo routing policy. + "enableFencing": True or False, # Without fencing, if health check fails for all configured items in the current geo bucket, we'll failover to the next nearest geo bucket. With fencing, if health check is enabled, as long as some targets in the current geo bucket are healthy, we'll return only the healthy targets. However, if they're all unhealthy, we won't failover to the next nearest bucket, we'll simply return all the items in the current bucket even though they're unhealthy. + "items": [ # The primary geo routing configuration. If there are multiple items with the same location, an error is returned instead. + { # ResourceRecordSet data for one geo location. + "healthCheckedTargets": { # HealthCheckTargets describes endpoints to health-check when responding to Routing Policy queries. Only the healthy endpoints will be included in the response. # For A and AAAA types only. Endpoints to return in the query result only if they are healthy. These can be specified along with rrdata within this item. + "internalLoadBalancers": [ + { + "ipAddress": "A String", # The frontend IP address of the + "ipProtocol": "A String", + "kind": "dns#rRSetRoutingPolicyLoadBalancerTarget", + "loadBalancerType": "A String", + "networkUrl": "A String", # The fully qualified url of the network on which the ILB is + "port": "A String", # Load Balancer to health check. The configured port of the Load Balancer. + "project": "A String", # present. This should be formatted like https://www.googleapis.com/compute/v1/projects/{project}/global/networks/{network} The project ID in which the ILB exists. + "region": "A String", # The region for regional ILBs. + }, + ], + }, + "kind": "dns#rRSetRoutingPolicyGeoPolicyGeoPolicyItem", + "location": "A String", # The geo-location granularity is a GCP region. This location string should correspond to a GCP region. e.g. "us-east1", "southamerica-east1", "asia-east1", etc. + "rrdatas": [ + "A String", + ], + "signatureRrdatas": [ # DNSSEC generated signatures for all the rrdata within this item. Note that if health checked targets are provided for DNSSEC enabled zones, there's a restriction of 1 ip per item. . + "A String", + ], + }, + ], + "kind": "dns#rRSetRoutingPolicyGeoPolicy", + }, + "kind": "dns#rRSetRoutingPolicyPrimaryBackupPolicy", + "primaryTargets": { # HealthCheckTargets describes endpoints to health-check when responding to Routing Policy queries. Only the healthy endpoints will be included in the response. + "internalLoadBalancers": [ + { + "ipAddress": "A String", # The frontend IP address of the + "ipProtocol": "A String", + "kind": "dns#rRSetRoutingPolicyLoadBalancerTarget", + "loadBalancerType": "A String", + "networkUrl": "A String", # The fully qualified url of the network on which the ILB is + "port": "A String", # Load Balancer to health check. The configured port of the Load Balancer. + "project": "A String", # present. This should be formatted like https://www.googleapis.com/compute/v1/projects/{project}/global/networks/{network} The project ID in which the ILB exists. + "region": "A String", # The region for regional ILBs. + }, + ], + }, + "trickleTraffic": 3.14, # When serving state is PRIMARY, this field provides the option of sending a small percentage of the traffic to the backup targets. + }, "wrr": { # Configures a RRSetRoutingPolicy that routes in a weighted round robin fashion. "items": [ { # A routing block which contains the routing information for one WRR item. + "healthCheckedTargets": { # HealthCheckTargets describes endpoints to health-check when responding to Routing Policy queries. Only the healthy endpoints will be included in the response. # endpoints that need to be health checked before making the routing decision. The unhealthy endpoints will be omitted from the result. If all endpoints within a buckete are unhealthy, we'll choose a different bucket (sampled w.r.t. its weight) for responding. Note that if DNSSEC is enabled for this zone, only one of rrdata or health_checked_targets can be set. + "internalLoadBalancers": [ + { + "ipAddress": "A String", # The frontend IP address of the + "ipProtocol": "A String", + "kind": "dns#rRSetRoutingPolicyLoadBalancerTarget", + "loadBalancerType": "A String", + "networkUrl": "A String", # The fully qualified url of the network on which the ILB is + "port": "A String", # Load Balancer to health check. The configured port of the Load Balancer. + "project": "A String", # present. This should be formatted like https://www.googleapis.com/compute/v1/projects/{project}/global/networks/{network} The project ID in which the ILB exists. + "region": "A String", # The region for regional ILBs. + }, + ], + }, "kind": "dns#rRSetRoutingPolicyWrrPolicyWrrPolicyItem", "rrdatas": [ "A String", @@ -331,8 +562,23 @@

Method Details

"name": "A String", # For example, www.example.com. "routingPolicy": { # A RRSetRoutingPolicy represents ResourceRecordSet data that is returned dynamically with the response varying based on configured properties such as geolocation or by weighted random selection. # Configures dynamic query responses based on geo location of querying user or a weighted round robin based routing policy. A ResourceRecordSet should only have either rrdata (static) or routing_policy (dynamic). An error is returned otherwise. "geo": { # Configures a RRSetRoutingPolicy that routes based on the geo location of the querying user. + "enableFencing": True or False, # Without fencing, if health check fails for all configured items in the current geo bucket, we'll failover to the next nearest geo bucket. With fencing, if health check is enabled, as long as some targets in the current geo bucket are healthy, we'll return only the healthy targets. However, if they're all unhealthy, we won't failover to the next nearest bucket, we'll simply return all the items in the current bucket even though they're unhealthy. "items": [ # The primary geo routing configuration. If there are multiple items with the same location, an error is returned instead. { # ResourceRecordSet data for one geo location. + "healthCheckedTargets": { # HealthCheckTargets describes endpoints to health-check when responding to Routing Policy queries. Only the healthy endpoints will be included in the response. # For A and AAAA types only. Endpoints to return in the query result only if they are healthy. These can be specified along with rrdata within this item. + "internalLoadBalancers": [ + { + "ipAddress": "A String", # The frontend IP address of the + "ipProtocol": "A String", + "kind": "dns#rRSetRoutingPolicyLoadBalancerTarget", + "loadBalancerType": "A String", + "networkUrl": "A String", # The fully qualified url of the network on which the ILB is + "port": "A String", # Load Balancer to health check. The configured port of the Load Balancer. + "project": "A String", # present. This should be formatted like https://www.googleapis.com/compute/v1/projects/{project}/global/networks/{network} The project ID in which the ILB exists. + "region": "A String", # The region for regional ILBs. + }, + ], + }, "kind": "dns#rRSetRoutingPolicyGeoPolicyGeoPolicyItem", "location": "A String", # The geo-location granularity is a GCP region. This location string should correspond to a GCP region. e.g. "us-east1", "southamerica-east1", "asia-east1", etc. "rrdatas": [ @@ -346,9 +592,71 @@

Method Details

"kind": "dns#rRSetRoutingPolicyGeoPolicy", }, "kind": "dns#rRSetRoutingPolicy", + "primaryBackup": { # Configures a RRSetRoutingPolicy such that all queries are responded with the primary_targets if they are healthy. And if all of them are unhealthy, then we fallback to a geo localized policy. + "backupGeoTargets": { # Configures a RRSetRoutingPolicy that routes based on the geo location of the querying user. # Backup targets provide a regional failover policy for the otherwise global primary targets. If serving state is set to BACKUP, this policy essentially becomes a geo routing policy. + "enableFencing": True or False, # Without fencing, if health check fails for all configured items in the current geo bucket, we'll failover to the next nearest geo bucket. With fencing, if health check is enabled, as long as some targets in the current geo bucket are healthy, we'll return only the healthy targets. However, if they're all unhealthy, we won't failover to the next nearest bucket, we'll simply return all the items in the current bucket even though they're unhealthy. + "items": [ # The primary geo routing configuration. If there are multiple items with the same location, an error is returned instead. + { # ResourceRecordSet data for one geo location. + "healthCheckedTargets": { # HealthCheckTargets describes endpoints to health-check when responding to Routing Policy queries. Only the healthy endpoints will be included in the response. # For A and AAAA types only. Endpoints to return in the query result only if they are healthy. These can be specified along with rrdata within this item. + "internalLoadBalancers": [ + { + "ipAddress": "A String", # The frontend IP address of the + "ipProtocol": "A String", + "kind": "dns#rRSetRoutingPolicyLoadBalancerTarget", + "loadBalancerType": "A String", + "networkUrl": "A String", # The fully qualified url of the network on which the ILB is + "port": "A String", # Load Balancer to health check. The configured port of the Load Balancer. + "project": "A String", # present. This should be formatted like https://www.googleapis.com/compute/v1/projects/{project}/global/networks/{network} The project ID in which the ILB exists. + "region": "A String", # The region for regional ILBs. + }, + ], + }, + "kind": "dns#rRSetRoutingPolicyGeoPolicyGeoPolicyItem", + "location": "A String", # The geo-location granularity is a GCP region. This location string should correspond to a GCP region. e.g. "us-east1", "southamerica-east1", "asia-east1", etc. + "rrdatas": [ + "A String", + ], + "signatureRrdatas": [ # DNSSEC generated signatures for all the rrdata within this item. Note that if health checked targets are provided for DNSSEC enabled zones, there's a restriction of 1 ip per item. . + "A String", + ], + }, + ], + "kind": "dns#rRSetRoutingPolicyGeoPolicy", + }, + "kind": "dns#rRSetRoutingPolicyPrimaryBackupPolicy", + "primaryTargets": { # HealthCheckTargets describes endpoints to health-check when responding to Routing Policy queries. Only the healthy endpoints will be included in the response. + "internalLoadBalancers": [ + { + "ipAddress": "A String", # The frontend IP address of the + "ipProtocol": "A String", + "kind": "dns#rRSetRoutingPolicyLoadBalancerTarget", + "loadBalancerType": "A String", + "networkUrl": "A String", # The fully qualified url of the network on which the ILB is + "port": "A String", # Load Balancer to health check. The configured port of the Load Balancer. + "project": "A String", # present. This should be formatted like https://www.googleapis.com/compute/v1/projects/{project}/global/networks/{network} The project ID in which the ILB exists. + "region": "A String", # The region for regional ILBs. + }, + ], + }, + "trickleTraffic": 3.14, # When serving state is PRIMARY, this field provides the option of sending a small percentage of the traffic to the backup targets. + }, "wrr": { # Configures a RRSetRoutingPolicy that routes in a weighted round robin fashion. "items": [ { # A routing block which contains the routing information for one WRR item. + "healthCheckedTargets": { # HealthCheckTargets describes endpoints to health-check when responding to Routing Policy queries. Only the healthy endpoints will be included in the response. # endpoints that need to be health checked before making the routing decision. The unhealthy endpoints will be omitted from the result. If all endpoints within a buckete are unhealthy, we'll choose a different bucket (sampled w.r.t. its weight) for responding. Note that if DNSSEC is enabled for this zone, only one of rrdata or health_checked_targets can be set. + "internalLoadBalancers": [ + { + "ipAddress": "A String", # The frontend IP address of the + "ipProtocol": "A String", + "kind": "dns#rRSetRoutingPolicyLoadBalancerTarget", + "loadBalancerType": "A String", + "networkUrl": "A String", # The fully qualified url of the network on which the ILB is + "port": "A String", # Load Balancer to health check. The configured port of the Load Balancer. + "project": "A String", # present. This should be formatted like https://www.googleapis.com/compute/v1/projects/{project}/global/networks/{network} The project ID in which the ILB exists. + "region": "A String", # The region for regional ILBs. + }, + ], + }, "kind": "dns#rRSetRoutingPolicyWrrPolicyWrrPolicyItem", "rrdatas": [ "A String", @@ -406,8 +714,23 @@

Method Details

"name": "A String", # For example, www.example.com. "routingPolicy": { # A RRSetRoutingPolicy represents ResourceRecordSet data that is returned dynamically with the response varying based on configured properties such as geolocation or by weighted random selection. # Configures dynamic query responses based on geo location of querying user or a weighted round robin based routing policy. A ResourceRecordSet should only have either rrdata (static) or routing_policy (dynamic). An error is returned otherwise. "geo": { # Configures a RRSetRoutingPolicy that routes based on the geo location of the querying user. + "enableFencing": True or False, # Without fencing, if health check fails for all configured items in the current geo bucket, we'll failover to the next nearest geo bucket. With fencing, if health check is enabled, as long as some targets in the current geo bucket are healthy, we'll return only the healthy targets. However, if they're all unhealthy, we won't failover to the next nearest bucket, we'll simply return all the items in the current bucket even though they're unhealthy. "items": [ # The primary geo routing configuration. If there are multiple items with the same location, an error is returned instead. { # ResourceRecordSet data for one geo location. + "healthCheckedTargets": { # HealthCheckTargets describes endpoints to health-check when responding to Routing Policy queries. Only the healthy endpoints will be included in the response. # For A and AAAA types only. Endpoints to return in the query result only if they are healthy. These can be specified along with rrdata within this item. + "internalLoadBalancers": [ + { + "ipAddress": "A String", # The frontend IP address of the + "ipProtocol": "A String", + "kind": "dns#rRSetRoutingPolicyLoadBalancerTarget", + "loadBalancerType": "A String", + "networkUrl": "A String", # The fully qualified url of the network on which the ILB is + "port": "A String", # Load Balancer to health check. The configured port of the Load Balancer. + "project": "A String", # present. This should be formatted like https://www.googleapis.com/compute/v1/projects/{project}/global/networks/{network} The project ID in which the ILB exists. + "region": "A String", # The region for regional ILBs. + }, + ], + }, "kind": "dns#rRSetRoutingPolicyGeoPolicyGeoPolicyItem", "location": "A String", # The geo-location granularity is a GCP region. This location string should correspond to a GCP region. e.g. "us-east1", "southamerica-east1", "asia-east1", etc. "rrdatas": [ @@ -421,9 +744,71 @@

Method Details

"kind": "dns#rRSetRoutingPolicyGeoPolicy", }, "kind": "dns#rRSetRoutingPolicy", + "primaryBackup": { # Configures a RRSetRoutingPolicy such that all queries are responded with the primary_targets if they are healthy. And if all of them are unhealthy, then we fallback to a geo localized policy. + "backupGeoTargets": { # Configures a RRSetRoutingPolicy that routes based on the geo location of the querying user. # Backup targets provide a regional failover policy for the otherwise global primary targets. If serving state is set to BACKUP, this policy essentially becomes a geo routing policy. + "enableFencing": True or False, # Without fencing, if health check fails for all configured items in the current geo bucket, we'll failover to the next nearest geo bucket. With fencing, if health check is enabled, as long as some targets in the current geo bucket are healthy, we'll return only the healthy targets. However, if they're all unhealthy, we won't failover to the next nearest bucket, we'll simply return all the items in the current bucket even though they're unhealthy. + "items": [ # The primary geo routing configuration. If there are multiple items with the same location, an error is returned instead. + { # ResourceRecordSet data for one geo location. + "healthCheckedTargets": { # HealthCheckTargets describes endpoints to health-check when responding to Routing Policy queries. Only the healthy endpoints will be included in the response. # For A and AAAA types only. Endpoints to return in the query result only if they are healthy. These can be specified along with rrdata within this item. + "internalLoadBalancers": [ + { + "ipAddress": "A String", # The frontend IP address of the + "ipProtocol": "A String", + "kind": "dns#rRSetRoutingPolicyLoadBalancerTarget", + "loadBalancerType": "A String", + "networkUrl": "A String", # The fully qualified url of the network on which the ILB is + "port": "A String", # Load Balancer to health check. The configured port of the Load Balancer. + "project": "A String", # present. This should be formatted like https://www.googleapis.com/compute/v1/projects/{project}/global/networks/{network} The project ID in which the ILB exists. + "region": "A String", # The region for regional ILBs. + }, + ], + }, + "kind": "dns#rRSetRoutingPolicyGeoPolicyGeoPolicyItem", + "location": "A String", # The geo-location granularity is a GCP region. This location string should correspond to a GCP region. e.g. "us-east1", "southamerica-east1", "asia-east1", etc. + "rrdatas": [ + "A String", + ], + "signatureRrdatas": [ # DNSSEC generated signatures for all the rrdata within this item. Note that if health checked targets are provided for DNSSEC enabled zones, there's a restriction of 1 ip per item. . + "A String", + ], + }, + ], + "kind": "dns#rRSetRoutingPolicyGeoPolicy", + }, + "kind": "dns#rRSetRoutingPolicyPrimaryBackupPolicy", + "primaryTargets": { # HealthCheckTargets describes endpoints to health-check when responding to Routing Policy queries. Only the healthy endpoints will be included in the response. + "internalLoadBalancers": [ + { + "ipAddress": "A String", # The frontend IP address of the + "ipProtocol": "A String", + "kind": "dns#rRSetRoutingPolicyLoadBalancerTarget", + "loadBalancerType": "A String", + "networkUrl": "A String", # The fully qualified url of the network on which the ILB is + "port": "A String", # Load Balancer to health check. The configured port of the Load Balancer. + "project": "A String", # present. This should be formatted like https://www.googleapis.com/compute/v1/projects/{project}/global/networks/{network} The project ID in which the ILB exists. + "region": "A String", # The region for regional ILBs. + }, + ], + }, + "trickleTraffic": 3.14, # When serving state is PRIMARY, this field provides the option of sending a small percentage of the traffic to the backup targets. + }, "wrr": { # Configures a RRSetRoutingPolicy that routes in a weighted round robin fashion. "items": [ { # A routing block which contains the routing information for one WRR item. + "healthCheckedTargets": { # HealthCheckTargets describes endpoints to health-check when responding to Routing Policy queries. Only the healthy endpoints will be included in the response. # endpoints that need to be health checked before making the routing decision. The unhealthy endpoints will be omitted from the result. If all endpoints within a buckete are unhealthy, we'll choose a different bucket (sampled w.r.t. its weight) for responding. Note that if DNSSEC is enabled for this zone, only one of rrdata or health_checked_targets can be set. + "internalLoadBalancers": [ + { + "ipAddress": "A String", # The frontend IP address of the + "ipProtocol": "A String", + "kind": "dns#rRSetRoutingPolicyLoadBalancerTarget", + "loadBalancerType": "A String", + "networkUrl": "A String", # The fully qualified url of the network on which the ILB is + "port": "A String", # Load Balancer to health check. The configured port of the Load Balancer. + "project": "A String", # present. This should be formatted like https://www.googleapis.com/compute/v1/projects/{project}/global/networks/{network} The project ID in which the ILB exists. + "region": "A String", # The region for regional ILBs. + }, + ], + }, "kind": "dns#rRSetRoutingPolicyWrrPolicyWrrPolicyItem", "rrdatas": [ "A String", @@ -461,8 +846,23 @@

Method Details

"name": "A String", # For example, www.example.com. "routingPolicy": { # A RRSetRoutingPolicy represents ResourceRecordSet data that is returned dynamically with the response varying based on configured properties such as geolocation or by weighted random selection. # Configures dynamic query responses based on geo location of querying user or a weighted round robin based routing policy. A ResourceRecordSet should only have either rrdata (static) or routing_policy (dynamic). An error is returned otherwise. "geo": { # Configures a RRSetRoutingPolicy that routes based on the geo location of the querying user. + "enableFencing": True or False, # Without fencing, if health check fails for all configured items in the current geo bucket, we'll failover to the next nearest geo bucket. With fencing, if health check is enabled, as long as some targets in the current geo bucket are healthy, we'll return only the healthy targets. However, if they're all unhealthy, we won't failover to the next nearest bucket, we'll simply return all the items in the current bucket even though they're unhealthy. "items": [ # The primary geo routing configuration. If there are multiple items with the same location, an error is returned instead. { # ResourceRecordSet data for one geo location. + "healthCheckedTargets": { # HealthCheckTargets describes endpoints to health-check when responding to Routing Policy queries. Only the healthy endpoints will be included in the response. # For A and AAAA types only. Endpoints to return in the query result only if they are healthy. These can be specified along with rrdata within this item. + "internalLoadBalancers": [ + { + "ipAddress": "A String", # The frontend IP address of the + "ipProtocol": "A String", + "kind": "dns#rRSetRoutingPolicyLoadBalancerTarget", + "loadBalancerType": "A String", + "networkUrl": "A String", # The fully qualified url of the network on which the ILB is + "port": "A String", # Load Balancer to health check. The configured port of the Load Balancer. + "project": "A String", # present. This should be formatted like https://www.googleapis.com/compute/v1/projects/{project}/global/networks/{network} The project ID in which the ILB exists. + "region": "A String", # The region for regional ILBs. + }, + ], + }, "kind": "dns#rRSetRoutingPolicyGeoPolicyGeoPolicyItem", "location": "A String", # The geo-location granularity is a GCP region. This location string should correspond to a GCP region. e.g. "us-east1", "southamerica-east1", "asia-east1", etc. "rrdatas": [ @@ -476,9 +876,71 @@

Method Details

"kind": "dns#rRSetRoutingPolicyGeoPolicy", }, "kind": "dns#rRSetRoutingPolicy", + "primaryBackup": { # Configures a RRSetRoutingPolicy such that all queries are responded with the primary_targets if they are healthy. And if all of them are unhealthy, then we fallback to a geo localized policy. + "backupGeoTargets": { # Configures a RRSetRoutingPolicy that routes based on the geo location of the querying user. # Backup targets provide a regional failover policy for the otherwise global primary targets. If serving state is set to BACKUP, this policy essentially becomes a geo routing policy. + "enableFencing": True or False, # Without fencing, if health check fails for all configured items in the current geo bucket, we'll failover to the next nearest geo bucket. With fencing, if health check is enabled, as long as some targets in the current geo bucket are healthy, we'll return only the healthy targets. However, if they're all unhealthy, we won't failover to the next nearest bucket, we'll simply return all the items in the current bucket even though they're unhealthy. + "items": [ # The primary geo routing configuration. If there are multiple items with the same location, an error is returned instead. + { # ResourceRecordSet data for one geo location. + "healthCheckedTargets": { # HealthCheckTargets describes endpoints to health-check when responding to Routing Policy queries. Only the healthy endpoints will be included in the response. # For A and AAAA types only. Endpoints to return in the query result only if they are healthy. These can be specified along with rrdata within this item. + "internalLoadBalancers": [ + { + "ipAddress": "A String", # The frontend IP address of the + "ipProtocol": "A String", + "kind": "dns#rRSetRoutingPolicyLoadBalancerTarget", + "loadBalancerType": "A String", + "networkUrl": "A String", # The fully qualified url of the network on which the ILB is + "port": "A String", # Load Balancer to health check. The configured port of the Load Balancer. + "project": "A String", # present. This should be formatted like https://www.googleapis.com/compute/v1/projects/{project}/global/networks/{network} The project ID in which the ILB exists. + "region": "A String", # The region for regional ILBs. + }, + ], + }, + "kind": "dns#rRSetRoutingPolicyGeoPolicyGeoPolicyItem", + "location": "A String", # The geo-location granularity is a GCP region. This location string should correspond to a GCP region. e.g. "us-east1", "southamerica-east1", "asia-east1", etc. + "rrdatas": [ + "A String", + ], + "signatureRrdatas": [ # DNSSEC generated signatures for all the rrdata within this item. Note that if health checked targets are provided for DNSSEC enabled zones, there's a restriction of 1 ip per item. . + "A String", + ], + }, + ], + "kind": "dns#rRSetRoutingPolicyGeoPolicy", + }, + "kind": "dns#rRSetRoutingPolicyPrimaryBackupPolicy", + "primaryTargets": { # HealthCheckTargets describes endpoints to health-check when responding to Routing Policy queries. Only the healthy endpoints will be included in the response. + "internalLoadBalancers": [ + { + "ipAddress": "A String", # The frontend IP address of the + "ipProtocol": "A String", + "kind": "dns#rRSetRoutingPolicyLoadBalancerTarget", + "loadBalancerType": "A String", + "networkUrl": "A String", # The fully qualified url of the network on which the ILB is + "port": "A String", # Load Balancer to health check. The configured port of the Load Balancer. + "project": "A String", # present. This should be formatted like https://www.googleapis.com/compute/v1/projects/{project}/global/networks/{network} The project ID in which the ILB exists. + "region": "A String", # The region for regional ILBs. + }, + ], + }, + "trickleTraffic": 3.14, # When serving state is PRIMARY, this field provides the option of sending a small percentage of the traffic to the backup targets. + }, "wrr": { # Configures a RRSetRoutingPolicy that routes in a weighted round robin fashion. "items": [ { # A routing block which contains the routing information for one WRR item. + "healthCheckedTargets": { # HealthCheckTargets describes endpoints to health-check when responding to Routing Policy queries. Only the healthy endpoints will be included in the response. # endpoints that need to be health checked before making the routing decision. The unhealthy endpoints will be omitted from the result. If all endpoints within a buckete are unhealthy, we'll choose a different bucket (sampled w.r.t. its weight) for responding. Note that if DNSSEC is enabled for this zone, only one of rrdata or health_checked_targets can be set. + "internalLoadBalancers": [ + { + "ipAddress": "A String", # The frontend IP address of the + "ipProtocol": "A String", + "kind": "dns#rRSetRoutingPolicyLoadBalancerTarget", + "loadBalancerType": "A String", + "networkUrl": "A String", # The fully qualified url of the network on which the ILB is + "port": "A String", # Load Balancer to health check. The configured port of the Load Balancer. + "project": "A String", # present. This should be formatted like https://www.googleapis.com/compute/v1/projects/{project}/global/networks/{network} The project ID in which the ILB exists. + "region": "A String", # The region for regional ILBs. + }, + ], + }, "kind": "dns#rRSetRoutingPolicyWrrPolicyWrrPolicyItem", "rrdatas": [ "A String", diff --git a/docs/dyn/dns_v1.responsePolicyRules.html b/docs/dyn/dns_v1.responsePolicyRules.html index fba0167b0d7..249767e93bc 100644 --- a/docs/dyn/dns_v1.responsePolicyRules.html +++ b/docs/dyn/dns_v1.responsePolicyRules.html @@ -125,8 +125,23 @@

Method Details

"name": "A String", # For example, www.example.com. "routingPolicy": { # A RRSetRoutingPolicy represents ResourceRecordSet data that is returned dynamically with the response varying based on configured properties such as geolocation or by weighted random selection. # Configures dynamic query responses based on geo location of querying user or a weighted round robin based routing policy. A ResourceRecordSet should only have either rrdata (static) or routing_policy (dynamic). An error is returned otherwise. "geo": { # Configures a RRSetRoutingPolicy that routes based on the geo location of the querying user. + "enableFencing": True or False, # Without fencing, if health check fails for all configured items in the current geo bucket, we'll failover to the next nearest geo bucket. With fencing, if health check is enabled, as long as some targets in the current geo bucket are healthy, we'll return only the healthy targets. However, if they're all unhealthy, we won't failover to the next nearest bucket, we'll simply return all the items in the current bucket even though they're unhealthy. "items": [ # The primary geo routing configuration. If there are multiple items with the same location, an error is returned instead. { # ResourceRecordSet data for one geo location. + "healthCheckedTargets": { # HealthCheckTargets describes endpoints to health-check when responding to Routing Policy queries. Only the healthy endpoints will be included in the response. # For A and AAAA types only. Endpoints to return in the query result only if they are healthy. These can be specified along with rrdata within this item. + "internalLoadBalancers": [ + { + "ipAddress": "A String", # The frontend IP address of the + "ipProtocol": "A String", + "kind": "dns#rRSetRoutingPolicyLoadBalancerTarget", + "loadBalancerType": "A String", + "networkUrl": "A String", # The fully qualified url of the network on which the ILB is + "port": "A String", # Load Balancer to health check. The configured port of the Load Balancer. + "project": "A String", # present. This should be formatted like https://www.googleapis.com/compute/v1/projects/{project}/global/networks/{network} The project ID in which the ILB exists. + "region": "A String", # The region for regional ILBs. + }, + ], + }, "kind": "dns#rRSetRoutingPolicyGeoPolicyGeoPolicyItem", "location": "A String", # The geo-location granularity is a GCP region. This location string should correspond to a GCP region. e.g. "us-east1", "southamerica-east1", "asia-east1", etc. "rrdatas": [ @@ -140,9 +155,71 @@

Method Details

"kind": "dns#rRSetRoutingPolicyGeoPolicy", }, "kind": "dns#rRSetRoutingPolicy", + "primaryBackup": { # Configures a RRSetRoutingPolicy such that all queries are responded with the primary_targets if they are healthy. And if all of them are unhealthy, then we fallback to a geo localized policy. + "backupGeoTargets": { # Configures a RRSetRoutingPolicy that routes based on the geo location of the querying user. # Backup targets provide a regional failover policy for the otherwise global primary targets. If serving state is set to BACKUP, this policy essentially becomes a geo routing policy. + "enableFencing": True or False, # Without fencing, if health check fails for all configured items in the current geo bucket, we'll failover to the next nearest geo bucket. With fencing, if health check is enabled, as long as some targets in the current geo bucket are healthy, we'll return only the healthy targets. However, if they're all unhealthy, we won't failover to the next nearest bucket, we'll simply return all the items in the current bucket even though they're unhealthy. + "items": [ # The primary geo routing configuration. If there are multiple items with the same location, an error is returned instead. + { # ResourceRecordSet data for one geo location. + "healthCheckedTargets": { # HealthCheckTargets describes endpoints to health-check when responding to Routing Policy queries. Only the healthy endpoints will be included in the response. # For A and AAAA types only. Endpoints to return in the query result only if they are healthy. These can be specified along with rrdata within this item. + "internalLoadBalancers": [ + { + "ipAddress": "A String", # The frontend IP address of the + "ipProtocol": "A String", + "kind": "dns#rRSetRoutingPolicyLoadBalancerTarget", + "loadBalancerType": "A String", + "networkUrl": "A String", # The fully qualified url of the network on which the ILB is + "port": "A String", # Load Balancer to health check. The configured port of the Load Balancer. + "project": "A String", # present. This should be formatted like https://www.googleapis.com/compute/v1/projects/{project}/global/networks/{network} The project ID in which the ILB exists. + "region": "A String", # The region for regional ILBs. + }, + ], + }, + "kind": "dns#rRSetRoutingPolicyGeoPolicyGeoPolicyItem", + "location": "A String", # The geo-location granularity is a GCP region. This location string should correspond to a GCP region. e.g. "us-east1", "southamerica-east1", "asia-east1", etc. + "rrdatas": [ + "A String", + ], + "signatureRrdatas": [ # DNSSEC generated signatures for all the rrdata within this item. Note that if health checked targets are provided for DNSSEC enabled zones, there's a restriction of 1 ip per item. . + "A String", + ], + }, + ], + "kind": "dns#rRSetRoutingPolicyGeoPolicy", + }, + "kind": "dns#rRSetRoutingPolicyPrimaryBackupPolicy", + "primaryTargets": { # HealthCheckTargets describes endpoints to health-check when responding to Routing Policy queries. Only the healthy endpoints will be included in the response. + "internalLoadBalancers": [ + { + "ipAddress": "A String", # The frontend IP address of the + "ipProtocol": "A String", + "kind": "dns#rRSetRoutingPolicyLoadBalancerTarget", + "loadBalancerType": "A String", + "networkUrl": "A String", # The fully qualified url of the network on which the ILB is + "port": "A String", # Load Balancer to health check. The configured port of the Load Balancer. + "project": "A String", # present. This should be formatted like https://www.googleapis.com/compute/v1/projects/{project}/global/networks/{network} The project ID in which the ILB exists. + "region": "A String", # The region for regional ILBs. + }, + ], + }, + "trickleTraffic": 3.14, # When serving state is PRIMARY, this field provides the option of sending a small percentage of the traffic to the backup targets. + }, "wrr": { # Configures a RRSetRoutingPolicy that routes in a weighted round robin fashion. "items": [ { # A routing block which contains the routing information for one WRR item. + "healthCheckedTargets": { # HealthCheckTargets describes endpoints to health-check when responding to Routing Policy queries. Only the healthy endpoints will be included in the response. # endpoints that need to be health checked before making the routing decision. The unhealthy endpoints will be omitted from the result. If all endpoints within a buckete are unhealthy, we'll choose a different bucket (sampled w.r.t. its weight) for responding. Note that if DNSSEC is enabled for this zone, only one of rrdata or health_checked_targets can be set. + "internalLoadBalancers": [ + { + "ipAddress": "A String", # The frontend IP address of the + "ipProtocol": "A String", + "kind": "dns#rRSetRoutingPolicyLoadBalancerTarget", + "loadBalancerType": "A String", + "networkUrl": "A String", # The fully qualified url of the network on which the ILB is + "port": "A String", # Load Balancer to health check. The configured port of the Load Balancer. + "project": "A String", # present. This should be formatted like https://www.googleapis.com/compute/v1/projects/{project}/global/networks/{network} The project ID in which the ILB exists. + "region": "A String", # The region for regional ILBs. + }, + ], + }, "kind": "dns#rRSetRoutingPolicyWrrPolicyWrrPolicyItem", "rrdatas": [ "A String", @@ -190,8 +267,23 @@

Method Details

"name": "A String", # For example, www.example.com. "routingPolicy": { # A RRSetRoutingPolicy represents ResourceRecordSet data that is returned dynamically with the response varying based on configured properties such as geolocation or by weighted random selection. # Configures dynamic query responses based on geo location of querying user or a weighted round robin based routing policy. A ResourceRecordSet should only have either rrdata (static) or routing_policy (dynamic). An error is returned otherwise. "geo": { # Configures a RRSetRoutingPolicy that routes based on the geo location of the querying user. + "enableFencing": True or False, # Without fencing, if health check fails for all configured items in the current geo bucket, we'll failover to the next nearest geo bucket. With fencing, if health check is enabled, as long as some targets in the current geo bucket are healthy, we'll return only the healthy targets. However, if they're all unhealthy, we won't failover to the next nearest bucket, we'll simply return all the items in the current bucket even though they're unhealthy. "items": [ # The primary geo routing configuration. If there are multiple items with the same location, an error is returned instead. { # ResourceRecordSet data for one geo location. + "healthCheckedTargets": { # HealthCheckTargets describes endpoints to health-check when responding to Routing Policy queries. Only the healthy endpoints will be included in the response. # For A and AAAA types only. Endpoints to return in the query result only if they are healthy. These can be specified along with rrdata within this item. + "internalLoadBalancers": [ + { + "ipAddress": "A String", # The frontend IP address of the + "ipProtocol": "A String", + "kind": "dns#rRSetRoutingPolicyLoadBalancerTarget", + "loadBalancerType": "A String", + "networkUrl": "A String", # The fully qualified url of the network on which the ILB is + "port": "A String", # Load Balancer to health check. The configured port of the Load Balancer. + "project": "A String", # present. This should be formatted like https://www.googleapis.com/compute/v1/projects/{project}/global/networks/{network} The project ID in which the ILB exists. + "region": "A String", # The region for regional ILBs. + }, + ], + }, "kind": "dns#rRSetRoutingPolicyGeoPolicyGeoPolicyItem", "location": "A String", # The geo-location granularity is a GCP region. This location string should correspond to a GCP region. e.g. "us-east1", "southamerica-east1", "asia-east1", etc. "rrdatas": [ @@ -205,9 +297,71 @@

Method Details

"kind": "dns#rRSetRoutingPolicyGeoPolicy", }, "kind": "dns#rRSetRoutingPolicy", + "primaryBackup": { # Configures a RRSetRoutingPolicy such that all queries are responded with the primary_targets if they are healthy. And if all of them are unhealthy, then we fallback to a geo localized policy. + "backupGeoTargets": { # Configures a RRSetRoutingPolicy that routes based on the geo location of the querying user. # Backup targets provide a regional failover policy for the otherwise global primary targets. If serving state is set to BACKUP, this policy essentially becomes a geo routing policy. + "enableFencing": True or False, # Without fencing, if health check fails for all configured items in the current geo bucket, we'll failover to the next nearest geo bucket. With fencing, if health check is enabled, as long as some targets in the current geo bucket are healthy, we'll return only the healthy targets. However, if they're all unhealthy, we won't failover to the next nearest bucket, we'll simply return all the items in the current bucket even though they're unhealthy. + "items": [ # The primary geo routing configuration. If there are multiple items with the same location, an error is returned instead. + { # ResourceRecordSet data for one geo location. + "healthCheckedTargets": { # HealthCheckTargets describes endpoints to health-check when responding to Routing Policy queries. Only the healthy endpoints will be included in the response. # For A and AAAA types only. Endpoints to return in the query result only if they are healthy. These can be specified along with rrdata within this item. + "internalLoadBalancers": [ + { + "ipAddress": "A String", # The frontend IP address of the + "ipProtocol": "A String", + "kind": "dns#rRSetRoutingPolicyLoadBalancerTarget", + "loadBalancerType": "A String", + "networkUrl": "A String", # The fully qualified url of the network on which the ILB is + "port": "A String", # Load Balancer to health check. The configured port of the Load Balancer. + "project": "A String", # present. This should be formatted like https://www.googleapis.com/compute/v1/projects/{project}/global/networks/{network} The project ID in which the ILB exists. + "region": "A String", # The region for regional ILBs. + }, + ], + }, + "kind": "dns#rRSetRoutingPolicyGeoPolicyGeoPolicyItem", + "location": "A String", # The geo-location granularity is a GCP region. This location string should correspond to a GCP region. e.g. "us-east1", "southamerica-east1", "asia-east1", etc. + "rrdatas": [ + "A String", + ], + "signatureRrdatas": [ # DNSSEC generated signatures for all the rrdata within this item. Note that if health checked targets are provided for DNSSEC enabled zones, there's a restriction of 1 ip per item. . + "A String", + ], + }, + ], + "kind": "dns#rRSetRoutingPolicyGeoPolicy", + }, + "kind": "dns#rRSetRoutingPolicyPrimaryBackupPolicy", + "primaryTargets": { # HealthCheckTargets describes endpoints to health-check when responding to Routing Policy queries. Only the healthy endpoints will be included in the response. + "internalLoadBalancers": [ + { + "ipAddress": "A String", # The frontend IP address of the + "ipProtocol": "A String", + "kind": "dns#rRSetRoutingPolicyLoadBalancerTarget", + "loadBalancerType": "A String", + "networkUrl": "A String", # The fully qualified url of the network on which the ILB is + "port": "A String", # Load Balancer to health check. The configured port of the Load Balancer. + "project": "A String", # present. This should be formatted like https://www.googleapis.com/compute/v1/projects/{project}/global/networks/{network} The project ID in which the ILB exists. + "region": "A String", # The region for regional ILBs. + }, + ], + }, + "trickleTraffic": 3.14, # When serving state is PRIMARY, this field provides the option of sending a small percentage of the traffic to the backup targets. + }, "wrr": { # Configures a RRSetRoutingPolicy that routes in a weighted round robin fashion. "items": [ { # A routing block which contains the routing information for one WRR item. + "healthCheckedTargets": { # HealthCheckTargets describes endpoints to health-check when responding to Routing Policy queries. Only the healthy endpoints will be included in the response. # endpoints that need to be health checked before making the routing decision. The unhealthy endpoints will be omitted from the result. If all endpoints within a buckete are unhealthy, we'll choose a different bucket (sampled w.r.t. its weight) for responding. Note that if DNSSEC is enabled for this zone, only one of rrdata or health_checked_targets can be set. + "internalLoadBalancers": [ + { + "ipAddress": "A String", # The frontend IP address of the + "ipProtocol": "A String", + "kind": "dns#rRSetRoutingPolicyLoadBalancerTarget", + "loadBalancerType": "A String", + "networkUrl": "A String", # The fully qualified url of the network on which the ILB is + "port": "A String", # Load Balancer to health check. The configured port of the Load Balancer. + "project": "A String", # present. This should be formatted like https://www.googleapis.com/compute/v1/projects/{project}/global/networks/{network} The project ID in which the ILB exists. + "region": "A String", # The region for regional ILBs. + }, + ], + }, "kind": "dns#rRSetRoutingPolicyWrrPolicyWrrPolicyItem", "rrdatas": [ "A String", @@ -280,8 +434,23 @@

Method Details

"name": "A String", # For example, www.example.com. "routingPolicy": { # A RRSetRoutingPolicy represents ResourceRecordSet data that is returned dynamically with the response varying based on configured properties such as geolocation or by weighted random selection. # Configures dynamic query responses based on geo location of querying user or a weighted round robin based routing policy. A ResourceRecordSet should only have either rrdata (static) or routing_policy (dynamic). An error is returned otherwise. "geo": { # Configures a RRSetRoutingPolicy that routes based on the geo location of the querying user. + "enableFencing": True or False, # Without fencing, if health check fails for all configured items in the current geo bucket, we'll failover to the next nearest geo bucket. With fencing, if health check is enabled, as long as some targets in the current geo bucket are healthy, we'll return only the healthy targets. However, if they're all unhealthy, we won't failover to the next nearest bucket, we'll simply return all the items in the current bucket even though they're unhealthy. "items": [ # The primary geo routing configuration. If there are multiple items with the same location, an error is returned instead. { # ResourceRecordSet data for one geo location. + "healthCheckedTargets": { # HealthCheckTargets describes endpoints to health-check when responding to Routing Policy queries. Only the healthy endpoints will be included in the response. # For A and AAAA types only. Endpoints to return in the query result only if they are healthy. These can be specified along with rrdata within this item. + "internalLoadBalancers": [ + { + "ipAddress": "A String", # The frontend IP address of the + "ipProtocol": "A String", + "kind": "dns#rRSetRoutingPolicyLoadBalancerTarget", + "loadBalancerType": "A String", + "networkUrl": "A String", # The fully qualified url of the network on which the ILB is + "port": "A String", # Load Balancer to health check. The configured port of the Load Balancer. + "project": "A String", # present. This should be formatted like https://www.googleapis.com/compute/v1/projects/{project}/global/networks/{network} The project ID in which the ILB exists. + "region": "A String", # The region for regional ILBs. + }, + ], + }, "kind": "dns#rRSetRoutingPolicyGeoPolicyGeoPolicyItem", "location": "A String", # The geo-location granularity is a GCP region. This location string should correspond to a GCP region. e.g. "us-east1", "southamerica-east1", "asia-east1", etc. "rrdatas": [ @@ -295,9 +464,71 @@

Method Details

"kind": "dns#rRSetRoutingPolicyGeoPolicy", }, "kind": "dns#rRSetRoutingPolicy", + "primaryBackup": { # Configures a RRSetRoutingPolicy such that all queries are responded with the primary_targets if they are healthy. And if all of them are unhealthy, then we fallback to a geo localized policy. + "backupGeoTargets": { # Configures a RRSetRoutingPolicy that routes based on the geo location of the querying user. # Backup targets provide a regional failover policy for the otherwise global primary targets. If serving state is set to BACKUP, this policy essentially becomes a geo routing policy. + "enableFencing": True or False, # Without fencing, if health check fails for all configured items in the current geo bucket, we'll failover to the next nearest geo bucket. With fencing, if health check is enabled, as long as some targets in the current geo bucket are healthy, we'll return only the healthy targets. However, if they're all unhealthy, we won't failover to the next nearest bucket, we'll simply return all the items in the current bucket even though they're unhealthy. + "items": [ # The primary geo routing configuration. If there are multiple items with the same location, an error is returned instead. + { # ResourceRecordSet data for one geo location. + "healthCheckedTargets": { # HealthCheckTargets describes endpoints to health-check when responding to Routing Policy queries. Only the healthy endpoints will be included in the response. # For A and AAAA types only. Endpoints to return in the query result only if they are healthy. These can be specified along with rrdata within this item. + "internalLoadBalancers": [ + { + "ipAddress": "A String", # The frontend IP address of the + "ipProtocol": "A String", + "kind": "dns#rRSetRoutingPolicyLoadBalancerTarget", + "loadBalancerType": "A String", + "networkUrl": "A String", # The fully qualified url of the network on which the ILB is + "port": "A String", # Load Balancer to health check. The configured port of the Load Balancer. + "project": "A String", # present. This should be formatted like https://www.googleapis.com/compute/v1/projects/{project}/global/networks/{network} The project ID in which the ILB exists. + "region": "A String", # The region for regional ILBs. + }, + ], + }, + "kind": "dns#rRSetRoutingPolicyGeoPolicyGeoPolicyItem", + "location": "A String", # The geo-location granularity is a GCP region. This location string should correspond to a GCP region. e.g. "us-east1", "southamerica-east1", "asia-east1", etc. + "rrdatas": [ + "A String", + ], + "signatureRrdatas": [ # DNSSEC generated signatures for all the rrdata within this item. Note that if health checked targets are provided for DNSSEC enabled zones, there's a restriction of 1 ip per item. . + "A String", + ], + }, + ], + "kind": "dns#rRSetRoutingPolicyGeoPolicy", + }, + "kind": "dns#rRSetRoutingPolicyPrimaryBackupPolicy", + "primaryTargets": { # HealthCheckTargets describes endpoints to health-check when responding to Routing Policy queries. Only the healthy endpoints will be included in the response. + "internalLoadBalancers": [ + { + "ipAddress": "A String", # The frontend IP address of the + "ipProtocol": "A String", + "kind": "dns#rRSetRoutingPolicyLoadBalancerTarget", + "loadBalancerType": "A String", + "networkUrl": "A String", # The fully qualified url of the network on which the ILB is + "port": "A String", # Load Balancer to health check. The configured port of the Load Balancer. + "project": "A String", # present. This should be formatted like https://www.googleapis.com/compute/v1/projects/{project}/global/networks/{network} The project ID in which the ILB exists. + "region": "A String", # The region for regional ILBs. + }, + ], + }, + "trickleTraffic": 3.14, # When serving state is PRIMARY, this field provides the option of sending a small percentage of the traffic to the backup targets. + }, "wrr": { # Configures a RRSetRoutingPolicy that routes in a weighted round robin fashion. "items": [ { # A routing block which contains the routing information for one WRR item. + "healthCheckedTargets": { # HealthCheckTargets describes endpoints to health-check when responding to Routing Policy queries. Only the healthy endpoints will be included in the response. # endpoints that need to be health checked before making the routing decision. The unhealthy endpoints will be omitted from the result. If all endpoints within a buckete are unhealthy, we'll choose a different bucket (sampled w.r.t. its weight) for responding. Note that if DNSSEC is enabled for this zone, only one of rrdata or health_checked_targets can be set. + "internalLoadBalancers": [ + { + "ipAddress": "A String", # The frontend IP address of the + "ipProtocol": "A String", + "kind": "dns#rRSetRoutingPolicyLoadBalancerTarget", + "loadBalancerType": "A String", + "networkUrl": "A String", # The fully qualified url of the network on which the ILB is + "port": "A String", # Load Balancer to health check. The configured port of the Load Balancer. + "project": "A String", # present. This should be formatted like https://www.googleapis.com/compute/v1/projects/{project}/global/networks/{network} The project ID in which the ILB exists. + "region": "A String", # The region for regional ILBs. + }, + ], + }, "kind": "dns#rRSetRoutingPolicyWrrPolicyWrrPolicyItem", "rrdatas": [ "A String", @@ -360,8 +591,23 @@

Method Details

"name": "A String", # For example, www.example.com. "routingPolicy": { # A RRSetRoutingPolicy represents ResourceRecordSet data that is returned dynamically with the response varying based on configured properties such as geolocation or by weighted random selection. # Configures dynamic query responses based on geo location of querying user or a weighted round robin based routing policy. A ResourceRecordSet should only have either rrdata (static) or routing_policy (dynamic). An error is returned otherwise. "geo": { # Configures a RRSetRoutingPolicy that routes based on the geo location of the querying user. + "enableFencing": True or False, # Without fencing, if health check fails for all configured items in the current geo bucket, we'll failover to the next nearest geo bucket. With fencing, if health check is enabled, as long as some targets in the current geo bucket are healthy, we'll return only the healthy targets. However, if they're all unhealthy, we won't failover to the next nearest bucket, we'll simply return all the items in the current bucket even though they're unhealthy. "items": [ # The primary geo routing configuration. If there are multiple items with the same location, an error is returned instead. { # ResourceRecordSet data for one geo location. + "healthCheckedTargets": { # HealthCheckTargets describes endpoints to health-check when responding to Routing Policy queries. Only the healthy endpoints will be included in the response. # For A and AAAA types only. Endpoints to return in the query result only if they are healthy. These can be specified along with rrdata within this item. + "internalLoadBalancers": [ + { + "ipAddress": "A String", # The frontend IP address of the + "ipProtocol": "A String", + "kind": "dns#rRSetRoutingPolicyLoadBalancerTarget", + "loadBalancerType": "A String", + "networkUrl": "A String", # The fully qualified url of the network on which the ILB is + "port": "A String", # Load Balancer to health check. The configured port of the Load Balancer. + "project": "A String", # present. This should be formatted like https://www.googleapis.com/compute/v1/projects/{project}/global/networks/{network} The project ID in which the ILB exists. + "region": "A String", # The region for regional ILBs. + }, + ], + }, "kind": "dns#rRSetRoutingPolicyGeoPolicyGeoPolicyItem", "location": "A String", # The geo-location granularity is a GCP region. This location string should correspond to a GCP region. e.g. "us-east1", "southamerica-east1", "asia-east1", etc. "rrdatas": [ @@ -375,9 +621,71 @@

Method Details

"kind": "dns#rRSetRoutingPolicyGeoPolicy", }, "kind": "dns#rRSetRoutingPolicy", + "primaryBackup": { # Configures a RRSetRoutingPolicy such that all queries are responded with the primary_targets if they are healthy. And if all of them are unhealthy, then we fallback to a geo localized policy. + "backupGeoTargets": { # Configures a RRSetRoutingPolicy that routes based on the geo location of the querying user. # Backup targets provide a regional failover policy for the otherwise global primary targets. If serving state is set to BACKUP, this policy essentially becomes a geo routing policy. + "enableFencing": True or False, # Without fencing, if health check fails for all configured items in the current geo bucket, we'll failover to the next nearest geo bucket. With fencing, if health check is enabled, as long as some targets in the current geo bucket are healthy, we'll return only the healthy targets. However, if they're all unhealthy, we won't failover to the next nearest bucket, we'll simply return all the items in the current bucket even though they're unhealthy. + "items": [ # The primary geo routing configuration. If there are multiple items with the same location, an error is returned instead. + { # ResourceRecordSet data for one geo location. + "healthCheckedTargets": { # HealthCheckTargets describes endpoints to health-check when responding to Routing Policy queries. Only the healthy endpoints will be included in the response. # For A and AAAA types only. Endpoints to return in the query result only if they are healthy. These can be specified along with rrdata within this item. + "internalLoadBalancers": [ + { + "ipAddress": "A String", # The frontend IP address of the + "ipProtocol": "A String", + "kind": "dns#rRSetRoutingPolicyLoadBalancerTarget", + "loadBalancerType": "A String", + "networkUrl": "A String", # The fully qualified url of the network on which the ILB is + "port": "A String", # Load Balancer to health check. The configured port of the Load Balancer. + "project": "A String", # present. This should be formatted like https://www.googleapis.com/compute/v1/projects/{project}/global/networks/{network} The project ID in which the ILB exists. + "region": "A String", # The region for regional ILBs. + }, + ], + }, + "kind": "dns#rRSetRoutingPolicyGeoPolicyGeoPolicyItem", + "location": "A String", # The geo-location granularity is a GCP region. This location string should correspond to a GCP region. e.g. "us-east1", "southamerica-east1", "asia-east1", etc. + "rrdatas": [ + "A String", + ], + "signatureRrdatas": [ # DNSSEC generated signatures for all the rrdata within this item. Note that if health checked targets are provided for DNSSEC enabled zones, there's a restriction of 1 ip per item. . + "A String", + ], + }, + ], + "kind": "dns#rRSetRoutingPolicyGeoPolicy", + }, + "kind": "dns#rRSetRoutingPolicyPrimaryBackupPolicy", + "primaryTargets": { # HealthCheckTargets describes endpoints to health-check when responding to Routing Policy queries. Only the healthy endpoints will be included in the response. + "internalLoadBalancers": [ + { + "ipAddress": "A String", # The frontend IP address of the + "ipProtocol": "A String", + "kind": "dns#rRSetRoutingPolicyLoadBalancerTarget", + "loadBalancerType": "A String", + "networkUrl": "A String", # The fully qualified url of the network on which the ILB is + "port": "A String", # Load Balancer to health check. The configured port of the Load Balancer. + "project": "A String", # present. This should be formatted like https://www.googleapis.com/compute/v1/projects/{project}/global/networks/{network} The project ID in which the ILB exists. + "region": "A String", # The region for regional ILBs. + }, + ], + }, + "trickleTraffic": 3.14, # When serving state is PRIMARY, this field provides the option of sending a small percentage of the traffic to the backup targets. + }, "wrr": { # Configures a RRSetRoutingPolicy that routes in a weighted round robin fashion. "items": [ { # A routing block which contains the routing information for one WRR item. + "healthCheckedTargets": { # HealthCheckTargets describes endpoints to health-check when responding to Routing Policy queries. Only the healthy endpoints will be included in the response. # endpoints that need to be health checked before making the routing decision. The unhealthy endpoints will be omitted from the result. If all endpoints within a buckete are unhealthy, we'll choose a different bucket (sampled w.r.t. its weight) for responding. Note that if DNSSEC is enabled for this zone, only one of rrdata or health_checked_targets can be set. + "internalLoadBalancers": [ + { + "ipAddress": "A String", # The frontend IP address of the + "ipProtocol": "A String", + "kind": "dns#rRSetRoutingPolicyLoadBalancerTarget", + "loadBalancerType": "A String", + "networkUrl": "A String", # The fully qualified url of the network on which the ILB is + "port": "A String", # Load Balancer to health check. The configured port of the Load Balancer. + "project": "A String", # present. This should be formatted like https://www.googleapis.com/compute/v1/projects/{project}/global/networks/{network} The project ID in which the ILB exists. + "region": "A String", # The region for regional ILBs. + }, + ], + }, "kind": "dns#rRSetRoutingPolicyWrrPolicyWrrPolicyItem", "rrdatas": [ "A String", @@ -444,8 +752,23 @@

Method Details

"name": "A String", # For example, www.example.com. "routingPolicy": { # A RRSetRoutingPolicy represents ResourceRecordSet data that is returned dynamically with the response varying based on configured properties such as geolocation or by weighted random selection. # Configures dynamic query responses based on geo location of querying user or a weighted round robin based routing policy. A ResourceRecordSet should only have either rrdata (static) or routing_policy (dynamic). An error is returned otherwise. "geo": { # Configures a RRSetRoutingPolicy that routes based on the geo location of the querying user. + "enableFencing": True or False, # Without fencing, if health check fails for all configured items in the current geo bucket, we'll failover to the next nearest geo bucket. With fencing, if health check is enabled, as long as some targets in the current geo bucket are healthy, we'll return only the healthy targets. However, if they're all unhealthy, we won't failover to the next nearest bucket, we'll simply return all the items in the current bucket even though they're unhealthy. "items": [ # The primary geo routing configuration. If there are multiple items with the same location, an error is returned instead. { # ResourceRecordSet data for one geo location. + "healthCheckedTargets": { # HealthCheckTargets describes endpoints to health-check when responding to Routing Policy queries. Only the healthy endpoints will be included in the response. # For A and AAAA types only. Endpoints to return in the query result only if they are healthy. These can be specified along with rrdata within this item. + "internalLoadBalancers": [ + { + "ipAddress": "A String", # The frontend IP address of the + "ipProtocol": "A String", + "kind": "dns#rRSetRoutingPolicyLoadBalancerTarget", + "loadBalancerType": "A String", + "networkUrl": "A String", # The fully qualified url of the network on which the ILB is + "port": "A String", # Load Balancer to health check. The configured port of the Load Balancer. + "project": "A String", # present. This should be formatted like https://www.googleapis.com/compute/v1/projects/{project}/global/networks/{network} The project ID in which the ILB exists. + "region": "A String", # The region for regional ILBs. + }, + ], + }, "kind": "dns#rRSetRoutingPolicyGeoPolicyGeoPolicyItem", "location": "A String", # The geo-location granularity is a GCP region. This location string should correspond to a GCP region. e.g. "us-east1", "southamerica-east1", "asia-east1", etc. "rrdatas": [ @@ -459,9 +782,71 @@

Method Details

"kind": "dns#rRSetRoutingPolicyGeoPolicy", }, "kind": "dns#rRSetRoutingPolicy", + "primaryBackup": { # Configures a RRSetRoutingPolicy such that all queries are responded with the primary_targets if they are healthy. And if all of them are unhealthy, then we fallback to a geo localized policy. + "backupGeoTargets": { # Configures a RRSetRoutingPolicy that routes based on the geo location of the querying user. # Backup targets provide a regional failover policy for the otherwise global primary targets. If serving state is set to BACKUP, this policy essentially becomes a geo routing policy. + "enableFencing": True or False, # Without fencing, if health check fails for all configured items in the current geo bucket, we'll failover to the next nearest geo bucket. With fencing, if health check is enabled, as long as some targets in the current geo bucket are healthy, we'll return only the healthy targets. However, if they're all unhealthy, we won't failover to the next nearest bucket, we'll simply return all the items in the current bucket even though they're unhealthy. + "items": [ # The primary geo routing configuration. If there are multiple items with the same location, an error is returned instead. + { # ResourceRecordSet data for one geo location. + "healthCheckedTargets": { # HealthCheckTargets describes endpoints to health-check when responding to Routing Policy queries. Only the healthy endpoints will be included in the response. # For A and AAAA types only. Endpoints to return in the query result only if they are healthy. These can be specified along with rrdata within this item. + "internalLoadBalancers": [ + { + "ipAddress": "A String", # The frontend IP address of the + "ipProtocol": "A String", + "kind": "dns#rRSetRoutingPolicyLoadBalancerTarget", + "loadBalancerType": "A String", + "networkUrl": "A String", # The fully qualified url of the network on which the ILB is + "port": "A String", # Load Balancer to health check. The configured port of the Load Balancer. + "project": "A String", # present. This should be formatted like https://www.googleapis.com/compute/v1/projects/{project}/global/networks/{network} The project ID in which the ILB exists. + "region": "A String", # The region for regional ILBs. + }, + ], + }, + "kind": "dns#rRSetRoutingPolicyGeoPolicyGeoPolicyItem", + "location": "A String", # The geo-location granularity is a GCP region. This location string should correspond to a GCP region. e.g. "us-east1", "southamerica-east1", "asia-east1", etc. + "rrdatas": [ + "A String", + ], + "signatureRrdatas": [ # DNSSEC generated signatures for all the rrdata within this item. Note that if health checked targets are provided for DNSSEC enabled zones, there's a restriction of 1 ip per item. . + "A String", + ], + }, + ], + "kind": "dns#rRSetRoutingPolicyGeoPolicy", + }, + "kind": "dns#rRSetRoutingPolicyPrimaryBackupPolicy", + "primaryTargets": { # HealthCheckTargets describes endpoints to health-check when responding to Routing Policy queries. Only the healthy endpoints will be included in the response. + "internalLoadBalancers": [ + { + "ipAddress": "A String", # The frontend IP address of the + "ipProtocol": "A String", + "kind": "dns#rRSetRoutingPolicyLoadBalancerTarget", + "loadBalancerType": "A String", + "networkUrl": "A String", # The fully qualified url of the network on which the ILB is + "port": "A String", # Load Balancer to health check. The configured port of the Load Balancer. + "project": "A String", # present. This should be formatted like https://www.googleapis.com/compute/v1/projects/{project}/global/networks/{network} The project ID in which the ILB exists. + "region": "A String", # The region for regional ILBs. + }, + ], + }, + "trickleTraffic": 3.14, # When serving state is PRIMARY, this field provides the option of sending a small percentage of the traffic to the backup targets. + }, "wrr": { # Configures a RRSetRoutingPolicy that routes in a weighted round robin fashion. "items": [ { # A routing block which contains the routing information for one WRR item. + "healthCheckedTargets": { # HealthCheckTargets describes endpoints to health-check when responding to Routing Policy queries. Only the healthy endpoints will be included in the response. # endpoints that need to be health checked before making the routing decision. The unhealthy endpoints will be omitted from the result. If all endpoints within a buckete are unhealthy, we'll choose a different bucket (sampled w.r.t. its weight) for responding. Note that if DNSSEC is enabled for this zone, only one of rrdata or health_checked_targets can be set. + "internalLoadBalancers": [ + { + "ipAddress": "A String", # The frontend IP address of the + "ipProtocol": "A String", + "kind": "dns#rRSetRoutingPolicyLoadBalancerTarget", + "loadBalancerType": "A String", + "networkUrl": "A String", # The fully qualified url of the network on which the ILB is + "port": "A String", # Load Balancer to health check. The configured port of the Load Balancer. + "project": "A String", # present. This should be formatted like https://www.googleapis.com/compute/v1/projects/{project}/global/networks/{network} The project ID in which the ILB exists. + "region": "A String", # The region for regional ILBs. + }, + ], + }, "kind": "dns#rRSetRoutingPolicyWrrPolicyWrrPolicyItem", "rrdatas": [ "A String", @@ -513,8 +898,23 @@

Method Details

"name": "A String", # For example, www.example.com. "routingPolicy": { # A RRSetRoutingPolicy represents ResourceRecordSet data that is returned dynamically with the response varying based on configured properties such as geolocation or by weighted random selection. # Configures dynamic query responses based on geo location of querying user or a weighted round robin based routing policy. A ResourceRecordSet should only have either rrdata (static) or routing_policy (dynamic). An error is returned otherwise. "geo": { # Configures a RRSetRoutingPolicy that routes based on the geo location of the querying user. + "enableFencing": True or False, # Without fencing, if health check fails for all configured items in the current geo bucket, we'll failover to the next nearest geo bucket. With fencing, if health check is enabled, as long as some targets in the current geo bucket are healthy, we'll return only the healthy targets. However, if they're all unhealthy, we won't failover to the next nearest bucket, we'll simply return all the items in the current bucket even though they're unhealthy. "items": [ # The primary geo routing configuration. If there are multiple items with the same location, an error is returned instead. { # ResourceRecordSet data for one geo location. + "healthCheckedTargets": { # HealthCheckTargets describes endpoints to health-check when responding to Routing Policy queries. Only the healthy endpoints will be included in the response. # For A and AAAA types only. Endpoints to return in the query result only if they are healthy. These can be specified along with rrdata within this item. + "internalLoadBalancers": [ + { + "ipAddress": "A String", # The frontend IP address of the + "ipProtocol": "A String", + "kind": "dns#rRSetRoutingPolicyLoadBalancerTarget", + "loadBalancerType": "A String", + "networkUrl": "A String", # The fully qualified url of the network on which the ILB is + "port": "A String", # Load Balancer to health check. The configured port of the Load Balancer. + "project": "A String", # present. This should be formatted like https://www.googleapis.com/compute/v1/projects/{project}/global/networks/{network} The project ID in which the ILB exists. + "region": "A String", # The region for regional ILBs. + }, + ], + }, "kind": "dns#rRSetRoutingPolicyGeoPolicyGeoPolicyItem", "location": "A String", # The geo-location granularity is a GCP region. This location string should correspond to a GCP region. e.g. "us-east1", "southamerica-east1", "asia-east1", etc. "rrdatas": [ @@ -528,9 +928,71 @@

Method Details

"kind": "dns#rRSetRoutingPolicyGeoPolicy", }, "kind": "dns#rRSetRoutingPolicy", + "primaryBackup": { # Configures a RRSetRoutingPolicy such that all queries are responded with the primary_targets if they are healthy. And if all of them are unhealthy, then we fallback to a geo localized policy. + "backupGeoTargets": { # Configures a RRSetRoutingPolicy that routes based on the geo location of the querying user. # Backup targets provide a regional failover policy for the otherwise global primary targets. If serving state is set to BACKUP, this policy essentially becomes a geo routing policy. + "enableFencing": True or False, # Without fencing, if health check fails for all configured items in the current geo bucket, we'll failover to the next nearest geo bucket. With fencing, if health check is enabled, as long as some targets in the current geo bucket are healthy, we'll return only the healthy targets. However, if they're all unhealthy, we won't failover to the next nearest bucket, we'll simply return all the items in the current bucket even though they're unhealthy. + "items": [ # The primary geo routing configuration. If there are multiple items with the same location, an error is returned instead. + { # ResourceRecordSet data for one geo location. + "healthCheckedTargets": { # HealthCheckTargets describes endpoints to health-check when responding to Routing Policy queries. Only the healthy endpoints will be included in the response. # For A and AAAA types only. Endpoints to return in the query result only if they are healthy. These can be specified along with rrdata within this item. + "internalLoadBalancers": [ + { + "ipAddress": "A String", # The frontend IP address of the + "ipProtocol": "A String", + "kind": "dns#rRSetRoutingPolicyLoadBalancerTarget", + "loadBalancerType": "A String", + "networkUrl": "A String", # The fully qualified url of the network on which the ILB is + "port": "A String", # Load Balancer to health check. The configured port of the Load Balancer. + "project": "A String", # present. This should be formatted like https://www.googleapis.com/compute/v1/projects/{project}/global/networks/{network} The project ID in which the ILB exists. + "region": "A String", # The region for regional ILBs. + }, + ], + }, + "kind": "dns#rRSetRoutingPolicyGeoPolicyGeoPolicyItem", + "location": "A String", # The geo-location granularity is a GCP region. This location string should correspond to a GCP region. e.g. "us-east1", "southamerica-east1", "asia-east1", etc. + "rrdatas": [ + "A String", + ], + "signatureRrdatas": [ # DNSSEC generated signatures for all the rrdata within this item. Note that if health checked targets are provided for DNSSEC enabled zones, there's a restriction of 1 ip per item. . + "A String", + ], + }, + ], + "kind": "dns#rRSetRoutingPolicyGeoPolicy", + }, + "kind": "dns#rRSetRoutingPolicyPrimaryBackupPolicy", + "primaryTargets": { # HealthCheckTargets describes endpoints to health-check when responding to Routing Policy queries. Only the healthy endpoints will be included in the response. + "internalLoadBalancers": [ + { + "ipAddress": "A String", # The frontend IP address of the + "ipProtocol": "A String", + "kind": "dns#rRSetRoutingPolicyLoadBalancerTarget", + "loadBalancerType": "A String", + "networkUrl": "A String", # The fully qualified url of the network on which the ILB is + "port": "A String", # Load Balancer to health check. The configured port of the Load Balancer. + "project": "A String", # present. This should be formatted like https://www.googleapis.com/compute/v1/projects/{project}/global/networks/{network} The project ID in which the ILB exists. + "region": "A String", # The region for regional ILBs. + }, + ], + }, + "trickleTraffic": 3.14, # When serving state is PRIMARY, this field provides the option of sending a small percentage of the traffic to the backup targets. + }, "wrr": { # Configures a RRSetRoutingPolicy that routes in a weighted round robin fashion. "items": [ { # A routing block which contains the routing information for one WRR item. + "healthCheckedTargets": { # HealthCheckTargets describes endpoints to health-check when responding to Routing Policy queries. Only the healthy endpoints will be included in the response. # endpoints that need to be health checked before making the routing decision. The unhealthy endpoints will be omitted from the result. If all endpoints within a buckete are unhealthy, we'll choose a different bucket (sampled w.r.t. its weight) for responding. Note that if DNSSEC is enabled for this zone, only one of rrdata or health_checked_targets can be set. + "internalLoadBalancers": [ + { + "ipAddress": "A String", # The frontend IP address of the + "ipProtocol": "A String", + "kind": "dns#rRSetRoutingPolicyLoadBalancerTarget", + "loadBalancerType": "A String", + "networkUrl": "A String", # The fully qualified url of the network on which the ILB is + "port": "A String", # Load Balancer to health check. The configured port of the Load Balancer. + "project": "A String", # present. This should be formatted like https://www.googleapis.com/compute/v1/projects/{project}/global/networks/{network} The project ID in which the ILB exists. + "region": "A String", # The region for regional ILBs. + }, + ], + }, "kind": "dns#rRSetRoutingPolicyWrrPolicyWrrPolicyItem", "rrdatas": [ "A String", @@ -582,8 +1044,23 @@

Method Details

"name": "A String", # For example, www.example.com. "routingPolicy": { # A RRSetRoutingPolicy represents ResourceRecordSet data that is returned dynamically with the response varying based on configured properties such as geolocation or by weighted random selection. # Configures dynamic query responses based on geo location of querying user or a weighted round robin based routing policy. A ResourceRecordSet should only have either rrdata (static) or routing_policy (dynamic). An error is returned otherwise. "geo": { # Configures a RRSetRoutingPolicy that routes based on the geo location of the querying user. + "enableFencing": True or False, # Without fencing, if health check fails for all configured items in the current geo bucket, we'll failover to the next nearest geo bucket. With fencing, if health check is enabled, as long as some targets in the current geo bucket are healthy, we'll return only the healthy targets. However, if they're all unhealthy, we won't failover to the next nearest bucket, we'll simply return all the items in the current bucket even though they're unhealthy. "items": [ # The primary geo routing configuration. If there are multiple items with the same location, an error is returned instead. { # ResourceRecordSet data for one geo location. + "healthCheckedTargets": { # HealthCheckTargets describes endpoints to health-check when responding to Routing Policy queries. Only the healthy endpoints will be included in the response. # For A and AAAA types only. Endpoints to return in the query result only if they are healthy. These can be specified along with rrdata within this item. + "internalLoadBalancers": [ + { + "ipAddress": "A String", # The frontend IP address of the + "ipProtocol": "A String", + "kind": "dns#rRSetRoutingPolicyLoadBalancerTarget", + "loadBalancerType": "A String", + "networkUrl": "A String", # The fully qualified url of the network on which the ILB is + "port": "A String", # Load Balancer to health check. The configured port of the Load Balancer. + "project": "A String", # present. This should be formatted like https://www.googleapis.com/compute/v1/projects/{project}/global/networks/{network} The project ID in which the ILB exists. + "region": "A String", # The region for regional ILBs. + }, + ], + }, "kind": "dns#rRSetRoutingPolicyGeoPolicyGeoPolicyItem", "location": "A String", # The geo-location granularity is a GCP region. This location string should correspond to a GCP region. e.g. "us-east1", "southamerica-east1", "asia-east1", etc. "rrdatas": [ @@ -597,9 +1074,71 @@

Method Details

"kind": "dns#rRSetRoutingPolicyGeoPolicy", }, "kind": "dns#rRSetRoutingPolicy", + "primaryBackup": { # Configures a RRSetRoutingPolicy such that all queries are responded with the primary_targets if they are healthy. And if all of them are unhealthy, then we fallback to a geo localized policy. + "backupGeoTargets": { # Configures a RRSetRoutingPolicy that routes based on the geo location of the querying user. # Backup targets provide a regional failover policy for the otherwise global primary targets. If serving state is set to BACKUP, this policy essentially becomes a geo routing policy. + "enableFencing": True or False, # Without fencing, if health check fails for all configured items in the current geo bucket, we'll failover to the next nearest geo bucket. With fencing, if health check is enabled, as long as some targets in the current geo bucket are healthy, we'll return only the healthy targets. However, if they're all unhealthy, we won't failover to the next nearest bucket, we'll simply return all the items in the current bucket even though they're unhealthy. + "items": [ # The primary geo routing configuration. If there are multiple items with the same location, an error is returned instead. + { # ResourceRecordSet data for one geo location. + "healthCheckedTargets": { # HealthCheckTargets describes endpoints to health-check when responding to Routing Policy queries. Only the healthy endpoints will be included in the response. # For A and AAAA types only. Endpoints to return in the query result only if they are healthy. These can be specified along with rrdata within this item. + "internalLoadBalancers": [ + { + "ipAddress": "A String", # The frontend IP address of the + "ipProtocol": "A String", + "kind": "dns#rRSetRoutingPolicyLoadBalancerTarget", + "loadBalancerType": "A String", + "networkUrl": "A String", # The fully qualified url of the network on which the ILB is + "port": "A String", # Load Balancer to health check. The configured port of the Load Balancer. + "project": "A String", # present. This should be formatted like https://www.googleapis.com/compute/v1/projects/{project}/global/networks/{network} The project ID in which the ILB exists. + "region": "A String", # The region for regional ILBs. + }, + ], + }, + "kind": "dns#rRSetRoutingPolicyGeoPolicyGeoPolicyItem", + "location": "A String", # The geo-location granularity is a GCP region. This location string should correspond to a GCP region. e.g. "us-east1", "southamerica-east1", "asia-east1", etc. + "rrdatas": [ + "A String", + ], + "signatureRrdatas": [ # DNSSEC generated signatures for all the rrdata within this item. Note that if health checked targets are provided for DNSSEC enabled zones, there's a restriction of 1 ip per item. . + "A String", + ], + }, + ], + "kind": "dns#rRSetRoutingPolicyGeoPolicy", + }, + "kind": "dns#rRSetRoutingPolicyPrimaryBackupPolicy", + "primaryTargets": { # HealthCheckTargets describes endpoints to health-check when responding to Routing Policy queries. Only the healthy endpoints will be included in the response. + "internalLoadBalancers": [ + { + "ipAddress": "A String", # The frontend IP address of the + "ipProtocol": "A String", + "kind": "dns#rRSetRoutingPolicyLoadBalancerTarget", + "loadBalancerType": "A String", + "networkUrl": "A String", # The fully qualified url of the network on which the ILB is + "port": "A String", # Load Balancer to health check. The configured port of the Load Balancer. + "project": "A String", # present. This should be formatted like https://www.googleapis.com/compute/v1/projects/{project}/global/networks/{network} The project ID in which the ILB exists. + "region": "A String", # The region for regional ILBs. + }, + ], + }, + "trickleTraffic": 3.14, # When serving state is PRIMARY, this field provides the option of sending a small percentage of the traffic to the backup targets. + }, "wrr": { # Configures a RRSetRoutingPolicy that routes in a weighted round robin fashion. "items": [ { # A routing block which contains the routing information for one WRR item. + "healthCheckedTargets": { # HealthCheckTargets describes endpoints to health-check when responding to Routing Policy queries. Only the healthy endpoints will be included in the response. # endpoints that need to be health checked before making the routing decision. The unhealthy endpoints will be omitted from the result. If all endpoints within a buckete are unhealthy, we'll choose a different bucket (sampled w.r.t. its weight) for responding. Note that if DNSSEC is enabled for this zone, only one of rrdata or health_checked_targets can be set. + "internalLoadBalancers": [ + { + "ipAddress": "A String", # The frontend IP address of the + "ipProtocol": "A String", + "kind": "dns#rRSetRoutingPolicyLoadBalancerTarget", + "loadBalancerType": "A String", + "networkUrl": "A String", # The fully qualified url of the network on which the ILB is + "port": "A String", # Load Balancer to health check. The configured port of the Load Balancer. + "project": "A String", # present. This should be formatted like https://www.googleapis.com/compute/v1/projects/{project}/global/networks/{network} The project ID in which the ILB exists. + "region": "A String", # The region for regional ILBs. + }, + ], + }, "kind": "dns#rRSetRoutingPolicyWrrPolicyWrrPolicyItem", "rrdatas": [ "A String", @@ -651,8 +1190,23 @@

Method Details

"name": "A String", # For example, www.example.com. "routingPolicy": { # A RRSetRoutingPolicy represents ResourceRecordSet data that is returned dynamically with the response varying based on configured properties such as geolocation or by weighted random selection. # Configures dynamic query responses based on geo location of querying user or a weighted round robin based routing policy. A ResourceRecordSet should only have either rrdata (static) or routing_policy (dynamic). An error is returned otherwise. "geo": { # Configures a RRSetRoutingPolicy that routes based on the geo location of the querying user. + "enableFencing": True or False, # Without fencing, if health check fails for all configured items in the current geo bucket, we'll failover to the next nearest geo bucket. With fencing, if health check is enabled, as long as some targets in the current geo bucket are healthy, we'll return only the healthy targets. However, if they're all unhealthy, we won't failover to the next nearest bucket, we'll simply return all the items in the current bucket even though they're unhealthy. "items": [ # The primary geo routing configuration. If there are multiple items with the same location, an error is returned instead. { # ResourceRecordSet data for one geo location. + "healthCheckedTargets": { # HealthCheckTargets describes endpoints to health-check when responding to Routing Policy queries. Only the healthy endpoints will be included in the response. # For A and AAAA types only. Endpoints to return in the query result only if they are healthy. These can be specified along with rrdata within this item. + "internalLoadBalancers": [ + { + "ipAddress": "A String", # The frontend IP address of the + "ipProtocol": "A String", + "kind": "dns#rRSetRoutingPolicyLoadBalancerTarget", + "loadBalancerType": "A String", + "networkUrl": "A String", # The fully qualified url of the network on which the ILB is + "port": "A String", # Load Balancer to health check. The configured port of the Load Balancer. + "project": "A String", # present. This should be formatted like https://www.googleapis.com/compute/v1/projects/{project}/global/networks/{network} The project ID in which the ILB exists. + "region": "A String", # The region for regional ILBs. + }, + ], + }, "kind": "dns#rRSetRoutingPolicyGeoPolicyGeoPolicyItem", "location": "A String", # The geo-location granularity is a GCP region. This location string should correspond to a GCP region. e.g. "us-east1", "southamerica-east1", "asia-east1", etc. "rrdatas": [ @@ -666,9 +1220,71 @@

Method Details

"kind": "dns#rRSetRoutingPolicyGeoPolicy", }, "kind": "dns#rRSetRoutingPolicy", + "primaryBackup": { # Configures a RRSetRoutingPolicy such that all queries are responded with the primary_targets if they are healthy. And if all of them are unhealthy, then we fallback to a geo localized policy. + "backupGeoTargets": { # Configures a RRSetRoutingPolicy that routes based on the geo location of the querying user. # Backup targets provide a regional failover policy for the otherwise global primary targets. If serving state is set to BACKUP, this policy essentially becomes a geo routing policy. + "enableFencing": True or False, # Without fencing, if health check fails for all configured items in the current geo bucket, we'll failover to the next nearest geo bucket. With fencing, if health check is enabled, as long as some targets in the current geo bucket are healthy, we'll return only the healthy targets. However, if they're all unhealthy, we won't failover to the next nearest bucket, we'll simply return all the items in the current bucket even though they're unhealthy. + "items": [ # The primary geo routing configuration. If there are multiple items with the same location, an error is returned instead. + { # ResourceRecordSet data for one geo location. + "healthCheckedTargets": { # HealthCheckTargets describes endpoints to health-check when responding to Routing Policy queries. Only the healthy endpoints will be included in the response. # For A and AAAA types only. Endpoints to return in the query result only if they are healthy. These can be specified along with rrdata within this item. + "internalLoadBalancers": [ + { + "ipAddress": "A String", # The frontend IP address of the + "ipProtocol": "A String", + "kind": "dns#rRSetRoutingPolicyLoadBalancerTarget", + "loadBalancerType": "A String", + "networkUrl": "A String", # The fully qualified url of the network on which the ILB is + "port": "A String", # Load Balancer to health check. The configured port of the Load Balancer. + "project": "A String", # present. This should be formatted like https://www.googleapis.com/compute/v1/projects/{project}/global/networks/{network} The project ID in which the ILB exists. + "region": "A String", # The region for regional ILBs. + }, + ], + }, + "kind": "dns#rRSetRoutingPolicyGeoPolicyGeoPolicyItem", + "location": "A String", # The geo-location granularity is a GCP region. This location string should correspond to a GCP region. e.g. "us-east1", "southamerica-east1", "asia-east1", etc. + "rrdatas": [ + "A String", + ], + "signatureRrdatas": [ # DNSSEC generated signatures for all the rrdata within this item. Note that if health checked targets are provided for DNSSEC enabled zones, there's a restriction of 1 ip per item. . + "A String", + ], + }, + ], + "kind": "dns#rRSetRoutingPolicyGeoPolicy", + }, + "kind": "dns#rRSetRoutingPolicyPrimaryBackupPolicy", + "primaryTargets": { # HealthCheckTargets describes endpoints to health-check when responding to Routing Policy queries. Only the healthy endpoints will be included in the response. + "internalLoadBalancers": [ + { + "ipAddress": "A String", # The frontend IP address of the + "ipProtocol": "A String", + "kind": "dns#rRSetRoutingPolicyLoadBalancerTarget", + "loadBalancerType": "A String", + "networkUrl": "A String", # The fully qualified url of the network on which the ILB is + "port": "A String", # Load Balancer to health check. The configured port of the Load Balancer. + "project": "A String", # present. This should be formatted like https://www.googleapis.com/compute/v1/projects/{project}/global/networks/{network} The project ID in which the ILB exists. + "region": "A String", # The region for regional ILBs. + }, + ], + }, + "trickleTraffic": 3.14, # When serving state is PRIMARY, this field provides the option of sending a small percentage of the traffic to the backup targets. + }, "wrr": { # Configures a RRSetRoutingPolicy that routes in a weighted round robin fashion. "items": [ { # A routing block which contains the routing information for one WRR item. + "healthCheckedTargets": { # HealthCheckTargets describes endpoints to health-check when responding to Routing Policy queries. Only the healthy endpoints will be included in the response. # endpoints that need to be health checked before making the routing decision. The unhealthy endpoints will be omitted from the result. If all endpoints within a buckete are unhealthy, we'll choose a different bucket (sampled w.r.t. its weight) for responding. Note that if DNSSEC is enabled for this zone, only one of rrdata or health_checked_targets can be set. + "internalLoadBalancers": [ + { + "ipAddress": "A String", # The frontend IP address of the + "ipProtocol": "A String", + "kind": "dns#rRSetRoutingPolicyLoadBalancerTarget", + "loadBalancerType": "A String", + "networkUrl": "A String", # The fully qualified url of the network on which the ILB is + "port": "A String", # Load Balancer to health check. The configured port of the Load Balancer. + "project": "A String", # present. This should be formatted like https://www.googleapis.com/compute/v1/projects/{project}/global/networks/{network} The project ID in which the ILB exists. + "region": "A String", # The region for regional ILBs. + }, + ], + }, "kind": "dns#rRSetRoutingPolicyWrrPolicyWrrPolicyItem", "rrdatas": [ "A String", diff --git a/docs/dyn/dns_v1beta2.changes.html b/docs/dyn/dns_v1beta2.changes.html index 340dc69271f..92caf2a07f7 100644 --- a/docs/dyn/dns_v1beta2.changes.html +++ b/docs/dyn/dns_v1beta2.changes.html @@ -112,8 +112,23 @@

Method Details

"name": "A String", # For example, www.example.com. "routingPolicy": { # A RRSetRoutingPolicy represents ResourceRecordSet data that is returned dynamically with the response varying based on configured properties such as geolocation or by weighted random selection. # Configures dynamic query responses based on geo location of querying user or a weighted round robin based routing policy. A ResourceRecordSet should only have either rrdata (static) or routing_policy (dynamic). An error is returned otherwise. "geo": { # Configures a RRSetRoutingPolicy that routes based on the geo location of the querying user. + "enableFencing": True or False, # Without fencing, if health check fails for all configured items in the current geo bucket, we'll failover to the next nearest geo bucket. With fencing, if health check is enabled, as long as some targets in the current geo bucket are healthy, we'll return only the healthy targets. However, if they're all unhealthy, we won't failover to the next nearest bucket, we'll simply return all the items in the current bucket even though they're unhealthy. "items": [ # The primary geo routing configuration. If there are multiple items with the same location, an error is returned instead. { # ResourceRecordSet data for one geo location. + "healthCheckedTargets": { # HealthCheckTargets describes endpoints to health-check when responding to Routing Policy queries. Only the healthy endpoints will be included in the response. # For A and AAAA types only. Endpoints to return in the query result only if they are healthy. These can be specified along with rrdata within this item. + "internalLoadBalancers": [ + { + "ipAddress": "A String", # The frontend IP address of the + "ipProtocol": "A String", + "kind": "dns#rRSetRoutingPolicyLoadBalancerTarget", + "loadBalancerType": "A String", + "networkUrl": "A String", # The fully qualified url of the network on which the ILB is + "port": "A String", # Load Balancer to health check. The configured port of the Load Balancer. + "project": "A String", # present. This should be formatted like https://www.googleapis.com/compute/v1/projects/{project}/global/networks/{network} The project ID in which the ILB exists. + "region": "A String", # The region for regional ILBs. + }, + ], + }, "kind": "dns#rRSetRoutingPolicyGeoPolicyGeoPolicyItem", "location": "A String", # The geo-location granularity is a GCP region. This location string should correspond to a GCP region. e.g. "us-east1", "southamerica-east1", "asia-east1", etc. "rrdatas": [ @@ -127,8 +142,23 @@

Method Details

"kind": "dns#rRSetRoutingPolicyGeoPolicy", }, "geoPolicy": { # Configures a RRSetRoutingPolicy that routes based on the geo location of the querying user. + "enableFencing": True or False, # Without fencing, if health check fails for all configured items in the current geo bucket, we'll failover to the next nearest geo bucket. With fencing, if health check is enabled, as long as some targets in the current geo bucket are healthy, we'll return only the healthy targets. However, if they're all unhealthy, we won't failover to the next nearest bucket, we'll simply return all the items in the current bucket even though they're unhealthy. "items": [ # The primary geo routing configuration. If there are multiple items with the same location, an error is returned instead. { # ResourceRecordSet data for one geo location. + "healthCheckedTargets": { # HealthCheckTargets describes endpoints to health-check when responding to Routing Policy queries. Only the healthy endpoints will be included in the response. # For A and AAAA types only. Endpoints to return in the query result only if they are healthy. These can be specified along with rrdata within this item. + "internalLoadBalancers": [ + { + "ipAddress": "A String", # The frontend IP address of the + "ipProtocol": "A String", + "kind": "dns#rRSetRoutingPolicyLoadBalancerTarget", + "loadBalancerType": "A String", + "networkUrl": "A String", # The fully qualified url of the network on which the ILB is + "port": "A String", # Load Balancer to health check. The configured port of the Load Balancer. + "project": "A String", # present. This should be formatted like https://www.googleapis.com/compute/v1/projects/{project}/global/networks/{network} The project ID in which the ILB exists. + "region": "A String", # The region for regional ILBs. + }, + ], + }, "kind": "dns#rRSetRoutingPolicyGeoPolicyGeoPolicyItem", "location": "A String", # The geo-location granularity is a GCP region. This location string should correspond to a GCP region. e.g. "us-east1", "southamerica-east1", "asia-east1", etc. "rrdatas": [ @@ -142,9 +172,71 @@

Method Details

"kind": "dns#rRSetRoutingPolicyGeoPolicy", }, "kind": "dns#rRSetRoutingPolicy", + "primaryBackup": { # Configures a RRSetRoutingPolicy such that all queries are responded with the primary_targets if they are healthy. And if all of them are unhealthy, then we fallback to a geo localized policy. + "backupGeoTargets": { # Configures a RRSetRoutingPolicy that routes based on the geo location of the querying user. # Backup targets provide a regional failover policy for the otherwise global primary targets. If serving state is set to BACKUP, this policy essentially becomes a geo routing policy. + "enableFencing": True or False, # Without fencing, if health check fails for all configured items in the current geo bucket, we'll failover to the next nearest geo bucket. With fencing, if health check is enabled, as long as some targets in the current geo bucket are healthy, we'll return only the healthy targets. However, if they're all unhealthy, we won't failover to the next nearest bucket, we'll simply return all the items in the current bucket even though they're unhealthy. + "items": [ # The primary geo routing configuration. If there are multiple items with the same location, an error is returned instead. + { # ResourceRecordSet data for one geo location. + "healthCheckedTargets": { # HealthCheckTargets describes endpoints to health-check when responding to Routing Policy queries. Only the healthy endpoints will be included in the response. # For A and AAAA types only. Endpoints to return in the query result only if they are healthy. These can be specified along with rrdata within this item. + "internalLoadBalancers": [ + { + "ipAddress": "A String", # The frontend IP address of the + "ipProtocol": "A String", + "kind": "dns#rRSetRoutingPolicyLoadBalancerTarget", + "loadBalancerType": "A String", + "networkUrl": "A String", # The fully qualified url of the network on which the ILB is + "port": "A String", # Load Balancer to health check. The configured port of the Load Balancer. + "project": "A String", # present. This should be formatted like https://www.googleapis.com/compute/v1/projects/{project}/global/networks/{network} The project ID in which the ILB exists. + "region": "A String", # The region for regional ILBs. + }, + ], + }, + "kind": "dns#rRSetRoutingPolicyGeoPolicyGeoPolicyItem", + "location": "A String", # The geo-location granularity is a GCP region. This location string should correspond to a GCP region. e.g. "us-east1", "southamerica-east1", "asia-east1", etc. + "rrdatas": [ + "A String", + ], + "signatureRrdatas": [ # DNSSEC generated signatures for all the rrdata within this item. Note that if health checked targets are provided for DNSSEC enabled zones, there's a restriction of 1 ip per item. . + "A String", + ], + }, + ], + "kind": "dns#rRSetRoutingPolicyGeoPolicy", + }, + "kind": "dns#rRSetRoutingPolicyPrimaryBackupPolicy", + "primaryTargets": { # HealthCheckTargets describes endpoints to health-check when responding to Routing Policy queries. Only the healthy endpoints will be included in the response. + "internalLoadBalancers": [ + { + "ipAddress": "A String", # The frontend IP address of the + "ipProtocol": "A String", + "kind": "dns#rRSetRoutingPolicyLoadBalancerTarget", + "loadBalancerType": "A String", + "networkUrl": "A String", # The fully qualified url of the network on which the ILB is + "port": "A String", # Load Balancer to health check. The configured port of the Load Balancer. + "project": "A String", # present. This should be formatted like https://www.googleapis.com/compute/v1/projects/{project}/global/networks/{network} The project ID in which the ILB exists. + "region": "A String", # The region for regional ILBs. + }, + ], + }, + "trickleTraffic": 3.14, # When serving state is PRIMARY, this field provides the option of sending a small percentage of the traffic to the backup targets. + }, "wrr": { # Configures a RRSetRoutingPolicy that routes in a weighted round robin fashion. "items": [ { # A routing block which contains the routing information for one WRR item. + "healthCheckedTargets": { # HealthCheckTargets describes endpoints to health-check when responding to Routing Policy queries. Only the healthy endpoints will be included in the response. # endpoints that need to be health checked before making the routing decision. The unhealthy endpoints will be omitted from the result. If all endpoints within a buckete are unhealthy, we'll choose a different bucket (sampled w.r.t. its weight) for responding. Note that if DNSSEC is enabled for this zone, only one of rrdata or health_checked_targets can be set. + "internalLoadBalancers": [ + { + "ipAddress": "A String", # The frontend IP address of the + "ipProtocol": "A String", + "kind": "dns#rRSetRoutingPolicyLoadBalancerTarget", + "loadBalancerType": "A String", + "networkUrl": "A String", # The fully qualified url of the network on which the ILB is + "port": "A String", # Load Balancer to health check. The configured port of the Load Balancer. + "project": "A String", # present. This should be formatted like https://www.googleapis.com/compute/v1/projects/{project}/global/networks/{network} The project ID in which the ILB exists. + "region": "A String", # The region for regional ILBs. + }, + ], + }, "kind": "dns#rRSetRoutingPolicyWrrPolicyWrrPolicyItem", "rrdatas": [ "A String", @@ -160,6 +252,20 @@

Method Details

"wrrPolicy": { # Configures a RRSetRoutingPolicy that routes in a weighted round robin fashion. "items": [ { # A routing block which contains the routing information for one WRR item. + "healthCheckedTargets": { # HealthCheckTargets describes endpoints to health-check when responding to Routing Policy queries. Only the healthy endpoints will be included in the response. # endpoints that need to be health checked before making the routing decision. The unhealthy endpoints will be omitted from the result. If all endpoints within a buckete are unhealthy, we'll choose a different bucket (sampled w.r.t. its weight) for responding. Note that if DNSSEC is enabled for this zone, only one of rrdata or health_checked_targets can be set. + "internalLoadBalancers": [ + { + "ipAddress": "A String", # The frontend IP address of the + "ipProtocol": "A String", + "kind": "dns#rRSetRoutingPolicyLoadBalancerTarget", + "loadBalancerType": "A String", + "networkUrl": "A String", # The fully qualified url of the network on which the ILB is + "port": "A String", # Load Balancer to health check. The configured port of the Load Balancer. + "project": "A String", # present. This should be formatted like https://www.googleapis.com/compute/v1/projects/{project}/global/networks/{network} The project ID in which the ILB exists. + "region": "A String", # The region for regional ILBs. + }, + ], + }, "kind": "dns#rRSetRoutingPolicyWrrPolicyWrrPolicyItem", "rrdatas": [ "A String", @@ -189,8 +295,23 @@

Method Details

"name": "A String", # For example, www.example.com. "routingPolicy": { # A RRSetRoutingPolicy represents ResourceRecordSet data that is returned dynamically with the response varying based on configured properties such as geolocation or by weighted random selection. # Configures dynamic query responses based on geo location of querying user or a weighted round robin based routing policy. A ResourceRecordSet should only have either rrdata (static) or routing_policy (dynamic). An error is returned otherwise. "geo": { # Configures a RRSetRoutingPolicy that routes based on the geo location of the querying user. + "enableFencing": True or False, # Without fencing, if health check fails for all configured items in the current geo bucket, we'll failover to the next nearest geo bucket. With fencing, if health check is enabled, as long as some targets in the current geo bucket are healthy, we'll return only the healthy targets. However, if they're all unhealthy, we won't failover to the next nearest bucket, we'll simply return all the items in the current bucket even though they're unhealthy. "items": [ # The primary geo routing configuration. If there are multiple items with the same location, an error is returned instead. { # ResourceRecordSet data for one geo location. + "healthCheckedTargets": { # HealthCheckTargets describes endpoints to health-check when responding to Routing Policy queries. Only the healthy endpoints will be included in the response. # For A and AAAA types only. Endpoints to return in the query result only if they are healthy. These can be specified along with rrdata within this item. + "internalLoadBalancers": [ + { + "ipAddress": "A String", # The frontend IP address of the + "ipProtocol": "A String", + "kind": "dns#rRSetRoutingPolicyLoadBalancerTarget", + "loadBalancerType": "A String", + "networkUrl": "A String", # The fully qualified url of the network on which the ILB is + "port": "A String", # Load Balancer to health check. The configured port of the Load Balancer. + "project": "A String", # present. This should be formatted like https://www.googleapis.com/compute/v1/projects/{project}/global/networks/{network} The project ID in which the ILB exists. + "region": "A String", # The region for regional ILBs. + }, + ], + }, "kind": "dns#rRSetRoutingPolicyGeoPolicyGeoPolicyItem", "location": "A String", # The geo-location granularity is a GCP region. This location string should correspond to a GCP region. e.g. "us-east1", "southamerica-east1", "asia-east1", etc. "rrdatas": [ @@ -204,8 +325,23 @@

Method Details

"kind": "dns#rRSetRoutingPolicyGeoPolicy", }, "geoPolicy": { # Configures a RRSetRoutingPolicy that routes based on the geo location of the querying user. + "enableFencing": True or False, # Without fencing, if health check fails for all configured items in the current geo bucket, we'll failover to the next nearest geo bucket. With fencing, if health check is enabled, as long as some targets in the current geo bucket are healthy, we'll return only the healthy targets. However, if they're all unhealthy, we won't failover to the next nearest bucket, we'll simply return all the items in the current bucket even though they're unhealthy. "items": [ # The primary geo routing configuration. If there are multiple items with the same location, an error is returned instead. { # ResourceRecordSet data for one geo location. + "healthCheckedTargets": { # HealthCheckTargets describes endpoints to health-check when responding to Routing Policy queries. Only the healthy endpoints will be included in the response. # For A and AAAA types only. Endpoints to return in the query result only if they are healthy. These can be specified along with rrdata within this item. + "internalLoadBalancers": [ + { + "ipAddress": "A String", # The frontend IP address of the + "ipProtocol": "A String", + "kind": "dns#rRSetRoutingPolicyLoadBalancerTarget", + "loadBalancerType": "A String", + "networkUrl": "A String", # The fully qualified url of the network on which the ILB is + "port": "A String", # Load Balancer to health check. The configured port of the Load Balancer. + "project": "A String", # present. This should be formatted like https://www.googleapis.com/compute/v1/projects/{project}/global/networks/{network} The project ID in which the ILB exists. + "region": "A String", # The region for regional ILBs. + }, + ], + }, "kind": "dns#rRSetRoutingPolicyGeoPolicyGeoPolicyItem", "location": "A String", # The geo-location granularity is a GCP region. This location string should correspond to a GCP region. e.g. "us-east1", "southamerica-east1", "asia-east1", etc. "rrdatas": [ @@ -219,9 +355,71 @@

Method Details

"kind": "dns#rRSetRoutingPolicyGeoPolicy", }, "kind": "dns#rRSetRoutingPolicy", + "primaryBackup": { # Configures a RRSetRoutingPolicy such that all queries are responded with the primary_targets if they are healthy. And if all of them are unhealthy, then we fallback to a geo localized policy. + "backupGeoTargets": { # Configures a RRSetRoutingPolicy that routes based on the geo location of the querying user. # Backup targets provide a regional failover policy for the otherwise global primary targets. If serving state is set to BACKUP, this policy essentially becomes a geo routing policy. + "enableFencing": True or False, # Without fencing, if health check fails for all configured items in the current geo bucket, we'll failover to the next nearest geo bucket. With fencing, if health check is enabled, as long as some targets in the current geo bucket are healthy, we'll return only the healthy targets. However, if they're all unhealthy, we won't failover to the next nearest bucket, we'll simply return all the items in the current bucket even though they're unhealthy. + "items": [ # The primary geo routing configuration. If there are multiple items with the same location, an error is returned instead. + { # ResourceRecordSet data for one geo location. + "healthCheckedTargets": { # HealthCheckTargets describes endpoints to health-check when responding to Routing Policy queries. Only the healthy endpoints will be included in the response. # For A and AAAA types only. Endpoints to return in the query result only if they are healthy. These can be specified along with rrdata within this item. + "internalLoadBalancers": [ + { + "ipAddress": "A String", # The frontend IP address of the + "ipProtocol": "A String", + "kind": "dns#rRSetRoutingPolicyLoadBalancerTarget", + "loadBalancerType": "A String", + "networkUrl": "A String", # The fully qualified url of the network on which the ILB is + "port": "A String", # Load Balancer to health check. The configured port of the Load Balancer. + "project": "A String", # present. This should be formatted like https://www.googleapis.com/compute/v1/projects/{project}/global/networks/{network} The project ID in which the ILB exists. + "region": "A String", # The region for regional ILBs. + }, + ], + }, + "kind": "dns#rRSetRoutingPolicyGeoPolicyGeoPolicyItem", + "location": "A String", # The geo-location granularity is a GCP region. This location string should correspond to a GCP region. e.g. "us-east1", "southamerica-east1", "asia-east1", etc. + "rrdatas": [ + "A String", + ], + "signatureRrdatas": [ # DNSSEC generated signatures for all the rrdata within this item. Note that if health checked targets are provided for DNSSEC enabled zones, there's a restriction of 1 ip per item. . + "A String", + ], + }, + ], + "kind": "dns#rRSetRoutingPolicyGeoPolicy", + }, + "kind": "dns#rRSetRoutingPolicyPrimaryBackupPolicy", + "primaryTargets": { # HealthCheckTargets describes endpoints to health-check when responding to Routing Policy queries. Only the healthy endpoints will be included in the response. + "internalLoadBalancers": [ + { + "ipAddress": "A String", # The frontend IP address of the + "ipProtocol": "A String", + "kind": "dns#rRSetRoutingPolicyLoadBalancerTarget", + "loadBalancerType": "A String", + "networkUrl": "A String", # The fully qualified url of the network on which the ILB is + "port": "A String", # Load Balancer to health check. The configured port of the Load Balancer. + "project": "A String", # present. This should be formatted like https://www.googleapis.com/compute/v1/projects/{project}/global/networks/{network} The project ID in which the ILB exists. + "region": "A String", # The region for regional ILBs. + }, + ], + }, + "trickleTraffic": 3.14, # When serving state is PRIMARY, this field provides the option of sending a small percentage of the traffic to the backup targets. + }, "wrr": { # Configures a RRSetRoutingPolicy that routes in a weighted round robin fashion. "items": [ { # A routing block which contains the routing information for one WRR item. + "healthCheckedTargets": { # HealthCheckTargets describes endpoints to health-check when responding to Routing Policy queries. Only the healthy endpoints will be included in the response. # endpoints that need to be health checked before making the routing decision. The unhealthy endpoints will be omitted from the result. If all endpoints within a buckete are unhealthy, we'll choose a different bucket (sampled w.r.t. its weight) for responding. Note that if DNSSEC is enabled for this zone, only one of rrdata or health_checked_targets can be set. + "internalLoadBalancers": [ + { + "ipAddress": "A String", # The frontend IP address of the + "ipProtocol": "A String", + "kind": "dns#rRSetRoutingPolicyLoadBalancerTarget", + "loadBalancerType": "A String", + "networkUrl": "A String", # The fully qualified url of the network on which the ILB is + "port": "A String", # Load Balancer to health check. The configured port of the Load Balancer. + "project": "A String", # present. This should be formatted like https://www.googleapis.com/compute/v1/projects/{project}/global/networks/{network} The project ID in which the ILB exists. + "region": "A String", # The region for regional ILBs. + }, + ], + }, "kind": "dns#rRSetRoutingPolicyWrrPolicyWrrPolicyItem", "rrdatas": [ "A String", @@ -237,6 +435,20 @@

Method Details

"wrrPolicy": { # Configures a RRSetRoutingPolicy that routes in a weighted round robin fashion. "items": [ { # A routing block which contains the routing information for one WRR item. + "healthCheckedTargets": { # HealthCheckTargets describes endpoints to health-check when responding to Routing Policy queries. Only the healthy endpoints will be included in the response. # endpoints that need to be health checked before making the routing decision. The unhealthy endpoints will be omitted from the result. If all endpoints within a buckete are unhealthy, we'll choose a different bucket (sampled w.r.t. its weight) for responding. Note that if DNSSEC is enabled for this zone, only one of rrdata or health_checked_targets can be set. + "internalLoadBalancers": [ + { + "ipAddress": "A String", # The frontend IP address of the + "ipProtocol": "A String", + "kind": "dns#rRSetRoutingPolicyLoadBalancerTarget", + "loadBalancerType": "A String", + "networkUrl": "A String", # The fully qualified url of the network on which the ILB is + "port": "A String", # Load Balancer to health check. The configured port of the Load Balancer. + "project": "A String", # present. This should be formatted like https://www.googleapis.com/compute/v1/projects/{project}/global/networks/{network} The project ID in which the ILB exists. + "region": "A String", # The region for regional ILBs. + }, + ], + }, "kind": "dns#rRSetRoutingPolicyWrrPolicyWrrPolicyItem", "rrdatas": [ "A String", @@ -283,8 +495,23 @@

Method Details

"name": "A String", # For example, www.example.com. "routingPolicy": { # A RRSetRoutingPolicy represents ResourceRecordSet data that is returned dynamically with the response varying based on configured properties such as geolocation or by weighted random selection. # Configures dynamic query responses based on geo location of querying user or a weighted round robin based routing policy. A ResourceRecordSet should only have either rrdata (static) or routing_policy (dynamic). An error is returned otherwise. "geo": { # Configures a RRSetRoutingPolicy that routes based on the geo location of the querying user. + "enableFencing": True or False, # Without fencing, if health check fails for all configured items in the current geo bucket, we'll failover to the next nearest geo bucket. With fencing, if health check is enabled, as long as some targets in the current geo bucket are healthy, we'll return only the healthy targets. However, if they're all unhealthy, we won't failover to the next nearest bucket, we'll simply return all the items in the current bucket even though they're unhealthy. "items": [ # The primary geo routing configuration. If there are multiple items with the same location, an error is returned instead. { # ResourceRecordSet data for one geo location. + "healthCheckedTargets": { # HealthCheckTargets describes endpoints to health-check when responding to Routing Policy queries. Only the healthy endpoints will be included in the response. # For A and AAAA types only. Endpoints to return in the query result only if they are healthy. These can be specified along with rrdata within this item. + "internalLoadBalancers": [ + { + "ipAddress": "A String", # The frontend IP address of the + "ipProtocol": "A String", + "kind": "dns#rRSetRoutingPolicyLoadBalancerTarget", + "loadBalancerType": "A String", + "networkUrl": "A String", # The fully qualified url of the network on which the ILB is + "port": "A String", # Load Balancer to health check. The configured port of the Load Balancer. + "project": "A String", # present. This should be formatted like https://www.googleapis.com/compute/v1/projects/{project}/global/networks/{network} The project ID in which the ILB exists. + "region": "A String", # The region for regional ILBs. + }, + ], + }, "kind": "dns#rRSetRoutingPolicyGeoPolicyGeoPolicyItem", "location": "A String", # The geo-location granularity is a GCP region. This location string should correspond to a GCP region. e.g. "us-east1", "southamerica-east1", "asia-east1", etc. "rrdatas": [ @@ -298,8 +525,23 @@

Method Details

"kind": "dns#rRSetRoutingPolicyGeoPolicy", }, "geoPolicy": { # Configures a RRSetRoutingPolicy that routes based on the geo location of the querying user. + "enableFencing": True or False, # Without fencing, if health check fails for all configured items in the current geo bucket, we'll failover to the next nearest geo bucket. With fencing, if health check is enabled, as long as some targets in the current geo bucket are healthy, we'll return only the healthy targets. However, if they're all unhealthy, we won't failover to the next nearest bucket, we'll simply return all the items in the current bucket even though they're unhealthy. "items": [ # The primary geo routing configuration. If there are multiple items with the same location, an error is returned instead. { # ResourceRecordSet data for one geo location. + "healthCheckedTargets": { # HealthCheckTargets describes endpoints to health-check when responding to Routing Policy queries. Only the healthy endpoints will be included in the response. # For A and AAAA types only. Endpoints to return in the query result only if they are healthy. These can be specified along with rrdata within this item. + "internalLoadBalancers": [ + { + "ipAddress": "A String", # The frontend IP address of the + "ipProtocol": "A String", + "kind": "dns#rRSetRoutingPolicyLoadBalancerTarget", + "loadBalancerType": "A String", + "networkUrl": "A String", # The fully qualified url of the network on which the ILB is + "port": "A String", # Load Balancer to health check. The configured port of the Load Balancer. + "project": "A String", # present. This should be formatted like https://www.googleapis.com/compute/v1/projects/{project}/global/networks/{network} The project ID in which the ILB exists. + "region": "A String", # The region for regional ILBs. + }, + ], + }, "kind": "dns#rRSetRoutingPolicyGeoPolicyGeoPolicyItem", "location": "A String", # The geo-location granularity is a GCP region. This location string should correspond to a GCP region. e.g. "us-east1", "southamerica-east1", "asia-east1", etc. "rrdatas": [ @@ -313,9 +555,71 @@

Method Details

"kind": "dns#rRSetRoutingPolicyGeoPolicy", }, "kind": "dns#rRSetRoutingPolicy", + "primaryBackup": { # Configures a RRSetRoutingPolicy such that all queries are responded with the primary_targets if they are healthy. And if all of them are unhealthy, then we fallback to a geo localized policy. + "backupGeoTargets": { # Configures a RRSetRoutingPolicy that routes based on the geo location of the querying user. # Backup targets provide a regional failover policy for the otherwise global primary targets. If serving state is set to BACKUP, this policy essentially becomes a geo routing policy. + "enableFencing": True or False, # Without fencing, if health check fails for all configured items in the current geo bucket, we'll failover to the next nearest geo bucket. With fencing, if health check is enabled, as long as some targets in the current geo bucket are healthy, we'll return only the healthy targets. However, if they're all unhealthy, we won't failover to the next nearest bucket, we'll simply return all the items in the current bucket even though they're unhealthy. + "items": [ # The primary geo routing configuration. If there are multiple items with the same location, an error is returned instead. + { # ResourceRecordSet data for one geo location. + "healthCheckedTargets": { # HealthCheckTargets describes endpoints to health-check when responding to Routing Policy queries. Only the healthy endpoints will be included in the response. # For A and AAAA types only. Endpoints to return in the query result only if they are healthy. These can be specified along with rrdata within this item. + "internalLoadBalancers": [ + { + "ipAddress": "A String", # The frontend IP address of the + "ipProtocol": "A String", + "kind": "dns#rRSetRoutingPolicyLoadBalancerTarget", + "loadBalancerType": "A String", + "networkUrl": "A String", # The fully qualified url of the network on which the ILB is + "port": "A String", # Load Balancer to health check. The configured port of the Load Balancer. + "project": "A String", # present. This should be formatted like https://www.googleapis.com/compute/v1/projects/{project}/global/networks/{network} The project ID in which the ILB exists. + "region": "A String", # The region for regional ILBs. + }, + ], + }, + "kind": "dns#rRSetRoutingPolicyGeoPolicyGeoPolicyItem", + "location": "A String", # The geo-location granularity is a GCP region. This location string should correspond to a GCP region. e.g. "us-east1", "southamerica-east1", "asia-east1", etc. + "rrdatas": [ + "A String", + ], + "signatureRrdatas": [ # DNSSEC generated signatures for all the rrdata within this item. Note that if health checked targets are provided for DNSSEC enabled zones, there's a restriction of 1 ip per item. . + "A String", + ], + }, + ], + "kind": "dns#rRSetRoutingPolicyGeoPolicy", + }, + "kind": "dns#rRSetRoutingPolicyPrimaryBackupPolicy", + "primaryTargets": { # HealthCheckTargets describes endpoints to health-check when responding to Routing Policy queries. Only the healthy endpoints will be included in the response. + "internalLoadBalancers": [ + { + "ipAddress": "A String", # The frontend IP address of the + "ipProtocol": "A String", + "kind": "dns#rRSetRoutingPolicyLoadBalancerTarget", + "loadBalancerType": "A String", + "networkUrl": "A String", # The fully qualified url of the network on which the ILB is + "port": "A String", # Load Balancer to health check. The configured port of the Load Balancer. + "project": "A String", # present. This should be formatted like https://www.googleapis.com/compute/v1/projects/{project}/global/networks/{network} The project ID in which the ILB exists. + "region": "A String", # The region for regional ILBs. + }, + ], + }, + "trickleTraffic": 3.14, # When serving state is PRIMARY, this field provides the option of sending a small percentage of the traffic to the backup targets. + }, "wrr": { # Configures a RRSetRoutingPolicy that routes in a weighted round robin fashion. "items": [ { # A routing block which contains the routing information for one WRR item. + "healthCheckedTargets": { # HealthCheckTargets describes endpoints to health-check when responding to Routing Policy queries. Only the healthy endpoints will be included in the response. # endpoints that need to be health checked before making the routing decision. The unhealthy endpoints will be omitted from the result. If all endpoints within a buckete are unhealthy, we'll choose a different bucket (sampled w.r.t. its weight) for responding. Note that if DNSSEC is enabled for this zone, only one of rrdata or health_checked_targets can be set. + "internalLoadBalancers": [ + { + "ipAddress": "A String", # The frontend IP address of the + "ipProtocol": "A String", + "kind": "dns#rRSetRoutingPolicyLoadBalancerTarget", + "loadBalancerType": "A String", + "networkUrl": "A String", # The fully qualified url of the network on which the ILB is + "port": "A String", # Load Balancer to health check. The configured port of the Load Balancer. + "project": "A String", # present. This should be formatted like https://www.googleapis.com/compute/v1/projects/{project}/global/networks/{network} The project ID in which the ILB exists. + "region": "A String", # The region for regional ILBs. + }, + ], + }, "kind": "dns#rRSetRoutingPolicyWrrPolicyWrrPolicyItem", "rrdatas": [ "A String", @@ -331,6 +635,20 @@

Method Details

"wrrPolicy": { # Configures a RRSetRoutingPolicy that routes in a weighted round robin fashion. "items": [ { # A routing block which contains the routing information for one WRR item. + "healthCheckedTargets": { # HealthCheckTargets describes endpoints to health-check when responding to Routing Policy queries. Only the healthy endpoints will be included in the response. # endpoints that need to be health checked before making the routing decision. The unhealthy endpoints will be omitted from the result. If all endpoints within a buckete are unhealthy, we'll choose a different bucket (sampled w.r.t. its weight) for responding. Note that if DNSSEC is enabled for this zone, only one of rrdata or health_checked_targets can be set. + "internalLoadBalancers": [ + { + "ipAddress": "A String", # The frontend IP address of the + "ipProtocol": "A String", + "kind": "dns#rRSetRoutingPolicyLoadBalancerTarget", + "loadBalancerType": "A String", + "networkUrl": "A String", # The fully qualified url of the network on which the ILB is + "port": "A String", # Load Balancer to health check. The configured port of the Load Balancer. + "project": "A String", # present. This should be formatted like https://www.googleapis.com/compute/v1/projects/{project}/global/networks/{network} The project ID in which the ILB exists. + "region": "A String", # The region for regional ILBs. + }, + ], + }, "kind": "dns#rRSetRoutingPolicyWrrPolicyWrrPolicyItem", "rrdatas": [ "A String", @@ -360,8 +678,23 @@

Method Details

"name": "A String", # For example, www.example.com. "routingPolicy": { # A RRSetRoutingPolicy represents ResourceRecordSet data that is returned dynamically with the response varying based on configured properties such as geolocation or by weighted random selection. # Configures dynamic query responses based on geo location of querying user or a weighted round robin based routing policy. A ResourceRecordSet should only have either rrdata (static) or routing_policy (dynamic). An error is returned otherwise. "geo": { # Configures a RRSetRoutingPolicy that routes based on the geo location of the querying user. + "enableFencing": True or False, # Without fencing, if health check fails for all configured items in the current geo bucket, we'll failover to the next nearest geo bucket. With fencing, if health check is enabled, as long as some targets in the current geo bucket are healthy, we'll return only the healthy targets. However, if they're all unhealthy, we won't failover to the next nearest bucket, we'll simply return all the items in the current bucket even though they're unhealthy. "items": [ # The primary geo routing configuration. If there are multiple items with the same location, an error is returned instead. { # ResourceRecordSet data for one geo location. + "healthCheckedTargets": { # HealthCheckTargets describes endpoints to health-check when responding to Routing Policy queries. Only the healthy endpoints will be included in the response. # For A and AAAA types only. Endpoints to return in the query result only if they are healthy. These can be specified along with rrdata within this item. + "internalLoadBalancers": [ + { + "ipAddress": "A String", # The frontend IP address of the + "ipProtocol": "A String", + "kind": "dns#rRSetRoutingPolicyLoadBalancerTarget", + "loadBalancerType": "A String", + "networkUrl": "A String", # The fully qualified url of the network on which the ILB is + "port": "A String", # Load Balancer to health check. The configured port of the Load Balancer. + "project": "A String", # present. This should be formatted like https://www.googleapis.com/compute/v1/projects/{project}/global/networks/{network} The project ID in which the ILB exists. + "region": "A String", # The region for regional ILBs. + }, + ], + }, "kind": "dns#rRSetRoutingPolicyGeoPolicyGeoPolicyItem", "location": "A String", # The geo-location granularity is a GCP region. This location string should correspond to a GCP region. e.g. "us-east1", "southamerica-east1", "asia-east1", etc. "rrdatas": [ @@ -375,8 +708,23 @@

Method Details

"kind": "dns#rRSetRoutingPolicyGeoPolicy", }, "geoPolicy": { # Configures a RRSetRoutingPolicy that routes based on the geo location of the querying user. + "enableFencing": True or False, # Without fencing, if health check fails for all configured items in the current geo bucket, we'll failover to the next nearest geo bucket. With fencing, if health check is enabled, as long as some targets in the current geo bucket are healthy, we'll return only the healthy targets. However, if they're all unhealthy, we won't failover to the next nearest bucket, we'll simply return all the items in the current bucket even though they're unhealthy. "items": [ # The primary geo routing configuration. If there are multiple items with the same location, an error is returned instead. { # ResourceRecordSet data for one geo location. + "healthCheckedTargets": { # HealthCheckTargets describes endpoints to health-check when responding to Routing Policy queries. Only the healthy endpoints will be included in the response. # For A and AAAA types only. Endpoints to return in the query result only if they are healthy. These can be specified along with rrdata within this item. + "internalLoadBalancers": [ + { + "ipAddress": "A String", # The frontend IP address of the + "ipProtocol": "A String", + "kind": "dns#rRSetRoutingPolicyLoadBalancerTarget", + "loadBalancerType": "A String", + "networkUrl": "A String", # The fully qualified url of the network on which the ILB is + "port": "A String", # Load Balancer to health check. The configured port of the Load Balancer. + "project": "A String", # present. This should be formatted like https://www.googleapis.com/compute/v1/projects/{project}/global/networks/{network} The project ID in which the ILB exists. + "region": "A String", # The region for regional ILBs. + }, + ], + }, "kind": "dns#rRSetRoutingPolicyGeoPolicyGeoPolicyItem", "location": "A String", # The geo-location granularity is a GCP region. This location string should correspond to a GCP region. e.g. "us-east1", "southamerica-east1", "asia-east1", etc. "rrdatas": [ @@ -390,9 +738,71 @@

Method Details

"kind": "dns#rRSetRoutingPolicyGeoPolicy", }, "kind": "dns#rRSetRoutingPolicy", + "primaryBackup": { # Configures a RRSetRoutingPolicy such that all queries are responded with the primary_targets if they are healthy. And if all of them are unhealthy, then we fallback to a geo localized policy. + "backupGeoTargets": { # Configures a RRSetRoutingPolicy that routes based on the geo location of the querying user. # Backup targets provide a regional failover policy for the otherwise global primary targets. If serving state is set to BACKUP, this policy essentially becomes a geo routing policy. + "enableFencing": True or False, # Without fencing, if health check fails for all configured items in the current geo bucket, we'll failover to the next nearest geo bucket. With fencing, if health check is enabled, as long as some targets in the current geo bucket are healthy, we'll return only the healthy targets. However, if they're all unhealthy, we won't failover to the next nearest bucket, we'll simply return all the items in the current bucket even though they're unhealthy. + "items": [ # The primary geo routing configuration. If there are multiple items with the same location, an error is returned instead. + { # ResourceRecordSet data for one geo location. + "healthCheckedTargets": { # HealthCheckTargets describes endpoints to health-check when responding to Routing Policy queries. Only the healthy endpoints will be included in the response. # For A and AAAA types only. Endpoints to return in the query result only if they are healthy. These can be specified along with rrdata within this item. + "internalLoadBalancers": [ + { + "ipAddress": "A String", # The frontend IP address of the + "ipProtocol": "A String", + "kind": "dns#rRSetRoutingPolicyLoadBalancerTarget", + "loadBalancerType": "A String", + "networkUrl": "A String", # The fully qualified url of the network on which the ILB is + "port": "A String", # Load Balancer to health check. The configured port of the Load Balancer. + "project": "A String", # present. This should be formatted like https://www.googleapis.com/compute/v1/projects/{project}/global/networks/{network} The project ID in which the ILB exists. + "region": "A String", # The region for regional ILBs. + }, + ], + }, + "kind": "dns#rRSetRoutingPolicyGeoPolicyGeoPolicyItem", + "location": "A String", # The geo-location granularity is a GCP region. This location string should correspond to a GCP region. e.g. "us-east1", "southamerica-east1", "asia-east1", etc. + "rrdatas": [ + "A String", + ], + "signatureRrdatas": [ # DNSSEC generated signatures for all the rrdata within this item. Note that if health checked targets are provided for DNSSEC enabled zones, there's a restriction of 1 ip per item. . + "A String", + ], + }, + ], + "kind": "dns#rRSetRoutingPolicyGeoPolicy", + }, + "kind": "dns#rRSetRoutingPolicyPrimaryBackupPolicy", + "primaryTargets": { # HealthCheckTargets describes endpoints to health-check when responding to Routing Policy queries. Only the healthy endpoints will be included in the response. + "internalLoadBalancers": [ + { + "ipAddress": "A String", # The frontend IP address of the + "ipProtocol": "A String", + "kind": "dns#rRSetRoutingPolicyLoadBalancerTarget", + "loadBalancerType": "A String", + "networkUrl": "A String", # The fully qualified url of the network on which the ILB is + "port": "A String", # Load Balancer to health check. The configured port of the Load Balancer. + "project": "A String", # present. This should be formatted like https://www.googleapis.com/compute/v1/projects/{project}/global/networks/{network} The project ID in which the ILB exists. + "region": "A String", # The region for regional ILBs. + }, + ], + }, + "trickleTraffic": 3.14, # When serving state is PRIMARY, this field provides the option of sending a small percentage of the traffic to the backup targets. + }, "wrr": { # Configures a RRSetRoutingPolicy that routes in a weighted round robin fashion. "items": [ { # A routing block which contains the routing information for one WRR item. + "healthCheckedTargets": { # HealthCheckTargets describes endpoints to health-check when responding to Routing Policy queries. Only the healthy endpoints will be included in the response. # endpoints that need to be health checked before making the routing decision. The unhealthy endpoints will be omitted from the result. If all endpoints within a buckete are unhealthy, we'll choose a different bucket (sampled w.r.t. its weight) for responding. Note that if DNSSEC is enabled for this zone, only one of rrdata or health_checked_targets can be set. + "internalLoadBalancers": [ + { + "ipAddress": "A String", # The frontend IP address of the + "ipProtocol": "A String", + "kind": "dns#rRSetRoutingPolicyLoadBalancerTarget", + "loadBalancerType": "A String", + "networkUrl": "A String", # The fully qualified url of the network on which the ILB is + "port": "A String", # Load Balancer to health check. The configured port of the Load Balancer. + "project": "A String", # present. This should be formatted like https://www.googleapis.com/compute/v1/projects/{project}/global/networks/{network} The project ID in which the ILB exists. + "region": "A String", # The region for regional ILBs. + }, + ], + }, "kind": "dns#rRSetRoutingPolicyWrrPolicyWrrPolicyItem", "rrdatas": [ "A String", @@ -408,6 +818,20 @@

Method Details

"wrrPolicy": { # Configures a RRSetRoutingPolicy that routes in a weighted round robin fashion. "items": [ { # A routing block which contains the routing information for one WRR item. + "healthCheckedTargets": { # HealthCheckTargets describes endpoints to health-check when responding to Routing Policy queries. Only the healthy endpoints will be included in the response. # endpoints that need to be health checked before making the routing decision. The unhealthy endpoints will be omitted from the result. If all endpoints within a buckete are unhealthy, we'll choose a different bucket (sampled w.r.t. its weight) for responding. Note that if DNSSEC is enabled for this zone, only one of rrdata or health_checked_targets can be set. + "internalLoadBalancers": [ + { + "ipAddress": "A String", # The frontend IP address of the + "ipProtocol": "A String", + "kind": "dns#rRSetRoutingPolicyLoadBalancerTarget", + "loadBalancerType": "A String", + "networkUrl": "A String", # The fully qualified url of the network on which the ILB is + "port": "A String", # Load Balancer to health check. The configured port of the Load Balancer. + "project": "A String", # present. This should be formatted like https://www.googleapis.com/compute/v1/projects/{project}/global/networks/{network} The project ID in which the ILB exists. + "region": "A String", # The region for regional ILBs. + }, + ], + }, "kind": "dns#rRSetRoutingPolicyWrrPolicyWrrPolicyItem", "rrdatas": [ "A String", @@ -463,8 +887,23 @@

Method Details

"name": "A String", # For example, www.example.com. "routingPolicy": { # A RRSetRoutingPolicy represents ResourceRecordSet data that is returned dynamically with the response varying based on configured properties such as geolocation or by weighted random selection. # Configures dynamic query responses based on geo location of querying user or a weighted round robin based routing policy. A ResourceRecordSet should only have either rrdata (static) or routing_policy (dynamic). An error is returned otherwise. "geo": { # Configures a RRSetRoutingPolicy that routes based on the geo location of the querying user. + "enableFencing": True or False, # Without fencing, if health check fails for all configured items in the current geo bucket, we'll failover to the next nearest geo bucket. With fencing, if health check is enabled, as long as some targets in the current geo bucket are healthy, we'll return only the healthy targets. However, if they're all unhealthy, we won't failover to the next nearest bucket, we'll simply return all the items in the current bucket even though they're unhealthy. "items": [ # The primary geo routing configuration. If there are multiple items with the same location, an error is returned instead. { # ResourceRecordSet data for one geo location. + "healthCheckedTargets": { # HealthCheckTargets describes endpoints to health-check when responding to Routing Policy queries. Only the healthy endpoints will be included in the response. # For A and AAAA types only. Endpoints to return in the query result only if they are healthy. These can be specified along with rrdata within this item. + "internalLoadBalancers": [ + { + "ipAddress": "A String", # The frontend IP address of the + "ipProtocol": "A String", + "kind": "dns#rRSetRoutingPolicyLoadBalancerTarget", + "loadBalancerType": "A String", + "networkUrl": "A String", # The fully qualified url of the network on which the ILB is + "port": "A String", # Load Balancer to health check. The configured port of the Load Balancer. + "project": "A String", # present. This should be formatted like https://www.googleapis.com/compute/v1/projects/{project}/global/networks/{network} The project ID in which the ILB exists. + "region": "A String", # The region for regional ILBs. + }, + ], + }, "kind": "dns#rRSetRoutingPolicyGeoPolicyGeoPolicyItem", "location": "A String", # The geo-location granularity is a GCP region. This location string should correspond to a GCP region. e.g. "us-east1", "southamerica-east1", "asia-east1", etc. "rrdatas": [ @@ -478,8 +917,23 @@

Method Details

"kind": "dns#rRSetRoutingPolicyGeoPolicy", }, "geoPolicy": { # Configures a RRSetRoutingPolicy that routes based on the geo location of the querying user. + "enableFencing": True or False, # Without fencing, if health check fails for all configured items in the current geo bucket, we'll failover to the next nearest geo bucket. With fencing, if health check is enabled, as long as some targets in the current geo bucket are healthy, we'll return only the healthy targets. However, if they're all unhealthy, we won't failover to the next nearest bucket, we'll simply return all the items in the current bucket even though they're unhealthy. "items": [ # The primary geo routing configuration. If there are multiple items with the same location, an error is returned instead. { # ResourceRecordSet data for one geo location. + "healthCheckedTargets": { # HealthCheckTargets describes endpoints to health-check when responding to Routing Policy queries. Only the healthy endpoints will be included in the response. # For A and AAAA types only. Endpoints to return in the query result only if they are healthy. These can be specified along with rrdata within this item. + "internalLoadBalancers": [ + { + "ipAddress": "A String", # The frontend IP address of the + "ipProtocol": "A String", + "kind": "dns#rRSetRoutingPolicyLoadBalancerTarget", + "loadBalancerType": "A String", + "networkUrl": "A String", # The fully qualified url of the network on which the ILB is + "port": "A String", # Load Balancer to health check. The configured port of the Load Balancer. + "project": "A String", # present. This should be formatted like https://www.googleapis.com/compute/v1/projects/{project}/global/networks/{network} The project ID in which the ILB exists. + "region": "A String", # The region for regional ILBs. + }, + ], + }, "kind": "dns#rRSetRoutingPolicyGeoPolicyGeoPolicyItem", "location": "A String", # The geo-location granularity is a GCP region. This location string should correspond to a GCP region. e.g. "us-east1", "southamerica-east1", "asia-east1", etc. "rrdatas": [ @@ -493,9 +947,71 @@

Method Details

"kind": "dns#rRSetRoutingPolicyGeoPolicy", }, "kind": "dns#rRSetRoutingPolicy", + "primaryBackup": { # Configures a RRSetRoutingPolicy such that all queries are responded with the primary_targets if they are healthy. And if all of them are unhealthy, then we fallback to a geo localized policy. + "backupGeoTargets": { # Configures a RRSetRoutingPolicy that routes based on the geo location of the querying user. # Backup targets provide a regional failover policy for the otherwise global primary targets. If serving state is set to BACKUP, this policy essentially becomes a geo routing policy. + "enableFencing": True or False, # Without fencing, if health check fails for all configured items in the current geo bucket, we'll failover to the next nearest geo bucket. With fencing, if health check is enabled, as long as some targets in the current geo bucket are healthy, we'll return only the healthy targets. However, if they're all unhealthy, we won't failover to the next nearest bucket, we'll simply return all the items in the current bucket even though they're unhealthy. + "items": [ # The primary geo routing configuration. If there are multiple items with the same location, an error is returned instead. + { # ResourceRecordSet data for one geo location. + "healthCheckedTargets": { # HealthCheckTargets describes endpoints to health-check when responding to Routing Policy queries. Only the healthy endpoints will be included in the response. # For A and AAAA types only. Endpoints to return in the query result only if they are healthy. These can be specified along with rrdata within this item. + "internalLoadBalancers": [ + { + "ipAddress": "A String", # The frontend IP address of the + "ipProtocol": "A String", + "kind": "dns#rRSetRoutingPolicyLoadBalancerTarget", + "loadBalancerType": "A String", + "networkUrl": "A String", # The fully qualified url of the network on which the ILB is + "port": "A String", # Load Balancer to health check. The configured port of the Load Balancer. + "project": "A String", # present. This should be formatted like https://www.googleapis.com/compute/v1/projects/{project}/global/networks/{network} The project ID in which the ILB exists. + "region": "A String", # The region for regional ILBs. + }, + ], + }, + "kind": "dns#rRSetRoutingPolicyGeoPolicyGeoPolicyItem", + "location": "A String", # The geo-location granularity is a GCP region. This location string should correspond to a GCP region. e.g. "us-east1", "southamerica-east1", "asia-east1", etc. + "rrdatas": [ + "A String", + ], + "signatureRrdatas": [ # DNSSEC generated signatures for all the rrdata within this item. Note that if health checked targets are provided for DNSSEC enabled zones, there's a restriction of 1 ip per item. . + "A String", + ], + }, + ], + "kind": "dns#rRSetRoutingPolicyGeoPolicy", + }, + "kind": "dns#rRSetRoutingPolicyPrimaryBackupPolicy", + "primaryTargets": { # HealthCheckTargets describes endpoints to health-check when responding to Routing Policy queries. Only the healthy endpoints will be included in the response. + "internalLoadBalancers": [ + { + "ipAddress": "A String", # The frontend IP address of the + "ipProtocol": "A String", + "kind": "dns#rRSetRoutingPolicyLoadBalancerTarget", + "loadBalancerType": "A String", + "networkUrl": "A String", # The fully qualified url of the network on which the ILB is + "port": "A String", # Load Balancer to health check. The configured port of the Load Balancer. + "project": "A String", # present. This should be formatted like https://www.googleapis.com/compute/v1/projects/{project}/global/networks/{network} The project ID in which the ILB exists. + "region": "A String", # The region for regional ILBs. + }, + ], + }, + "trickleTraffic": 3.14, # When serving state is PRIMARY, this field provides the option of sending a small percentage of the traffic to the backup targets. + }, "wrr": { # Configures a RRSetRoutingPolicy that routes in a weighted round robin fashion. "items": [ { # A routing block which contains the routing information for one WRR item. + "healthCheckedTargets": { # HealthCheckTargets describes endpoints to health-check when responding to Routing Policy queries. Only the healthy endpoints will be included in the response. # endpoints that need to be health checked before making the routing decision. The unhealthy endpoints will be omitted from the result. If all endpoints within a buckete are unhealthy, we'll choose a different bucket (sampled w.r.t. its weight) for responding. Note that if DNSSEC is enabled for this zone, only one of rrdata or health_checked_targets can be set. + "internalLoadBalancers": [ + { + "ipAddress": "A String", # The frontend IP address of the + "ipProtocol": "A String", + "kind": "dns#rRSetRoutingPolicyLoadBalancerTarget", + "loadBalancerType": "A String", + "networkUrl": "A String", # The fully qualified url of the network on which the ILB is + "port": "A String", # Load Balancer to health check. The configured port of the Load Balancer. + "project": "A String", # present. This should be formatted like https://www.googleapis.com/compute/v1/projects/{project}/global/networks/{network} The project ID in which the ILB exists. + "region": "A String", # The region for regional ILBs. + }, + ], + }, "kind": "dns#rRSetRoutingPolicyWrrPolicyWrrPolicyItem", "rrdatas": [ "A String", @@ -511,6 +1027,20 @@

Method Details

"wrrPolicy": { # Configures a RRSetRoutingPolicy that routes in a weighted round robin fashion. "items": [ { # A routing block which contains the routing information for one WRR item. + "healthCheckedTargets": { # HealthCheckTargets describes endpoints to health-check when responding to Routing Policy queries. Only the healthy endpoints will be included in the response. # endpoints that need to be health checked before making the routing decision. The unhealthy endpoints will be omitted from the result. If all endpoints within a buckete are unhealthy, we'll choose a different bucket (sampled w.r.t. its weight) for responding. Note that if DNSSEC is enabled for this zone, only one of rrdata or health_checked_targets can be set. + "internalLoadBalancers": [ + { + "ipAddress": "A String", # The frontend IP address of the + "ipProtocol": "A String", + "kind": "dns#rRSetRoutingPolicyLoadBalancerTarget", + "loadBalancerType": "A String", + "networkUrl": "A String", # The fully qualified url of the network on which the ILB is + "port": "A String", # Load Balancer to health check. The configured port of the Load Balancer. + "project": "A String", # present. This should be formatted like https://www.googleapis.com/compute/v1/projects/{project}/global/networks/{network} The project ID in which the ILB exists. + "region": "A String", # The region for regional ILBs. + }, + ], + }, "kind": "dns#rRSetRoutingPolicyWrrPolicyWrrPolicyItem", "rrdatas": [ "A String", @@ -540,8 +1070,23 @@

Method Details

"name": "A String", # For example, www.example.com. "routingPolicy": { # A RRSetRoutingPolicy represents ResourceRecordSet data that is returned dynamically with the response varying based on configured properties such as geolocation or by weighted random selection. # Configures dynamic query responses based on geo location of querying user or a weighted round robin based routing policy. A ResourceRecordSet should only have either rrdata (static) or routing_policy (dynamic). An error is returned otherwise. "geo": { # Configures a RRSetRoutingPolicy that routes based on the geo location of the querying user. + "enableFencing": True or False, # Without fencing, if health check fails for all configured items in the current geo bucket, we'll failover to the next nearest geo bucket. With fencing, if health check is enabled, as long as some targets in the current geo bucket are healthy, we'll return only the healthy targets. However, if they're all unhealthy, we won't failover to the next nearest bucket, we'll simply return all the items in the current bucket even though they're unhealthy. "items": [ # The primary geo routing configuration. If there are multiple items with the same location, an error is returned instead. { # ResourceRecordSet data for one geo location. + "healthCheckedTargets": { # HealthCheckTargets describes endpoints to health-check when responding to Routing Policy queries. Only the healthy endpoints will be included in the response. # For A and AAAA types only. Endpoints to return in the query result only if they are healthy. These can be specified along with rrdata within this item. + "internalLoadBalancers": [ + { + "ipAddress": "A String", # The frontend IP address of the + "ipProtocol": "A String", + "kind": "dns#rRSetRoutingPolicyLoadBalancerTarget", + "loadBalancerType": "A String", + "networkUrl": "A String", # The fully qualified url of the network on which the ILB is + "port": "A String", # Load Balancer to health check. The configured port of the Load Balancer. + "project": "A String", # present. This should be formatted like https://www.googleapis.com/compute/v1/projects/{project}/global/networks/{network} The project ID in which the ILB exists. + "region": "A String", # The region for regional ILBs. + }, + ], + }, "kind": "dns#rRSetRoutingPolicyGeoPolicyGeoPolicyItem", "location": "A String", # The geo-location granularity is a GCP region. This location string should correspond to a GCP region. e.g. "us-east1", "southamerica-east1", "asia-east1", etc. "rrdatas": [ @@ -555,8 +1100,23 @@

Method Details

"kind": "dns#rRSetRoutingPolicyGeoPolicy", }, "geoPolicy": { # Configures a RRSetRoutingPolicy that routes based on the geo location of the querying user. + "enableFencing": True or False, # Without fencing, if health check fails for all configured items in the current geo bucket, we'll failover to the next nearest geo bucket. With fencing, if health check is enabled, as long as some targets in the current geo bucket are healthy, we'll return only the healthy targets. However, if they're all unhealthy, we won't failover to the next nearest bucket, we'll simply return all the items in the current bucket even though they're unhealthy. "items": [ # The primary geo routing configuration. If there are multiple items with the same location, an error is returned instead. { # ResourceRecordSet data for one geo location. + "healthCheckedTargets": { # HealthCheckTargets describes endpoints to health-check when responding to Routing Policy queries. Only the healthy endpoints will be included in the response. # For A and AAAA types only. Endpoints to return in the query result only if they are healthy. These can be specified along with rrdata within this item. + "internalLoadBalancers": [ + { + "ipAddress": "A String", # The frontend IP address of the + "ipProtocol": "A String", + "kind": "dns#rRSetRoutingPolicyLoadBalancerTarget", + "loadBalancerType": "A String", + "networkUrl": "A String", # The fully qualified url of the network on which the ILB is + "port": "A String", # Load Balancer to health check. The configured port of the Load Balancer. + "project": "A String", # present. This should be formatted like https://www.googleapis.com/compute/v1/projects/{project}/global/networks/{network} The project ID in which the ILB exists. + "region": "A String", # The region for regional ILBs. + }, + ], + }, "kind": "dns#rRSetRoutingPolicyGeoPolicyGeoPolicyItem", "location": "A String", # The geo-location granularity is a GCP region. This location string should correspond to a GCP region. e.g. "us-east1", "southamerica-east1", "asia-east1", etc. "rrdatas": [ @@ -570,9 +1130,71 @@

Method Details

"kind": "dns#rRSetRoutingPolicyGeoPolicy", }, "kind": "dns#rRSetRoutingPolicy", + "primaryBackup": { # Configures a RRSetRoutingPolicy such that all queries are responded with the primary_targets if they are healthy. And if all of them are unhealthy, then we fallback to a geo localized policy. + "backupGeoTargets": { # Configures a RRSetRoutingPolicy that routes based on the geo location of the querying user. # Backup targets provide a regional failover policy for the otherwise global primary targets. If serving state is set to BACKUP, this policy essentially becomes a geo routing policy. + "enableFencing": True or False, # Without fencing, if health check fails for all configured items in the current geo bucket, we'll failover to the next nearest geo bucket. With fencing, if health check is enabled, as long as some targets in the current geo bucket are healthy, we'll return only the healthy targets. However, if they're all unhealthy, we won't failover to the next nearest bucket, we'll simply return all the items in the current bucket even though they're unhealthy. + "items": [ # The primary geo routing configuration. If there are multiple items with the same location, an error is returned instead. + { # ResourceRecordSet data for one geo location. + "healthCheckedTargets": { # HealthCheckTargets describes endpoints to health-check when responding to Routing Policy queries. Only the healthy endpoints will be included in the response. # For A and AAAA types only. Endpoints to return in the query result only if they are healthy. These can be specified along with rrdata within this item. + "internalLoadBalancers": [ + { + "ipAddress": "A String", # The frontend IP address of the + "ipProtocol": "A String", + "kind": "dns#rRSetRoutingPolicyLoadBalancerTarget", + "loadBalancerType": "A String", + "networkUrl": "A String", # The fully qualified url of the network on which the ILB is + "port": "A String", # Load Balancer to health check. The configured port of the Load Balancer. + "project": "A String", # present. This should be formatted like https://www.googleapis.com/compute/v1/projects/{project}/global/networks/{network} The project ID in which the ILB exists. + "region": "A String", # The region for regional ILBs. + }, + ], + }, + "kind": "dns#rRSetRoutingPolicyGeoPolicyGeoPolicyItem", + "location": "A String", # The geo-location granularity is a GCP region. This location string should correspond to a GCP region. e.g. "us-east1", "southamerica-east1", "asia-east1", etc. + "rrdatas": [ + "A String", + ], + "signatureRrdatas": [ # DNSSEC generated signatures for all the rrdata within this item. Note that if health checked targets are provided for DNSSEC enabled zones, there's a restriction of 1 ip per item. . + "A String", + ], + }, + ], + "kind": "dns#rRSetRoutingPolicyGeoPolicy", + }, + "kind": "dns#rRSetRoutingPolicyPrimaryBackupPolicy", + "primaryTargets": { # HealthCheckTargets describes endpoints to health-check when responding to Routing Policy queries. Only the healthy endpoints will be included in the response. + "internalLoadBalancers": [ + { + "ipAddress": "A String", # The frontend IP address of the + "ipProtocol": "A String", + "kind": "dns#rRSetRoutingPolicyLoadBalancerTarget", + "loadBalancerType": "A String", + "networkUrl": "A String", # The fully qualified url of the network on which the ILB is + "port": "A String", # Load Balancer to health check. The configured port of the Load Balancer. + "project": "A String", # present. This should be formatted like https://www.googleapis.com/compute/v1/projects/{project}/global/networks/{network} The project ID in which the ILB exists. + "region": "A String", # The region for regional ILBs. + }, + ], + }, + "trickleTraffic": 3.14, # When serving state is PRIMARY, this field provides the option of sending a small percentage of the traffic to the backup targets. + }, "wrr": { # Configures a RRSetRoutingPolicy that routes in a weighted round robin fashion. "items": [ { # A routing block which contains the routing information for one WRR item. + "healthCheckedTargets": { # HealthCheckTargets describes endpoints to health-check when responding to Routing Policy queries. Only the healthy endpoints will be included in the response. # endpoints that need to be health checked before making the routing decision. The unhealthy endpoints will be omitted from the result. If all endpoints within a buckete are unhealthy, we'll choose a different bucket (sampled w.r.t. its weight) for responding. Note that if DNSSEC is enabled for this zone, only one of rrdata or health_checked_targets can be set. + "internalLoadBalancers": [ + { + "ipAddress": "A String", # The frontend IP address of the + "ipProtocol": "A String", + "kind": "dns#rRSetRoutingPolicyLoadBalancerTarget", + "loadBalancerType": "A String", + "networkUrl": "A String", # The fully qualified url of the network on which the ILB is + "port": "A String", # Load Balancer to health check. The configured port of the Load Balancer. + "project": "A String", # present. This should be formatted like https://www.googleapis.com/compute/v1/projects/{project}/global/networks/{network} The project ID in which the ILB exists. + "region": "A String", # The region for regional ILBs. + }, + ], + }, "kind": "dns#rRSetRoutingPolicyWrrPolicyWrrPolicyItem", "rrdatas": [ "A String", @@ -588,6 +1210,20 @@

Method Details

"wrrPolicy": { # Configures a RRSetRoutingPolicy that routes in a weighted round robin fashion. "items": [ { # A routing block which contains the routing information for one WRR item. + "healthCheckedTargets": { # HealthCheckTargets describes endpoints to health-check when responding to Routing Policy queries. Only the healthy endpoints will be included in the response. # endpoints that need to be health checked before making the routing decision. The unhealthy endpoints will be omitted from the result. If all endpoints within a buckete are unhealthy, we'll choose a different bucket (sampled w.r.t. its weight) for responding. Note that if DNSSEC is enabled for this zone, only one of rrdata or health_checked_targets can be set. + "internalLoadBalancers": [ + { + "ipAddress": "A String", # The frontend IP address of the + "ipProtocol": "A String", + "kind": "dns#rRSetRoutingPolicyLoadBalancerTarget", + "loadBalancerType": "A String", + "networkUrl": "A String", # The fully qualified url of the network on which the ILB is + "port": "A String", # Load Balancer to health check. The configured port of the Load Balancer. + "project": "A String", # present. This should be formatted like https://www.googleapis.com/compute/v1/projects/{project}/global/networks/{network} The project ID in which the ILB exists. + "region": "A String", # The region for regional ILBs. + }, + ], + }, "kind": "dns#rRSetRoutingPolicyWrrPolicyWrrPolicyItem", "rrdatas": [ "A String", @@ -649,8 +1285,23 @@

Method Details

"name": "A String", # For example, www.example.com. "routingPolicy": { # A RRSetRoutingPolicy represents ResourceRecordSet data that is returned dynamically with the response varying based on configured properties such as geolocation or by weighted random selection. # Configures dynamic query responses based on geo location of querying user or a weighted round robin based routing policy. A ResourceRecordSet should only have either rrdata (static) or routing_policy (dynamic). An error is returned otherwise. "geo": { # Configures a RRSetRoutingPolicy that routes based on the geo location of the querying user. + "enableFencing": True or False, # Without fencing, if health check fails for all configured items in the current geo bucket, we'll failover to the next nearest geo bucket. With fencing, if health check is enabled, as long as some targets in the current geo bucket are healthy, we'll return only the healthy targets. However, if they're all unhealthy, we won't failover to the next nearest bucket, we'll simply return all the items in the current bucket even though they're unhealthy. "items": [ # The primary geo routing configuration. If there are multiple items with the same location, an error is returned instead. { # ResourceRecordSet data for one geo location. + "healthCheckedTargets": { # HealthCheckTargets describes endpoints to health-check when responding to Routing Policy queries. Only the healthy endpoints will be included in the response. # For A and AAAA types only. Endpoints to return in the query result only if they are healthy. These can be specified along with rrdata within this item. + "internalLoadBalancers": [ + { + "ipAddress": "A String", # The frontend IP address of the + "ipProtocol": "A String", + "kind": "dns#rRSetRoutingPolicyLoadBalancerTarget", + "loadBalancerType": "A String", + "networkUrl": "A String", # The fully qualified url of the network on which the ILB is + "port": "A String", # Load Balancer to health check. The configured port of the Load Balancer. + "project": "A String", # present. This should be formatted like https://www.googleapis.com/compute/v1/projects/{project}/global/networks/{network} The project ID in which the ILB exists. + "region": "A String", # The region for regional ILBs. + }, + ], + }, "kind": "dns#rRSetRoutingPolicyGeoPolicyGeoPolicyItem", "location": "A String", # The geo-location granularity is a GCP region. This location string should correspond to a GCP region. e.g. "us-east1", "southamerica-east1", "asia-east1", etc. "rrdatas": [ @@ -664,8 +1315,23 @@

Method Details

"kind": "dns#rRSetRoutingPolicyGeoPolicy", }, "geoPolicy": { # Configures a RRSetRoutingPolicy that routes based on the geo location of the querying user. + "enableFencing": True or False, # Without fencing, if health check fails for all configured items in the current geo bucket, we'll failover to the next nearest geo bucket. With fencing, if health check is enabled, as long as some targets in the current geo bucket are healthy, we'll return only the healthy targets. However, if they're all unhealthy, we won't failover to the next nearest bucket, we'll simply return all the items in the current bucket even though they're unhealthy. "items": [ # The primary geo routing configuration. If there are multiple items with the same location, an error is returned instead. { # ResourceRecordSet data for one geo location. + "healthCheckedTargets": { # HealthCheckTargets describes endpoints to health-check when responding to Routing Policy queries. Only the healthy endpoints will be included in the response. # For A and AAAA types only. Endpoints to return in the query result only if they are healthy. These can be specified along with rrdata within this item. + "internalLoadBalancers": [ + { + "ipAddress": "A String", # The frontend IP address of the + "ipProtocol": "A String", + "kind": "dns#rRSetRoutingPolicyLoadBalancerTarget", + "loadBalancerType": "A String", + "networkUrl": "A String", # The fully qualified url of the network on which the ILB is + "port": "A String", # Load Balancer to health check. The configured port of the Load Balancer. + "project": "A String", # present. This should be formatted like https://www.googleapis.com/compute/v1/projects/{project}/global/networks/{network} The project ID in which the ILB exists. + "region": "A String", # The region for regional ILBs. + }, + ], + }, "kind": "dns#rRSetRoutingPolicyGeoPolicyGeoPolicyItem", "location": "A String", # The geo-location granularity is a GCP region. This location string should correspond to a GCP region. e.g. "us-east1", "southamerica-east1", "asia-east1", etc. "rrdatas": [ @@ -679,9 +1345,71 @@

Method Details

"kind": "dns#rRSetRoutingPolicyGeoPolicy", }, "kind": "dns#rRSetRoutingPolicy", + "primaryBackup": { # Configures a RRSetRoutingPolicy such that all queries are responded with the primary_targets if they are healthy. And if all of them are unhealthy, then we fallback to a geo localized policy. + "backupGeoTargets": { # Configures a RRSetRoutingPolicy that routes based on the geo location of the querying user. # Backup targets provide a regional failover policy for the otherwise global primary targets. If serving state is set to BACKUP, this policy essentially becomes a geo routing policy. + "enableFencing": True or False, # Without fencing, if health check fails for all configured items in the current geo bucket, we'll failover to the next nearest geo bucket. With fencing, if health check is enabled, as long as some targets in the current geo bucket are healthy, we'll return only the healthy targets. However, if they're all unhealthy, we won't failover to the next nearest bucket, we'll simply return all the items in the current bucket even though they're unhealthy. + "items": [ # The primary geo routing configuration. If there are multiple items with the same location, an error is returned instead. + { # ResourceRecordSet data for one geo location. + "healthCheckedTargets": { # HealthCheckTargets describes endpoints to health-check when responding to Routing Policy queries. Only the healthy endpoints will be included in the response. # For A and AAAA types only. Endpoints to return in the query result only if they are healthy. These can be specified along with rrdata within this item. + "internalLoadBalancers": [ + { + "ipAddress": "A String", # The frontend IP address of the + "ipProtocol": "A String", + "kind": "dns#rRSetRoutingPolicyLoadBalancerTarget", + "loadBalancerType": "A String", + "networkUrl": "A String", # The fully qualified url of the network on which the ILB is + "port": "A String", # Load Balancer to health check. The configured port of the Load Balancer. + "project": "A String", # present. This should be formatted like https://www.googleapis.com/compute/v1/projects/{project}/global/networks/{network} The project ID in which the ILB exists. + "region": "A String", # The region for regional ILBs. + }, + ], + }, + "kind": "dns#rRSetRoutingPolicyGeoPolicyGeoPolicyItem", + "location": "A String", # The geo-location granularity is a GCP region. This location string should correspond to a GCP region. e.g. "us-east1", "southamerica-east1", "asia-east1", etc. + "rrdatas": [ + "A String", + ], + "signatureRrdatas": [ # DNSSEC generated signatures for all the rrdata within this item. Note that if health checked targets are provided for DNSSEC enabled zones, there's a restriction of 1 ip per item. . + "A String", + ], + }, + ], + "kind": "dns#rRSetRoutingPolicyGeoPolicy", + }, + "kind": "dns#rRSetRoutingPolicyPrimaryBackupPolicy", + "primaryTargets": { # HealthCheckTargets describes endpoints to health-check when responding to Routing Policy queries. Only the healthy endpoints will be included in the response. + "internalLoadBalancers": [ + { + "ipAddress": "A String", # The frontend IP address of the + "ipProtocol": "A String", + "kind": "dns#rRSetRoutingPolicyLoadBalancerTarget", + "loadBalancerType": "A String", + "networkUrl": "A String", # The fully qualified url of the network on which the ILB is + "port": "A String", # Load Balancer to health check. The configured port of the Load Balancer. + "project": "A String", # present. This should be formatted like https://www.googleapis.com/compute/v1/projects/{project}/global/networks/{network} The project ID in which the ILB exists. + "region": "A String", # The region for regional ILBs. + }, + ], + }, + "trickleTraffic": 3.14, # When serving state is PRIMARY, this field provides the option of sending a small percentage of the traffic to the backup targets. + }, "wrr": { # Configures a RRSetRoutingPolicy that routes in a weighted round robin fashion. "items": [ { # A routing block which contains the routing information for one WRR item. + "healthCheckedTargets": { # HealthCheckTargets describes endpoints to health-check when responding to Routing Policy queries. Only the healthy endpoints will be included in the response. # endpoints that need to be health checked before making the routing decision. The unhealthy endpoints will be omitted from the result. If all endpoints within a buckete are unhealthy, we'll choose a different bucket (sampled w.r.t. its weight) for responding. Note that if DNSSEC is enabled for this zone, only one of rrdata or health_checked_targets can be set. + "internalLoadBalancers": [ + { + "ipAddress": "A String", # The frontend IP address of the + "ipProtocol": "A String", + "kind": "dns#rRSetRoutingPolicyLoadBalancerTarget", + "loadBalancerType": "A String", + "networkUrl": "A String", # The fully qualified url of the network on which the ILB is + "port": "A String", # Load Balancer to health check. The configured port of the Load Balancer. + "project": "A String", # present. This should be formatted like https://www.googleapis.com/compute/v1/projects/{project}/global/networks/{network} The project ID in which the ILB exists. + "region": "A String", # The region for regional ILBs. + }, + ], + }, "kind": "dns#rRSetRoutingPolicyWrrPolicyWrrPolicyItem", "rrdatas": [ "A String", @@ -697,6 +1425,20 @@

Method Details

"wrrPolicy": { # Configures a RRSetRoutingPolicy that routes in a weighted round robin fashion. "items": [ { # A routing block which contains the routing information for one WRR item. + "healthCheckedTargets": { # HealthCheckTargets describes endpoints to health-check when responding to Routing Policy queries. Only the healthy endpoints will be included in the response. # endpoints that need to be health checked before making the routing decision. The unhealthy endpoints will be omitted from the result. If all endpoints within a buckete are unhealthy, we'll choose a different bucket (sampled w.r.t. its weight) for responding. Note that if DNSSEC is enabled for this zone, only one of rrdata or health_checked_targets can be set. + "internalLoadBalancers": [ + { + "ipAddress": "A String", # The frontend IP address of the + "ipProtocol": "A String", + "kind": "dns#rRSetRoutingPolicyLoadBalancerTarget", + "loadBalancerType": "A String", + "networkUrl": "A String", # The fully qualified url of the network on which the ILB is + "port": "A String", # Load Balancer to health check. The configured port of the Load Balancer. + "project": "A String", # present. This should be formatted like https://www.googleapis.com/compute/v1/projects/{project}/global/networks/{network} The project ID in which the ILB exists. + "region": "A String", # The region for regional ILBs. + }, + ], + }, "kind": "dns#rRSetRoutingPolicyWrrPolicyWrrPolicyItem", "rrdatas": [ "A String", @@ -726,8 +1468,23 @@

Method Details

"name": "A String", # For example, www.example.com. "routingPolicy": { # A RRSetRoutingPolicy represents ResourceRecordSet data that is returned dynamically with the response varying based on configured properties such as geolocation or by weighted random selection. # Configures dynamic query responses based on geo location of querying user or a weighted round robin based routing policy. A ResourceRecordSet should only have either rrdata (static) or routing_policy (dynamic). An error is returned otherwise. "geo": { # Configures a RRSetRoutingPolicy that routes based on the geo location of the querying user. + "enableFencing": True or False, # Without fencing, if health check fails for all configured items in the current geo bucket, we'll failover to the next nearest geo bucket. With fencing, if health check is enabled, as long as some targets in the current geo bucket are healthy, we'll return only the healthy targets. However, if they're all unhealthy, we won't failover to the next nearest bucket, we'll simply return all the items in the current bucket even though they're unhealthy. "items": [ # The primary geo routing configuration. If there are multiple items with the same location, an error is returned instead. { # ResourceRecordSet data for one geo location. + "healthCheckedTargets": { # HealthCheckTargets describes endpoints to health-check when responding to Routing Policy queries. Only the healthy endpoints will be included in the response. # For A and AAAA types only. Endpoints to return in the query result only if they are healthy. These can be specified along with rrdata within this item. + "internalLoadBalancers": [ + { + "ipAddress": "A String", # The frontend IP address of the + "ipProtocol": "A String", + "kind": "dns#rRSetRoutingPolicyLoadBalancerTarget", + "loadBalancerType": "A String", + "networkUrl": "A String", # The fully qualified url of the network on which the ILB is + "port": "A String", # Load Balancer to health check. The configured port of the Load Balancer. + "project": "A String", # present. This should be formatted like https://www.googleapis.com/compute/v1/projects/{project}/global/networks/{network} The project ID in which the ILB exists. + "region": "A String", # The region for regional ILBs. + }, + ], + }, "kind": "dns#rRSetRoutingPolicyGeoPolicyGeoPolicyItem", "location": "A String", # The geo-location granularity is a GCP region. This location string should correspond to a GCP region. e.g. "us-east1", "southamerica-east1", "asia-east1", etc. "rrdatas": [ @@ -741,8 +1498,23 @@

Method Details

"kind": "dns#rRSetRoutingPolicyGeoPolicy", }, "geoPolicy": { # Configures a RRSetRoutingPolicy that routes based on the geo location of the querying user. + "enableFencing": True or False, # Without fencing, if health check fails for all configured items in the current geo bucket, we'll failover to the next nearest geo bucket. With fencing, if health check is enabled, as long as some targets in the current geo bucket are healthy, we'll return only the healthy targets. However, if they're all unhealthy, we won't failover to the next nearest bucket, we'll simply return all the items in the current bucket even though they're unhealthy. "items": [ # The primary geo routing configuration. If there are multiple items with the same location, an error is returned instead. { # ResourceRecordSet data for one geo location. + "healthCheckedTargets": { # HealthCheckTargets describes endpoints to health-check when responding to Routing Policy queries. Only the healthy endpoints will be included in the response. # For A and AAAA types only. Endpoints to return in the query result only if they are healthy. These can be specified along with rrdata within this item. + "internalLoadBalancers": [ + { + "ipAddress": "A String", # The frontend IP address of the + "ipProtocol": "A String", + "kind": "dns#rRSetRoutingPolicyLoadBalancerTarget", + "loadBalancerType": "A String", + "networkUrl": "A String", # The fully qualified url of the network on which the ILB is + "port": "A String", # Load Balancer to health check. The configured port of the Load Balancer. + "project": "A String", # present. This should be formatted like https://www.googleapis.com/compute/v1/projects/{project}/global/networks/{network} The project ID in which the ILB exists. + "region": "A String", # The region for regional ILBs. + }, + ], + }, "kind": "dns#rRSetRoutingPolicyGeoPolicyGeoPolicyItem", "location": "A String", # The geo-location granularity is a GCP region. This location string should correspond to a GCP region. e.g. "us-east1", "southamerica-east1", "asia-east1", etc. "rrdatas": [ @@ -756,9 +1528,71 @@

Method Details

"kind": "dns#rRSetRoutingPolicyGeoPolicy", }, "kind": "dns#rRSetRoutingPolicy", + "primaryBackup": { # Configures a RRSetRoutingPolicy such that all queries are responded with the primary_targets if they are healthy. And if all of them are unhealthy, then we fallback to a geo localized policy. + "backupGeoTargets": { # Configures a RRSetRoutingPolicy that routes based on the geo location of the querying user. # Backup targets provide a regional failover policy for the otherwise global primary targets. If serving state is set to BACKUP, this policy essentially becomes a geo routing policy. + "enableFencing": True or False, # Without fencing, if health check fails for all configured items in the current geo bucket, we'll failover to the next nearest geo bucket. With fencing, if health check is enabled, as long as some targets in the current geo bucket are healthy, we'll return only the healthy targets. However, if they're all unhealthy, we won't failover to the next nearest bucket, we'll simply return all the items in the current bucket even though they're unhealthy. + "items": [ # The primary geo routing configuration. If there are multiple items with the same location, an error is returned instead. + { # ResourceRecordSet data for one geo location. + "healthCheckedTargets": { # HealthCheckTargets describes endpoints to health-check when responding to Routing Policy queries. Only the healthy endpoints will be included in the response. # For A and AAAA types only. Endpoints to return in the query result only if they are healthy. These can be specified along with rrdata within this item. + "internalLoadBalancers": [ + { + "ipAddress": "A String", # The frontend IP address of the + "ipProtocol": "A String", + "kind": "dns#rRSetRoutingPolicyLoadBalancerTarget", + "loadBalancerType": "A String", + "networkUrl": "A String", # The fully qualified url of the network on which the ILB is + "port": "A String", # Load Balancer to health check. The configured port of the Load Balancer. + "project": "A String", # present. This should be formatted like https://www.googleapis.com/compute/v1/projects/{project}/global/networks/{network} The project ID in which the ILB exists. + "region": "A String", # The region for regional ILBs. + }, + ], + }, + "kind": "dns#rRSetRoutingPolicyGeoPolicyGeoPolicyItem", + "location": "A String", # The geo-location granularity is a GCP region. This location string should correspond to a GCP region. e.g. "us-east1", "southamerica-east1", "asia-east1", etc. + "rrdatas": [ + "A String", + ], + "signatureRrdatas": [ # DNSSEC generated signatures for all the rrdata within this item. Note that if health checked targets are provided for DNSSEC enabled zones, there's a restriction of 1 ip per item. . + "A String", + ], + }, + ], + "kind": "dns#rRSetRoutingPolicyGeoPolicy", + }, + "kind": "dns#rRSetRoutingPolicyPrimaryBackupPolicy", + "primaryTargets": { # HealthCheckTargets describes endpoints to health-check when responding to Routing Policy queries. Only the healthy endpoints will be included in the response. + "internalLoadBalancers": [ + { + "ipAddress": "A String", # The frontend IP address of the + "ipProtocol": "A String", + "kind": "dns#rRSetRoutingPolicyLoadBalancerTarget", + "loadBalancerType": "A String", + "networkUrl": "A String", # The fully qualified url of the network on which the ILB is + "port": "A String", # Load Balancer to health check. The configured port of the Load Balancer. + "project": "A String", # present. This should be formatted like https://www.googleapis.com/compute/v1/projects/{project}/global/networks/{network} The project ID in which the ILB exists. + "region": "A String", # The region for regional ILBs. + }, + ], + }, + "trickleTraffic": 3.14, # When serving state is PRIMARY, this field provides the option of sending a small percentage of the traffic to the backup targets. + }, "wrr": { # Configures a RRSetRoutingPolicy that routes in a weighted round robin fashion. "items": [ { # A routing block which contains the routing information for one WRR item. + "healthCheckedTargets": { # HealthCheckTargets describes endpoints to health-check when responding to Routing Policy queries. Only the healthy endpoints will be included in the response. # endpoints that need to be health checked before making the routing decision. The unhealthy endpoints will be omitted from the result. If all endpoints within a buckete are unhealthy, we'll choose a different bucket (sampled w.r.t. its weight) for responding. Note that if DNSSEC is enabled for this zone, only one of rrdata or health_checked_targets can be set. + "internalLoadBalancers": [ + { + "ipAddress": "A String", # The frontend IP address of the + "ipProtocol": "A String", + "kind": "dns#rRSetRoutingPolicyLoadBalancerTarget", + "loadBalancerType": "A String", + "networkUrl": "A String", # The fully qualified url of the network on which the ILB is + "port": "A String", # Load Balancer to health check. The configured port of the Load Balancer. + "project": "A String", # present. This should be formatted like https://www.googleapis.com/compute/v1/projects/{project}/global/networks/{network} The project ID in which the ILB exists. + "region": "A String", # The region for regional ILBs. + }, + ], + }, "kind": "dns#rRSetRoutingPolicyWrrPolicyWrrPolicyItem", "rrdatas": [ "A String", @@ -774,6 +1608,20 @@

Method Details

"wrrPolicy": { # Configures a RRSetRoutingPolicy that routes in a weighted round robin fashion. "items": [ { # A routing block which contains the routing information for one WRR item. + "healthCheckedTargets": { # HealthCheckTargets describes endpoints to health-check when responding to Routing Policy queries. Only the healthy endpoints will be included in the response. # endpoints that need to be health checked before making the routing decision. The unhealthy endpoints will be omitted from the result. If all endpoints within a buckete are unhealthy, we'll choose a different bucket (sampled w.r.t. its weight) for responding. Note that if DNSSEC is enabled for this zone, only one of rrdata or health_checked_targets can be set. + "internalLoadBalancers": [ + { + "ipAddress": "A String", # The frontend IP address of the + "ipProtocol": "A String", + "kind": "dns#rRSetRoutingPolicyLoadBalancerTarget", + "loadBalancerType": "A String", + "networkUrl": "A String", # The fully qualified url of the network on which the ILB is + "port": "A String", # Load Balancer to health check. The configured port of the Load Balancer. + "project": "A String", # present. This should be formatted like https://www.googleapis.com/compute/v1/projects/{project}/global/networks/{network} The project ID in which the ILB exists. + "region": "A String", # The region for regional ILBs. + }, + ], + }, "kind": "dns#rRSetRoutingPolicyWrrPolicyWrrPolicyItem", "rrdatas": [ "A String", diff --git a/docs/dyn/dns_v1beta2.resourceRecordSets.html b/docs/dyn/dns_v1beta2.resourceRecordSets.html index d8f7841b6ea..3875b8a717c 100644 --- a/docs/dyn/dns_v1beta2.resourceRecordSets.html +++ b/docs/dyn/dns_v1beta2.resourceRecordSets.html @@ -116,8 +116,23 @@

Method Details

"name": "A String", # For example, www.example.com. "routingPolicy": { # A RRSetRoutingPolicy represents ResourceRecordSet data that is returned dynamically with the response varying based on configured properties such as geolocation or by weighted random selection. # Configures dynamic query responses based on geo location of querying user or a weighted round robin based routing policy. A ResourceRecordSet should only have either rrdata (static) or routing_policy (dynamic). An error is returned otherwise. "geo": { # Configures a RRSetRoutingPolicy that routes based on the geo location of the querying user. + "enableFencing": True or False, # Without fencing, if health check fails for all configured items in the current geo bucket, we'll failover to the next nearest geo bucket. With fencing, if health check is enabled, as long as some targets in the current geo bucket are healthy, we'll return only the healthy targets. However, if they're all unhealthy, we won't failover to the next nearest bucket, we'll simply return all the items in the current bucket even though they're unhealthy. "items": [ # The primary geo routing configuration. If there are multiple items with the same location, an error is returned instead. { # ResourceRecordSet data for one geo location. + "healthCheckedTargets": { # HealthCheckTargets describes endpoints to health-check when responding to Routing Policy queries. Only the healthy endpoints will be included in the response. # For A and AAAA types only. Endpoints to return in the query result only if they are healthy. These can be specified along with rrdata within this item. + "internalLoadBalancers": [ + { + "ipAddress": "A String", # The frontend IP address of the + "ipProtocol": "A String", + "kind": "dns#rRSetRoutingPolicyLoadBalancerTarget", + "loadBalancerType": "A String", + "networkUrl": "A String", # The fully qualified url of the network on which the ILB is + "port": "A String", # Load Balancer to health check. The configured port of the Load Balancer. + "project": "A String", # present. This should be formatted like https://www.googleapis.com/compute/v1/projects/{project}/global/networks/{network} The project ID in which the ILB exists. + "region": "A String", # The region for regional ILBs. + }, + ], + }, "kind": "dns#rRSetRoutingPolicyGeoPolicyGeoPolicyItem", "location": "A String", # The geo-location granularity is a GCP region. This location string should correspond to a GCP region. e.g. "us-east1", "southamerica-east1", "asia-east1", etc. "rrdatas": [ @@ -131,8 +146,23 @@

Method Details

"kind": "dns#rRSetRoutingPolicyGeoPolicy", }, "geoPolicy": { # Configures a RRSetRoutingPolicy that routes based on the geo location of the querying user. + "enableFencing": True or False, # Without fencing, if health check fails for all configured items in the current geo bucket, we'll failover to the next nearest geo bucket. With fencing, if health check is enabled, as long as some targets in the current geo bucket are healthy, we'll return only the healthy targets. However, if they're all unhealthy, we won't failover to the next nearest bucket, we'll simply return all the items in the current bucket even though they're unhealthy. "items": [ # The primary geo routing configuration. If there are multiple items with the same location, an error is returned instead. { # ResourceRecordSet data for one geo location. + "healthCheckedTargets": { # HealthCheckTargets describes endpoints to health-check when responding to Routing Policy queries. Only the healthy endpoints will be included in the response. # For A and AAAA types only. Endpoints to return in the query result only if they are healthy. These can be specified along with rrdata within this item. + "internalLoadBalancers": [ + { + "ipAddress": "A String", # The frontend IP address of the + "ipProtocol": "A String", + "kind": "dns#rRSetRoutingPolicyLoadBalancerTarget", + "loadBalancerType": "A String", + "networkUrl": "A String", # The fully qualified url of the network on which the ILB is + "port": "A String", # Load Balancer to health check. The configured port of the Load Balancer. + "project": "A String", # present. This should be formatted like https://www.googleapis.com/compute/v1/projects/{project}/global/networks/{network} The project ID in which the ILB exists. + "region": "A String", # The region for regional ILBs. + }, + ], + }, "kind": "dns#rRSetRoutingPolicyGeoPolicyGeoPolicyItem", "location": "A String", # The geo-location granularity is a GCP region. This location string should correspond to a GCP region. e.g. "us-east1", "southamerica-east1", "asia-east1", etc. "rrdatas": [ @@ -146,9 +176,71 @@

Method Details

"kind": "dns#rRSetRoutingPolicyGeoPolicy", }, "kind": "dns#rRSetRoutingPolicy", + "primaryBackup": { # Configures a RRSetRoutingPolicy such that all queries are responded with the primary_targets if they are healthy. And if all of them are unhealthy, then we fallback to a geo localized policy. + "backupGeoTargets": { # Configures a RRSetRoutingPolicy that routes based on the geo location of the querying user. # Backup targets provide a regional failover policy for the otherwise global primary targets. If serving state is set to BACKUP, this policy essentially becomes a geo routing policy. + "enableFencing": True or False, # Without fencing, if health check fails for all configured items in the current geo bucket, we'll failover to the next nearest geo bucket. With fencing, if health check is enabled, as long as some targets in the current geo bucket are healthy, we'll return only the healthy targets. However, if they're all unhealthy, we won't failover to the next nearest bucket, we'll simply return all the items in the current bucket even though they're unhealthy. + "items": [ # The primary geo routing configuration. If there are multiple items with the same location, an error is returned instead. + { # ResourceRecordSet data for one geo location. + "healthCheckedTargets": { # HealthCheckTargets describes endpoints to health-check when responding to Routing Policy queries. Only the healthy endpoints will be included in the response. # For A and AAAA types only. Endpoints to return in the query result only if they are healthy. These can be specified along with rrdata within this item. + "internalLoadBalancers": [ + { + "ipAddress": "A String", # The frontend IP address of the + "ipProtocol": "A String", + "kind": "dns#rRSetRoutingPolicyLoadBalancerTarget", + "loadBalancerType": "A String", + "networkUrl": "A String", # The fully qualified url of the network on which the ILB is + "port": "A String", # Load Balancer to health check. The configured port of the Load Balancer. + "project": "A String", # present. This should be formatted like https://www.googleapis.com/compute/v1/projects/{project}/global/networks/{network} The project ID in which the ILB exists. + "region": "A String", # The region for regional ILBs. + }, + ], + }, + "kind": "dns#rRSetRoutingPolicyGeoPolicyGeoPolicyItem", + "location": "A String", # The geo-location granularity is a GCP region. This location string should correspond to a GCP region. e.g. "us-east1", "southamerica-east1", "asia-east1", etc. + "rrdatas": [ + "A String", + ], + "signatureRrdatas": [ # DNSSEC generated signatures for all the rrdata within this item. Note that if health checked targets are provided for DNSSEC enabled zones, there's a restriction of 1 ip per item. . + "A String", + ], + }, + ], + "kind": "dns#rRSetRoutingPolicyGeoPolicy", + }, + "kind": "dns#rRSetRoutingPolicyPrimaryBackupPolicy", + "primaryTargets": { # HealthCheckTargets describes endpoints to health-check when responding to Routing Policy queries. Only the healthy endpoints will be included in the response. + "internalLoadBalancers": [ + { + "ipAddress": "A String", # The frontend IP address of the + "ipProtocol": "A String", + "kind": "dns#rRSetRoutingPolicyLoadBalancerTarget", + "loadBalancerType": "A String", + "networkUrl": "A String", # The fully qualified url of the network on which the ILB is + "port": "A String", # Load Balancer to health check. The configured port of the Load Balancer. + "project": "A String", # present. This should be formatted like https://www.googleapis.com/compute/v1/projects/{project}/global/networks/{network} The project ID in which the ILB exists. + "region": "A String", # The region for regional ILBs. + }, + ], + }, + "trickleTraffic": 3.14, # When serving state is PRIMARY, this field provides the option of sending a small percentage of the traffic to the backup targets. + }, "wrr": { # Configures a RRSetRoutingPolicy that routes in a weighted round robin fashion. "items": [ { # A routing block which contains the routing information for one WRR item. + "healthCheckedTargets": { # HealthCheckTargets describes endpoints to health-check when responding to Routing Policy queries. Only the healthy endpoints will be included in the response. # endpoints that need to be health checked before making the routing decision. The unhealthy endpoints will be omitted from the result. If all endpoints within a buckete are unhealthy, we'll choose a different bucket (sampled w.r.t. its weight) for responding. Note that if DNSSEC is enabled for this zone, only one of rrdata or health_checked_targets can be set. + "internalLoadBalancers": [ + { + "ipAddress": "A String", # The frontend IP address of the + "ipProtocol": "A String", + "kind": "dns#rRSetRoutingPolicyLoadBalancerTarget", + "loadBalancerType": "A String", + "networkUrl": "A String", # The fully qualified url of the network on which the ILB is + "port": "A String", # Load Balancer to health check. The configured port of the Load Balancer. + "project": "A String", # present. This should be formatted like https://www.googleapis.com/compute/v1/projects/{project}/global/networks/{network} The project ID in which the ILB exists. + "region": "A String", # The region for regional ILBs. + }, + ], + }, "kind": "dns#rRSetRoutingPolicyWrrPolicyWrrPolicyItem", "rrdatas": [ "A String", @@ -164,6 +256,20 @@

Method Details

"wrrPolicy": { # Configures a RRSetRoutingPolicy that routes in a weighted round robin fashion. "items": [ { # A routing block which contains the routing information for one WRR item. + "healthCheckedTargets": { # HealthCheckTargets describes endpoints to health-check when responding to Routing Policy queries. Only the healthy endpoints will be included in the response. # endpoints that need to be health checked before making the routing decision. The unhealthy endpoints will be omitted from the result. If all endpoints within a buckete are unhealthy, we'll choose a different bucket (sampled w.r.t. its weight) for responding. Note that if DNSSEC is enabled for this zone, only one of rrdata or health_checked_targets can be set. + "internalLoadBalancers": [ + { + "ipAddress": "A String", # The frontend IP address of the + "ipProtocol": "A String", + "kind": "dns#rRSetRoutingPolicyLoadBalancerTarget", + "loadBalancerType": "A String", + "networkUrl": "A String", # The fully qualified url of the network on which the ILB is + "port": "A String", # Load Balancer to health check. The configured port of the Load Balancer. + "project": "A String", # present. This should be formatted like https://www.googleapis.com/compute/v1/projects/{project}/global/networks/{network} The project ID in which the ILB exists. + "region": "A String", # The region for regional ILBs. + }, + ], + }, "kind": "dns#rRSetRoutingPolicyWrrPolicyWrrPolicyItem", "rrdatas": [ "A String", @@ -201,8 +307,23 @@

Method Details

"name": "A String", # For example, www.example.com. "routingPolicy": { # A RRSetRoutingPolicy represents ResourceRecordSet data that is returned dynamically with the response varying based on configured properties such as geolocation or by weighted random selection. # Configures dynamic query responses based on geo location of querying user or a weighted round robin based routing policy. A ResourceRecordSet should only have either rrdata (static) or routing_policy (dynamic). An error is returned otherwise. "geo": { # Configures a RRSetRoutingPolicy that routes based on the geo location of the querying user. + "enableFencing": True or False, # Without fencing, if health check fails for all configured items in the current geo bucket, we'll failover to the next nearest geo bucket. With fencing, if health check is enabled, as long as some targets in the current geo bucket are healthy, we'll return only the healthy targets. However, if they're all unhealthy, we won't failover to the next nearest bucket, we'll simply return all the items in the current bucket even though they're unhealthy. "items": [ # The primary geo routing configuration. If there are multiple items with the same location, an error is returned instead. { # ResourceRecordSet data for one geo location. + "healthCheckedTargets": { # HealthCheckTargets describes endpoints to health-check when responding to Routing Policy queries. Only the healthy endpoints will be included in the response. # For A and AAAA types only. Endpoints to return in the query result only if they are healthy. These can be specified along with rrdata within this item. + "internalLoadBalancers": [ + { + "ipAddress": "A String", # The frontend IP address of the + "ipProtocol": "A String", + "kind": "dns#rRSetRoutingPolicyLoadBalancerTarget", + "loadBalancerType": "A String", + "networkUrl": "A String", # The fully qualified url of the network on which the ILB is + "port": "A String", # Load Balancer to health check. The configured port of the Load Balancer. + "project": "A String", # present. This should be formatted like https://www.googleapis.com/compute/v1/projects/{project}/global/networks/{network} The project ID in which the ILB exists. + "region": "A String", # The region for regional ILBs. + }, + ], + }, "kind": "dns#rRSetRoutingPolicyGeoPolicyGeoPolicyItem", "location": "A String", # The geo-location granularity is a GCP region. This location string should correspond to a GCP region. e.g. "us-east1", "southamerica-east1", "asia-east1", etc. "rrdatas": [ @@ -216,8 +337,23 @@

Method Details

"kind": "dns#rRSetRoutingPolicyGeoPolicy", }, "geoPolicy": { # Configures a RRSetRoutingPolicy that routes based on the geo location of the querying user. + "enableFencing": True or False, # Without fencing, if health check fails for all configured items in the current geo bucket, we'll failover to the next nearest geo bucket. With fencing, if health check is enabled, as long as some targets in the current geo bucket are healthy, we'll return only the healthy targets. However, if they're all unhealthy, we won't failover to the next nearest bucket, we'll simply return all the items in the current bucket even though they're unhealthy. "items": [ # The primary geo routing configuration. If there are multiple items with the same location, an error is returned instead. { # ResourceRecordSet data for one geo location. + "healthCheckedTargets": { # HealthCheckTargets describes endpoints to health-check when responding to Routing Policy queries. Only the healthy endpoints will be included in the response. # For A and AAAA types only. Endpoints to return in the query result only if they are healthy. These can be specified along with rrdata within this item. + "internalLoadBalancers": [ + { + "ipAddress": "A String", # The frontend IP address of the + "ipProtocol": "A String", + "kind": "dns#rRSetRoutingPolicyLoadBalancerTarget", + "loadBalancerType": "A String", + "networkUrl": "A String", # The fully qualified url of the network on which the ILB is + "port": "A String", # Load Balancer to health check. The configured port of the Load Balancer. + "project": "A String", # present. This should be formatted like https://www.googleapis.com/compute/v1/projects/{project}/global/networks/{network} The project ID in which the ILB exists. + "region": "A String", # The region for regional ILBs. + }, + ], + }, "kind": "dns#rRSetRoutingPolicyGeoPolicyGeoPolicyItem", "location": "A String", # The geo-location granularity is a GCP region. This location string should correspond to a GCP region. e.g. "us-east1", "southamerica-east1", "asia-east1", etc. "rrdatas": [ @@ -231,9 +367,71 @@

Method Details

"kind": "dns#rRSetRoutingPolicyGeoPolicy", }, "kind": "dns#rRSetRoutingPolicy", + "primaryBackup": { # Configures a RRSetRoutingPolicy such that all queries are responded with the primary_targets if they are healthy. And if all of them are unhealthy, then we fallback to a geo localized policy. + "backupGeoTargets": { # Configures a RRSetRoutingPolicy that routes based on the geo location of the querying user. # Backup targets provide a regional failover policy for the otherwise global primary targets. If serving state is set to BACKUP, this policy essentially becomes a geo routing policy. + "enableFencing": True or False, # Without fencing, if health check fails for all configured items in the current geo bucket, we'll failover to the next nearest geo bucket. With fencing, if health check is enabled, as long as some targets in the current geo bucket are healthy, we'll return only the healthy targets. However, if they're all unhealthy, we won't failover to the next nearest bucket, we'll simply return all the items in the current bucket even though they're unhealthy. + "items": [ # The primary geo routing configuration. If there are multiple items with the same location, an error is returned instead. + { # ResourceRecordSet data for one geo location. + "healthCheckedTargets": { # HealthCheckTargets describes endpoints to health-check when responding to Routing Policy queries. Only the healthy endpoints will be included in the response. # For A and AAAA types only. Endpoints to return in the query result only if they are healthy. These can be specified along with rrdata within this item. + "internalLoadBalancers": [ + { + "ipAddress": "A String", # The frontend IP address of the + "ipProtocol": "A String", + "kind": "dns#rRSetRoutingPolicyLoadBalancerTarget", + "loadBalancerType": "A String", + "networkUrl": "A String", # The fully qualified url of the network on which the ILB is + "port": "A String", # Load Balancer to health check. The configured port of the Load Balancer. + "project": "A String", # present. This should be formatted like https://www.googleapis.com/compute/v1/projects/{project}/global/networks/{network} The project ID in which the ILB exists. + "region": "A String", # The region for regional ILBs. + }, + ], + }, + "kind": "dns#rRSetRoutingPolicyGeoPolicyGeoPolicyItem", + "location": "A String", # The geo-location granularity is a GCP region. This location string should correspond to a GCP region. e.g. "us-east1", "southamerica-east1", "asia-east1", etc. + "rrdatas": [ + "A String", + ], + "signatureRrdatas": [ # DNSSEC generated signatures for all the rrdata within this item. Note that if health checked targets are provided for DNSSEC enabled zones, there's a restriction of 1 ip per item. . + "A String", + ], + }, + ], + "kind": "dns#rRSetRoutingPolicyGeoPolicy", + }, + "kind": "dns#rRSetRoutingPolicyPrimaryBackupPolicy", + "primaryTargets": { # HealthCheckTargets describes endpoints to health-check when responding to Routing Policy queries. Only the healthy endpoints will be included in the response. + "internalLoadBalancers": [ + { + "ipAddress": "A String", # The frontend IP address of the + "ipProtocol": "A String", + "kind": "dns#rRSetRoutingPolicyLoadBalancerTarget", + "loadBalancerType": "A String", + "networkUrl": "A String", # The fully qualified url of the network on which the ILB is + "port": "A String", # Load Balancer to health check. The configured port of the Load Balancer. + "project": "A String", # present. This should be formatted like https://www.googleapis.com/compute/v1/projects/{project}/global/networks/{network} The project ID in which the ILB exists. + "region": "A String", # The region for regional ILBs. + }, + ], + }, + "trickleTraffic": 3.14, # When serving state is PRIMARY, this field provides the option of sending a small percentage of the traffic to the backup targets. + }, "wrr": { # Configures a RRSetRoutingPolicy that routes in a weighted round robin fashion. "items": [ { # A routing block which contains the routing information for one WRR item. + "healthCheckedTargets": { # HealthCheckTargets describes endpoints to health-check when responding to Routing Policy queries. Only the healthy endpoints will be included in the response. # endpoints that need to be health checked before making the routing decision. The unhealthy endpoints will be omitted from the result. If all endpoints within a buckete are unhealthy, we'll choose a different bucket (sampled w.r.t. its weight) for responding. Note that if DNSSEC is enabled for this zone, only one of rrdata or health_checked_targets can be set. + "internalLoadBalancers": [ + { + "ipAddress": "A String", # The frontend IP address of the + "ipProtocol": "A String", + "kind": "dns#rRSetRoutingPolicyLoadBalancerTarget", + "loadBalancerType": "A String", + "networkUrl": "A String", # The fully qualified url of the network on which the ILB is + "port": "A String", # Load Balancer to health check. The configured port of the Load Balancer. + "project": "A String", # present. This should be formatted like https://www.googleapis.com/compute/v1/projects/{project}/global/networks/{network} The project ID in which the ILB exists. + "region": "A String", # The region for regional ILBs. + }, + ], + }, "kind": "dns#rRSetRoutingPolicyWrrPolicyWrrPolicyItem", "rrdatas": [ "A String", @@ -249,6 +447,20 @@

Method Details

"wrrPolicy": { # Configures a RRSetRoutingPolicy that routes in a weighted round robin fashion. "items": [ { # A routing block which contains the routing information for one WRR item. + "healthCheckedTargets": { # HealthCheckTargets describes endpoints to health-check when responding to Routing Policy queries. Only the healthy endpoints will be included in the response. # endpoints that need to be health checked before making the routing decision. The unhealthy endpoints will be omitted from the result. If all endpoints within a buckete are unhealthy, we'll choose a different bucket (sampled w.r.t. its weight) for responding. Note that if DNSSEC is enabled for this zone, only one of rrdata or health_checked_targets can be set. + "internalLoadBalancers": [ + { + "ipAddress": "A String", # The frontend IP address of the + "ipProtocol": "A String", + "kind": "dns#rRSetRoutingPolicyLoadBalancerTarget", + "loadBalancerType": "A String", + "networkUrl": "A String", # The fully qualified url of the network on which the ILB is + "port": "A String", # Load Balancer to health check. The configured port of the Load Balancer. + "project": "A String", # present. This should be formatted like https://www.googleapis.com/compute/v1/projects/{project}/global/networks/{network} The project ID in which the ILB exists. + "region": "A String", # The region for regional ILBs. + }, + ], + }, "kind": "dns#rRSetRoutingPolicyWrrPolicyWrrPolicyItem", "rrdatas": [ "A String", @@ -313,8 +525,23 @@

Method Details

"name": "A String", # For example, www.example.com. "routingPolicy": { # A RRSetRoutingPolicy represents ResourceRecordSet data that is returned dynamically with the response varying based on configured properties such as geolocation or by weighted random selection. # Configures dynamic query responses based on geo location of querying user or a weighted round robin based routing policy. A ResourceRecordSet should only have either rrdata (static) or routing_policy (dynamic). An error is returned otherwise. "geo": { # Configures a RRSetRoutingPolicy that routes based on the geo location of the querying user. + "enableFencing": True or False, # Without fencing, if health check fails for all configured items in the current geo bucket, we'll failover to the next nearest geo bucket. With fencing, if health check is enabled, as long as some targets in the current geo bucket are healthy, we'll return only the healthy targets. However, if they're all unhealthy, we won't failover to the next nearest bucket, we'll simply return all the items in the current bucket even though they're unhealthy. "items": [ # The primary geo routing configuration. If there are multiple items with the same location, an error is returned instead. { # ResourceRecordSet data for one geo location. + "healthCheckedTargets": { # HealthCheckTargets describes endpoints to health-check when responding to Routing Policy queries. Only the healthy endpoints will be included in the response. # For A and AAAA types only. Endpoints to return in the query result only if they are healthy. These can be specified along with rrdata within this item. + "internalLoadBalancers": [ + { + "ipAddress": "A String", # The frontend IP address of the + "ipProtocol": "A String", + "kind": "dns#rRSetRoutingPolicyLoadBalancerTarget", + "loadBalancerType": "A String", + "networkUrl": "A String", # The fully qualified url of the network on which the ILB is + "port": "A String", # Load Balancer to health check. The configured port of the Load Balancer. + "project": "A String", # present. This should be formatted like https://www.googleapis.com/compute/v1/projects/{project}/global/networks/{network} The project ID in which the ILB exists. + "region": "A String", # The region for regional ILBs. + }, + ], + }, "kind": "dns#rRSetRoutingPolicyGeoPolicyGeoPolicyItem", "location": "A String", # The geo-location granularity is a GCP region. This location string should correspond to a GCP region. e.g. "us-east1", "southamerica-east1", "asia-east1", etc. "rrdatas": [ @@ -328,8 +555,23 @@

Method Details

"kind": "dns#rRSetRoutingPolicyGeoPolicy", }, "geoPolicy": { # Configures a RRSetRoutingPolicy that routes based on the geo location of the querying user. + "enableFencing": True or False, # Without fencing, if health check fails for all configured items in the current geo bucket, we'll failover to the next nearest geo bucket. With fencing, if health check is enabled, as long as some targets in the current geo bucket are healthy, we'll return only the healthy targets. However, if they're all unhealthy, we won't failover to the next nearest bucket, we'll simply return all the items in the current bucket even though they're unhealthy. "items": [ # The primary geo routing configuration. If there are multiple items with the same location, an error is returned instead. { # ResourceRecordSet data for one geo location. + "healthCheckedTargets": { # HealthCheckTargets describes endpoints to health-check when responding to Routing Policy queries. Only the healthy endpoints will be included in the response. # For A and AAAA types only. Endpoints to return in the query result only if they are healthy. These can be specified along with rrdata within this item. + "internalLoadBalancers": [ + { + "ipAddress": "A String", # The frontend IP address of the + "ipProtocol": "A String", + "kind": "dns#rRSetRoutingPolicyLoadBalancerTarget", + "loadBalancerType": "A String", + "networkUrl": "A String", # The fully qualified url of the network on which the ILB is + "port": "A String", # Load Balancer to health check. The configured port of the Load Balancer. + "project": "A String", # present. This should be formatted like https://www.googleapis.com/compute/v1/projects/{project}/global/networks/{network} The project ID in which the ILB exists. + "region": "A String", # The region for regional ILBs. + }, + ], + }, "kind": "dns#rRSetRoutingPolicyGeoPolicyGeoPolicyItem", "location": "A String", # The geo-location granularity is a GCP region. This location string should correspond to a GCP region. e.g. "us-east1", "southamerica-east1", "asia-east1", etc. "rrdatas": [ @@ -343,9 +585,71 @@

Method Details

"kind": "dns#rRSetRoutingPolicyGeoPolicy", }, "kind": "dns#rRSetRoutingPolicy", + "primaryBackup": { # Configures a RRSetRoutingPolicy such that all queries are responded with the primary_targets if they are healthy. And if all of them are unhealthy, then we fallback to a geo localized policy. + "backupGeoTargets": { # Configures a RRSetRoutingPolicy that routes based on the geo location of the querying user. # Backup targets provide a regional failover policy for the otherwise global primary targets. If serving state is set to BACKUP, this policy essentially becomes a geo routing policy. + "enableFencing": True or False, # Without fencing, if health check fails for all configured items in the current geo bucket, we'll failover to the next nearest geo bucket. With fencing, if health check is enabled, as long as some targets in the current geo bucket are healthy, we'll return only the healthy targets. However, if they're all unhealthy, we won't failover to the next nearest bucket, we'll simply return all the items in the current bucket even though they're unhealthy. + "items": [ # The primary geo routing configuration. If there are multiple items with the same location, an error is returned instead. + { # ResourceRecordSet data for one geo location. + "healthCheckedTargets": { # HealthCheckTargets describes endpoints to health-check when responding to Routing Policy queries. Only the healthy endpoints will be included in the response. # For A and AAAA types only. Endpoints to return in the query result only if they are healthy. These can be specified along with rrdata within this item. + "internalLoadBalancers": [ + { + "ipAddress": "A String", # The frontend IP address of the + "ipProtocol": "A String", + "kind": "dns#rRSetRoutingPolicyLoadBalancerTarget", + "loadBalancerType": "A String", + "networkUrl": "A String", # The fully qualified url of the network on which the ILB is + "port": "A String", # Load Balancer to health check. The configured port of the Load Balancer. + "project": "A String", # present. This should be formatted like https://www.googleapis.com/compute/v1/projects/{project}/global/networks/{network} The project ID in which the ILB exists. + "region": "A String", # The region for regional ILBs. + }, + ], + }, + "kind": "dns#rRSetRoutingPolicyGeoPolicyGeoPolicyItem", + "location": "A String", # The geo-location granularity is a GCP region. This location string should correspond to a GCP region. e.g. "us-east1", "southamerica-east1", "asia-east1", etc. + "rrdatas": [ + "A String", + ], + "signatureRrdatas": [ # DNSSEC generated signatures for all the rrdata within this item. Note that if health checked targets are provided for DNSSEC enabled zones, there's a restriction of 1 ip per item. . + "A String", + ], + }, + ], + "kind": "dns#rRSetRoutingPolicyGeoPolicy", + }, + "kind": "dns#rRSetRoutingPolicyPrimaryBackupPolicy", + "primaryTargets": { # HealthCheckTargets describes endpoints to health-check when responding to Routing Policy queries. Only the healthy endpoints will be included in the response. + "internalLoadBalancers": [ + { + "ipAddress": "A String", # The frontend IP address of the + "ipProtocol": "A String", + "kind": "dns#rRSetRoutingPolicyLoadBalancerTarget", + "loadBalancerType": "A String", + "networkUrl": "A String", # The fully qualified url of the network on which the ILB is + "port": "A String", # Load Balancer to health check. The configured port of the Load Balancer. + "project": "A String", # present. This should be formatted like https://www.googleapis.com/compute/v1/projects/{project}/global/networks/{network} The project ID in which the ILB exists. + "region": "A String", # The region for regional ILBs. + }, + ], + }, + "trickleTraffic": 3.14, # When serving state is PRIMARY, this field provides the option of sending a small percentage of the traffic to the backup targets. + }, "wrr": { # Configures a RRSetRoutingPolicy that routes in a weighted round robin fashion. "items": [ { # A routing block which contains the routing information for one WRR item. + "healthCheckedTargets": { # HealthCheckTargets describes endpoints to health-check when responding to Routing Policy queries. Only the healthy endpoints will be included in the response. # endpoints that need to be health checked before making the routing decision. The unhealthy endpoints will be omitted from the result. If all endpoints within a buckete are unhealthy, we'll choose a different bucket (sampled w.r.t. its weight) for responding. Note that if DNSSEC is enabled for this zone, only one of rrdata or health_checked_targets can be set. + "internalLoadBalancers": [ + { + "ipAddress": "A String", # The frontend IP address of the + "ipProtocol": "A String", + "kind": "dns#rRSetRoutingPolicyLoadBalancerTarget", + "loadBalancerType": "A String", + "networkUrl": "A String", # The fully qualified url of the network on which the ILB is + "port": "A String", # Load Balancer to health check. The configured port of the Load Balancer. + "project": "A String", # present. This should be formatted like https://www.googleapis.com/compute/v1/projects/{project}/global/networks/{network} The project ID in which the ILB exists. + "region": "A String", # The region for regional ILBs. + }, + ], + }, "kind": "dns#rRSetRoutingPolicyWrrPolicyWrrPolicyItem", "rrdatas": [ "A String", @@ -361,6 +665,20 @@

Method Details

"wrrPolicy": { # Configures a RRSetRoutingPolicy that routes in a weighted round robin fashion. "items": [ { # A routing block which contains the routing information for one WRR item. + "healthCheckedTargets": { # HealthCheckTargets describes endpoints to health-check when responding to Routing Policy queries. Only the healthy endpoints will be included in the response. # endpoints that need to be health checked before making the routing decision. The unhealthy endpoints will be omitted from the result. If all endpoints within a buckete are unhealthy, we'll choose a different bucket (sampled w.r.t. its weight) for responding. Note that if DNSSEC is enabled for this zone, only one of rrdata or health_checked_targets can be set. + "internalLoadBalancers": [ + { + "ipAddress": "A String", # The frontend IP address of the + "ipProtocol": "A String", + "kind": "dns#rRSetRoutingPolicyLoadBalancerTarget", + "loadBalancerType": "A String", + "networkUrl": "A String", # The fully qualified url of the network on which the ILB is + "port": "A String", # Load Balancer to health check. The configured port of the Load Balancer. + "project": "A String", # present. This should be formatted like https://www.googleapis.com/compute/v1/projects/{project}/global/networks/{network} The project ID in which the ILB exists. + "region": "A String", # The region for regional ILBs. + }, + ], + }, "kind": "dns#rRSetRoutingPolicyWrrPolicyWrrPolicyItem", "rrdatas": [ "A String", @@ -416,8 +734,23 @@

Method Details

"name": "A String", # For example, www.example.com. "routingPolicy": { # A RRSetRoutingPolicy represents ResourceRecordSet data that is returned dynamically with the response varying based on configured properties such as geolocation or by weighted random selection. # Configures dynamic query responses based on geo location of querying user or a weighted round robin based routing policy. A ResourceRecordSet should only have either rrdata (static) or routing_policy (dynamic). An error is returned otherwise. "geo": { # Configures a RRSetRoutingPolicy that routes based on the geo location of the querying user. + "enableFencing": True or False, # Without fencing, if health check fails for all configured items in the current geo bucket, we'll failover to the next nearest geo bucket. With fencing, if health check is enabled, as long as some targets in the current geo bucket are healthy, we'll return only the healthy targets. However, if they're all unhealthy, we won't failover to the next nearest bucket, we'll simply return all the items in the current bucket even though they're unhealthy. "items": [ # The primary geo routing configuration. If there are multiple items with the same location, an error is returned instead. { # ResourceRecordSet data for one geo location. + "healthCheckedTargets": { # HealthCheckTargets describes endpoints to health-check when responding to Routing Policy queries. Only the healthy endpoints will be included in the response. # For A and AAAA types only. Endpoints to return in the query result only if they are healthy. These can be specified along with rrdata within this item. + "internalLoadBalancers": [ + { + "ipAddress": "A String", # The frontend IP address of the + "ipProtocol": "A String", + "kind": "dns#rRSetRoutingPolicyLoadBalancerTarget", + "loadBalancerType": "A String", + "networkUrl": "A String", # The fully qualified url of the network on which the ILB is + "port": "A String", # Load Balancer to health check. The configured port of the Load Balancer. + "project": "A String", # present. This should be formatted like https://www.googleapis.com/compute/v1/projects/{project}/global/networks/{network} The project ID in which the ILB exists. + "region": "A String", # The region for regional ILBs. + }, + ], + }, "kind": "dns#rRSetRoutingPolicyGeoPolicyGeoPolicyItem", "location": "A String", # The geo-location granularity is a GCP region. This location string should correspond to a GCP region. e.g. "us-east1", "southamerica-east1", "asia-east1", etc. "rrdatas": [ @@ -431,8 +764,23 @@

Method Details

"kind": "dns#rRSetRoutingPolicyGeoPolicy", }, "geoPolicy": { # Configures a RRSetRoutingPolicy that routes based on the geo location of the querying user. + "enableFencing": True or False, # Without fencing, if health check fails for all configured items in the current geo bucket, we'll failover to the next nearest geo bucket. With fencing, if health check is enabled, as long as some targets in the current geo bucket are healthy, we'll return only the healthy targets. However, if they're all unhealthy, we won't failover to the next nearest bucket, we'll simply return all the items in the current bucket even though they're unhealthy. "items": [ # The primary geo routing configuration. If there are multiple items with the same location, an error is returned instead. { # ResourceRecordSet data for one geo location. + "healthCheckedTargets": { # HealthCheckTargets describes endpoints to health-check when responding to Routing Policy queries. Only the healthy endpoints will be included in the response. # For A and AAAA types only. Endpoints to return in the query result only if they are healthy. These can be specified along with rrdata within this item. + "internalLoadBalancers": [ + { + "ipAddress": "A String", # The frontend IP address of the + "ipProtocol": "A String", + "kind": "dns#rRSetRoutingPolicyLoadBalancerTarget", + "loadBalancerType": "A String", + "networkUrl": "A String", # The fully qualified url of the network on which the ILB is + "port": "A String", # Load Balancer to health check. The configured port of the Load Balancer. + "project": "A String", # present. This should be formatted like https://www.googleapis.com/compute/v1/projects/{project}/global/networks/{network} The project ID in which the ILB exists. + "region": "A String", # The region for regional ILBs. + }, + ], + }, "kind": "dns#rRSetRoutingPolicyGeoPolicyGeoPolicyItem", "location": "A String", # The geo-location granularity is a GCP region. This location string should correspond to a GCP region. e.g. "us-east1", "southamerica-east1", "asia-east1", etc. "rrdatas": [ @@ -446,9 +794,71 @@

Method Details

"kind": "dns#rRSetRoutingPolicyGeoPolicy", }, "kind": "dns#rRSetRoutingPolicy", + "primaryBackup": { # Configures a RRSetRoutingPolicy such that all queries are responded with the primary_targets if they are healthy. And if all of them are unhealthy, then we fallback to a geo localized policy. + "backupGeoTargets": { # Configures a RRSetRoutingPolicy that routes based on the geo location of the querying user. # Backup targets provide a regional failover policy for the otherwise global primary targets. If serving state is set to BACKUP, this policy essentially becomes a geo routing policy. + "enableFencing": True or False, # Without fencing, if health check fails for all configured items in the current geo bucket, we'll failover to the next nearest geo bucket. With fencing, if health check is enabled, as long as some targets in the current geo bucket are healthy, we'll return only the healthy targets. However, if they're all unhealthy, we won't failover to the next nearest bucket, we'll simply return all the items in the current bucket even though they're unhealthy. + "items": [ # The primary geo routing configuration. If there are multiple items with the same location, an error is returned instead. + { # ResourceRecordSet data for one geo location. + "healthCheckedTargets": { # HealthCheckTargets describes endpoints to health-check when responding to Routing Policy queries. Only the healthy endpoints will be included in the response. # For A and AAAA types only. Endpoints to return in the query result only if they are healthy. These can be specified along with rrdata within this item. + "internalLoadBalancers": [ + { + "ipAddress": "A String", # The frontend IP address of the + "ipProtocol": "A String", + "kind": "dns#rRSetRoutingPolicyLoadBalancerTarget", + "loadBalancerType": "A String", + "networkUrl": "A String", # The fully qualified url of the network on which the ILB is + "port": "A String", # Load Balancer to health check. The configured port of the Load Balancer. + "project": "A String", # present. This should be formatted like https://www.googleapis.com/compute/v1/projects/{project}/global/networks/{network} The project ID in which the ILB exists. + "region": "A String", # The region for regional ILBs. + }, + ], + }, + "kind": "dns#rRSetRoutingPolicyGeoPolicyGeoPolicyItem", + "location": "A String", # The geo-location granularity is a GCP region. This location string should correspond to a GCP region. e.g. "us-east1", "southamerica-east1", "asia-east1", etc. + "rrdatas": [ + "A String", + ], + "signatureRrdatas": [ # DNSSEC generated signatures for all the rrdata within this item. Note that if health checked targets are provided for DNSSEC enabled zones, there's a restriction of 1 ip per item. . + "A String", + ], + }, + ], + "kind": "dns#rRSetRoutingPolicyGeoPolicy", + }, + "kind": "dns#rRSetRoutingPolicyPrimaryBackupPolicy", + "primaryTargets": { # HealthCheckTargets describes endpoints to health-check when responding to Routing Policy queries. Only the healthy endpoints will be included in the response. + "internalLoadBalancers": [ + { + "ipAddress": "A String", # The frontend IP address of the + "ipProtocol": "A String", + "kind": "dns#rRSetRoutingPolicyLoadBalancerTarget", + "loadBalancerType": "A String", + "networkUrl": "A String", # The fully qualified url of the network on which the ILB is + "port": "A String", # Load Balancer to health check. The configured port of the Load Balancer. + "project": "A String", # present. This should be formatted like https://www.googleapis.com/compute/v1/projects/{project}/global/networks/{network} The project ID in which the ILB exists. + "region": "A String", # The region for regional ILBs. + }, + ], + }, + "trickleTraffic": 3.14, # When serving state is PRIMARY, this field provides the option of sending a small percentage of the traffic to the backup targets. + }, "wrr": { # Configures a RRSetRoutingPolicy that routes in a weighted round robin fashion. "items": [ { # A routing block which contains the routing information for one WRR item. + "healthCheckedTargets": { # HealthCheckTargets describes endpoints to health-check when responding to Routing Policy queries. Only the healthy endpoints will be included in the response. # endpoints that need to be health checked before making the routing decision. The unhealthy endpoints will be omitted from the result. If all endpoints within a buckete are unhealthy, we'll choose a different bucket (sampled w.r.t. its weight) for responding. Note that if DNSSEC is enabled for this zone, only one of rrdata or health_checked_targets can be set. + "internalLoadBalancers": [ + { + "ipAddress": "A String", # The frontend IP address of the + "ipProtocol": "A String", + "kind": "dns#rRSetRoutingPolicyLoadBalancerTarget", + "loadBalancerType": "A String", + "networkUrl": "A String", # The fully qualified url of the network on which the ILB is + "port": "A String", # Load Balancer to health check. The configured port of the Load Balancer. + "project": "A String", # present. This should be formatted like https://www.googleapis.com/compute/v1/projects/{project}/global/networks/{network} The project ID in which the ILB exists. + "region": "A String", # The region for regional ILBs. + }, + ], + }, "kind": "dns#rRSetRoutingPolicyWrrPolicyWrrPolicyItem", "rrdatas": [ "A String", @@ -464,6 +874,20 @@

Method Details

"wrrPolicy": { # Configures a RRSetRoutingPolicy that routes in a weighted round robin fashion. "items": [ { # A routing block which contains the routing information for one WRR item. + "healthCheckedTargets": { # HealthCheckTargets describes endpoints to health-check when responding to Routing Policy queries. Only the healthy endpoints will be included in the response. # endpoints that need to be health checked before making the routing decision. The unhealthy endpoints will be omitted from the result. If all endpoints within a buckete are unhealthy, we'll choose a different bucket (sampled w.r.t. its weight) for responding. Note that if DNSSEC is enabled for this zone, only one of rrdata or health_checked_targets can be set. + "internalLoadBalancers": [ + { + "ipAddress": "A String", # The frontend IP address of the + "ipProtocol": "A String", + "kind": "dns#rRSetRoutingPolicyLoadBalancerTarget", + "loadBalancerType": "A String", + "networkUrl": "A String", # The fully qualified url of the network on which the ILB is + "port": "A String", # Load Balancer to health check. The configured port of the Load Balancer. + "project": "A String", # present. This should be formatted like https://www.googleapis.com/compute/v1/projects/{project}/global/networks/{network} The project ID in which the ILB exists. + "region": "A String", # The region for regional ILBs. + }, + ], + }, "kind": "dns#rRSetRoutingPolicyWrrPolicyWrrPolicyItem", "rrdatas": [ "A String", @@ -521,8 +945,23 @@

Method Details

"name": "A String", # For example, www.example.com. "routingPolicy": { # A RRSetRoutingPolicy represents ResourceRecordSet data that is returned dynamically with the response varying based on configured properties such as geolocation or by weighted random selection. # Configures dynamic query responses based on geo location of querying user or a weighted round robin based routing policy. A ResourceRecordSet should only have either rrdata (static) or routing_policy (dynamic). An error is returned otherwise. "geo": { # Configures a RRSetRoutingPolicy that routes based on the geo location of the querying user. + "enableFencing": True or False, # Without fencing, if health check fails for all configured items in the current geo bucket, we'll failover to the next nearest geo bucket. With fencing, if health check is enabled, as long as some targets in the current geo bucket are healthy, we'll return only the healthy targets. However, if they're all unhealthy, we won't failover to the next nearest bucket, we'll simply return all the items in the current bucket even though they're unhealthy. "items": [ # The primary geo routing configuration. If there are multiple items with the same location, an error is returned instead. { # ResourceRecordSet data for one geo location. + "healthCheckedTargets": { # HealthCheckTargets describes endpoints to health-check when responding to Routing Policy queries. Only the healthy endpoints will be included in the response. # For A and AAAA types only. Endpoints to return in the query result only if they are healthy. These can be specified along with rrdata within this item. + "internalLoadBalancers": [ + { + "ipAddress": "A String", # The frontend IP address of the + "ipProtocol": "A String", + "kind": "dns#rRSetRoutingPolicyLoadBalancerTarget", + "loadBalancerType": "A String", + "networkUrl": "A String", # The fully qualified url of the network on which the ILB is + "port": "A String", # Load Balancer to health check. The configured port of the Load Balancer. + "project": "A String", # present. This should be formatted like https://www.googleapis.com/compute/v1/projects/{project}/global/networks/{network} The project ID in which the ILB exists. + "region": "A String", # The region for regional ILBs. + }, + ], + }, "kind": "dns#rRSetRoutingPolicyGeoPolicyGeoPolicyItem", "location": "A String", # The geo-location granularity is a GCP region. This location string should correspond to a GCP region. e.g. "us-east1", "southamerica-east1", "asia-east1", etc. "rrdatas": [ @@ -536,8 +975,23 @@

Method Details

"kind": "dns#rRSetRoutingPolicyGeoPolicy", }, "geoPolicy": { # Configures a RRSetRoutingPolicy that routes based on the geo location of the querying user. + "enableFencing": True or False, # Without fencing, if health check fails for all configured items in the current geo bucket, we'll failover to the next nearest geo bucket. With fencing, if health check is enabled, as long as some targets in the current geo bucket are healthy, we'll return only the healthy targets. However, if they're all unhealthy, we won't failover to the next nearest bucket, we'll simply return all the items in the current bucket even though they're unhealthy. "items": [ # The primary geo routing configuration. If there are multiple items with the same location, an error is returned instead. { # ResourceRecordSet data for one geo location. + "healthCheckedTargets": { # HealthCheckTargets describes endpoints to health-check when responding to Routing Policy queries. Only the healthy endpoints will be included in the response. # For A and AAAA types only. Endpoints to return in the query result only if they are healthy. These can be specified along with rrdata within this item. + "internalLoadBalancers": [ + { + "ipAddress": "A String", # The frontend IP address of the + "ipProtocol": "A String", + "kind": "dns#rRSetRoutingPolicyLoadBalancerTarget", + "loadBalancerType": "A String", + "networkUrl": "A String", # The fully qualified url of the network on which the ILB is + "port": "A String", # Load Balancer to health check. The configured port of the Load Balancer. + "project": "A String", # present. This should be formatted like https://www.googleapis.com/compute/v1/projects/{project}/global/networks/{network} The project ID in which the ILB exists. + "region": "A String", # The region for regional ILBs. + }, + ], + }, "kind": "dns#rRSetRoutingPolicyGeoPolicyGeoPolicyItem", "location": "A String", # The geo-location granularity is a GCP region. This location string should correspond to a GCP region. e.g. "us-east1", "southamerica-east1", "asia-east1", etc. "rrdatas": [ @@ -551,9 +1005,71 @@

Method Details

"kind": "dns#rRSetRoutingPolicyGeoPolicy", }, "kind": "dns#rRSetRoutingPolicy", + "primaryBackup": { # Configures a RRSetRoutingPolicy such that all queries are responded with the primary_targets if they are healthy. And if all of them are unhealthy, then we fallback to a geo localized policy. + "backupGeoTargets": { # Configures a RRSetRoutingPolicy that routes based on the geo location of the querying user. # Backup targets provide a regional failover policy for the otherwise global primary targets. If serving state is set to BACKUP, this policy essentially becomes a geo routing policy. + "enableFencing": True or False, # Without fencing, if health check fails for all configured items in the current geo bucket, we'll failover to the next nearest geo bucket. With fencing, if health check is enabled, as long as some targets in the current geo bucket are healthy, we'll return only the healthy targets. However, if they're all unhealthy, we won't failover to the next nearest bucket, we'll simply return all the items in the current bucket even though they're unhealthy. + "items": [ # The primary geo routing configuration. If there are multiple items with the same location, an error is returned instead. + { # ResourceRecordSet data for one geo location. + "healthCheckedTargets": { # HealthCheckTargets describes endpoints to health-check when responding to Routing Policy queries. Only the healthy endpoints will be included in the response. # For A and AAAA types only. Endpoints to return in the query result only if they are healthy. These can be specified along with rrdata within this item. + "internalLoadBalancers": [ + { + "ipAddress": "A String", # The frontend IP address of the + "ipProtocol": "A String", + "kind": "dns#rRSetRoutingPolicyLoadBalancerTarget", + "loadBalancerType": "A String", + "networkUrl": "A String", # The fully qualified url of the network on which the ILB is + "port": "A String", # Load Balancer to health check. The configured port of the Load Balancer. + "project": "A String", # present. This should be formatted like https://www.googleapis.com/compute/v1/projects/{project}/global/networks/{network} The project ID in which the ILB exists. + "region": "A String", # The region for regional ILBs. + }, + ], + }, + "kind": "dns#rRSetRoutingPolicyGeoPolicyGeoPolicyItem", + "location": "A String", # The geo-location granularity is a GCP region. This location string should correspond to a GCP region. e.g. "us-east1", "southamerica-east1", "asia-east1", etc. + "rrdatas": [ + "A String", + ], + "signatureRrdatas": [ # DNSSEC generated signatures for all the rrdata within this item. Note that if health checked targets are provided for DNSSEC enabled zones, there's a restriction of 1 ip per item. . + "A String", + ], + }, + ], + "kind": "dns#rRSetRoutingPolicyGeoPolicy", + }, + "kind": "dns#rRSetRoutingPolicyPrimaryBackupPolicy", + "primaryTargets": { # HealthCheckTargets describes endpoints to health-check when responding to Routing Policy queries. Only the healthy endpoints will be included in the response. + "internalLoadBalancers": [ + { + "ipAddress": "A String", # The frontend IP address of the + "ipProtocol": "A String", + "kind": "dns#rRSetRoutingPolicyLoadBalancerTarget", + "loadBalancerType": "A String", + "networkUrl": "A String", # The fully qualified url of the network on which the ILB is + "port": "A String", # Load Balancer to health check. The configured port of the Load Balancer. + "project": "A String", # present. This should be formatted like https://www.googleapis.com/compute/v1/projects/{project}/global/networks/{network} The project ID in which the ILB exists. + "region": "A String", # The region for regional ILBs. + }, + ], + }, + "trickleTraffic": 3.14, # When serving state is PRIMARY, this field provides the option of sending a small percentage of the traffic to the backup targets. + }, "wrr": { # Configures a RRSetRoutingPolicy that routes in a weighted round robin fashion. "items": [ { # A routing block which contains the routing information for one WRR item. + "healthCheckedTargets": { # HealthCheckTargets describes endpoints to health-check when responding to Routing Policy queries. Only the healthy endpoints will be included in the response. # endpoints that need to be health checked before making the routing decision. The unhealthy endpoints will be omitted from the result. If all endpoints within a buckete are unhealthy, we'll choose a different bucket (sampled w.r.t. its weight) for responding. Note that if DNSSEC is enabled for this zone, only one of rrdata or health_checked_targets can be set. + "internalLoadBalancers": [ + { + "ipAddress": "A String", # The frontend IP address of the + "ipProtocol": "A String", + "kind": "dns#rRSetRoutingPolicyLoadBalancerTarget", + "loadBalancerType": "A String", + "networkUrl": "A String", # The fully qualified url of the network on which the ILB is + "port": "A String", # Load Balancer to health check. The configured port of the Load Balancer. + "project": "A String", # present. This should be formatted like https://www.googleapis.com/compute/v1/projects/{project}/global/networks/{network} The project ID in which the ILB exists. + "region": "A String", # The region for regional ILBs. + }, + ], + }, "kind": "dns#rRSetRoutingPolicyWrrPolicyWrrPolicyItem", "rrdatas": [ "A String", @@ -569,6 +1085,20 @@

Method Details

"wrrPolicy": { # Configures a RRSetRoutingPolicy that routes in a weighted round robin fashion. "items": [ { # A routing block which contains the routing information for one WRR item. + "healthCheckedTargets": { # HealthCheckTargets describes endpoints to health-check when responding to Routing Policy queries. Only the healthy endpoints will be included in the response. # endpoints that need to be health checked before making the routing decision. The unhealthy endpoints will be omitted from the result. If all endpoints within a buckete are unhealthy, we'll choose a different bucket (sampled w.r.t. its weight) for responding. Note that if DNSSEC is enabled for this zone, only one of rrdata or health_checked_targets can be set. + "internalLoadBalancers": [ + { + "ipAddress": "A String", # The frontend IP address of the + "ipProtocol": "A String", + "kind": "dns#rRSetRoutingPolicyLoadBalancerTarget", + "loadBalancerType": "A String", + "networkUrl": "A String", # The fully qualified url of the network on which the ILB is + "port": "A String", # Load Balancer to health check. The configured port of the Load Balancer. + "project": "A String", # present. This should be formatted like https://www.googleapis.com/compute/v1/projects/{project}/global/networks/{network} The project ID in which the ILB exists. + "region": "A String", # The region for regional ILBs. + }, + ], + }, "kind": "dns#rRSetRoutingPolicyWrrPolicyWrrPolicyItem", "rrdatas": [ "A String", @@ -606,8 +1136,23 @@

Method Details

"name": "A String", # For example, www.example.com. "routingPolicy": { # A RRSetRoutingPolicy represents ResourceRecordSet data that is returned dynamically with the response varying based on configured properties such as geolocation or by weighted random selection. # Configures dynamic query responses based on geo location of querying user or a weighted round robin based routing policy. A ResourceRecordSet should only have either rrdata (static) or routing_policy (dynamic). An error is returned otherwise. "geo": { # Configures a RRSetRoutingPolicy that routes based on the geo location of the querying user. + "enableFencing": True or False, # Without fencing, if health check fails for all configured items in the current geo bucket, we'll failover to the next nearest geo bucket. With fencing, if health check is enabled, as long as some targets in the current geo bucket are healthy, we'll return only the healthy targets. However, if they're all unhealthy, we won't failover to the next nearest bucket, we'll simply return all the items in the current bucket even though they're unhealthy. "items": [ # The primary geo routing configuration. If there are multiple items with the same location, an error is returned instead. { # ResourceRecordSet data for one geo location. + "healthCheckedTargets": { # HealthCheckTargets describes endpoints to health-check when responding to Routing Policy queries. Only the healthy endpoints will be included in the response. # For A and AAAA types only. Endpoints to return in the query result only if they are healthy. These can be specified along with rrdata within this item. + "internalLoadBalancers": [ + { + "ipAddress": "A String", # The frontend IP address of the + "ipProtocol": "A String", + "kind": "dns#rRSetRoutingPolicyLoadBalancerTarget", + "loadBalancerType": "A String", + "networkUrl": "A String", # The fully qualified url of the network on which the ILB is + "port": "A String", # Load Balancer to health check. The configured port of the Load Balancer. + "project": "A String", # present. This should be formatted like https://www.googleapis.com/compute/v1/projects/{project}/global/networks/{network} The project ID in which the ILB exists. + "region": "A String", # The region for regional ILBs. + }, + ], + }, "kind": "dns#rRSetRoutingPolicyGeoPolicyGeoPolicyItem", "location": "A String", # The geo-location granularity is a GCP region. This location string should correspond to a GCP region. e.g. "us-east1", "southamerica-east1", "asia-east1", etc. "rrdatas": [ @@ -621,8 +1166,23 @@

Method Details

"kind": "dns#rRSetRoutingPolicyGeoPolicy", }, "geoPolicy": { # Configures a RRSetRoutingPolicy that routes based on the geo location of the querying user. + "enableFencing": True or False, # Without fencing, if health check fails for all configured items in the current geo bucket, we'll failover to the next nearest geo bucket. With fencing, if health check is enabled, as long as some targets in the current geo bucket are healthy, we'll return only the healthy targets. However, if they're all unhealthy, we won't failover to the next nearest bucket, we'll simply return all the items in the current bucket even though they're unhealthy. "items": [ # The primary geo routing configuration. If there are multiple items with the same location, an error is returned instead. { # ResourceRecordSet data for one geo location. + "healthCheckedTargets": { # HealthCheckTargets describes endpoints to health-check when responding to Routing Policy queries. Only the healthy endpoints will be included in the response. # For A and AAAA types only. Endpoints to return in the query result only if they are healthy. These can be specified along with rrdata within this item. + "internalLoadBalancers": [ + { + "ipAddress": "A String", # The frontend IP address of the + "ipProtocol": "A String", + "kind": "dns#rRSetRoutingPolicyLoadBalancerTarget", + "loadBalancerType": "A String", + "networkUrl": "A String", # The fully qualified url of the network on which the ILB is + "port": "A String", # Load Balancer to health check. The configured port of the Load Balancer. + "project": "A String", # present. This should be formatted like https://www.googleapis.com/compute/v1/projects/{project}/global/networks/{network} The project ID in which the ILB exists. + "region": "A String", # The region for regional ILBs. + }, + ], + }, "kind": "dns#rRSetRoutingPolicyGeoPolicyGeoPolicyItem", "location": "A String", # The geo-location granularity is a GCP region. This location string should correspond to a GCP region. e.g. "us-east1", "southamerica-east1", "asia-east1", etc. "rrdatas": [ @@ -636,9 +1196,71 @@

Method Details

"kind": "dns#rRSetRoutingPolicyGeoPolicy", }, "kind": "dns#rRSetRoutingPolicy", + "primaryBackup": { # Configures a RRSetRoutingPolicy such that all queries are responded with the primary_targets if they are healthy. And if all of them are unhealthy, then we fallback to a geo localized policy. + "backupGeoTargets": { # Configures a RRSetRoutingPolicy that routes based on the geo location of the querying user. # Backup targets provide a regional failover policy for the otherwise global primary targets. If serving state is set to BACKUP, this policy essentially becomes a geo routing policy. + "enableFencing": True or False, # Without fencing, if health check fails for all configured items in the current geo bucket, we'll failover to the next nearest geo bucket. With fencing, if health check is enabled, as long as some targets in the current geo bucket are healthy, we'll return only the healthy targets. However, if they're all unhealthy, we won't failover to the next nearest bucket, we'll simply return all the items in the current bucket even though they're unhealthy. + "items": [ # The primary geo routing configuration. If there are multiple items with the same location, an error is returned instead. + { # ResourceRecordSet data for one geo location. + "healthCheckedTargets": { # HealthCheckTargets describes endpoints to health-check when responding to Routing Policy queries. Only the healthy endpoints will be included in the response. # For A and AAAA types only. Endpoints to return in the query result only if they are healthy. These can be specified along with rrdata within this item. + "internalLoadBalancers": [ + { + "ipAddress": "A String", # The frontend IP address of the + "ipProtocol": "A String", + "kind": "dns#rRSetRoutingPolicyLoadBalancerTarget", + "loadBalancerType": "A String", + "networkUrl": "A String", # The fully qualified url of the network on which the ILB is + "port": "A String", # Load Balancer to health check. The configured port of the Load Balancer. + "project": "A String", # present. This should be formatted like https://www.googleapis.com/compute/v1/projects/{project}/global/networks/{network} The project ID in which the ILB exists. + "region": "A String", # The region for regional ILBs. + }, + ], + }, + "kind": "dns#rRSetRoutingPolicyGeoPolicyGeoPolicyItem", + "location": "A String", # The geo-location granularity is a GCP region. This location string should correspond to a GCP region. e.g. "us-east1", "southamerica-east1", "asia-east1", etc. + "rrdatas": [ + "A String", + ], + "signatureRrdatas": [ # DNSSEC generated signatures for all the rrdata within this item. Note that if health checked targets are provided for DNSSEC enabled zones, there's a restriction of 1 ip per item. . + "A String", + ], + }, + ], + "kind": "dns#rRSetRoutingPolicyGeoPolicy", + }, + "kind": "dns#rRSetRoutingPolicyPrimaryBackupPolicy", + "primaryTargets": { # HealthCheckTargets describes endpoints to health-check when responding to Routing Policy queries. Only the healthy endpoints will be included in the response. + "internalLoadBalancers": [ + { + "ipAddress": "A String", # The frontend IP address of the + "ipProtocol": "A String", + "kind": "dns#rRSetRoutingPolicyLoadBalancerTarget", + "loadBalancerType": "A String", + "networkUrl": "A String", # The fully qualified url of the network on which the ILB is + "port": "A String", # Load Balancer to health check. The configured port of the Load Balancer. + "project": "A String", # present. This should be formatted like https://www.googleapis.com/compute/v1/projects/{project}/global/networks/{network} The project ID in which the ILB exists. + "region": "A String", # The region for regional ILBs. + }, + ], + }, + "trickleTraffic": 3.14, # When serving state is PRIMARY, this field provides the option of sending a small percentage of the traffic to the backup targets. + }, "wrr": { # Configures a RRSetRoutingPolicy that routes in a weighted round robin fashion. "items": [ { # A routing block which contains the routing information for one WRR item. + "healthCheckedTargets": { # HealthCheckTargets describes endpoints to health-check when responding to Routing Policy queries. Only the healthy endpoints will be included in the response. # endpoints that need to be health checked before making the routing decision. The unhealthy endpoints will be omitted from the result. If all endpoints within a buckete are unhealthy, we'll choose a different bucket (sampled w.r.t. its weight) for responding. Note that if DNSSEC is enabled for this zone, only one of rrdata or health_checked_targets can be set. + "internalLoadBalancers": [ + { + "ipAddress": "A String", # The frontend IP address of the + "ipProtocol": "A String", + "kind": "dns#rRSetRoutingPolicyLoadBalancerTarget", + "loadBalancerType": "A String", + "networkUrl": "A String", # The fully qualified url of the network on which the ILB is + "port": "A String", # Load Balancer to health check. The configured port of the Load Balancer. + "project": "A String", # present. This should be formatted like https://www.googleapis.com/compute/v1/projects/{project}/global/networks/{network} The project ID in which the ILB exists. + "region": "A String", # The region for regional ILBs. + }, + ], + }, "kind": "dns#rRSetRoutingPolicyWrrPolicyWrrPolicyItem", "rrdatas": [ "A String", @@ -654,6 +1276,20 @@

Method Details

"wrrPolicy": { # Configures a RRSetRoutingPolicy that routes in a weighted round robin fashion. "items": [ { # A routing block which contains the routing information for one WRR item. + "healthCheckedTargets": { # HealthCheckTargets describes endpoints to health-check when responding to Routing Policy queries. Only the healthy endpoints will be included in the response. # endpoints that need to be health checked before making the routing decision. The unhealthy endpoints will be omitted from the result. If all endpoints within a buckete are unhealthy, we'll choose a different bucket (sampled w.r.t. its weight) for responding. Note that if DNSSEC is enabled for this zone, only one of rrdata or health_checked_targets can be set. + "internalLoadBalancers": [ + { + "ipAddress": "A String", # The frontend IP address of the + "ipProtocol": "A String", + "kind": "dns#rRSetRoutingPolicyLoadBalancerTarget", + "loadBalancerType": "A String", + "networkUrl": "A String", # The fully qualified url of the network on which the ILB is + "port": "A String", # Load Balancer to health check. The configured port of the Load Balancer. + "project": "A String", # present. This should be formatted like https://www.googleapis.com/compute/v1/projects/{project}/global/networks/{network} The project ID in which the ILB exists. + "region": "A String", # The region for regional ILBs. + }, + ], + }, "kind": "dns#rRSetRoutingPolicyWrrPolicyWrrPolicyItem", "rrdatas": [ "A String", diff --git a/docs/dyn/dns_v1beta2.responsePolicyRules.html b/docs/dyn/dns_v1beta2.responsePolicyRules.html index 2953dc6b0c8..62e5949ff18 100644 --- a/docs/dyn/dns_v1beta2.responsePolicyRules.html +++ b/docs/dyn/dns_v1beta2.responsePolicyRules.html @@ -125,8 +125,23 @@

Method Details

"name": "A String", # For example, www.example.com. "routingPolicy": { # A RRSetRoutingPolicy represents ResourceRecordSet data that is returned dynamically with the response varying based on configured properties such as geolocation or by weighted random selection. # Configures dynamic query responses based on geo location of querying user or a weighted round robin based routing policy. A ResourceRecordSet should only have either rrdata (static) or routing_policy (dynamic). An error is returned otherwise. "geo": { # Configures a RRSetRoutingPolicy that routes based on the geo location of the querying user. + "enableFencing": True or False, # Without fencing, if health check fails for all configured items in the current geo bucket, we'll failover to the next nearest geo bucket. With fencing, if health check is enabled, as long as some targets in the current geo bucket are healthy, we'll return only the healthy targets. However, if they're all unhealthy, we won't failover to the next nearest bucket, we'll simply return all the items in the current bucket even though they're unhealthy. "items": [ # The primary geo routing configuration. If there are multiple items with the same location, an error is returned instead. { # ResourceRecordSet data for one geo location. + "healthCheckedTargets": { # HealthCheckTargets describes endpoints to health-check when responding to Routing Policy queries. Only the healthy endpoints will be included in the response. # For A and AAAA types only. Endpoints to return in the query result only if they are healthy. These can be specified along with rrdata within this item. + "internalLoadBalancers": [ + { + "ipAddress": "A String", # The frontend IP address of the + "ipProtocol": "A String", + "kind": "dns#rRSetRoutingPolicyLoadBalancerTarget", + "loadBalancerType": "A String", + "networkUrl": "A String", # The fully qualified url of the network on which the ILB is + "port": "A String", # Load Balancer to health check. The configured port of the Load Balancer. + "project": "A String", # present. This should be formatted like https://www.googleapis.com/compute/v1/projects/{project}/global/networks/{network} The project ID in which the ILB exists. + "region": "A String", # The region for regional ILBs. + }, + ], + }, "kind": "dns#rRSetRoutingPolicyGeoPolicyGeoPolicyItem", "location": "A String", # The geo-location granularity is a GCP region. This location string should correspond to a GCP region. e.g. "us-east1", "southamerica-east1", "asia-east1", etc. "rrdatas": [ @@ -140,8 +155,23 @@

Method Details

"kind": "dns#rRSetRoutingPolicyGeoPolicy", }, "geoPolicy": { # Configures a RRSetRoutingPolicy that routes based on the geo location of the querying user. + "enableFencing": True or False, # Without fencing, if health check fails for all configured items in the current geo bucket, we'll failover to the next nearest geo bucket. With fencing, if health check is enabled, as long as some targets in the current geo bucket are healthy, we'll return only the healthy targets. However, if they're all unhealthy, we won't failover to the next nearest bucket, we'll simply return all the items in the current bucket even though they're unhealthy. "items": [ # The primary geo routing configuration. If there are multiple items with the same location, an error is returned instead. { # ResourceRecordSet data for one geo location. + "healthCheckedTargets": { # HealthCheckTargets describes endpoints to health-check when responding to Routing Policy queries. Only the healthy endpoints will be included in the response. # For A and AAAA types only. Endpoints to return in the query result only if they are healthy. These can be specified along with rrdata within this item. + "internalLoadBalancers": [ + { + "ipAddress": "A String", # The frontend IP address of the + "ipProtocol": "A String", + "kind": "dns#rRSetRoutingPolicyLoadBalancerTarget", + "loadBalancerType": "A String", + "networkUrl": "A String", # The fully qualified url of the network on which the ILB is + "port": "A String", # Load Balancer to health check. The configured port of the Load Balancer. + "project": "A String", # present. This should be formatted like https://www.googleapis.com/compute/v1/projects/{project}/global/networks/{network} The project ID in which the ILB exists. + "region": "A String", # The region for regional ILBs. + }, + ], + }, "kind": "dns#rRSetRoutingPolicyGeoPolicyGeoPolicyItem", "location": "A String", # The geo-location granularity is a GCP region. This location string should correspond to a GCP region. e.g. "us-east1", "southamerica-east1", "asia-east1", etc. "rrdatas": [ @@ -155,9 +185,71 @@

Method Details

"kind": "dns#rRSetRoutingPolicyGeoPolicy", }, "kind": "dns#rRSetRoutingPolicy", + "primaryBackup": { # Configures a RRSetRoutingPolicy such that all queries are responded with the primary_targets if they are healthy. And if all of them are unhealthy, then we fallback to a geo localized policy. + "backupGeoTargets": { # Configures a RRSetRoutingPolicy that routes based on the geo location of the querying user. # Backup targets provide a regional failover policy for the otherwise global primary targets. If serving state is set to BACKUP, this policy essentially becomes a geo routing policy. + "enableFencing": True or False, # Without fencing, if health check fails for all configured items in the current geo bucket, we'll failover to the next nearest geo bucket. With fencing, if health check is enabled, as long as some targets in the current geo bucket are healthy, we'll return only the healthy targets. However, if they're all unhealthy, we won't failover to the next nearest bucket, we'll simply return all the items in the current bucket even though they're unhealthy. + "items": [ # The primary geo routing configuration. If there are multiple items with the same location, an error is returned instead. + { # ResourceRecordSet data for one geo location. + "healthCheckedTargets": { # HealthCheckTargets describes endpoints to health-check when responding to Routing Policy queries. Only the healthy endpoints will be included in the response. # For A and AAAA types only. Endpoints to return in the query result only if they are healthy. These can be specified along with rrdata within this item. + "internalLoadBalancers": [ + { + "ipAddress": "A String", # The frontend IP address of the + "ipProtocol": "A String", + "kind": "dns#rRSetRoutingPolicyLoadBalancerTarget", + "loadBalancerType": "A String", + "networkUrl": "A String", # The fully qualified url of the network on which the ILB is + "port": "A String", # Load Balancer to health check. The configured port of the Load Balancer. + "project": "A String", # present. This should be formatted like https://www.googleapis.com/compute/v1/projects/{project}/global/networks/{network} The project ID in which the ILB exists. + "region": "A String", # The region for regional ILBs. + }, + ], + }, + "kind": "dns#rRSetRoutingPolicyGeoPolicyGeoPolicyItem", + "location": "A String", # The geo-location granularity is a GCP region. This location string should correspond to a GCP region. e.g. "us-east1", "southamerica-east1", "asia-east1", etc. + "rrdatas": [ + "A String", + ], + "signatureRrdatas": [ # DNSSEC generated signatures for all the rrdata within this item. Note that if health checked targets are provided for DNSSEC enabled zones, there's a restriction of 1 ip per item. . + "A String", + ], + }, + ], + "kind": "dns#rRSetRoutingPolicyGeoPolicy", + }, + "kind": "dns#rRSetRoutingPolicyPrimaryBackupPolicy", + "primaryTargets": { # HealthCheckTargets describes endpoints to health-check when responding to Routing Policy queries. Only the healthy endpoints will be included in the response. + "internalLoadBalancers": [ + { + "ipAddress": "A String", # The frontend IP address of the + "ipProtocol": "A String", + "kind": "dns#rRSetRoutingPolicyLoadBalancerTarget", + "loadBalancerType": "A String", + "networkUrl": "A String", # The fully qualified url of the network on which the ILB is + "port": "A String", # Load Balancer to health check. The configured port of the Load Balancer. + "project": "A String", # present. This should be formatted like https://www.googleapis.com/compute/v1/projects/{project}/global/networks/{network} The project ID in which the ILB exists. + "region": "A String", # The region for regional ILBs. + }, + ], + }, + "trickleTraffic": 3.14, # When serving state is PRIMARY, this field provides the option of sending a small percentage of the traffic to the backup targets. + }, "wrr": { # Configures a RRSetRoutingPolicy that routes in a weighted round robin fashion. "items": [ { # A routing block which contains the routing information for one WRR item. + "healthCheckedTargets": { # HealthCheckTargets describes endpoints to health-check when responding to Routing Policy queries. Only the healthy endpoints will be included in the response. # endpoints that need to be health checked before making the routing decision. The unhealthy endpoints will be omitted from the result. If all endpoints within a buckete are unhealthy, we'll choose a different bucket (sampled w.r.t. its weight) for responding. Note that if DNSSEC is enabled for this zone, only one of rrdata or health_checked_targets can be set. + "internalLoadBalancers": [ + { + "ipAddress": "A String", # The frontend IP address of the + "ipProtocol": "A String", + "kind": "dns#rRSetRoutingPolicyLoadBalancerTarget", + "loadBalancerType": "A String", + "networkUrl": "A String", # The fully qualified url of the network on which the ILB is + "port": "A String", # Load Balancer to health check. The configured port of the Load Balancer. + "project": "A String", # present. This should be formatted like https://www.googleapis.com/compute/v1/projects/{project}/global/networks/{network} The project ID in which the ILB exists. + "region": "A String", # The region for regional ILBs. + }, + ], + }, "kind": "dns#rRSetRoutingPolicyWrrPolicyWrrPolicyItem", "rrdatas": [ "A String", @@ -173,6 +265,20 @@

Method Details

"wrrPolicy": { # Configures a RRSetRoutingPolicy that routes in a weighted round robin fashion. "items": [ { # A routing block which contains the routing information for one WRR item. + "healthCheckedTargets": { # HealthCheckTargets describes endpoints to health-check when responding to Routing Policy queries. Only the healthy endpoints will be included in the response. # endpoints that need to be health checked before making the routing decision. The unhealthy endpoints will be omitted from the result. If all endpoints within a buckete are unhealthy, we'll choose a different bucket (sampled w.r.t. its weight) for responding. Note that if DNSSEC is enabled for this zone, only one of rrdata or health_checked_targets can be set. + "internalLoadBalancers": [ + { + "ipAddress": "A String", # The frontend IP address of the + "ipProtocol": "A String", + "kind": "dns#rRSetRoutingPolicyLoadBalancerTarget", + "loadBalancerType": "A String", + "networkUrl": "A String", # The fully qualified url of the network on which the ILB is + "port": "A String", # Load Balancer to health check. The configured port of the Load Balancer. + "project": "A String", # present. This should be formatted like https://www.googleapis.com/compute/v1/projects/{project}/global/networks/{network} The project ID in which the ILB exists. + "region": "A String", # The region for regional ILBs. + }, + ], + }, "kind": "dns#rRSetRoutingPolicyWrrPolicyWrrPolicyItem", "rrdatas": [ "A String", @@ -220,8 +326,23 @@

Method Details

"name": "A String", # For example, www.example.com. "routingPolicy": { # A RRSetRoutingPolicy represents ResourceRecordSet data that is returned dynamically with the response varying based on configured properties such as geolocation or by weighted random selection. # Configures dynamic query responses based on geo location of querying user or a weighted round robin based routing policy. A ResourceRecordSet should only have either rrdata (static) or routing_policy (dynamic). An error is returned otherwise. "geo": { # Configures a RRSetRoutingPolicy that routes based on the geo location of the querying user. + "enableFencing": True or False, # Without fencing, if health check fails for all configured items in the current geo bucket, we'll failover to the next nearest geo bucket. With fencing, if health check is enabled, as long as some targets in the current geo bucket are healthy, we'll return only the healthy targets. However, if they're all unhealthy, we won't failover to the next nearest bucket, we'll simply return all the items in the current bucket even though they're unhealthy. "items": [ # The primary geo routing configuration. If there are multiple items with the same location, an error is returned instead. { # ResourceRecordSet data for one geo location. + "healthCheckedTargets": { # HealthCheckTargets describes endpoints to health-check when responding to Routing Policy queries. Only the healthy endpoints will be included in the response. # For A and AAAA types only. Endpoints to return in the query result only if they are healthy. These can be specified along with rrdata within this item. + "internalLoadBalancers": [ + { + "ipAddress": "A String", # The frontend IP address of the + "ipProtocol": "A String", + "kind": "dns#rRSetRoutingPolicyLoadBalancerTarget", + "loadBalancerType": "A String", + "networkUrl": "A String", # The fully qualified url of the network on which the ILB is + "port": "A String", # Load Balancer to health check. The configured port of the Load Balancer. + "project": "A String", # present. This should be formatted like https://www.googleapis.com/compute/v1/projects/{project}/global/networks/{network} The project ID in which the ILB exists. + "region": "A String", # The region for regional ILBs. + }, + ], + }, "kind": "dns#rRSetRoutingPolicyGeoPolicyGeoPolicyItem", "location": "A String", # The geo-location granularity is a GCP region. This location string should correspond to a GCP region. e.g. "us-east1", "southamerica-east1", "asia-east1", etc. "rrdatas": [ @@ -235,8 +356,23 @@

Method Details

"kind": "dns#rRSetRoutingPolicyGeoPolicy", }, "geoPolicy": { # Configures a RRSetRoutingPolicy that routes based on the geo location of the querying user. + "enableFencing": True or False, # Without fencing, if health check fails for all configured items in the current geo bucket, we'll failover to the next nearest geo bucket. With fencing, if health check is enabled, as long as some targets in the current geo bucket are healthy, we'll return only the healthy targets. However, if they're all unhealthy, we won't failover to the next nearest bucket, we'll simply return all the items in the current bucket even though they're unhealthy. "items": [ # The primary geo routing configuration. If there are multiple items with the same location, an error is returned instead. { # ResourceRecordSet data for one geo location. + "healthCheckedTargets": { # HealthCheckTargets describes endpoints to health-check when responding to Routing Policy queries. Only the healthy endpoints will be included in the response. # For A and AAAA types only. Endpoints to return in the query result only if they are healthy. These can be specified along with rrdata within this item. + "internalLoadBalancers": [ + { + "ipAddress": "A String", # The frontend IP address of the + "ipProtocol": "A String", + "kind": "dns#rRSetRoutingPolicyLoadBalancerTarget", + "loadBalancerType": "A String", + "networkUrl": "A String", # The fully qualified url of the network on which the ILB is + "port": "A String", # Load Balancer to health check. The configured port of the Load Balancer. + "project": "A String", # present. This should be formatted like https://www.googleapis.com/compute/v1/projects/{project}/global/networks/{network} The project ID in which the ILB exists. + "region": "A String", # The region for regional ILBs. + }, + ], + }, "kind": "dns#rRSetRoutingPolicyGeoPolicyGeoPolicyItem", "location": "A String", # The geo-location granularity is a GCP region. This location string should correspond to a GCP region. e.g. "us-east1", "southamerica-east1", "asia-east1", etc. "rrdatas": [ @@ -250,9 +386,71 @@

Method Details

"kind": "dns#rRSetRoutingPolicyGeoPolicy", }, "kind": "dns#rRSetRoutingPolicy", + "primaryBackup": { # Configures a RRSetRoutingPolicy such that all queries are responded with the primary_targets if they are healthy. And if all of them are unhealthy, then we fallback to a geo localized policy. + "backupGeoTargets": { # Configures a RRSetRoutingPolicy that routes based on the geo location of the querying user. # Backup targets provide a regional failover policy for the otherwise global primary targets. If serving state is set to BACKUP, this policy essentially becomes a geo routing policy. + "enableFencing": True or False, # Without fencing, if health check fails for all configured items in the current geo bucket, we'll failover to the next nearest geo bucket. With fencing, if health check is enabled, as long as some targets in the current geo bucket are healthy, we'll return only the healthy targets. However, if they're all unhealthy, we won't failover to the next nearest bucket, we'll simply return all the items in the current bucket even though they're unhealthy. + "items": [ # The primary geo routing configuration. If there are multiple items with the same location, an error is returned instead. + { # ResourceRecordSet data for one geo location. + "healthCheckedTargets": { # HealthCheckTargets describes endpoints to health-check when responding to Routing Policy queries. Only the healthy endpoints will be included in the response. # For A and AAAA types only. Endpoints to return in the query result only if they are healthy. These can be specified along with rrdata within this item. + "internalLoadBalancers": [ + { + "ipAddress": "A String", # The frontend IP address of the + "ipProtocol": "A String", + "kind": "dns#rRSetRoutingPolicyLoadBalancerTarget", + "loadBalancerType": "A String", + "networkUrl": "A String", # The fully qualified url of the network on which the ILB is + "port": "A String", # Load Balancer to health check. The configured port of the Load Balancer. + "project": "A String", # present. This should be formatted like https://www.googleapis.com/compute/v1/projects/{project}/global/networks/{network} The project ID in which the ILB exists. + "region": "A String", # The region for regional ILBs. + }, + ], + }, + "kind": "dns#rRSetRoutingPolicyGeoPolicyGeoPolicyItem", + "location": "A String", # The geo-location granularity is a GCP region. This location string should correspond to a GCP region. e.g. "us-east1", "southamerica-east1", "asia-east1", etc. + "rrdatas": [ + "A String", + ], + "signatureRrdatas": [ # DNSSEC generated signatures for all the rrdata within this item. Note that if health checked targets are provided for DNSSEC enabled zones, there's a restriction of 1 ip per item. . + "A String", + ], + }, + ], + "kind": "dns#rRSetRoutingPolicyGeoPolicy", + }, + "kind": "dns#rRSetRoutingPolicyPrimaryBackupPolicy", + "primaryTargets": { # HealthCheckTargets describes endpoints to health-check when responding to Routing Policy queries. Only the healthy endpoints will be included in the response. + "internalLoadBalancers": [ + { + "ipAddress": "A String", # The frontend IP address of the + "ipProtocol": "A String", + "kind": "dns#rRSetRoutingPolicyLoadBalancerTarget", + "loadBalancerType": "A String", + "networkUrl": "A String", # The fully qualified url of the network on which the ILB is + "port": "A String", # Load Balancer to health check. The configured port of the Load Balancer. + "project": "A String", # present. This should be formatted like https://www.googleapis.com/compute/v1/projects/{project}/global/networks/{network} The project ID in which the ILB exists. + "region": "A String", # The region for regional ILBs. + }, + ], + }, + "trickleTraffic": 3.14, # When serving state is PRIMARY, this field provides the option of sending a small percentage of the traffic to the backup targets. + }, "wrr": { # Configures a RRSetRoutingPolicy that routes in a weighted round robin fashion. "items": [ { # A routing block which contains the routing information for one WRR item. + "healthCheckedTargets": { # HealthCheckTargets describes endpoints to health-check when responding to Routing Policy queries. Only the healthy endpoints will be included in the response. # endpoints that need to be health checked before making the routing decision. The unhealthy endpoints will be omitted from the result. If all endpoints within a buckete are unhealthy, we'll choose a different bucket (sampled w.r.t. its weight) for responding. Note that if DNSSEC is enabled for this zone, only one of rrdata or health_checked_targets can be set. + "internalLoadBalancers": [ + { + "ipAddress": "A String", # The frontend IP address of the + "ipProtocol": "A String", + "kind": "dns#rRSetRoutingPolicyLoadBalancerTarget", + "loadBalancerType": "A String", + "networkUrl": "A String", # The fully qualified url of the network on which the ILB is + "port": "A String", # Load Balancer to health check. The configured port of the Load Balancer. + "project": "A String", # present. This should be formatted like https://www.googleapis.com/compute/v1/projects/{project}/global/networks/{network} The project ID in which the ILB exists. + "region": "A String", # The region for regional ILBs. + }, + ], + }, "kind": "dns#rRSetRoutingPolicyWrrPolicyWrrPolicyItem", "rrdatas": [ "A String", @@ -268,6 +466,20 @@

Method Details

"wrrPolicy": { # Configures a RRSetRoutingPolicy that routes in a weighted round robin fashion. "items": [ { # A routing block which contains the routing information for one WRR item. + "healthCheckedTargets": { # HealthCheckTargets describes endpoints to health-check when responding to Routing Policy queries. Only the healthy endpoints will be included in the response. # endpoints that need to be health checked before making the routing decision. The unhealthy endpoints will be omitted from the result. If all endpoints within a buckete are unhealthy, we'll choose a different bucket (sampled w.r.t. its weight) for responding. Note that if DNSSEC is enabled for this zone, only one of rrdata or health_checked_targets can be set. + "internalLoadBalancers": [ + { + "ipAddress": "A String", # The frontend IP address of the + "ipProtocol": "A String", + "kind": "dns#rRSetRoutingPolicyLoadBalancerTarget", + "loadBalancerType": "A String", + "networkUrl": "A String", # The fully qualified url of the network on which the ILB is + "port": "A String", # Load Balancer to health check. The configured port of the Load Balancer. + "project": "A String", # present. This should be formatted like https://www.googleapis.com/compute/v1/projects/{project}/global/networks/{network} The project ID in which the ILB exists. + "region": "A String", # The region for regional ILBs. + }, + ], + }, "kind": "dns#rRSetRoutingPolicyWrrPolicyWrrPolicyItem", "rrdatas": [ "A String", @@ -340,8 +552,23 @@

Method Details

"name": "A String", # For example, www.example.com. "routingPolicy": { # A RRSetRoutingPolicy represents ResourceRecordSet data that is returned dynamically with the response varying based on configured properties such as geolocation or by weighted random selection. # Configures dynamic query responses based on geo location of querying user or a weighted round robin based routing policy. A ResourceRecordSet should only have either rrdata (static) or routing_policy (dynamic). An error is returned otherwise. "geo": { # Configures a RRSetRoutingPolicy that routes based on the geo location of the querying user. + "enableFencing": True or False, # Without fencing, if health check fails for all configured items in the current geo bucket, we'll failover to the next nearest geo bucket. With fencing, if health check is enabled, as long as some targets in the current geo bucket are healthy, we'll return only the healthy targets. However, if they're all unhealthy, we won't failover to the next nearest bucket, we'll simply return all the items in the current bucket even though they're unhealthy. "items": [ # The primary geo routing configuration. If there are multiple items with the same location, an error is returned instead. { # ResourceRecordSet data for one geo location. + "healthCheckedTargets": { # HealthCheckTargets describes endpoints to health-check when responding to Routing Policy queries. Only the healthy endpoints will be included in the response. # For A and AAAA types only. Endpoints to return in the query result only if they are healthy. These can be specified along with rrdata within this item. + "internalLoadBalancers": [ + { + "ipAddress": "A String", # The frontend IP address of the + "ipProtocol": "A String", + "kind": "dns#rRSetRoutingPolicyLoadBalancerTarget", + "loadBalancerType": "A String", + "networkUrl": "A String", # The fully qualified url of the network on which the ILB is + "port": "A String", # Load Balancer to health check. The configured port of the Load Balancer. + "project": "A String", # present. This should be formatted like https://www.googleapis.com/compute/v1/projects/{project}/global/networks/{network} The project ID in which the ILB exists. + "region": "A String", # The region for regional ILBs. + }, + ], + }, "kind": "dns#rRSetRoutingPolicyGeoPolicyGeoPolicyItem", "location": "A String", # The geo-location granularity is a GCP region. This location string should correspond to a GCP region. e.g. "us-east1", "southamerica-east1", "asia-east1", etc. "rrdatas": [ @@ -355,8 +582,23 @@

Method Details

"kind": "dns#rRSetRoutingPolicyGeoPolicy", }, "geoPolicy": { # Configures a RRSetRoutingPolicy that routes based on the geo location of the querying user. + "enableFencing": True or False, # Without fencing, if health check fails for all configured items in the current geo bucket, we'll failover to the next nearest geo bucket. With fencing, if health check is enabled, as long as some targets in the current geo bucket are healthy, we'll return only the healthy targets. However, if they're all unhealthy, we won't failover to the next nearest bucket, we'll simply return all the items in the current bucket even though they're unhealthy. "items": [ # The primary geo routing configuration. If there are multiple items with the same location, an error is returned instead. { # ResourceRecordSet data for one geo location. + "healthCheckedTargets": { # HealthCheckTargets describes endpoints to health-check when responding to Routing Policy queries. Only the healthy endpoints will be included in the response. # For A and AAAA types only. Endpoints to return in the query result only if they are healthy. These can be specified along with rrdata within this item. + "internalLoadBalancers": [ + { + "ipAddress": "A String", # The frontend IP address of the + "ipProtocol": "A String", + "kind": "dns#rRSetRoutingPolicyLoadBalancerTarget", + "loadBalancerType": "A String", + "networkUrl": "A String", # The fully qualified url of the network on which the ILB is + "port": "A String", # Load Balancer to health check. The configured port of the Load Balancer. + "project": "A String", # present. This should be formatted like https://www.googleapis.com/compute/v1/projects/{project}/global/networks/{network} The project ID in which the ILB exists. + "region": "A String", # The region for regional ILBs. + }, + ], + }, "kind": "dns#rRSetRoutingPolicyGeoPolicyGeoPolicyItem", "location": "A String", # The geo-location granularity is a GCP region. This location string should correspond to a GCP region. e.g. "us-east1", "southamerica-east1", "asia-east1", etc. "rrdatas": [ @@ -370,9 +612,71 @@

Method Details

"kind": "dns#rRSetRoutingPolicyGeoPolicy", }, "kind": "dns#rRSetRoutingPolicy", + "primaryBackup": { # Configures a RRSetRoutingPolicy such that all queries are responded with the primary_targets if they are healthy. And if all of them are unhealthy, then we fallback to a geo localized policy. + "backupGeoTargets": { # Configures a RRSetRoutingPolicy that routes based on the geo location of the querying user. # Backup targets provide a regional failover policy for the otherwise global primary targets. If serving state is set to BACKUP, this policy essentially becomes a geo routing policy. + "enableFencing": True or False, # Without fencing, if health check fails for all configured items in the current geo bucket, we'll failover to the next nearest geo bucket. With fencing, if health check is enabled, as long as some targets in the current geo bucket are healthy, we'll return only the healthy targets. However, if they're all unhealthy, we won't failover to the next nearest bucket, we'll simply return all the items in the current bucket even though they're unhealthy. + "items": [ # The primary geo routing configuration. If there are multiple items with the same location, an error is returned instead. + { # ResourceRecordSet data for one geo location. + "healthCheckedTargets": { # HealthCheckTargets describes endpoints to health-check when responding to Routing Policy queries. Only the healthy endpoints will be included in the response. # For A and AAAA types only. Endpoints to return in the query result only if they are healthy. These can be specified along with rrdata within this item. + "internalLoadBalancers": [ + { + "ipAddress": "A String", # The frontend IP address of the + "ipProtocol": "A String", + "kind": "dns#rRSetRoutingPolicyLoadBalancerTarget", + "loadBalancerType": "A String", + "networkUrl": "A String", # The fully qualified url of the network on which the ILB is + "port": "A String", # Load Balancer to health check. The configured port of the Load Balancer. + "project": "A String", # present. This should be formatted like https://www.googleapis.com/compute/v1/projects/{project}/global/networks/{network} The project ID in which the ILB exists. + "region": "A String", # The region for regional ILBs. + }, + ], + }, + "kind": "dns#rRSetRoutingPolicyGeoPolicyGeoPolicyItem", + "location": "A String", # The geo-location granularity is a GCP region. This location string should correspond to a GCP region. e.g. "us-east1", "southamerica-east1", "asia-east1", etc. + "rrdatas": [ + "A String", + ], + "signatureRrdatas": [ # DNSSEC generated signatures for all the rrdata within this item. Note that if health checked targets are provided for DNSSEC enabled zones, there's a restriction of 1 ip per item. . + "A String", + ], + }, + ], + "kind": "dns#rRSetRoutingPolicyGeoPolicy", + }, + "kind": "dns#rRSetRoutingPolicyPrimaryBackupPolicy", + "primaryTargets": { # HealthCheckTargets describes endpoints to health-check when responding to Routing Policy queries. Only the healthy endpoints will be included in the response. + "internalLoadBalancers": [ + { + "ipAddress": "A String", # The frontend IP address of the + "ipProtocol": "A String", + "kind": "dns#rRSetRoutingPolicyLoadBalancerTarget", + "loadBalancerType": "A String", + "networkUrl": "A String", # The fully qualified url of the network on which the ILB is + "port": "A String", # Load Balancer to health check. The configured port of the Load Balancer. + "project": "A String", # present. This should be formatted like https://www.googleapis.com/compute/v1/projects/{project}/global/networks/{network} The project ID in which the ILB exists. + "region": "A String", # The region for regional ILBs. + }, + ], + }, + "trickleTraffic": 3.14, # When serving state is PRIMARY, this field provides the option of sending a small percentage of the traffic to the backup targets. + }, "wrr": { # Configures a RRSetRoutingPolicy that routes in a weighted round robin fashion. "items": [ { # A routing block which contains the routing information for one WRR item. + "healthCheckedTargets": { # HealthCheckTargets describes endpoints to health-check when responding to Routing Policy queries. Only the healthy endpoints will be included in the response. # endpoints that need to be health checked before making the routing decision. The unhealthy endpoints will be omitted from the result. If all endpoints within a buckete are unhealthy, we'll choose a different bucket (sampled w.r.t. its weight) for responding. Note that if DNSSEC is enabled for this zone, only one of rrdata or health_checked_targets can be set. + "internalLoadBalancers": [ + { + "ipAddress": "A String", # The frontend IP address of the + "ipProtocol": "A String", + "kind": "dns#rRSetRoutingPolicyLoadBalancerTarget", + "loadBalancerType": "A String", + "networkUrl": "A String", # The fully qualified url of the network on which the ILB is + "port": "A String", # Load Balancer to health check. The configured port of the Load Balancer. + "project": "A String", # present. This should be formatted like https://www.googleapis.com/compute/v1/projects/{project}/global/networks/{network} The project ID in which the ILB exists. + "region": "A String", # The region for regional ILBs. + }, + ], + }, "kind": "dns#rRSetRoutingPolicyWrrPolicyWrrPolicyItem", "rrdatas": [ "A String", @@ -388,6 +692,20 @@

Method Details

"wrrPolicy": { # Configures a RRSetRoutingPolicy that routes in a weighted round robin fashion. "items": [ { # A routing block which contains the routing information for one WRR item. + "healthCheckedTargets": { # HealthCheckTargets describes endpoints to health-check when responding to Routing Policy queries. Only the healthy endpoints will be included in the response. # endpoints that need to be health checked before making the routing decision. The unhealthy endpoints will be omitted from the result. If all endpoints within a buckete are unhealthy, we'll choose a different bucket (sampled w.r.t. its weight) for responding. Note that if DNSSEC is enabled for this zone, only one of rrdata or health_checked_targets can be set. + "internalLoadBalancers": [ + { + "ipAddress": "A String", # The frontend IP address of the + "ipProtocol": "A String", + "kind": "dns#rRSetRoutingPolicyLoadBalancerTarget", + "loadBalancerType": "A String", + "networkUrl": "A String", # The fully qualified url of the network on which the ILB is + "port": "A String", # Load Balancer to health check. The configured port of the Load Balancer. + "project": "A String", # present. This should be formatted like https://www.googleapis.com/compute/v1/projects/{project}/global/networks/{network} The project ID in which the ILB exists. + "region": "A String", # The region for regional ILBs. + }, + ], + }, "kind": "dns#rRSetRoutingPolicyWrrPolicyWrrPolicyItem", "rrdatas": [ "A String", @@ -450,8 +768,23 @@

Method Details

"name": "A String", # For example, www.example.com. "routingPolicy": { # A RRSetRoutingPolicy represents ResourceRecordSet data that is returned dynamically with the response varying based on configured properties such as geolocation or by weighted random selection. # Configures dynamic query responses based on geo location of querying user or a weighted round robin based routing policy. A ResourceRecordSet should only have either rrdata (static) or routing_policy (dynamic). An error is returned otherwise. "geo": { # Configures a RRSetRoutingPolicy that routes based on the geo location of the querying user. + "enableFencing": True or False, # Without fencing, if health check fails for all configured items in the current geo bucket, we'll failover to the next nearest geo bucket. With fencing, if health check is enabled, as long as some targets in the current geo bucket are healthy, we'll return only the healthy targets. However, if they're all unhealthy, we won't failover to the next nearest bucket, we'll simply return all the items in the current bucket even though they're unhealthy. "items": [ # The primary geo routing configuration. If there are multiple items with the same location, an error is returned instead. { # ResourceRecordSet data for one geo location. + "healthCheckedTargets": { # HealthCheckTargets describes endpoints to health-check when responding to Routing Policy queries. Only the healthy endpoints will be included in the response. # For A and AAAA types only. Endpoints to return in the query result only if they are healthy. These can be specified along with rrdata within this item. + "internalLoadBalancers": [ + { + "ipAddress": "A String", # The frontend IP address of the + "ipProtocol": "A String", + "kind": "dns#rRSetRoutingPolicyLoadBalancerTarget", + "loadBalancerType": "A String", + "networkUrl": "A String", # The fully qualified url of the network on which the ILB is + "port": "A String", # Load Balancer to health check. The configured port of the Load Balancer. + "project": "A String", # present. This should be formatted like https://www.googleapis.com/compute/v1/projects/{project}/global/networks/{network} The project ID in which the ILB exists. + "region": "A String", # The region for regional ILBs. + }, + ], + }, "kind": "dns#rRSetRoutingPolicyGeoPolicyGeoPolicyItem", "location": "A String", # The geo-location granularity is a GCP region. This location string should correspond to a GCP region. e.g. "us-east1", "southamerica-east1", "asia-east1", etc. "rrdatas": [ @@ -465,8 +798,23 @@

Method Details

"kind": "dns#rRSetRoutingPolicyGeoPolicy", }, "geoPolicy": { # Configures a RRSetRoutingPolicy that routes based on the geo location of the querying user. + "enableFencing": True or False, # Without fencing, if health check fails for all configured items in the current geo bucket, we'll failover to the next nearest geo bucket. With fencing, if health check is enabled, as long as some targets in the current geo bucket are healthy, we'll return only the healthy targets. However, if they're all unhealthy, we won't failover to the next nearest bucket, we'll simply return all the items in the current bucket even though they're unhealthy. "items": [ # The primary geo routing configuration. If there are multiple items with the same location, an error is returned instead. { # ResourceRecordSet data for one geo location. + "healthCheckedTargets": { # HealthCheckTargets describes endpoints to health-check when responding to Routing Policy queries. Only the healthy endpoints will be included in the response. # For A and AAAA types only. Endpoints to return in the query result only if they are healthy. These can be specified along with rrdata within this item. + "internalLoadBalancers": [ + { + "ipAddress": "A String", # The frontend IP address of the + "ipProtocol": "A String", + "kind": "dns#rRSetRoutingPolicyLoadBalancerTarget", + "loadBalancerType": "A String", + "networkUrl": "A String", # The fully qualified url of the network on which the ILB is + "port": "A String", # Load Balancer to health check. The configured port of the Load Balancer. + "project": "A String", # present. This should be formatted like https://www.googleapis.com/compute/v1/projects/{project}/global/networks/{network} The project ID in which the ILB exists. + "region": "A String", # The region for regional ILBs. + }, + ], + }, "kind": "dns#rRSetRoutingPolicyGeoPolicyGeoPolicyItem", "location": "A String", # The geo-location granularity is a GCP region. This location string should correspond to a GCP region. e.g. "us-east1", "southamerica-east1", "asia-east1", etc. "rrdatas": [ @@ -480,9 +828,71 @@

Method Details

"kind": "dns#rRSetRoutingPolicyGeoPolicy", }, "kind": "dns#rRSetRoutingPolicy", + "primaryBackup": { # Configures a RRSetRoutingPolicy such that all queries are responded with the primary_targets if they are healthy. And if all of them are unhealthy, then we fallback to a geo localized policy. + "backupGeoTargets": { # Configures a RRSetRoutingPolicy that routes based on the geo location of the querying user. # Backup targets provide a regional failover policy for the otherwise global primary targets. If serving state is set to BACKUP, this policy essentially becomes a geo routing policy. + "enableFencing": True or False, # Without fencing, if health check fails for all configured items in the current geo bucket, we'll failover to the next nearest geo bucket. With fencing, if health check is enabled, as long as some targets in the current geo bucket are healthy, we'll return only the healthy targets. However, if they're all unhealthy, we won't failover to the next nearest bucket, we'll simply return all the items in the current bucket even though they're unhealthy. + "items": [ # The primary geo routing configuration. If there are multiple items with the same location, an error is returned instead. + { # ResourceRecordSet data for one geo location. + "healthCheckedTargets": { # HealthCheckTargets describes endpoints to health-check when responding to Routing Policy queries. Only the healthy endpoints will be included in the response. # For A and AAAA types only. Endpoints to return in the query result only if they are healthy. These can be specified along with rrdata within this item. + "internalLoadBalancers": [ + { + "ipAddress": "A String", # The frontend IP address of the + "ipProtocol": "A String", + "kind": "dns#rRSetRoutingPolicyLoadBalancerTarget", + "loadBalancerType": "A String", + "networkUrl": "A String", # The fully qualified url of the network on which the ILB is + "port": "A String", # Load Balancer to health check. The configured port of the Load Balancer. + "project": "A String", # present. This should be formatted like https://www.googleapis.com/compute/v1/projects/{project}/global/networks/{network} The project ID in which the ILB exists. + "region": "A String", # The region for regional ILBs. + }, + ], + }, + "kind": "dns#rRSetRoutingPolicyGeoPolicyGeoPolicyItem", + "location": "A String", # The geo-location granularity is a GCP region. This location string should correspond to a GCP region. e.g. "us-east1", "southamerica-east1", "asia-east1", etc. + "rrdatas": [ + "A String", + ], + "signatureRrdatas": [ # DNSSEC generated signatures for all the rrdata within this item. Note that if health checked targets are provided for DNSSEC enabled zones, there's a restriction of 1 ip per item. . + "A String", + ], + }, + ], + "kind": "dns#rRSetRoutingPolicyGeoPolicy", + }, + "kind": "dns#rRSetRoutingPolicyPrimaryBackupPolicy", + "primaryTargets": { # HealthCheckTargets describes endpoints to health-check when responding to Routing Policy queries. Only the healthy endpoints will be included in the response. + "internalLoadBalancers": [ + { + "ipAddress": "A String", # The frontend IP address of the + "ipProtocol": "A String", + "kind": "dns#rRSetRoutingPolicyLoadBalancerTarget", + "loadBalancerType": "A String", + "networkUrl": "A String", # The fully qualified url of the network on which the ILB is + "port": "A String", # Load Balancer to health check. The configured port of the Load Balancer. + "project": "A String", # present. This should be formatted like https://www.googleapis.com/compute/v1/projects/{project}/global/networks/{network} The project ID in which the ILB exists. + "region": "A String", # The region for regional ILBs. + }, + ], + }, + "trickleTraffic": 3.14, # When serving state is PRIMARY, this field provides the option of sending a small percentage of the traffic to the backup targets. + }, "wrr": { # Configures a RRSetRoutingPolicy that routes in a weighted round robin fashion. "items": [ { # A routing block which contains the routing information for one WRR item. + "healthCheckedTargets": { # HealthCheckTargets describes endpoints to health-check when responding to Routing Policy queries. Only the healthy endpoints will be included in the response. # endpoints that need to be health checked before making the routing decision. The unhealthy endpoints will be omitted from the result. If all endpoints within a buckete are unhealthy, we'll choose a different bucket (sampled w.r.t. its weight) for responding. Note that if DNSSEC is enabled for this zone, only one of rrdata or health_checked_targets can be set. + "internalLoadBalancers": [ + { + "ipAddress": "A String", # The frontend IP address of the + "ipProtocol": "A String", + "kind": "dns#rRSetRoutingPolicyLoadBalancerTarget", + "loadBalancerType": "A String", + "networkUrl": "A String", # The fully qualified url of the network on which the ILB is + "port": "A String", # Load Balancer to health check. The configured port of the Load Balancer. + "project": "A String", # present. This should be formatted like https://www.googleapis.com/compute/v1/projects/{project}/global/networks/{network} The project ID in which the ILB exists. + "region": "A String", # The region for regional ILBs. + }, + ], + }, "kind": "dns#rRSetRoutingPolicyWrrPolicyWrrPolicyItem", "rrdatas": [ "A String", @@ -498,6 +908,20 @@

Method Details

"wrrPolicy": { # Configures a RRSetRoutingPolicy that routes in a weighted round robin fashion. "items": [ { # A routing block which contains the routing information for one WRR item. + "healthCheckedTargets": { # HealthCheckTargets describes endpoints to health-check when responding to Routing Policy queries. Only the healthy endpoints will be included in the response. # endpoints that need to be health checked before making the routing decision. The unhealthy endpoints will be omitted from the result. If all endpoints within a buckete are unhealthy, we'll choose a different bucket (sampled w.r.t. its weight) for responding. Note that if DNSSEC is enabled for this zone, only one of rrdata or health_checked_targets can be set. + "internalLoadBalancers": [ + { + "ipAddress": "A String", # The frontend IP address of the + "ipProtocol": "A String", + "kind": "dns#rRSetRoutingPolicyLoadBalancerTarget", + "loadBalancerType": "A String", + "networkUrl": "A String", # The fully qualified url of the network on which the ILB is + "port": "A String", # Load Balancer to health check. The configured port of the Load Balancer. + "project": "A String", # present. This should be formatted like https://www.googleapis.com/compute/v1/projects/{project}/global/networks/{network} The project ID in which the ILB exists. + "region": "A String", # The region for regional ILBs. + }, + ], + }, "kind": "dns#rRSetRoutingPolicyWrrPolicyWrrPolicyItem", "rrdatas": [ "A String", @@ -564,8 +988,23 @@

Method Details

"name": "A String", # For example, www.example.com. "routingPolicy": { # A RRSetRoutingPolicy represents ResourceRecordSet data that is returned dynamically with the response varying based on configured properties such as geolocation or by weighted random selection. # Configures dynamic query responses based on geo location of querying user or a weighted round robin based routing policy. A ResourceRecordSet should only have either rrdata (static) or routing_policy (dynamic). An error is returned otherwise. "geo": { # Configures a RRSetRoutingPolicy that routes based on the geo location of the querying user. + "enableFencing": True or False, # Without fencing, if health check fails for all configured items in the current geo bucket, we'll failover to the next nearest geo bucket. With fencing, if health check is enabled, as long as some targets in the current geo bucket are healthy, we'll return only the healthy targets. However, if they're all unhealthy, we won't failover to the next nearest bucket, we'll simply return all the items in the current bucket even though they're unhealthy. "items": [ # The primary geo routing configuration. If there are multiple items with the same location, an error is returned instead. { # ResourceRecordSet data for one geo location. + "healthCheckedTargets": { # HealthCheckTargets describes endpoints to health-check when responding to Routing Policy queries. Only the healthy endpoints will be included in the response. # For A and AAAA types only. Endpoints to return in the query result only if they are healthy. These can be specified along with rrdata within this item. + "internalLoadBalancers": [ + { + "ipAddress": "A String", # The frontend IP address of the + "ipProtocol": "A String", + "kind": "dns#rRSetRoutingPolicyLoadBalancerTarget", + "loadBalancerType": "A String", + "networkUrl": "A String", # The fully qualified url of the network on which the ILB is + "port": "A String", # Load Balancer to health check. The configured port of the Load Balancer. + "project": "A String", # present. This should be formatted like https://www.googleapis.com/compute/v1/projects/{project}/global/networks/{network} The project ID in which the ILB exists. + "region": "A String", # The region for regional ILBs. + }, + ], + }, "kind": "dns#rRSetRoutingPolicyGeoPolicyGeoPolicyItem", "location": "A String", # The geo-location granularity is a GCP region. This location string should correspond to a GCP region. e.g. "us-east1", "southamerica-east1", "asia-east1", etc. "rrdatas": [ @@ -579,8 +1018,23 @@

Method Details

"kind": "dns#rRSetRoutingPolicyGeoPolicy", }, "geoPolicy": { # Configures a RRSetRoutingPolicy that routes based on the geo location of the querying user. + "enableFencing": True or False, # Without fencing, if health check fails for all configured items in the current geo bucket, we'll failover to the next nearest geo bucket. With fencing, if health check is enabled, as long as some targets in the current geo bucket are healthy, we'll return only the healthy targets. However, if they're all unhealthy, we won't failover to the next nearest bucket, we'll simply return all the items in the current bucket even though they're unhealthy. "items": [ # The primary geo routing configuration. If there are multiple items with the same location, an error is returned instead. { # ResourceRecordSet data for one geo location. + "healthCheckedTargets": { # HealthCheckTargets describes endpoints to health-check when responding to Routing Policy queries. Only the healthy endpoints will be included in the response. # For A and AAAA types only. Endpoints to return in the query result only if they are healthy. These can be specified along with rrdata within this item. + "internalLoadBalancers": [ + { + "ipAddress": "A String", # The frontend IP address of the + "ipProtocol": "A String", + "kind": "dns#rRSetRoutingPolicyLoadBalancerTarget", + "loadBalancerType": "A String", + "networkUrl": "A String", # The fully qualified url of the network on which the ILB is + "port": "A String", # Load Balancer to health check. The configured port of the Load Balancer. + "project": "A String", # present. This should be formatted like https://www.googleapis.com/compute/v1/projects/{project}/global/networks/{network} The project ID in which the ILB exists. + "region": "A String", # The region for regional ILBs. + }, + ], + }, "kind": "dns#rRSetRoutingPolicyGeoPolicyGeoPolicyItem", "location": "A String", # The geo-location granularity is a GCP region. This location string should correspond to a GCP region. e.g. "us-east1", "southamerica-east1", "asia-east1", etc. "rrdatas": [ @@ -594,9 +1048,71 @@

Method Details

"kind": "dns#rRSetRoutingPolicyGeoPolicy", }, "kind": "dns#rRSetRoutingPolicy", + "primaryBackup": { # Configures a RRSetRoutingPolicy such that all queries are responded with the primary_targets if they are healthy. And if all of them are unhealthy, then we fallback to a geo localized policy. + "backupGeoTargets": { # Configures a RRSetRoutingPolicy that routes based on the geo location of the querying user. # Backup targets provide a regional failover policy for the otherwise global primary targets. If serving state is set to BACKUP, this policy essentially becomes a geo routing policy. + "enableFencing": True or False, # Without fencing, if health check fails for all configured items in the current geo bucket, we'll failover to the next nearest geo bucket. With fencing, if health check is enabled, as long as some targets in the current geo bucket are healthy, we'll return only the healthy targets. However, if they're all unhealthy, we won't failover to the next nearest bucket, we'll simply return all the items in the current bucket even though they're unhealthy. + "items": [ # The primary geo routing configuration. If there are multiple items with the same location, an error is returned instead. + { # ResourceRecordSet data for one geo location. + "healthCheckedTargets": { # HealthCheckTargets describes endpoints to health-check when responding to Routing Policy queries. Only the healthy endpoints will be included in the response. # For A and AAAA types only. Endpoints to return in the query result only if they are healthy. These can be specified along with rrdata within this item. + "internalLoadBalancers": [ + { + "ipAddress": "A String", # The frontend IP address of the + "ipProtocol": "A String", + "kind": "dns#rRSetRoutingPolicyLoadBalancerTarget", + "loadBalancerType": "A String", + "networkUrl": "A String", # The fully qualified url of the network on which the ILB is + "port": "A String", # Load Balancer to health check. The configured port of the Load Balancer. + "project": "A String", # present. This should be formatted like https://www.googleapis.com/compute/v1/projects/{project}/global/networks/{network} The project ID in which the ILB exists. + "region": "A String", # The region for regional ILBs. + }, + ], + }, + "kind": "dns#rRSetRoutingPolicyGeoPolicyGeoPolicyItem", + "location": "A String", # The geo-location granularity is a GCP region. This location string should correspond to a GCP region. e.g. "us-east1", "southamerica-east1", "asia-east1", etc. + "rrdatas": [ + "A String", + ], + "signatureRrdatas": [ # DNSSEC generated signatures for all the rrdata within this item. Note that if health checked targets are provided for DNSSEC enabled zones, there's a restriction of 1 ip per item. . + "A String", + ], + }, + ], + "kind": "dns#rRSetRoutingPolicyGeoPolicy", + }, + "kind": "dns#rRSetRoutingPolicyPrimaryBackupPolicy", + "primaryTargets": { # HealthCheckTargets describes endpoints to health-check when responding to Routing Policy queries. Only the healthy endpoints will be included in the response. + "internalLoadBalancers": [ + { + "ipAddress": "A String", # The frontend IP address of the + "ipProtocol": "A String", + "kind": "dns#rRSetRoutingPolicyLoadBalancerTarget", + "loadBalancerType": "A String", + "networkUrl": "A String", # The fully qualified url of the network on which the ILB is + "port": "A String", # Load Balancer to health check. The configured port of the Load Balancer. + "project": "A String", # present. This should be formatted like https://www.googleapis.com/compute/v1/projects/{project}/global/networks/{network} The project ID in which the ILB exists. + "region": "A String", # The region for regional ILBs. + }, + ], + }, + "trickleTraffic": 3.14, # When serving state is PRIMARY, this field provides the option of sending a small percentage of the traffic to the backup targets. + }, "wrr": { # Configures a RRSetRoutingPolicy that routes in a weighted round robin fashion. "items": [ { # A routing block which contains the routing information for one WRR item. + "healthCheckedTargets": { # HealthCheckTargets describes endpoints to health-check when responding to Routing Policy queries. Only the healthy endpoints will be included in the response. # endpoints that need to be health checked before making the routing decision. The unhealthy endpoints will be omitted from the result. If all endpoints within a buckete are unhealthy, we'll choose a different bucket (sampled w.r.t. its weight) for responding. Note that if DNSSEC is enabled for this zone, only one of rrdata or health_checked_targets can be set. + "internalLoadBalancers": [ + { + "ipAddress": "A String", # The frontend IP address of the + "ipProtocol": "A String", + "kind": "dns#rRSetRoutingPolicyLoadBalancerTarget", + "loadBalancerType": "A String", + "networkUrl": "A String", # The fully qualified url of the network on which the ILB is + "port": "A String", # Load Balancer to health check. The configured port of the Load Balancer. + "project": "A String", # present. This should be formatted like https://www.googleapis.com/compute/v1/projects/{project}/global/networks/{network} The project ID in which the ILB exists. + "region": "A String", # The region for regional ILBs. + }, + ], + }, "kind": "dns#rRSetRoutingPolicyWrrPolicyWrrPolicyItem", "rrdatas": [ "A String", @@ -612,6 +1128,20 @@

Method Details

"wrrPolicy": { # Configures a RRSetRoutingPolicy that routes in a weighted round robin fashion. "items": [ { # A routing block which contains the routing information for one WRR item. + "healthCheckedTargets": { # HealthCheckTargets describes endpoints to health-check when responding to Routing Policy queries. Only the healthy endpoints will be included in the response. # endpoints that need to be health checked before making the routing decision. The unhealthy endpoints will be omitted from the result. If all endpoints within a buckete are unhealthy, we'll choose a different bucket (sampled w.r.t. its weight) for responding. Note that if DNSSEC is enabled for this zone, only one of rrdata or health_checked_targets can be set. + "internalLoadBalancers": [ + { + "ipAddress": "A String", # The frontend IP address of the + "ipProtocol": "A String", + "kind": "dns#rRSetRoutingPolicyLoadBalancerTarget", + "loadBalancerType": "A String", + "networkUrl": "A String", # The fully qualified url of the network on which the ILB is + "port": "A String", # Load Balancer to health check. The configured port of the Load Balancer. + "project": "A String", # present. This should be formatted like https://www.googleapis.com/compute/v1/projects/{project}/global/networks/{network} The project ID in which the ILB exists. + "region": "A String", # The region for regional ILBs. + }, + ], + }, "kind": "dns#rRSetRoutingPolicyWrrPolicyWrrPolicyItem", "rrdatas": [ "A String", @@ -663,8 +1193,23 @@

Method Details

"name": "A String", # For example, www.example.com. "routingPolicy": { # A RRSetRoutingPolicy represents ResourceRecordSet data that is returned dynamically with the response varying based on configured properties such as geolocation or by weighted random selection. # Configures dynamic query responses based on geo location of querying user or a weighted round robin based routing policy. A ResourceRecordSet should only have either rrdata (static) or routing_policy (dynamic). An error is returned otherwise. "geo": { # Configures a RRSetRoutingPolicy that routes based on the geo location of the querying user. + "enableFencing": True or False, # Without fencing, if health check fails for all configured items in the current geo bucket, we'll failover to the next nearest geo bucket. With fencing, if health check is enabled, as long as some targets in the current geo bucket are healthy, we'll return only the healthy targets. However, if they're all unhealthy, we won't failover to the next nearest bucket, we'll simply return all the items in the current bucket even though they're unhealthy. "items": [ # The primary geo routing configuration. If there are multiple items with the same location, an error is returned instead. { # ResourceRecordSet data for one geo location. + "healthCheckedTargets": { # HealthCheckTargets describes endpoints to health-check when responding to Routing Policy queries. Only the healthy endpoints will be included in the response. # For A and AAAA types only. Endpoints to return in the query result only if they are healthy. These can be specified along with rrdata within this item. + "internalLoadBalancers": [ + { + "ipAddress": "A String", # The frontend IP address of the + "ipProtocol": "A String", + "kind": "dns#rRSetRoutingPolicyLoadBalancerTarget", + "loadBalancerType": "A String", + "networkUrl": "A String", # The fully qualified url of the network on which the ILB is + "port": "A String", # Load Balancer to health check. The configured port of the Load Balancer. + "project": "A String", # present. This should be formatted like https://www.googleapis.com/compute/v1/projects/{project}/global/networks/{network} The project ID in which the ILB exists. + "region": "A String", # The region for regional ILBs. + }, + ], + }, "kind": "dns#rRSetRoutingPolicyGeoPolicyGeoPolicyItem", "location": "A String", # The geo-location granularity is a GCP region. This location string should correspond to a GCP region. e.g. "us-east1", "southamerica-east1", "asia-east1", etc. "rrdatas": [ @@ -678,8 +1223,23 @@

Method Details

"kind": "dns#rRSetRoutingPolicyGeoPolicy", }, "geoPolicy": { # Configures a RRSetRoutingPolicy that routes based on the geo location of the querying user. + "enableFencing": True or False, # Without fencing, if health check fails for all configured items in the current geo bucket, we'll failover to the next nearest geo bucket. With fencing, if health check is enabled, as long as some targets in the current geo bucket are healthy, we'll return only the healthy targets. However, if they're all unhealthy, we won't failover to the next nearest bucket, we'll simply return all the items in the current bucket even though they're unhealthy. "items": [ # The primary geo routing configuration. If there are multiple items with the same location, an error is returned instead. { # ResourceRecordSet data for one geo location. + "healthCheckedTargets": { # HealthCheckTargets describes endpoints to health-check when responding to Routing Policy queries. Only the healthy endpoints will be included in the response. # For A and AAAA types only. Endpoints to return in the query result only if they are healthy. These can be specified along with rrdata within this item. + "internalLoadBalancers": [ + { + "ipAddress": "A String", # The frontend IP address of the + "ipProtocol": "A String", + "kind": "dns#rRSetRoutingPolicyLoadBalancerTarget", + "loadBalancerType": "A String", + "networkUrl": "A String", # The fully qualified url of the network on which the ILB is + "port": "A String", # Load Balancer to health check. The configured port of the Load Balancer. + "project": "A String", # present. This should be formatted like https://www.googleapis.com/compute/v1/projects/{project}/global/networks/{network} The project ID in which the ILB exists. + "region": "A String", # The region for regional ILBs. + }, + ], + }, "kind": "dns#rRSetRoutingPolicyGeoPolicyGeoPolicyItem", "location": "A String", # The geo-location granularity is a GCP region. This location string should correspond to a GCP region. e.g. "us-east1", "southamerica-east1", "asia-east1", etc. "rrdatas": [ @@ -693,9 +1253,71 @@

Method Details

"kind": "dns#rRSetRoutingPolicyGeoPolicy", }, "kind": "dns#rRSetRoutingPolicy", + "primaryBackup": { # Configures a RRSetRoutingPolicy such that all queries are responded with the primary_targets if they are healthy. And if all of them are unhealthy, then we fallback to a geo localized policy. + "backupGeoTargets": { # Configures a RRSetRoutingPolicy that routes based on the geo location of the querying user. # Backup targets provide a regional failover policy for the otherwise global primary targets. If serving state is set to BACKUP, this policy essentially becomes a geo routing policy. + "enableFencing": True or False, # Without fencing, if health check fails for all configured items in the current geo bucket, we'll failover to the next nearest geo bucket. With fencing, if health check is enabled, as long as some targets in the current geo bucket are healthy, we'll return only the healthy targets. However, if they're all unhealthy, we won't failover to the next nearest bucket, we'll simply return all the items in the current bucket even though they're unhealthy. + "items": [ # The primary geo routing configuration. If there are multiple items with the same location, an error is returned instead. + { # ResourceRecordSet data for one geo location. + "healthCheckedTargets": { # HealthCheckTargets describes endpoints to health-check when responding to Routing Policy queries. Only the healthy endpoints will be included in the response. # For A and AAAA types only. Endpoints to return in the query result only if they are healthy. These can be specified along with rrdata within this item. + "internalLoadBalancers": [ + { + "ipAddress": "A String", # The frontend IP address of the + "ipProtocol": "A String", + "kind": "dns#rRSetRoutingPolicyLoadBalancerTarget", + "loadBalancerType": "A String", + "networkUrl": "A String", # The fully qualified url of the network on which the ILB is + "port": "A String", # Load Balancer to health check. The configured port of the Load Balancer. + "project": "A String", # present. This should be formatted like https://www.googleapis.com/compute/v1/projects/{project}/global/networks/{network} The project ID in which the ILB exists. + "region": "A String", # The region for regional ILBs. + }, + ], + }, + "kind": "dns#rRSetRoutingPolicyGeoPolicyGeoPolicyItem", + "location": "A String", # The geo-location granularity is a GCP region. This location string should correspond to a GCP region. e.g. "us-east1", "southamerica-east1", "asia-east1", etc. + "rrdatas": [ + "A String", + ], + "signatureRrdatas": [ # DNSSEC generated signatures for all the rrdata within this item. Note that if health checked targets are provided for DNSSEC enabled zones, there's a restriction of 1 ip per item. . + "A String", + ], + }, + ], + "kind": "dns#rRSetRoutingPolicyGeoPolicy", + }, + "kind": "dns#rRSetRoutingPolicyPrimaryBackupPolicy", + "primaryTargets": { # HealthCheckTargets describes endpoints to health-check when responding to Routing Policy queries. Only the healthy endpoints will be included in the response. + "internalLoadBalancers": [ + { + "ipAddress": "A String", # The frontend IP address of the + "ipProtocol": "A String", + "kind": "dns#rRSetRoutingPolicyLoadBalancerTarget", + "loadBalancerType": "A String", + "networkUrl": "A String", # The fully qualified url of the network on which the ILB is + "port": "A String", # Load Balancer to health check. The configured port of the Load Balancer. + "project": "A String", # present. This should be formatted like https://www.googleapis.com/compute/v1/projects/{project}/global/networks/{network} The project ID in which the ILB exists. + "region": "A String", # The region for regional ILBs. + }, + ], + }, + "trickleTraffic": 3.14, # When serving state is PRIMARY, this field provides the option of sending a small percentage of the traffic to the backup targets. + }, "wrr": { # Configures a RRSetRoutingPolicy that routes in a weighted round robin fashion. "items": [ { # A routing block which contains the routing information for one WRR item. + "healthCheckedTargets": { # HealthCheckTargets describes endpoints to health-check when responding to Routing Policy queries. Only the healthy endpoints will be included in the response. # endpoints that need to be health checked before making the routing decision. The unhealthy endpoints will be omitted from the result. If all endpoints within a buckete are unhealthy, we'll choose a different bucket (sampled w.r.t. its weight) for responding. Note that if DNSSEC is enabled for this zone, only one of rrdata or health_checked_targets can be set. + "internalLoadBalancers": [ + { + "ipAddress": "A String", # The frontend IP address of the + "ipProtocol": "A String", + "kind": "dns#rRSetRoutingPolicyLoadBalancerTarget", + "loadBalancerType": "A String", + "networkUrl": "A String", # The fully qualified url of the network on which the ILB is + "port": "A String", # Load Balancer to health check. The configured port of the Load Balancer. + "project": "A String", # present. This should be formatted like https://www.googleapis.com/compute/v1/projects/{project}/global/networks/{network} The project ID in which the ILB exists. + "region": "A String", # The region for regional ILBs. + }, + ], + }, "kind": "dns#rRSetRoutingPolicyWrrPolicyWrrPolicyItem", "rrdatas": [ "A String", @@ -711,6 +1333,20 @@

Method Details

"wrrPolicy": { # Configures a RRSetRoutingPolicy that routes in a weighted round robin fashion. "items": [ { # A routing block which contains the routing information for one WRR item. + "healthCheckedTargets": { # HealthCheckTargets describes endpoints to health-check when responding to Routing Policy queries. Only the healthy endpoints will be included in the response. # endpoints that need to be health checked before making the routing decision. The unhealthy endpoints will be omitted from the result. If all endpoints within a buckete are unhealthy, we'll choose a different bucket (sampled w.r.t. its weight) for responding. Note that if DNSSEC is enabled for this zone, only one of rrdata or health_checked_targets can be set. + "internalLoadBalancers": [ + { + "ipAddress": "A String", # The frontend IP address of the + "ipProtocol": "A String", + "kind": "dns#rRSetRoutingPolicyLoadBalancerTarget", + "loadBalancerType": "A String", + "networkUrl": "A String", # The fully qualified url of the network on which the ILB is + "port": "A String", # Load Balancer to health check. The configured port of the Load Balancer. + "project": "A String", # present. This should be formatted like https://www.googleapis.com/compute/v1/projects/{project}/global/networks/{network} The project ID in which the ILB exists. + "region": "A String", # The region for regional ILBs. + }, + ], + }, "kind": "dns#rRSetRoutingPolicyWrrPolicyWrrPolicyItem", "rrdatas": [ "A String", @@ -762,8 +1398,23 @@

Method Details

"name": "A String", # For example, www.example.com. "routingPolicy": { # A RRSetRoutingPolicy represents ResourceRecordSet data that is returned dynamically with the response varying based on configured properties such as geolocation or by weighted random selection. # Configures dynamic query responses based on geo location of querying user or a weighted round robin based routing policy. A ResourceRecordSet should only have either rrdata (static) or routing_policy (dynamic). An error is returned otherwise. "geo": { # Configures a RRSetRoutingPolicy that routes based on the geo location of the querying user. + "enableFencing": True or False, # Without fencing, if health check fails for all configured items in the current geo bucket, we'll failover to the next nearest geo bucket. With fencing, if health check is enabled, as long as some targets in the current geo bucket are healthy, we'll return only the healthy targets. However, if they're all unhealthy, we won't failover to the next nearest bucket, we'll simply return all the items in the current bucket even though they're unhealthy. "items": [ # The primary geo routing configuration. If there are multiple items with the same location, an error is returned instead. { # ResourceRecordSet data for one geo location. + "healthCheckedTargets": { # HealthCheckTargets describes endpoints to health-check when responding to Routing Policy queries. Only the healthy endpoints will be included in the response. # For A and AAAA types only. Endpoints to return in the query result only if they are healthy. These can be specified along with rrdata within this item. + "internalLoadBalancers": [ + { + "ipAddress": "A String", # The frontend IP address of the + "ipProtocol": "A String", + "kind": "dns#rRSetRoutingPolicyLoadBalancerTarget", + "loadBalancerType": "A String", + "networkUrl": "A String", # The fully qualified url of the network on which the ILB is + "port": "A String", # Load Balancer to health check. The configured port of the Load Balancer. + "project": "A String", # present. This should be formatted like https://www.googleapis.com/compute/v1/projects/{project}/global/networks/{network} The project ID in which the ILB exists. + "region": "A String", # The region for regional ILBs. + }, + ], + }, "kind": "dns#rRSetRoutingPolicyGeoPolicyGeoPolicyItem", "location": "A String", # The geo-location granularity is a GCP region. This location string should correspond to a GCP region. e.g. "us-east1", "southamerica-east1", "asia-east1", etc. "rrdatas": [ @@ -777,8 +1428,23 @@

Method Details

"kind": "dns#rRSetRoutingPolicyGeoPolicy", }, "geoPolicy": { # Configures a RRSetRoutingPolicy that routes based on the geo location of the querying user. + "enableFencing": True or False, # Without fencing, if health check fails for all configured items in the current geo bucket, we'll failover to the next nearest geo bucket. With fencing, if health check is enabled, as long as some targets in the current geo bucket are healthy, we'll return only the healthy targets. However, if they're all unhealthy, we won't failover to the next nearest bucket, we'll simply return all the items in the current bucket even though they're unhealthy. "items": [ # The primary geo routing configuration. If there are multiple items with the same location, an error is returned instead. { # ResourceRecordSet data for one geo location. + "healthCheckedTargets": { # HealthCheckTargets describes endpoints to health-check when responding to Routing Policy queries. Only the healthy endpoints will be included in the response. # For A and AAAA types only. Endpoints to return in the query result only if they are healthy. These can be specified along with rrdata within this item. + "internalLoadBalancers": [ + { + "ipAddress": "A String", # The frontend IP address of the + "ipProtocol": "A String", + "kind": "dns#rRSetRoutingPolicyLoadBalancerTarget", + "loadBalancerType": "A String", + "networkUrl": "A String", # The fully qualified url of the network on which the ILB is + "port": "A String", # Load Balancer to health check. The configured port of the Load Balancer. + "project": "A String", # present. This should be formatted like https://www.googleapis.com/compute/v1/projects/{project}/global/networks/{network} The project ID in which the ILB exists. + "region": "A String", # The region for regional ILBs. + }, + ], + }, "kind": "dns#rRSetRoutingPolicyGeoPolicyGeoPolicyItem", "location": "A String", # The geo-location granularity is a GCP region. This location string should correspond to a GCP region. e.g. "us-east1", "southamerica-east1", "asia-east1", etc. "rrdatas": [ @@ -792,9 +1458,71 @@

Method Details

"kind": "dns#rRSetRoutingPolicyGeoPolicy", }, "kind": "dns#rRSetRoutingPolicy", + "primaryBackup": { # Configures a RRSetRoutingPolicy such that all queries are responded with the primary_targets if they are healthy. And if all of them are unhealthy, then we fallback to a geo localized policy. + "backupGeoTargets": { # Configures a RRSetRoutingPolicy that routes based on the geo location of the querying user. # Backup targets provide a regional failover policy for the otherwise global primary targets. If serving state is set to BACKUP, this policy essentially becomes a geo routing policy. + "enableFencing": True or False, # Without fencing, if health check fails for all configured items in the current geo bucket, we'll failover to the next nearest geo bucket. With fencing, if health check is enabled, as long as some targets in the current geo bucket are healthy, we'll return only the healthy targets. However, if they're all unhealthy, we won't failover to the next nearest bucket, we'll simply return all the items in the current bucket even though they're unhealthy. + "items": [ # The primary geo routing configuration. If there are multiple items with the same location, an error is returned instead. + { # ResourceRecordSet data for one geo location. + "healthCheckedTargets": { # HealthCheckTargets describes endpoints to health-check when responding to Routing Policy queries. Only the healthy endpoints will be included in the response. # For A and AAAA types only. Endpoints to return in the query result only if they are healthy. These can be specified along with rrdata within this item. + "internalLoadBalancers": [ + { + "ipAddress": "A String", # The frontend IP address of the + "ipProtocol": "A String", + "kind": "dns#rRSetRoutingPolicyLoadBalancerTarget", + "loadBalancerType": "A String", + "networkUrl": "A String", # The fully qualified url of the network on which the ILB is + "port": "A String", # Load Balancer to health check. The configured port of the Load Balancer. + "project": "A String", # present. This should be formatted like https://www.googleapis.com/compute/v1/projects/{project}/global/networks/{network} The project ID in which the ILB exists. + "region": "A String", # The region for regional ILBs. + }, + ], + }, + "kind": "dns#rRSetRoutingPolicyGeoPolicyGeoPolicyItem", + "location": "A String", # The geo-location granularity is a GCP region. This location string should correspond to a GCP region. e.g. "us-east1", "southamerica-east1", "asia-east1", etc. + "rrdatas": [ + "A String", + ], + "signatureRrdatas": [ # DNSSEC generated signatures for all the rrdata within this item. Note that if health checked targets are provided for DNSSEC enabled zones, there's a restriction of 1 ip per item. . + "A String", + ], + }, + ], + "kind": "dns#rRSetRoutingPolicyGeoPolicy", + }, + "kind": "dns#rRSetRoutingPolicyPrimaryBackupPolicy", + "primaryTargets": { # HealthCheckTargets describes endpoints to health-check when responding to Routing Policy queries. Only the healthy endpoints will be included in the response. + "internalLoadBalancers": [ + { + "ipAddress": "A String", # The frontend IP address of the + "ipProtocol": "A String", + "kind": "dns#rRSetRoutingPolicyLoadBalancerTarget", + "loadBalancerType": "A String", + "networkUrl": "A String", # The fully qualified url of the network on which the ILB is + "port": "A String", # Load Balancer to health check. The configured port of the Load Balancer. + "project": "A String", # present. This should be formatted like https://www.googleapis.com/compute/v1/projects/{project}/global/networks/{network} The project ID in which the ILB exists. + "region": "A String", # The region for regional ILBs. + }, + ], + }, + "trickleTraffic": 3.14, # When serving state is PRIMARY, this field provides the option of sending a small percentage of the traffic to the backup targets. + }, "wrr": { # Configures a RRSetRoutingPolicy that routes in a weighted round robin fashion. "items": [ { # A routing block which contains the routing information for one WRR item. + "healthCheckedTargets": { # HealthCheckTargets describes endpoints to health-check when responding to Routing Policy queries. Only the healthy endpoints will be included in the response. # endpoints that need to be health checked before making the routing decision. The unhealthy endpoints will be omitted from the result. If all endpoints within a buckete are unhealthy, we'll choose a different bucket (sampled w.r.t. its weight) for responding. Note that if DNSSEC is enabled for this zone, only one of rrdata or health_checked_targets can be set. + "internalLoadBalancers": [ + { + "ipAddress": "A String", # The frontend IP address of the + "ipProtocol": "A String", + "kind": "dns#rRSetRoutingPolicyLoadBalancerTarget", + "loadBalancerType": "A String", + "networkUrl": "A String", # The fully qualified url of the network on which the ILB is + "port": "A String", # Load Balancer to health check. The configured port of the Load Balancer. + "project": "A String", # present. This should be formatted like https://www.googleapis.com/compute/v1/projects/{project}/global/networks/{network} The project ID in which the ILB exists. + "region": "A String", # The region for regional ILBs. + }, + ], + }, "kind": "dns#rRSetRoutingPolicyWrrPolicyWrrPolicyItem", "rrdatas": [ "A String", @@ -810,6 +1538,20 @@

Method Details

"wrrPolicy": { # Configures a RRSetRoutingPolicy that routes in a weighted round robin fashion. "items": [ { # A routing block which contains the routing information for one WRR item. + "healthCheckedTargets": { # HealthCheckTargets describes endpoints to health-check when responding to Routing Policy queries. Only the healthy endpoints will be included in the response. # endpoints that need to be health checked before making the routing decision. The unhealthy endpoints will be omitted from the result. If all endpoints within a buckete are unhealthy, we'll choose a different bucket (sampled w.r.t. its weight) for responding. Note that if DNSSEC is enabled for this zone, only one of rrdata or health_checked_targets can be set. + "internalLoadBalancers": [ + { + "ipAddress": "A String", # The frontend IP address of the + "ipProtocol": "A String", + "kind": "dns#rRSetRoutingPolicyLoadBalancerTarget", + "loadBalancerType": "A String", + "networkUrl": "A String", # The fully qualified url of the network on which the ILB is + "port": "A String", # Load Balancer to health check. The configured port of the Load Balancer. + "project": "A String", # present. This should be formatted like https://www.googleapis.com/compute/v1/projects/{project}/global/networks/{network} The project ID in which the ILB exists. + "region": "A String", # The region for regional ILBs. + }, + ], + }, "kind": "dns#rRSetRoutingPolicyWrrPolicyWrrPolicyItem", "rrdatas": [ "A String", @@ -861,8 +1603,23 @@

Method Details

"name": "A String", # For example, www.example.com. "routingPolicy": { # A RRSetRoutingPolicy represents ResourceRecordSet data that is returned dynamically with the response varying based on configured properties such as geolocation or by weighted random selection. # Configures dynamic query responses based on geo location of querying user or a weighted round robin based routing policy. A ResourceRecordSet should only have either rrdata (static) or routing_policy (dynamic). An error is returned otherwise. "geo": { # Configures a RRSetRoutingPolicy that routes based on the geo location of the querying user. + "enableFencing": True or False, # Without fencing, if health check fails for all configured items in the current geo bucket, we'll failover to the next nearest geo bucket. With fencing, if health check is enabled, as long as some targets in the current geo bucket are healthy, we'll return only the healthy targets. However, if they're all unhealthy, we won't failover to the next nearest bucket, we'll simply return all the items in the current bucket even though they're unhealthy. "items": [ # The primary geo routing configuration. If there are multiple items with the same location, an error is returned instead. { # ResourceRecordSet data for one geo location. + "healthCheckedTargets": { # HealthCheckTargets describes endpoints to health-check when responding to Routing Policy queries. Only the healthy endpoints will be included in the response. # For A and AAAA types only. Endpoints to return in the query result only if they are healthy. These can be specified along with rrdata within this item. + "internalLoadBalancers": [ + { + "ipAddress": "A String", # The frontend IP address of the + "ipProtocol": "A String", + "kind": "dns#rRSetRoutingPolicyLoadBalancerTarget", + "loadBalancerType": "A String", + "networkUrl": "A String", # The fully qualified url of the network on which the ILB is + "port": "A String", # Load Balancer to health check. The configured port of the Load Balancer. + "project": "A String", # present. This should be formatted like https://www.googleapis.com/compute/v1/projects/{project}/global/networks/{network} The project ID in which the ILB exists. + "region": "A String", # The region for regional ILBs. + }, + ], + }, "kind": "dns#rRSetRoutingPolicyGeoPolicyGeoPolicyItem", "location": "A String", # The geo-location granularity is a GCP region. This location string should correspond to a GCP region. e.g. "us-east1", "southamerica-east1", "asia-east1", etc. "rrdatas": [ @@ -876,8 +1633,23 @@

Method Details

"kind": "dns#rRSetRoutingPolicyGeoPolicy", }, "geoPolicy": { # Configures a RRSetRoutingPolicy that routes based on the geo location of the querying user. + "enableFencing": True or False, # Without fencing, if health check fails for all configured items in the current geo bucket, we'll failover to the next nearest geo bucket. With fencing, if health check is enabled, as long as some targets in the current geo bucket are healthy, we'll return only the healthy targets. However, if they're all unhealthy, we won't failover to the next nearest bucket, we'll simply return all the items in the current bucket even though they're unhealthy. "items": [ # The primary geo routing configuration. If there are multiple items with the same location, an error is returned instead. { # ResourceRecordSet data for one geo location. + "healthCheckedTargets": { # HealthCheckTargets describes endpoints to health-check when responding to Routing Policy queries. Only the healthy endpoints will be included in the response. # For A and AAAA types only. Endpoints to return in the query result only if they are healthy. These can be specified along with rrdata within this item. + "internalLoadBalancers": [ + { + "ipAddress": "A String", # The frontend IP address of the + "ipProtocol": "A String", + "kind": "dns#rRSetRoutingPolicyLoadBalancerTarget", + "loadBalancerType": "A String", + "networkUrl": "A String", # The fully qualified url of the network on which the ILB is + "port": "A String", # Load Balancer to health check. The configured port of the Load Balancer. + "project": "A String", # present. This should be formatted like https://www.googleapis.com/compute/v1/projects/{project}/global/networks/{network} The project ID in which the ILB exists. + "region": "A String", # The region for regional ILBs. + }, + ], + }, "kind": "dns#rRSetRoutingPolicyGeoPolicyGeoPolicyItem", "location": "A String", # The geo-location granularity is a GCP region. This location string should correspond to a GCP region. e.g. "us-east1", "southamerica-east1", "asia-east1", etc. "rrdatas": [ @@ -891,9 +1663,71 @@

Method Details

"kind": "dns#rRSetRoutingPolicyGeoPolicy", }, "kind": "dns#rRSetRoutingPolicy", + "primaryBackup": { # Configures a RRSetRoutingPolicy such that all queries are responded with the primary_targets if they are healthy. And if all of them are unhealthy, then we fallback to a geo localized policy. + "backupGeoTargets": { # Configures a RRSetRoutingPolicy that routes based on the geo location of the querying user. # Backup targets provide a regional failover policy for the otherwise global primary targets. If serving state is set to BACKUP, this policy essentially becomes a geo routing policy. + "enableFencing": True or False, # Without fencing, if health check fails for all configured items in the current geo bucket, we'll failover to the next nearest geo bucket. With fencing, if health check is enabled, as long as some targets in the current geo bucket are healthy, we'll return only the healthy targets. However, if they're all unhealthy, we won't failover to the next nearest bucket, we'll simply return all the items in the current bucket even though they're unhealthy. + "items": [ # The primary geo routing configuration. If there are multiple items with the same location, an error is returned instead. + { # ResourceRecordSet data for one geo location. + "healthCheckedTargets": { # HealthCheckTargets describes endpoints to health-check when responding to Routing Policy queries. Only the healthy endpoints will be included in the response. # For A and AAAA types only. Endpoints to return in the query result only if they are healthy. These can be specified along with rrdata within this item. + "internalLoadBalancers": [ + { + "ipAddress": "A String", # The frontend IP address of the + "ipProtocol": "A String", + "kind": "dns#rRSetRoutingPolicyLoadBalancerTarget", + "loadBalancerType": "A String", + "networkUrl": "A String", # The fully qualified url of the network on which the ILB is + "port": "A String", # Load Balancer to health check. The configured port of the Load Balancer. + "project": "A String", # present. This should be formatted like https://www.googleapis.com/compute/v1/projects/{project}/global/networks/{network} The project ID in which the ILB exists. + "region": "A String", # The region for regional ILBs. + }, + ], + }, + "kind": "dns#rRSetRoutingPolicyGeoPolicyGeoPolicyItem", + "location": "A String", # The geo-location granularity is a GCP region. This location string should correspond to a GCP region. e.g. "us-east1", "southamerica-east1", "asia-east1", etc. + "rrdatas": [ + "A String", + ], + "signatureRrdatas": [ # DNSSEC generated signatures for all the rrdata within this item. Note that if health checked targets are provided for DNSSEC enabled zones, there's a restriction of 1 ip per item. . + "A String", + ], + }, + ], + "kind": "dns#rRSetRoutingPolicyGeoPolicy", + }, + "kind": "dns#rRSetRoutingPolicyPrimaryBackupPolicy", + "primaryTargets": { # HealthCheckTargets describes endpoints to health-check when responding to Routing Policy queries. Only the healthy endpoints will be included in the response. + "internalLoadBalancers": [ + { + "ipAddress": "A String", # The frontend IP address of the + "ipProtocol": "A String", + "kind": "dns#rRSetRoutingPolicyLoadBalancerTarget", + "loadBalancerType": "A String", + "networkUrl": "A String", # The fully qualified url of the network on which the ILB is + "port": "A String", # Load Balancer to health check. The configured port of the Load Balancer. + "project": "A String", # present. This should be formatted like https://www.googleapis.com/compute/v1/projects/{project}/global/networks/{network} The project ID in which the ILB exists. + "region": "A String", # The region for regional ILBs. + }, + ], + }, + "trickleTraffic": 3.14, # When serving state is PRIMARY, this field provides the option of sending a small percentage of the traffic to the backup targets. + }, "wrr": { # Configures a RRSetRoutingPolicy that routes in a weighted round robin fashion. "items": [ { # A routing block which contains the routing information for one WRR item. + "healthCheckedTargets": { # HealthCheckTargets describes endpoints to health-check when responding to Routing Policy queries. Only the healthy endpoints will be included in the response. # endpoints that need to be health checked before making the routing decision. The unhealthy endpoints will be omitted from the result. If all endpoints within a buckete are unhealthy, we'll choose a different bucket (sampled w.r.t. its weight) for responding. Note that if DNSSEC is enabled for this zone, only one of rrdata or health_checked_targets can be set. + "internalLoadBalancers": [ + { + "ipAddress": "A String", # The frontend IP address of the + "ipProtocol": "A String", + "kind": "dns#rRSetRoutingPolicyLoadBalancerTarget", + "loadBalancerType": "A String", + "networkUrl": "A String", # The fully qualified url of the network on which the ILB is + "port": "A String", # Load Balancer to health check. The configured port of the Load Balancer. + "project": "A String", # present. This should be formatted like https://www.googleapis.com/compute/v1/projects/{project}/global/networks/{network} The project ID in which the ILB exists. + "region": "A String", # The region for regional ILBs. + }, + ], + }, "kind": "dns#rRSetRoutingPolicyWrrPolicyWrrPolicyItem", "rrdatas": [ "A String", @@ -909,6 +1743,20 @@

Method Details

"wrrPolicy": { # Configures a RRSetRoutingPolicy that routes in a weighted round robin fashion. "items": [ { # A routing block which contains the routing information for one WRR item. + "healthCheckedTargets": { # HealthCheckTargets describes endpoints to health-check when responding to Routing Policy queries. Only the healthy endpoints will be included in the response. # endpoints that need to be health checked before making the routing decision. The unhealthy endpoints will be omitted from the result. If all endpoints within a buckete are unhealthy, we'll choose a different bucket (sampled w.r.t. its weight) for responding. Note that if DNSSEC is enabled for this zone, only one of rrdata or health_checked_targets can be set. + "internalLoadBalancers": [ + { + "ipAddress": "A String", # The frontend IP address of the + "ipProtocol": "A String", + "kind": "dns#rRSetRoutingPolicyLoadBalancerTarget", + "loadBalancerType": "A String", + "networkUrl": "A String", # The fully qualified url of the network on which the ILB is + "port": "A String", # Load Balancer to health check. The configured port of the Load Balancer. + "project": "A String", # present. This should be formatted like https://www.googleapis.com/compute/v1/projects/{project}/global/networks/{network} The project ID in which the ILB exists. + "region": "A String", # The region for regional ILBs. + }, + ], + }, "kind": "dns#rRSetRoutingPolicyWrrPolicyWrrPolicyItem", "rrdatas": [ "A String", diff --git a/docs/dyn/drivelabels_v2.labels.html b/docs/dyn/drivelabels_v2.labels.html index 1d0351ebb63..927330fcedd 100644 --- a/docs/dyn/drivelabels_v2.labels.html +++ b/docs/dyn/drivelabels_v2.labels.html @@ -79,10 +79,10 @@

Instance Methods

Close httplib2 connections.

get(name, languageCode=None, useAdminAccess=None, view=None, x__xgafv=None)

-

Get a Label by its resource name. Resource name may be any of: * `labels/{id}` - See to `labels/{id}@latest` * `labels/{id}@latest` - Gets the latest revision of the Label. * `labels/{id}@published` - Gets the current published revision of the Label. * `labels/{id}@{revision_id}` - Gets the Label at the specified revision ID.

+

Get a label by its resource name. Resource name may be any of: * `labels/{id}` - See `labels/{id}@latest` * `labels/{id}@latest` - Gets the latest revision of the label. * `labels/{id}@published` - Gets the current published revision of the label. * `labels/{id}@{revision_id}` - Gets the label at the specified revision ID.

list(languageCode=None, minimumRole=None, pageSize=None, pageToken=None, publishedOnly=None, useAdminAccess=None, view=None, x__xgafv=None)

-

-------------------------------------------------------------------------- ## Label APIs --------------------------------------------------------------- List Labels.

+

List labels.

list_next()

Retrieves the next page of results.

@@ -94,13 +94,13 @@

Method Details

get(name, languageCode=None, useAdminAccess=None, view=None, x__xgafv=None) -
Get a Label by its resource name. Resource name may be any of: * `labels/{id}` - See to `labels/{id}@latest` * `labels/{id}@latest` - Gets the latest revision of the Label. * `labels/{id}@published` - Gets the current published revision of the Label. * `labels/{id}@{revision_id}` - Gets the Label at the specified revision ID.
+  
Get a label by its resource name. Resource name may be any of: * `labels/{id}` - See `labels/{id}@latest` * `labels/{id}@latest` - Gets the latest revision of the label. * `labels/{id}@published` - Gets the current published revision of the label. * `labels/{id}@{revision_id}` - Gets the label at the specified revision ID.
 
 Args:
   name: string, Required. Label resource name. May be any of: * `labels/{id}` (equivalent to labels/{id}@latest) * `labels/{id}@latest` * `labels/{id}@published` * `labels/{id}@{revision_id}` (required)
-  languageCode: string, The BCP-47 language code to use for evaluating localized Field labels. When not specified, values in the default configured language will be used.
-  useAdminAccess: boolean, Set to `true` in order to use the user's admin credentials. The server will verify the user is an admin for the Label before allowing access.
-  view: string, When specified, only certain Fields belonging to the indicated view will be returned.
+  languageCode: string, The BCP-47 language code to use for evaluating localized field labels. When not specified, values in the default configured language are used.
+  useAdminAccess: boolean, Set to `true` in order to use the user's admin credentials. The server verifies that the user is an admin for the label before allowing access.
+  view: string, When specified, only certain fields belonging to the indicated view are returned.
     Allowed values
       LABEL_VIEW_BASIC - Implies the field mask: `name,id,revision_id,label_type,properties.*`
       LABEL_VIEW_FULL - All possible fields.
@@ -112,43 +112,43 @@ 

Method Details

Returns: An object of the form: - { # A Label defines a taxonomy which may be applied to a Drive items in order to organize and search across Items. Labels may be simple strings, or may contain Fields that describe additional metadata which can be further used to organize and search Drive items. - "appliedCapabilities": { # The capabilities a user has on this Label's applied metadata. # Output only. The capabilities related to this label on applied metadata. - "canApply": True or False, # Whether the user can apply this Label to items. + { # A label defines a taxonomy that can be applied to Drive items in order to organize and search across items. Labels can be simple strings, or can contain fields that describe additional metadata that can be further used to organize and search Drive items. + "appliedCapabilities": { # The capabilities a user has on this label's applied metadata. # Output only. The capabilities related to this label on applied metadata. + "canApply": True or False, # Whether the user can apply this label to items. "canRead": True or False, # Whether the user can read applied metadata related to this label. - "canRemove": True or False, # Whether the user can remove this Label from items. + "canRemove": True or False, # Whether the user can remove this label from items. }, - "appliedLabelPolicy": { # Behavior of this Label when its applied to Drive items. # Output only. Behavior of this Label when its applied to Drive items. - "copyMode": "A String", # Indicates how the applied Label, and Field values should be copied when a Drive item is copied. + "appliedLabelPolicy": { # Behavior of this label when it's applied to Drive items. # Output only. Behavior of this label when it's applied to Drive items. + "copyMode": "A String", # Indicates how the applied label and field values should be copied when a Drive item is copied. }, "createTime": "A String", # Output only. The time this label was created. "creator": { # Information about a user. # Output only. The user who created this label. - "person": "A String", # The identifier for this user who can be used with the People API to get more information. e.g. people/12345678 + "person": "A String", # The identifier for this user that can be used with the People API to get more information. For example, people/12345678. }, "disableTime": "A String", # Output only. The time this label was disabled. This value has no meaning when the label is not disabled. "disabler": { # Information about a user. # Output only. The user who disabled this label. This value has no meaning when the label is not disabled. - "person": "A String", # The identifier for this user who can be used with the People API to get more information. e.g. people/12345678 + "person": "A String", # The identifier for this user that can be used with the People API to get more information. For example, people/12345678. }, - "displayHints": { # UI Display hints for rendering the Label. # Output only. UI Display hints for rendering the Label. - "disabled": True or False, # Whether the Label should be shown in the UI as disabled. - "hiddenInSearch": True or False, # This Label should be hidden in the search menu when searching for Drive items. - "priority": "A String", # Order to display label in a list - "shownInApply": True or False, # This Label should be shown in the apply menu. + "displayHints": { # UI display hints for rendering the label. # Output only. UI display hints for rendering the label. + "disabled": True or False, # Whether the label should be shown in the UI as disabled. + "hiddenInSearch": True or False, # This label should be hidden in the search menu when searching for Drive items. + "priority": "A String", # Order to display label in a list. + "shownInApply": True or False, # This label should be shown in the apply menu when applying values to a Drive item. }, - "fields": [ # List of Fields in descending priority order. - { # Defines a field which has a display name, data type, and other configuration options. This field defines the kind of metadata that may be set on a Drive item. - "appliedCapabilities": { # The capabilities related to this field on applied metadata. # Output only. The capabilities this user has on this Field and its value when the Label is applied on Drive items. + "fields": [ # List of fields in descending priority order. + { # Defines a field that has a display name, data type, and other configuration options. This field defines the kind of metadata that may be set on a Drive item. + "appliedCapabilities": { # The capabilities related to this field on applied metadata. # Output only. The capabilities this user has on this field and its value when the label is applied on Drive items. "canRead": True or False, # Whether the user can read related applied metadata on items. - "canSearch": True or False, # Whether the user can search for drive items referencing this field. - "canWrite": True or False, # Whether the user can set this field on drive items. + "canSearch": True or False, # Whether the user can search for Drive items referencing this field. + "canWrite": True or False, # Whether the user can set this field on Drive items. }, "createTime": "A String", # Output only. The time this field was created. "creator": { # Information about a user. # Output only. The user who created this field. - "person": "A String", # The identifier for this user who can be used with the People API to get more information. e.g. people/12345678 + "person": "A String", # The identifier for this user that can be used with the People API to get more information. For example, people/12345678. }, "dateOptions": { # Options for the date field type. # Date field options. - "dateFormat": "A String", # Output only. ICU Date format. - "dateFormatType": "A String", # Localized date formatting option. Field values will be rendered in this format according to their locale. + "dateFormat": "A String", # Output only. ICU date format. + "dateFormatType": "A String", # Localized date formatting option. Field values are rendered in this format according to their locale. "maxValue": { # Represents a whole or partial calendar date, such as a birthday. The time of day and time zone are either specified elsewhere or are insignificant. The date is relative to the Gregorian Calendar. This can represent one of the following: * A full date, with non-zero year, month, and day values. * A month and day, with a zero year (for example, an anniversary). * A year on its own, with a zero month and a zero day. * A year and month, with a zero day (for example, a credit card expiration date). Related types: * google.type.TimeOfDay * google.type.DateTime * google.protobuf.Timestamp # Output only. Maximum valid value (year, month, day). "day": 42, # Day of a month. Must be from 1 to 31 and valid for the year and month, or 0 to specify a year by itself or a year and month where the day isn't significant. "month": 42, # Month of a year. Must be from 1 to 12, or 0 to specify a year without a month and day. @@ -162,97 +162,97 @@

Method Details

}, "disableTime": "A String", # Output only. The time this field was disabled. This value has no meaning when the field is not disabled. "disabler": { # Information about a user. # Output only. The user who disabled this field. This value has no meaning when the field is not disabled. - "person": "A String", # The identifier for this user who can be used with the People API to get more information. e.g. people/12345678 + "person": "A String", # The identifier for this user that can be used with the People API to get more information. For example, people/12345678. }, - "displayHints": { # UI Display hints for rendering a Field. # Output only. UI Display hints for rendering a Field. + "displayHints": { # UI display hints for rendering a field. # Output only. UI display hints for rendering a field. "disabled": True or False, # Whether the field should be shown in the UI as disabled. - "hiddenInSearch": True or False, # This Field should be hidden in the search menu. - "required": True or False, # Whether the Field should be shown as required in the UI. - "shownInApply": True or False, # This Field should be shown when applying values to a Drive item. + "hiddenInSearch": True or False, # This field should be hidden in the search menu when searching for Drive items. + "required": True or False, # Whether the field should be shown as required in the UI. + "shownInApply": True or False, # This field should be shown in the apply menu when applying values to a Drive item. }, - "id": "A String", # Output only. The key of a field, unique within a Label or Library. This value is autogenerated, and will match the form `([a-zA-Z0-9_])+ + "id": "A String", # Output only. The key of a field, unique within a label or library. This value is autogenerated. Matches the regex: `([a-zA-Z0-9])+` "integerOptions": { # Options for the Integer field type. # Integer field options. "maxValue": "A String", # Output only. The maximum valid value for the integer field. "minValue": "A String", # Output only. The minimum valid value for the integer field. }, - "lifecycle": { # The lifecycle state of an object, e.g. Label, Field, or Choice. The Lifecycle enforces the following transitions: * `UNPUBLISHED_DRAFT` (starting state) * `UNPUBLISHED_DRAFT` -> `PUBLISHED` * `UNPUBLISHED_DRAFT` -> (Deleted) * `PUBLISHED` -> `DISABLED` * `DISABLED` -> `PUBLISHED` * `DISABLED` -> (Deleted) The published and disabled states have some distinct characteristics: * Published - Some kinds of changes may be made to an object in this state, in which case `has_unpublished_changes` will be true. Some kinds of changes are not permitted. Generally, any change that would invalidate or cause new restrictions on existing metadata related to the Label will be rejected. * Disabled - When disabled, the configured `DisabledPolicy` will take effect. # Output only. The lifecycle of this Field. + "lifecycle": { # The lifecycle state of an object, such as label, field, or choice. The lifecycle enforces the following transitions: * `UNPUBLISHED_DRAFT` (starting state) * `UNPUBLISHED_DRAFT` -> `PUBLISHED` * `UNPUBLISHED_DRAFT` -> (Deleted) * `PUBLISHED` -> `DISABLED` * `DISABLED` -> `PUBLISHED` * `DISABLED` -> (Deleted) The published and disabled states have some distinct characteristics: * Published—Some kinds of changes might be made to an object in this state, in which case `has_unpublished_changes` will be true. Also, some kinds of changes are not permitted. Generally, any change that would invalidate or cause new restrictions on existing metadata related to the label are rejected. * Disabled—When disabled, the configured `DisabledPolicy` takes effect. # Output only. The lifecycle of this field. "disabledPolicy": { # The policy that governs how to treat a disabled label, field, or selection choice in different contexts. # The policy that governs how to show a disabled label, field, or selection choice. - "hideInSearch": True or False, # Whether to hide this disabled object in the search menu for Drive items. * When `false` the object will generally be shown in the UI as disabled (but still permit searching) when searching for Drive items. * When `true` the object will generally be hidden in the UI when searching for Drive items. - "showInApply": True or False, # Whether to show this disabled object in the apply menu on Drive items. * When `true` the object will generally be shown in the UI as disabled and is unselectable. * When `false` the object will generally be hidden in the UI. + "hideInSearch": True or False, # Whether to hide this disabled object in the search menu for Drive items. * When `false`, the object is generally shown in the UI as disabled but it appears in the search results when searching for Drive items. * When `true`, the object is generally hidden in the UI when searching for Drive items. + "showInApply": True or False, # Whether to show this disabled object in the apply menu on Drive items. * When `true`, the object is generally shown in the UI as disabled and is unselectable. * When `false`, the object is generally hidden in the UI. }, "hasUnpublishedChanges": True or False, # Output only. Whether the object associated with this lifecycle has unpublished changes. "state": "A String", # Output only. The state of the object associated with this lifecycle. }, "lockStatus": { # Contains information about whether a label component should be considered locked. # Output only. The LockStatus of this field. - "locked": True or False, # Output only. Indicates whether this label component is the (direct) target of a LabelLock. A label component may be implicitly locked even if it is not the direct target of a LabelLock, in which case this field will be false. + "locked": True or False, # Output only. Indicates whether this label component is the (direct) target of a LabelLock. A label component can be implicitly locked even if it's not the direct target of a LabelLock, in which case this field is set to false. }, "properties": { # The basic properties of the field. # The basic properties of the field. "displayName": "A String", # Required. The display text to show in the UI identifying this field. - "insertBeforeField": "A String", # Input only. Insert or move this Field to be ordered before the indicated Field. If empty, the Field will be placed at the end of the list. + "insertBeforeField": "A String", # Input only. Insert or move this field before the indicated field. If empty, the field is placed at the end of the list. "required": True or False, # Whether the field should be marked as required. }, "publisher": { # Information about a user. # Output only. The user who published this field. This value has no meaning when the field is not published. - "person": "A String", # The identifier for this user who can be used with the People API to get more information. e.g. people/12345678 + "person": "A String", # The identifier for this user that can be used with the People API to get more information. For example, people/12345678. }, - "queryKey": "A String", # Output only. The key to use when constructing Drive search queries to find files based on values defined for this Field on files. For example: "`{query_key}` > 2001-01-01" - "schemaCapabilities": { # The capabilities related to this Field when editing the Field. # Output only. The capabilities this user has when editing this Field - "canDelete": True or False, # Whether the user can delete this Field. The user must have permissions and the Field must be deprecated. - "canDisable": True or False, # Whether the user can disable this Field. The user must have permissions and this Field must not already be disabled. - "canEnable": True or False, # Whether the user can enable this Field. The user must have permissions and this Field must be disabled. + "queryKey": "A String", # Output only. The key to use when constructing Drive search queries to find files based on values defined for this field on files. For example, "`{query_key}` > 2001-01-01". + "schemaCapabilities": { # The capabilities related to this field when editing the field. # Output only. The capabilities this user has when editing this field. + "canDelete": True or False, # Whether the user can delete this field. The user must have permission and the field must be deprecated. + "canDisable": True or False, # Whether the user can disable this field. The user must have permission and this field must not already be disabled. + "canEnable": True or False, # Whether the user can enable this field. The user must have permission and this field must be disabled. "canUpdate": True or False, # Whether the user can change this field. }, "selectionOptions": { # Options for the selection field type. # Selection field options. "choices": [ # The options available for this selection field. The list order is consistent, and modified with `insert_before_choice`. - { # Selection field Choice. - "appliedCapabilities": { # The capabilities related to this Choice on applied metadata. # Output only. The capabilities related to this Choice on applied metadata. + { # Selection field choice. + "appliedCapabilities": { # The capabilities related to this choice on applied metadata. # Output only. The capabilities related to this choice on applied metadata. "canRead": True or False, # Whether the user can read related applied metadata on items. - "canSearch": True or False, # Whether the user can use this Choice in search queries. - "canSelect": True or False, # Whether the user can select this Choice on an item. + "canSearch": True or False, # Whether the user can use this choice in search queries. + "canSelect": True or False, # Whether the user can select this choice on an item. }, - "createTime": "A String", # Output only. The time this Choice was created. - "creator": { # Information about a user. # Output only. The user who created this Choice. - "person": "A String", # The identifier for this user who can be used with the People API to get more information. e.g. people/12345678 + "createTime": "A String", # Output only. The time this choice was created. + "creator": { # Information about a user. # Output only. The user who created this choice. + "person": "A String", # The identifier for this user that can be used with the People API to get more information. For example, people/12345678. }, - "disableTime": "A String", # Output only. The time this Choice was disabled. This value has no meaning when the Choice is not disabled. - "disabler": { # Information about a user. # Output only. The user who disabled this Choice. This value has no meaning when the option is not disabled. - "person": "A String", # The identifier for this user who can be used with the People API to get more information. e.g. people/12345678 + "disableTime": "A String", # Output only. The time this choice was disabled. This value has no meaning when the choice is not disabled. + "disabler": { # Information about a user. # Output only. The user who disabled this choice. This value has no meaning when the option is not disabled. + "person": "A String", # The identifier for this user that can be used with the People API to get more information. For example, people/12345678. }, - "displayHints": { # UI Display hints for rendering a Option. # Output only. UI Display hints for rendering a Choice. - "badgeColors": { # The color derived from BadgeConfig and coerced to the nearest supported color. # The colors to use for the badge. Coerced to Google Material colors based on the chosen `properties.badge_config.color`. - "backgroundColor": { # Represents a color in the RGBA color space. This representation is designed for simplicity of conversion to/from color representations in various languages over compactness. For example, the fields of this representation can be trivially provided to the constructor of `java.awt.Color` in Java; it can also be trivially provided to UIColor's `+colorWithRed:green:blue:alpha` method in iOS; and, with just a little work, it can be easily formatted into a CSS `rgba()` string in JavaScript. This reference page doesn't carry information about the absolute color space that should be used to interpret the RGB value (e.g. sRGB, Adobe RGB, DCI-P3, BT.2020, etc.). By default, applications should assume the sRGB color space. When color equality needs to be decided, implementations, unless documented otherwise, treat two colors as equal if all their red, green, blue, and alpha values each differ by at most 1e-5. Example (Java): import com.google.type.Color; // ... public static java.awt.Color fromProto(Color protocolor) { float alpha = protocolor.hasAlpha() ? protocolor.getAlpha().getValue() : 1.0; return new java.awt.Color( protocolor.getRed(), protocolor.getGreen(), protocolor.getBlue(), alpha); } public static Color toProto(java.awt.Color color) { float red = (float) color.getRed(); float green = (float) color.getGreen(); float blue = (float) color.getBlue(); float denominator = 255.0; Color.Builder resultBuilder = Color .newBuilder() .setRed(red / denominator) .setGreen(green / denominator) .setBlue(blue / denominator); int alpha = color.getAlpha(); if (alpha != 255) { result.setAlpha( FloatValue .newBuilder() .setValue(((float) alpha) / denominator) .build()); } return resultBuilder.build(); } // ... Example (iOS / Obj-C): // ... static UIColor* fromProto(Color* protocolor) { float red = [protocolor red]; float green = [protocolor green]; float blue = [protocolor blue]; FloatValue* alpha_wrapper = [protocolor alpha]; float alpha = 1.0; if (alpha_wrapper != nil) { alpha = [alpha_wrapper value]; } return [UIColor colorWithRed:red green:green blue:blue alpha:alpha]; } static Color* toProto(UIColor* color) { CGFloat red, green, blue, alpha; if (![color getRed:&red green:&green blue:&blue alpha:&alpha]) { return nil; } Color* result = [[Color alloc] init]; [result setRed:red]; [result setGreen:green]; [result setBlue:blue]; if (alpha <= 0.9999) { [result setAlpha:floatWrapperWithValue(alpha)]; } [result autorelease]; return result; } // ... Example (JavaScript): // ... var protoToCssColor = function(rgb_color) { var redFrac = rgb_color.red || 0.0; var greenFrac = rgb_color.green || 0.0; var blueFrac = rgb_color.blue || 0.0; var red = Math.floor(redFrac * 255); var green = Math.floor(greenFrac * 255); var blue = Math.floor(blueFrac * 255); if (!('alpha' in rgb_color)) { return rgbToCssColor(red, green, blue); } var alphaFrac = rgb_color.alpha.value || 0.0; var rgbParams = [red, green, blue].join(','); return ['rgba(', rgbParams, ',', alphaFrac, ')'].join(''); }; var rgbToCssColor = function(red, green, blue) { var rgbNumber = new Number((red << 16) | (green << 8) | blue); var hexString = rgbNumber.toString(16); var missingZeros = 6 - hexString.length; var resultBuilder = ['#']; for (var i = 0; i < missingZeros; i++) { resultBuilder.push('0'); } resultBuilder.push(hexString); return resultBuilder.join(''); }; // ... # Output only. Badge background which pairs with the foreground + "displayHints": { # UI display hints for rendering an option. # Output only. UI display hints for rendering a choice. + "badgeColors": { # The color derived from BadgeConfig and changed to the closest recommended supported color. # The colors to use for the badge. Changed to Google Material colors based on the chosen `properties.badge_config.color`. + "backgroundColor": { # Represents a color in the RGBA color space. This representation is designed for simplicity of conversion to/from color representations in various languages over compactness. For example, the fields of this representation can be trivially provided to the constructor of `java.awt.Color` in Java; it can also be trivially provided to UIColor's `+colorWithRed:green:blue:alpha` method in iOS; and, with just a little work, it can be easily formatted into a CSS `rgba()` string in JavaScript. This reference page doesn't carry information about the absolute color space that should be used to interpret the RGB value (e.g. sRGB, Adobe RGB, DCI-P3, BT.2020, etc.). By default, applications should assume the sRGB color space. When color equality needs to be decided, implementations, unless documented otherwise, treat two colors as equal if all their red, green, blue, and alpha values each differ by at most 1e-5. Example (Java): import com.google.type.Color; // ... public static java.awt.Color fromProto(Color protocolor) { float alpha = protocolor.hasAlpha() ? protocolor.getAlpha().getValue() : 1.0; return new java.awt.Color( protocolor.getRed(), protocolor.getGreen(), protocolor.getBlue(), alpha); } public static Color toProto(java.awt.Color color) { float red = (float) color.getRed(); float green = (float) color.getGreen(); float blue = (float) color.getBlue(); float denominator = 255.0; Color.Builder resultBuilder = Color .newBuilder() .setRed(red / denominator) .setGreen(green / denominator) .setBlue(blue / denominator); int alpha = color.getAlpha(); if (alpha != 255) { result.setAlpha( FloatValue .newBuilder() .setValue(((float) alpha) / denominator) .build()); } return resultBuilder.build(); } // ... Example (iOS / Obj-C): // ... static UIColor* fromProto(Color* protocolor) { float red = [protocolor red]; float green = [protocolor green]; float blue = [protocolor blue]; FloatValue* alpha_wrapper = [protocolor alpha]; float alpha = 1.0; if (alpha_wrapper != nil) { alpha = [alpha_wrapper value]; } return [UIColor colorWithRed:red green:green blue:blue alpha:alpha]; } static Color* toProto(UIColor* color) { CGFloat red, green, blue, alpha; if (![color getRed:&red green:&green blue:&blue alpha:&alpha]) { return nil; } Color* result = [[Color alloc] init]; [result setRed:red]; [result setGreen:green]; [result setBlue:blue]; if (alpha <= 0.9999) { [result setAlpha:floatWrapperWithValue(alpha)]; } [result autorelease]; return result; } // ... Example (JavaScript): // ... var protoToCssColor = function(rgb_color) { var redFrac = rgb_color.red || 0.0; var greenFrac = rgb_color.green || 0.0; var blueFrac = rgb_color.blue || 0.0; var red = Math.floor(redFrac * 255); var green = Math.floor(greenFrac * 255); var blue = Math.floor(blueFrac * 255); if (!('alpha' in rgb_color)) { return rgbToCssColor(red, green, blue); } var alphaFrac = rgb_color.alpha.value || 0.0; var rgbParams = [red, green, blue].join(','); return ['rgba(', rgbParams, ',', alphaFrac, ')'].join(''); }; var rgbToCssColor = function(red, green, blue) { var rgbNumber = new Number((red << 16) | (green << 8) | blue); var hexString = rgbNumber.toString(16); var missingZeros = 6 - hexString.length; var resultBuilder = ['#']; for (var i = 0; i < missingZeros; i++) { resultBuilder.push('0'); } resultBuilder.push(hexString); return resultBuilder.join(''); }; // ... # Output only. Badge background that pairs with the foreground. "alpha": 3.14, # The fraction of this color that should be applied to the pixel. That is, the final pixel color is defined by the equation: `pixel color = alpha * (this color) + (1.0 - alpha) * (background color)` This means that a value of 1.0 corresponds to a solid color, whereas a value of 0.0 corresponds to a completely transparent color. This uses a wrapper message rather than a simple float scalar so that it is possible to distinguish between a default value and the value being unset. If omitted, this color object is rendered as a solid color (as if the alpha value had been explicitly given a value of 1.0). "blue": 3.14, # The amount of blue in the color as a value in the interval [0, 1]. "green": 3.14, # The amount of green in the color as a value in the interval [0, 1]. "red": 3.14, # The amount of red in the color as a value in the interval [0, 1]. }, - "foregroundColor": { # Represents a color in the RGBA color space. This representation is designed for simplicity of conversion to/from color representations in various languages over compactness. For example, the fields of this representation can be trivially provided to the constructor of `java.awt.Color` in Java; it can also be trivially provided to UIColor's `+colorWithRed:green:blue:alpha` method in iOS; and, with just a little work, it can be easily formatted into a CSS `rgba()` string in JavaScript. This reference page doesn't carry information about the absolute color space that should be used to interpret the RGB value (e.g. sRGB, Adobe RGB, DCI-P3, BT.2020, etc.). By default, applications should assume the sRGB color space. When color equality needs to be decided, implementations, unless documented otherwise, treat two colors as equal if all their red, green, blue, and alpha values each differ by at most 1e-5. Example (Java): import com.google.type.Color; // ... public static java.awt.Color fromProto(Color protocolor) { float alpha = protocolor.hasAlpha() ? protocolor.getAlpha().getValue() : 1.0; return new java.awt.Color( protocolor.getRed(), protocolor.getGreen(), protocolor.getBlue(), alpha); } public static Color toProto(java.awt.Color color) { float red = (float) color.getRed(); float green = (float) color.getGreen(); float blue = (float) color.getBlue(); float denominator = 255.0; Color.Builder resultBuilder = Color .newBuilder() .setRed(red / denominator) .setGreen(green / denominator) .setBlue(blue / denominator); int alpha = color.getAlpha(); if (alpha != 255) { result.setAlpha( FloatValue .newBuilder() .setValue(((float) alpha) / denominator) .build()); } return resultBuilder.build(); } // ... Example (iOS / Obj-C): // ... static UIColor* fromProto(Color* protocolor) { float red = [protocolor red]; float green = [protocolor green]; float blue = [protocolor blue]; FloatValue* alpha_wrapper = [protocolor alpha]; float alpha = 1.0; if (alpha_wrapper != nil) { alpha = [alpha_wrapper value]; } return [UIColor colorWithRed:red green:green blue:blue alpha:alpha]; } static Color* toProto(UIColor* color) { CGFloat red, green, blue, alpha; if (![color getRed:&red green:&green blue:&blue alpha:&alpha]) { return nil; } Color* result = [[Color alloc] init]; [result setRed:red]; [result setGreen:green]; [result setBlue:blue]; if (alpha <= 0.9999) { [result setAlpha:floatWrapperWithValue(alpha)]; } [result autorelease]; return result; } // ... Example (JavaScript): // ... var protoToCssColor = function(rgb_color) { var redFrac = rgb_color.red || 0.0; var greenFrac = rgb_color.green || 0.0; var blueFrac = rgb_color.blue || 0.0; var red = Math.floor(redFrac * 255); var green = Math.floor(greenFrac * 255); var blue = Math.floor(blueFrac * 255); if (!('alpha' in rgb_color)) { return rgbToCssColor(red, green, blue); } var alphaFrac = rgb_color.alpha.value || 0.0; var rgbParams = [red, green, blue].join(','); return ['rgba(', rgbParams, ',', alphaFrac, ')'].join(''); }; var rgbToCssColor = function(red, green, blue) { var rgbNumber = new Number((red << 16) | (green << 8) | blue); var hexString = rgbNumber.toString(16); var missingZeros = 6 - hexString.length; var resultBuilder = ['#']; for (var i = 0; i < missingZeros; i++) { resultBuilder.push('0'); } resultBuilder.push(hexString); return resultBuilder.join(''); }; // ... # Output only. Badge foreground which pairs with the background + "foregroundColor": { # Represents a color in the RGBA color space. This representation is designed for simplicity of conversion to/from color representations in various languages over compactness. For example, the fields of this representation can be trivially provided to the constructor of `java.awt.Color` in Java; it can also be trivially provided to UIColor's `+colorWithRed:green:blue:alpha` method in iOS; and, with just a little work, it can be easily formatted into a CSS `rgba()` string in JavaScript. This reference page doesn't carry information about the absolute color space that should be used to interpret the RGB value (e.g. sRGB, Adobe RGB, DCI-P3, BT.2020, etc.). By default, applications should assume the sRGB color space. When color equality needs to be decided, implementations, unless documented otherwise, treat two colors as equal if all their red, green, blue, and alpha values each differ by at most 1e-5. Example (Java): import com.google.type.Color; // ... public static java.awt.Color fromProto(Color protocolor) { float alpha = protocolor.hasAlpha() ? protocolor.getAlpha().getValue() : 1.0; return new java.awt.Color( protocolor.getRed(), protocolor.getGreen(), protocolor.getBlue(), alpha); } public static Color toProto(java.awt.Color color) { float red = (float) color.getRed(); float green = (float) color.getGreen(); float blue = (float) color.getBlue(); float denominator = 255.0; Color.Builder resultBuilder = Color .newBuilder() .setRed(red / denominator) .setGreen(green / denominator) .setBlue(blue / denominator); int alpha = color.getAlpha(); if (alpha != 255) { result.setAlpha( FloatValue .newBuilder() .setValue(((float) alpha) / denominator) .build()); } return resultBuilder.build(); } // ... Example (iOS / Obj-C): // ... static UIColor* fromProto(Color* protocolor) { float red = [protocolor red]; float green = [protocolor green]; float blue = [protocolor blue]; FloatValue* alpha_wrapper = [protocolor alpha]; float alpha = 1.0; if (alpha_wrapper != nil) { alpha = [alpha_wrapper value]; } return [UIColor colorWithRed:red green:green blue:blue alpha:alpha]; } static Color* toProto(UIColor* color) { CGFloat red, green, blue, alpha; if (![color getRed:&red green:&green blue:&blue alpha:&alpha]) { return nil; } Color* result = [[Color alloc] init]; [result setRed:red]; [result setGreen:green]; [result setBlue:blue]; if (alpha <= 0.9999) { [result setAlpha:floatWrapperWithValue(alpha)]; } [result autorelease]; return result; } // ... Example (JavaScript): // ... var protoToCssColor = function(rgb_color) { var redFrac = rgb_color.red || 0.0; var greenFrac = rgb_color.green || 0.0; var blueFrac = rgb_color.blue || 0.0; var red = Math.floor(redFrac * 255); var green = Math.floor(greenFrac * 255); var blue = Math.floor(blueFrac * 255); if (!('alpha' in rgb_color)) { return rgbToCssColor(red, green, blue); } var alphaFrac = rgb_color.alpha.value || 0.0; var rgbParams = [red, green, blue].join(','); return ['rgba(', rgbParams, ',', alphaFrac, ')'].join(''); }; var rgbToCssColor = function(red, green, blue) { var rgbNumber = new Number((red << 16) | (green << 8) | blue); var hexString = rgbNumber.toString(16); var missingZeros = 6 - hexString.length; var resultBuilder = ['#']; for (var i = 0; i < missingZeros; i++) { resultBuilder.push('0'); } resultBuilder.push(hexString); return resultBuilder.join(''); }; // ... # Output only. Badge foreground that pairs with the background. "alpha": 3.14, # The fraction of this color that should be applied to the pixel. That is, the final pixel color is defined by the equation: `pixel color = alpha * (this color) + (1.0 - alpha) * (background color)` This means that a value of 1.0 corresponds to a solid color, whereas a value of 0.0 corresponds to a completely transparent color. This uses a wrapper message rather than a simple float scalar so that it is possible to distinguish between a default value and the value being unset. If omitted, this color object is rendered as a solid color (as if the alpha value had been explicitly given a value of 1.0). "blue": 3.14, # The amount of blue in the color as a value in the interval [0, 1]. "green": 3.14, # The amount of green in the color as a value in the interval [0, 1]. "red": 3.14, # The amount of red in the color as a value in the interval [0, 1]. }, - "soloColor": { # Represents a color in the RGBA color space. This representation is designed for simplicity of conversion to/from color representations in various languages over compactness. For example, the fields of this representation can be trivially provided to the constructor of `java.awt.Color` in Java; it can also be trivially provided to UIColor's `+colorWithRed:green:blue:alpha` method in iOS; and, with just a little work, it can be easily formatted into a CSS `rgba()` string in JavaScript. This reference page doesn't carry information about the absolute color space that should be used to interpret the RGB value (e.g. sRGB, Adobe RGB, DCI-P3, BT.2020, etc.). By default, applications should assume the sRGB color space. When color equality needs to be decided, implementations, unless documented otherwise, treat two colors as equal if all their red, green, blue, and alpha values each differ by at most 1e-5. Example (Java): import com.google.type.Color; // ... public static java.awt.Color fromProto(Color protocolor) { float alpha = protocolor.hasAlpha() ? protocolor.getAlpha().getValue() : 1.0; return new java.awt.Color( protocolor.getRed(), protocolor.getGreen(), protocolor.getBlue(), alpha); } public static Color toProto(java.awt.Color color) { float red = (float) color.getRed(); float green = (float) color.getGreen(); float blue = (float) color.getBlue(); float denominator = 255.0; Color.Builder resultBuilder = Color .newBuilder() .setRed(red / denominator) .setGreen(green / denominator) .setBlue(blue / denominator); int alpha = color.getAlpha(); if (alpha != 255) { result.setAlpha( FloatValue .newBuilder() .setValue(((float) alpha) / denominator) .build()); } return resultBuilder.build(); } // ... Example (iOS / Obj-C): // ... static UIColor* fromProto(Color* protocolor) { float red = [protocolor red]; float green = [protocolor green]; float blue = [protocolor blue]; FloatValue* alpha_wrapper = [protocolor alpha]; float alpha = 1.0; if (alpha_wrapper != nil) { alpha = [alpha_wrapper value]; } return [UIColor colorWithRed:red green:green blue:blue alpha:alpha]; } static Color* toProto(UIColor* color) { CGFloat red, green, blue, alpha; if (![color getRed:&red green:&green blue:&blue alpha:&alpha]) { return nil; } Color* result = [[Color alloc] init]; [result setRed:red]; [result setGreen:green]; [result setBlue:blue]; if (alpha <= 0.9999) { [result setAlpha:floatWrapperWithValue(alpha)]; } [result autorelease]; return result; } // ... Example (JavaScript): // ... var protoToCssColor = function(rgb_color) { var redFrac = rgb_color.red || 0.0; var greenFrac = rgb_color.green || 0.0; var blueFrac = rgb_color.blue || 0.0; var red = Math.floor(redFrac * 255); var green = Math.floor(greenFrac * 255); var blue = Math.floor(blueFrac * 255); if (!('alpha' in rgb_color)) { return rgbToCssColor(red, green, blue); } var alphaFrac = rgb_color.alpha.value || 0.0; var rgbParams = [red, green, blue].join(','); return ['rgba(', rgbParams, ',', alphaFrac, ')'].join(''); }; var rgbToCssColor = function(red, green, blue) { var rgbNumber = new Number((red << 16) | (green << 8) | blue); var hexString = rgbNumber.toString(16); var missingZeros = 6 - hexString.length; var resultBuilder = ['#']; for (var i = 0; i < missingZeros; i++) { resultBuilder.push('0'); } resultBuilder.push(hexString); return resultBuilder.join(''); }; // ... # Output only. Color that can be used for text without a background + "soloColor": { # Represents a color in the RGBA color space. This representation is designed for simplicity of conversion to/from color representations in various languages over compactness. For example, the fields of this representation can be trivially provided to the constructor of `java.awt.Color` in Java; it can also be trivially provided to UIColor's `+colorWithRed:green:blue:alpha` method in iOS; and, with just a little work, it can be easily formatted into a CSS `rgba()` string in JavaScript. This reference page doesn't carry information about the absolute color space that should be used to interpret the RGB value (e.g. sRGB, Adobe RGB, DCI-P3, BT.2020, etc.). By default, applications should assume the sRGB color space. When color equality needs to be decided, implementations, unless documented otherwise, treat two colors as equal if all their red, green, blue, and alpha values each differ by at most 1e-5. Example (Java): import com.google.type.Color; // ... public static java.awt.Color fromProto(Color protocolor) { float alpha = protocolor.hasAlpha() ? protocolor.getAlpha().getValue() : 1.0; return new java.awt.Color( protocolor.getRed(), protocolor.getGreen(), protocolor.getBlue(), alpha); } public static Color toProto(java.awt.Color color) { float red = (float) color.getRed(); float green = (float) color.getGreen(); float blue = (float) color.getBlue(); float denominator = 255.0; Color.Builder resultBuilder = Color .newBuilder() .setRed(red / denominator) .setGreen(green / denominator) .setBlue(blue / denominator); int alpha = color.getAlpha(); if (alpha != 255) { result.setAlpha( FloatValue .newBuilder() .setValue(((float) alpha) / denominator) .build()); } return resultBuilder.build(); } // ... Example (iOS / Obj-C): // ... static UIColor* fromProto(Color* protocolor) { float red = [protocolor red]; float green = [protocolor green]; float blue = [protocolor blue]; FloatValue* alpha_wrapper = [protocolor alpha]; float alpha = 1.0; if (alpha_wrapper != nil) { alpha = [alpha_wrapper value]; } return [UIColor colorWithRed:red green:green blue:blue alpha:alpha]; } static Color* toProto(UIColor* color) { CGFloat red, green, blue, alpha; if (![color getRed:&red green:&green blue:&blue alpha:&alpha]) { return nil; } Color* result = [[Color alloc] init]; [result setRed:red]; [result setGreen:green]; [result setBlue:blue]; if (alpha <= 0.9999) { [result setAlpha:floatWrapperWithValue(alpha)]; } [result autorelease]; return result; } // ... Example (JavaScript): // ... var protoToCssColor = function(rgb_color) { var redFrac = rgb_color.red || 0.0; var greenFrac = rgb_color.green || 0.0; var blueFrac = rgb_color.blue || 0.0; var red = Math.floor(redFrac * 255); var green = Math.floor(greenFrac * 255); var blue = Math.floor(blueFrac * 255); if (!('alpha' in rgb_color)) { return rgbToCssColor(red, green, blue); } var alphaFrac = rgb_color.alpha.value || 0.0; var rgbParams = [red, green, blue].join(','); return ['rgba(', rgbParams, ',', alphaFrac, ')'].join(''); }; var rgbToCssColor = function(red, green, blue) { var rgbNumber = new Number((red << 16) | (green << 8) | blue); var hexString = rgbNumber.toString(16); var missingZeros = 6 - hexString.length; var resultBuilder = ['#']; for (var i = 0; i < missingZeros; i++) { resultBuilder.push('0'); } resultBuilder.push(hexString); return resultBuilder.join(''); }; // ... # Output only. Color that can be used for text without a background. "alpha": 3.14, # The fraction of this color that should be applied to the pixel. That is, the final pixel color is defined by the equation: `pixel color = alpha * (this color) + (1.0 - alpha) * (background color)` This means that a value of 1.0 corresponds to a solid color, whereas a value of 0.0 corresponds to a completely transparent color. This uses a wrapper message rather than a simple float scalar so that it is possible to distinguish between a default value and the value being unset. If omitted, this color object is rendered as a solid color (as if the alpha value had been explicitly given a value of 1.0). "blue": 3.14, # The amount of blue in the color as a value in the interval [0, 1]. "green": 3.14, # The amount of green in the color as a value in the interval [0, 1]. "red": 3.14, # The amount of red in the color as a value in the interval [0, 1]. }, }, - "badgePriority": "A String", # The priority of this badge, used to compare and sort between multiple badges. A lower number means that the badge should be shown first. When a badging configuration is not present, this will be 0. Otherwise, this will be set to `BadgeConfig.priority_override` or the default heuristic which prefers creation date of the Label, and field and option priority. - "darkBadgeColors": { # The color derived from BadgeConfig and coerced to the nearest supported color. # The dark-mode color to use for the badge. Coerced to Google Material colors based on the chosen `properties.badge_config.color`. - "backgroundColor": { # Represents a color in the RGBA color space. This representation is designed for simplicity of conversion to/from color representations in various languages over compactness. For example, the fields of this representation can be trivially provided to the constructor of `java.awt.Color` in Java; it can also be trivially provided to UIColor's `+colorWithRed:green:blue:alpha` method in iOS; and, with just a little work, it can be easily formatted into a CSS `rgba()` string in JavaScript. This reference page doesn't carry information about the absolute color space that should be used to interpret the RGB value (e.g. sRGB, Adobe RGB, DCI-P3, BT.2020, etc.). By default, applications should assume the sRGB color space. When color equality needs to be decided, implementations, unless documented otherwise, treat two colors as equal if all their red, green, blue, and alpha values each differ by at most 1e-5. Example (Java): import com.google.type.Color; // ... public static java.awt.Color fromProto(Color protocolor) { float alpha = protocolor.hasAlpha() ? protocolor.getAlpha().getValue() : 1.0; return new java.awt.Color( protocolor.getRed(), protocolor.getGreen(), protocolor.getBlue(), alpha); } public static Color toProto(java.awt.Color color) { float red = (float) color.getRed(); float green = (float) color.getGreen(); float blue = (float) color.getBlue(); float denominator = 255.0; Color.Builder resultBuilder = Color .newBuilder() .setRed(red / denominator) .setGreen(green / denominator) .setBlue(blue / denominator); int alpha = color.getAlpha(); if (alpha != 255) { result.setAlpha( FloatValue .newBuilder() .setValue(((float) alpha) / denominator) .build()); } return resultBuilder.build(); } // ... Example (iOS / Obj-C): // ... static UIColor* fromProto(Color* protocolor) { float red = [protocolor red]; float green = [protocolor green]; float blue = [protocolor blue]; FloatValue* alpha_wrapper = [protocolor alpha]; float alpha = 1.0; if (alpha_wrapper != nil) { alpha = [alpha_wrapper value]; } return [UIColor colorWithRed:red green:green blue:blue alpha:alpha]; } static Color* toProto(UIColor* color) { CGFloat red, green, blue, alpha; if (![color getRed:&red green:&green blue:&blue alpha:&alpha]) { return nil; } Color* result = [[Color alloc] init]; [result setRed:red]; [result setGreen:green]; [result setBlue:blue]; if (alpha <= 0.9999) { [result setAlpha:floatWrapperWithValue(alpha)]; } [result autorelease]; return result; } // ... Example (JavaScript): // ... var protoToCssColor = function(rgb_color) { var redFrac = rgb_color.red || 0.0; var greenFrac = rgb_color.green || 0.0; var blueFrac = rgb_color.blue || 0.0; var red = Math.floor(redFrac * 255); var green = Math.floor(greenFrac * 255); var blue = Math.floor(blueFrac * 255); if (!('alpha' in rgb_color)) { return rgbToCssColor(red, green, blue); } var alphaFrac = rgb_color.alpha.value || 0.0; var rgbParams = [red, green, blue].join(','); return ['rgba(', rgbParams, ',', alphaFrac, ')'].join(''); }; var rgbToCssColor = function(red, green, blue) { var rgbNumber = new Number((red << 16) | (green << 8) | blue); var hexString = rgbNumber.toString(16); var missingZeros = 6 - hexString.length; var resultBuilder = ['#']; for (var i = 0; i < missingZeros; i++) { resultBuilder.push('0'); } resultBuilder.push(hexString); return resultBuilder.join(''); }; // ... # Output only. Badge background which pairs with the foreground + "badgePriority": "A String", # The priority of this badge. Used to compare and sort between multiple badges. A lower number means the badge should be shown first. When a badging configuration is not present, this will be 0. Otherwise, this will be set to `BadgeConfig.priority_override` or the default heuristic which prefers creation date of the label, and field and option priority. + "darkBadgeColors": { # The color derived from BadgeConfig and changed to the closest recommended supported color. # The dark-mode color to use for the badge. Changed to Google Material colors based on the chosen `properties.badge_config.color`. + "backgroundColor": { # Represents a color in the RGBA color space. This representation is designed for simplicity of conversion to/from color representations in various languages over compactness. For example, the fields of this representation can be trivially provided to the constructor of `java.awt.Color` in Java; it can also be trivially provided to UIColor's `+colorWithRed:green:blue:alpha` method in iOS; and, with just a little work, it can be easily formatted into a CSS `rgba()` string in JavaScript. This reference page doesn't carry information about the absolute color space that should be used to interpret the RGB value (e.g. sRGB, Adobe RGB, DCI-P3, BT.2020, etc.). By default, applications should assume the sRGB color space. When color equality needs to be decided, implementations, unless documented otherwise, treat two colors as equal if all their red, green, blue, and alpha values each differ by at most 1e-5. Example (Java): import com.google.type.Color; // ... public static java.awt.Color fromProto(Color protocolor) { float alpha = protocolor.hasAlpha() ? protocolor.getAlpha().getValue() : 1.0; return new java.awt.Color( protocolor.getRed(), protocolor.getGreen(), protocolor.getBlue(), alpha); } public static Color toProto(java.awt.Color color) { float red = (float) color.getRed(); float green = (float) color.getGreen(); float blue = (float) color.getBlue(); float denominator = 255.0; Color.Builder resultBuilder = Color .newBuilder() .setRed(red / denominator) .setGreen(green / denominator) .setBlue(blue / denominator); int alpha = color.getAlpha(); if (alpha != 255) { result.setAlpha( FloatValue .newBuilder() .setValue(((float) alpha) / denominator) .build()); } return resultBuilder.build(); } // ... Example (iOS / Obj-C): // ... static UIColor* fromProto(Color* protocolor) { float red = [protocolor red]; float green = [protocolor green]; float blue = [protocolor blue]; FloatValue* alpha_wrapper = [protocolor alpha]; float alpha = 1.0; if (alpha_wrapper != nil) { alpha = [alpha_wrapper value]; } return [UIColor colorWithRed:red green:green blue:blue alpha:alpha]; } static Color* toProto(UIColor* color) { CGFloat red, green, blue, alpha; if (![color getRed:&red green:&green blue:&blue alpha:&alpha]) { return nil; } Color* result = [[Color alloc] init]; [result setRed:red]; [result setGreen:green]; [result setBlue:blue]; if (alpha <= 0.9999) { [result setAlpha:floatWrapperWithValue(alpha)]; } [result autorelease]; return result; } // ... Example (JavaScript): // ... var protoToCssColor = function(rgb_color) { var redFrac = rgb_color.red || 0.0; var greenFrac = rgb_color.green || 0.0; var blueFrac = rgb_color.blue || 0.0; var red = Math.floor(redFrac * 255); var green = Math.floor(greenFrac * 255); var blue = Math.floor(blueFrac * 255); if (!('alpha' in rgb_color)) { return rgbToCssColor(red, green, blue); } var alphaFrac = rgb_color.alpha.value || 0.0; var rgbParams = [red, green, blue].join(','); return ['rgba(', rgbParams, ',', alphaFrac, ')'].join(''); }; var rgbToCssColor = function(red, green, blue) { var rgbNumber = new Number((red << 16) | (green << 8) | blue); var hexString = rgbNumber.toString(16); var missingZeros = 6 - hexString.length; var resultBuilder = ['#']; for (var i = 0; i < missingZeros; i++) { resultBuilder.push('0'); } resultBuilder.push(hexString); return resultBuilder.join(''); }; // ... # Output only. Badge background that pairs with the foreground. "alpha": 3.14, # The fraction of this color that should be applied to the pixel. That is, the final pixel color is defined by the equation: `pixel color = alpha * (this color) + (1.0 - alpha) * (background color)` This means that a value of 1.0 corresponds to a solid color, whereas a value of 0.0 corresponds to a completely transparent color. This uses a wrapper message rather than a simple float scalar so that it is possible to distinguish between a default value and the value being unset. If omitted, this color object is rendered as a solid color (as if the alpha value had been explicitly given a value of 1.0). "blue": 3.14, # The amount of blue in the color as a value in the interval [0, 1]. "green": 3.14, # The amount of green in the color as a value in the interval [0, 1]. "red": 3.14, # The amount of red in the color as a value in the interval [0, 1]. }, - "foregroundColor": { # Represents a color in the RGBA color space. This representation is designed for simplicity of conversion to/from color representations in various languages over compactness. For example, the fields of this representation can be trivially provided to the constructor of `java.awt.Color` in Java; it can also be trivially provided to UIColor's `+colorWithRed:green:blue:alpha` method in iOS; and, with just a little work, it can be easily formatted into a CSS `rgba()` string in JavaScript. This reference page doesn't carry information about the absolute color space that should be used to interpret the RGB value (e.g. sRGB, Adobe RGB, DCI-P3, BT.2020, etc.). By default, applications should assume the sRGB color space. When color equality needs to be decided, implementations, unless documented otherwise, treat two colors as equal if all their red, green, blue, and alpha values each differ by at most 1e-5. Example (Java): import com.google.type.Color; // ... public static java.awt.Color fromProto(Color protocolor) { float alpha = protocolor.hasAlpha() ? protocolor.getAlpha().getValue() : 1.0; return new java.awt.Color( protocolor.getRed(), protocolor.getGreen(), protocolor.getBlue(), alpha); } public static Color toProto(java.awt.Color color) { float red = (float) color.getRed(); float green = (float) color.getGreen(); float blue = (float) color.getBlue(); float denominator = 255.0; Color.Builder resultBuilder = Color .newBuilder() .setRed(red / denominator) .setGreen(green / denominator) .setBlue(blue / denominator); int alpha = color.getAlpha(); if (alpha != 255) { result.setAlpha( FloatValue .newBuilder() .setValue(((float) alpha) / denominator) .build()); } return resultBuilder.build(); } // ... Example (iOS / Obj-C): // ... static UIColor* fromProto(Color* protocolor) { float red = [protocolor red]; float green = [protocolor green]; float blue = [protocolor blue]; FloatValue* alpha_wrapper = [protocolor alpha]; float alpha = 1.0; if (alpha_wrapper != nil) { alpha = [alpha_wrapper value]; } return [UIColor colorWithRed:red green:green blue:blue alpha:alpha]; } static Color* toProto(UIColor* color) { CGFloat red, green, blue, alpha; if (![color getRed:&red green:&green blue:&blue alpha:&alpha]) { return nil; } Color* result = [[Color alloc] init]; [result setRed:red]; [result setGreen:green]; [result setBlue:blue]; if (alpha <= 0.9999) { [result setAlpha:floatWrapperWithValue(alpha)]; } [result autorelease]; return result; } // ... Example (JavaScript): // ... var protoToCssColor = function(rgb_color) { var redFrac = rgb_color.red || 0.0; var greenFrac = rgb_color.green || 0.0; var blueFrac = rgb_color.blue || 0.0; var red = Math.floor(redFrac * 255); var green = Math.floor(greenFrac * 255); var blue = Math.floor(blueFrac * 255); if (!('alpha' in rgb_color)) { return rgbToCssColor(red, green, blue); } var alphaFrac = rgb_color.alpha.value || 0.0; var rgbParams = [red, green, blue].join(','); return ['rgba(', rgbParams, ',', alphaFrac, ')'].join(''); }; var rgbToCssColor = function(red, green, blue) { var rgbNumber = new Number((red << 16) | (green << 8) | blue); var hexString = rgbNumber.toString(16); var missingZeros = 6 - hexString.length; var resultBuilder = ['#']; for (var i = 0; i < missingZeros; i++) { resultBuilder.push('0'); } resultBuilder.push(hexString); return resultBuilder.join(''); }; // ... # Output only. Badge foreground which pairs with the background + "foregroundColor": { # Represents a color in the RGBA color space. This representation is designed for simplicity of conversion to/from color representations in various languages over compactness. For example, the fields of this representation can be trivially provided to the constructor of `java.awt.Color` in Java; it can also be trivially provided to UIColor's `+colorWithRed:green:blue:alpha` method in iOS; and, with just a little work, it can be easily formatted into a CSS `rgba()` string in JavaScript. This reference page doesn't carry information about the absolute color space that should be used to interpret the RGB value (e.g. sRGB, Adobe RGB, DCI-P3, BT.2020, etc.). By default, applications should assume the sRGB color space. When color equality needs to be decided, implementations, unless documented otherwise, treat two colors as equal if all their red, green, blue, and alpha values each differ by at most 1e-5. Example (Java): import com.google.type.Color; // ... public static java.awt.Color fromProto(Color protocolor) { float alpha = protocolor.hasAlpha() ? protocolor.getAlpha().getValue() : 1.0; return new java.awt.Color( protocolor.getRed(), protocolor.getGreen(), protocolor.getBlue(), alpha); } public static Color toProto(java.awt.Color color) { float red = (float) color.getRed(); float green = (float) color.getGreen(); float blue = (float) color.getBlue(); float denominator = 255.0; Color.Builder resultBuilder = Color .newBuilder() .setRed(red / denominator) .setGreen(green / denominator) .setBlue(blue / denominator); int alpha = color.getAlpha(); if (alpha != 255) { result.setAlpha( FloatValue .newBuilder() .setValue(((float) alpha) / denominator) .build()); } return resultBuilder.build(); } // ... Example (iOS / Obj-C): // ... static UIColor* fromProto(Color* protocolor) { float red = [protocolor red]; float green = [protocolor green]; float blue = [protocolor blue]; FloatValue* alpha_wrapper = [protocolor alpha]; float alpha = 1.0; if (alpha_wrapper != nil) { alpha = [alpha_wrapper value]; } return [UIColor colorWithRed:red green:green blue:blue alpha:alpha]; } static Color* toProto(UIColor* color) { CGFloat red, green, blue, alpha; if (![color getRed:&red green:&green blue:&blue alpha:&alpha]) { return nil; } Color* result = [[Color alloc] init]; [result setRed:red]; [result setGreen:green]; [result setBlue:blue]; if (alpha <= 0.9999) { [result setAlpha:floatWrapperWithValue(alpha)]; } [result autorelease]; return result; } // ... Example (JavaScript): // ... var protoToCssColor = function(rgb_color) { var redFrac = rgb_color.red || 0.0; var greenFrac = rgb_color.green || 0.0; var blueFrac = rgb_color.blue || 0.0; var red = Math.floor(redFrac * 255); var green = Math.floor(greenFrac * 255); var blue = Math.floor(blueFrac * 255); if (!('alpha' in rgb_color)) { return rgbToCssColor(red, green, blue); } var alphaFrac = rgb_color.alpha.value || 0.0; var rgbParams = [red, green, blue].join(','); return ['rgba(', rgbParams, ',', alphaFrac, ')'].join(''); }; var rgbToCssColor = function(red, green, blue) { var rgbNumber = new Number((red << 16) | (green << 8) | blue); var hexString = rgbNumber.toString(16); var missingZeros = 6 - hexString.length; var resultBuilder = ['#']; for (var i = 0; i < missingZeros; i++) { resultBuilder.push('0'); } resultBuilder.push(hexString); return resultBuilder.join(''); }; // ... # Output only. Badge foreground that pairs with the background. "alpha": 3.14, # The fraction of this color that should be applied to the pixel. That is, the final pixel color is defined by the equation: `pixel color = alpha * (this color) + (1.0 - alpha) * (background color)` This means that a value of 1.0 corresponds to a solid color, whereas a value of 0.0 corresponds to a completely transparent color. This uses a wrapper message rather than a simple float scalar so that it is possible to distinguish between a default value and the value being unset. If omitted, this color object is rendered as a solid color (as if the alpha value had been explicitly given a value of 1.0). "blue": 3.14, # The amount of blue in the color as a value in the interval [0, 1]. "green": 3.14, # The amount of green in the color as a value in the interval [0, 1]. "red": 3.14, # The amount of red in the color as a value in the interval [0, 1]. }, - "soloColor": { # Represents a color in the RGBA color space. This representation is designed for simplicity of conversion to/from color representations in various languages over compactness. For example, the fields of this representation can be trivially provided to the constructor of `java.awt.Color` in Java; it can also be trivially provided to UIColor's `+colorWithRed:green:blue:alpha` method in iOS; and, with just a little work, it can be easily formatted into a CSS `rgba()` string in JavaScript. This reference page doesn't carry information about the absolute color space that should be used to interpret the RGB value (e.g. sRGB, Adobe RGB, DCI-P3, BT.2020, etc.). By default, applications should assume the sRGB color space. When color equality needs to be decided, implementations, unless documented otherwise, treat two colors as equal if all their red, green, blue, and alpha values each differ by at most 1e-5. Example (Java): import com.google.type.Color; // ... public static java.awt.Color fromProto(Color protocolor) { float alpha = protocolor.hasAlpha() ? protocolor.getAlpha().getValue() : 1.0; return new java.awt.Color( protocolor.getRed(), protocolor.getGreen(), protocolor.getBlue(), alpha); } public static Color toProto(java.awt.Color color) { float red = (float) color.getRed(); float green = (float) color.getGreen(); float blue = (float) color.getBlue(); float denominator = 255.0; Color.Builder resultBuilder = Color .newBuilder() .setRed(red / denominator) .setGreen(green / denominator) .setBlue(blue / denominator); int alpha = color.getAlpha(); if (alpha != 255) { result.setAlpha( FloatValue .newBuilder() .setValue(((float) alpha) / denominator) .build()); } return resultBuilder.build(); } // ... Example (iOS / Obj-C): // ... static UIColor* fromProto(Color* protocolor) { float red = [protocolor red]; float green = [protocolor green]; float blue = [protocolor blue]; FloatValue* alpha_wrapper = [protocolor alpha]; float alpha = 1.0; if (alpha_wrapper != nil) { alpha = [alpha_wrapper value]; } return [UIColor colorWithRed:red green:green blue:blue alpha:alpha]; } static Color* toProto(UIColor* color) { CGFloat red, green, blue, alpha; if (![color getRed:&red green:&green blue:&blue alpha:&alpha]) { return nil; } Color* result = [[Color alloc] init]; [result setRed:red]; [result setGreen:green]; [result setBlue:blue]; if (alpha <= 0.9999) { [result setAlpha:floatWrapperWithValue(alpha)]; } [result autorelease]; return result; } // ... Example (JavaScript): // ... var protoToCssColor = function(rgb_color) { var redFrac = rgb_color.red || 0.0; var greenFrac = rgb_color.green || 0.0; var blueFrac = rgb_color.blue || 0.0; var red = Math.floor(redFrac * 255); var green = Math.floor(greenFrac * 255); var blue = Math.floor(blueFrac * 255); if (!('alpha' in rgb_color)) { return rgbToCssColor(red, green, blue); } var alphaFrac = rgb_color.alpha.value || 0.0; var rgbParams = [red, green, blue].join(','); return ['rgba(', rgbParams, ',', alphaFrac, ')'].join(''); }; var rgbToCssColor = function(red, green, blue) { var rgbNumber = new Number((red << 16) | (green << 8) | blue); var hexString = rgbNumber.toString(16); var missingZeros = 6 - hexString.length; var resultBuilder = ['#']; for (var i = 0; i < missingZeros; i++) { resultBuilder.push('0'); } resultBuilder.push(hexString); return resultBuilder.join(''); }; // ... # Output only. Color that can be used for text without a background + "soloColor": { # Represents a color in the RGBA color space. This representation is designed for simplicity of conversion to/from color representations in various languages over compactness. For example, the fields of this representation can be trivially provided to the constructor of `java.awt.Color` in Java; it can also be trivially provided to UIColor's `+colorWithRed:green:blue:alpha` method in iOS; and, with just a little work, it can be easily formatted into a CSS `rgba()` string in JavaScript. This reference page doesn't carry information about the absolute color space that should be used to interpret the RGB value (e.g. sRGB, Adobe RGB, DCI-P3, BT.2020, etc.). By default, applications should assume the sRGB color space. When color equality needs to be decided, implementations, unless documented otherwise, treat two colors as equal if all their red, green, blue, and alpha values each differ by at most 1e-5. Example (Java): import com.google.type.Color; // ... public static java.awt.Color fromProto(Color protocolor) { float alpha = protocolor.hasAlpha() ? protocolor.getAlpha().getValue() : 1.0; return new java.awt.Color( protocolor.getRed(), protocolor.getGreen(), protocolor.getBlue(), alpha); } public static Color toProto(java.awt.Color color) { float red = (float) color.getRed(); float green = (float) color.getGreen(); float blue = (float) color.getBlue(); float denominator = 255.0; Color.Builder resultBuilder = Color .newBuilder() .setRed(red / denominator) .setGreen(green / denominator) .setBlue(blue / denominator); int alpha = color.getAlpha(); if (alpha != 255) { result.setAlpha( FloatValue .newBuilder() .setValue(((float) alpha) / denominator) .build()); } return resultBuilder.build(); } // ... Example (iOS / Obj-C): // ... static UIColor* fromProto(Color* protocolor) { float red = [protocolor red]; float green = [protocolor green]; float blue = [protocolor blue]; FloatValue* alpha_wrapper = [protocolor alpha]; float alpha = 1.0; if (alpha_wrapper != nil) { alpha = [alpha_wrapper value]; } return [UIColor colorWithRed:red green:green blue:blue alpha:alpha]; } static Color* toProto(UIColor* color) { CGFloat red, green, blue, alpha; if (![color getRed:&red green:&green blue:&blue alpha:&alpha]) { return nil; } Color* result = [[Color alloc] init]; [result setRed:red]; [result setGreen:green]; [result setBlue:blue]; if (alpha <= 0.9999) { [result setAlpha:floatWrapperWithValue(alpha)]; } [result autorelease]; return result; } // ... Example (JavaScript): // ... var protoToCssColor = function(rgb_color) { var redFrac = rgb_color.red || 0.0; var greenFrac = rgb_color.green || 0.0; var blueFrac = rgb_color.blue || 0.0; var red = Math.floor(redFrac * 255); var green = Math.floor(greenFrac * 255); var blue = Math.floor(blueFrac * 255); if (!('alpha' in rgb_color)) { return rgbToCssColor(red, green, blue); } var alphaFrac = rgb_color.alpha.value || 0.0; var rgbParams = [red, green, blue].join(','); return ['rgba(', rgbParams, ',', alphaFrac, ')'].join(''); }; var rgbToCssColor = function(red, green, blue) { var rgbNumber = new Number((red << 16) | (green << 8) | blue); var hexString = rgbNumber.toString(16); var missingZeros = 6 - hexString.length; var resultBuilder = ['#']; for (var i = 0; i < missingZeros; i++) { resultBuilder.push('0'); } resultBuilder.push(hexString); return resultBuilder.join(''); }; // ... # Output only. Color that can be used for text without a background. "alpha": 3.14, # The fraction of this color that should be applied to the pixel. That is, the final pixel color is defined by the equation: `pixel color = alpha * (this color) + (1.0 - alpha) * (background color)` This means that a value of 1.0 corresponds to a solid color, whereas a value of 0.0 corresponds to a completely transparent color. This uses a wrapper message rather than a simple float scalar so that it is possible to distinguish between a default value and the value being unset. If omitted, this color object is rendered as a solid color (as if the alpha value had been explicitly given a value of 1.0). "blue": 3.14, # The amount of blue in the color as a value in the interval [0, 1]. "green": 3.14, # The amount of green in the color as a value in the interval [0, 1]. @@ -260,52 +260,52 @@

Method Details

}, }, "disabled": True or False, # Whether the option should be shown in the UI as disabled. - "hiddenInSearch": True or False, # This option should be hidden in the search menu. - "shownInApply": True or False, # This option should be shown in the menu when applying values to a Drive item. + "hiddenInSearch": True or False, # This option should be hidden in the search menu when searching for Drive items. + "shownInApply": True or False, # This option should be shown in the apply menu when applying values to a Drive item. }, - "id": "A String", # The unique value of the Choice. This ID will be autogenerated, and will match the form `([a-zA-Z0-9_])+`. - "lifecycle": { # The lifecycle state of an object, e.g. Label, Field, or Choice. The Lifecycle enforces the following transitions: * `UNPUBLISHED_DRAFT` (starting state) * `UNPUBLISHED_DRAFT` -> `PUBLISHED` * `UNPUBLISHED_DRAFT` -> (Deleted) * `PUBLISHED` -> `DISABLED` * `DISABLED` -> `PUBLISHED` * `DISABLED` -> (Deleted) The published and disabled states have some distinct characteristics: * Published - Some kinds of changes may be made to an object in this state, in which case `has_unpublished_changes` will be true. Some kinds of changes are not permitted. Generally, any change that would invalidate or cause new restrictions on existing metadata related to the Label will be rejected. * Disabled - When disabled, the configured `DisabledPolicy` will take effect. # Output only. Lifecycle of the Choice. + "id": "A String", # The unique value of the choice. This ID is autogenerated. Matches the regex: `([a-zA-Z0-9_])+`. + "lifecycle": { # The lifecycle state of an object, such as label, field, or choice. The lifecycle enforces the following transitions: * `UNPUBLISHED_DRAFT` (starting state) * `UNPUBLISHED_DRAFT` -> `PUBLISHED` * `UNPUBLISHED_DRAFT` -> (Deleted) * `PUBLISHED` -> `DISABLED` * `DISABLED` -> `PUBLISHED` * `DISABLED` -> (Deleted) The published and disabled states have some distinct characteristics: * Published—Some kinds of changes might be made to an object in this state, in which case `has_unpublished_changes` will be true. Also, some kinds of changes are not permitted. Generally, any change that would invalidate or cause new restrictions on existing metadata related to the label are rejected. * Disabled—When disabled, the configured `DisabledPolicy` takes effect. # Output only. Lifecycle of the choice. "disabledPolicy": { # The policy that governs how to treat a disabled label, field, or selection choice in different contexts. # The policy that governs how to show a disabled label, field, or selection choice. - "hideInSearch": True or False, # Whether to hide this disabled object in the search menu for Drive items. * When `false` the object will generally be shown in the UI as disabled (but still permit searching) when searching for Drive items. * When `true` the object will generally be hidden in the UI when searching for Drive items. - "showInApply": True or False, # Whether to show this disabled object in the apply menu on Drive items. * When `true` the object will generally be shown in the UI as disabled and is unselectable. * When `false` the object will generally be hidden in the UI. + "hideInSearch": True or False, # Whether to hide this disabled object in the search menu for Drive items. * When `false`, the object is generally shown in the UI as disabled but it appears in the search results when searching for Drive items. * When `true`, the object is generally hidden in the UI when searching for Drive items. + "showInApply": True or False, # Whether to show this disabled object in the apply menu on Drive items. * When `true`, the object is generally shown in the UI as disabled and is unselectable. * When `false`, the object is generally hidden in the UI. }, "hasUnpublishedChanges": True or False, # Output only. Whether the object associated with this lifecycle has unpublished changes. "state": "A String", # Output only. The state of the object associated with this lifecycle. }, - "lockStatus": { # Contains information about whether a label component should be considered locked. # Output only. The LockStatus of this Choice. - "locked": True or False, # Output only. Indicates whether this label component is the (direct) target of a LabelLock. A label component may be implicitly locked even if it is not the direct target of a LabelLock, in which case this field will be false. + "lockStatus": { # Contains information about whether a label component should be considered locked. # Output only. The LockStatus of this choice. + "locked": True or False, # Output only. Indicates whether this label component is the (direct) target of a LabelLock. A label component can be implicitly locked even if it's not the direct target of a LabelLock, in which case this field is set to false. }, - "properties": { # Basic properties of the Choice. # Basic properties of the Choice. - "badgeConfig": { # Badge status of the label. # The badge configuration for this Choice. When set, the Label that owns this Choice will be considered a "badged label". - "color": { # Represents a color in the RGBA color space. This representation is designed for simplicity of conversion to/from color representations in various languages over compactness. For example, the fields of this representation can be trivially provided to the constructor of `java.awt.Color` in Java; it can also be trivially provided to UIColor's `+colorWithRed:green:blue:alpha` method in iOS; and, with just a little work, it can be easily formatted into a CSS `rgba()` string in JavaScript. This reference page doesn't carry information about the absolute color space that should be used to interpret the RGB value (e.g. sRGB, Adobe RGB, DCI-P3, BT.2020, etc.). By default, applications should assume the sRGB color space. When color equality needs to be decided, implementations, unless documented otherwise, treat two colors as equal if all their red, green, blue, and alpha values each differ by at most 1e-5. Example (Java): import com.google.type.Color; // ... public static java.awt.Color fromProto(Color protocolor) { float alpha = protocolor.hasAlpha() ? protocolor.getAlpha().getValue() : 1.0; return new java.awt.Color( protocolor.getRed(), protocolor.getGreen(), protocolor.getBlue(), alpha); } public static Color toProto(java.awt.Color color) { float red = (float) color.getRed(); float green = (float) color.getGreen(); float blue = (float) color.getBlue(); float denominator = 255.0; Color.Builder resultBuilder = Color .newBuilder() .setRed(red / denominator) .setGreen(green / denominator) .setBlue(blue / denominator); int alpha = color.getAlpha(); if (alpha != 255) { result.setAlpha( FloatValue .newBuilder() .setValue(((float) alpha) / denominator) .build()); } return resultBuilder.build(); } // ... Example (iOS / Obj-C): // ... static UIColor* fromProto(Color* protocolor) { float red = [protocolor red]; float green = [protocolor green]; float blue = [protocolor blue]; FloatValue* alpha_wrapper = [protocolor alpha]; float alpha = 1.0; if (alpha_wrapper != nil) { alpha = [alpha_wrapper value]; } return [UIColor colorWithRed:red green:green blue:blue alpha:alpha]; } static Color* toProto(UIColor* color) { CGFloat red, green, blue, alpha; if (![color getRed:&red green:&green blue:&blue alpha:&alpha]) { return nil; } Color* result = [[Color alloc] init]; [result setRed:red]; [result setGreen:green]; [result setBlue:blue]; if (alpha <= 0.9999) { [result setAlpha:floatWrapperWithValue(alpha)]; } [result autorelease]; return result; } // ... Example (JavaScript): // ... var protoToCssColor = function(rgb_color) { var redFrac = rgb_color.red || 0.0; var greenFrac = rgb_color.green || 0.0; var blueFrac = rgb_color.blue || 0.0; var red = Math.floor(redFrac * 255); var green = Math.floor(greenFrac * 255); var blue = Math.floor(blueFrac * 255); if (!('alpha' in rgb_color)) { return rgbToCssColor(red, green, blue); } var alphaFrac = rgb_color.alpha.value || 0.0; var rgbParams = [red, green, blue].join(','); return ['rgba(', rgbParams, ',', alphaFrac, ')'].join(''); }; var rgbToCssColor = function(red, green, blue) { var rgbNumber = new Number((red << 16) | (green << 8) | blue); var hexString = rgbNumber.toString(16); var missingZeros = 6 - hexString.length; var resultBuilder = ['#']; for (var i = 0; i < missingZeros; i++) { resultBuilder.push('0'); } resultBuilder.push(hexString); return resultBuilder.join(''); }; // ... # The color of the badge. When not specified, no badge will be rendered. This color will be coerced into the closest recommended supported color. + "properties": { # Basic properties of the choice. # Basic properties of the choice. + "badgeConfig": { # Badge status of the label. # The badge configuration for this choice. When set, the label that owns this choice is considered a "badged label". + "color": { # Represents a color in the RGBA color space. This representation is designed for simplicity of conversion to/from color representations in various languages over compactness. For example, the fields of this representation can be trivially provided to the constructor of `java.awt.Color` in Java; it can also be trivially provided to UIColor's `+colorWithRed:green:blue:alpha` method in iOS; and, with just a little work, it can be easily formatted into a CSS `rgba()` string in JavaScript. This reference page doesn't carry information about the absolute color space that should be used to interpret the RGB value (e.g. sRGB, Adobe RGB, DCI-P3, BT.2020, etc.). By default, applications should assume the sRGB color space. When color equality needs to be decided, implementations, unless documented otherwise, treat two colors as equal if all their red, green, blue, and alpha values each differ by at most 1e-5. Example (Java): import com.google.type.Color; // ... public static java.awt.Color fromProto(Color protocolor) { float alpha = protocolor.hasAlpha() ? protocolor.getAlpha().getValue() : 1.0; return new java.awt.Color( protocolor.getRed(), protocolor.getGreen(), protocolor.getBlue(), alpha); } public static Color toProto(java.awt.Color color) { float red = (float) color.getRed(); float green = (float) color.getGreen(); float blue = (float) color.getBlue(); float denominator = 255.0; Color.Builder resultBuilder = Color .newBuilder() .setRed(red / denominator) .setGreen(green / denominator) .setBlue(blue / denominator); int alpha = color.getAlpha(); if (alpha != 255) { result.setAlpha( FloatValue .newBuilder() .setValue(((float) alpha) / denominator) .build()); } return resultBuilder.build(); } // ... Example (iOS / Obj-C): // ... static UIColor* fromProto(Color* protocolor) { float red = [protocolor red]; float green = [protocolor green]; float blue = [protocolor blue]; FloatValue* alpha_wrapper = [protocolor alpha]; float alpha = 1.0; if (alpha_wrapper != nil) { alpha = [alpha_wrapper value]; } return [UIColor colorWithRed:red green:green blue:blue alpha:alpha]; } static Color* toProto(UIColor* color) { CGFloat red, green, blue, alpha; if (![color getRed:&red green:&green blue:&blue alpha:&alpha]) { return nil; } Color* result = [[Color alloc] init]; [result setRed:red]; [result setGreen:green]; [result setBlue:blue]; if (alpha <= 0.9999) { [result setAlpha:floatWrapperWithValue(alpha)]; } [result autorelease]; return result; } // ... Example (JavaScript): // ... var protoToCssColor = function(rgb_color) { var redFrac = rgb_color.red || 0.0; var greenFrac = rgb_color.green || 0.0; var blueFrac = rgb_color.blue || 0.0; var red = Math.floor(redFrac * 255); var green = Math.floor(greenFrac * 255); var blue = Math.floor(blueFrac * 255); if (!('alpha' in rgb_color)) { return rgbToCssColor(red, green, blue); } var alphaFrac = rgb_color.alpha.value || 0.0; var rgbParams = [red, green, blue].join(','); return ['rgba(', rgbParams, ',', alphaFrac, ')'].join(''); }; var rgbToCssColor = function(red, green, blue) { var rgbNumber = new Number((red << 16) | (green << 8) | blue); var hexString = rgbNumber.toString(16); var missingZeros = 6 - hexString.length; var resultBuilder = ['#']; for (var i = 0; i < missingZeros; i++) { resultBuilder.push('0'); } resultBuilder.push(hexString); return resultBuilder.join(''); }; // ... # The color of the badge. When not specified, no badge is rendered. The background, foreground, and solo (light and dark mode) colors set here are changed in the Drive UI into the closest recommended supported color. "alpha": 3.14, # The fraction of this color that should be applied to the pixel. That is, the final pixel color is defined by the equation: `pixel color = alpha * (this color) + (1.0 - alpha) * (background color)` This means that a value of 1.0 corresponds to a solid color, whereas a value of 0.0 corresponds to a completely transparent color. This uses a wrapper message rather than a simple float scalar so that it is possible to distinguish between a default value and the value being unset. If omitted, this color object is rendered as a solid color (as if the alpha value had been explicitly given a value of 1.0). "blue": 3.14, # The amount of blue in the color as a value in the interval [0, 1]. "green": 3.14, # The amount of green in the color as a value in the interval [0, 1]. "red": 3.14, # The amount of red in the color as a value in the interval [0, 1]. }, - "priorityOverride": "A String", # Override the default global priority of this badge. When set to 0, the default priority heuristic will be used. + "priorityOverride": "A String", # Override the default global priority of this badge. When set to 0, the default priority heuristic is used. }, - "description": "A String", # The description of this Label. + "description": "A String", # The description of this label. "displayName": "A String", # Required. The display text to show in the UI identifying this field. - "insertBeforeChoice": "A String", # Input only. Insert or move this Choice to be ordered before the indicated Choice. If empty, the Choice will be placed at the end of the list. + "insertBeforeChoice": "A String", # Input only. Insert or move this choice before the indicated choice. If empty, the choice is placed at the end of the list. }, - "publishTime": "A String", # Output only. The time this Choice was published. This value has no meaning when the Choice is not published. - "publisher": { # Information about a user. # Output only. The user who published this Choice. This value has no meaning when the Choice is not published. - "person": "A String", # The identifier for this user who can be used with the People API to get more information. e.g. people/12345678 + "publishTime": "A String", # Output only. The time this choice was published. This value has no meaning when the choice is not published. + "publisher": { # Information about a user. # Output only. The user who published this choice. This value has no meaning when the choice is not published. + "person": "A String", # The identifier for this user that can be used with the People API to get more information. For example, people/12345678. }, - "schemaCapabilities": { # The capabilities related to this Choice when editing the Choice. # Output only. The capabilities related to this option when editing the option. - "canDelete": True or False, # Whether the user can delete this Choice. - "canDisable": True or False, # Whether the user can disable this Chioce. - "canEnable": True or False, # Whether the user can enable this Choice. - "canUpdate": True or False, # Whether the user can update this Choice. + "schemaCapabilities": { # The capabilities related to this choice when editing the choice. # Output only. The capabilities related to this option when editing the option. + "canDelete": True or False, # Whether the user can delete this choice. + "canDisable": True or False, # Whether the user can disable this choice. + "canEnable": True or False, # Whether the user can enable this choice. + "canUpdate": True or False, # Whether the user can update this choice. }, - "updateTime": "A String", # Output only. The time this Choice was updated last. - "updater": { # Information about a user. # Output only. The user who updated this Choice last. - "person": "A String", # The identifier for this user who can be used with the People API to get more information. e.g. people/12345678 + "updateTime": "A String", # Output only. The time this choice was updated last. + "updater": { # Information about a user. # Output only. The user who updated this choice last. + "person": "A String", # The identifier for this user that can be used with the People API to get more information. For example, people/12345678. }, }, ], - "listOptions": { # Options for a multi-valued variant of an associated field type. # When specified, indicates that this field support a list of values. Once the field is published, this cannot be changed. + "listOptions": { # Options for a multi-valued variant of an associated field type. # When specified, indicates this field supports a list of values. Once the field is published, this cannot be changed. "maxEntries": 42, # Maximum number of entries permitted. }, }, @@ -315,70 +315,70 @@

Method Details

}, "updateTime": "A String", # Output only. The time this field was updated. "updater": { # Information about a user. # Output only. The user who modified this field. - "person": "A String", # The identifier for this user who can be used with the People API to get more information. e.g. people/12345678 + "person": "A String", # The identifier for this user that can be used with the People API to get more information. For example, people/12345678. }, "userOptions": { # Options for the user field type. # User field options. - "listOptions": { # Options for a multi-valued variant of an associated field type. # When specified, indicates that this field support a list of values. Once the field is published, this cannot be changed. + "listOptions": { # Options for a multi-valued variant of an associated field type. # When specified, indicates that this field supports a list of values. Once the field is published, this cannot be changed. "maxEntries": 42, # Maximum number of entries permitted. }, }, }, ], - "id": "A String", # Output only. Globally unique identifier of this Label. ID makes up part of the Label `name`, but unlike `name`, ID is consistent between revisions. Matches the regex: `([a-zA-Z0-9])+` - "labelType": "A String", # Required. The type of this label. + "id": "A String", # Output only. Globally unique identifier of this label. ID makes up part of the label `name`, but unlike `name`, ID is consistent between revisions. Matches the regex: `([a-zA-Z0-9])+` + "labelType": "A String", # Required. The type of label. "learnMoreUri": "A String", # Custom URL to present to users to allow them to learn more about this label and how it should be used. - "lifecycle": { # The lifecycle state of an object, e.g. Label, Field, or Choice. The Lifecycle enforces the following transitions: * `UNPUBLISHED_DRAFT` (starting state) * `UNPUBLISHED_DRAFT` -> `PUBLISHED` * `UNPUBLISHED_DRAFT` -> (Deleted) * `PUBLISHED` -> `DISABLED` * `DISABLED` -> `PUBLISHED` * `DISABLED` -> (Deleted) The published and disabled states have some distinct characteristics: * Published - Some kinds of changes may be made to an object in this state, in which case `has_unpublished_changes` will be true. Some kinds of changes are not permitted. Generally, any change that would invalidate or cause new restrictions on existing metadata related to the Label will be rejected. * Disabled - When disabled, the configured `DisabledPolicy` will take effect. # Output only. The lifecycle state of the label including whether it's published, deprecated, and has draft changes. + "lifecycle": { # The lifecycle state of an object, such as label, field, or choice. The lifecycle enforces the following transitions: * `UNPUBLISHED_DRAFT` (starting state) * `UNPUBLISHED_DRAFT` -> `PUBLISHED` * `UNPUBLISHED_DRAFT` -> (Deleted) * `PUBLISHED` -> `DISABLED` * `DISABLED` -> `PUBLISHED` * `DISABLED` -> (Deleted) The published and disabled states have some distinct characteristics: * Published—Some kinds of changes might be made to an object in this state, in which case `has_unpublished_changes` will be true. Also, some kinds of changes are not permitted. Generally, any change that would invalidate or cause new restrictions on existing metadata related to the label are rejected. * Disabled—When disabled, the configured `DisabledPolicy` takes effect. # Output only. The lifecycle state of the label including whether it's published, deprecated, and has draft changes. "disabledPolicy": { # The policy that governs how to treat a disabled label, field, or selection choice in different contexts. # The policy that governs how to show a disabled label, field, or selection choice. - "hideInSearch": True or False, # Whether to hide this disabled object in the search menu for Drive items. * When `false` the object will generally be shown in the UI as disabled (but still permit searching) when searching for Drive items. * When `true` the object will generally be hidden in the UI when searching for Drive items. - "showInApply": True or False, # Whether to show this disabled object in the apply menu on Drive items. * When `true` the object will generally be shown in the UI as disabled and is unselectable. * When `false` the object will generally be hidden in the UI. + "hideInSearch": True or False, # Whether to hide this disabled object in the search menu for Drive items. * When `false`, the object is generally shown in the UI as disabled but it appears in the search results when searching for Drive items. * When `true`, the object is generally hidden in the UI when searching for Drive items. + "showInApply": True or False, # Whether to show this disabled object in the apply menu on Drive items. * When `true`, the object is generally shown in the UI as disabled and is unselectable. * When `false`, the object is generally hidden in the UI. }, "hasUnpublishedChanges": True or False, # Output only. Whether the object associated with this lifecycle has unpublished changes. "state": "A String", # Output only. The state of the object associated with this lifecycle. }, "lockStatus": { # Contains information about whether a label component should be considered locked. # Output only. The LockStatus of this label. - "locked": True or False, # Output only. Indicates whether this label component is the (direct) target of a LabelLock. A label component may be implicitly locked even if it is not the direct target of a LabelLock, in which case this field will be false. + "locked": True or False, # Output only. Indicates whether this label component is the (direct) target of a LabelLock. A label component can be implicitly locked even if it's not the direct target of a LabelLock, in which case this field is set to false. }, - "name": "A String", # Output only. Resource name of the Label. Will be in the form of either: `labels/{id}` or `labels/{id}@{revision_id}` depending on the request. See `id` and `revision_id` below. - "properties": { # Basic properties of the Label. # Required. The basic properties of the Label. - "description": "A String", # The description of this Label. - "title": "A String", # Required. Title of the Label. + "name": "A String", # Output only. Resource name of the label. Will be in the form of either: `labels/{id}` or `labels/{id}@{revision_id}` depending on the request. See `id` and `revision_id` below. + "properties": { # Basic properties of the label. # Required. The basic properties of the label. + "description": "A String", # The description of the label. + "title": "A String", # Required. Title of the label. }, "publishTime": "A String", # Output only. The time this label was published. This value has no meaning when the label is not published. "publisher": { # Information about a user. # Output only. The user who published this label. This value has no meaning when the label is not published. - "person": "A String", # The identifier for this user who can be used with the People API to get more information. e.g. people/12345678 + "person": "A String", # The identifier for this user that can be used with the People API to get more information. For example, people/12345678. }, "revisionCreateTime": "A String", # Output only. The time this label revision was created. "revisionCreator": { # Information about a user. # Output only. The user who created this label revision. - "person": "A String", # The identifier for this user who can be used with the People API to get more information. e.g. people/12345678 + "person": "A String", # The identifier for this user that can be used with the People API to get more information. For example, people/12345678. }, - "revisionId": "A String", # Output only. Revision ID of the Label. Revision ID may be part of the Label `name` depending on the request issued. A new revision is created whenever revisioned properties of a Label are changed. Matches the regex: `([a-zA-Z0-9])+` - "schemaCapabilities": { # The capabilities related to this Label when editing the Label. # Output only. The capabilities the user has on this Label. - "canDelete": True or False, # Whether the user can delete this Label. The user must have permission and the Label must be disabled. - "canDisable": True or False, # Whether the user can disable this Label. The user must have permission and this Label must not already be disabled. - "canEnable": True or False, # Whether the user can enable this Label. The user must have permission and this Label must be disabled. - "canUpdate": True or False, # Whether the user can change this Label. + "revisionId": "A String", # Output only. Revision ID of the label. Revision ID might be part of the label `name` depending on the request issued. A new revision is created whenever revisioned properties of a label are changed. Matches the regex: `([a-zA-Z0-9])+` + "schemaCapabilities": { # The capabilities related to this label when editing the label. # Output only. The capabilities the user has on this label. + "canDelete": True or False, # Whether the user can delete this label. The user must have permission and the label must be disabled. + "canDisable": True or False, # Whether the user can disable this label. The user must have permission and this label must not already be disabled. + "canEnable": True or False, # Whether the user can enable this label. The user must have permission and this label must be disabled. + "canUpdate": True or False, # Whether the user can change this label. }, }
list(languageCode=None, minimumRole=None, pageSize=None, pageToken=None, publishedOnly=None, useAdminAccess=None, view=None, x__xgafv=None) -
-------------------------------------------------------------------------- ## Label APIs --------------------------------------------------------------- List Labels.
+  
List labels.
 
 Args:
-  languageCode: string, The BCP-47 language code to use for evaluating localized field labels. When not specified, values in the default configured language will be used.
+  languageCode: string, The BCP-47 language code to use for evaluating localized field labels. When not specified, values in the default configured language are used.
   minimumRole: string, Specifies the level of access the user must have on the returned Labels. The minimum role a user must have on a label. Defaults to `READER`.
     Allowed values
       LABEL_ROLE_UNSPECIFIED - Unknown role.
-      READER - A reader can read the Label and associated metadata applied to Drive items.
+      READER - A reader can read the label and associated metadata applied to Drive items.
       APPLIER - An applier can write associated metadata on Drive items in which they also have write access to. Implies `READER`.
-      ORGANIZER - An organizer is allowed to pin this label in shared drives they manage and add new appliers to the label.
-      EDITOR - Editors may make any updates including deleting the Label which will also delete associated Drive item metadata. Implies `APPLIER`.
-  pageSize: integer, Maximum number of Labels to return per page. Default: 50. Max: 200.
+      ORGANIZER - An organizer can pin this label in shared drives they manage and add new appliers to the label.
+      EDITOR - Editors can make any update including deleting the label which also deletes the associated Drive item metadata. Implies `APPLIER`.
+  pageSize: integer, Maximum number of labels to return per page. Default: 50. Max: 200.
   pageToken: string, The token of the page to return.
-  publishedOnly: boolean, Whether to include only published labels in the results. * When `true`, only the current published label revisions will be returned. Disabled labels will be included. Returned Label resource names will reference the published revision (`labels/{id}/{revision_id}`). * When `false`, the current label revisions will be returned, which may not by published. Returned Label resource names will not reference a specific revision (`labels/{id}`).
+  publishedOnly: boolean, Whether to include only published labels in the results. * When `true`, only the current published label revisions are returned. Disabled labels are included. Returned label resource names reference the published revision (`labels/{id}/{revision_id}`). * When `false`, the current label revisions are returned, which might not be published. Returned label resource names don't reference a specific revision (`labels/{id}`).
   useAdminAccess: boolean, Set to `true` in order to use the user's admin credentials. This will return all Labels within the customer.
-  view: string, When specified, only certain fields belonging to the indicated view will be returned.
+  view: string, When specified, only certain fields belonging to the indicated view are returned.
     Allowed values
       LABEL_VIEW_BASIC - Implies the field mask: `name,id,revision_id,label_type,properties.*`
       LABEL_VIEW_FULL - All possible fields.
@@ -392,43 +392,43 @@ 

Method Details

{ # Response for listing Labels. "labels": [ # Labels. - { # A Label defines a taxonomy which may be applied to a Drive items in order to organize and search across Items. Labels may be simple strings, or may contain Fields that describe additional metadata which can be further used to organize and search Drive items. - "appliedCapabilities": { # The capabilities a user has on this Label's applied metadata. # Output only. The capabilities related to this label on applied metadata. - "canApply": True or False, # Whether the user can apply this Label to items. + { # A label defines a taxonomy that can be applied to Drive items in order to organize and search across items. Labels can be simple strings, or can contain fields that describe additional metadata that can be further used to organize and search Drive items. + "appliedCapabilities": { # The capabilities a user has on this label's applied metadata. # Output only. The capabilities related to this label on applied metadata. + "canApply": True or False, # Whether the user can apply this label to items. "canRead": True or False, # Whether the user can read applied metadata related to this label. - "canRemove": True or False, # Whether the user can remove this Label from items. + "canRemove": True or False, # Whether the user can remove this label from items. }, - "appliedLabelPolicy": { # Behavior of this Label when its applied to Drive items. # Output only. Behavior of this Label when its applied to Drive items. - "copyMode": "A String", # Indicates how the applied Label, and Field values should be copied when a Drive item is copied. + "appliedLabelPolicy": { # Behavior of this label when it's applied to Drive items. # Output only. Behavior of this label when it's applied to Drive items. + "copyMode": "A String", # Indicates how the applied label and field values should be copied when a Drive item is copied. }, "createTime": "A String", # Output only. The time this label was created. "creator": { # Information about a user. # Output only. The user who created this label. - "person": "A String", # The identifier for this user who can be used with the People API to get more information. e.g. people/12345678 + "person": "A String", # The identifier for this user that can be used with the People API to get more information. For example, people/12345678. }, "disableTime": "A String", # Output only. The time this label was disabled. This value has no meaning when the label is not disabled. "disabler": { # Information about a user. # Output only. The user who disabled this label. This value has no meaning when the label is not disabled. - "person": "A String", # The identifier for this user who can be used with the People API to get more information. e.g. people/12345678 + "person": "A String", # The identifier for this user that can be used with the People API to get more information. For example, people/12345678. }, - "displayHints": { # UI Display hints for rendering the Label. # Output only. UI Display hints for rendering the Label. - "disabled": True or False, # Whether the Label should be shown in the UI as disabled. - "hiddenInSearch": True or False, # This Label should be hidden in the search menu when searching for Drive items. - "priority": "A String", # Order to display label in a list - "shownInApply": True or False, # This Label should be shown in the apply menu. + "displayHints": { # UI display hints for rendering the label. # Output only. UI display hints for rendering the label. + "disabled": True or False, # Whether the label should be shown in the UI as disabled. + "hiddenInSearch": True or False, # This label should be hidden in the search menu when searching for Drive items. + "priority": "A String", # Order to display label in a list. + "shownInApply": True or False, # This label should be shown in the apply menu when applying values to a Drive item. }, - "fields": [ # List of Fields in descending priority order. - { # Defines a field which has a display name, data type, and other configuration options. This field defines the kind of metadata that may be set on a Drive item. - "appliedCapabilities": { # The capabilities related to this field on applied metadata. # Output only. The capabilities this user has on this Field and its value when the Label is applied on Drive items. + "fields": [ # List of fields in descending priority order. + { # Defines a field that has a display name, data type, and other configuration options. This field defines the kind of metadata that may be set on a Drive item. + "appliedCapabilities": { # The capabilities related to this field on applied metadata. # Output only. The capabilities this user has on this field and its value when the label is applied on Drive items. "canRead": True or False, # Whether the user can read related applied metadata on items. - "canSearch": True or False, # Whether the user can search for drive items referencing this field. - "canWrite": True or False, # Whether the user can set this field on drive items. + "canSearch": True or False, # Whether the user can search for Drive items referencing this field. + "canWrite": True or False, # Whether the user can set this field on Drive items. }, "createTime": "A String", # Output only. The time this field was created. "creator": { # Information about a user. # Output only. The user who created this field. - "person": "A String", # The identifier for this user who can be used with the People API to get more information. e.g. people/12345678 + "person": "A String", # The identifier for this user that can be used with the People API to get more information. For example, people/12345678. }, "dateOptions": { # Options for the date field type. # Date field options. - "dateFormat": "A String", # Output only. ICU Date format. - "dateFormatType": "A String", # Localized date formatting option. Field values will be rendered in this format according to their locale. + "dateFormat": "A String", # Output only. ICU date format. + "dateFormatType": "A String", # Localized date formatting option. Field values are rendered in this format according to their locale. "maxValue": { # Represents a whole or partial calendar date, such as a birthday. The time of day and time zone are either specified elsewhere or are insignificant. The date is relative to the Gregorian Calendar. This can represent one of the following: * A full date, with non-zero year, month, and day values. * A month and day, with a zero year (for example, an anniversary). * A year on its own, with a zero month and a zero day. * A year and month, with a zero day (for example, a credit card expiration date). Related types: * google.type.TimeOfDay * google.type.DateTime * google.protobuf.Timestamp # Output only. Maximum valid value (year, month, day). "day": 42, # Day of a month. Must be from 1 to 31 and valid for the year and month, or 0 to specify a year by itself or a year and month where the day isn't significant. "month": 42, # Month of a year. Must be from 1 to 12, or 0 to specify a year without a month and day. @@ -442,97 +442,97 @@

Method Details

}, "disableTime": "A String", # Output only. The time this field was disabled. This value has no meaning when the field is not disabled. "disabler": { # Information about a user. # Output only. The user who disabled this field. This value has no meaning when the field is not disabled. - "person": "A String", # The identifier for this user who can be used with the People API to get more information. e.g. people/12345678 + "person": "A String", # The identifier for this user that can be used with the People API to get more information. For example, people/12345678. }, - "displayHints": { # UI Display hints for rendering a Field. # Output only. UI Display hints for rendering a Field. + "displayHints": { # UI display hints for rendering a field. # Output only. UI display hints for rendering a field. "disabled": True or False, # Whether the field should be shown in the UI as disabled. - "hiddenInSearch": True or False, # This Field should be hidden in the search menu. - "required": True or False, # Whether the Field should be shown as required in the UI. - "shownInApply": True or False, # This Field should be shown when applying values to a Drive item. + "hiddenInSearch": True or False, # This field should be hidden in the search menu when searching for Drive items. + "required": True or False, # Whether the field should be shown as required in the UI. + "shownInApply": True or False, # This field should be shown in the apply menu when applying values to a Drive item. }, - "id": "A String", # Output only. The key of a field, unique within a Label or Library. This value is autogenerated, and will match the form `([a-zA-Z0-9_])+ + "id": "A String", # Output only. The key of a field, unique within a label or library. This value is autogenerated. Matches the regex: `([a-zA-Z0-9])+` "integerOptions": { # Options for the Integer field type. # Integer field options. "maxValue": "A String", # Output only. The maximum valid value for the integer field. "minValue": "A String", # Output only. The minimum valid value for the integer field. }, - "lifecycle": { # The lifecycle state of an object, e.g. Label, Field, or Choice. The Lifecycle enforces the following transitions: * `UNPUBLISHED_DRAFT` (starting state) * `UNPUBLISHED_DRAFT` -> `PUBLISHED` * `UNPUBLISHED_DRAFT` -> (Deleted) * `PUBLISHED` -> `DISABLED` * `DISABLED` -> `PUBLISHED` * `DISABLED` -> (Deleted) The published and disabled states have some distinct characteristics: * Published - Some kinds of changes may be made to an object in this state, in which case `has_unpublished_changes` will be true. Some kinds of changes are not permitted. Generally, any change that would invalidate or cause new restrictions on existing metadata related to the Label will be rejected. * Disabled - When disabled, the configured `DisabledPolicy` will take effect. # Output only. The lifecycle of this Field. + "lifecycle": { # The lifecycle state of an object, such as label, field, or choice. The lifecycle enforces the following transitions: * `UNPUBLISHED_DRAFT` (starting state) * `UNPUBLISHED_DRAFT` -> `PUBLISHED` * `UNPUBLISHED_DRAFT` -> (Deleted) * `PUBLISHED` -> `DISABLED` * `DISABLED` -> `PUBLISHED` * `DISABLED` -> (Deleted) The published and disabled states have some distinct characteristics: * Published—Some kinds of changes might be made to an object in this state, in which case `has_unpublished_changes` will be true. Also, some kinds of changes are not permitted. Generally, any change that would invalidate or cause new restrictions on existing metadata related to the label are rejected. * Disabled—When disabled, the configured `DisabledPolicy` takes effect. # Output only. The lifecycle of this field. "disabledPolicy": { # The policy that governs how to treat a disabled label, field, or selection choice in different contexts. # The policy that governs how to show a disabled label, field, or selection choice. - "hideInSearch": True or False, # Whether to hide this disabled object in the search menu for Drive items. * When `false` the object will generally be shown in the UI as disabled (but still permit searching) when searching for Drive items. * When `true` the object will generally be hidden in the UI when searching for Drive items. - "showInApply": True or False, # Whether to show this disabled object in the apply menu on Drive items. * When `true` the object will generally be shown in the UI as disabled and is unselectable. * When `false` the object will generally be hidden in the UI. + "hideInSearch": True or False, # Whether to hide this disabled object in the search menu for Drive items. * When `false`, the object is generally shown in the UI as disabled but it appears in the search results when searching for Drive items. * When `true`, the object is generally hidden in the UI when searching for Drive items. + "showInApply": True or False, # Whether to show this disabled object in the apply menu on Drive items. * When `true`, the object is generally shown in the UI as disabled and is unselectable. * When `false`, the object is generally hidden in the UI. }, "hasUnpublishedChanges": True or False, # Output only. Whether the object associated with this lifecycle has unpublished changes. "state": "A String", # Output only. The state of the object associated with this lifecycle. }, "lockStatus": { # Contains information about whether a label component should be considered locked. # Output only. The LockStatus of this field. - "locked": True or False, # Output only. Indicates whether this label component is the (direct) target of a LabelLock. A label component may be implicitly locked even if it is not the direct target of a LabelLock, in which case this field will be false. + "locked": True or False, # Output only. Indicates whether this label component is the (direct) target of a LabelLock. A label component can be implicitly locked even if it's not the direct target of a LabelLock, in which case this field is set to false. }, "properties": { # The basic properties of the field. # The basic properties of the field. "displayName": "A String", # Required. The display text to show in the UI identifying this field. - "insertBeforeField": "A String", # Input only. Insert or move this Field to be ordered before the indicated Field. If empty, the Field will be placed at the end of the list. + "insertBeforeField": "A String", # Input only. Insert or move this field before the indicated field. If empty, the field is placed at the end of the list. "required": True or False, # Whether the field should be marked as required. }, "publisher": { # Information about a user. # Output only. The user who published this field. This value has no meaning when the field is not published. - "person": "A String", # The identifier for this user who can be used with the People API to get more information. e.g. people/12345678 + "person": "A String", # The identifier for this user that can be used with the People API to get more information. For example, people/12345678. }, - "queryKey": "A String", # Output only. The key to use when constructing Drive search queries to find files based on values defined for this Field on files. For example: "`{query_key}` > 2001-01-01" - "schemaCapabilities": { # The capabilities related to this Field when editing the Field. # Output only. The capabilities this user has when editing this Field - "canDelete": True or False, # Whether the user can delete this Field. The user must have permissions and the Field must be deprecated. - "canDisable": True or False, # Whether the user can disable this Field. The user must have permissions and this Field must not already be disabled. - "canEnable": True or False, # Whether the user can enable this Field. The user must have permissions and this Field must be disabled. + "queryKey": "A String", # Output only. The key to use when constructing Drive search queries to find files based on values defined for this field on files. For example, "`{query_key}` > 2001-01-01". + "schemaCapabilities": { # The capabilities related to this field when editing the field. # Output only. The capabilities this user has when editing this field. + "canDelete": True or False, # Whether the user can delete this field. The user must have permission and the field must be deprecated. + "canDisable": True or False, # Whether the user can disable this field. The user must have permission and this field must not already be disabled. + "canEnable": True or False, # Whether the user can enable this field. The user must have permission and this field must be disabled. "canUpdate": True or False, # Whether the user can change this field. }, "selectionOptions": { # Options for the selection field type. # Selection field options. "choices": [ # The options available for this selection field. The list order is consistent, and modified with `insert_before_choice`. - { # Selection field Choice. - "appliedCapabilities": { # The capabilities related to this Choice on applied metadata. # Output only. The capabilities related to this Choice on applied metadata. + { # Selection field choice. + "appliedCapabilities": { # The capabilities related to this choice on applied metadata. # Output only. The capabilities related to this choice on applied metadata. "canRead": True or False, # Whether the user can read related applied metadata on items. - "canSearch": True or False, # Whether the user can use this Choice in search queries. - "canSelect": True or False, # Whether the user can select this Choice on an item. + "canSearch": True or False, # Whether the user can use this choice in search queries. + "canSelect": True or False, # Whether the user can select this choice on an item. }, - "createTime": "A String", # Output only. The time this Choice was created. - "creator": { # Information about a user. # Output only. The user who created this Choice. - "person": "A String", # The identifier for this user who can be used with the People API to get more information. e.g. people/12345678 + "createTime": "A String", # Output only. The time this choice was created. + "creator": { # Information about a user. # Output only. The user who created this choice. + "person": "A String", # The identifier for this user that can be used with the People API to get more information. For example, people/12345678. }, - "disableTime": "A String", # Output only. The time this Choice was disabled. This value has no meaning when the Choice is not disabled. - "disabler": { # Information about a user. # Output only. The user who disabled this Choice. This value has no meaning when the option is not disabled. - "person": "A String", # The identifier for this user who can be used with the People API to get more information. e.g. people/12345678 + "disableTime": "A String", # Output only. The time this choice was disabled. This value has no meaning when the choice is not disabled. + "disabler": { # Information about a user. # Output only. The user who disabled this choice. This value has no meaning when the option is not disabled. + "person": "A String", # The identifier for this user that can be used with the People API to get more information. For example, people/12345678. }, - "displayHints": { # UI Display hints for rendering a Option. # Output only. UI Display hints for rendering a Choice. - "badgeColors": { # The color derived from BadgeConfig and coerced to the nearest supported color. # The colors to use for the badge. Coerced to Google Material colors based on the chosen `properties.badge_config.color`. - "backgroundColor": { # Represents a color in the RGBA color space. This representation is designed for simplicity of conversion to/from color representations in various languages over compactness. For example, the fields of this representation can be trivially provided to the constructor of `java.awt.Color` in Java; it can also be trivially provided to UIColor's `+colorWithRed:green:blue:alpha` method in iOS; and, with just a little work, it can be easily formatted into a CSS `rgba()` string in JavaScript. This reference page doesn't carry information about the absolute color space that should be used to interpret the RGB value (e.g. sRGB, Adobe RGB, DCI-P3, BT.2020, etc.). By default, applications should assume the sRGB color space. When color equality needs to be decided, implementations, unless documented otherwise, treat two colors as equal if all their red, green, blue, and alpha values each differ by at most 1e-5. Example (Java): import com.google.type.Color; // ... public static java.awt.Color fromProto(Color protocolor) { float alpha = protocolor.hasAlpha() ? protocolor.getAlpha().getValue() : 1.0; return new java.awt.Color( protocolor.getRed(), protocolor.getGreen(), protocolor.getBlue(), alpha); } public static Color toProto(java.awt.Color color) { float red = (float) color.getRed(); float green = (float) color.getGreen(); float blue = (float) color.getBlue(); float denominator = 255.0; Color.Builder resultBuilder = Color .newBuilder() .setRed(red / denominator) .setGreen(green / denominator) .setBlue(blue / denominator); int alpha = color.getAlpha(); if (alpha != 255) { result.setAlpha( FloatValue .newBuilder() .setValue(((float) alpha) / denominator) .build()); } return resultBuilder.build(); } // ... Example (iOS / Obj-C): // ... static UIColor* fromProto(Color* protocolor) { float red = [protocolor red]; float green = [protocolor green]; float blue = [protocolor blue]; FloatValue* alpha_wrapper = [protocolor alpha]; float alpha = 1.0; if (alpha_wrapper != nil) { alpha = [alpha_wrapper value]; } return [UIColor colorWithRed:red green:green blue:blue alpha:alpha]; } static Color* toProto(UIColor* color) { CGFloat red, green, blue, alpha; if (![color getRed:&red green:&green blue:&blue alpha:&alpha]) { return nil; } Color* result = [[Color alloc] init]; [result setRed:red]; [result setGreen:green]; [result setBlue:blue]; if (alpha <= 0.9999) { [result setAlpha:floatWrapperWithValue(alpha)]; } [result autorelease]; return result; } // ... Example (JavaScript): // ... var protoToCssColor = function(rgb_color) { var redFrac = rgb_color.red || 0.0; var greenFrac = rgb_color.green || 0.0; var blueFrac = rgb_color.blue || 0.0; var red = Math.floor(redFrac * 255); var green = Math.floor(greenFrac * 255); var blue = Math.floor(blueFrac * 255); if (!('alpha' in rgb_color)) { return rgbToCssColor(red, green, blue); } var alphaFrac = rgb_color.alpha.value || 0.0; var rgbParams = [red, green, blue].join(','); return ['rgba(', rgbParams, ',', alphaFrac, ')'].join(''); }; var rgbToCssColor = function(red, green, blue) { var rgbNumber = new Number((red << 16) | (green << 8) | blue); var hexString = rgbNumber.toString(16); var missingZeros = 6 - hexString.length; var resultBuilder = ['#']; for (var i = 0; i < missingZeros; i++) { resultBuilder.push('0'); } resultBuilder.push(hexString); return resultBuilder.join(''); }; // ... # Output only. Badge background which pairs with the foreground + "displayHints": { # UI display hints for rendering an option. # Output only. UI display hints for rendering a choice. + "badgeColors": { # The color derived from BadgeConfig and changed to the closest recommended supported color. # The colors to use for the badge. Changed to Google Material colors based on the chosen `properties.badge_config.color`. + "backgroundColor": { # Represents a color in the RGBA color space. This representation is designed for simplicity of conversion to/from color representations in various languages over compactness. For example, the fields of this representation can be trivially provided to the constructor of `java.awt.Color` in Java; it can also be trivially provided to UIColor's `+colorWithRed:green:blue:alpha` method in iOS; and, with just a little work, it can be easily formatted into a CSS `rgba()` string in JavaScript. This reference page doesn't carry information about the absolute color space that should be used to interpret the RGB value (e.g. sRGB, Adobe RGB, DCI-P3, BT.2020, etc.). By default, applications should assume the sRGB color space. When color equality needs to be decided, implementations, unless documented otherwise, treat two colors as equal if all their red, green, blue, and alpha values each differ by at most 1e-5. Example (Java): import com.google.type.Color; // ... public static java.awt.Color fromProto(Color protocolor) { float alpha = protocolor.hasAlpha() ? protocolor.getAlpha().getValue() : 1.0; return new java.awt.Color( protocolor.getRed(), protocolor.getGreen(), protocolor.getBlue(), alpha); } public static Color toProto(java.awt.Color color) { float red = (float) color.getRed(); float green = (float) color.getGreen(); float blue = (float) color.getBlue(); float denominator = 255.0; Color.Builder resultBuilder = Color .newBuilder() .setRed(red / denominator) .setGreen(green / denominator) .setBlue(blue / denominator); int alpha = color.getAlpha(); if (alpha != 255) { result.setAlpha( FloatValue .newBuilder() .setValue(((float) alpha) / denominator) .build()); } return resultBuilder.build(); } // ... Example (iOS / Obj-C): // ... static UIColor* fromProto(Color* protocolor) { float red = [protocolor red]; float green = [protocolor green]; float blue = [protocolor blue]; FloatValue* alpha_wrapper = [protocolor alpha]; float alpha = 1.0; if (alpha_wrapper != nil) { alpha = [alpha_wrapper value]; } return [UIColor colorWithRed:red green:green blue:blue alpha:alpha]; } static Color* toProto(UIColor* color) { CGFloat red, green, blue, alpha; if (![color getRed:&red green:&green blue:&blue alpha:&alpha]) { return nil; } Color* result = [[Color alloc] init]; [result setRed:red]; [result setGreen:green]; [result setBlue:blue]; if (alpha <= 0.9999) { [result setAlpha:floatWrapperWithValue(alpha)]; } [result autorelease]; return result; } // ... Example (JavaScript): // ... var protoToCssColor = function(rgb_color) { var redFrac = rgb_color.red || 0.0; var greenFrac = rgb_color.green || 0.0; var blueFrac = rgb_color.blue || 0.0; var red = Math.floor(redFrac * 255); var green = Math.floor(greenFrac * 255); var blue = Math.floor(blueFrac * 255); if (!('alpha' in rgb_color)) { return rgbToCssColor(red, green, blue); } var alphaFrac = rgb_color.alpha.value || 0.0; var rgbParams = [red, green, blue].join(','); return ['rgba(', rgbParams, ',', alphaFrac, ')'].join(''); }; var rgbToCssColor = function(red, green, blue) { var rgbNumber = new Number((red << 16) | (green << 8) | blue); var hexString = rgbNumber.toString(16); var missingZeros = 6 - hexString.length; var resultBuilder = ['#']; for (var i = 0; i < missingZeros; i++) { resultBuilder.push('0'); } resultBuilder.push(hexString); return resultBuilder.join(''); }; // ... # Output only. Badge background that pairs with the foreground. "alpha": 3.14, # The fraction of this color that should be applied to the pixel. That is, the final pixel color is defined by the equation: `pixel color = alpha * (this color) + (1.0 - alpha) * (background color)` This means that a value of 1.0 corresponds to a solid color, whereas a value of 0.0 corresponds to a completely transparent color. This uses a wrapper message rather than a simple float scalar so that it is possible to distinguish between a default value and the value being unset. If omitted, this color object is rendered as a solid color (as if the alpha value had been explicitly given a value of 1.0). "blue": 3.14, # The amount of blue in the color as a value in the interval [0, 1]. "green": 3.14, # The amount of green in the color as a value in the interval [0, 1]. "red": 3.14, # The amount of red in the color as a value in the interval [0, 1]. }, - "foregroundColor": { # Represents a color in the RGBA color space. This representation is designed for simplicity of conversion to/from color representations in various languages over compactness. For example, the fields of this representation can be trivially provided to the constructor of `java.awt.Color` in Java; it can also be trivially provided to UIColor's `+colorWithRed:green:blue:alpha` method in iOS; and, with just a little work, it can be easily formatted into a CSS `rgba()` string in JavaScript. This reference page doesn't carry information about the absolute color space that should be used to interpret the RGB value (e.g. sRGB, Adobe RGB, DCI-P3, BT.2020, etc.). By default, applications should assume the sRGB color space. When color equality needs to be decided, implementations, unless documented otherwise, treat two colors as equal if all their red, green, blue, and alpha values each differ by at most 1e-5. Example (Java): import com.google.type.Color; // ... public static java.awt.Color fromProto(Color protocolor) { float alpha = protocolor.hasAlpha() ? protocolor.getAlpha().getValue() : 1.0; return new java.awt.Color( protocolor.getRed(), protocolor.getGreen(), protocolor.getBlue(), alpha); } public static Color toProto(java.awt.Color color) { float red = (float) color.getRed(); float green = (float) color.getGreen(); float blue = (float) color.getBlue(); float denominator = 255.0; Color.Builder resultBuilder = Color .newBuilder() .setRed(red / denominator) .setGreen(green / denominator) .setBlue(blue / denominator); int alpha = color.getAlpha(); if (alpha != 255) { result.setAlpha( FloatValue .newBuilder() .setValue(((float) alpha) / denominator) .build()); } return resultBuilder.build(); } // ... Example (iOS / Obj-C): // ... static UIColor* fromProto(Color* protocolor) { float red = [protocolor red]; float green = [protocolor green]; float blue = [protocolor blue]; FloatValue* alpha_wrapper = [protocolor alpha]; float alpha = 1.0; if (alpha_wrapper != nil) { alpha = [alpha_wrapper value]; } return [UIColor colorWithRed:red green:green blue:blue alpha:alpha]; } static Color* toProto(UIColor* color) { CGFloat red, green, blue, alpha; if (![color getRed:&red green:&green blue:&blue alpha:&alpha]) { return nil; } Color* result = [[Color alloc] init]; [result setRed:red]; [result setGreen:green]; [result setBlue:blue]; if (alpha <= 0.9999) { [result setAlpha:floatWrapperWithValue(alpha)]; } [result autorelease]; return result; } // ... Example (JavaScript): // ... var protoToCssColor = function(rgb_color) { var redFrac = rgb_color.red || 0.0; var greenFrac = rgb_color.green || 0.0; var blueFrac = rgb_color.blue || 0.0; var red = Math.floor(redFrac * 255); var green = Math.floor(greenFrac * 255); var blue = Math.floor(blueFrac * 255); if (!('alpha' in rgb_color)) { return rgbToCssColor(red, green, blue); } var alphaFrac = rgb_color.alpha.value || 0.0; var rgbParams = [red, green, blue].join(','); return ['rgba(', rgbParams, ',', alphaFrac, ')'].join(''); }; var rgbToCssColor = function(red, green, blue) { var rgbNumber = new Number((red << 16) | (green << 8) | blue); var hexString = rgbNumber.toString(16); var missingZeros = 6 - hexString.length; var resultBuilder = ['#']; for (var i = 0; i < missingZeros; i++) { resultBuilder.push('0'); } resultBuilder.push(hexString); return resultBuilder.join(''); }; // ... # Output only. Badge foreground which pairs with the background + "foregroundColor": { # Represents a color in the RGBA color space. This representation is designed for simplicity of conversion to/from color representations in various languages over compactness. For example, the fields of this representation can be trivially provided to the constructor of `java.awt.Color` in Java; it can also be trivially provided to UIColor's `+colorWithRed:green:blue:alpha` method in iOS; and, with just a little work, it can be easily formatted into a CSS `rgba()` string in JavaScript. This reference page doesn't carry information about the absolute color space that should be used to interpret the RGB value (e.g. sRGB, Adobe RGB, DCI-P3, BT.2020, etc.). By default, applications should assume the sRGB color space. When color equality needs to be decided, implementations, unless documented otherwise, treat two colors as equal if all their red, green, blue, and alpha values each differ by at most 1e-5. Example (Java): import com.google.type.Color; // ... public static java.awt.Color fromProto(Color protocolor) { float alpha = protocolor.hasAlpha() ? protocolor.getAlpha().getValue() : 1.0; return new java.awt.Color( protocolor.getRed(), protocolor.getGreen(), protocolor.getBlue(), alpha); } public static Color toProto(java.awt.Color color) { float red = (float) color.getRed(); float green = (float) color.getGreen(); float blue = (float) color.getBlue(); float denominator = 255.0; Color.Builder resultBuilder = Color .newBuilder() .setRed(red / denominator) .setGreen(green / denominator) .setBlue(blue / denominator); int alpha = color.getAlpha(); if (alpha != 255) { result.setAlpha( FloatValue .newBuilder() .setValue(((float) alpha) / denominator) .build()); } return resultBuilder.build(); } // ... Example (iOS / Obj-C): // ... static UIColor* fromProto(Color* protocolor) { float red = [protocolor red]; float green = [protocolor green]; float blue = [protocolor blue]; FloatValue* alpha_wrapper = [protocolor alpha]; float alpha = 1.0; if (alpha_wrapper != nil) { alpha = [alpha_wrapper value]; } return [UIColor colorWithRed:red green:green blue:blue alpha:alpha]; } static Color* toProto(UIColor* color) { CGFloat red, green, blue, alpha; if (![color getRed:&red green:&green blue:&blue alpha:&alpha]) { return nil; } Color* result = [[Color alloc] init]; [result setRed:red]; [result setGreen:green]; [result setBlue:blue]; if (alpha <= 0.9999) { [result setAlpha:floatWrapperWithValue(alpha)]; } [result autorelease]; return result; } // ... Example (JavaScript): // ... var protoToCssColor = function(rgb_color) { var redFrac = rgb_color.red || 0.0; var greenFrac = rgb_color.green || 0.0; var blueFrac = rgb_color.blue || 0.0; var red = Math.floor(redFrac * 255); var green = Math.floor(greenFrac * 255); var blue = Math.floor(blueFrac * 255); if (!('alpha' in rgb_color)) { return rgbToCssColor(red, green, blue); } var alphaFrac = rgb_color.alpha.value || 0.0; var rgbParams = [red, green, blue].join(','); return ['rgba(', rgbParams, ',', alphaFrac, ')'].join(''); }; var rgbToCssColor = function(red, green, blue) { var rgbNumber = new Number((red << 16) | (green << 8) | blue); var hexString = rgbNumber.toString(16); var missingZeros = 6 - hexString.length; var resultBuilder = ['#']; for (var i = 0; i < missingZeros; i++) { resultBuilder.push('0'); } resultBuilder.push(hexString); return resultBuilder.join(''); }; // ... # Output only. Badge foreground that pairs with the background. "alpha": 3.14, # The fraction of this color that should be applied to the pixel. That is, the final pixel color is defined by the equation: `pixel color = alpha * (this color) + (1.0 - alpha) * (background color)` This means that a value of 1.0 corresponds to a solid color, whereas a value of 0.0 corresponds to a completely transparent color. This uses a wrapper message rather than a simple float scalar so that it is possible to distinguish between a default value and the value being unset. If omitted, this color object is rendered as a solid color (as if the alpha value had been explicitly given a value of 1.0). "blue": 3.14, # The amount of blue in the color as a value in the interval [0, 1]. "green": 3.14, # The amount of green in the color as a value in the interval [0, 1]. "red": 3.14, # The amount of red in the color as a value in the interval [0, 1]. }, - "soloColor": { # Represents a color in the RGBA color space. This representation is designed for simplicity of conversion to/from color representations in various languages over compactness. For example, the fields of this representation can be trivially provided to the constructor of `java.awt.Color` in Java; it can also be trivially provided to UIColor's `+colorWithRed:green:blue:alpha` method in iOS; and, with just a little work, it can be easily formatted into a CSS `rgba()` string in JavaScript. This reference page doesn't carry information about the absolute color space that should be used to interpret the RGB value (e.g. sRGB, Adobe RGB, DCI-P3, BT.2020, etc.). By default, applications should assume the sRGB color space. When color equality needs to be decided, implementations, unless documented otherwise, treat two colors as equal if all their red, green, blue, and alpha values each differ by at most 1e-5. Example (Java): import com.google.type.Color; // ... public static java.awt.Color fromProto(Color protocolor) { float alpha = protocolor.hasAlpha() ? protocolor.getAlpha().getValue() : 1.0; return new java.awt.Color( protocolor.getRed(), protocolor.getGreen(), protocolor.getBlue(), alpha); } public static Color toProto(java.awt.Color color) { float red = (float) color.getRed(); float green = (float) color.getGreen(); float blue = (float) color.getBlue(); float denominator = 255.0; Color.Builder resultBuilder = Color .newBuilder() .setRed(red / denominator) .setGreen(green / denominator) .setBlue(blue / denominator); int alpha = color.getAlpha(); if (alpha != 255) { result.setAlpha( FloatValue .newBuilder() .setValue(((float) alpha) / denominator) .build()); } return resultBuilder.build(); } // ... Example (iOS / Obj-C): // ... static UIColor* fromProto(Color* protocolor) { float red = [protocolor red]; float green = [protocolor green]; float blue = [protocolor blue]; FloatValue* alpha_wrapper = [protocolor alpha]; float alpha = 1.0; if (alpha_wrapper != nil) { alpha = [alpha_wrapper value]; } return [UIColor colorWithRed:red green:green blue:blue alpha:alpha]; } static Color* toProto(UIColor* color) { CGFloat red, green, blue, alpha; if (![color getRed:&red green:&green blue:&blue alpha:&alpha]) { return nil; } Color* result = [[Color alloc] init]; [result setRed:red]; [result setGreen:green]; [result setBlue:blue]; if (alpha <= 0.9999) { [result setAlpha:floatWrapperWithValue(alpha)]; } [result autorelease]; return result; } // ... Example (JavaScript): // ... var protoToCssColor = function(rgb_color) { var redFrac = rgb_color.red || 0.0; var greenFrac = rgb_color.green || 0.0; var blueFrac = rgb_color.blue || 0.0; var red = Math.floor(redFrac * 255); var green = Math.floor(greenFrac * 255); var blue = Math.floor(blueFrac * 255); if (!('alpha' in rgb_color)) { return rgbToCssColor(red, green, blue); } var alphaFrac = rgb_color.alpha.value || 0.0; var rgbParams = [red, green, blue].join(','); return ['rgba(', rgbParams, ',', alphaFrac, ')'].join(''); }; var rgbToCssColor = function(red, green, blue) { var rgbNumber = new Number((red << 16) | (green << 8) | blue); var hexString = rgbNumber.toString(16); var missingZeros = 6 - hexString.length; var resultBuilder = ['#']; for (var i = 0; i < missingZeros; i++) { resultBuilder.push('0'); } resultBuilder.push(hexString); return resultBuilder.join(''); }; // ... # Output only. Color that can be used for text without a background + "soloColor": { # Represents a color in the RGBA color space. This representation is designed for simplicity of conversion to/from color representations in various languages over compactness. For example, the fields of this representation can be trivially provided to the constructor of `java.awt.Color` in Java; it can also be trivially provided to UIColor's `+colorWithRed:green:blue:alpha` method in iOS; and, with just a little work, it can be easily formatted into a CSS `rgba()` string in JavaScript. This reference page doesn't carry information about the absolute color space that should be used to interpret the RGB value (e.g. sRGB, Adobe RGB, DCI-P3, BT.2020, etc.). By default, applications should assume the sRGB color space. When color equality needs to be decided, implementations, unless documented otherwise, treat two colors as equal if all their red, green, blue, and alpha values each differ by at most 1e-5. Example (Java): import com.google.type.Color; // ... public static java.awt.Color fromProto(Color protocolor) { float alpha = protocolor.hasAlpha() ? protocolor.getAlpha().getValue() : 1.0; return new java.awt.Color( protocolor.getRed(), protocolor.getGreen(), protocolor.getBlue(), alpha); } public static Color toProto(java.awt.Color color) { float red = (float) color.getRed(); float green = (float) color.getGreen(); float blue = (float) color.getBlue(); float denominator = 255.0; Color.Builder resultBuilder = Color .newBuilder() .setRed(red / denominator) .setGreen(green / denominator) .setBlue(blue / denominator); int alpha = color.getAlpha(); if (alpha != 255) { result.setAlpha( FloatValue .newBuilder() .setValue(((float) alpha) / denominator) .build()); } return resultBuilder.build(); } // ... Example (iOS / Obj-C): // ... static UIColor* fromProto(Color* protocolor) { float red = [protocolor red]; float green = [protocolor green]; float blue = [protocolor blue]; FloatValue* alpha_wrapper = [protocolor alpha]; float alpha = 1.0; if (alpha_wrapper != nil) { alpha = [alpha_wrapper value]; } return [UIColor colorWithRed:red green:green blue:blue alpha:alpha]; } static Color* toProto(UIColor* color) { CGFloat red, green, blue, alpha; if (![color getRed:&red green:&green blue:&blue alpha:&alpha]) { return nil; } Color* result = [[Color alloc] init]; [result setRed:red]; [result setGreen:green]; [result setBlue:blue]; if (alpha <= 0.9999) { [result setAlpha:floatWrapperWithValue(alpha)]; } [result autorelease]; return result; } // ... Example (JavaScript): // ... var protoToCssColor = function(rgb_color) { var redFrac = rgb_color.red || 0.0; var greenFrac = rgb_color.green || 0.0; var blueFrac = rgb_color.blue || 0.0; var red = Math.floor(redFrac * 255); var green = Math.floor(greenFrac * 255); var blue = Math.floor(blueFrac * 255); if (!('alpha' in rgb_color)) { return rgbToCssColor(red, green, blue); } var alphaFrac = rgb_color.alpha.value || 0.0; var rgbParams = [red, green, blue].join(','); return ['rgba(', rgbParams, ',', alphaFrac, ')'].join(''); }; var rgbToCssColor = function(red, green, blue) { var rgbNumber = new Number((red << 16) | (green << 8) | blue); var hexString = rgbNumber.toString(16); var missingZeros = 6 - hexString.length; var resultBuilder = ['#']; for (var i = 0; i < missingZeros; i++) { resultBuilder.push('0'); } resultBuilder.push(hexString); return resultBuilder.join(''); }; // ... # Output only. Color that can be used for text without a background. "alpha": 3.14, # The fraction of this color that should be applied to the pixel. That is, the final pixel color is defined by the equation: `pixel color = alpha * (this color) + (1.0 - alpha) * (background color)` This means that a value of 1.0 corresponds to a solid color, whereas a value of 0.0 corresponds to a completely transparent color. This uses a wrapper message rather than a simple float scalar so that it is possible to distinguish between a default value and the value being unset. If omitted, this color object is rendered as a solid color (as if the alpha value had been explicitly given a value of 1.0). "blue": 3.14, # The amount of blue in the color as a value in the interval [0, 1]. "green": 3.14, # The amount of green in the color as a value in the interval [0, 1]. "red": 3.14, # The amount of red in the color as a value in the interval [0, 1]. }, }, - "badgePriority": "A String", # The priority of this badge, used to compare and sort between multiple badges. A lower number means that the badge should be shown first. When a badging configuration is not present, this will be 0. Otherwise, this will be set to `BadgeConfig.priority_override` or the default heuristic which prefers creation date of the Label, and field and option priority. - "darkBadgeColors": { # The color derived from BadgeConfig and coerced to the nearest supported color. # The dark-mode color to use for the badge. Coerced to Google Material colors based on the chosen `properties.badge_config.color`. - "backgroundColor": { # Represents a color in the RGBA color space. This representation is designed for simplicity of conversion to/from color representations in various languages over compactness. For example, the fields of this representation can be trivially provided to the constructor of `java.awt.Color` in Java; it can also be trivially provided to UIColor's `+colorWithRed:green:blue:alpha` method in iOS; and, with just a little work, it can be easily formatted into a CSS `rgba()` string in JavaScript. This reference page doesn't carry information about the absolute color space that should be used to interpret the RGB value (e.g. sRGB, Adobe RGB, DCI-P3, BT.2020, etc.). By default, applications should assume the sRGB color space. When color equality needs to be decided, implementations, unless documented otherwise, treat two colors as equal if all their red, green, blue, and alpha values each differ by at most 1e-5. Example (Java): import com.google.type.Color; // ... public static java.awt.Color fromProto(Color protocolor) { float alpha = protocolor.hasAlpha() ? protocolor.getAlpha().getValue() : 1.0; return new java.awt.Color( protocolor.getRed(), protocolor.getGreen(), protocolor.getBlue(), alpha); } public static Color toProto(java.awt.Color color) { float red = (float) color.getRed(); float green = (float) color.getGreen(); float blue = (float) color.getBlue(); float denominator = 255.0; Color.Builder resultBuilder = Color .newBuilder() .setRed(red / denominator) .setGreen(green / denominator) .setBlue(blue / denominator); int alpha = color.getAlpha(); if (alpha != 255) { result.setAlpha( FloatValue .newBuilder() .setValue(((float) alpha) / denominator) .build()); } return resultBuilder.build(); } // ... Example (iOS / Obj-C): // ... static UIColor* fromProto(Color* protocolor) { float red = [protocolor red]; float green = [protocolor green]; float blue = [protocolor blue]; FloatValue* alpha_wrapper = [protocolor alpha]; float alpha = 1.0; if (alpha_wrapper != nil) { alpha = [alpha_wrapper value]; } return [UIColor colorWithRed:red green:green blue:blue alpha:alpha]; } static Color* toProto(UIColor* color) { CGFloat red, green, blue, alpha; if (![color getRed:&red green:&green blue:&blue alpha:&alpha]) { return nil; } Color* result = [[Color alloc] init]; [result setRed:red]; [result setGreen:green]; [result setBlue:blue]; if (alpha <= 0.9999) { [result setAlpha:floatWrapperWithValue(alpha)]; } [result autorelease]; return result; } // ... Example (JavaScript): // ... var protoToCssColor = function(rgb_color) { var redFrac = rgb_color.red || 0.0; var greenFrac = rgb_color.green || 0.0; var blueFrac = rgb_color.blue || 0.0; var red = Math.floor(redFrac * 255); var green = Math.floor(greenFrac * 255); var blue = Math.floor(blueFrac * 255); if (!('alpha' in rgb_color)) { return rgbToCssColor(red, green, blue); } var alphaFrac = rgb_color.alpha.value || 0.0; var rgbParams = [red, green, blue].join(','); return ['rgba(', rgbParams, ',', alphaFrac, ')'].join(''); }; var rgbToCssColor = function(red, green, blue) { var rgbNumber = new Number((red << 16) | (green << 8) | blue); var hexString = rgbNumber.toString(16); var missingZeros = 6 - hexString.length; var resultBuilder = ['#']; for (var i = 0; i < missingZeros; i++) { resultBuilder.push('0'); } resultBuilder.push(hexString); return resultBuilder.join(''); }; // ... # Output only. Badge background which pairs with the foreground + "badgePriority": "A String", # The priority of this badge. Used to compare and sort between multiple badges. A lower number means the badge should be shown first. When a badging configuration is not present, this will be 0. Otherwise, this will be set to `BadgeConfig.priority_override` or the default heuristic which prefers creation date of the label, and field and option priority. + "darkBadgeColors": { # The color derived from BadgeConfig and changed to the closest recommended supported color. # The dark-mode color to use for the badge. Changed to Google Material colors based on the chosen `properties.badge_config.color`. + "backgroundColor": { # Represents a color in the RGBA color space. This representation is designed for simplicity of conversion to/from color representations in various languages over compactness. For example, the fields of this representation can be trivially provided to the constructor of `java.awt.Color` in Java; it can also be trivially provided to UIColor's `+colorWithRed:green:blue:alpha` method in iOS; and, with just a little work, it can be easily formatted into a CSS `rgba()` string in JavaScript. This reference page doesn't carry information about the absolute color space that should be used to interpret the RGB value (e.g. sRGB, Adobe RGB, DCI-P3, BT.2020, etc.). By default, applications should assume the sRGB color space. When color equality needs to be decided, implementations, unless documented otherwise, treat two colors as equal if all their red, green, blue, and alpha values each differ by at most 1e-5. Example (Java): import com.google.type.Color; // ... public static java.awt.Color fromProto(Color protocolor) { float alpha = protocolor.hasAlpha() ? protocolor.getAlpha().getValue() : 1.0; return new java.awt.Color( protocolor.getRed(), protocolor.getGreen(), protocolor.getBlue(), alpha); } public static Color toProto(java.awt.Color color) { float red = (float) color.getRed(); float green = (float) color.getGreen(); float blue = (float) color.getBlue(); float denominator = 255.0; Color.Builder resultBuilder = Color .newBuilder() .setRed(red / denominator) .setGreen(green / denominator) .setBlue(blue / denominator); int alpha = color.getAlpha(); if (alpha != 255) { result.setAlpha( FloatValue .newBuilder() .setValue(((float) alpha) / denominator) .build()); } return resultBuilder.build(); } // ... Example (iOS / Obj-C): // ... static UIColor* fromProto(Color* protocolor) { float red = [protocolor red]; float green = [protocolor green]; float blue = [protocolor blue]; FloatValue* alpha_wrapper = [protocolor alpha]; float alpha = 1.0; if (alpha_wrapper != nil) { alpha = [alpha_wrapper value]; } return [UIColor colorWithRed:red green:green blue:blue alpha:alpha]; } static Color* toProto(UIColor* color) { CGFloat red, green, blue, alpha; if (![color getRed:&red green:&green blue:&blue alpha:&alpha]) { return nil; } Color* result = [[Color alloc] init]; [result setRed:red]; [result setGreen:green]; [result setBlue:blue]; if (alpha <= 0.9999) { [result setAlpha:floatWrapperWithValue(alpha)]; } [result autorelease]; return result; } // ... Example (JavaScript): // ... var protoToCssColor = function(rgb_color) { var redFrac = rgb_color.red || 0.0; var greenFrac = rgb_color.green || 0.0; var blueFrac = rgb_color.blue || 0.0; var red = Math.floor(redFrac * 255); var green = Math.floor(greenFrac * 255); var blue = Math.floor(blueFrac * 255); if (!('alpha' in rgb_color)) { return rgbToCssColor(red, green, blue); } var alphaFrac = rgb_color.alpha.value || 0.0; var rgbParams = [red, green, blue].join(','); return ['rgba(', rgbParams, ',', alphaFrac, ')'].join(''); }; var rgbToCssColor = function(red, green, blue) { var rgbNumber = new Number((red << 16) | (green << 8) | blue); var hexString = rgbNumber.toString(16); var missingZeros = 6 - hexString.length; var resultBuilder = ['#']; for (var i = 0; i < missingZeros; i++) { resultBuilder.push('0'); } resultBuilder.push(hexString); return resultBuilder.join(''); }; // ... # Output only. Badge background that pairs with the foreground. "alpha": 3.14, # The fraction of this color that should be applied to the pixel. That is, the final pixel color is defined by the equation: `pixel color = alpha * (this color) + (1.0 - alpha) * (background color)` This means that a value of 1.0 corresponds to a solid color, whereas a value of 0.0 corresponds to a completely transparent color. This uses a wrapper message rather than a simple float scalar so that it is possible to distinguish between a default value and the value being unset. If omitted, this color object is rendered as a solid color (as if the alpha value had been explicitly given a value of 1.0). "blue": 3.14, # The amount of blue in the color as a value in the interval [0, 1]. "green": 3.14, # The amount of green in the color as a value in the interval [0, 1]. "red": 3.14, # The amount of red in the color as a value in the interval [0, 1]. }, - "foregroundColor": { # Represents a color in the RGBA color space. This representation is designed for simplicity of conversion to/from color representations in various languages over compactness. For example, the fields of this representation can be trivially provided to the constructor of `java.awt.Color` in Java; it can also be trivially provided to UIColor's `+colorWithRed:green:blue:alpha` method in iOS; and, with just a little work, it can be easily formatted into a CSS `rgba()` string in JavaScript. This reference page doesn't carry information about the absolute color space that should be used to interpret the RGB value (e.g. sRGB, Adobe RGB, DCI-P3, BT.2020, etc.). By default, applications should assume the sRGB color space. When color equality needs to be decided, implementations, unless documented otherwise, treat two colors as equal if all their red, green, blue, and alpha values each differ by at most 1e-5. Example (Java): import com.google.type.Color; // ... public static java.awt.Color fromProto(Color protocolor) { float alpha = protocolor.hasAlpha() ? protocolor.getAlpha().getValue() : 1.0; return new java.awt.Color( protocolor.getRed(), protocolor.getGreen(), protocolor.getBlue(), alpha); } public static Color toProto(java.awt.Color color) { float red = (float) color.getRed(); float green = (float) color.getGreen(); float blue = (float) color.getBlue(); float denominator = 255.0; Color.Builder resultBuilder = Color .newBuilder() .setRed(red / denominator) .setGreen(green / denominator) .setBlue(blue / denominator); int alpha = color.getAlpha(); if (alpha != 255) { result.setAlpha( FloatValue .newBuilder() .setValue(((float) alpha) / denominator) .build()); } return resultBuilder.build(); } // ... Example (iOS / Obj-C): // ... static UIColor* fromProto(Color* protocolor) { float red = [protocolor red]; float green = [protocolor green]; float blue = [protocolor blue]; FloatValue* alpha_wrapper = [protocolor alpha]; float alpha = 1.0; if (alpha_wrapper != nil) { alpha = [alpha_wrapper value]; } return [UIColor colorWithRed:red green:green blue:blue alpha:alpha]; } static Color* toProto(UIColor* color) { CGFloat red, green, blue, alpha; if (![color getRed:&red green:&green blue:&blue alpha:&alpha]) { return nil; } Color* result = [[Color alloc] init]; [result setRed:red]; [result setGreen:green]; [result setBlue:blue]; if (alpha <= 0.9999) { [result setAlpha:floatWrapperWithValue(alpha)]; } [result autorelease]; return result; } // ... Example (JavaScript): // ... var protoToCssColor = function(rgb_color) { var redFrac = rgb_color.red || 0.0; var greenFrac = rgb_color.green || 0.0; var blueFrac = rgb_color.blue || 0.0; var red = Math.floor(redFrac * 255); var green = Math.floor(greenFrac * 255); var blue = Math.floor(blueFrac * 255); if (!('alpha' in rgb_color)) { return rgbToCssColor(red, green, blue); } var alphaFrac = rgb_color.alpha.value || 0.0; var rgbParams = [red, green, blue].join(','); return ['rgba(', rgbParams, ',', alphaFrac, ')'].join(''); }; var rgbToCssColor = function(red, green, blue) { var rgbNumber = new Number((red << 16) | (green << 8) | blue); var hexString = rgbNumber.toString(16); var missingZeros = 6 - hexString.length; var resultBuilder = ['#']; for (var i = 0; i < missingZeros; i++) { resultBuilder.push('0'); } resultBuilder.push(hexString); return resultBuilder.join(''); }; // ... # Output only. Badge foreground which pairs with the background + "foregroundColor": { # Represents a color in the RGBA color space. This representation is designed for simplicity of conversion to/from color representations in various languages over compactness. For example, the fields of this representation can be trivially provided to the constructor of `java.awt.Color` in Java; it can also be trivially provided to UIColor's `+colorWithRed:green:blue:alpha` method in iOS; and, with just a little work, it can be easily formatted into a CSS `rgba()` string in JavaScript. This reference page doesn't carry information about the absolute color space that should be used to interpret the RGB value (e.g. sRGB, Adobe RGB, DCI-P3, BT.2020, etc.). By default, applications should assume the sRGB color space. When color equality needs to be decided, implementations, unless documented otherwise, treat two colors as equal if all their red, green, blue, and alpha values each differ by at most 1e-5. Example (Java): import com.google.type.Color; // ... public static java.awt.Color fromProto(Color protocolor) { float alpha = protocolor.hasAlpha() ? protocolor.getAlpha().getValue() : 1.0; return new java.awt.Color( protocolor.getRed(), protocolor.getGreen(), protocolor.getBlue(), alpha); } public static Color toProto(java.awt.Color color) { float red = (float) color.getRed(); float green = (float) color.getGreen(); float blue = (float) color.getBlue(); float denominator = 255.0; Color.Builder resultBuilder = Color .newBuilder() .setRed(red / denominator) .setGreen(green / denominator) .setBlue(blue / denominator); int alpha = color.getAlpha(); if (alpha != 255) { result.setAlpha( FloatValue .newBuilder() .setValue(((float) alpha) / denominator) .build()); } return resultBuilder.build(); } // ... Example (iOS / Obj-C): // ... static UIColor* fromProto(Color* protocolor) { float red = [protocolor red]; float green = [protocolor green]; float blue = [protocolor blue]; FloatValue* alpha_wrapper = [protocolor alpha]; float alpha = 1.0; if (alpha_wrapper != nil) { alpha = [alpha_wrapper value]; } return [UIColor colorWithRed:red green:green blue:blue alpha:alpha]; } static Color* toProto(UIColor* color) { CGFloat red, green, blue, alpha; if (![color getRed:&red green:&green blue:&blue alpha:&alpha]) { return nil; } Color* result = [[Color alloc] init]; [result setRed:red]; [result setGreen:green]; [result setBlue:blue]; if (alpha <= 0.9999) { [result setAlpha:floatWrapperWithValue(alpha)]; } [result autorelease]; return result; } // ... Example (JavaScript): // ... var protoToCssColor = function(rgb_color) { var redFrac = rgb_color.red || 0.0; var greenFrac = rgb_color.green || 0.0; var blueFrac = rgb_color.blue || 0.0; var red = Math.floor(redFrac * 255); var green = Math.floor(greenFrac * 255); var blue = Math.floor(blueFrac * 255); if (!('alpha' in rgb_color)) { return rgbToCssColor(red, green, blue); } var alphaFrac = rgb_color.alpha.value || 0.0; var rgbParams = [red, green, blue].join(','); return ['rgba(', rgbParams, ',', alphaFrac, ')'].join(''); }; var rgbToCssColor = function(red, green, blue) { var rgbNumber = new Number((red << 16) | (green << 8) | blue); var hexString = rgbNumber.toString(16); var missingZeros = 6 - hexString.length; var resultBuilder = ['#']; for (var i = 0; i < missingZeros; i++) { resultBuilder.push('0'); } resultBuilder.push(hexString); return resultBuilder.join(''); }; // ... # Output only. Badge foreground that pairs with the background. "alpha": 3.14, # The fraction of this color that should be applied to the pixel. That is, the final pixel color is defined by the equation: `pixel color = alpha * (this color) + (1.0 - alpha) * (background color)` This means that a value of 1.0 corresponds to a solid color, whereas a value of 0.0 corresponds to a completely transparent color. This uses a wrapper message rather than a simple float scalar so that it is possible to distinguish between a default value and the value being unset. If omitted, this color object is rendered as a solid color (as if the alpha value had been explicitly given a value of 1.0). "blue": 3.14, # The amount of blue in the color as a value in the interval [0, 1]. "green": 3.14, # The amount of green in the color as a value in the interval [0, 1]. "red": 3.14, # The amount of red in the color as a value in the interval [0, 1]. }, - "soloColor": { # Represents a color in the RGBA color space. This representation is designed for simplicity of conversion to/from color representations in various languages over compactness. For example, the fields of this representation can be trivially provided to the constructor of `java.awt.Color` in Java; it can also be trivially provided to UIColor's `+colorWithRed:green:blue:alpha` method in iOS; and, with just a little work, it can be easily formatted into a CSS `rgba()` string in JavaScript. This reference page doesn't carry information about the absolute color space that should be used to interpret the RGB value (e.g. sRGB, Adobe RGB, DCI-P3, BT.2020, etc.). By default, applications should assume the sRGB color space. When color equality needs to be decided, implementations, unless documented otherwise, treat two colors as equal if all their red, green, blue, and alpha values each differ by at most 1e-5. Example (Java): import com.google.type.Color; // ... public static java.awt.Color fromProto(Color protocolor) { float alpha = protocolor.hasAlpha() ? protocolor.getAlpha().getValue() : 1.0; return new java.awt.Color( protocolor.getRed(), protocolor.getGreen(), protocolor.getBlue(), alpha); } public static Color toProto(java.awt.Color color) { float red = (float) color.getRed(); float green = (float) color.getGreen(); float blue = (float) color.getBlue(); float denominator = 255.0; Color.Builder resultBuilder = Color .newBuilder() .setRed(red / denominator) .setGreen(green / denominator) .setBlue(blue / denominator); int alpha = color.getAlpha(); if (alpha != 255) { result.setAlpha( FloatValue .newBuilder() .setValue(((float) alpha) / denominator) .build()); } return resultBuilder.build(); } // ... Example (iOS / Obj-C): // ... static UIColor* fromProto(Color* protocolor) { float red = [protocolor red]; float green = [protocolor green]; float blue = [protocolor blue]; FloatValue* alpha_wrapper = [protocolor alpha]; float alpha = 1.0; if (alpha_wrapper != nil) { alpha = [alpha_wrapper value]; } return [UIColor colorWithRed:red green:green blue:blue alpha:alpha]; } static Color* toProto(UIColor* color) { CGFloat red, green, blue, alpha; if (![color getRed:&red green:&green blue:&blue alpha:&alpha]) { return nil; } Color* result = [[Color alloc] init]; [result setRed:red]; [result setGreen:green]; [result setBlue:blue]; if (alpha <= 0.9999) { [result setAlpha:floatWrapperWithValue(alpha)]; } [result autorelease]; return result; } // ... Example (JavaScript): // ... var protoToCssColor = function(rgb_color) { var redFrac = rgb_color.red || 0.0; var greenFrac = rgb_color.green || 0.0; var blueFrac = rgb_color.blue || 0.0; var red = Math.floor(redFrac * 255); var green = Math.floor(greenFrac * 255); var blue = Math.floor(blueFrac * 255); if (!('alpha' in rgb_color)) { return rgbToCssColor(red, green, blue); } var alphaFrac = rgb_color.alpha.value || 0.0; var rgbParams = [red, green, blue].join(','); return ['rgba(', rgbParams, ',', alphaFrac, ')'].join(''); }; var rgbToCssColor = function(red, green, blue) { var rgbNumber = new Number((red << 16) | (green << 8) | blue); var hexString = rgbNumber.toString(16); var missingZeros = 6 - hexString.length; var resultBuilder = ['#']; for (var i = 0; i < missingZeros; i++) { resultBuilder.push('0'); } resultBuilder.push(hexString); return resultBuilder.join(''); }; // ... # Output only. Color that can be used for text without a background + "soloColor": { # Represents a color in the RGBA color space. This representation is designed for simplicity of conversion to/from color representations in various languages over compactness. For example, the fields of this representation can be trivially provided to the constructor of `java.awt.Color` in Java; it can also be trivially provided to UIColor's `+colorWithRed:green:blue:alpha` method in iOS; and, with just a little work, it can be easily formatted into a CSS `rgba()` string in JavaScript. This reference page doesn't carry information about the absolute color space that should be used to interpret the RGB value (e.g. sRGB, Adobe RGB, DCI-P3, BT.2020, etc.). By default, applications should assume the sRGB color space. When color equality needs to be decided, implementations, unless documented otherwise, treat two colors as equal if all their red, green, blue, and alpha values each differ by at most 1e-5. Example (Java): import com.google.type.Color; // ... public static java.awt.Color fromProto(Color protocolor) { float alpha = protocolor.hasAlpha() ? protocolor.getAlpha().getValue() : 1.0; return new java.awt.Color( protocolor.getRed(), protocolor.getGreen(), protocolor.getBlue(), alpha); } public static Color toProto(java.awt.Color color) { float red = (float) color.getRed(); float green = (float) color.getGreen(); float blue = (float) color.getBlue(); float denominator = 255.0; Color.Builder resultBuilder = Color .newBuilder() .setRed(red / denominator) .setGreen(green / denominator) .setBlue(blue / denominator); int alpha = color.getAlpha(); if (alpha != 255) { result.setAlpha( FloatValue .newBuilder() .setValue(((float) alpha) / denominator) .build()); } return resultBuilder.build(); } // ... Example (iOS / Obj-C): // ... static UIColor* fromProto(Color* protocolor) { float red = [protocolor red]; float green = [protocolor green]; float blue = [protocolor blue]; FloatValue* alpha_wrapper = [protocolor alpha]; float alpha = 1.0; if (alpha_wrapper != nil) { alpha = [alpha_wrapper value]; } return [UIColor colorWithRed:red green:green blue:blue alpha:alpha]; } static Color* toProto(UIColor* color) { CGFloat red, green, blue, alpha; if (![color getRed:&red green:&green blue:&blue alpha:&alpha]) { return nil; } Color* result = [[Color alloc] init]; [result setRed:red]; [result setGreen:green]; [result setBlue:blue]; if (alpha <= 0.9999) { [result setAlpha:floatWrapperWithValue(alpha)]; } [result autorelease]; return result; } // ... Example (JavaScript): // ... var protoToCssColor = function(rgb_color) { var redFrac = rgb_color.red || 0.0; var greenFrac = rgb_color.green || 0.0; var blueFrac = rgb_color.blue || 0.0; var red = Math.floor(redFrac * 255); var green = Math.floor(greenFrac * 255); var blue = Math.floor(blueFrac * 255); if (!('alpha' in rgb_color)) { return rgbToCssColor(red, green, blue); } var alphaFrac = rgb_color.alpha.value || 0.0; var rgbParams = [red, green, blue].join(','); return ['rgba(', rgbParams, ',', alphaFrac, ')'].join(''); }; var rgbToCssColor = function(red, green, blue) { var rgbNumber = new Number((red << 16) | (green << 8) | blue); var hexString = rgbNumber.toString(16); var missingZeros = 6 - hexString.length; var resultBuilder = ['#']; for (var i = 0; i < missingZeros; i++) { resultBuilder.push('0'); } resultBuilder.push(hexString); return resultBuilder.join(''); }; // ... # Output only. Color that can be used for text without a background. "alpha": 3.14, # The fraction of this color that should be applied to the pixel. That is, the final pixel color is defined by the equation: `pixel color = alpha * (this color) + (1.0 - alpha) * (background color)` This means that a value of 1.0 corresponds to a solid color, whereas a value of 0.0 corresponds to a completely transparent color. This uses a wrapper message rather than a simple float scalar so that it is possible to distinguish between a default value and the value being unset. If omitted, this color object is rendered as a solid color (as if the alpha value had been explicitly given a value of 1.0). "blue": 3.14, # The amount of blue in the color as a value in the interval [0, 1]. "green": 3.14, # The amount of green in the color as a value in the interval [0, 1]. @@ -540,52 +540,52 @@

Method Details

}, }, "disabled": True or False, # Whether the option should be shown in the UI as disabled. - "hiddenInSearch": True or False, # This option should be hidden in the search menu. - "shownInApply": True or False, # This option should be shown in the menu when applying values to a Drive item. + "hiddenInSearch": True or False, # This option should be hidden in the search menu when searching for Drive items. + "shownInApply": True or False, # This option should be shown in the apply menu when applying values to a Drive item. }, - "id": "A String", # The unique value of the Choice. This ID will be autogenerated, and will match the form `([a-zA-Z0-9_])+`. - "lifecycle": { # The lifecycle state of an object, e.g. Label, Field, or Choice. The Lifecycle enforces the following transitions: * `UNPUBLISHED_DRAFT` (starting state) * `UNPUBLISHED_DRAFT` -> `PUBLISHED` * `UNPUBLISHED_DRAFT` -> (Deleted) * `PUBLISHED` -> `DISABLED` * `DISABLED` -> `PUBLISHED` * `DISABLED` -> (Deleted) The published and disabled states have some distinct characteristics: * Published - Some kinds of changes may be made to an object in this state, in which case `has_unpublished_changes` will be true. Some kinds of changes are not permitted. Generally, any change that would invalidate or cause new restrictions on existing metadata related to the Label will be rejected. * Disabled - When disabled, the configured `DisabledPolicy` will take effect. # Output only. Lifecycle of the Choice. + "id": "A String", # The unique value of the choice. This ID is autogenerated. Matches the regex: `([a-zA-Z0-9_])+`. + "lifecycle": { # The lifecycle state of an object, such as label, field, or choice. The lifecycle enforces the following transitions: * `UNPUBLISHED_DRAFT` (starting state) * `UNPUBLISHED_DRAFT` -> `PUBLISHED` * `UNPUBLISHED_DRAFT` -> (Deleted) * `PUBLISHED` -> `DISABLED` * `DISABLED` -> `PUBLISHED` * `DISABLED` -> (Deleted) The published and disabled states have some distinct characteristics: * Published—Some kinds of changes might be made to an object in this state, in which case `has_unpublished_changes` will be true. Also, some kinds of changes are not permitted. Generally, any change that would invalidate or cause new restrictions on existing metadata related to the label are rejected. * Disabled—When disabled, the configured `DisabledPolicy` takes effect. # Output only. Lifecycle of the choice. "disabledPolicy": { # The policy that governs how to treat a disabled label, field, or selection choice in different contexts. # The policy that governs how to show a disabled label, field, or selection choice. - "hideInSearch": True or False, # Whether to hide this disabled object in the search menu for Drive items. * When `false` the object will generally be shown in the UI as disabled (but still permit searching) when searching for Drive items. * When `true` the object will generally be hidden in the UI when searching for Drive items. - "showInApply": True or False, # Whether to show this disabled object in the apply menu on Drive items. * When `true` the object will generally be shown in the UI as disabled and is unselectable. * When `false` the object will generally be hidden in the UI. + "hideInSearch": True or False, # Whether to hide this disabled object in the search menu for Drive items. * When `false`, the object is generally shown in the UI as disabled but it appears in the search results when searching for Drive items. * When `true`, the object is generally hidden in the UI when searching for Drive items. + "showInApply": True or False, # Whether to show this disabled object in the apply menu on Drive items. * When `true`, the object is generally shown in the UI as disabled and is unselectable. * When `false`, the object is generally hidden in the UI. }, "hasUnpublishedChanges": True or False, # Output only. Whether the object associated with this lifecycle has unpublished changes. "state": "A String", # Output only. The state of the object associated with this lifecycle. }, - "lockStatus": { # Contains information about whether a label component should be considered locked. # Output only. The LockStatus of this Choice. - "locked": True or False, # Output only. Indicates whether this label component is the (direct) target of a LabelLock. A label component may be implicitly locked even if it is not the direct target of a LabelLock, in which case this field will be false. + "lockStatus": { # Contains information about whether a label component should be considered locked. # Output only. The LockStatus of this choice. + "locked": True or False, # Output only. Indicates whether this label component is the (direct) target of a LabelLock. A label component can be implicitly locked even if it's not the direct target of a LabelLock, in which case this field is set to false. }, - "properties": { # Basic properties of the Choice. # Basic properties of the Choice. - "badgeConfig": { # Badge status of the label. # The badge configuration for this Choice. When set, the Label that owns this Choice will be considered a "badged label". - "color": { # Represents a color in the RGBA color space. This representation is designed for simplicity of conversion to/from color representations in various languages over compactness. For example, the fields of this representation can be trivially provided to the constructor of `java.awt.Color` in Java; it can also be trivially provided to UIColor's `+colorWithRed:green:blue:alpha` method in iOS; and, with just a little work, it can be easily formatted into a CSS `rgba()` string in JavaScript. This reference page doesn't carry information about the absolute color space that should be used to interpret the RGB value (e.g. sRGB, Adobe RGB, DCI-P3, BT.2020, etc.). By default, applications should assume the sRGB color space. When color equality needs to be decided, implementations, unless documented otherwise, treat two colors as equal if all their red, green, blue, and alpha values each differ by at most 1e-5. Example (Java): import com.google.type.Color; // ... public static java.awt.Color fromProto(Color protocolor) { float alpha = protocolor.hasAlpha() ? protocolor.getAlpha().getValue() : 1.0; return new java.awt.Color( protocolor.getRed(), protocolor.getGreen(), protocolor.getBlue(), alpha); } public static Color toProto(java.awt.Color color) { float red = (float) color.getRed(); float green = (float) color.getGreen(); float blue = (float) color.getBlue(); float denominator = 255.0; Color.Builder resultBuilder = Color .newBuilder() .setRed(red / denominator) .setGreen(green / denominator) .setBlue(blue / denominator); int alpha = color.getAlpha(); if (alpha != 255) { result.setAlpha( FloatValue .newBuilder() .setValue(((float) alpha) / denominator) .build()); } return resultBuilder.build(); } // ... Example (iOS / Obj-C): // ... static UIColor* fromProto(Color* protocolor) { float red = [protocolor red]; float green = [protocolor green]; float blue = [protocolor blue]; FloatValue* alpha_wrapper = [protocolor alpha]; float alpha = 1.0; if (alpha_wrapper != nil) { alpha = [alpha_wrapper value]; } return [UIColor colorWithRed:red green:green blue:blue alpha:alpha]; } static Color* toProto(UIColor* color) { CGFloat red, green, blue, alpha; if (![color getRed:&red green:&green blue:&blue alpha:&alpha]) { return nil; } Color* result = [[Color alloc] init]; [result setRed:red]; [result setGreen:green]; [result setBlue:blue]; if (alpha <= 0.9999) { [result setAlpha:floatWrapperWithValue(alpha)]; } [result autorelease]; return result; } // ... Example (JavaScript): // ... var protoToCssColor = function(rgb_color) { var redFrac = rgb_color.red || 0.0; var greenFrac = rgb_color.green || 0.0; var blueFrac = rgb_color.blue || 0.0; var red = Math.floor(redFrac * 255); var green = Math.floor(greenFrac * 255); var blue = Math.floor(blueFrac * 255); if (!('alpha' in rgb_color)) { return rgbToCssColor(red, green, blue); } var alphaFrac = rgb_color.alpha.value || 0.0; var rgbParams = [red, green, blue].join(','); return ['rgba(', rgbParams, ',', alphaFrac, ')'].join(''); }; var rgbToCssColor = function(red, green, blue) { var rgbNumber = new Number((red << 16) | (green << 8) | blue); var hexString = rgbNumber.toString(16); var missingZeros = 6 - hexString.length; var resultBuilder = ['#']; for (var i = 0; i < missingZeros; i++) { resultBuilder.push('0'); } resultBuilder.push(hexString); return resultBuilder.join(''); }; // ... # The color of the badge. When not specified, no badge will be rendered. This color will be coerced into the closest recommended supported color. + "properties": { # Basic properties of the choice. # Basic properties of the choice. + "badgeConfig": { # Badge status of the label. # The badge configuration for this choice. When set, the label that owns this choice is considered a "badged label". + "color": { # Represents a color in the RGBA color space. This representation is designed for simplicity of conversion to/from color representations in various languages over compactness. For example, the fields of this representation can be trivially provided to the constructor of `java.awt.Color` in Java; it can also be trivially provided to UIColor's `+colorWithRed:green:blue:alpha` method in iOS; and, with just a little work, it can be easily formatted into a CSS `rgba()` string in JavaScript. This reference page doesn't carry information about the absolute color space that should be used to interpret the RGB value (e.g. sRGB, Adobe RGB, DCI-P3, BT.2020, etc.). By default, applications should assume the sRGB color space. When color equality needs to be decided, implementations, unless documented otherwise, treat two colors as equal if all their red, green, blue, and alpha values each differ by at most 1e-5. Example (Java): import com.google.type.Color; // ... public static java.awt.Color fromProto(Color protocolor) { float alpha = protocolor.hasAlpha() ? protocolor.getAlpha().getValue() : 1.0; return new java.awt.Color( protocolor.getRed(), protocolor.getGreen(), protocolor.getBlue(), alpha); } public static Color toProto(java.awt.Color color) { float red = (float) color.getRed(); float green = (float) color.getGreen(); float blue = (float) color.getBlue(); float denominator = 255.0; Color.Builder resultBuilder = Color .newBuilder() .setRed(red / denominator) .setGreen(green / denominator) .setBlue(blue / denominator); int alpha = color.getAlpha(); if (alpha != 255) { result.setAlpha( FloatValue .newBuilder() .setValue(((float) alpha) / denominator) .build()); } return resultBuilder.build(); } // ... Example (iOS / Obj-C): // ... static UIColor* fromProto(Color* protocolor) { float red = [protocolor red]; float green = [protocolor green]; float blue = [protocolor blue]; FloatValue* alpha_wrapper = [protocolor alpha]; float alpha = 1.0; if (alpha_wrapper != nil) { alpha = [alpha_wrapper value]; } return [UIColor colorWithRed:red green:green blue:blue alpha:alpha]; } static Color* toProto(UIColor* color) { CGFloat red, green, blue, alpha; if (![color getRed:&red green:&green blue:&blue alpha:&alpha]) { return nil; } Color* result = [[Color alloc] init]; [result setRed:red]; [result setGreen:green]; [result setBlue:blue]; if (alpha <= 0.9999) { [result setAlpha:floatWrapperWithValue(alpha)]; } [result autorelease]; return result; } // ... Example (JavaScript): // ... var protoToCssColor = function(rgb_color) { var redFrac = rgb_color.red || 0.0; var greenFrac = rgb_color.green || 0.0; var blueFrac = rgb_color.blue || 0.0; var red = Math.floor(redFrac * 255); var green = Math.floor(greenFrac * 255); var blue = Math.floor(blueFrac * 255); if (!('alpha' in rgb_color)) { return rgbToCssColor(red, green, blue); } var alphaFrac = rgb_color.alpha.value || 0.0; var rgbParams = [red, green, blue].join(','); return ['rgba(', rgbParams, ',', alphaFrac, ')'].join(''); }; var rgbToCssColor = function(red, green, blue) { var rgbNumber = new Number((red << 16) | (green << 8) | blue); var hexString = rgbNumber.toString(16); var missingZeros = 6 - hexString.length; var resultBuilder = ['#']; for (var i = 0; i < missingZeros; i++) { resultBuilder.push('0'); } resultBuilder.push(hexString); return resultBuilder.join(''); }; // ... # The color of the badge. When not specified, no badge is rendered. The background, foreground, and solo (light and dark mode) colors set here are changed in the Drive UI into the closest recommended supported color. "alpha": 3.14, # The fraction of this color that should be applied to the pixel. That is, the final pixel color is defined by the equation: `pixel color = alpha * (this color) + (1.0 - alpha) * (background color)` This means that a value of 1.0 corresponds to a solid color, whereas a value of 0.0 corresponds to a completely transparent color. This uses a wrapper message rather than a simple float scalar so that it is possible to distinguish between a default value and the value being unset. If omitted, this color object is rendered as a solid color (as if the alpha value had been explicitly given a value of 1.0). "blue": 3.14, # The amount of blue in the color as a value in the interval [0, 1]. "green": 3.14, # The amount of green in the color as a value in the interval [0, 1]. "red": 3.14, # The amount of red in the color as a value in the interval [0, 1]. }, - "priorityOverride": "A String", # Override the default global priority of this badge. When set to 0, the default priority heuristic will be used. + "priorityOverride": "A String", # Override the default global priority of this badge. When set to 0, the default priority heuristic is used. }, - "description": "A String", # The description of this Label. + "description": "A String", # The description of this label. "displayName": "A String", # Required. The display text to show in the UI identifying this field. - "insertBeforeChoice": "A String", # Input only. Insert or move this Choice to be ordered before the indicated Choice. If empty, the Choice will be placed at the end of the list. + "insertBeforeChoice": "A String", # Input only. Insert or move this choice before the indicated choice. If empty, the choice is placed at the end of the list. }, - "publishTime": "A String", # Output only. The time this Choice was published. This value has no meaning when the Choice is not published. - "publisher": { # Information about a user. # Output only. The user who published this Choice. This value has no meaning when the Choice is not published. - "person": "A String", # The identifier for this user who can be used with the People API to get more information. e.g. people/12345678 + "publishTime": "A String", # Output only. The time this choice was published. This value has no meaning when the choice is not published. + "publisher": { # Information about a user. # Output only. The user who published this choice. This value has no meaning when the choice is not published. + "person": "A String", # The identifier for this user that can be used with the People API to get more information. For example, people/12345678. }, - "schemaCapabilities": { # The capabilities related to this Choice when editing the Choice. # Output only. The capabilities related to this option when editing the option. - "canDelete": True or False, # Whether the user can delete this Choice. - "canDisable": True or False, # Whether the user can disable this Chioce. - "canEnable": True or False, # Whether the user can enable this Choice. - "canUpdate": True or False, # Whether the user can update this Choice. + "schemaCapabilities": { # The capabilities related to this choice when editing the choice. # Output only. The capabilities related to this option when editing the option. + "canDelete": True or False, # Whether the user can delete this choice. + "canDisable": True or False, # Whether the user can disable this choice. + "canEnable": True or False, # Whether the user can enable this choice. + "canUpdate": True or False, # Whether the user can update this choice. }, - "updateTime": "A String", # Output only. The time this Choice was updated last. - "updater": { # Information about a user. # Output only. The user who updated this Choice last. - "person": "A String", # The identifier for this user who can be used with the People API to get more information. e.g. people/12345678 + "updateTime": "A String", # Output only. The time this choice was updated last. + "updater": { # Information about a user. # Output only. The user who updated this choice last. + "person": "A String", # The identifier for this user that can be used with the People API to get more information. For example, people/12345678. }, }, ], - "listOptions": { # Options for a multi-valued variant of an associated field type. # When specified, indicates that this field support a list of values. Once the field is published, this cannot be changed. + "listOptions": { # Options for a multi-valued variant of an associated field type. # When specified, indicates this field supports a list of values. Once the field is published, this cannot be changed. "maxEntries": 42, # Maximum number of entries permitted. }, }, @@ -595,48 +595,48 @@

Method Details

}, "updateTime": "A String", # Output only. The time this field was updated. "updater": { # Information about a user. # Output only. The user who modified this field. - "person": "A String", # The identifier for this user who can be used with the People API to get more information. e.g. people/12345678 + "person": "A String", # The identifier for this user that can be used with the People API to get more information. For example, people/12345678. }, "userOptions": { # Options for the user field type. # User field options. - "listOptions": { # Options for a multi-valued variant of an associated field type. # When specified, indicates that this field support a list of values. Once the field is published, this cannot be changed. + "listOptions": { # Options for a multi-valued variant of an associated field type. # When specified, indicates that this field supports a list of values. Once the field is published, this cannot be changed. "maxEntries": 42, # Maximum number of entries permitted. }, }, }, ], - "id": "A String", # Output only. Globally unique identifier of this Label. ID makes up part of the Label `name`, but unlike `name`, ID is consistent between revisions. Matches the regex: `([a-zA-Z0-9])+` - "labelType": "A String", # Required. The type of this label. + "id": "A String", # Output only. Globally unique identifier of this label. ID makes up part of the label `name`, but unlike `name`, ID is consistent between revisions. Matches the regex: `([a-zA-Z0-9])+` + "labelType": "A String", # Required. The type of label. "learnMoreUri": "A String", # Custom URL to present to users to allow them to learn more about this label and how it should be used. - "lifecycle": { # The lifecycle state of an object, e.g. Label, Field, or Choice. The Lifecycle enforces the following transitions: * `UNPUBLISHED_DRAFT` (starting state) * `UNPUBLISHED_DRAFT` -> `PUBLISHED` * `UNPUBLISHED_DRAFT` -> (Deleted) * `PUBLISHED` -> `DISABLED` * `DISABLED` -> `PUBLISHED` * `DISABLED` -> (Deleted) The published and disabled states have some distinct characteristics: * Published - Some kinds of changes may be made to an object in this state, in which case `has_unpublished_changes` will be true. Some kinds of changes are not permitted. Generally, any change that would invalidate or cause new restrictions on existing metadata related to the Label will be rejected. * Disabled - When disabled, the configured `DisabledPolicy` will take effect. # Output only. The lifecycle state of the label including whether it's published, deprecated, and has draft changes. + "lifecycle": { # The lifecycle state of an object, such as label, field, or choice. The lifecycle enforces the following transitions: * `UNPUBLISHED_DRAFT` (starting state) * `UNPUBLISHED_DRAFT` -> `PUBLISHED` * `UNPUBLISHED_DRAFT` -> (Deleted) * `PUBLISHED` -> `DISABLED` * `DISABLED` -> `PUBLISHED` * `DISABLED` -> (Deleted) The published and disabled states have some distinct characteristics: * Published—Some kinds of changes might be made to an object in this state, in which case `has_unpublished_changes` will be true. Also, some kinds of changes are not permitted. Generally, any change that would invalidate or cause new restrictions on existing metadata related to the label are rejected. * Disabled—When disabled, the configured `DisabledPolicy` takes effect. # Output only. The lifecycle state of the label including whether it's published, deprecated, and has draft changes. "disabledPolicy": { # The policy that governs how to treat a disabled label, field, or selection choice in different contexts. # The policy that governs how to show a disabled label, field, or selection choice. - "hideInSearch": True or False, # Whether to hide this disabled object in the search menu for Drive items. * When `false` the object will generally be shown in the UI as disabled (but still permit searching) when searching for Drive items. * When `true` the object will generally be hidden in the UI when searching for Drive items. - "showInApply": True or False, # Whether to show this disabled object in the apply menu on Drive items. * When `true` the object will generally be shown in the UI as disabled and is unselectable. * When `false` the object will generally be hidden in the UI. + "hideInSearch": True or False, # Whether to hide this disabled object in the search menu for Drive items. * When `false`, the object is generally shown in the UI as disabled but it appears in the search results when searching for Drive items. * When `true`, the object is generally hidden in the UI when searching for Drive items. + "showInApply": True or False, # Whether to show this disabled object in the apply menu on Drive items. * When `true`, the object is generally shown in the UI as disabled and is unselectable. * When `false`, the object is generally hidden in the UI. }, "hasUnpublishedChanges": True or False, # Output only. Whether the object associated with this lifecycle has unpublished changes. "state": "A String", # Output only. The state of the object associated with this lifecycle. }, "lockStatus": { # Contains information about whether a label component should be considered locked. # Output only. The LockStatus of this label. - "locked": True or False, # Output only. Indicates whether this label component is the (direct) target of a LabelLock. A label component may be implicitly locked even if it is not the direct target of a LabelLock, in which case this field will be false. + "locked": True or False, # Output only. Indicates whether this label component is the (direct) target of a LabelLock. A label component can be implicitly locked even if it's not the direct target of a LabelLock, in which case this field is set to false. }, - "name": "A String", # Output only. Resource name of the Label. Will be in the form of either: `labels/{id}` or `labels/{id}@{revision_id}` depending on the request. See `id` and `revision_id` below. - "properties": { # Basic properties of the Label. # Required. The basic properties of the Label. - "description": "A String", # The description of this Label. - "title": "A String", # Required. Title of the Label. + "name": "A String", # Output only. Resource name of the label. Will be in the form of either: `labels/{id}` or `labels/{id}@{revision_id}` depending on the request. See `id` and `revision_id` below. + "properties": { # Basic properties of the label. # Required. The basic properties of the label. + "description": "A String", # The description of the label. + "title": "A String", # Required. Title of the label. }, "publishTime": "A String", # Output only. The time this label was published. This value has no meaning when the label is not published. "publisher": { # Information about a user. # Output only. The user who published this label. This value has no meaning when the label is not published. - "person": "A String", # The identifier for this user who can be used with the People API to get more information. e.g. people/12345678 + "person": "A String", # The identifier for this user that can be used with the People API to get more information. For example, people/12345678. }, "revisionCreateTime": "A String", # Output only. The time this label revision was created. "revisionCreator": { # Information about a user. # Output only. The user who created this label revision. - "person": "A String", # The identifier for this user who can be used with the People API to get more information. e.g. people/12345678 + "person": "A String", # The identifier for this user that can be used with the People API to get more information. For example, people/12345678. }, - "revisionId": "A String", # Output only. Revision ID of the Label. Revision ID may be part of the Label `name` depending on the request issued. A new revision is created whenever revisioned properties of a Label are changed. Matches the regex: `([a-zA-Z0-9])+` - "schemaCapabilities": { # The capabilities related to this Label when editing the Label. # Output only. The capabilities the user has on this Label. - "canDelete": True or False, # Whether the user can delete this Label. The user must have permission and the Label must be disabled. - "canDisable": True or False, # Whether the user can disable this Label. The user must have permission and this Label must not already be disabled. - "canEnable": True or False, # Whether the user can enable this Label. The user must have permission and this Label must be disabled. - "canUpdate": True or False, # Whether the user can change this Label. + "revisionId": "A String", # Output only. Revision ID of the label. Revision ID might be part of the label `name` depending on the request issued. A new revision is created whenever revisioned properties of a label are changed. Matches the regex: `([a-zA-Z0-9])+` + "schemaCapabilities": { # The capabilities related to this label when editing the label. # Output only. The capabilities the user has on this label. + "canDelete": True or False, # Whether the user can delete this label. The user must have permission and the label must be disabled. + "canDisable": True or False, # Whether the user can disable this label. The user must have permission and this label must not already be disabled. + "canEnable": True or False, # Whether the user can enable this label. The user must have permission and this label must be disabled. + "canUpdate": True or False, # Whether the user can change this label. }, }, ], diff --git a/docs/dyn/drivelabels_v2beta.html b/docs/dyn/drivelabels_v2beta.html new file mode 100644 index 00000000000..81aaf2307fb --- /dev/null +++ b/docs/dyn/drivelabels_v2beta.html @@ -0,0 +1,121 @@ + + + +

Drive Labels API

+

Instance Methods

+

+ labels() +

+

Returns the labels Resource.

+ +

+ limits() +

+

Returns the limits Resource.

+ +

+ users() +

+

Returns the users Resource.

+ +

+ close()

+

Close httplib2 connections.

+

+ new_batch_http_request()

+

Create a BatchHttpRequest object based on the discovery document.

+

Method Details

+
+ close() +
Close httplib2 connections.
+
+ +
+ new_batch_http_request() +
Create a BatchHttpRequest object based on the discovery document.
+
+                Args:
+                  callback: callable, A callback to be called for each response, of the
+                    form callback(id, response, exception). The first parameter is the
+                    request id, and the second is the deserialized response object. The
+                    third is an apiclient.errors.HttpError exception object if an HTTP
+                    error occurred while processing the request, or None if no error
+                    occurred.
+
+                Returns:
+                  A BatchHttpRequest object based on the discovery document.
+                
+
+ + \ No newline at end of file diff --git a/docs/dyn/drivelabels_v2beta.labels.html b/docs/dyn/drivelabels_v2beta.labels.html new file mode 100644 index 00000000000..02cfb3d3e44 --- /dev/null +++ b/docs/dyn/drivelabels_v2beta.labels.html @@ -0,0 +1,3149 @@ + + + +

Drive Labels API . labels

+

Instance Methods

+

+ locks() +

+

Returns the locks Resource.

+ +

+ permissions() +

+

Returns the permissions Resource.

+ +

+ revisions() +

+

Returns the revisions Resource.

+ +

+ close()

+

Close httplib2 connections.

+

+ create(body=None, languageCode=None, useAdminAccess=None, x__xgafv=None)

+

Creates a new Label.

+

+ delete(name, useAdminAccess=None, writeControl_requiredRevisionId=None, x__xgafv=None)

+

Permanently deletes a Label and related metadata on Drive Items. Once deleted, the Label and related Drive item metadata will be deleted. Only draft Labels, and disabled Labels may be deleted.

+

+ delta(name, body=None, x__xgafv=None)

+

Updates a single Label by applying a set of update requests resulting in a new draft revision. The batch update is all-or-nothing: If any of the update requests are invalid, no changes are applied. The resulting draft revision must be published before the changes may be used with Drive Items.

+

+ disable(name, body=None, x__xgafv=None)

+

Disable a published Label. Disabling a Label will result in a new disabled published revision based on the current published revision. If there is a draft revision, a new disabled draft revision will be created based on the latest draft revision. Older draft revisions will be deleted. Once disabled, a label may be deleted with `DeleteLabel`.

+

+ enable(name, body=None, x__xgafv=None)

+

Enable a disabled Label and restore it to its published state. This will result in a new published revision based on the current disabled published revision. If there is an existing disabled draft revision, a new revision will be created based on that draft and will be enabled.

+

+ get(name, languageCode=None, useAdminAccess=None, view=None, x__xgafv=None)

+

Get a label by its resource name. Resource name may be any of: * `labels/{id}` - See `labels/{id}@latest` * `labels/{id}@latest` - Gets the latest revision of the label. * `labels/{id}@published` - Gets the current published revision of the label. * `labels/{id}@{revision_id}` - Gets the label at the specified revision ID.

+

+ list(languageCode=None, minimumRole=None, pageSize=None, pageToken=None, publishedOnly=None, useAdminAccess=None, view=None, x__xgafv=None)

+

List labels.

+

+ list_next()

+

Retrieves the next page of results.

+

+ publish(name, body=None, x__xgafv=None)

+

Publish all draft changes to the Label. Once published, the Label may not return to its draft state. See `google.apps.drive.labels.v2.Lifecycle` for more information. Publishing a Label will result in a new published revision. All previous draft revisions will be deleted. Previous published revisions will be kept but are subject to automated deletion as needed. Once published, some changes are no longer permitted. Generally, any change that would invalidate or cause new restrictions on existing metadata related to the Label will be rejected. For example, the following changes to a Label will be rejected after the Label is published: * The label cannot be directly deleted. It must be disabled first, then deleted. * Field.FieldType cannot be changed. * Changes to Field validation options cannot reject something that was previously accepted. * Reducing the max entries.

+

+ updateLabelCopyMode(name, body=None, x__xgafv=None)

+

Updates a Label's `CopyMode`. Changes to this policy are not revisioned, do not require publishing, and take effect immediately.

+

Method Details

+
+ close() +
Close httplib2 connections.
+
+ +
+ create(body=None, languageCode=None, useAdminAccess=None, x__xgafv=None) +
Creates a new Label.
+
+Args:
+  body: object, The request body.
+    The object takes the form of:
+
+{ # A label defines a taxonomy that can be applied to Drive items in order to organize and search across items. Labels can be simple strings, or can contain fields that describe additional metadata that can be further used to organize and search Drive items.
+  "appliedCapabilities": { # The capabilities a user has on this label's applied metadata. # Output only. The capabilities related to this label on applied metadata.
+    "canApply": True or False, # Whether the user can apply this label to items.
+    "canRead": True or False, # Whether the user can read applied metadata related to this label.
+    "canRemove": True or False, # Whether the user can remove this label from items.
+  },
+  "appliedLabelPolicy": { # Behavior of this label when it's applied to Drive items. # Output only. Behavior of this label when it's applied to Drive items.
+    "copyMode": "A String", # Indicates how the applied label and field values should be copied when a Drive item is copied.
+  },
+  "createTime": "A String", # Output only. The time this label was created.
+  "creator": { # Information about a user. # Output only. The user who created this label.
+    "person": "A String", # The identifier for this user that can be used with the People API to get more information. For example, people/12345678.
+  },
+  "disableTime": "A String", # Output only. The time this label was disabled. This value has no meaning when the label is not disabled.
+  "disabler": { # Information about a user. # Output only. The user who disabled this label. This value has no meaning when the label is not disabled.
+    "person": "A String", # The identifier for this user that can be used with the People API to get more information. For example, people/12345678.
+  },
+  "displayHints": { # UI display hints for rendering the label. # Output only. UI display hints for rendering the label.
+    "disabled": True or False, # Whether the label should be shown in the UI as disabled.
+    "hiddenInSearch": True or False, # This label should be hidden in the search menu when searching for Drive items.
+    "priority": "A String", # Order to display label in a list.
+    "shownInApply": True or False, # This label should be shown in the apply menu when applying values to a Drive item.
+  },
+  "fields": [ # List of fields in descending priority order.
+    { # Defines a field that has a display name, data type, and other configuration options. This field defines the kind of metadata that may be set on a Drive item.
+      "appliedCapabilities": { # The capabilities related to this field on applied metadata. # Output only. The capabilities this user has on this field and its value when the label is applied on Drive items.
+        "canRead": True or False, # Whether the user can read related applied metadata on items.
+        "canSearch": True or False, # Whether the user can search for Drive items referencing this field.
+        "canWrite": True or False, # Whether the user can set this field on Drive items.
+      },
+      "createTime": "A String", # Output only. The time this field was created.
+      "creator": { # Information about a user. # Output only. The user who created this field.
+        "person": "A String", # The identifier for this user that can be used with the People API to get more information. For example, people/12345678.
+      },
+      "dateOptions": { # Options for the date field type. # Date field options.
+        "dateFormat": "A String", # Output only. ICU date format.
+        "dateFormatType": "A String", # Localized date formatting option. Field values are rendered in this format according to their locale.
+        "maxValue": { # Represents a whole or partial calendar date, such as a birthday. The time of day and time zone are either specified elsewhere or are insignificant. The date is relative to the Gregorian Calendar. This can represent one of the following: * A full date, with non-zero year, month, and day values. * A month and day, with a zero year (for example, an anniversary). * A year on its own, with a zero month and a zero day. * A year and month, with a zero day (for example, a credit card expiration date). Related types: * google.type.TimeOfDay * google.type.DateTime * google.protobuf.Timestamp # Output only. Maximum valid value (year, month, day).
+          "day": 42, # Day of a month. Must be from 1 to 31 and valid for the year and month, or 0 to specify a year by itself or a year and month where the day isn't significant.
+          "month": 42, # Month of a year. Must be from 1 to 12, or 0 to specify a year without a month and day.
+          "year": 42, # Year of the date. Must be from 1 to 9999, or 0 to specify a date without a year.
+        },
+        "minValue": { # Represents a whole or partial calendar date, such as a birthday. The time of day and time zone are either specified elsewhere or are insignificant. The date is relative to the Gregorian Calendar. This can represent one of the following: * A full date, with non-zero year, month, and day values. * A month and day, with a zero year (for example, an anniversary). * A year on its own, with a zero month and a zero day. * A year and month, with a zero day (for example, a credit card expiration date). Related types: * google.type.TimeOfDay * google.type.DateTime * google.protobuf.Timestamp # Output only. Minimum valid value (year, month, day).
+          "day": 42, # Day of a month. Must be from 1 to 31 and valid for the year and month, or 0 to specify a year by itself or a year and month where the day isn't significant.
+          "month": 42, # Month of a year. Must be from 1 to 12, or 0 to specify a year without a month and day.
+          "year": 42, # Year of the date. Must be from 1 to 9999, or 0 to specify a date without a year.
+        },
+      },
+      "disableTime": "A String", # Output only. The time this field was disabled. This value has no meaning when the field is not disabled.
+      "disabler": { # Information about a user. # Output only. The user who disabled this field. This value has no meaning when the field is not disabled.
+        "person": "A String", # The identifier for this user that can be used with the People API to get more information. For example, people/12345678.
+      },
+      "displayHints": { # UI display hints for rendering a field. # Output only. UI display hints for rendering a field.
+        "disabled": True or False, # Whether the field should be shown in the UI as disabled.
+        "hiddenInSearch": True or False, # This field should be hidden in the search menu when searching for Drive items.
+        "required": True or False, # Whether the field should be shown as required in the UI.
+        "shownInApply": True or False, # This field should be shown in the apply menu when applying values to a Drive item.
+      },
+      "id": "A String", # Output only. The key of a field, unique within a label or library. This value is autogenerated. Matches the regex: `([a-zA-Z0-9])+`
+      "integerOptions": { # Options for the Integer field type. # Integer field options.
+        "maxValue": "A String", # Output only. The maximum valid value for the integer field.
+        "minValue": "A String", # Output only. The minimum valid value for the integer field.
+      },
+      "lifecycle": { # The lifecycle state of an object, such as label, field, or choice. The lifecycle enforces the following transitions: * `UNPUBLISHED_DRAFT` (starting state) * `UNPUBLISHED_DRAFT` -> `PUBLISHED` * `UNPUBLISHED_DRAFT` -> (Deleted) * `PUBLISHED` -> `DISABLED` * `DISABLED` -> `PUBLISHED` * `DISABLED` -> (Deleted) The published and disabled states have some distinct characteristics: * Published—Some kinds of changes might be made to an object in this state, in which case `has_unpublished_changes` will be true. Also, some kinds of changes are not permitted. Generally, any change that would invalidate or cause new restrictions on existing metadata related to the label are rejected. * Disabled—When disabled, the configured `DisabledPolicy` takes effect. # Output only. The lifecycle of this field.
+        "disabledPolicy": { # The policy that governs how to treat a disabled label, field, or selection choice in different contexts. # The policy that governs how to show a disabled label, field, or selection choice.
+          "hideInSearch": True or False, # Whether to hide this disabled object in the search menu for Drive items. * When `false`, the object is generally shown in the UI as disabled but it appears in the search results when searching for Drive items. * When `true`, the object is generally hidden in the UI when searching for Drive items.
+          "showInApply": True or False, # Whether to show this disabled object in the apply menu on Drive items. * When `true`, the object is generally shown in the UI as disabled and is unselectable. * When `false`, the object is generally hidden in the UI.
+        },
+        "hasUnpublishedChanges": True or False, # Output only. Whether the object associated with this lifecycle has unpublished changes.
+        "state": "A String", # Output only. The state of the object associated with this lifecycle.
+      },
+      "lockStatus": { # Contains information about whether a label component should be considered locked. # Output only. The LockStatus of this field.
+        "locked": True or False, # Output only. Indicates whether this label component is the (direct) target of a LabelLock. A label component can be implicitly locked even if it's not the direct target of a LabelLock, in which case this field is set to false.
+      },
+      "properties": { # The basic properties of the field. # The basic properties of the field.
+        "displayName": "A String", # Required. The display text to show in the UI identifying this field.
+        "insertBeforeField": "A String", # Input only. Insert or move this field before the indicated field. If empty, the field is placed at the end of the list.
+        "required": True or False, # Whether the field should be marked as required.
+      },
+      "publisher": { # Information about a user. # Output only. The user who published this field. This value has no meaning when the field is not published.
+        "person": "A String", # The identifier for this user that can be used with the People API to get more information. For example, people/12345678.
+      },
+      "queryKey": "A String", # Output only. The key to use when constructing Drive search queries to find files based on values defined for this field on files. For example, "`{query_key}` > 2001-01-01".
+      "schemaCapabilities": { # The capabilities related to this field when editing the field. # Output only. The capabilities this user has when editing this field.
+        "canDelete": True or False, # Whether the user can delete this field. The user must have permission and the field must be deprecated.
+        "canDisable": True or False, # Whether the user can disable this field. The user must have permission and this field must not already be disabled.
+        "canEnable": True or False, # Whether the user can enable this field. The user must have permission and this field must be disabled.
+        "canUpdate": True or False, # Whether the user can change this field.
+      },
+      "selectionOptions": { # Options for the selection field type. # Selection field options.
+        "choices": [ # The options available for this selection field. The list order is consistent, and modified with `insert_before_choice`.
+          { # Selection field choice.
+            "appliedCapabilities": { # The capabilities related to this choice on applied metadata. # Output only. The capabilities related to this choice on applied metadata.
+              "canRead": True or False, # Whether the user can read related applied metadata on items.
+              "canSearch": True or False, # Whether the user can use this choice in search queries.
+              "canSelect": True or False, # Whether the user can select this choice on an item.
+            },
+            "createTime": "A String", # Output only. The time this choice was created.
+            "creator": { # Information about a user. # Output only. The user who created this choice.
+              "person": "A String", # The identifier for this user that can be used with the People API to get more information. For example, people/12345678.
+            },
+            "disableTime": "A String", # Output only. The time this choice was disabled. This value has no meaning when the choice is not disabled.
+            "disabler": { # Information about a user. # Output only. The user who disabled this choice. This value has no meaning when the option is not disabled.
+              "person": "A String", # The identifier for this user that can be used with the People API to get more information. For example, people/12345678.
+            },
+            "displayHints": { # UI display hints for rendering an option. # Output only. UI display hints for rendering a choice.
+              "badgeColors": { # The color derived from BadgeConfig and changed to the closest recommended supported color. # The colors to use for the badge. Changed to Google Material colors based on the chosen `properties.badge_config.color`.
+                "backgroundColor": { # Represents a color in the RGBA color space. This representation is designed for simplicity of conversion to/from color representations in various languages over compactness. For example, the fields of this representation can be trivially provided to the constructor of `java.awt.Color` in Java; it can also be trivially provided to UIColor's `+colorWithRed:green:blue:alpha` method in iOS; and, with just a little work, it can be easily formatted into a CSS `rgba()` string in JavaScript. This reference page doesn't carry information about the absolute color space that should be used to interpret the RGB value (e.g. sRGB, Adobe RGB, DCI-P3, BT.2020, etc.). By default, applications should assume the sRGB color space. When color equality needs to be decided, implementations, unless documented otherwise, treat two colors as equal if all their red, green, blue, and alpha values each differ by at most 1e-5. Example (Java): import com.google.type.Color; // ... public static java.awt.Color fromProto(Color protocolor) { float alpha = protocolor.hasAlpha() ? protocolor.getAlpha().getValue() : 1.0; return new java.awt.Color( protocolor.getRed(), protocolor.getGreen(), protocolor.getBlue(), alpha); } public static Color toProto(java.awt.Color color) { float red = (float) color.getRed(); float green = (float) color.getGreen(); float blue = (float) color.getBlue(); float denominator = 255.0; Color.Builder resultBuilder = Color .newBuilder() .setRed(red / denominator) .setGreen(green / denominator) .setBlue(blue / denominator); int alpha = color.getAlpha(); if (alpha != 255) { result.setAlpha( FloatValue .newBuilder() .setValue(((float) alpha) / denominator) .build()); } return resultBuilder.build(); } // ... Example (iOS / Obj-C): // ... static UIColor* fromProto(Color* protocolor) { float red = [protocolor red]; float green = [protocolor green]; float blue = [protocolor blue]; FloatValue* alpha_wrapper = [protocolor alpha]; float alpha = 1.0; if (alpha_wrapper != nil) { alpha = [alpha_wrapper value]; } return [UIColor colorWithRed:red green:green blue:blue alpha:alpha]; } static Color* toProto(UIColor* color) { CGFloat red, green, blue, alpha; if (![color getRed:&red green:&green blue:&blue alpha:&alpha]) { return nil; } Color* result = [[Color alloc] init]; [result setRed:red]; [result setGreen:green]; [result setBlue:blue]; if (alpha <= 0.9999) { [result setAlpha:floatWrapperWithValue(alpha)]; } [result autorelease]; return result; } // ... Example (JavaScript): // ... var protoToCssColor = function(rgb_color) { var redFrac = rgb_color.red || 0.0; var greenFrac = rgb_color.green || 0.0; var blueFrac = rgb_color.blue || 0.0; var red = Math.floor(redFrac * 255); var green = Math.floor(greenFrac * 255); var blue = Math.floor(blueFrac * 255); if (!('alpha' in rgb_color)) { return rgbToCssColor(red, green, blue); } var alphaFrac = rgb_color.alpha.value || 0.0; var rgbParams = [red, green, blue].join(','); return ['rgba(', rgbParams, ',', alphaFrac, ')'].join(''); }; var rgbToCssColor = function(red, green, blue) { var rgbNumber = new Number((red << 16) | (green << 8) | blue); var hexString = rgbNumber.toString(16); var missingZeros = 6 - hexString.length; var resultBuilder = ['#']; for (var i = 0; i < missingZeros; i++) { resultBuilder.push('0'); } resultBuilder.push(hexString); return resultBuilder.join(''); }; // ... # Output only. Badge background that pairs with the foreground.
+                  "alpha": 3.14, # The fraction of this color that should be applied to the pixel. That is, the final pixel color is defined by the equation: `pixel color = alpha * (this color) + (1.0 - alpha) * (background color)` This means that a value of 1.0 corresponds to a solid color, whereas a value of 0.0 corresponds to a completely transparent color. This uses a wrapper message rather than a simple float scalar so that it is possible to distinguish between a default value and the value being unset. If omitted, this color object is rendered as a solid color (as if the alpha value had been explicitly given a value of 1.0).
+                  "blue": 3.14, # The amount of blue in the color as a value in the interval [0, 1].
+                  "green": 3.14, # The amount of green in the color as a value in the interval [0, 1].
+                  "red": 3.14, # The amount of red in the color as a value in the interval [0, 1].
+                },
+                "foregroundColor": { # Represents a color in the RGBA color space. This representation is designed for simplicity of conversion to/from color representations in various languages over compactness. For example, the fields of this representation can be trivially provided to the constructor of `java.awt.Color` in Java; it can also be trivially provided to UIColor's `+colorWithRed:green:blue:alpha` method in iOS; and, with just a little work, it can be easily formatted into a CSS `rgba()` string in JavaScript. This reference page doesn't carry information about the absolute color space that should be used to interpret the RGB value (e.g. sRGB, Adobe RGB, DCI-P3, BT.2020, etc.). By default, applications should assume the sRGB color space. When color equality needs to be decided, implementations, unless documented otherwise, treat two colors as equal if all their red, green, blue, and alpha values each differ by at most 1e-5. Example (Java): import com.google.type.Color; // ... public static java.awt.Color fromProto(Color protocolor) { float alpha = protocolor.hasAlpha() ? protocolor.getAlpha().getValue() : 1.0; return new java.awt.Color( protocolor.getRed(), protocolor.getGreen(), protocolor.getBlue(), alpha); } public static Color toProto(java.awt.Color color) { float red = (float) color.getRed(); float green = (float) color.getGreen(); float blue = (float) color.getBlue(); float denominator = 255.0; Color.Builder resultBuilder = Color .newBuilder() .setRed(red / denominator) .setGreen(green / denominator) .setBlue(blue / denominator); int alpha = color.getAlpha(); if (alpha != 255) { result.setAlpha( FloatValue .newBuilder() .setValue(((float) alpha) / denominator) .build()); } return resultBuilder.build(); } // ... Example (iOS / Obj-C): // ... static UIColor* fromProto(Color* protocolor) { float red = [protocolor red]; float green = [protocolor green]; float blue = [protocolor blue]; FloatValue* alpha_wrapper = [protocolor alpha]; float alpha = 1.0; if (alpha_wrapper != nil) { alpha = [alpha_wrapper value]; } return [UIColor colorWithRed:red green:green blue:blue alpha:alpha]; } static Color* toProto(UIColor* color) { CGFloat red, green, blue, alpha; if (![color getRed:&red green:&green blue:&blue alpha:&alpha]) { return nil; } Color* result = [[Color alloc] init]; [result setRed:red]; [result setGreen:green]; [result setBlue:blue]; if (alpha <= 0.9999) { [result setAlpha:floatWrapperWithValue(alpha)]; } [result autorelease]; return result; } // ... Example (JavaScript): // ... var protoToCssColor = function(rgb_color) { var redFrac = rgb_color.red || 0.0; var greenFrac = rgb_color.green || 0.0; var blueFrac = rgb_color.blue || 0.0; var red = Math.floor(redFrac * 255); var green = Math.floor(greenFrac * 255); var blue = Math.floor(blueFrac * 255); if (!('alpha' in rgb_color)) { return rgbToCssColor(red, green, blue); } var alphaFrac = rgb_color.alpha.value || 0.0; var rgbParams = [red, green, blue].join(','); return ['rgba(', rgbParams, ',', alphaFrac, ')'].join(''); }; var rgbToCssColor = function(red, green, blue) { var rgbNumber = new Number((red << 16) | (green << 8) | blue); var hexString = rgbNumber.toString(16); var missingZeros = 6 - hexString.length; var resultBuilder = ['#']; for (var i = 0; i < missingZeros; i++) { resultBuilder.push('0'); } resultBuilder.push(hexString); return resultBuilder.join(''); }; // ... # Output only. Badge foreground that pairs with the background.
+                  "alpha": 3.14, # The fraction of this color that should be applied to the pixel. That is, the final pixel color is defined by the equation: `pixel color = alpha * (this color) + (1.0 - alpha) * (background color)` This means that a value of 1.0 corresponds to a solid color, whereas a value of 0.0 corresponds to a completely transparent color. This uses a wrapper message rather than a simple float scalar so that it is possible to distinguish between a default value and the value being unset. If omitted, this color object is rendered as a solid color (as if the alpha value had been explicitly given a value of 1.0).
+                  "blue": 3.14, # The amount of blue in the color as a value in the interval [0, 1].
+                  "green": 3.14, # The amount of green in the color as a value in the interval [0, 1].
+                  "red": 3.14, # The amount of red in the color as a value in the interval [0, 1].
+                },
+                "soloColor": { # Represents a color in the RGBA color space. This representation is designed for simplicity of conversion to/from color representations in various languages over compactness. For example, the fields of this representation can be trivially provided to the constructor of `java.awt.Color` in Java; it can also be trivially provided to UIColor's `+colorWithRed:green:blue:alpha` method in iOS; and, with just a little work, it can be easily formatted into a CSS `rgba()` string in JavaScript. This reference page doesn't carry information about the absolute color space that should be used to interpret the RGB value (e.g. sRGB, Adobe RGB, DCI-P3, BT.2020, etc.). By default, applications should assume the sRGB color space. When color equality needs to be decided, implementations, unless documented otherwise, treat two colors as equal if all their red, green, blue, and alpha values each differ by at most 1e-5. Example (Java): import com.google.type.Color; // ... public static java.awt.Color fromProto(Color protocolor) { float alpha = protocolor.hasAlpha() ? protocolor.getAlpha().getValue() : 1.0; return new java.awt.Color( protocolor.getRed(), protocolor.getGreen(), protocolor.getBlue(), alpha); } public static Color toProto(java.awt.Color color) { float red = (float) color.getRed(); float green = (float) color.getGreen(); float blue = (float) color.getBlue(); float denominator = 255.0; Color.Builder resultBuilder = Color .newBuilder() .setRed(red / denominator) .setGreen(green / denominator) .setBlue(blue / denominator); int alpha = color.getAlpha(); if (alpha != 255) { result.setAlpha( FloatValue .newBuilder() .setValue(((float) alpha) / denominator) .build()); } return resultBuilder.build(); } // ... Example (iOS / Obj-C): // ... static UIColor* fromProto(Color* protocolor) { float red = [protocolor red]; float green = [protocolor green]; float blue = [protocolor blue]; FloatValue* alpha_wrapper = [protocolor alpha]; float alpha = 1.0; if (alpha_wrapper != nil) { alpha = [alpha_wrapper value]; } return [UIColor colorWithRed:red green:green blue:blue alpha:alpha]; } static Color* toProto(UIColor* color) { CGFloat red, green, blue, alpha; if (![color getRed:&red green:&green blue:&blue alpha:&alpha]) { return nil; } Color* result = [[Color alloc] init]; [result setRed:red]; [result setGreen:green]; [result setBlue:blue]; if (alpha <= 0.9999) { [result setAlpha:floatWrapperWithValue(alpha)]; } [result autorelease]; return result; } // ... Example (JavaScript): // ... var protoToCssColor = function(rgb_color) { var redFrac = rgb_color.red || 0.0; var greenFrac = rgb_color.green || 0.0; var blueFrac = rgb_color.blue || 0.0; var red = Math.floor(redFrac * 255); var green = Math.floor(greenFrac * 255); var blue = Math.floor(blueFrac * 255); if (!('alpha' in rgb_color)) { return rgbToCssColor(red, green, blue); } var alphaFrac = rgb_color.alpha.value || 0.0; var rgbParams = [red, green, blue].join(','); return ['rgba(', rgbParams, ',', alphaFrac, ')'].join(''); }; var rgbToCssColor = function(red, green, blue) { var rgbNumber = new Number((red << 16) | (green << 8) | blue); var hexString = rgbNumber.toString(16); var missingZeros = 6 - hexString.length; var resultBuilder = ['#']; for (var i = 0; i < missingZeros; i++) { resultBuilder.push('0'); } resultBuilder.push(hexString); return resultBuilder.join(''); }; // ... # Output only. Color that can be used for text without a background.
+                  "alpha": 3.14, # The fraction of this color that should be applied to the pixel. That is, the final pixel color is defined by the equation: `pixel color = alpha * (this color) + (1.0 - alpha) * (background color)` This means that a value of 1.0 corresponds to a solid color, whereas a value of 0.0 corresponds to a completely transparent color. This uses a wrapper message rather than a simple float scalar so that it is possible to distinguish between a default value and the value being unset. If omitted, this color object is rendered as a solid color (as if the alpha value had been explicitly given a value of 1.0).
+                  "blue": 3.14, # The amount of blue in the color as a value in the interval [0, 1].
+                  "green": 3.14, # The amount of green in the color as a value in the interval [0, 1].
+                  "red": 3.14, # The amount of red in the color as a value in the interval [0, 1].
+                },
+              },
+              "badgePriority": "A String", # The priority of this badge. Used to compare and sort between multiple badges. A lower number means the badge should be shown first. When a badging configuration is not present, this will be 0. Otherwise, this will be set to `BadgeConfig.priority_override` or the default heuristic which prefers creation date of the label, and field and option priority.
+              "darkBadgeColors": { # The color derived from BadgeConfig and changed to the closest recommended supported color. # The dark-mode color to use for the badge. Changed to Google Material colors based on the chosen `properties.badge_config.color`.
+                "backgroundColor": { # Represents a color in the RGBA color space. This representation is designed for simplicity of conversion to/from color representations in various languages over compactness. For example, the fields of this representation can be trivially provided to the constructor of `java.awt.Color` in Java; it can also be trivially provided to UIColor's `+colorWithRed:green:blue:alpha` method in iOS; and, with just a little work, it can be easily formatted into a CSS `rgba()` string in JavaScript. This reference page doesn't carry information about the absolute color space that should be used to interpret the RGB value (e.g. sRGB, Adobe RGB, DCI-P3, BT.2020, etc.). By default, applications should assume the sRGB color space. When color equality needs to be decided, implementations, unless documented otherwise, treat two colors as equal if all their red, green, blue, and alpha values each differ by at most 1e-5. Example (Java): import com.google.type.Color; // ... public static java.awt.Color fromProto(Color protocolor) { float alpha = protocolor.hasAlpha() ? protocolor.getAlpha().getValue() : 1.0; return new java.awt.Color( protocolor.getRed(), protocolor.getGreen(), protocolor.getBlue(), alpha); } public static Color toProto(java.awt.Color color) { float red = (float) color.getRed(); float green = (float) color.getGreen(); float blue = (float) color.getBlue(); float denominator = 255.0; Color.Builder resultBuilder = Color .newBuilder() .setRed(red / denominator) .setGreen(green / denominator) .setBlue(blue / denominator); int alpha = color.getAlpha(); if (alpha != 255) { result.setAlpha( FloatValue .newBuilder() .setValue(((float) alpha) / denominator) .build()); } return resultBuilder.build(); } // ... Example (iOS / Obj-C): // ... static UIColor* fromProto(Color* protocolor) { float red = [protocolor red]; float green = [protocolor green]; float blue = [protocolor blue]; FloatValue* alpha_wrapper = [protocolor alpha]; float alpha = 1.0; if (alpha_wrapper != nil) { alpha = [alpha_wrapper value]; } return [UIColor colorWithRed:red green:green blue:blue alpha:alpha]; } static Color* toProto(UIColor* color) { CGFloat red, green, blue, alpha; if (![color getRed:&red green:&green blue:&blue alpha:&alpha]) { return nil; } Color* result = [[Color alloc] init]; [result setRed:red]; [result setGreen:green]; [result setBlue:blue]; if (alpha <= 0.9999) { [result setAlpha:floatWrapperWithValue(alpha)]; } [result autorelease]; return result; } // ... Example (JavaScript): // ... var protoToCssColor = function(rgb_color) { var redFrac = rgb_color.red || 0.0; var greenFrac = rgb_color.green || 0.0; var blueFrac = rgb_color.blue || 0.0; var red = Math.floor(redFrac * 255); var green = Math.floor(greenFrac * 255); var blue = Math.floor(blueFrac * 255); if (!('alpha' in rgb_color)) { return rgbToCssColor(red, green, blue); } var alphaFrac = rgb_color.alpha.value || 0.0; var rgbParams = [red, green, blue].join(','); return ['rgba(', rgbParams, ',', alphaFrac, ')'].join(''); }; var rgbToCssColor = function(red, green, blue) { var rgbNumber = new Number((red << 16) | (green << 8) | blue); var hexString = rgbNumber.toString(16); var missingZeros = 6 - hexString.length; var resultBuilder = ['#']; for (var i = 0; i < missingZeros; i++) { resultBuilder.push('0'); } resultBuilder.push(hexString); return resultBuilder.join(''); }; // ... # Output only. Badge background that pairs with the foreground.
+                  "alpha": 3.14, # The fraction of this color that should be applied to the pixel. That is, the final pixel color is defined by the equation: `pixel color = alpha * (this color) + (1.0 - alpha) * (background color)` This means that a value of 1.0 corresponds to a solid color, whereas a value of 0.0 corresponds to a completely transparent color. This uses a wrapper message rather than a simple float scalar so that it is possible to distinguish between a default value and the value being unset. If omitted, this color object is rendered as a solid color (as if the alpha value had been explicitly given a value of 1.0).
+                  "blue": 3.14, # The amount of blue in the color as a value in the interval [0, 1].
+                  "green": 3.14, # The amount of green in the color as a value in the interval [0, 1].
+                  "red": 3.14, # The amount of red in the color as a value in the interval [0, 1].
+                },
+                "foregroundColor": { # Represents a color in the RGBA color space. This representation is designed for simplicity of conversion to/from color representations in various languages over compactness. For example, the fields of this representation can be trivially provided to the constructor of `java.awt.Color` in Java; it can also be trivially provided to UIColor's `+colorWithRed:green:blue:alpha` method in iOS; and, with just a little work, it can be easily formatted into a CSS `rgba()` string in JavaScript. This reference page doesn't carry information about the absolute color space that should be used to interpret the RGB value (e.g. sRGB, Adobe RGB, DCI-P3, BT.2020, etc.). By default, applications should assume the sRGB color space. When color equality needs to be decided, implementations, unless documented otherwise, treat two colors as equal if all their red, green, blue, and alpha values each differ by at most 1e-5. Example (Java): import com.google.type.Color; // ... public static java.awt.Color fromProto(Color protocolor) { float alpha = protocolor.hasAlpha() ? protocolor.getAlpha().getValue() : 1.0; return new java.awt.Color( protocolor.getRed(), protocolor.getGreen(), protocolor.getBlue(), alpha); } public static Color toProto(java.awt.Color color) { float red = (float) color.getRed(); float green = (float) color.getGreen(); float blue = (float) color.getBlue(); float denominator = 255.0; Color.Builder resultBuilder = Color .newBuilder() .setRed(red / denominator) .setGreen(green / denominator) .setBlue(blue / denominator); int alpha = color.getAlpha(); if (alpha != 255) { result.setAlpha( FloatValue .newBuilder() .setValue(((float) alpha) / denominator) .build()); } return resultBuilder.build(); } // ... Example (iOS / Obj-C): // ... static UIColor* fromProto(Color* protocolor) { float red = [protocolor red]; float green = [protocolor green]; float blue = [protocolor blue]; FloatValue* alpha_wrapper = [protocolor alpha]; float alpha = 1.0; if (alpha_wrapper != nil) { alpha = [alpha_wrapper value]; } return [UIColor colorWithRed:red green:green blue:blue alpha:alpha]; } static Color* toProto(UIColor* color) { CGFloat red, green, blue, alpha; if (![color getRed:&red green:&green blue:&blue alpha:&alpha]) { return nil; } Color* result = [[Color alloc] init]; [result setRed:red]; [result setGreen:green]; [result setBlue:blue]; if (alpha <= 0.9999) { [result setAlpha:floatWrapperWithValue(alpha)]; } [result autorelease]; return result; } // ... Example (JavaScript): // ... var protoToCssColor = function(rgb_color) { var redFrac = rgb_color.red || 0.0; var greenFrac = rgb_color.green || 0.0; var blueFrac = rgb_color.blue || 0.0; var red = Math.floor(redFrac * 255); var green = Math.floor(greenFrac * 255); var blue = Math.floor(blueFrac * 255); if (!('alpha' in rgb_color)) { return rgbToCssColor(red, green, blue); } var alphaFrac = rgb_color.alpha.value || 0.0; var rgbParams = [red, green, blue].join(','); return ['rgba(', rgbParams, ',', alphaFrac, ')'].join(''); }; var rgbToCssColor = function(red, green, blue) { var rgbNumber = new Number((red << 16) | (green << 8) | blue); var hexString = rgbNumber.toString(16); var missingZeros = 6 - hexString.length; var resultBuilder = ['#']; for (var i = 0; i < missingZeros; i++) { resultBuilder.push('0'); } resultBuilder.push(hexString); return resultBuilder.join(''); }; // ... # Output only. Badge foreground that pairs with the background.
+                  "alpha": 3.14, # The fraction of this color that should be applied to the pixel. That is, the final pixel color is defined by the equation: `pixel color = alpha * (this color) + (1.0 - alpha) * (background color)` This means that a value of 1.0 corresponds to a solid color, whereas a value of 0.0 corresponds to a completely transparent color. This uses a wrapper message rather than a simple float scalar so that it is possible to distinguish between a default value and the value being unset. If omitted, this color object is rendered as a solid color (as if the alpha value had been explicitly given a value of 1.0).
+                  "blue": 3.14, # The amount of blue in the color as a value in the interval [0, 1].
+                  "green": 3.14, # The amount of green in the color as a value in the interval [0, 1].
+                  "red": 3.14, # The amount of red in the color as a value in the interval [0, 1].
+                },
+                "soloColor": { # Represents a color in the RGBA color space. This representation is designed for simplicity of conversion to/from color representations in various languages over compactness. For example, the fields of this representation can be trivially provided to the constructor of `java.awt.Color` in Java; it can also be trivially provided to UIColor's `+colorWithRed:green:blue:alpha` method in iOS; and, with just a little work, it can be easily formatted into a CSS `rgba()` string in JavaScript. This reference page doesn't carry information about the absolute color space that should be used to interpret the RGB value (e.g. sRGB, Adobe RGB, DCI-P3, BT.2020, etc.). By default, applications should assume the sRGB color space. When color equality needs to be decided, implementations, unless documented otherwise, treat two colors as equal if all their red, green, blue, and alpha values each differ by at most 1e-5. Example (Java): import com.google.type.Color; // ... public static java.awt.Color fromProto(Color protocolor) { float alpha = protocolor.hasAlpha() ? protocolor.getAlpha().getValue() : 1.0; return new java.awt.Color( protocolor.getRed(), protocolor.getGreen(), protocolor.getBlue(), alpha); } public static Color toProto(java.awt.Color color) { float red = (float) color.getRed(); float green = (float) color.getGreen(); float blue = (float) color.getBlue(); float denominator = 255.0; Color.Builder resultBuilder = Color .newBuilder() .setRed(red / denominator) .setGreen(green / denominator) .setBlue(blue / denominator); int alpha = color.getAlpha(); if (alpha != 255) { result.setAlpha( FloatValue .newBuilder() .setValue(((float) alpha) / denominator) .build()); } return resultBuilder.build(); } // ... Example (iOS / Obj-C): // ... static UIColor* fromProto(Color* protocolor) { float red = [protocolor red]; float green = [protocolor green]; float blue = [protocolor blue]; FloatValue* alpha_wrapper = [protocolor alpha]; float alpha = 1.0; if (alpha_wrapper != nil) { alpha = [alpha_wrapper value]; } return [UIColor colorWithRed:red green:green blue:blue alpha:alpha]; } static Color* toProto(UIColor* color) { CGFloat red, green, blue, alpha; if (![color getRed:&red green:&green blue:&blue alpha:&alpha]) { return nil; } Color* result = [[Color alloc] init]; [result setRed:red]; [result setGreen:green]; [result setBlue:blue]; if (alpha <= 0.9999) { [result setAlpha:floatWrapperWithValue(alpha)]; } [result autorelease]; return result; } // ... Example (JavaScript): // ... var protoToCssColor = function(rgb_color) { var redFrac = rgb_color.red || 0.0; var greenFrac = rgb_color.green || 0.0; var blueFrac = rgb_color.blue || 0.0; var red = Math.floor(redFrac * 255); var green = Math.floor(greenFrac * 255); var blue = Math.floor(blueFrac * 255); if (!('alpha' in rgb_color)) { return rgbToCssColor(red, green, blue); } var alphaFrac = rgb_color.alpha.value || 0.0; var rgbParams = [red, green, blue].join(','); return ['rgba(', rgbParams, ',', alphaFrac, ')'].join(''); }; var rgbToCssColor = function(red, green, blue) { var rgbNumber = new Number((red << 16) | (green << 8) | blue); var hexString = rgbNumber.toString(16); var missingZeros = 6 - hexString.length; var resultBuilder = ['#']; for (var i = 0; i < missingZeros; i++) { resultBuilder.push('0'); } resultBuilder.push(hexString); return resultBuilder.join(''); }; // ... # Output only. Color that can be used for text without a background.
+                  "alpha": 3.14, # The fraction of this color that should be applied to the pixel. That is, the final pixel color is defined by the equation: `pixel color = alpha * (this color) + (1.0 - alpha) * (background color)` This means that a value of 1.0 corresponds to a solid color, whereas a value of 0.0 corresponds to a completely transparent color. This uses a wrapper message rather than a simple float scalar so that it is possible to distinguish between a default value and the value being unset. If omitted, this color object is rendered as a solid color (as if the alpha value had been explicitly given a value of 1.0).
+                  "blue": 3.14, # The amount of blue in the color as a value in the interval [0, 1].
+                  "green": 3.14, # The amount of green in the color as a value in the interval [0, 1].
+                  "red": 3.14, # The amount of red in the color as a value in the interval [0, 1].
+                },
+              },
+              "disabled": True or False, # Whether the option should be shown in the UI as disabled.
+              "hiddenInSearch": True or False, # This option should be hidden in the search menu when searching for Drive items.
+              "shownInApply": True or False, # This option should be shown in the apply menu when applying values to a Drive item.
+            },
+            "id": "A String", # The unique value of the choice. This ID is autogenerated. Matches the regex: `([a-zA-Z0-9_])+`.
+            "lifecycle": { # The lifecycle state of an object, such as label, field, or choice. The lifecycle enforces the following transitions: * `UNPUBLISHED_DRAFT` (starting state) * `UNPUBLISHED_DRAFT` -> `PUBLISHED` * `UNPUBLISHED_DRAFT` -> (Deleted) * `PUBLISHED` -> `DISABLED` * `DISABLED` -> `PUBLISHED` * `DISABLED` -> (Deleted) The published and disabled states have some distinct characteristics: * Published—Some kinds of changes might be made to an object in this state, in which case `has_unpublished_changes` will be true. Also, some kinds of changes are not permitted. Generally, any change that would invalidate or cause new restrictions on existing metadata related to the label are rejected. * Disabled—When disabled, the configured `DisabledPolicy` takes effect. # Output only. Lifecycle of the choice.
+              "disabledPolicy": { # The policy that governs how to treat a disabled label, field, or selection choice in different contexts. # The policy that governs how to show a disabled label, field, or selection choice.
+                "hideInSearch": True or False, # Whether to hide this disabled object in the search menu for Drive items. * When `false`, the object is generally shown in the UI as disabled but it appears in the search results when searching for Drive items. * When `true`, the object is generally hidden in the UI when searching for Drive items.
+                "showInApply": True or False, # Whether to show this disabled object in the apply menu on Drive items. * When `true`, the object is generally shown in the UI as disabled and is unselectable. * When `false`, the object is generally hidden in the UI.
+              },
+              "hasUnpublishedChanges": True or False, # Output only. Whether the object associated with this lifecycle has unpublished changes.
+              "state": "A String", # Output only. The state of the object associated with this lifecycle.
+            },
+            "lockStatus": { # Contains information about whether a label component should be considered locked. # Output only. The LockStatus of this choice.
+              "locked": True or False, # Output only. Indicates whether this label component is the (direct) target of a LabelLock. A label component can be implicitly locked even if it's not the direct target of a LabelLock, in which case this field is set to false.
+            },
+            "properties": { # Basic properties of the choice. # Basic properties of the choice.
+              "badgeConfig": { # Badge status of the label. # The badge configuration for this choice. When set, the label that owns this choice is considered a "badged label".
+                "color": { # Represents a color in the RGBA color space. This representation is designed for simplicity of conversion to/from color representations in various languages over compactness. For example, the fields of this representation can be trivially provided to the constructor of `java.awt.Color` in Java; it can also be trivially provided to UIColor's `+colorWithRed:green:blue:alpha` method in iOS; and, with just a little work, it can be easily formatted into a CSS `rgba()` string in JavaScript. This reference page doesn't carry information about the absolute color space that should be used to interpret the RGB value (e.g. sRGB, Adobe RGB, DCI-P3, BT.2020, etc.). By default, applications should assume the sRGB color space. When color equality needs to be decided, implementations, unless documented otherwise, treat two colors as equal if all their red, green, blue, and alpha values each differ by at most 1e-5. Example (Java): import com.google.type.Color; // ... public static java.awt.Color fromProto(Color protocolor) { float alpha = protocolor.hasAlpha() ? protocolor.getAlpha().getValue() : 1.0; return new java.awt.Color( protocolor.getRed(), protocolor.getGreen(), protocolor.getBlue(), alpha); } public static Color toProto(java.awt.Color color) { float red = (float) color.getRed(); float green = (float) color.getGreen(); float blue = (float) color.getBlue(); float denominator = 255.0; Color.Builder resultBuilder = Color .newBuilder() .setRed(red / denominator) .setGreen(green / denominator) .setBlue(blue / denominator); int alpha = color.getAlpha(); if (alpha != 255) { result.setAlpha( FloatValue .newBuilder() .setValue(((float) alpha) / denominator) .build()); } return resultBuilder.build(); } // ... Example (iOS / Obj-C): // ... static UIColor* fromProto(Color* protocolor) { float red = [protocolor red]; float green = [protocolor green]; float blue = [protocolor blue]; FloatValue* alpha_wrapper = [protocolor alpha]; float alpha = 1.0; if (alpha_wrapper != nil) { alpha = [alpha_wrapper value]; } return [UIColor colorWithRed:red green:green blue:blue alpha:alpha]; } static Color* toProto(UIColor* color) { CGFloat red, green, blue, alpha; if (![color getRed:&red green:&green blue:&blue alpha:&alpha]) { return nil; } Color* result = [[Color alloc] init]; [result setRed:red]; [result setGreen:green]; [result setBlue:blue]; if (alpha <= 0.9999) { [result setAlpha:floatWrapperWithValue(alpha)]; } [result autorelease]; return result; } // ... Example (JavaScript): // ... var protoToCssColor = function(rgb_color) { var redFrac = rgb_color.red || 0.0; var greenFrac = rgb_color.green || 0.0; var blueFrac = rgb_color.blue || 0.0; var red = Math.floor(redFrac * 255); var green = Math.floor(greenFrac * 255); var blue = Math.floor(blueFrac * 255); if (!('alpha' in rgb_color)) { return rgbToCssColor(red, green, blue); } var alphaFrac = rgb_color.alpha.value || 0.0; var rgbParams = [red, green, blue].join(','); return ['rgba(', rgbParams, ',', alphaFrac, ')'].join(''); }; var rgbToCssColor = function(red, green, blue) { var rgbNumber = new Number((red << 16) | (green << 8) | blue); var hexString = rgbNumber.toString(16); var missingZeros = 6 - hexString.length; var resultBuilder = ['#']; for (var i = 0; i < missingZeros; i++) { resultBuilder.push('0'); } resultBuilder.push(hexString); return resultBuilder.join(''); }; // ... # The color of the badge. When not specified, no badge is rendered. The background, foreground, and solo (light and dark mode) colors set here are changed in the Drive UI into the closest recommended supported color.
+                  "alpha": 3.14, # The fraction of this color that should be applied to the pixel. That is, the final pixel color is defined by the equation: `pixel color = alpha * (this color) + (1.0 - alpha) * (background color)` This means that a value of 1.0 corresponds to a solid color, whereas a value of 0.0 corresponds to a completely transparent color. This uses a wrapper message rather than a simple float scalar so that it is possible to distinguish between a default value and the value being unset. If omitted, this color object is rendered as a solid color (as if the alpha value had been explicitly given a value of 1.0).
+                  "blue": 3.14, # The amount of blue in the color as a value in the interval [0, 1].
+                  "green": 3.14, # The amount of green in the color as a value in the interval [0, 1].
+                  "red": 3.14, # The amount of red in the color as a value in the interval [0, 1].
+                },
+                "priorityOverride": "A String", # Override the default global priority of this badge. When set to 0, the default priority heuristic is used.
+              },
+              "description": "A String", # The description of this label.
+              "displayName": "A String", # Required. The display text to show in the UI identifying this field.
+              "insertBeforeChoice": "A String", # Input only. Insert or move this choice before the indicated choice. If empty, the choice is placed at the end of the list.
+            },
+            "publishTime": "A String", # Output only. The time this choice was published. This value has no meaning when the choice is not published.
+            "publisher": { # Information about a user. # Output only. The user who published this choice. This value has no meaning when the choice is not published.
+              "person": "A String", # The identifier for this user that can be used with the People API to get more information. For example, people/12345678.
+            },
+            "schemaCapabilities": { # The capabilities related to this choice when editing the choice. # Output only. The capabilities related to this option when editing the option.
+              "canDelete": True or False, # Whether the user can delete this choice.
+              "canDisable": True or False, # Whether the user can disable this choice.
+              "canEnable": True or False, # Whether the user can enable this choice.
+              "canUpdate": True or False, # Whether the user can update this choice.
+            },
+            "updateTime": "A String", # Output only. The time this choice was updated last.
+            "updater": { # Information about a user. # Output only. The user who updated this choice last.
+              "person": "A String", # The identifier for this user that can be used with the People API to get more information. For example, people/12345678.
+            },
+          },
+        ],
+        "listOptions": { # Options for a multi-valued variant of an associated field type. # When specified, indicates this field supports a list of values. Once the field is published, this cannot be changed.
+          "maxEntries": 42, # Maximum number of entries permitted.
+        },
+      },
+      "textOptions": { # Options for the Text field type. # Text field options.
+        "maxLength": 42, # Output only. The maximum valid length of values for the text field.
+        "minLength": 42, # Output only. The minimum valid length of values for the text field.
+      },
+      "updateTime": "A String", # Output only. The time this field was updated.
+      "updater": { # Information about a user. # Output only. The user who modified this field.
+        "person": "A String", # The identifier for this user that can be used with the People API to get more information. For example, people/12345678.
+      },
+      "userOptions": { # Options for the user field type. # User field options.
+        "listOptions": { # Options for a multi-valued variant of an associated field type. # When specified, indicates that this field supports a list of values. Once the field is published, this cannot be changed.
+          "maxEntries": 42, # Maximum number of entries permitted.
+        },
+      },
+    },
+  ],
+  "id": "A String", # Output only. Globally unique identifier of this label. ID makes up part of the label `name`, but unlike `name`, ID is consistent between revisions. Matches the regex: `([a-zA-Z0-9])+`
+  "labelType": "A String", # Required. The type of label.
+  "learnMoreUri": "A String", # Custom URL to present to users to allow them to learn more about this label and how it should be used.
+  "lifecycle": { # The lifecycle state of an object, such as label, field, or choice. The lifecycle enforces the following transitions: * `UNPUBLISHED_DRAFT` (starting state) * `UNPUBLISHED_DRAFT` -> `PUBLISHED` * `UNPUBLISHED_DRAFT` -> (Deleted) * `PUBLISHED` -> `DISABLED` * `DISABLED` -> `PUBLISHED` * `DISABLED` -> (Deleted) The published and disabled states have some distinct characteristics: * Published—Some kinds of changes might be made to an object in this state, in which case `has_unpublished_changes` will be true. Also, some kinds of changes are not permitted. Generally, any change that would invalidate or cause new restrictions on existing metadata related to the label are rejected. * Disabled—When disabled, the configured `DisabledPolicy` takes effect. # Output only. The lifecycle state of the label including whether it's published, deprecated, and has draft changes.
+    "disabledPolicy": { # The policy that governs how to treat a disabled label, field, or selection choice in different contexts. # The policy that governs how to show a disabled label, field, or selection choice.
+      "hideInSearch": True or False, # Whether to hide this disabled object in the search menu for Drive items. * When `false`, the object is generally shown in the UI as disabled but it appears in the search results when searching for Drive items. * When `true`, the object is generally hidden in the UI when searching for Drive items.
+      "showInApply": True or False, # Whether to show this disabled object in the apply menu on Drive items. * When `true`, the object is generally shown in the UI as disabled and is unselectable. * When `false`, the object is generally hidden in the UI.
+    },
+    "hasUnpublishedChanges": True or False, # Output only. Whether the object associated with this lifecycle has unpublished changes.
+    "state": "A String", # Output only. The state of the object associated with this lifecycle.
+  },
+  "lockStatus": { # Contains information about whether a label component should be considered locked. # Output only. The LockStatus of this label.
+    "locked": True or False, # Output only. Indicates whether this label component is the (direct) target of a LabelLock. A label component can be implicitly locked even if it's not the direct target of a LabelLock, in which case this field is set to false.
+  },
+  "name": "A String", # Output only. Resource name of the label. Will be in the form of either: `labels/{id}` or `labels/{id}@{revision_id}` depending on the request. See `id` and `revision_id` below.
+  "properties": { # Basic properties of the label. # Required. The basic properties of the label.
+    "description": "A String", # The description of the label.
+    "title": "A String", # Required. Title of the label.
+  },
+  "publishTime": "A String", # Output only. The time this label was published. This value has no meaning when the label is not published.
+  "publisher": { # Information about a user. # Output only. The user who published this label. This value has no meaning when the label is not published.
+    "person": "A String", # The identifier for this user that can be used with the People API to get more information. For example, people/12345678.
+  },
+  "revisionCreateTime": "A String", # Output only. The time this label revision was created.
+  "revisionCreator": { # Information about a user. # Output only. The user who created this label revision.
+    "person": "A String", # The identifier for this user that can be used with the People API to get more information. For example, people/12345678.
+  },
+  "revisionId": "A String", # Output only. Revision ID of the label. Revision ID might be part of the label `name` depending on the request issued. A new revision is created whenever revisioned properties of a label are changed. Matches the regex: `([a-zA-Z0-9])+`
+  "schemaCapabilities": { # The capabilities related to this label when editing the label. # Output only. The capabilities the user has on this label.
+    "canDelete": True or False, # Whether the user can delete this label. The user must have permission and the label must be disabled.
+    "canDisable": True or False, # Whether the user can disable this label. The user must have permission and this label must not already be disabled.
+    "canEnable": True or False, # Whether the user can enable this label. The user must have permission and this label must be disabled.
+    "canUpdate": True or False, # Whether the user can change this label.
+  },
+}
+
+  languageCode: string, The BCP-47 language code to use for evaluating localized Field labels in response. When not specified, values in the default configured language will be used.
+  useAdminAccess: boolean, Set to `true` in order to use the user's admin privileges. The server will verify the user is an admin before allowing access.
+  x__xgafv: string, V1 error format.
+    Allowed values
+      1 - v1 error format
+      2 - v2 error format
+
+Returns:
+  An object of the form:
+
+    { # A label defines a taxonomy that can be applied to Drive items in order to organize and search across items. Labels can be simple strings, or can contain fields that describe additional metadata that can be further used to organize and search Drive items.
+  "appliedCapabilities": { # The capabilities a user has on this label's applied metadata. # Output only. The capabilities related to this label on applied metadata.
+    "canApply": True or False, # Whether the user can apply this label to items.
+    "canRead": True or False, # Whether the user can read applied metadata related to this label.
+    "canRemove": True or False, # Whether the user can remove this label from items.
+  },
+  "appliedLabelPolicy": { # Behavior of this label when it's applied to Drive items. # Output only. Behavior of this label when it's applied to Drive items.
+    "copyMode": "A String", # Indicates how the applied label and field values should be copied when a Drive item is copied.
+  },
+  "createTime": "A String", # Output only. The time this label was created.
+  "creator": { # Information about a user. # Output only. The user who created this label.
+    "person": "A String", # The identifier for this user that can be used with the People API to get more information. For example, people/12345678.
+  },
+  "disableTime": "A String", # Output only. The time this label was disabled. This value has no meaning when the label is not disabled.
+  "disabler": { # Information about a user. # Output only. The user who disabled this label. This value has no meaning when the label is not disabled.
+    "person": "A String", # The identifier for this user that can be used with the People API to get more information. For example, people/12345678.
+  },
+  "displayHints": { # UI display hints for rendering the label. # Output only. UI display hints for rendering the label.
+    "disabled": True or False, # Whether the label should be shown in the UI as disabled.
+    "hiddenInSearch": True or False, # This label should be hidden in the search menu when searching for Drive items.
+    "priority": "A String", # Order to display label in a list.
+    "shownInApply": True or False, # This label should be shown in the apply menu when applying values to a Drive item.
+  },
+  "fields": [ # List of fields in descending priority order.
+    { # Defines a field that has a display name, data type, and other configuration options. This field defines the kind of metadata that may be set on a Drive item.
+      "appliedCapabilities": { # The capabilities related to this field on applied metadata. # Output only. The capabilities this user has on this field and its value when the label is applied on Drive items.
+        "canRead": True or False, # Whether the user can read related applied metadata on items.
+        "canSearch": True or False, # Whether the user can search for Drive items referencing this field.
+        "canWrite": True or False, # Whether the user can set this field on Drive items.
+      },
+      "createTime": "A String", # Output only. The time this field was created.
+      "creator": { # Information about a user. # Output only. The user who created this field.
+        "person": "A String", # The identifier for this user that can be used with the People API to get more information. For example, people/12345678.
+      },
+      "dateOptions": { # Options for the date field type. # Date field options.
+        "dateFormat": "A String", # Output only. ICU date format.
+        "dateFormatType": "A String", # Localized date formatting option. Field values are rendered in this format according to their locale.
+        "maxValue": { # Represents a whole or partial calendar date, such as a birthday. The time of day and time zone are either specified elsewhere or are insignificant. The date is relative to the Gregorian Calendar. This can represent one of the following: * A full date, with non-zero year, month, and day values. * A month and day, with a zero year (for example, an anniversary). * A year on its own, with a zero month and a zero day. * A year and month, with a zero day (for example, a credit card expiration date). Related types: * google.type.TimeOfDay * google.type.DateTime * google.protobuf.Timestamp # Output only. Maximum valid value (year, month, day).
+          "day": 42, # Day of a month. Must be from 1 to 31 and valid for the year and month, or 0 to specify a year by itself or a year and month where the day isn't significant.
+          "month": 42, # Month of a year. Must be from 1 to 12, or 0 to specify a year without a month and day.
+          "year": 42, # Year of the date. Must be from 1 to 9999, or 0 to specify a date without a year.
+        },
+        "minValue": { # Represents a whole or partial calendar date, such as a birthday. The time of day and time zone are either specified elsewhere or are insignificant. The date is relative to the Gregorian Calendar. This can represent one of the following: * A full date, with non-zero year, month, and day values. * A month and day, with a zero year (for example, an anniversary). * A year on its own, with a zero month and a zero day. * A year and month, with a zero day (for example, a credit card expiration date). Related types: * google.type.TimeOfDay * google.type.DateTime * google.protobuf.Timestamp # Output only. Minimum valid value (year, month, day).
+          "day": 42, # Day of a month. Must be from 1 to 31 and valid for the year and month, or 0 to specify a year by itself or a year and month where the day isn't significant.
+          "month": 42, # Month of a year. Must be from 1 to 12, or 0 to specify a year without a month and day.
+          "year": 42, # Year of the date. Must be from 1 to 9999, or 0 to specify a date without a year.
+        },
+      },
+      "disableTime": "A String", # Output only. The time this field was disabled. This value has no meaning when the field is not disabled.
+      "disabler": { # Information about a user. # Output only. The user who disabled this field. This value has no meaning when the field is not disabled.
+        "person": "A String", # The identifier for this user that can be used with the People API to get more information. For example, people/12345678.
+      },
+      "displayHints": { # UI display hints for rendering a field. # Output only. UI display hints for rendering a field.
+        "disabled": True or False, # Whether the field should be shown in the UI as disabled.
+        "hiddenInSearch": True or False, # This field should be hidden in the search menu when searching for Drive items.
+        "required": True or False, # Whether the field should be shown as required in the UI.
+        "shownInApply": True or False, # This field should be shown in the apply menu when applying values to a Drive item.
+      },
+      "id": "A String", # Output only. The key of a field, unique within a label or library. This value is autogenerated. Matches the regex: `([a-zA-Z0-9])+`
+      "integerOptions": { # Options for the Integer field type. # Integer field options.
+        "maxValue": "A String", # Output only. The maximum valid value for the integer field.
+        "minValue": "A String", # Output only. The minimum valid value for the integer field.
+      },
+      "lifecycle": { # The lifecycle state of an object, such as label, field, or choice. The lifecycle enforces the following transitions: * `UNPUBLISHED_DRAFT` (starting state) * `UNPUBLISHED_DRAFT` -> `PUBLISHED` * `UNPUBLISHED_DRAFT` -> (Deleted) * `PUBLISHED` -> `DISABLED` * `DISABLED` -> `PUBLISHED` * `DISABLED` -> (Deleted) The published and disabled states have some distinct characteristics: * Published—Some kinds of changes might be made to an object in this state, in which case `has_unpublished_changes` will be true. Also, some kinds of changes are not permitted. Generally, any change that would invalidate or cause new restrictions on existing metadata related to the label are rejected. * Disabled—When disabled, the configured `DisabledPolicy` takes effect. # Output only. The lifecycle of this field.
+        "disabledPolicy": { # The policy that governs how to treat a disabled label, field, or selection choice in different contexts. # The policy that governs how to show a disabled label, field, or selection choice.
+          "hideInSearch": True or False, # Whether to hide this disabled object in the search menu for Drive items. * When `false`, the object is generally shown in the UI as disabled but it appears in the search results when searching for Drive items. * When `true`, the object is generally hidden in the UI when searching for Drive items.
+          "showInApply": True or False, # Whether to show this disabled object in the apply menu on Drive items. * When `true`, the object is generally shown in the UI as disabled and is unselectable. * When `false`, the object is generally hidden in the UI.
+        },
+        "hasUnpublishedChanges": True or False, # Output only. Whether the object associated with this lifecycle has unpublished changes.
+        "state": "A String", # Output only. The state of the object associated with this lifecycle.
+      },
+      "lockStatus": { # Contains information about whether a label component should be considered locked. # Output only. The LockStatus of this field.
+        "locked": True or False, # Output only. Indicates whether this label component is the (direct) target of a LabelLock. A label component can be implicitly locked even if it's not the direct target of a LabelLock, in which case this field is set to false.
+      },
+      "properties": { # The basic properties of the field. # The basic properties of the field.
+        "displayName": "A String", # Required. The display text to show in the UI identifying this field.
+        "insertBeforeField": "A String", # Input only. Insert or move this field before the indicated field. If empty, the field is placed at the end of the list.
+        "required": True or False, # Whether the field should be marked as required.
+      },
+      "publisher": { # Information about a user. # Output only. The user who published this field. This value has no meaning when the field is not published.
+        "person": "A String", # The identifier for this user that can be used with the People API to get more information. For example, people/12345678.
+      },
+      "queryKey": "A String", # Output only. The key to use when constructing Drive search queries to find files based on values defined for this field on files. For example, "`{query_key}` > 2001-01-01".
+      "schemaCapabilities": { # The capabilities related to this field when editing the field. # Output only. The capabilities this user has when editing this field.
+        "canDelete": True or False, # Whether the user can delete this field. The user must have permission and the field must be deprecated.
+        "canDisable": True or False, # Whether the user can disable this field. The user must have permission and this field must not already be disabled.
+        "canEnable": True or False, # Whether the user can enable this field. The user must have permission and this field must be disabled.
+        "canUpdate": True or False, # Whether the user can change this field.
+      },
+      "selectionOptions": { # Options for the selection field type. # Selection field options.
+        "choices": [ # The options available for this selection field. The list order is consistent, and modified with `insert_before_choice`.
+          { # Selection field choice.
+            "appliedCapabilities": { # The capabilities related to this choice on applied metadata. # Output only. The capabilities related to this choice on applied metadata.
+              "canRead": True or False, # Whether the user can read related applied metadata on items.
+              "canSearch": True or False, # Whether the user can use this choice in search queries.
+              "canSelect": True or False, # Whether the user can select this choice on an item.
+            },
+            "createTime": "A String", # Output only. The time this choice was created.
+            "creator": { # Information about a user. # Output only. The user who created this choice.
+              "person": "A String", # The identifier for this user that can be used with the People API to get more information. For example, people/12345678.
+            },
+            "disableTime": "A String", # Output only. The time this choice was disabled. This value has no meaning when the choice is not disabled.
+            "disabler": { # Information about a user. # Output only. The user who disabled this choice. This value has no meaning when the option is not disabled.
+              "person": "A String", # The identifier for this user that can be used with the People API to get more information. For example, people/12345678.
+            },
+            "displayHints": { # UI display hints for rendering an option. # Output only. UI display hints for rendering a choice.
+              "badgeColors": { # The color derived from BadgeConfig and changed to the closest recommended supported color. # The colors to use for the badge. Changed to Google Material colors based on the chosen `properties.badge_config.color`.
+                "backgroundColor": { # Represents a color in the RGBA color space. This representation is designed for simplicity of conversion to/from color representations in various languages over compactness. For example, the fields of this representation can be trivially provided to the constructor of `java.awt.Color` in Java; it can also be trivially provided to UIColor's `+colorWithRed:green:blue:alpha` method in iOS; and, with just a little work, it can be easily formatted into a CSS `rgba()` string in JavaScript. This reference page doesn't carry information about the absolute color space that should be used to interpret the RGB value (e.g. sRGB, Adobe RGB, DCI-P3, BT.2020, etc.). By default, applications should assume the sRGB color space. When color equality needs to be decided, implementations, unless documented otherwise, treat two colors as equal if all their red, green, blue, and alpha values each differ by at most 1e-5. Example (Java): import com.google.type.Color; // ... public static java.awt.Color fromProto(Color protocolor) { float alpha = protocolor.hasAlpha() ? protocolor.getAlpha().getValue() : 1.0; return new java.awt.Color( protocolor.getRed(), protocolor.getGreen(), protocolor.getBlue(), alpha); } public static Color toProto(java.awt.Color color) { float red = (float) color.getRed(); float green = (float) color.getGreen(); float blue = (float) color.getBlue(); float denominator = 255.0; Color.Builder resultBuilder = Color .newBuilder() .setRed(red / denominator) .setGreen(green / denominator) .setBlue(blue / denominator); int alpha = color.getAlpha(); if (alpha != 255) { result.setAlpha( FloatValue .newBuilder() .setValue(((float) alpha) / denominator) .build()); } return resultBuilder.build(); } // ... Example (iOS / Obj-C): // ... static UIColor* fromProto(Color* protocolor) { float red = [protocolor red]; float green = [protocolor green]; float blue = [protocolor blue]; FloatValue* alpha_wrapper = [protocolor alpha]; float alpha = 1.0; if (alpha_wrapper != nil) { alpha = [alpha_wrapper value]; } return [UIColor colorWithRed:red green:green blue:blue alpha:alpha]; } static Color* toProto(UIColor* color) { CGFloat red, green, blue, alpha; if (![color getRed:&red green:&green blue:&blue alpha:&alpha]) { return nil; } Color* result = [[Color alloc] init]; [result setRed:red]; [result setGreen:green]; [result setBlue:blue]; if (alpha <= 0.9999) { [result setAlpha:floatWrapperWithValue(alpha)]; } [result autorelease]; return result; } // ... Example (JavaScript): // ... var protoToCssColor = function(rgb_color) { var redFrac = rgb_color.red || 0.0; var greenFrac = rgb_color.green || 0.0; var blueFrac = rgb_color.blue || 0.0; var red = Math.floor(redFrac * 255); var green = Math.floor(greenFrac * 255); var blue = Math.floor(blueFrac * 255); if (!('alpha' in rgb_color)) { return rgbToCssColor(red, green, blue); } var alphaFrac = rgb_color.alpha.value || 0.0; var rgbParams = [red, green, blue].join(','); return ['rgba(', rgbParams, ',', alphaFrac, ')'].join(''); }; var rgbToCssColor = function(red, green, blue) { var rgbNumber = new Number((red << 16) | (green << 8) | blue); var hexString = rgbNumber.toString(16); var missingZeros = 6 - hexString.length; var resultBuilder = ['#']; for (var i = 0; i < missingZeros; i++) { resultBuilder.push('0'); } resultBuilder.push(hexString); return resultBuilder.join(''); }; // ... # Output only. Badge background that pairs with the foreground.
+                  "alpha": 3.14, # The fraction of this color that should be applied to the pixel. That is, the final pixel color is defined by the equation: `pixel color = alpha * (this color) + (1.0 - alpha) * (background color)` This means that a value of 1.0 corresponds to a solid color, whereas a value of 0.0 corresponds to a completely transparent color. This uses a wrapper message rather than a simple float scalar so that it is possible to distinguish between a default value and the value being unset. If omitted, this color object is rendered as a solid color (as if the alpha value had been explicitly given a value of 1.0).
+                  "blue": 3.14, # The amount of blue in the color as a value in the interval [0, 1].
+                  "green": 3.14, # The amount of green in the color as a value in the interval [0, 1].
+                  "red": 3.14, # The amount of red in the color as a value in the interval [0, 1].
+                },
+                "foregroundColor": { # Represents a color in the RGBA color space. This representation is designed for simplicity of conversion to/from color representations in various languages over compactness. For example, the fields of this representation can be trivially provided to the constructor of `java.awt.Color` in Java; it can also be trivially provided to UIColor's `+colorWithRed:green:blue:alpha` method in iOS; and, with just a little work, it can be easily formatted into a CSS `rgba()` string in JavaScript. This reference page doesn't carry information about the absolute color space that should be used to interpret the RGB value (e.g. sRGB, Adobe RGB, DCI-P3, BT.2020, etc.). By default, applications should assume the sRGB color space. When color equality needs to be decided, implementations, unless documented otherwise, treat two colors as equal if all their red, green, blue, and alpha values each differ by at most 1e-5. Example (Java): import com.google.type.Color; // ... public static java.awt.Color fromProto(Color protocolor) { float alpha = protocolor.hasAlpha() ? protocolor.getAlpha().getValue() : 1.0; return new java.awt.Color( protocolor.getRed(), protocolor.getGreen(), protocolor.getBlue(), alpha); } public static Color toProto(java.awt.Color color) { float red = (float) color.getRed(); float green = (float) color.getGreen(); float blue = (float) color.getBlue(); float denominator = 255.0; Color.Builder resultBuilder = Color .newBuilder() .setRed(red / denominator) .setGreen(green / denominator) .setBlue(blue / denominator); int alpha = color.getAlpha(); if (alpha != 255) { result.setAlpha( FloatValue .newBuilder() .setValue(((float) alpha) / denominator) .build()); } return resultBuilder.build(); } // ... Example (iOS / Obj-C): // ... static UIColor* fromProto(Color* protocolor) { float red = [protocolor red]; float green = [protocolor green]; float blue = [protocolor blue]; FloatValue* alpha_wrapper = [protocolor alpha]; float alpha = 1.0; if (alpha_wrapper != nil) { alpha = [alpha_wrapper value]; } return [UIColor colorWithRed:red green:green blue:blue alpha:alpha]; } static Color* toProto(UIColor* color) { CGFloat red, green, blue, alpha; if (![color getRed:&red green:&green blue:&blue alpha:&alpha]) { return nil; } Color* result = [[Color alloc] init]; [result setRed:red]; [result setGreen:green]; [result setBlue:blue]; if (alpha <= 0.9999) { [result setAlpha:floatWrapperWithValue(alpha)]; } [result autorelease]; return result; } // ... Example (JavaScript): // ... var protoToCssColor = function(rgb_color) { var redFrac = rgb_color.red || 0.0; var greenFrac = rgb_color.green || 0.0; var blueFrac = rgb_color.blue || 0.0; var red = Math.floor(redFrac * 255); var green = Math.floor(greenFrac * 255); var blue = Math.floor(blueFrac * 255); if (!('alpha' in rgb_color)) { return rgbToCssColor(red, green, blue); } var alphaFrac = rgb_color.alpha.value || 0.0; var rgbParams = [red, green, blue].join(','); return ['rgba(', rgbParams, ',', alphaFrac, ')'].join(''); }; var rgbToCssColor = function(red, green, blue) { var rgbNumber = new Number((red << 16) | (green << 8) | blue); var hexString = rgbNumber.toString(16); var missingZeros = 6 - hexString.length; var resultBuilder = ['#']; for (var i = 0; i < missingZeros; i++) { resultBuilder.push('0'); } resultBuilder.push(hexString); return resultBuilder.join(''); }; // ... # Output only. Badge foreground that pairs with the background.
+                  "alpha": 3.14, # The fraction of this color that should be applied to the pixel. That is, the final pixel color is defined by the equation: `pixel color = alpha * (this color) + (1.0 - alpha) * (background color)` This means that a value of 1.0 corresponds to a solid color, whereas a value of 0.0 corresponds to a completely transparent color. This uses a wrapper message rather than a simple float scalar so that it is possible to distinguish between a default value and the value being unset. If omitted, this color object is rendered as a solid color (as if the alpha value had been explicitly given a value of 1.0).
+                  "blue": 3.14, # The amount of blue in the color as a value in the interval [0, 1].
+                  "green": 3.14, # The amount of green in the color as a value in the interval [0, 1].
+                  "red": 3.14, # The amount of red in the color as a value in the interval [0, 1].
+                },
+                "soloColor": { # Represents a color in the RGBA color space. This representation is designed for simplicity of conversion to/from color representations in various languages over compactness. For example, the fields of this representation can be trivially provided to the constructor of `java.awt.Color` in Java; it can also be trivially provided to UIColor's `+colorWithRed:green:blue:alpha` method in iOS; and, with just a little work, it can be easily formatted into a CSS `rgba()` string in JavaScript. This reference page doesn't carry information about the absolute color space that should be used to interpret the RGB value (e.g. sRGB, Adobe RGB, DCI-P3, BT.2020, etc.). By default, applications should assume the sRGB color space. When color equality needs to be decided, implementations, unless documented otherwise, treat two colors as equal if all their red, green, blue, and alpha values each differ by at most 1e-5. Example (Java): import com.google.type.Color; // ... public static java.awt.Color fromProto(Color protocolor) { float alpha = protocolor.hasAlpha() ? protocolor.getAlpha().getValue() : 1.0; return new java.awt.Color( protocolor.getRed(), protocolor.getGreen(), protocolor.getBlue(), alpha); } public static Color toProto(java.awt.Color color) { float red = (float) color.getRed(); float green = (float) color.getGreen(); float blue = (float) color.getBlue(); float denominator = 255.0; Color.Builder resultBuilder = Color .newBuilder() .setRed(red / denominator) .setGreen(green / denominator) .setBlue(blue / denominator); int alpha = color.getAlpha(); if (alpha != 255) { result.setAlpha( FloatValue .newBuilder() .setValue(((float) alpha) / denominator) .build()); } return resultBuilder.build(); } // ... Example (iOS / Obj-C): // ... static UIColor* fromProto(Color* protocolor) { float red = [protocolor red]; float green = [protocolor green]; float blue = [protocolor blue]; FloatValue* alpha_wrapper = [protocolor alpha]; float alpha = 1.0; if (alpha_wrapper != nil) { alpha = [alpha_wrapper value]; } return [UIColor colorWithRed:red green:green blue:blue alpha:alpha]; } static Color* toProto(UIColor* color) { CGFloat red, green, blue, alpha; if (![color getRed:&red green:&green blue:&blue alpha:&alpha]) { return nil; } Color* result = [[Color alloc] init]; [result setRed:red]; [result setGreen:green]; [result setBlue:blue]; if (alpha <= 0.9999) { [result setAlpha:floatWrapperWithValue(alpha)]; } [result autorelease]; return result; } // ... Example (JavaScript): // ... var protoToCssColor = function(rgb_color) { var redFrac = rgb_color.red || 0.0; var greenFrac = rgb_color.green || 0.0; var blueFrac = rgb_color.blue || 0.0; var red = Math.floor(redFrac * 255); var green = Math.floor(greenFrac * 255); var blue = Math.floor(blueFrac * 255); if (!('alpha' in rgb_color)) { return rgbToCssColor(red, green, blue); } var alphaFrac = rgb_color.alpha.value || 0.0; var rgbParams = [red, green, blue].join(','); return ['rgba(', rgbParams, ',', alphaFrac, ')'].join(''); }; var rgbToCssColor = function(red, green, blue) { var rgbNumber = new Number((red << 16) | (green << 8) | blue); var hexString = rgbNumber.toString(16); var missingZeros = 6 - hexString.length; var resultBuilder = ['#']; for (var i = 0; i < missingZeros; i++) { resultBuilder.push('0'); } resultBuilder.push(hexString); return resultBuilder.join(''); }; // ... # Output only. Color that can be used for text without a background.
+                  "alpha": 3.14, # The fraction of this color that should be applied to the pixel. That is, the final pixel color is defined by the equation: `pixel color = alpha * (this color) + (1.0 - alpha) * (background color)` This means that a value of 1.0 corresponds to a solid color, whereas a value of 0.0 corresponds to a completely transparent color. This uses a wrapper message rather than a simple float scalar so that it is possible to distinguish between a default value and the value being unset. If omitted, this color object is rendered as a solid color (as if the alpha value had been explicitly given a value of 1.0).
+                  "blue": 3.14, # The amount of blue in the color as a value in the interval [0, 1].
+                  "green": 3.14, # The amount of green in the color as a value in the interval [0, 1].
+                  "red": 3.14, # The amount of red in the color as a value in the interval [0, 1].
+                },
+              },
+              "badgePriority": "A String", # The priority of this badge. Used to compare and sort between multiple badges. A lower number means the badge should be shown first. When a badging configuration is not present, this will be 0. Otherwise, this will be set to `BadgeConfig.priority_override` or the default heuristic which prefers creation date of the label, and field and option priority.
+              "darkBadgeColors": { # The color derived from BadgeConfig and changed to the closest recommended supported color. # The dark-mode color to use for the badge. Changed to Google Material colors based on the chosen `properties.badge_config.color`.
+                "backgroundColor": { # Represents a color in the RGBA color space. This representation is designed for simplicity of conversion to/from color representations in various languages over compactness. For example, the fields of this representation can be trivially provided to the constructor of `java.awt.Color` in Java; it can also be trivially provided to UIColor's `+colorWithRed:green:blue:alpha` method in iOS; and, with just a little work, it can be easily formatted into a CSS `rgba()` string in JavaScript. This reference page doesn't carry information about the absolute color space that should be used to interpret the RGB value (e.g. sRGB, Adobe RGB, DCI-P3, BT.2020, etc.). By default, applications should assume the sRGB color space. When color equality needs to be decided, implementations, unless documented otherwise, treat two colors as equal if all their red, green, blue, and alpha values each differ by at most 1e-5. Example (Java): import com.google.type.Color; // ... public static java.awt.Color fromProto(Color protocolor) { float alpha = protocolor.hasAlpha() ? protocolor.getAlpha().getValue() : 1.0; return new java.awt.Color( protocolor.getRed(), protocolor.getGreen(), protocolor.getBlue(), alpha); } public static Color toProto(java.awt.Color color) { float red = (float) color.getRed(); float green = (float) color.getGreen(); float blue = (float) color.getBlue(); float denominator = 255.0; Color.Builder resultBuilder = Color .newBuilder() .setRed(red / denominator) .setGreen(green / denominator) .setBlue(blue / denominator); int alpha = color.getAlpha(); if (alpha != 255) { result.setAlpha( FloatValue .newBuilder() .setValue(((float) alpha) / denominator) .build()); } return resultBuilder.build(); } // ... Example (iOS / Obj-C): // ... static UIColor* fromProto(Color* protocolor) { float red = [protocolor red]; float green = [protocolor green]; float blue = [protocolor blue]; FloatValue* alpha_wrapper = [protocolor alpha]; float alpha = 1.0; if (alpha_wrapper != nil) { alpha = [alpha_wrapper value]; } return [UIColor colorWithRed:red green:green blue:blue alpha:alpha]; } static Color* toProto(UIColor* color) { CGFloat red, green, blue, alpha; if (![color getRed:&red green:&green blue:&blue alpha:&alpha]) { return nil; } Color* result = [[Color alloc] init]; [result setRed:red]; [result setGreen:green]; [result setBlue:blue]; if (alpha <= 0.9999) { [result setAlpha:floatWrapperWithValue(alpha)]; } [result autorelease]; return result; } // ... Example (JavaScript): // ... var protoToCssColor = function(rgb_color) { var redFrac = rgb_color.red || 0.0; var greenFrac = rgb_color.green || 0.0; var blueFrac = rgb_color.blue || 0.0; var red = Math.floor(redFrac * 255); var green = Math.floor(greenFrac * 255); var blue = Math.floor(blueFrac * 255); if (!('alpha' in rgb_color)) { return rgbToCssColor(red, green, blue); } var alphaFrac = rgb_color.alpha.value || 0.0; var rgbParams = [red, green, blue].join(','); return ['rgba(', rgbParams, ',', alphaFrac, ')'].join(''); }; var rgbToCssColor = function(red, green, blue) { var rgbNumber = new Number((red << 16) | (green << 8) | blue); var hexString = rgbNumber.toString(16); var missingZeros = 6 - hexString.length; var resultBuilder = ['#']; for (var i = 0; i < missingZeros; i++) { resultBuilder.push('0'); } resultBuilder.push(hexString); return resultBuilder.join(''); }; // ... # Output only. Badge background that pairs with the foreground.
+                  "alpha": 3.14, # The fraction of this color that should be applied to the pixel. That is, the final pixel color is defined by the equation: `pixel color = alpha * (this color) + (1.0 - alpha) * (background color)` This means that a value of 1.0 corresponds to a solid color, whereas a value of 0.0 corresponds to a completely transparent color. This uses a wrapper message rather than a simple float scalar so that it is possible to distinguish between a default value and the value being unset. If omitted, this color object is rendered as a solid color (as if the alpha value had been explicitly given a value of 1.0).
+                  "blue": 3.14, # The amount of blue in the color as a value in the interval [0, 1].
+                  "green": 3.14, # The amount of green in the color as a value in the interval [0, 1].
+                  "red": 3.14, # The amount of red in the color as a value in the interval [0, 1].
+                },
+                "foregroundColor": { # Represents a color in the RGBA color space. This representation is designed for simplicity of conversion to/from color representations in various languages over compactness. For example, the fields of this representation can be trivially provided to the constructor of `java.awt.Color` in Java; it can also be trivially provided to UIColor's `+colorWithRed:green:blue:alpha` method in iOS; and, with just a little work, it can be easily formatted into a CSS `rgba()` string in JavaScript. This reference page doesn't carry information about the absolute color space that should be used to interpret the RGB value (e.g. sRGB, Adobe RGB, DCI-P3, BT.2020, etc.). By default, applications should assume the sRGB color space. When color equality needs to be decided, implementations, unless documented otherwise, treat two colors as equal if all their red, green, blue, and alpha values each differ by at most 1e-5. Example (Java): import com.google.type.Color; // ... public static java.awt.Color fromProto(Color protocolor) { float alpha = protocolor.hasAlpha() ? protocolor.getAlpha().getValue() : 1.0; return new java.awt.Color( protocolor.getRed(), protocolor.getGreen(), protocolor.getBlue(), alpha); } public static Color toProto(java.awt.Color color) { float red = (float) color.getRed(); float green = (float) color.getGreen(); float blue = (float) color.getBlue(); float denominator = 255.0; Color.Builder resultBuilder = Color .newBuilder() .setRed(red / denominator) .setGreen(green / denominator) .setBlue(blue / denominator); int alpha = color.getAlpha(); if (alpha != 255) { result.setAlpha( FloatValue .newBuilder() .setValue(((float) alpha) / denominator) .build()); } return resultBuilder.build(); } // ... Example (iOS / Obj-C): // ... static UIColor* fromProto(Color* protocolor) { float red = [protocolor red]; float green = [protocolor green]; float blue = [protocolor blue]; FloatValue* alpha_wrapper = [protocolor alpha]; float alpha = 1.0; if (alpha_wrapper != nil) { alpha = [alpha_wrapper value]; } return [UIColor colorWithRed:red green:green blue:blue alpha:alpha]; } static Color* toProto(UIColor* color) { CGFloat red, green, blue, alpha; if (![color getRed:&red green:&green blue:&blue alpha:&alpha]) { return nil; } Color* result = [[Color alloc] init]; [result setRed:red]; [result setGreen:green]; [result setBlue:blue]; if (alpha <= 0.9999) { [result setAlpha:floatWrapperWithValue(alpha)]; } [result autorelease]; return result; } // ... Example (JavaScript): // ... var protoToCssColor = function(rgb_color) { var redFrac = rgb_color.red || 0.0; var greenFrac = rgb_color.green || 0.0; var blueFrac = rgb_color.blue || 0.0; var red = Math.floor(redFrac * 255); var green = Math.floor(greenFrac * 255); var blue = Math.floor(blueFrac * 255); if (!('alpha' in rgb_color)) { return rgbToCssColor(red, green, blue); } var alphaFrac = rgb_color.alpha.value || 0.0; var rgbParams = [red, green, blue].join(','); return ['rgba(', rgbParams, ',', alphaFrac, ')'].join(''); }; var rgbToCssColor = function(red, green, blue) { var rgbNumber = new Number((red << 16) | (green << 8) | blue); var hexString = rgbNumber.toString(16); var missingZeros = 6 - hexString.length; var resultBuilder = ['#']; for (var i = 0; i < missingZeros; i++) { resultBuilder.push('0'); } resultBuilder.push(hexString); return resultBuilder.join(''); }; // ... # Output only. Badge foreground that pairs with the background.
+                  "alpha": 3.14, # The fraction of this color that should be applied to the pixel. That is, the final pixel color is defined by the equation: `pixel color = alpha * (this color) + (1.0 - alpha) * (background color)` This means that a value of 1.0 corresponds to a solid color, whereas a value of 0.0 corresponds to a completely transparent color. This uses a wrapper message rather than a simple float scalar so that it is possible to distinguish between a default value and the value being unset. If omitted, this color object is rendered as a solid color (as if the alpha value had been explicitly given a value of 1.0).
+                  "blue": 3.14, # The amount of blue in the color as a value in the interval [0, 1].
+                  "green": 3.14, # The amount of green in the color as a value in the interval [0, 1].
+                  "red": 3.14, # The amount of red in the color as a value in the interval [0, 1].
+                },
+                "soloColor": { # Represents a color in the RGBA color space. This representation is designed for simplicity of conversion to/from color representations in various languages over compactness. For example, the fields of this representation can be trivially provided to the constructor of `java.awt.Color` in Java; it can also be trivially provided to UIColor's `+colorWithRed:green:blue:alpha` method in iOS; and, with just a little work, it can be easily formatted into a CSS `rgba()` string in JavaScript. This reference page doesn't carry information about the absolute color space that should be used to interpret the RGB value (e.g. sRGB, Adobe RGB, DCI-P3, BT.2020, etc.). By default, applications should assume the sRGB color space. When color equality needs to be decided, implementations, unless documented otherwise, treat two colors as equal if all their red, green, blue, and alpha values each differ by at most 1e-5. Example (Java): import com.google.type.Color; // ... public static java.awt.Color fromProto(Color protocolor) { float alpha = protocolor.hasAlpha() ? protocolor.getAlpha().getValue() : 1.0; return new java.awt.Color( protocolor.getRed(), protocolor.getGreen(), protocolor.getBlue(), alpha); } public static Color toProto(java.awt.Color color) { float red = (float) color.getRed(); float green = (float) color.getGreen(); float blue = (float) color.getBlue(); float denominator = 255.0; Color.Builder resultBuilder = Color .newBuilder() .setRed(red / denominator) .setGreen(green / denominator) .setBlue(blue / denominator); int alpha = color.getAlpha(); if (alpha != 255) { result.setAlpha( FloatValue .newBuilder() .setValue(((float) alpha) / denominator) .build()); } return resultBuilder.build(); } // ... Example (iOS / Obj-C): // ... static UIColor* fromProto(Color* protocolor) { float red = [protocolor red]; float green = [protocolor green]; float blue = [protocolor blue]; FloatValue* alpha_wrapper = [protocolor alpha]; float alpha = 1.0; if (alpha_wrapper != nil) { alpha = [alpha_wrapper value]; } return [UIColor colorWithRed:red green:green blue:blue alpha:alpha]; } static Color* toProto(UIColor* color) { CGFloat red, green, blue, alpha; if (![color getRed:&red green:&green blue:&blue alpha:&alpha]) { return nil; } Color* result = [[Color alloc] init]; [result setRed:red]; [result setGreen:green]; [result setBlue:blue]; if (alpha <= 0.9999) { [result setAlpha:floatWrapperWithValue(alpha)]; } [result autorelease]; return result; } // ... Example (JavaScript): // ... var protoToCssColor = function(rgb_color) { var redFrac = rgb_color.red || 0.0; var greenFrac = rgb_color.green || 0.0; var blueFrac = rgb_color.blue || 0.0; var red = Math.floor(redFrac * 255); var green = Math.floor(greenFrac * 255); var blue = Math.floor(blueFrac * 255); if (!('alpha' in rgb_color)) { return rgbToCssColor(red, green, blue); } var alphaFrac = rgb_color.alpha.value || 0.0; var rgbParams = [red, green, blue].join(','); return ['rgba(', rgbParams, ',', alphaFrac, ')'].join(''); }; var rgbToCssColor = function(red, green, blue) { var rgbNumber = new Number((red << 16) | (green << 8) | blue); var hexString = rgbNumber.toString(16); var missingZeros = 6 - hexString.length; var resultBuilder = ['#']; for (var i = 0; i < missingZeros; i++) { resultBuilder.push('0'); } resultBuilder.push(hexString); return resultBuilder.join(''); }; // ... # Output only. Color that can be used for text without a background.
+                  "alpha": 3.14, # The fraction of this color that should be applied to the pixel. That is, the final pixel color is defined by the equation: `pixel color = alpha * (this color) + (1.0 - alpha) * (background color)` This means that a value of 1.0 corresponds to a solid color, whereas a value of 0.0 corresponds to a completely transparent color. This uses a wrapper message rather than a simple float scalar so that it is possible to distinguish between a default value and the value being unset. If omitted, this color object is rendered as a solid color (as if the alpha value had been explicitly given a value of 1.0).
+                  "blue": 3.14, # The amount of blue in the color as a value in the interval [0, 1].
+                  "green": 3.14, # The amount of green in the color as a value in the interval [0, 1].
+                  "red": 3.14, # The amount of red in the color as a value in the interval [0, 1].
+                },
+              },
+              "disabled": True or False, # Whether the option should be shown in the UI as disabled.
+              "hiddenInSearch": True or False, # This option should be hidden in the search menu when searching for Drive items.
+              "shownInApply": True or False, # This option should be shown in the apply menu when applying values to a Drive item.
+            },
+            "id": "A String", # The unique value of the choice. This ID is autogenerated. Matches the regex: `([a-zA-Z0-9_])+`.
+            "lifecycle": { # The lifecycle state of an object, such as label, field, or choice. The lifecycle enforces the following transitions: * `UNPUBLISHED_DRAFT` (starting state) * `UNPUBLISHED_DRAFT` -> `PUBLISHED` * `UNPUBLISHED_DRAFT` -> (Deleted) * `PUBLISHED` -> `DISABLED` * `DISABLED` -> `PUBLISHED` * `DISABLED` -> (Deleted) The published and disabled states have some distinct characteristics: * Published—Some kinds of changes might be made to an object in this state, in which case `has_unpublished_changes` will be true. Also, some kinds of changes are not permitted. Generally, any change that would invalidate or cause new restrictions on existing metadata related to the label are rejected. * Disabled—When disabled, the configured `DisabledPolicy` takes effect. # Output only. Lifecycle of the choice.
+              "disabledPolicy": { # The policy that governs how to treat a disabled label, field, or selection choice in different contexts. # The policy that governs how to show a disabled label, field, or selection choice.
+                "hideInSearch": True or False, # Whether to hide this disabled object in the search menu for Drive items. * When `false`, the object is generally shown in the UI as disabled but it appears in the search results when searching for Drive items. * When `true`, the object is generally hidden in the UI when searching for Drive items.
+                "showInApply": True or False, # Whether to show this disabled object in the apply menu on Drive items. * When `true`, the object is generally shown in the UI as disabled and is unselectable. * When `false`, the object is generally hidden in the UI.
+              },
+              "hasUnpublishedChanges": True or False, # Output only. Whether the object associated with this lifecycle has unpublished changes.
+              "state": "A String", # Output only. The state of the object associated with this lifecycle.
+            },
+            "lockStatus": { # Contains information about whether a label component should be considered locked. # Output only. The LockStatus of this choice.
+              "locked": True or False, # Output only. Indicates whether this label component is the (direct) target of a LabelLock. A label component can be implicitly locked even if it's not the direct target of a LabelLock, in which case this field is set to false.
+            },
+            "properties": { # Basic properties of the choice. # Basic properties of the choice.
+              "badgeConfig": { # Badge status of the label. # The badge configuration for this choice. When set, the label that owns this choice is considered a "badged label".
+                "color": { # Represents a color in the RGBA color space. This representation is designed for simplicity of conversion to/from color representations in various languages over compactness. For example, the fields of this representation can be trivially provided to the constructor of `java.awt.Color` in Java; it can also be trivially provided to UIColor's `+colorWithRed:green:blue:alpha` method in iOS; and, with just a little work, it can be easily formatted into a CSS `rgba()` string in JavaScript. This reference page doesn't carry information about the absolute color space that should be used to interpret the RGB value (e.g. sRGB, Adobe RGB, DCI-P3, BT.2020, etc.). By default, applications should assume the sRGB color space. When color equality needs to be decided, implementations, unless documented otherwise, treat two colors as equal if all their red, green, blue, and alpha values each differ by at most 1e-5. Example (Java): import com.google.type.Color; // ... public static java.awt.Color fromProto(Color protocolor) { float alpha = protocolor.hasAlpha() ? protocolor.getAlpha().getValue() : 1.0; return new java.awt.Color( protocolor.getRed(), protocolor.getGreen(), protocolor.getBlue(), alpha); } public static Color toProto(java.awt.Color color) { float red = (float) color.getRed(); float green = (float) color.getGreen(); float blue = (float) color.getBlue(); float denominator = 255.0; Color.Builder resultBuilder = Color .newBuilder() .setRed(red / denominator) .setGreen(green / denominator) .setBlue(blue / denominator); int alpha = color.getAlpha(); if (alpha != 255) { result.setAlpha( FloatValue .newBuilder() .setValue(((float) alpha) / denominator) .build()); } return resultBuilder.build(); } // ... Example (iOS / Obj-C): // ... static UIColor* fromProto(Color* protocolor) { float red = [protocolor red]; float green = [protocolor green]; float blue = [protocolor blue]; FloatValue* alpha_wrapper = [protocolor alpha]; float alpha = 1.0; if (alpha_wrapper != nil) { alpha = [alpha_wrapper value]; } return [UIColor colorWithRed:red green:green blue:blue alpha:alpha]; } static Color* toProto(UIColor* color) { CGFloat red, green, blue, alpha; if (![color getRed:&red green:&green blue:&blue alpha:&alpha]) { return nil; } Color* result = [[Color alloc] init]; [result setRed:red]; [result setGreen:green]; [result setBlue:blue]; if (alpha <= 0.9999) { [result setAlpha:floatWrapperWithValue(alpha)]; } [result autorelease]; return result; } // ... Example (JavaScript): // ... var protoToCssColor = function(rgb_color) { var redFrac = rgb_color.red || 0.0; var greenFrac = rgb_color.green || 0.0; var blueFrac = rgb_color.blue || 0.0; var red = Math.floor(redFrac * 255); var green = Math.floor(greenFrac * 255); var blue = Math.floor(blueFrac * 255); if (!('alpha' in rgb_color)) { return rgbToCssColor(red, green, blue); } var alphaFrac = rgb_color.alpha.value || 0.0; var rgbParams = [red, green, blue].join(','); return ['rgba(', rgbParams, ',', alphaFrac, ')'].join(''); }; var rgbToCssColor = function(red, green, blue) { var rgbNumber = new Number((red << 16) | (green << 8) | blue); var hexString = rgbNumber.toString(16); var missingZeros = 6 - hexString.length; var resultBuilder = ['#']; for (var i = 0; i < missingZeros; i++) { resultBuilder.push('0'); } resultBuilder.push(hexString); return resultBuilder.join(''); }; // ... # The color of the badge. When not specified, no badge is rendered. The background, foreground, and solo (light and dark mode) colors set here are changed in the Drive UI into the closest recommended supported color.
+                  "alpha": 3.14, # The fraction of this color that should be applied to the pixel. That is, the final pixel color is defined by the equation: `pixel color = alpha * (this color) + (1.0 - alpha) * (background color)` This means that a value of 1.0 corresponds to a solid color, whereas a value of 0.0 corresponds to a completely transparent color. This uses a wrapper message rather than a simple float scalar so that it is possible to distinguish between a default value and the value being unset. If omitted, this color object is rendered as a solid color (as if the alpha value had been explicitly given a value of 1.0).
+                  "blue": 3.14, # The amount of blue in the color as a value in the interval [0, 1].
+                  "green": 3.14, # The amount of green in the color as a value in the interval [0, 1].
+                  "red": 3.14, # The amount of red in the color as a value in the interval [0, 1].
+                },
+                "priorityOverride": "A String", # Override the default global priority of this badge. When set to 0, the default priority heuristic is used.
+              },
+              "description": "A String", # The description of this label.
+              "displayName": "A String", # Required. The display text to show in the UI identifying this field.
+              "insertBeforeChoice": "A String", # Input only. Insert or move this choice before the indicated choice. If empty, the choice is placed at the end of the list.
+            },
+            "publishTime": "A String", # Output only. The time this choice was published. This value has no meaning when the choice is not published.
+            "publisher": { # Information about a user. # Output only. The user who published this choice. This value has no meaning when the choice is not published.
+              "person": "A String", # The identifier for this user that can be used with the People API to get more information. For example, people/12345678.
+            },
+            "schemaCapabilities": { # The capabilities related to this choice when editing the choice. # Output only. The capabilities related to this option when editing the option.
+              "canDelete": True or False, # Whether the user can delete this choice.
+              "canDisable": True or False, # Whether the user can disable this choice.
+              "canEnable": True or False, # Whether the user can enable this choice.
+              "canUpdate": True or False, # Whether the user can update this choice.
+            },
+            "updateTime": "A String", # Output only. The time this choice was updated last.
+            "updater": { # Information about a user. # Output only. The user who updated this choice last.
+              "person": "A String", # The identifier for this user that can be used with the People API to get more information. For example, people/12345678.
+            },
+          },
+        ],
+        "listOptions": { # Options for a multi-valued variant of an associated field type. # When specified, indicates this field supports a list of values. Once the field is published, this cannot be changed.
+          "maxEntries": 42, # Maximum number of entries permitted.
+        },
+      },
+      "textOptions": { # Options for the Text field type. # Text field options.
+        "maxLength": 42, # Output only. The maximum valid length of values for the text field.
+        "minLength": 42, # Output only. The minimum valid length of values for the text field.
+      },
+      "updateTime": "A String", # Output only. The time this field was updated.
+      "updater": { # Information about a user. # Output only. The user who modified this field.
+        "person": "A String", # The identifier for this user that can be used with the People API to get more information. For example, people/12345678.
+      },
+      "userOptions": { # Options for the user field type. # User field options.
+        "listOptions": { # Options for a multi-valued variant of an associated field type. # When specified, indicates that this field supports a list of values. Once the field is published, this cannot be changed.
+          "maxEntries": 42, # Maximum number of entries permitted.
+        },
+      },
+    },
+  ],
+  "id": "A String", # Output only. Globally unique identifier of this label. ID makes up part of the label `name`, but unlike `name`, ID is consistent between revisions. Matches the regex: `([a-zA-Z0-9])+`
+  "labelType": "A String", # Required. The type of label.
+  "learnMoreUri": "A String", # Custom URL to present to users to allow them to learn more about this label and how it should be used.
+  "lifecycle": { # The lifecycle state of an object, such as label, field, or choice. The lifecycle enforces the following transitions: * `UNPUBLISHED_DRAFT` (starting state) * `UNPUBLISHED_DRAFT` -> `PUBLISHED` * `UNPUBLISHED_DRAFT` -> (Deleted) * `PUBLISHED` -> `DISABLED` * `DISABLED` -> `PUBLISHED` * `DISABLED` -> (Deleted) The published and disabled states have some distinct characteristics: * Published—Some kinds of changes might be made to an object in this state, in which case `has_unpublished_changes` will be true. Also, some kinds of changes are not permitted. Generally, any change that would invalidate or cause new restrictions on existing metadata related to the label are rejected. * Disabled—When disabled, the configured `DisabledPolicy` takes effect. # Output only. The lifecycle state of the label including whether it's published, deprecated, and has draft changes.
+    "disabledPolicy": { # The policy that governs how to treat a disabled label, field, or selection choice in different contexts. # The policy that governs how to show a disabled label, field, or selection choice.
+      "hideInSearch": True or False, # Whether to hide this disabled object in the search menu for Drive items. * When `false`, the object is generally shown in the UI as disabled but it appears in the search results when searching for Drive items. * When `true`, the object is generally hidden in the UI when searching for Drive items.
+      "showInApply": True or False, # Whether to show this disabled object in the apply menu on Drive items. * When `true`, the object is generally shown in the UI as disabled and is unselectable. * When `false`, the object is generally hidden in the UI.
+    },
+    "hasUnpublishedChanges": True or False, # Output only. Whether the object associated with this lifecycle has unpublished changes.
+    "state": "A String", # Output only. The state of the object associated with this lifecycle.
+  },
+  "lockStatus": { # Contains information about whether a label component should be considered locked. # Output only. The LockStatus of this label.
+    "locked": True or False, # Output only. Indicates whether this label component is the (direct) target of a LabelLock. A label component can be implicitly locked even if it's not the direct target of a LabelLock, in which case this field is set to false.
+  },
+  "name": "A String", # Output only. Resource name of the label. Will be in the form of either: `labels/{id}` or `labels/{id}@{revision_id}` depending on the request. See `id` and `revision_id` below.
+  "properties": { # Basic properties of the label. # Required. The basic properties of the label.
+    "description": "A String", # The description of the label.
+    "title": "A String", # Required. Title of the label.
+  },
+  "publishTime": "A String", # Output only. The time this label was published. This value has no meaning when the label is not published.
+  "publisher": { # Information about a user. # Output only. The user who published this label. This value has no meaning when the label is not published.
+    "person": "A String", # The identifier for this user that can be used with the People API to get more information. For example, people/12345678.
+  },
+  "revisionCreateTime": "A String", # Output only. The time this label revision was created.
+  "revisionCreator": { # Information about a user. # Output only. The user who created this label revision.
+    "person": "A String", # The identifier for this user that can be used with the People API to get more information. For example, people/12345678.
+  },
+  "revisionId": "A String", # Output only. Revision ID of the label. Revision ID might be part of the label `name` depending on the request issued. A new revision is created whenever revisioned properties of a label are changed. Matches the regex: `([a-zA-Z0-9])+`
+  "schemaCapabilities": { # The capabilities related to this label when editing the label. # Output only. The capabilities the user has on this label.
+    "canDelete": True or False, # Whether the user can delete this label. The user must have permission and the label must be disabled.
+    "canDisable": True or False, # Whether the user can disable this label. The user must have permission and this label must not already be disabled.
+    "canEnable": True or False, # Whether the user can enable this label. The user must have permission and this label must be disabled.
+    "canUpdate": True or False, # Whether the user can change this label.
+  },
+}
+
+ +
+ delete(name, useAdminAccess=None, writeControl_requiredRevisionId=None, x__xgafv=None) +
Permanently deletes a Label and related metadata on Drive Items. Once deleted, the Label and related Drive item metadata will be deleted. Only draft Labels, and disabled Labels may be deleted.
+
+Args:
+  name: string, Required. Label resource name. (required)
+  useAdminAccess: boolean, Set to `true` in order to use the user's admin credentials. The server will verify the user is an admin for the Label before allowing access.
+  writeControl_requiredRevisionId: string, The revision_id of the label that the write request will be applied to. If this is not the latest revision of the label, the request will not be processed and will return a 400 Bad Request error.
+  x__xgafv: string, V1 error format.
+    Allowed values
+      1 - v1 error format
+      2 - v2 error format
+
+Returns:
+  An object of the form:
+
+    { # A generic empty message that you can re-use to avoid defining duplicated empty messages in your APIs. A typical example is to use it as the request or the response type of an API method. For instance: service Foo { rpc Bar(google.protobuf.Empty) returns (google.protobuf.Empty); }
+}
+
+ +
+ delta(name, body=None, x__xgafv=None) +
Updates a single Label by applying a set of update requests resulting in a new draft revision. The batch update is all-or-nothing: If any of the update requests are invalid, no changes are applied. The resulting draft revision must be published before the changes may be used with Drive Items.
+
+Args:
+  name: string, Required. The resource name of the Label to update. (required)
+  body: object, The request body.
+    The object takes the form of:
+
+{ # The set of requests for updating aspects of a Label. If any request is not valid, no requests will be applied.
+  "languageCode": "A String", # The BCP-47 language code to use for evaluating localized Field labels when `include_label_in_response` is `true`.
+  "requests": [ # A list of updates to apply to the Label. Requests will be applied in the order they are specified.
+    { # A single kind of update to apply to a Label.
+      "createField": { # Request to create a Field within a Label. # Creates a new Field.
+        "field": { # Defines a field that has a display name, data type, and other configuration options. This field defines the kind of metadata that may be set on a Drive item. # Required. Field to create.
+          "appliedCapabilities": { # The capabilities related to this field on applied metadata. # Output only. The capabilities this user has on this field and its value when the label is applied on Drive items.
+            "canRead": True or False, # Whether the user can read related applied metadata on items.
+            "canSearch": True or False, # Whether the user can search for Drive items referencing this field.
+            "canWrite": True or False, # Whether the user can set this field on Drive items.
+          },
+          "createTime": "A String", # Output only. The time this field was created.
+          "creator": { # Information about a user. # Output only. The user who created this field.
+            "person": "A String", # The identifier for this user that can be used with the People API to get more information. For example, people/12345678.
+          },
+          "dateOptions": { # Options for the date field type. # Date field options.
+            "dateFormat": "A String", # Output only. ICU date format.
+            "dateFormatType": "A String", # Localized date formatting option. Field values are rendered in this format according to their locale.
+            "maxValue": { # Represents a whole or partial calendar date, such as a birthday. The time of day and time zone are either specified elsewhere or are insignificant. The date is relative to the Gregorian Calendar. This can represent one of the following: * A full date, with non-zero year, month, and day values. * A month and day, with a zero year (for example, an anniversary). * A year on its own, with a zero month and a zero day. * A year and month, with a zero day (for example, a credit card expiration date). Related types: * google.type.TimeOfDay * google.type.DateTime * google.protobuf.Timestamp # Output only. Maximum valid value (year, month, day).
+              "day": 42, # Day of a month. Must be from 1 to 31 and valid for the year and month, or 0 to specify a year by itself or a year and month where the day isn't significant.
+              "month": 42, # Month of a year. Must be from 1 to 12, or 0 to specify a year without a month and day.
+              "year": 42, # Year of the date. Must be from 1 to 9999, or 0 to specify a date without a year.
+            },
+            "minValue": { # Represents a whole or partial calendar date, such as a birthday. The time of day and time zone are either specified elsewhere or are insignificant. The date is relative to the Gregorian Calendar. This can represent one of the following: * A full date, with non-zero year, month, and day values. * A month and day, with a zero year (for example, an anniversary). * A year on its own, with a zero month and a zero day. * A year and month, with a zero day (for example, a credit card expiration date). Related types: * google.type.TimeOfDay * google.type.DateTime * google.protobuf.Timestamp # Output only. Minimum valid value (year, month, day).
+              "day": 42, # Day of a month. Must be from 1 to 31 and valid for the year and month, or 0 to specify a year by itself or a year and month where the day isn't significant.
+              "month": 42, # Month of a year. Must be from 1 to 12, or 0 to specify a year without a month and day.
+              "year": 42, # Year of the date. Must be from 1 to 9999, or 0 to specify a date without a year.
+            },
+          },
+          "disableTime": "A String", # Output only. The time this field was disabled. This value has no meaning when the field is not disabled.
+          "disabler": { # Information about a user. # Output only. The user who disabled this field. This value has no meaning when the field is not disabled.
+            "person": "A String", # The identifier for this user that can be used with the People API to get more information. For example, people/12345678.
+          },
+          "displayHints": { # UI display hints for rendering a field. # Output only. UI display hints for rendering a field.
+            "disabled": True or False, # Whether the field should be shown in the UI as disabled.
+            "hiddenInSearch": True or False, # This field should be hidden in the search menu when searching for Drive items.
+            "required": True or False, # Whether the field should be shown as required in the UI.
+            "shownInApply": True or False, # This field should be shown in the apply menu when applying values to a Drive item.
+          },
+          "id": "A String", # Output only. The key of a field, unique within a label or library. This value is autogenerated. Matches the regex: `([a-zA-Z0-9])+`
+          "integerOptions": { # Options for the Integer field type. # Integer field options.
+            "maxValue": "A String", # Output only. The maximum valid value for the integer field.
+            "minValue": "A String", # Output only. The minimum valid value for the integer field.
+          },
+          "lifecycle": { # The lifecycle state of an object, such as label, field, or choice. The lifecycle enforces the following transitions: * `UNPUBLISHED_DRAFT` (starting state) * `UNPUBLISHED_DRAFT` -> `PUBLISHED` * `UNPUBLISHED_DRAFT` -> (Deleted) * `PUBLISHED` -> `DISABLED` * `DISABLED` -> `PUBLISHED` * `DISABLED` -> (Deleted) The published and disabled states have some distinct characteristics: * Published—Some kinds of changes might be made to an object in this state, in which case `has_unpublished_changes` will be true. Also, some kinds of changes are not permitted. Generally, any change that would invalidate or cause new restrictions on existing metadata related to the label are rejected. * Disabled—When disabled, the configured `DisabledPolicy` takes effect. # Output only. The lifecycle of this field.
+            "disabledPolicy": { # The policy that governs how to treat a disabled label, field, or selection choice in different contexts. # The policy that governs how to show a disabled label, field, or selection choice.
+              "hideInSearch": True or False, # Whether to hide this disabled object in the search menu for Drive items. * When `false`, the object is generally shown in the UI as disabled but it appears in the search results when searching for Drive items. * When `true`, the object is generally hidden in the UI when searching for Drive items.
+              "showInApply": True or False, # Whether to show this disabled object in the apply menu on Drive items. * When `true`, the object is generally shown in the UI as disabled and is unselectable. * When `false`, the object is generally hidden in the UI.
+            },
+            "hasUnpublishedChanges": True or False, # Output only. Whether the object associated with this lifecycle has unpublished changes.
+            "state": "A String", # Output only. The state of the object associated with this lifecycle.
+          },
+          "lockStatus": { # Contains information about whether a label component should be considered locked. # Output only. The LockStatus of this field.
+            "locked": True or False, # Output only. Indicates whether this label component is the (direct) target of a LabelLock. A label component can be implicitly locked even if it's not the direct target of a LabelLock, in which case this field is set to false.
+          },
+          "properties": { # The basic properties of the field. # The basic properties of the field.
+            "displayName": "A String", # Required. The display text to show in the UI identifying this field.
+            "insertBeforeField": "A String", # Input only. Insert or move this field before the indicated field. If empty, the field is placed at the end of the list.
+            "required": True or False, # Whether the field should be marked as required.
+          },
+          "publisher": { # Information about a user. # Output only. The user who published this field. This value has no meaning when the field is not published.
+            "person": "A String", # The identifier for this user that can be used with the People API to get more information. For example, people/12345678.
+          },
+          "queryKey": "A String", # Output only. The key to use when constructing Drive search queries to find files based on values defined for this field on files. For example, "`{query_key}` > 2001-01-01".
+          "schemaCapabilities": { # The capabilities related to this field when editing the field. # Output only. The capabilities this user has when editing this field.
+            "canDelete": True or False, # Whether the user can delete this field. The user must have permission and the field must be deprecated.
+            "canDisable": True or False, # Whether the user can disable this field. The user must have permission and this field must not already be disabled.
+            "canEnable": True or False, # Whether the user can enable this field. The user must have permission and this field must be disabled.
+            "canUpdate": True or False, # Whether the user can change this field.
+          },
+          "selectionOptions": { # Options for the selection field type. # Selection field options.
+            "choices": [ # The options available for this selection field. The list order is consistent, and modified with `insert_before_choice`.
+              { # Selection field choice.
+                "appliedCapabilities": { # The capabilities related to this choice on applied metadata. # Output only. The capabilities related to this choice on applied metadata.
+                  "canRead": True or False, # Whether the user can read related applied metadata on items.
+                  "canSearch": True or False, # Whether the user can use this choice in search queries.
+                  "canSelect": True or False, # Whether the user can select this choice on an item.
+                },
+                "createTime": "A String", # Output only. The time this choice was created.
+                "creator": { # Information about a user. # Output only. The user who created this choice.
+                  "person": "A String", # The identifier for this user that can be used with the People API to get more information. For example, people/12345678.
+                },
+                "disableTime": "A String", # Output only. The time this choice was disabled. This value has no meaning when the choice is not disabled.
+                "disabler": { # Information about a user. # Output only. The user who disabled this choice. This value has no meaning when the option is not disabled.
+                  "person": "A String", # The identifier for this user that can be used with the People API to get more information. For example, people/12345678.
+                },
+                "displayHints": { # UI display hints for rendering an option. # Output only. UI display hints for rendering a choice.
+                  "badgeColors": { # The color derived from BadgeConfig and changed to the closest recommended supported color. # The colors to use for the badge. Changed to Google Material colors based on the chosen `properties.badge_config.color`.
+                    "backgroundColor": { # Represents a color in the RGBA color space. This representation is designed for simplicity of conversion to/from color representations in various languages over compactness. For example, the fields of this representation can be trivially provided to the constructor of `java.awt.Color` in Java; it can also be trivially provided to UIColor's `+colorWithRed:green:blue:alpha` method in iOS; and, with just a little work, it can be easily formatted into a CSS `rgba()` string in JavaScript. This reference page doesn't carry information about the absolute color space that should be used to interpret the RGB value (e.g. sRGB, Adobe RGB, DCI-P3, BT.2020, etc.). By default, applications should assume the sRGB color space. When color equality needs to be decided, implementations, unless documented otherwise, treat two colors as equal if all their red, green, blue, and alpha values each differ by at most 1e-5. Example (Java): import com.google.type.Color; // ... public static java.awt.Color fromProto(Color protocolor) { float alpha = protocolor.hasAlpha() ? protocolor.getAlpha().getValue() : 1.0; return new java.awt.Color( protocolor.getRed(), protocolor.getGreen(), protocolor.getBlue(), alpha); } public static Color toProto(java.awt.Color color) { float red = (float) color.getRed(); float green = (float) color.getGreen(); float blue = (float) color.getBlue(); float denominator = 255.0; Color.Builder resultBuilder = Color .newBuilder() .setRed(red / denominator) .setGreen(green / denominator) .setBlue(blue / denominator); int alpha = color.getAlpha(); if (alpha != 255) { result.setAlpha( FloatValue .newBuilder() .setValue(((float) alpha) / denominator) .build()); } return resultBuilder.build(); } // ... Example (iOS / Obj-C): // ... static UIColor* fromProto(Color* protocolor) { float red = [protocolor red]; float green = [protocolor green]; float blue = [protocolor blue]; FloatValue* alpha_wrapper = [protocolor alpha]; float alpha = 1.0; if (alpha_wrapper != nil) { alpha = [alpha_wrapper value]; } return [UIColor colorWithRed:red green:green blue:blue alpha:alpha]; } static Color* toProto(UIColor* color) { CGFloat red, green, blue, alpha; if (![color getRed:&red green:&green blue:&blue alpha:&alpha]) { return nil; } Color* result = [[Color alloc] init]; [result setRed:red]; [result setGreen:green]; [result setBlue:blue]; if (alpha <= 0.9999) { [result setAlpha:floatWrapperWithValue(alpha)]; } [result autorelease]; return result; } // ... Example (JavaScript): // ... var protoToCssColor = function(rgb_color) { var redFrac = rgb_color.red || 0.0; var greenFrac = rgb_color.green || 0.0; var blueFrac = rgb_color.blue || 0.0; var red = Math.floor(redFrac * 255); var green = Math.floor(greenFrac * 255); var blue = Math.floor(blueFrac * 255); if (!('alpha' in rgb_color)) { return rgbToCssColor(red, green, blue); } var alphaFrac = rgb_color.alpha.value || 0.0; var rgbParams = [red, green, blue].join(','); return ['rgba(', rgbParams, ',', alphaFrac, ')'].join(''); }; var rgbToCssColor = function(red, green, blue) { var rgbNumber = new Number((red << 16) | (green << 8) | blue); var hexString = rgbNumber.toString(16); var missingZeros = 6 - hexString.length; var resultBuilder = ['#']; for (var i = 0; i < missingZeros; i++) { resultBuilder.push('0'); } resultBuilder.push(hexString); return resultBuilder.join(''); }; // ... # Output only. Badge background that pairs with the foreground.
+                      "alpha": 3.14, # The fraction of this color that should be applied to the pixel. That is, the final pixel color is defined by the equation: `pixel color = alpha * (this color) + (1.0 - alpha) * (background color)` This means that a value of 1.0 corresponds to a solid color, whereas a value of 0.0 corresponds to a completely transparent color. This uses a wrapper message rather than a simple float scalar so that it is possible to distinguish between a default value and the value being unset. If omitted, this color object is rendered as a solid color (as if the alpha value had been explicitly given a value of 1.0).
+                      "blue": 3.14, # The amount of blue in the color as a value in the interval [0, 1].
+                      "green": 3.14, # The amount of green in the color as a value in the interval [0, 1].
+                      "red": 3.14, # The amount of red in the color as a value in the interval [0, 1].
+                    },
+                    "foregroundColor": { # Represents a color in the RGBA color space. This representation is designed for simplicity of conversion to/from color representations in various languages over compactness. For example, the fields of this representation can be trivially provided to the constructor of `java.awt.Color` in Java; it can also be trivially provided to UIColor's `+colorWithRed:green:blue:alpha` method in iOS; and, with just a little work, it can be easily formatted into a CSS `rgba()` string in JavaScript. This reference page doesn't carry information about the absolute color space that should be used to interpret the RGB value (e.g. sRGB, Adobe RGB, DCI-P3, BT.2020, etc.). By default, applications should assume the sRGB color space. When color equality needs to be decided, implementations, unless documented otherwise, treat two colors as equal if all their red, green, blue, and alpha values each differ by at most 1e-5. Example (Java): import com.google.type.Color; // ... public static java.awt.Color fromProto(Color protocolor) { float alpha = protocolor.hasAlpha() ? protocolor.getAlpha().getValue() : 1.0; return new java.awt.Color( protocolor.getRed(), protocolor.getGreen(), protocolor.getBlue(), alpha); } public static Color toProto(java.awt.Color color) { float red = (float) color.getRed(); float green = (float) color.getGreen(); float blue = (float) color.getBlue(); float denominator = 255.0; Color.Builder resultBuilder = Color .newBuilder() .setRed(red / denominator) .setGreen(green / denominator) .setBlue(blue / denominator); int alpha = color.getAlpha(); if (alpha != 255) { result.setAlpha( FloatValue .newBuilder() .setValue(((float) alpha) / denominator) .build()); } return resultBuilder.build(); } // ... Example (iOS / Obj-C): // ... static UIColor* fromProto(Color* protocolor) { float red = [protocolor red]; float green = [protocolor green]; float blue = [protocolor blue]; FloatValue* alpha_wrapper = [protocolor alpha]; float alpha = 1.0; if (alpha_wrapper != nil) { alpha = [alpha_wrapper value]; } return [UIColor colorWithRed:red green:green blue:blue alpha:alpha]; } static Color* toProto(UIColor* color) { CGFloat red, green, blue, alpha; if (![color getRed:&red green:&green blue:&blue alpha:&alpha]) { return nil; } Color* result = [[Color alloc] init]; [result setRed:red]; [result setGreen:green]; [result setBlue:blue]; if (alpha <= 0.9999) { [result setAlpha:floatWrapperWithValue(alpha)]; } [result autorelease]; return result; } // ... Example (JavaScript): // ... var protoToCssColor = function(rgb_color) { var redFrac = rgb_color.red || 0.0; var greenFrac = rgb_color.green || 0.0; var blueFrac = rgb_color.blue || 0.0; var red = Math.floor(redFrac * 255); var green = Math.floor(greenFrac * 255); var blue = Math.floor(blueFrac * 255); if (!('alpha' in rgb_color)) { return rgbToCssColor(red, green, blue); } var alphaFrac = rgb_color.alpha.value || 0.0; var rgbParams = [red, green, blue].join(','); return ['rgba(', rgbParams, ',', alphaFrac, ')'].join(''); }; var rgbToCssColor = function(red, green, blue) { var rgbNumber = new Number((red << 16) | (green << 8) | blue); var hexString = rgbNumber.toString(16); var missingZeros = 6 - hexString.length; var resultBuilder = ['#']; for (var i = 0; i < missingZeros; i++) { resultBuilder.push('0'); } resultBuilder.push(hexString); return resultBuilder.join(''); }; // ... # Output only. Badge foreground that pairs with the background.
+                      "alpha": 3.14, # The fraction of this color that should be applied to the pixel. That is, the final pixel color is defined by the equation: `pixel color = alpha * (this color) + (1.0 - alpha) * (background color)` This means that a value of 1.0 corresponds to a solid color, whereas a value of 0.0 corresponds to a completely transparent color. This uses a wrapper message rather than a simple float scalar so that it is possible to distinguish between a default value and the value being unset. If omitted, this color object is rendered as a solid color (as if the alpha value had been explicitly given a value of 1.0).
+                      "blue": 3.14, # The amount of blue in the color as a value in the interval [0, 1].
+                      "green": 3.14, # The amount of green in the color as a value in the interval [0, 1].
+                      "red": 3.14, # The amount of red in the color as a value in the interval [0, 1].
+                    },
+                    "soloColor": { # Represents a color in the RGBA color space. This representation is designed for simplicity of conversion to/from color representations in various languages over compactness. For example, the fields of this representation can be trivially provided to the constructor of `java.awt.Color` in Java; it can also be trivially provided to UIColor's `+colorWithRed:green:blue:alpha` method in iOS; and, with just a little work, it can be easily formatted into a CSS `rgba()` string in JavaScript. This reference page doesn't carry information about the absolute color space that should be used to interpret the RGB value (e.g. sRGB, Adobe RGB, DCI-P3, BT.2020, etc.). By default, applications should assume the sRGB color space. When color equality needs to be decided, implementations, unless documented otherwise, treat two colors as equal if all their red, green, blue, and alpha values each differ by at most 1e-5. Example (Java): import com.google.type.Color; // ... public static java.awt.Color fromProto(Color protocolor) { float alpha = protocolor.hasAlpha() ? protocolor.getAlpha().getValue() : 1.0; return new java.awt.Color( protocolor.getRed(), protocolor.getGreen(), protocolor.getBlue(), alpha); } public static Color toProto(java.awt.Color color) { float red = (float) color.getRed(); float green = (float) color.getGreen(); float blue = (float) color.getBlue(); float denominator = 255.0; Color.Builder resultBuilder = Color .newBuilder() .setRed(red / denominator) .setGreen(green / denominator) .setBlue(blue / denominator); int alpha = color.getAlpha(); if (alpha != 255) { result.setAlpha( FloatValue .newBuilder() .setValue(((float) alpha) / denominator) .build()); } return resultBuilder.build(); } // ... Example (iOS / Obj-C): // ... static UIColor* fromProto(Color* protocolor) { float red = [protocolor red]; float green = [protocolor green]; float blue = [protocolor blue]; FloatValue* alpha_wrapper = [protocolor alpha]; float alpha = 1.0; if (alpha_wrapper != nil) { alpha = [alpha_wrapper value]; } return [UIColor colorWithRed:red green:green blue:blue alpha:alpha]; } static Color* toProto(UIColor* color) { CGFloat red, green, blue, alpha; if (![color getRed:&red green:&green blue:&blue alpha:&alpha]) { return nil; } Color* result = [[Color alloc] init]; [result setRed:red]; [result setGreen:green]; [result setBlue:blue]; if (alpha <= 0.9999) { [result setAlpha:floatWrapperWithValue(alpha)]; } [result autorelease]; return result; } // ... Example (JavaScript): // ... var protoToCssColor = function(rgb_color) { var redFrac = rgb_color.red || 0.0; var greenFrac = rgb_color.green || 0.0; var blueFrac = rgb_color.blue || 0.0; var red = Math.floor(redFrac * 255); var green = Math.floor(greenFrac * 255); var blue = Math.floor(blueFrac * 255); if (!('alpha' in rgb_color)) { return rgbToCssColor(red, green, blue); } var alphaFrac = rgb_color.alpha.value || 0.0; var rgbParams = [red, green, blue].join(','); return ['rgba(', rgbParams, ',', alphaFrac, ')'].join(''); }; var rgbToCssColor = function(red, green, blue) { var rgbNumber = new Number((red << 16) | (green << 8) | blue); var hexString = rgbNumber.toString(16); var missingZeros = 6 - hexString.length; var resultBuilder = ['#']; for (var i = 0; i < missingZeros; i++) { resultBuilder.push('0'); } resultBuilder.push(hexString); return resultBuilder.join(''); }; // ... # Output only. Color that can be used for text without a background.
+                      "alpha": 3.14, # The fraction of this color that should be applied to the pixel. That is, the final pixel color is defined by the equation: `pixel color = alpha * (this color) + (1.0 - alpha) * (background color)` This means that a value of 1.0 corresponds to a solid color, whereas a value of 0.0 corresponds to a completely transparent color. This uses a wrapper message rather than a simple float scalar so that it is possible to distinguish between a default value and the value being unset. If omitted, this color object is rendered as a solid color (as if the alpha value had been explicitly given a value of 1.0).
+                      "blue": 3.14, # The amount of blue in the color as a value in the interval [0, 1].
+                      "green": 3.14, # The amount of green in the color as a value in the interval [0, 1].
+                      "red": 3.14, # The amount of red in the color as a value in the interval [0, 1].
+                    },
+                  },
+                  "badgePriority": "A String", # The priority of this badge. Used to compare and sort between multiple badges. A lower number means the badge should be shown first. When a badging configuration is not present, this will be 0. Otherwise, this will be set to `BadgeConfig.priority_override` or the default heuristic which prefers creation date of the label, and field and option priority.
+                  "darkBadgeColors": { # The color derived from BadgeConfig and changed to the closest recommended supported color. # The dark-mode color to use for the badge. Changed to Google Material colors based on the chosen `properties.badge_config.color`.
+                    "backgroundColor": { # Represents a color in the RGBA color space. This representation is designed for simplicity of conversion to/from color representations in various languages over compactness. For example, the fields of this representation can be trivially provided to the constructor of `java.awt.Color` in Java; it can also be trivially provided to UIColor's `+colorWithRed:green:blue:alpha` method in iOS; and, with just a little work, it can be easily formatted into a CSS `rgba()` string in JavaScript. This reference page doesn't carry information about the absolute color space that should be used to interpret the RGB value (e.g. sRGB, Adobe RGB, DCI-P3, BT.2020, etc.). By default, applications should assume the sRGB color space. When color equality needs to be decided, implementations, unless documented otherwise, treat two colors as equal if all their red, green, blue, and alpha values each differ by at most 1e-5. Example (Java): import com.google.type.Color; // ... public static java.awt.Color fromProto(Color protocolor) { float alpha = protocolor.hasAlpha() ? protocolor.getAlpha().getValue() : 1.0; return new java.awt.Color( protocolor.getRed(), protocolor.getGreen(), protocolor.getBlue(), alpha); } public static Color toProto(java.awt.Color color) { float red = (float) color.getRed(); float green = (float) color.getGreen(); float blue = (float) color.getBlue(); float denominator = 255.0; Color.Builder resultBuilder = Color .newBuilder() .setRed(red / denominator) .setGreen(green / denominator) .setBlue(blue / denominator); int alpha = color.getAlpha(); if (alpha != 255) { result.setAlpha( FloatValue .newBuilder() .setValue(((float) alpha) / denominator) .build()); } return resultBuilder.build(); } // ... Example (iOS / Obj-C): // ... static UIColor* fromProto(Color* protocolor) { float red = [protocolor red]; float green = [protocolor green]; float blue = [protocolor blue]; FloatValue* alpha_wrapper = [protocolor alpha]; float alpha = 1.0; if (alpha_wrapper != nil) { alpha = [alpha_wrapper value]; } return [UIColor colorWithRed:red green:green blue:blue alpha:alpha]; } static Color* toProto(UIColor* color) { CGFloat red, green, blue, alpha; if (![color getRed:&red green:&green blue:&blue alpha:&alpha]) { return nil; } Color* result = [[Color alloc] init]; [result setRed:red]; [result setGreen:green]; [result setBlue:blue]; if (alpha <= 0.9999) { [result setAlpha:floatWrapperWithValue(alpha)]; } [result autorelease]; return result; } // ... Example (JavaScript): // ... var protoToCssColor = function(rgb_color) { var redFrac = rgb_color.red || 0.0; var greenFrac = rgb_color.green || 0.0; var blueFrac = rgb_color.blue || 0.0; var red = Math.floor(redFrac * 255); var green = Math.floor(greenFrac * 255); var blue = Math.floor(blueFrac * 255); if (!('alpha' in rgb_color)) { return rgbToCssColor(red, green, blue); } var alphaFrac = rgb_color.alpha.value || 0.0; var rgbParams = [red, green, blue].join(','); return ['rgba(', rgbParams, ',', alphaFrac, ')'].join(''); }; var rgbToCssColor = function(red, green, blue) { var rgbNumber = new Number((red << 16) | (green << 8) | blue); var hexString = rgbNumber.toString(16); var missingZeros = 6 - hexString.length; var resultBuilder = ['#']; for (var i = 0; i < missingZeros; i++) { resultBuilder.push('0'); } resultBuilder.push(hexString); return resultBuilder.join(''); }; // ... # Output only. Badge background that pairs with the foreground.
+                      "alpha": 3.14, # The fraction of this color that should be applied to the pixel. That is, the final pixel color is defined by the equation: `pixel color = alpha * (this color) + (1.0 - alpha) * (background color)` This means that a value of 1.0 corresponds to a solid color, whereas a value of 0.0 corresponds to a completely transparent color. This uses a wrapper message rather than a simple float scalar so that it is possible to distinguish between a default value and the value being unset. If omitted, this color object is rendered as a solid color (as if the alpha value had been explicitly given a value of 1.0).
+                      "blue": 3.14, # The amount of blue in the color as a value in the interval [0, 1].
+                      "green": 3.14, # The amount of green in the color as a value in the interval [0, 1].
+                      "red": 3.14, # The amount of red in the color as a value in the interval [0, 1].
+                    },
+                    "foregroundColor": { # Represents a color in the RGBA color space. This representation is designed for simplicity of conversion to/from color representations in various languages over compactness. For example, the fields of this representation can be trivially provided to the constructor of `java.awt.Color` in Java; it can also be trivially provided to UIColor's `+colorWithRed:green:blue:alpha` method in iOS; and, with just a little work, it can be easily formatted into a CSS `rgba()` string in JavaScript. This reference page doesn't carry information about the absolute color space that should be used to interpret the RGB value (e.g. sRGB, Adobe RGB, DCI-P3, BT.2020, etc.). By default, applications should assume the sRGB color space. When color equality needs to be decided, implementations, unless documented otherwise, treat two colors as equal if all their red, green, blue, and alpha values each differ by at most 1e-5. Example (Java): import com.google.type.Color; // ... public static java.awt.Color fromProto(Color protocolor) { float alpha = protocolor.hasAlpha() ? protocolor.getAlpha().getValue() : 1.0; return new java.awt.Color( protocolor.getRed(), protocolor.getGreen(), protocolor.getBlue(), alpha); } public static Color toProto(java.awt.Color color) { float red = (float) color.getRed(); float green = (float) color.getGreen(); float blue = (float) color.getBlue(); float denominator = 255.0; Color.Builder resultBuilder = Color .newBuilder() .setRed(red / denominator) .setGreen(green / denominator) .setBlue(blue / denominator); int alpha = color.getAlpha(); if (alpha != 255) { result.setAlpha( FloatValue .newBuilder() .setValue(((float) alpha) / denominator) .build()); } return resultBuilder.build(); } // ... Example (iOS / Obj-C): // ... static UIColor* fromProto(Color* protocolor) { float red = [protocolor red]; float green = [protocolor green]; float blue = [protocolor blue]; FloatValue* alpha_wrapper = [protocolor alpha]; float alpha = 1.0; if (alpha_wrapper != nil) { alpha = [alpha_wrapper value]; } return [UIColor colorWithRed:red green:green blue:blue alpha:alpha]; } static Color* toProto(UIColor* color) { CGFloat red, green, blue, alpha; if (![color getRed:&red green:&green blue:&blue alpha:&alpha]) { return nil; } Color* result = [[Color alloc] init]; [result setRed:red]; [result setGreen:green]; [result setBlue:blue]; if (alpha <= 0.9999) { [result setAlpha:floatWrapperWithValue(alpha)]; } [result autorelease]; return result; } // ... Example (JavaScript): // ... var protoToCssColor = function(rgb_color) { var redFrac = rgb_color.red || 0.0; var greenFrac = rgb_color.green || 0.0; var blueFrac = rgb_color.blue || 0.0; var red = Math.floor(redFrac * 255); var green = Math.floor(greenFrac * 255); var blue = Math.floor(blueFrac * 255); if (!('alpha' in rgb_color)) { return rgbToCssColor(red, green, blue); } var alphaFrac = rgb_color.alpha.value || 0.0; var rgbParams = [red, green, blue].join(','); return ['rgba(', rgbParams, ',', alphaFrac, ')'].join(''); }; var rgbToCssColor = function(red, green, blue) { var rgbNumber = new Number((red << 16) | (green << 8) | blue); var hexString = rgbNumber.toString(16); var missingZeros = 6 - hexString.length; var resultBuilder = ['#']; for (var i = 0; i < missingZeros; i++) { resultBuilder.push('0'); } resultBuilder.push(hexString); return resultBuilder.join(''); }; // ... # Output only. Badge foreground that pairs with the background.
+                      "alpha": 3.14, # The fraction of this color that should be applied to the pixel. That is, the final pixel color is defined by the equation: `pixel color = alpha * (this color) + (1.0 - alpha) * (background color)` This means that a value of 1.0 corresponds to a solid color, whereas a value of 0.0 corresponds to a completely transparent color. This uses a wrapper message rather than a simple float scalar so that it is possible to distinguish between a default value and the value being unset. If omitted, this color object is rendered as a solid color (as if the alpha value had been explicitly given a value of 1.0).
+                      "blue": 3.14, # The amount of blue in the color as a value in the interval [0, 1].
+                      "green": 3.14, # The amount of green in the color as a value in the interval [0, 1].
+                      "red": 3.14, # The amount of red in the color as a value in the interval [0, 1].
+                    },
+                    "soloColor": { # Represents a color in the RGBA color space. This representation is designed for simplicity of conversion to/from color representations in various languages over compactness. For example, the fields of this representation can be trivially provided to the constructor of `java.awt.Color` in Java; it can also be trivially provided to UIColor's `+colorWithRed:green:blue:alpha` method in iOS; and, with just a little work, it can be easily formatted into a CSS `rgba()` string in JavaScript. This reference page doesn't carry information about the absolute color space that should be used to interpret the RGB value (e.g. sRGB, Adobe RGB, DCI-P3, BT.2020, etc.). By default, applications should assume the sRGB color space. When color equality needs to be decided, implementations, unless documented otherwise, treat two colors as equal if all their red, green, blue, and alpha values each differ by at most 1e-5. Example (Java): import com.google.type.Color; // ... public static java.awt.Color fromProto(Color protocolor) { float alpha = protocolor.hasAlpha() ? protocolor.getAlpha().getValue() : 1.0; return new java.awt.Color( protocolor.getRed(), protocolor.getGreen(), protocolor.getBlue(), alpha); } public static Color toProto(java.awt.Color color) { float red = (float) color.getRed(); float green = (float) color.getGreen(); float blue = (float) color.getBlue(); float denominator = 255.0; Color.Builder resultBuilder = Color .newBuilder() .setRed(red / denominator) .setGreen(green / denominator) .setBlue(blue / denominator); int alpha = color.getAlpha(); if (alpha != 255) { result.setAlpha( FloatValue .newBuilder() .setValue(((float) alpha) / denominator) .build()); } return resultBuilder.build(); } // ... Example (iOS / Obj-C): // ... static UIColor* fromProto(Color* protocolor) { float red = [protocolor red]; float green = [protocolor green]; float blue = [protocolor blue]; FloatValue* alpha_wrapper = [protocolor alpha]; float alpha = 1.0; if (alpha_wrapper != nil) { alpha = [alpha_wrapper value]; } return [UIColor colorWithRed:red green:green blue:blue alpha:alpha]; } static Color* toProto(UIColor* color) { CGFloat red, green, blue, alpha; if (![color getRed:&red green:&green blue:&blue alpha:&alpha]) { return nil; } Color* result = [[Color alloc] init]; [result setRed:red]; [result setGreen:green]; [result setBlue:blue]; if (alpha <= 0.9999) { [result setAlpha:floatWrapperWithValue(alpha)]; } [result autorelease]; return result; } // ... Example (JavaScript): // ... var protoToCssColor = function(rgb_color) { var redFrac = rgb_color.red || 0.0; var greenFrac = rgb_color.green || 0.0; var blueFrac = rgb_color.blue || 0.0; var red = Math.floor(redFrac * 255); var green = Math.floor(greenFrac * 255); var blue = Math.floor(blueFrac * 255); if (!('alpha' in rgb_color)) { return rgbToCssColor(red, green, blue); } var alphaFrac = rgb_color.alpha.value || 0.0; var rgbParams = [red, green, blue].join(','); return ['rgba(', rgbParams, ',', alphaFrac, ')'].join(''); }; var rgbToCssColor = function(red, green, blue) { var rgbNumber = new Number((red << 16) | (green << 8) | blue); var hexString = rgbNumber.toString(16); var missingZeros = 6 - hexString.length; var resultBuilder = ['#']; for (var i = 0; i < missingZeros; i++) { resultBuilder.push('0'); } resultBuilder.push(hexString); return resultBuilder.join(''); }; // ... # Output only. Color that can be used for text without a background.
+                      "alpha": 3.14, # The fraction of this color that should be applied to the pixel. That is, the final pixel color is defined by the equation: `pixel color = alpha * (this color) + (1.0 - alpha) * (background color)` This means that a value of 1.0 corresponds to a solid color, whereas a value of 0.0 corresponds to a completely transparent color. This uses a wrapper message rather than a simple float scalar so that it is possible to distinguish between a default value and the value being unset. If omitted, this color object is rendered as a solid color (as if the alpha value had been explicitly given a value of 1.0).
+                      "blue": 3.14, # The amount of blue in the color as a value in the interval [0, 1].
+                      "green": 3.14, # The amount of green in the color as a value in the interval [0, 1].
+                      "red": 3.14, # The amount of red in the color as a value in the interval [0, 1].
+                    },
+                  },
+                  "disabled": True or False, # Whether the option should be shown in the UI as disabled.
+                  "hiddenInSearch": True or False, # This option should be hidden in the search menu when searching for Drive items.
+                  "shownInApply": True or False, # This option should be shown in the apply menu when applying values to a Drive item.
+                },
+                "id": "A String", # The unique value of the choice. This ID is autogenerated. Matches the regex: `([a-zA-Z0-9_])+`.
+                "lifecycle": { # The lifecycle state of an object, such as label, field, or choice. The lifecycle enforces the following transitions: * `UNPUBLISHED_DRAFT` (starting state) * `UNPUBLISHED_DRAFT` -> `PUBLISHED` * `UNPUBLISHED_DRAFT` -> (Deleted) * `PUBLISHED` -> `DISABLED` * `DISABLED` -> `PUBLISHED` * `DISABLED` -> (Deleted) The published and disabled states have some distinct characteristics: * Published—Some kinds of changes might be made to an object in this state, in which case `has_unpublished_changes` will be true. Also, some kinds of changes are not permitted. Generally, any change that would invalidate or cause new restrictions on existing metadata related to the label are rejected. * Disabled—When disabled, the configured `DisabledPolicy` takes effect. # Output only. Lifecycle of the choice.
+                  "disabledPolicy": { # The policy that governs how to treat a disabled label, field, or selection choice in different contexts. # The policy that governs how to show a disabled label, field, or selection choice.
+                    "hideInSearch": True or False, # Whether to hide this disabled object in the search menu for Drive items. * When `false`, the object is generally shown in the UI as disabled but it appears in the search results when searching for Drive items. * When `true`, the object is generally hidden in the UI when searching for Drive items.
+                    "showInApply": True or False, # Whether to show this disabled object in the apply menu on Drive items. * When `true`, the object is generally shown in the UI as disabled and is unselectable. * When `false`, the object is generally hidden in the UI.
+                  },
+                  "hasUnpublishedChanges": True or False, # Output only. Whether the object associated with this lifecycle has unpublished changes.
+                  "state": "A String", # Output only. The state of the object associated with this lifecycle.
+                },
+                "lockStatus": { # Contains information about whether a label component should be considered locked. # Output only. The LockStatus of this choice.
+                  "locked": True or False, # Output only. Indicates whether this label component is the (direct) target of a LabelLock. A label component can be implicitly locked even if it's not the direct target of a LabelLock, in which case this field is set to false.
+                },
+                "properties": { # Basic properties of the choice. # Basic properties of the choice.
+                  "badgeConfig": { # Badge status of the label. # The badge configuration for this choice. When set, the label that owns this choice is considered a "badged label".
+                    "color": { # Represents a color in the RGBA color space. This representation is designed for simplicity of conversion to/from color representations in various languages over compactness. For example, the fields of this representation can be trivially provided to the constructor of `java.awt.Color` in Java; it can also be trivially provided to UIColor's `+colorWithRed:green:blue:alpha` method in iOS; and, with just a little work, it can be easily formatted into a CSS `rgba()` string in JavaScript. This reference page doesn't carry information about the absolute color space that should be used to interpret the RGB value (e.g. sRGB, Adobe RGB, DCI-P3, BT.2020, etc.). By default, applications should assume the sRGB color space. When color equality needs to be decided, implementations, unless documented otherwise, treat two colors as equal if all their red, green, blue, and alpha values each differ by at most 1e-5. Example (Java): import com.google.type.Color; // ... public static java.awt.Color fromProto(Color protocolor) { float alpha = protocolor.hasAlpha() ? protocolor.getAlpha().getValue() : 1.0; return new java.awt.Color( protocolor.getRed(), protocolor.getGreen(), protocolor.getBlue(), alpha); } public static Color toProto(java.awt.Color color) { float red = (float) color.getRed(); float green = (float) color.getGreen(); float blue = (float) color.getBlue(); float denominator = 255.0; Color.Builder resultBuilder = Color .newBuilder() .setRed(red / denominator) .setGreen(green / denominator) .setBlue(blue / denominator); int alpha = color.getAlpha(); if (alpha != 255) { result.setAlpha( FloatValue .newBuilder() .setValue(((float) alpha) / denominator) .build()); } return resultBuilder.build(); } // ... Example (iOS / Obj-C): // ... static UIColor* fromProto(Color* protocolor) { float red = [protocolor red]; float green = [protocolor green]; float blue = [protocolor blue]; FloatValue* alpha_wrapper = [protocolor alpha]; float alpha = 1.0; if (alpha_wrapper != nil) { alpha = [alpha_wrapper value]; } return [UIColor colorWithRed:red green:green blue:blue alpha:alpha]; } static Color* toProto(UIColor* color) { CGFloat red, green, blue, alpha; if (![color getRed:&red green:&green blue:&blue alpha:&alpha]) { return nil; } Color* result = [[Color alloc] init]; [result setRed:red]; [result setGreen:green]; [result setBlue:blue]; if (alpha <= 0.9999) { [result setAlpha:floatWrapperWithValue(alpha)]; } [result autorelease]; return result; } // ... Example (JavaScript): // ... var protoToCssColor = function(rgb_color) { var redFrac = rgb_color.red || 0.0; var greenFrac = rgb_color.green || 0.0; var blueFrac = rgb_color.blue || 0.0; var red = Math.floor(redFrac * 255); var green = Math.floor(greenFrac * 255); var blue = Math.floor(blueFrac * 255); if (!('alpha' in rgb_color)) { return rgbToCssColor(red, green, blue); } var alphaFrac = rgb_color.alpha.value || 0.0; var rgbParams = [red, green, blue].join(','); return ['rgba(', rgbParams, ',', alphaFrac, ')'].join(''); }; var rgbToCssColor = function(red, green, blue) { var rgbNumber = new Number((red << 16) | (green << 8) | blue); var hexString = rgbNumber.toString(16); var missingZeros = 6 - hexString.length; var resultBuilder = ['#']; for (var i = 0; i < missingZeros; i++) { resultBuilder.push('0'); } resultBuilder.push(hexString); return resultBuilder.join(''); }; // ... # The color of the badge. When not specified, no badge is rendered. The background, foreground, and solo (light and dark mode) colors set here are changed in the Drive UI into the closest recommended supported color.
+                      "alpha": 3.14, # The fraction of this color that should be applied to the pixel. That is, the final pixel color is defined by the equation: `pixel color = alpha * (this color) + (1.0 - alpha) * (background color)` This means that a value of 1.0 corresponds to a solid color, whereas a value of 0.0 corresponds to a completely transparent color. This uses a wrapper message rather than a simple float scalar so that it is possible to distinguish between a default value and the value being unset. If omitted, this color object is rendered as a solid color (as if the alpha value had been explicitly given a value of 1.0).
+                      "blue": 3.14, # The amount of blue in the color as a value in the interval [0, 1].
+                      "green": 3.14, # The amount of green in the color as a value in the interval [0, 1].
+                      "red": 3.14, # The amount of red in the color as a value in the interval [0, 1].
+                    },
+                    "priorityOverride": "A String", # Override the default global priority of this badge. When set to 0, the default priority heuristic is used.
+                  },
+                  "description": "A String", # The description of this label.
+                  "displayName": "A String", # Required. The display text to show in the UI identifying this field.
+                  "insertBeforeChoice": "A String", # Input only. Insert or move this choice before the indicated choice. If empty, the choice is placed at the end of the list.
+                },
+                "publishTime": "A String", # Output only. The time this choice was published. This value has no meaning when the choice is not published.
+                "publisher": { # Information about a user. # Output only. The user who published this choice. This value has no meaning when the choice is not published.
+                  "person": "A String", # The identifier for this user that can be used with the People API to get more information. For example, people/12345678.
+                },
+                "schemaCapabilities": { # The capabilities related to this choice when editing the choice. # Output only. The capabilities related to this option when editing the option.
+                  "canDelete": True or False, # Whether the user can delete this choice.
+                  "canDisable": True or False, # Whether the user can disable this choice.
+                  "canEnable": True or False, # Whether the user can enable this choice.
+                  "canUpdate": True or False, # Whether the user can update this choice.
+                },
+                "updateTime": "A String", # Output only. The time this choice was updated last.
+                "updater": { # Information about a user. # Output only. The user who updated this choice last.
+                  "person": "A String", # The identifier for this user that can be used with the People API to get more information. For example, people/12345678.
+                },
+              },
+            ],
+            "listOptions": { # Options for a multi-valued variant of an associated field type. # When specified, indicates this field supports a list of values. Once the field is published, this cannot be changed.
+              "maxEntries": 42, # Maximum number of entries permitted.
+            },
+          },
+          "textOptions": { # Options for the Text field type. # Text field options.
+            "maxLength": 42, # Output only. The maximum valid length of values for the text field.
+            "minLength": 42, # Output only. The minimum valid length of values for the text field.
+          },
+          "updateTime": "A String", # Output only. The time this field was updated.
+          "updater": { # Information about a user. # Output only. The user who modified this field.
+            "person": "A String", # The identifier for this user that can be used with the People API to get more information. For example, people/12345678.
+          },
+          "userOptions": { # Options for the user field type. # User field options.
+            "listOptions": { # Options for a multi-valued variant of an associated field type. # When specified, indicates that this field supports a list of values. Once the field is published, this cannot be changed.
+              "maxEntries": 42, # Maximum number of entries permitted.
+            },
+          },
+        },
+      },
+      "createSelectionChoice": { # Request to create a Selection Choice. # Creates Choice within a Selection field.
+        "choice": { # Selection field choice. # Required. The Choice to create.
+          "appliedCapabilities": { # The capabilities related to this choice on applied metadata. # Output only. The capabilities related to this choice on applied metadata.
+            "canRead": True or False, # Whether the user can read related applied metadata on items.
+            "canSearch": True or False, # Whether the user can use this choice in search queries.
+            "canSelect": True or False, # Whether the user can select this choice on an item.
+          },
+          "createTime": "A String", # Output only. The time this choice was created.
+          "creator": { # Information about a user. # Output only. The user who created this choice.
+            "person": "A String", # The identifier for this user that can be used with the People API to get more information. For example, people/12345678.
+          },
+          "disableTime": "A String", # Output only. The time this choice was disabled. This value has no meaning when the choice is not disabled.
+          "disabler": { # Information about a user. # Output only. The user who disabled this choice. This value has no meaning when the option is not disabled.
+            "person": "A String", # The identifier for this user that can be used with the People API to get more information. For example, people/12345678.
+          },
+          "displayHints": { # UI display hints for rendering an option. # Output only. UI display hints for rendering a choice.
+            "badgeColors": { # The color derived from BadgeConfig and changed to the closest recommended supported color. # The colors to use for the badge. Changed to Google Material colors based on the chosen `properties.badge_config.color`.
+              "backgroundColor": { # Represents a color in the RGBA color space. This representation is designed for simplicity of conversion to/from color representations in various languages over compactness. For example, the fields of this representation can be trivially provided to the constructor of `java.awt.Color` in Java; it can also be trivially provided to UIColor's `+colorWithRed:green:blue:alpha` method in iOS; and, with just a little work, it can be easily formatted into a CSS `rgba()` string in JavaScript. This reference page doesn't carry information about the absolute color space that should be used to interpret the RGB value (e.g. sRGB, Adobe RGB, DCI-P3, BT.2020, etc.). By default, applications should assume the sRGB color space. When color equality needs to be decided, implementations, unless documented otherwise, treat two colors as equal if all their red, green, blue, and alpha values each differ by at most 1e-5. Example (Java): import com.google.type.Color; // ... public static java.awt.Color fromProto(Color protocolor) { float alpha = protocolor.hasAlpha() ? protocolor.getAlpha().getValue() : 1.0; return new java.awt.Color( protocolor.getRed(), protocolor.getGreen(), protocolor.getBlue(), alpha); } public static Color toProto(java.awt.Color color) { float red = (float) color.getRed(); float green = (float) color.getGreen(); float blue = (float) color.getBlue(); float denominator = 255.0; Color.Builder resultBuilder = Color .newBuilder() .setRed(red / denominator) .setGreen(green / denominator) .setBlue(blue / denominator); int alpha = color.getAlpha(); if (alpha != 255) { result.setAlpha( FloatValue .newBuilder() .setValue(((float) alpha) / denominator) .build()); } return resultBuilder.build(); } // ... Example (iOS / Obj-C): // ... static UIColor* fromProto(Color* protocolor) { float red = [protocolor red]; float green = [protocolor green]; float blue = [protocolor blue]; FloatValue* alpha_wrapper = [protocolor alpha]; float alpha = 1.0; if (alpha_wrapper != nil) { alpha = [alpha_wrapper value]; } return [UIColor colorWithRed:red green:green blue:blue alpha:alpha]; } static Color* toProto(UIColor* color) { CGFloat red, green, blue, alpha; if (![color getRed:&red green:&green blue:&blue alpha:&alpha]) { return nil; } Color* result = [[Color alloc] init]; [result setRed:red]; [result setGreen:green]; [result setBlue:blue]; if (alpha <= 0.9999) { [result setAlpha:floatWrapperWithValue(alpha)]; } [result autorelease]; return result; } // ... Example (JavaScript): // ... var protoToCssColor = function(rgb_color) { var redFrac = rgb_color.red || 0.0; var greenFrac = rgb_color.green || 0.0; var blueFrac = rgb_color.blue || 0.0; var red = Math.floor(redFrac * 255); var green = Math.floor(greenFrac * 255); var blue = Math.floor(blueFrac * 255); if (!('alpha' in rgb_color)) { return rgbToCssColor(red, green, blue); } var alphaFrac = rgb_color.alpha.value || 0.0; var rgbParams = [red, green, blue].join(','); return ['rgba(', rgbParams, ',', alphaFrac, ')'].join(''); }; var rgbToCssColor = function(red, green, blue) { var rgbNumber = new Number((red << 16) | (green << 8) | blue); var hexString = rgbNumber.toString(16); var missingZeros = 6 - hexString.length; var resultBuilder = ['#']; for (var i = 0; i < missingZeros; i++) { resultBuilder.push('0'); } resultBuilder.push(hexString); return resultBuilder.join(''); }; // ... # Output only. Badge background that pairs with the foreground.
+                "alpha": 3.14, # The fraction of this color that should be applied to the pixel. That is, the final pixel color is defined by the equation: `pixel color = alpha * (this color) + (1.0 - alpha) * (background color)` This means that a value of 1.0 corresponds to a solid color, whereas a value of 0.0 corresponds to a completely transparent color. This uses a wrapper message rather than a simple float scalar so that it is possible to distinguish between a default value and the value being unset. If omitted, this color object is rendered as a solid color (as if the alpha value had been explicitly given a value of 1.0).
+                "blue": 3.14, # The amount of blue in the color as a value in the interval [0, 1].
+                "green": 3.14, # The amount of green in the color as a value in the interval [0, 1].
+                "red": 3.14, # The amount of red in the color as a value in the interval [0, 1].
+              },
+              "foregroundColor": { # Represents a color in the RGBA color space. This representation is designed for simplicity of conversion to/from color representations in various languages over compactness. For example, the fields of this representation can be trivially provided to the constructor of `java.awt.Color` in Java; it can also be trivially provided to UIColor's `+colorWithRed:green:blue:alpha` method in iOS; and, with just a little work, it can be easily formatted into a CSS `rgba()` string in JavaScript. This reference page doesn't carry information about the absolute color space that should be used to interpret the RGB value (e.g. sRGB, Adobe RGB, DCI-P3, BT.2020, etc.). By default, applications should assume the sRGB color space. When color equality needs to be decided, implementations, unless documented otherwise, treat two colors as equal if all their red, green, blue, and alpha values each differ by at most 1e-5. Example (Java): import com.google.type.Color; // ... public static java.awt.Color fromProto(Color protocolor) { float alpha = protocolor.hasAlpha() ? protocolor.getAlpha().getValue() : 1.0; return new java.awt.Color( protocolor.getRed(), protocolor.getGreen(), protocolor.getBlue(), alpha); } public static Color toProto(java.awt.Color color) { float red = (float) color.getRed(); float green = (float) color.getGreen(); float blue = (float) color.getBlue(); float denominator = 255.0; Color.Builder resultBuilder = Color .newBuilder() .setRed(red / denominator) .setGreen(green / denominator) .setBlue(blue / denominator); int alpha = color.getAlpha(); if (alpha != 255) { result.setAlpha( FloatValue .newBuilder() .setValue(((float) alpha) / denominator) .build()); } return resultBuilder.build(); } // ... Example (iOS / Obj-C): // ... static UIColor* fromProto(Color* protocolor) { float red = [protocolor red]; float green = [protocolor green]; float blue = [protocolor blue]; FloatValue* alpha_wrapper = [protocolor alpha]; float alpha = 1.0; if (alpha_wrapper != nil) { alpha = [alpha_wrapper value]; } return [UIColor colorWithRed:red green:green blue:blue alpha:alpha]; } static Color* toProto(UIColor* color) { CGFloat red, green, blue, alpha; if (![color getRed:&red green:&green blue:&blue alpha:&alpha]) { return nil; } Color* result = [[Color alloc] init]; [result setRed:red]; [result setGreen:green]; [result setBlue:blue]; if (alpha <= 0.9999) { [result setAlpha:floatWrapperWithValue(alpha)]; } [result autorelease]; return result; } // ... Example (JavaScript): // ... var protoToCssColor = function(rgb_color) { var redFrac = rgb_color.red || 0.0; var greenFrac = rgb_color.green || 0.0; var blueFrac = rgb_color.blue || 0.0; var red = Math.floor(redFrac * 255); var green = Math.floor(greenFrac * 255); var blue = Math.floor(blueFrac * 255); if (!('alpha' in rgb_color)) { return rgbToCssColor(red, green, blue); } var alphaFrac = rgb_color.alpha.value || 0.0; var rgbParams = [red, green, blue].join(','); return ['rgba(', rgbParams, ',', alphaFrac, ')'].join(''); }; var rgbToCssColor = function(red, green, blue) { var rgbNumber = new Number((red << 16) | (green << 8) | blue); var hexString = rgbNumber.toString(16); var missingZeros = 6 - hexString.length; var resultBuilder = ['#']; for (var i = 0; i < missingZeros; i++) { resultBuilder.push('0'); } resultBuilder.push(hexString); return resultBuilder.join(''); }; // ... # Output only. Badge foreground that pairs with the background.
+                "alpha": 3.14, # The fraction of this color that should be applied to the pixel. That is, the final pixel color is defined by the equation: `pixel color = alpha * (this color) + (1.0 - alpha) * (background color)` This means that a value of 1.0 corresponds to a solid color, whereas a value of 0.0 corresponds to a completely transparent color. This uses a wrapper message rather than a simple float scalar so that it is possible to distinguish between a default value and the value being unset. If omitted, this color object is rendered as a solid color (as if the alpha value had been explicitly given a value of 1.0).
+                "blue": 3.14, # The amount of blue in the color as a value in the interval [0, 1].
+                "green": 3.14, # The amount of green in the color as a value in the interval [0, 1].
+                "red": 3.14, # The amount of red in the color as a value in the interval [0, 1].
+              },
+              "soloColor": { # Represents a color in the RGBA color space. This representation is designed for simplicity of conversion to/from color representations in various languages over compactness. For example, the fields of this representation can be trivially provided to the constructor of `java.awt.Color` in Java; it can also be trivially provided to UIColor's `+colorWithRed:green:blue:alpha` method in iOS; and, with just a little work, it can be easily formatted into a CSS `rgba()` string in JavaScript. This reference page doesn't carry information about the absolute color space that should be used to interpret the RGB value (e.g. sRGB, Adobe RGB, DCI-P3, BT.2020, etc.). By default, applications should assume the sRGB color space. When color equality needs to be decided, implementations, unless documented otherwise, treat two colors as equal if all their red, green, blue, and alpha values each differ by at most 1e-5. Example (Java): import com.google.type.Color; // ... public static java.awt.Color fromProto(Color protocolor) { float alpha = protocolor.hasAlpha() ? protocolor.getAlpha().getValue() : 1.0; return new java.awt.Color( protocolor.getRed(), protocolor.getGreen(), protocolor.getBlue(), alpha); } public static Color toProto(java.awt.Color color) { float red = (float) color.getRed(); float green = (float) color.getGreen(); float blue = (float) color.getBlue(); float denominator = 255.0; Color.Builder resultBuilder = Color .newBuilder() .setRed(red / denominator) .setGreen(green / denominator) .setBlue(blue / denominator); int alpha = color.getAlpha(); if (alpha != 255) { result.setAlpha( FloatValue .newBuilder() .setValue(((float) alpha) / denominator) .build()); } return resultBuilder.build(); } // ... Example (iOS / Obj-C): // ... static UIColor* fromProto(Color* protocolor) { float red = [protocolor red]; float green = [protocolor green]; float blue = [protocolor blue]; FloatValue* alpha_wrapper = [protocolor alpha]; float alpha = 1.0; if (alpha_wrapper != nil) { alpha = [alpha_wrapper value]; } return [UIColor colorWithRed:red green:green blue:blue alpha:alpha]; } static Color* toProto(UIColor* color) { CGFloat red, green, blue, alpha; if (![color getRed:&red green:&green blue:&blue alpha:&alpha]) { return nil; } Color* result = [[Color alloc] init]; [result setRed:red]; [result setGreen:green]; [result setBlue:blue]; if (alpha <= 0.9999) { [result setAlpha:floatWrapperWithValue(alpha)]; } [result autorelease]; return result; } // ... Example (JavaScript): // ... var protoToCssColor = function(rgb_color) { var redFrac = rgb_color.red || 0.0; var greenFrac = rgb_color.green || 0.0; var blueFrac = rgb_color.blue || 0.0; var red = Math.floor(redFrac * 255); var green = Math.floor(greenFrac * 255); var blue = Math.floor(blueFrac * 255); if (!('alpha' in rgb_color)) { return rgbToCssColor(red, green, blue); } var alphaFrac = rgb_color.alpha.value || 0.0; var rgbParams = [red, green, blue].join(','); return ['rgba(', rgbParams, ',', alphaFrac, ')'].join(''); }; var rgbToCssColor = function(red, green, blue) { var rgbNumber = new Number((red << 16) | (green << 8) | blue); var hexString = rgbNumber.toString(16); var missingZeros = 6 - hexString.length; var resultBuilder = ['#']; for (var i = 0; i < missingZeros; i++) { resultBuilder.push('0'); } resultBuilder.push(hexString); return resultBuilder.join(''); }; // ... # Output only. Color that can be used for text without a background.
+                "alpha": 3.14, # The fraction of this color that should be applied to the pixel. That is, the final pixel color is defined by the equation: `pixel color = alpha * (this color) + (1.0 - alpha) * (background color)` This means that a value of 1.0 corresponds to a solid color, whereas a value of 0.0 corresponds to a completely transparent color. This uses a wrapper message rather than a simple float scalar so that it is possible to distinguish between a default value and the value being unset. If omitted, this color object is rendered as a solid color (as if the alpha value had been explicitly given a value of 1.0).
+                "blue": 3.14, # The amount of blue in the color as a value in the interval [0, 1].
+                "green": 3.14, # The amount of green in the color as a value in the interval [0, 1].
+                "red": 3.14, # The amount of red in the color as a value in the interval [0, 1].
+              },
+            },
+            "badgePriority": "A String", # The priority of this badge. Used to compare and sort between multiple badges. A lower number means the badge should be shown first. When a badging configuration is not present, this will be 0. Otherwise, this will be set to `BadgeConfig.priority_override` or the default heuristic which prefers creation date of the label, and field and option priority.
+            "darkBadgeColors": { # The color derived from BadgeConfig and changed to the closest recommended supported color. # The dark-mode color to use for the badge. Changed to Google Material colors based on the chosen `properties.badge_config.color`.
+              "backgroundColor": { # Represents a color in the RGBA color space. This representation is designed for simplicity of conversion to/from color representations in various languages over compactness. For example, the fields of this representation can be trivially provided to the constructor of `java.awt.Color` in Java; it can also be trivially provided to UIColor's `+colorWithRed:green:blue:alpha` method in iOS; and, with just a little work, it can be easily formatted into a CSS `rgba()` string in JavaScript. This reference page doesn't carry information about the absolute color space that should be used to interpret the RGB value (e.g. sRGB, Adobe RGB, DCI-P3, BT.2020, etc.). By default, applications should assume the sRGB color space. When color equality needs to be decided, implementations, unless documented otherwise, treat two colors as equal if all their red, green, blue, and alpha values each differ by at most 1e-5. Example (Java): import com.google.type.Color; // ... public static java.awt.Color fromProto(Color protocolor) { float alpha = protocolor.hasAlpha() ? protocolor.getAlpha().getValue() : 1.0; return new java.awt.Color( protocolor.getRed(), protocolor.getGreen(), protocolor.getBlue(), alpha); } public static Color toProto(java.awt.Color color) { float red = (float) color.getRed(); float green = (float) color.getGreen(); float blue = (float) color.getBlue(); float denominator = 255.0; Color.Builder resultBuilder = Color .newBuilder() .setRed(red / denominator) .setGreen(green / denominator) .setBlue(blue / denominator); int alpha = color.getAlpha(); if (alpha != 255) { result.setAlpha( FloatValue .newBuilder() .setValue(((float) alpha) / denominator) .build()); } return resultBuilder.build(); } // ... Example (iOS / Obj-C): // ... static UIColor* fromProto(Color* protocolor) { float red = [protocolor red]; float green = [protocolor green]; float blue = [protocolor blue]; FloatValue* alpha_wrapper = [protocolor alpha]; float alpha = 1.0; if (alpha_wrapper != nil) { alpha = [alpha_wrapper value]; } return [UIColor colorWithRed:red green:green blue:blue alpha:alpha]; } static Color* toProto(UIColor* color) { CGFloat red, green, blue, alpha; if (![color getRed:&red green:&green blue:&blue alpha:&alpha]) { return nil; } Color* result = [[Color alloc] init]; [result setRed:red]; [result setGreen:green]; [result setBlue:blue]; if (alpha <= 0.9999) { [result setAlpha:floatWrapperWithValue(alpha)]; } [result autorelease]; return result; } // ... Example (JavaScript): // ... var protoToCssColor = function(rgb_color) { var redFrac = rgb_color.red || 0.0; var greenFrac = rgb_color.green || 0.0; var blueFrac = rgb_color.blue || 0.0; var red = Math.floor(redFrac * 255); var green = Math.floor(greenFrac * 255); var blue = Math.floor(blueFrac * 255); if (!('alpha' in rgb_color)) { return rgbToCssColor(red, green, blue); } var alphaFrac = rgb_color.alpha.value || 0.0; var rgbParams = [red, green, blue].join(','); return ['rgba(', rgbParams, ',', alphaFrac, ')'].join(''); }; var rgbToCssColor = function(red, green, blue) { var rgbNumber = new Number((red << 16) | (green << 8) | blue); var hexString = rgbNumber.toString(16); var missingZeros = 6 - hexString.length; var resultBuilder = ['#']; for (var i = 0; i < missingZeros; i++) { resultBuilder.push('0'); } resultBuilder.push(hexString); return resultBuilder.join(''); }; // ... # Output only. Badge background that pairs with the foreground.
+                "alpha": 3.14, # The fraction of this color that should be applied to the pixel. That is, the final pixel color is defined by the equation: `pixel color = alpha * (this color) + (1.0 - alpha) * (background color)` This means that a value of 1.0 corresponds to a solid color, whereas a value of 0.0 corresponds to a completely transparent color. This uses a wrapper message rather than a simple float scalar so that it is possible to distinguish between a default value and the value being unset. If omitted, this color object is rendered as a solid color (as if the alpha value had been explicitly given a value of 1.0).
+                "blue": 3.14, # The amount of blue in the color as a value in the interval [0, 1].
+                "green": 3.14, # The amount of green in the color as a value in the interval [0, 1].
+                "red": 3.14, # The amount of red in the color as a value in the interval [0, 1].
+              },
+              "foregroundColor": { # Represents a color in the RGBA color space. This representation is designed for simplicity of conversion to/from color representations in various languages over compactness. For example, the fields of this representation can be trivially provided to the constructor of `java.awt.Color` in Java; it can also be trivially provided to UIColor's `+colorWithRed:green:blue:alpha` method in iOS; and, with just a little work, it can be easily formatted into a CSS `rgba()` string in JavaScript. This reference page doesn't carry information about the absolute color space that should be used to interpret the RGB value (e.g. sRGB, Adobe RGB, DCI-P3, BT.2020, etc.). By default, applications should assume the sRGB color space. When color equality needs to be decided, implementations, unless documented otherwise, treat two colors as equal if all their red, green, blue, and alpha values each differ by at most 1e-5. Example (Java): import com.google.type.Color; // ... public static java.awt.Color fromProto(Color protocolor) { float alpha = protocolor.hasAlpha() ? protocolor.getAlpha().getValue() : 1.0; return new java.awt.Color( protocolor.getRed(), protocolor.getGreen(), protocolor.getBlue(), alpha); } public static Color toProto(java.awt.Color color) { float red = (float) color.getRed(); float green = (float) color.getGreen(); float blue = (float) color.getBlue(); float denominator = 255.0; Color.Builder resultBuilder = Color .newBuilder() .setRed(red / denominator) .setGreen(green / denominator) .setBlue(blue / denominator); int alpha = color.getAlpha(); if (alpha != 255) { result.setAlpha( FloatValue .newBuilder() .setValue(((float) alpha) / denominator) .build()); } return resultBuilder.build(); } // ... Example (iOS / Obj-C): // ... static UIColor* fromProto(Color* protocolor) { float red = [protocolor red]; float green = [protocolor green]; float blue = [protocolor blue]; FloatValue* alpha_wrapper = [protocolor alpha]; float alpha = 1.0; if (alpha_wrapper != nil) { alpha = [alpha_wrapper value]; } return [UIColor colorWithRed:red green:green blue:blue alpha:alpha]; } static Color* toProto(UIColor* color) { CGFloat red, green, blue, alpha; if (![color getRed:&red green:&green blue:&blue alpha:&alpha]) { return nil; } Color* result = [[Color alloc] init]; [result setRed:red]; [result setGreen:green]; [result setBlue:blue]; if (alpha <= 0.9999) { [result setAlpha:floatWrapperWithValue(alpha)]; } [result autorelease]; return result; } // ... Example (JavaScript): // ... var protoToCssColor = function(rgb_color) { var redFrac = rgb_color.red || 0.0; var greenFrac = rgb_color.green || 0.0; var blueFrac = rgb_color.blue || 0.0; var red = Math.floor(redFrac * 255); var green = Math.floor(greenFrac * 255); var blue = Math.floor(blueFrac * 255); if (!('alpha' in rgb_color)) { return rgbToCssColor(red, green, blue); } var alphaFrac = rgb_color.alpha.value || 0.0; var rgbParams = [red, green, blue].join(','); return ['rgba(', rgbParams, ',', alphaFrac, ')'].join(''); }; var rgbToCssColor = function(red, green, blue) { var rgbNumber = new Number((red << 16) | (green << 8) | blue); var hexString = rgbNumber.toString(16); var missingZeros = 6 - hexString.length; var resultBuilder = ['#']; for (var i = 0; i < missingZeros; i++) { resultBuilder.push('0'); } resultBuilder.push(hexString); return resultBuilder.join(''); }; // ... # Output only. Badge foreground that pairs with the background.
+                "alpha": 3.14, # The fraction of this color that should be applied to the pixel. That is, the final pixel color is defined by the equation: `pixel color = alpha * (this color) + (1.0 - alpha) * (background color)` This means that a value of 1.0 corresponds to a solid color, whereas a value of 0.0 corresponds to a completely transparent color. This uses a wrapper message rather than a simple float scalar so that it is possible to distinguish between a default value and the value being unset. If omitted, this color object is rendered as a solid color (as if the alpha value had been explicitly given a value of 1.0).
+                "blue": 3.14, # The amount of blue in the color as a value in the interval [0, 1].
+                "green": 3.14, # The amount of green in the color as a value in the interval [0, 1].
+                "red": 3.14, # The amount of red in the color as a value in the interval [0, 1].
+              },
+              "soloColor": { # Represents a color in the RGBA color space. This representation is designed for simplicity of conversion to/from color representations in various languages over compactness. For example, the fields of this representation can be trivially provided to the constructor of `java.awt.Color` in Java; it can also be trivially provided to UIColor's `+colorWithRed:green:blue:alpha` method in iOS; and, with just a little work, it can be easily formatted into a CSS `rgba()` string in JavaScript. This reference page doesn't carry information about the absolute color space that should be used to interpret the RGB value (e.g. sRGB, Adobe RGB, DCI-P3, BT.2020, etc.). By default, applications should assume the sRGB color space. When color equality needs to be decided, implementations, unless documented otherwise, treat two colors as equal if all their red, green, blue, and alpha values each differ by at most 1e-5. Example (Java): import com.google.type.Color; // ... public static java.awt.Color fromProto(Color protocolor) { float alpha = protocolor.hasAlpha() ? protocolor.getAlpha().getValue() : 1.0; return new java.awt.Color( protocolor.getRed(), protocolor.getGreen(), protocolor.getBlue(), alpha); } public static Color toProto(java.awt.Color color) { float red = (float) color.getRed(); float green = (float) color.getGreen(); float blue = (float) color.getBlue(); float denominator = 255.0; Color.Builder resultBuilder = Color .newBuilder() .setRed(red / denominator) .setGreen(green / denominator) .setBlue(blue / denominator); int alpha = color.getAlpha(); if (alpha != 255) { result.setAlpha( FloatValue .newBuilder() .setValue(((float) alpha) / denominator) .build()); } return resultBuilder.build(); } // ... Example (iOS / Obj-C): // ... static UIColor* fromProto(Color* protocolor) { float red = [protocolor red]; float green = [protocolor green]; float blue = [protocolor blue]; FloatValue* alpha_wrapper = [protocolor alpha]; float alpha = 1.0; if (alpha_wrapper != nil) { alpha = [alpha_wrapper value]; } return [UIColor colorWithRed:red green:green blue:blue alpha:alpha]; } static Color* toProto(UIColor* color) { CGFloat red, green, blue, alpha; if (![color getRed:&red green:&green blue:&blue alpha:&alpha]) { return nil; } Color* result = [[Color alloc] init]; [result setRed:red]; [result setGreen:green]; [result setBlue:blue]; if (alpha <= 0.9999) { [result setAlpha:floatWrapperWithValue(alpha)]; } [result autorelease]; return result; } // ... Example (JavaScript): // ... var protoToCssColor = function(rgb_color) { var redFrac = rgb_color.red || 0.0; var greenFrac = rgb_color.green || 0.0; var blueFrac = rgb_color.blue || 0.0; var red = Math.floor(redFrac * 255); var green = Math.floor(greenFrac * 255); var blue = Math.floor(blueFrac * 255); if (!('alpha' in rgb_color)) { return rgbToCssColor(red, green, blue); } var alphaFrac = rgb_color.alpha.value || 0.0; var rgbParams = [red, green, blue].join(','); return ['rgba(', rgbParams, ',', alphaFrac, ')'].join(''); }; var rgbToCssColor = function(red, green, blue) { var rgbNumber = new Number((red << 16) | (green << 8) | blue); var hexString = rgbNumber.toString(16); var missingZeros = 6 - hexString.length; var resultBuilder = ['#']; for (var i = 0; i < missingZeros; i++) { resultBuilder.push('0'); } resultBuilder.push(hexString); return resultBuilder.join(''); }; // ... # Output only. Color that can be used for text without a background.
+                "alpha": 3.14, # The fraction of this color that should be applied to the pixel. That is, the final pixel color is defined by the equation: `pixel color = alpha * (this color) + (1.0 - alpha) * (background color)` This means that a value of 1.0 corresponds to a solid color, whereas a value of 0.0 corresponds to a completely transparent color. This uses a wrapper message rather than a simple float scalar so that it is possible to distinguish between a default value and the value being unset. If omitted, this color object is rendered as a solid color (as if the alpha value had been explicitly given a value of 1.0).
+                "blue": 3.14, # The amount of blue in the color as a value in the interval [0, 1].
+                "green": 3.14, # The amount of green in the color as a value in the interval [0, 1].
+                "red": 3.14, # The amount of red in the color as a value in the interval [0, 1].
+              },
+            },
+            "disabled": True or False, # Whether the option should be shown in the UI as disabled.
+            "hiddenInSearch": True or False, # This option should be hidden in the search menu when searching for Drive items.
+            "shownInApply": True or False, # This option should be shown in the apply menu when applying values to a Drive item.
+          },
+          "id": "A String", # The unique value of the choice. This ID is autogenerated. Matches the regex: `([a-zA-Z0-9_])+`.
+          "lifecycle": { # The lifecycle state of an object, such as label, field, or choice. The lifecycle enforces the following transitions: * `UNPUBLISHED_DRAFT` (starting state) * `UNPUBLISHED_DRAFT` -> `PUBLISHED` * `UNPUBLISHED_DRAFT` -> (Deleted) * `PUBLISHED` -> `DISABLED` * `DISABLED` -> `PUBLISHED` * `DISABLED` -> (Deleted) The published and disabled states have some distinct characteristics: * Published—Some kinds of changes might be made to an object in this state, in which case `has_unpublished_changes` will be true. Also, some kinds of changes are not permitted. Generally, any change that would invalidate or cause new restrictions on existing metadata related to the label are rejected. * Disabled—When disabled, the configured `DisabledPolicy` takes effect. # Output only. Lifecycle of the choice.
+            "disabledPolicy": { # The policy that governs how to treat a disabled label, field, or selection choice in different contexts. # The policy that governs how to show a disabled label, field, or selection choice.
+              "hideInSearch": True or False, # Whether to hide this disabled object in the search menu for Drive items. * When `false`, the object is generally shown in the UI as disabled but it appears in the search results when searching for Drive items. * When `true`, the object is generally hidden in the UI when searching for Drive items.
+              "showInApply": True or False, # Whether to show this disabled object in the apply menu on Drive items. * When `true`, the object is generally shown in the UI as disabled and is unselectable. * When `false`, the object is generally hidden in the UI.
+            },
+            "hasUnpublishedChanges": True or False, # Output only. Whether the object associated with this lifecycle has unpublished changes.
+            "state": "A String", # Output only. The state of the object associated with this lifecycle.
+          },
+          "lockStatus": { # Contains information about whether a label component should be considered locked. # Output only. The LockStatus of this choice.
+            "locked": True or False, # Output only. Indicates whether this label component is the (direct) target of a LabelLock. A label component can be implicitly locked even if it's not the direct target of a LabelLock, in which case this field is set to false.
+          },
+          "properties": { # Basic properties of the choice. # Basic properties of the choice.
+            "badgeConfig": { # Badge status of the label. # The badge configuration for this choice. When set, the label that owns this choice is considered a "badged label".
+              "color": { # Represents a color in the RGBA color space. This representation is designed for simplicity of conversion to/from color representations in various languages over compactness. For example, the fields of this representation can be trivially provided to the constructor of `java.awt.Color` in Java; it can also be trivially provided to UIColor's `+colorWithRed:green:blue:alpha` method in iOS; and, with just a little work, it can be easily formatted into a CSS `rgba()` string in JavaScript. This reference page doesn't carry information about the absolute color space that should be used to interpret the RGB value (e.g. sRGB, Adobe RGB, DCI-P3, BT.2020, etc.). By default, applications should assume the sRGB color space. When color equality needs to be decided, implementations, unless documented otherwise, treat two colors as equal if all their red, green, blue, and alpha values each differ by at most 1e-5. Example (Java): import com.google.type.Color; // ... public static java.awt.Color fromProto(Color protocolor) { float alpha = protocolor.hasAlpha() ? protocolor.getAlpha().getValue() : 1.0; return new java.awt.Color( protocolor.getRed(), protocolor.getGreen(), protocolor.getBlue(), alpha); } public static Color toProto(java.awt.Color color) { float red = (float) color.getRed(); float green = (float) color.getGreen(); float blue = (float) color.getBlue(); float denominator = 255.0; Color.Builder resultBuilder = Color .newBuilder() .setRed(red / denominator) .setGreen(green / denominator) .setBlue(blue / denominator); int alpha = color.getAlpha(); if (alpha != 255) { result.setAlpha( FloatValue .newBuilder() .setValue(((float) alpha) / denominator) .build()); } return resultBuilder.build(); } // ... Example (iOS / Obj-C): // ... static UIColor* fromProto(Color* protocolor) { float red = [protocolor red]; float green = [protocolor green]; float blue = [protocolor blue]; FloatValue* alpha_wrapper = [protocolor alpha]; float alpha = 1.0; if (alpha_wrapper != nil) { alpha = [alpha_wrapper value]; } return [UIColor colorWithRed:red green:green blue:blue alpha:alpha]; } static Color* toProto(UIColor* color) { CGFloat red, green, blue, alpha; if (![color getRed:&red green:&green blue:&blue alpha:&alpha]) { return nil; } Color* result = [[Color alloc] init]; [result setRed:red]; [result setGreen:green]; [result setBlue:blue]; if (alpha <= 0.9999) { [result setAlpha:floatWrapperWithValue(alpha)]; } [result autorelease]; return result; } // ... Example (JavaScript): // ... var protoToCssColor = function(rgb_color) { var redFrac = rgb_color.red || 0.0; var greenFrac = rgb_color.green || 0.0; var blueFrac = rgb_color.blue || 0.0; var red = Math.floor(redFrac * 255); var green = Math.floor(greenFrac * 255); var blue = Math.floor(blueFrac * 255); if (!('alpha' in rgb_color)) { return rgbToCssColor(red, green, blue); } var alphaFrac = rgb_color.alpha.value || 0.0; var rgbParams = [red, green, blue].join(','); return ['rgba(', rgbParams, ',', alphaFrac, ')'].join(''); }; var rgbToCssColor = function(red, green, blue) { var rgbNumber = new Number((red << 16) | (green << 8) | blue); var hexString = rgbNumber.toString(16); var missingZeros = 6 - hexString.length; var resultBuilder = ['#']; for (var i = 0; i < missingZeros; i++) { resultBuilder.push('0'); } resultBuilder.push(hexString); return resultBuilder.join(''); }; // ... # The color of the badge. When not specified, no badge is rendered. The background, foreground, and solo (light and dark mode) colors set here are changed in the Drive UI into the closest recommended supported color.
+                "alpha": 3.14, # The fraction of this color that should be applied to the pixel. That is, the final pixel color is defined by the equation: `pixel color = alpha * (this color) + (1.0 - alpha) * (background color)` This means that a value of 1.0 corresponds to a solid color, whereas a value of 0.0 corresponds to a completely transparent color. This uses a wrapper message rather than a simple float scalar so that it is possible to distinguish between a default value and the value being unset. If omitted, this color object is rendered as a solid color (as if the alpha value had been explicitly given a value of 1.0).
+                "blue": 3.14, # The amount of blue in the color as a value in the interval [0, 1].
+                "green": 3.14, # The amount of green in the color as a value in the interval [0, 1].
+                "red": 3.14, # The amount of red in the color as a value in the interval [0, 1].
+              },
+              "priorityOverride": "A String", # Override the default global priority of this badge. When set to 0, the default priority heuristic is used.
+            },
+            "description": "A String", # The description of this label.
+            "displayName": "A String", # Required. The display text to show in the UI identifying this field.
+            "insertBeforeChoice": "A String", # Input only. Insert or move this choice before the indicated choice. If empty, the choice is placed at the end of the list.
+          },
+          "publishTime": "A String", # Output only. The time this choice was published. This value has no meaning when the choice is not published.
+          "publisher": { # Information about a user. # Output only. The user who published this choice. This value has no meaning when the choice is not published.
+            "person": "A String", # The identifier for this user that can be used with the People API to get more information. For example, people/12345678.
+          },
+          "schemaCapabilities": { # The capabilities related to this choice when editing the choice. # Output only. The capabilities related to this option when editing the option.
+            "canDelete": True or False, # Whether the user can delete this choice.
+            "canDisable": True or False, # Whether the user can disable this choice.
+            "canEnable": True or False, # Whether the user can enable this choice.
+            "canUpdate": True or False, # Whether the user can update this choice.
+          },
+          "updateTime": "A String", # Output only. The time this choice was updated last.
+          "updater": { # Information about a user. # Output only. The user who updated this choice last.
+            "person": "A String", # The identifier for this user that can be used with the People API to get more information. For example, people/12345678.
+          },
+        },
+        "fieldId": "A String", # Required. The Selection Field in which a Choice will be created.
+      },
+      "deleteField": { # Request to delete the Field. # Deletes a Field from the label.
+        "id": "A String", # Required. ID of the Field to delete.
+      },
+      "deleteSelectionChoice": { # Request to delete a Choice. # Delete a Choice within a Selection Field.
+        "fieldId": "A String", # Required. The Selection Field from which a Choice will be deleted.
+        "id": "A String", # Required. Choice to delete.
+      },
+      "disableField": { # Request to disable the Field. # Disables the Field.
+        "disabledPolicy": { # The policy that governs how to treat a disabled label, field, or selection choice in different contexts. # Required. Field Disabled Policy.
+          "hideInSearch": True or False, # Whether to hide this disabled object in the search menu for Drive items. * When `false`, the object is generally shown in the UI as disabled but it appears in the search results when searching for Drive items. * When `true`, the object is generally hidden in the UI when searching for Drive items.
+          "showInApply": True or False, # Whether to show this disabled object in the apply menu on Drive items. * When `true`, the object is generally shown in the UI as disabled and is unselectable. * When `false`, the object is generally hidden in the UI.
+        },
+        "id": "A String", # Required. Key of the Field to disable.
+        "updateMask": "A String", # The fields that should be updated. At least one field must be specified. The root `disabled_policy` is implied and should not be specified. A single `*` can be used as short-hand for updating every field.
+      },
+      "disableSelectionChoice": { # Request to disable a Choice. # Disable a Choice within a Selection Field.
+        "disabledPolicy": { # The policy that governs how to treat a disabled label, field, or selection choice in different contexts. # Required. The disabled policy to update.
+          "hideInSearch": True or False, # Whether to hide this disabled object in the search menu for Drive items. * When `false`, the object is generally shown in the UI as disabled but it appears in the search results when searching for Drive items. * When `true`, the object is generally hidden in the UI when searching for Drive items.
+          "showInApply": True or False, # Whether to show this disabled object in the apply menu on Drive items. * When `true`, the object is generally shown in the UI as disabled and is unselectable. * When `false`, the object is generally hidden in the UI.
+        },
+        "fieldId": "A String", # Required. The Selection Field in which a Choice will be disabled.
+        "id": "A String", # Required. Choice to disable.
+        "updateMask": "A String", # The fields that should be updated. At least one field must be specified. The root `disabled_policy` is implied and should not be specified. A single `*` can be used as short-hand for updating every field.
+      },
+      "enableField": { # Request to enable the Field. # Enables the Field.
+        "id": "A String", # Required. ID of the Field to enable.
+      },
+      "enableSelectionChoice": { # Request to enable a Choice. # Enable a Choice within a Selection Field.
+        "fieldId": "A String", # Required. The Selection Field in which a Choice will be enabled.
+        "id": "A String", # Required. Choice to enable.
+      },
+      "updateField": { # Request to update Field properties. # Updates basic properties of a Field.
+        "id": "A String", # Required. The Field to update.
+        "properties": { # The basic properties of the field. # Required. Basic Field properties.
+          "displayName": "A String", # Required. The display text to show in the UI identifying this field.
+          "insertBeforeField": "A String", # Input only. Insert or move this field before the indicated field. If empty, the field is placed at the end of the list.
+          "required": True or False, # Whether the field should be marked as required.
+        },
+        "updateMask": "A String", # The fields that should be updated. At least one field must be specified. The root `properties` is implied and should not be specified. A single `*` can be used as short-hand for updating every field.
+      },
+      "updateFieldType": { # Request to change the type of a Field. # Update Field type and/or type options.
+        "dateOptions": { # Options for the date field type. # Update field to Date.
+          "dateFormat": "A String", # Output only. ICU date format.
+          "dateFormatType": "A String", # Localized date formatting option. Field values are rendered in this format according to their locale.
+          "maxValue": { # Represents a whole or partial calendar date, such as a birthday. The time of day and time zone are either specified elsewhere or are insignificant. The date is relative to the Gregorian Calendar. This can represent one of the following: * A full date, with non-zero year, month, and day values. * A month and day, with a zero year (for example, an anniversary). * A year on its own, with a zero month and a zero day. * A year and month, with a zero day (for example, a credit card expiration date). Related types: * google.type.TimeOfDay * google.type.DateTime * google.protobuf.Timestamp # Output only. Maximum valid value (year, month, day).
+            "day": 42, # Day of a month. Must be from 1 to 31 and valid for the year and month, or 0 to specify a year by itself or a year and month where the day isn't significant.
+            "month": 42, # Month of a year. Must be from 1 to 12, or 0 to specify a year without a month and day.
+            "year": 42, # Year of the date. Must be from 1 to 9999, or 0 to specify a date without a year.
+          },
+          "minValue": { # Represents a whole or partial calendar date, such as a birthday. The time of day and time zone are either specified elsewhere or are insignificant. The date is relative to the Gregorian Calendar. This can represent one of the following: * A full date, with non-zero year, month, and day values. * A month and day, with a zero year (for example, an anniversary). * A year on its own, with a zero month and a zero day. * A year and month, with a zero day (for example, a credit card expiration date). Related types: * google.type.TimeOfDay * google.type.DateTime * google.protobuf.Timestamp # Output only. Minimum valid value (year, month, day).
+            "day": 42, # Day of a month. Must be from 1 to 31 and valid for the year and month, or 0 to specify a year by itself or a year and month where the day isn't significant.
+            "month": 42, # Month of a year. Must be from 1 to 12, or 0 to specify a year without a month and day.
+            "year": 42, # Year of the date. Must be from 1 to 9999, or 0 to specify a date without a year.
+          },
+        },
+        "id": "A String", # Required. The Field to update.
+        "integerOptions": { # Options for the Integer field type. # Update field to Integer.
+          "maxValue": "A String", # Output only. The maximum valid value for the integer field.
+          "minValue": "A String", # Output only. The minimum valid value for the integer field.
+        },
+        "longTextOptions": { # Options the Long Text field type. # Update field to Long Text.
+          "maxLength": 42, # Output only. The maximum valid length of values for the text field.
+          "minLength": 42, # Output only. The minimum valid length of values for the text field.
+        },
+        "selectionOptions": { # Options for the selection field type. # Update field to Selection.
+          "choices": [ # The options available for this selection field. The list order is consistent, and modified with `insert_before_choice`.
+            { # Selection field choice.
+              "appliedCapabilities": { # The capabilities related to this choice on applied metadata. # Output only. The capabilities related to this choice on applied metadata.
+                "canRead": True or False, # Whether the user can read related applied metadata on items.
+                "canSearch": True or False, # Whether the user can use this choice in search queries.
+                "canSelect": True or False, # Whether the user can select this choice on an item.
+              },
+              "createTime": "A String", # Output only. The time this choice was created.
+              "creator": { # Information about a user. # Output only. The user who created this choice.
+                "person": "A String", # The identifier for this user that can be used with the People API to get more information. For example, people/12345678.
+              },
+              "disableTime": "A String", # Output only. The time this choice was disabled. This value has no meaning when the choice is not disabled.
+              "disabler": { # Information about a user. # Output only. The user who disabled this choice. This value has no meaning when the option is not disabled.
+                "person": "A String", # The identifier for this user that can be used with the People API to get more information. For example, people/12345678.
+              },
+              "displayHints": { # UI display hints for rendering an option. # Output only. UI display hints for rendering a choice.
+                "badgeColors": { # The color derived from BadgeConfig and changed to the closest recommended supported color. # The colors to use for the badge. Changed to Google Material colors based on the chosen `properties.badge_config.color`.
+                  "backgroundColor": { # Represents a color in the RGBA color space. This representation is designed for simplicity of conversion to/from color representations in various languages over compactness. For example, the fields of this representation can be trivially provided to the constructor of `java.awt.Color` in Java; it can also be trivially provided to UIColor's `+colorWithRed:green:blue:alpha` method in iOS; and, with just a little work, it can be easily formatted into a CSS `rgba()` string in JavaScript. This reference page doesn't carry information about the absolute color space that should be used to interpret the RGB value (e.g. sRGB, Adobe RGB, DCI-P3, BT.2020, etc.). By default, applications should assume the sRGB color space. When color equality needs to be decided, implementations, unless documented otherwise, treat two colors as equal if all their red, green, blue, and alpha values each differ by at most 1e-5. Example (Java): import com.google.type.Color; // ... public static java.awt.Color fromProto(Color protocolor) { float alpha = protocolor.hasAlpha() ? protocolor.getAlpha().getValue() : 1.0; return new java.awt.Color( protocolor.getRed(), protocolor.getGreen(), protocolor.getBlue(), alpha); } public static Color toProto(java.awt.Color color) { float red = (float) color.getRed(); float green = (float) color.getGreen(); float blue = (float) color.getBlue(); float denominator = 255.0; Color.Builder resultBuilder = Color .newBuilder() .setRed(red / denominator) .setGreen(green / denominator) .setBlue(blue / denominator); int alpha = color.getAlpha(); if (alpha != 255) { result.setAlpha( FloatValue .newBuilder() .setValue(((float) alpha) / denominator) .build()); } return resultBuilder.build(); } // ... Example (iOS / Obj-C): // ... static UIColor* fromProto(Color* protocolor) { float red = [protocolor red]; float green = [protocolor green]; float blue = [protocolor blue]; FloatValue* alpha_wrapper = [protocolor alpha]; float alpha = 1.0; if (alpha_wrapper != nil) { alpha = [alpha_wrapper value]; } return [UIColor colorWithRed:red green:green blue:blue alpha:alpha]; } static Color* toProto(UIColor* color) { CGFloat red, green, blue, alpha; if (![color getRed:&red green:&green blue:&blue alpha:&alpha]) { return nil; } Color* result = [[Color alloc] init]; [result setRed:red]; [result setGreen:green]; [result setBlue:blue]; if (alpha <= 0.9999) { [result setAlpha:floatWrapperWithValue(alpha)]; } [result autorelease]; return result; } // ... Example (JavaScript): // ... var protoToCssColor = function(rgb_color) { var redFrac = rgb_color.red || 0.0; var greenFrac = rgb_color.green || 0.0; var blueFrac = rgb_color.blue || 0.0; var red = Math.floor(redFrac * 255); var green = Math.floor(greenFrac * 255); var blue = Math.floor(blueFrac * 255); if (!('alpha' in rgb_color)) { return rgbToCssColor(red, green, blue); } var alphaFrac = rgb_color.alpha.value || 0.0; var rgbParams = [red, green, blue].join(','); return ['rgba(', rgbParams, ',', alphaFrac, ')'].join(''); }; var rgbToCssColor = function(red, green, blue) { var rgbNumber = new Number((red << 16) | (green << 8) | blue); var hexString = rgbNumber.toString(16); var missingZeros = 6 - hexString.length; var resultBuilder = ['#']; for (var i = 0; i < missingZeros; i++) { resultBuilder.push('0'); } resultBuilder.push(hexString); return resultBuilder.join(''); }; // ... # Output only. Badge background that pairs with the foreground.
+                    "alpha": 3.14, # The fraction of this color that should be applied to the pixel. That is, the final pixel color is defined by the equation: `pixel color = alpha * (this color) + (1.0 - alpha) * (background color)` This means that a value of 1.0 corresponds to a solid color, whereas a value of 0.0 corresponds to a completely transparent color. This uses a wrapper message rather than a simple float scalar so that it is possible to distinguish between a default value and the value being unset. If omitted, this color object is rendered as a solid color (as if the alpha value had been explicitly given a value of 1.0).
+                    "blue": 3.14, # The amount of blue in the color as a value in the interval [0, 1].
+                    "green": 3.14, # The amount of green in the color as a value in the interval [0, 1].
+                    "red": 3.14, # The amount of red in the color as a value in the interval [0, 1].
+                  },
+                  "foregroundColor": { # Represents a color in the RGBA color space. This representation is designed for simplicity of conversion to/from color representations in various languages over compactness. For example, the fields of this representation can be trivially provided to the constructor of `java.awt.Color` in Java; it can also be trivially provided to UIColor's `+colorWithRed:green:blue:alpha` method in iOS; and, with just a little work, it can be easily formatted into a CSS `rgba()` string in JavaScript. This reference page doesn't carry information about the absolute color space that should be used to interpret the RGB value (e.g. sRGB, Adobe RGB, DCI-P3, BT.2020, etc.). By default, applications should assume the sRGB color space. When color equality needs to be decided, implementations, unless documented otherwise, treat two colors as equal if all their red, green, blue, and alpha values each differ by at most 1e-5. Example (Java): import com.google.type.Color; // ... public static java.awt.Color fromProto(Color protocolor) { float alpha = protocolor.hasAlpha() ? protocolor.getAlpha().getValue() : 1.0; return new java.awt.Color( protocolor.getRed(), protocolor.getGreen(), protocolor.getBlue(), alpha); } public static Color toProto(java.awt.Color color) { float red = (float) color.getRed(); float green = (float) color.getGreen(); float blue = (float) color.getBlue(); float denominator = 255.0; Color.Builder resultBuilder = Color .newBuilder() .setRed(red / denominator) .setGreen(green / denominator) .setBlue(blue / denominator); int alpha = color.getAlpha(); if (alpha != 255) { result.setAlpha( FloatValue .newBuilder() .setValue(((float) alpha) / denominator) .build()); } return resultBuilder.build(); } // ... Example (iOS / Obj-C): // ... static UIColor* fromProto(Color* protocolor) { float red = [protocolor red]; float green = [protocolor green]; float blue = [protocolor blue]; FloatValue* alpha_wrapper = [protocolor alpha]; float alpha = 1.0; if (alpha_wrapper != nil) { alpha = [alpha_wrapper value]; } return [UIColor colorWithRed:red green:green blue:blue alpha:alpha]; } static Color* toProto(UIColor* color) { CGFloat red, green, blue, alpha; if (![color getRed:&red green:&green blue:&blue alpha:&alpha]) { return nil; } Color* result = [[Color alloc] init]; [result setRed:red]; [result setGreen:green]; [result setBlue:blue]; if (alpha <= 0.9999) { [result setAlpha:floatWrapperWithValue(alpha)]; } [result autorelease]; return result; } // ... Example (JavaScript): // ... var protoToCssColor = function(rgb_color) { var redFrac = rgb_color.red || 0.0; var greenFrac = rgb_color.green || 0.0; var blueFrac = rgb_color.blue || 0.0; var red = Math.floor(redFrac * 255); var green = Math.floor(greenFrac * 255); var blue = Math.floor(blueFrac * 255); if (!('alpha' in rgb_color)) { return rgbToCssColor(red, green, blue); } var alphaFrac = rgb_color.alpha.value || 0.0; var rgbParams = [red, green, blue].join(','); return ['rgba(', rgbParams, ',', alphaFrac, ')'].join(''); }; var rgbToCssColor = function(red, green, blue) { var rgbNumber = new Number((red << 16) | (green << 8) | blue); var hexString = rgbNumber.toString(16); var missingZeros = 6 - hexString.length; var resultBuilder = ['#']; for (var i = 0; i < missingZeros; i++) { resultBuilder.push('0'); } resultBuilder.push(hexString); return resultBuilder.join(''); }; // ... # Output only. Badge foreground that pairs with the background.
+                    "alpha": 3.14, # The fraction of this color that should be applied to the pixel. That is, the final pixel color is defined by the equation: `pixel color = alpha * (this color) + (1.0 - alpha) * (background color)` This means that a value of 1.0 corresponds to a solid color, whereas a value of 0.0 corresponds to a completely transparent color. This uses a wrapper message rather than a simple float scalar so that it is possible to distinguish between a default value and the value being unset. If omitted, this color object is rendered as a solid color (as if the alpha value had been explicitly given a value of 1.0).
+                    "blue": 3.14, # The amount of blue in the color as a value in the interval [0, 1].
+                    "green": 3.14, # The amount of green in the color as a value in the interval [0, 1].
+                    "red": 3.14, # The amount of red in the color as a value in the interval [0, 1].
+                  },
+                  "soloColor": { # Represents a color in the RGBA color space. This representation is designed for simplicity of conversion to/from color representations in various languages over compactness. For example, the fields of this representation can be trivially provided to the constructor of `java.awt.Color` in Java; it can also be trivially provided to UIColor's `+colorWithRed:green:blue:alpha` method in iOS; and, with just a little work, it can be easily formatted into a CSS `rgba()` string in JavaScript. This reference page doesn't carry information about the absolute color space that should be used to interpret the RGB value (e.g. sRGB, Adobe RGB, DCI-P3, BT.2020, etc.). By default, applications should assume the sRGB color space. When color equality needs to be decided, implementations, unless documented otherwise, treat two colors as equal if all their red, green, blue, and alpha values each differ by at most 1e-5. Example (Java): import com.google.type.Color; // ... public static java.awt.Color fromProto(Color protocolor) { float alpha = protocolor.hasAlpha() ? protocolor.getAlpha().getValue() : 1.0; return new java.awt.Color( protocolor.getRed(), protocolor.getGreen(), protocolor.getBlue(), alpha); } public static Color toProto(java.awt.Color color) { float red = (float) color.getRed(); float green = (float) color.getGreen(); float blue = (float) color.getBlue(); float denominator = 255.0; Color.Builder resultBuilder = Color .newBuilder() .setRed(red / denominator) .setGreen(green / denominator) .setBlue(blue / denominator); int alpha = color.getAlpha(); if (alpha != 255) { result.setAlpha( FloatValue .newBuilder() .setValue(((float) alpha) / denominator) .build()); } return resultBuilder.build(); } // ... Example (iOS / Obj-C): // ... static UIColor* fromProto(Color* protocolor) { float red = [protocolor red]; float green = [protocolor green]; float blue = [protocolor blue]; FloatValue* alpha_wrapper = [protocolor alpha]; float alpha = 1.0; if (alpha_wrapper != nil) { alpha = [alpha_wrapper value]; } return [UIColor colorWithRed:red green:green blue:blue alpha:alpha]; } static Color* toProto(UIColor* color) { CGFloat red, green, blue, alpha; if (![color getRed:&red green:&green blue:&blue alpha:&alpha]) { return nil; } Color* result = [[Color alloc] init]; [result setRed:red]; [result setGreen:green]; [result setBlue:blue]; if (alpha <= 0.9999) { [result setAlpha:floatWrapperWithValue(alpha)]; } [result autorelease]; return result; } // ... Example (JavaScript): // ... var protoToCssColor = function(rgb_color) { var redFrac = rgb_color.red || 0.0; var greenFrac = rgb_color.green || 0.0; var blueFrac = rgb_color.blue || 0.0; var red = Math.floor(redFrac * 255); var green = Math.floor(greenFrac * 255); var blue = Math.floor(blueFrac * 255); if (!('alpha' in rgb_color)) { return rgbToCssColor(red, green, blue); } var alphaFrac = rgb_color.alpha.value || 0.0; var rgbParams = [red, green, blue].join(','); return ['rgba(', rgbParams, ',', alphaFrac, ')'].join(''); }; var rgbToCssColor = function(red, green, blue) { var rgbNumber = new Number((red << 16) | (green << 8) | blue); var hexString = rgbNumber.toString(16); var missingZeros = 6 - hexString.length; var resultBuilder = ['#']; for (var i = 0; i < missingZeros; i++) { resultBuilder.push('0'); } resultBuilder.push(hexString); return resultBuilder.join(''); }; // ... # Output only. Color that can be used for text without a background.
+                    "alpha": 3.14, # The fraction of this color that should be applied to the pixel. That is, the final pixel color is defined by the equation: `pixel color = alpha * (this color) + (1.0 - alpha) * (background color)` This means that a value of 1.0 corresponds to a solid color, whereas a value of 0.0 corresponds to a completely transparent color. This uses a wrapper message rather than a simple float scalar so that it is possible to distinguish between a default value and the value being unset. If omitted, this color object is rendered as a solid color (as if the alpha value had been explicitly given a value of 1.0).
+                    "blue": 3.14, # The amount of blue in the color as a value in the interval [0, 1].
+                    "green": 3.14, # The amount of green in the color as a value in the interval [0, 1].
+                    "red": 3.14, # The amount of red in the color as a value in the interval [0, 1].
+                  },
+                },
+                "badgePriority": "A String", # The priority of this badge. Used to compare and sort between multiple badges. A lower number means the badge should be shown first. When a badging configuration is not present, this will be 0. Otherwise, this will be set to `BadgeConfig.priority_override` or the default heuristic which prefers creation date of the label, and field and option priority.
+                "darkBadgeColors": { # The color derived from BadgeConfig and changed to the closest recommended supported color. # The dark-mode color to use for the badge. Changed to Google Material colors based on the chosen `properties.badge_config.color`.
+                  "backgroundColor": { # Represents a color in the RGBA color space. This representation is designed for simplicity of conversion to/from color representations in various languages over compactness. For example, the fields of this representation can be trivially provided to the constructor of `java.awt.Color` in Java; it can also be trivially provided to UIColor's `+colorWithRed:green:blue:alpha` method in iOS; and, with just a little work, it can be easily formatted into a CSS `rgba()` string in JavaScript. This reference page doesn't carry information about the absolute color space that should be used to interpret the RGB value (e.g. sRGB, Adobe RGB, DCI-P3, BT.2020, etc.). By default, applications should assume the sRGB color space. When color equality needs to be decided, implementations, unless documented otherwise, treat two colors as equal if all their red, green, blue, and alpha values each differ by at most 1e-5. Example (Java): import com.google.type.Color; // ... public static java.awt.Color fromProto(Color protocolor) { float alpha = protocolor.hasAlpha() ? protocolor.getAlpha().getValue() : 1.0; return new java.awt.Color( protocolor.getRed(), protocolor.getGreen(), protocolor.getBlue(), alpha); } public static Color toProto(java.awt.Color color) { float red = (float) color.getRed(); float green = (float) color.getGreen(); float blue = (float) color.getBlue(); float denominator = 255.0; Color.Builder resultBuilder = Color .newBuilder() .setRed(red / denominator) .setGreen(green / denominator) .setBlue(blue / denominator); int alpha = color.getAlpha(); if (alpha != 255) { result.setAlpha( FloatValue .newBuilder() .setValue(((float) alpha) / denominator) .build()); } return resultBuilder.build(); } // ... Example (iOS / Obj-C): // ... static UIColor* fromProto(Color* protocolor) { float red = [protocolor red]; float green = [protocolor green]; float blue = [protocolor blue]; FloatValue* alpha_wrapper = [protocolor alpha]; float alpha = 1.0; if (alpha_wrapper != nil) { alpha = [alpha_wrapper value]; } return [UIColor colorWithRed:red green:green blue:blue alpha:alpha]; } static Color* toProto(UIColor* color) { CGFloat red, green, blue, alpha; if (![color getRed:&red green:&green blue:&blue alpha:&alpha]) { return nil; } Color* result = [[Color alloc] init]; [result setRed:red]; [result setGreen:green]; [result setBlue:blue]; if (alpha <= 0.9999) { [result setAlpha:floatWrapperWithValue(alpha)]; } [result autorelease]; return result; } // ... Example (JavaScript): // ... var protoToCssColor = function(rgb_color) { var redFrac = rgb_color.red || 0.0; var greenFrac = rgb_color.green || 0.0; var blueFrac = rgb_color.blue || 0.0; var red = Math.floor(redFrac * 255); var green = Math.floor(greenFrac * 255); var blue = Math.floor(blueFrac * 255); if (!('alpha' in rgb_color)) { return rgbToCssColor(red, green, blue); } var alphaFrac = rgb_color.alpha.value || 0.0; var rgbParams = [red, green, blue].join(','); return ['rgba(', rgbParams, ',', alphaFrac, ')'].join(''); }; var rgbToCssColor = function(red, green, blue) { var rgbNumber = new Number((red << 16) | (green << 8) | blue); var hexString = rgbNumber.toString(16); var missingZeros = 6 - hexString.length; var resultBuilder = ['#']; for (var i = 0; i < missingZeros; i++) { resultBuilder.push('0'); } resultBuilder.push(hexString); return resultBuilder.join(''); }; // ... # Output only. Badge background that pairs with the foreground.
+                    "alpha": 3.14, # The fraction of this color that should be applied to the pixel. That is, the final pixel color is defined by the equation: `pixel color = alpha * (this color) + (1.0 - alpha) * (background color)` This means that a value of 1.0 corresponds to a solid color, whereas a value of 0.0 corresponds to a completely transparent color. This uses a wrapper message rather than a simple float scalar so that it is possible to distinguish between a default value and the value being unset. If omitted, this color object is rendered as a solid color (as if the alpha value had been explicitly given a value of 1.0).
+                    "blue": 3.14, # The amount of blue in the color as a value in the interval [0, 1].
+                    "green": 3.14, # The amount of green in the color as a value in the interval [0, 1].
+                    "red": 3.14, # The amount of red in the color as a value in the interval [0, 1].
+                  },
+                  "foregroundColor": { # Represents a color in the RGBA color space. This representation is designed for simplicity of conversion to/from color representations in various languages over compactness. For example, the fields of this representation can be trivially provided to the constructor of `java.awt.Color` in Java; it can also be trivially provided to UIColor's `+colorWithRed:green:blue:alpha` method in iOS; and, with just a little work, it can be easily formatted into a CSS `rgba()` string in JavaScript. This reference page doesn't carry information about the absolute color space that should be used to interpret the RGB value (e.g. sRGB, Adobe RGB, DCI-P3, BT.2020, etc.). By default, applications should assume the sRGB color space. When color equality needs to be decided, implementations, unless documented otherwise, treat two colors as equal if all their red, green, blue, and alpha values each differ by at most 1e-5. Example (Java): import com.google.type.Color; // ... public static java.awt.Color fromProto(Color protocolor) { float alpha = protocolor.hasAlpha() ? protocolor.getAlpha().getValue() : 1.0; return new java.awt.Color( protocolor.getRed(), protocolor.getGreen(), protocolor.getBlue(), alpha); } public static Color toProto(java.awt.Color color) { float red = (float) color.getRed(); float green = (float) color.getGreen(); float blue = (float) color.getBlue(); float denominator = 255.0; Color.Builder resultBuilder = Color .newBuilder() .setRed(red / denominator) .setGreen(green / denominator) .setBlue(blue / denominator); int alpha = color.getAlpha(); if (alpha != 255) { result.setAlpha( FloatValue .newBuilder() .setValue(((float) alpha) / denominator) .build()); } return resultBuilder.build(); } // ... Example (iOS / Obj-C): // ... static UIColor* fromProto(Color* protocolor) { float red = [protocolor red]; float green = [protocolor green]; float blue = [protocolor blue]; FloatValue* alpha_wrapper = [protocolor alpha]; float alpha = 1.0; if (alpha_wrapper != nil) { alpha = [alpha_wrapper value]; } return [UIColor colorWithRed:red green:green blue:blue alpha:alpha]; } static Color* toProto(UIColor* color) { CGFloat red, green, blue, alpha; if (![color getRed:&red green:&green blue:&blue alpha:&alpha]) { return nil; } Color* result = [[Color alloc] init]; [result setRed:red]; [result setGreen:green]; [result setBlue:blue]; if (alpha <= 0.9999) { [result setAlpha:floatWrapperWithValue(alpha)]; } [result autorelease]; return result; } // ... Example (JavaScript): // ... var protoToCssColor = function(rgb_color) { var redFrac = rgb_color.red || 0.0; var greenFrac = rgb_color.green || 0.0; var blueFrac = rgb_color.blue || 0.0; var red = Math.floor(redFrac * 255); var green = Math.floor(greenFrac * 255); var blue = Math.floor(blueFrac * 255); if (!('alpha' in rgb_color)) { return rgbToCssColor(red, green, blue); } var alphaFrac = rgb_color.alpha.value || 0.0; var rgbParams = [red, green, blue].join(','); return ['rgba(', rgbParams, ',', alphaFrac, ')'].join(''); }; var rgbToCssColor = function(red, green, blue) { var rgbNumber = new Number((red << 16) | (green << 8) | blue); var hexString = rgbNumber.toString(16); var missingZeros = 6 - hexString.length; var resultBuilder = ['#']; for (var i = 0; i < missingZeros; i++) { resultBuilder.push('0'); } resultBuilder.push(hexString); return resultBuilder.join(''); }; // ... # Output only. Badge foreground that pairs with the background.
+                    "alpha": 3.14, # The fraction of this color that should be applied to the pixel. That is, the final pixel color is defined by the equation: `pixel color = alpha * (this color) + (1.0 - alpha) * (background color)` This means that a value of 1.0 corresponds to a solid color, whereas a value of 0.0 corresponds to a completely transparent color. This uses a wrapper message rather than a simple float scalar so that it is possible to distinguish between a default value and the value being unset. If omitted, this color object is rendered as a solid color (as if the alpha value had been explicitly given a value of 1.0).
+                    "blue": 3.14, # The amount of blue in the color as a value in the interval [0, 1].
+                    "green": 3.14, # The amount of green in the color as a value in the interval [0, 1].
+                    "red": 3.14, # The amount of red in the color as a value in the interval [0, 1].
+                  },
+                  "soloColor": { # Represents a color in the RGBA color space. This representation is designed for simplicity of conversion to/from color representations in various languages over compactness. For example, the fields of this representation can be trivially provided to the constructor of `java.awt.Color` in Java; it can also be trivially provided to UIColor's `+colorWithRed:green:blue:alpha` method in iOS; and, with just a little work, it can be easily formatted into a CSS `rgba()` string in JavaScript. This reference page doesn't carry information about the absolute color space that should be used to interpret the RGB value (e.g. sRGB, Adobe RGB, DCI-P3, BT.2020, etc.). By default, applications should assume the sRGB color space. When color equality needs to be decided, implementations, unless documented otherwise, treat two colors as equal if all their red, green, blue, and alpha values each differ by at most 1e-5. Example (Java): import com.google.type.Color; // ... public static java.awt.Color fromProto(Color protocolor) { float alpha = protocolor.hasAlpha() ? protocolor.getAlpha().getValue() : 1.0; return new java.awt.Color( protocolor.getRed(), protocolor.getGreen(), protocolor.getBlue(), alpha); } public static Color toProto(java.awt.Color color) { float red = (float) color.getRed(); float green = (float) color.getGreen(); float blue = (float) color.getBlue(); float denominator = 255.0; Color.Builder resultBuilder = Color .newBuilder() .setRed(red / denominator) .setGreen(green / denominator) .setBlue(blue / denominator); int alpha = color.getAlpha(); if (alpha != 255) { result.setAlpha( FloatValue .newBuilder() .setValue(((float) alpha) / denominator) .build()); } return resultBuilder.build(); } // ... Example (iOS / Obj-C): // ... static UIColor* fromProto(Color* protocolor) { float red = [protocolor red]; float green = [protocolor green]; float blue = [protocolor blue]; FloatValue* alpha_wrapper = [protocolor alpha]; float alpha = 1.0; if (alpha_wrapper != nil) { alpha = [alpha_wrapper value]; } return [UIColor colorWithRed:red green:green blue:blue alpha:alpha]; } static Color* toProto(UIColor* color) { CGFloat red, green, blue, alpha; if (![color getRed:&red green:&green blue:&blue alpha:&alpha]) { return nil; } Color* result = [[Color alloc] init]; [result setRed:red]; [result setGreen:green]; [result setBlue:blue]; if (alpha <= 0.9999) { [result setAlpha:floatWrapperWithValue(alpha)]; } [result autorelease]; return result; } // ... Example (JavaScript): // ... var protoToCssColor = function(rgb_color) { var redFrac = rgb_color.red || 0.0; var greenFrac = rgb_color.green || 0.0; var blueFrac = rgb_color.blue || 0.0; var red = Math.floor(redFrac * 255); var green = Math.floor(greenFrac * 255); var blue = Math.floor(blueFrac * 255); if (!('alpha' in rgb_color)) { return rgbToCssColor(red, green, blue); } var alphaFrac = rgb_color.alpha.value || 0.0; var rgbParams = [red, green, blue].join(','); return ['rgba(', rgbParams, ',', alphaFrac, ')'].join(''); }; var rgbToCssColor = function(red, green, blue) { var rgbNumber = new Number((red << 16) | (green << 8) | blue); var hexString = rgbNumber.toString(16); var missingZeros = 6 - hexString.length; var resultBuilder = ['#']; for (var i = 0; i < missingZeros; i++) { resultBuilder.push('0'); } resultBuilder.push(hexString); return resultBuilder.join(''); }; // ... # Output only. Color that can be used for text without a background.
+                    "alpha": 3.14, # The fraction of this color that should be applied to the pixel. That is, the final pixel color is defined by the equation: `pixel color = alpha * (this color) + (1.0 - alpha) * (background color)` This means that a value of 1.0 corresponds to a solid color, whereas a value of 0.0 corresponds to a completely transparent color. This uses a wrapper message rather than a simple float scalar so that it is possible to distinguish between a default value and the value being unset. If omitted, this color object is rendered as a solid color (as if the alpha value had been explicitly given a value of 1.0).
+                    "blue": 3.14, # The amount of blue in the color as a value in the interval [0, 1].
+                    "green": 3.14, # The amount of green in the color as a value in the interval [0, 1].
+                    "red": 3.14, # The amount of red in the color as a value in the interval [0, 1].
+                  },
+                },
+                "disabled": True or False, # Whether the option should be shown in the UI as disabled.
+                "hiddenInSearch": True or False, # This option should be hidden in the search menu when searching for Drive items.
+                "shownInApply": True or False, # This option should be shown in the apply menu when applying values to a Drive item.
+              },
+              "id": "A String", # The unique value of the choice. This ID is autogenerated. Matches the regex: `([a-zA-Z0-9_])+`.
+              "lifecycle": { # The lifecycle state of an object, such as label, field, or choice. The lifecycle enforces the following transitions: * `UNPUBLISHED_DRAFT` (starting state) * `UNPUBLISHED_DRAFT` -> `PUBLISHED` * `UNPUBLISHED_DRAFT` -> (Deleted) * `PUBLISHED` -> `DISABLED` * `DISABLED` -> `PUBLISHED` * `DISABLED` -> (Deleted) The published and disabled states have some distinct characteristics: * Published—Some kinds of changes might be made to an object in this state, in which case `has_unpublished_changes` will be true. Also, some kinds of changes are not permitted. Generally, any change that would invalidate or cause new restrictions on existing metadata related to the label are rejected. * Disabled—When disabled, the configured `DisabledPolicy` takes effect. # Output only. Lifecycle of the choice.
+                "disabledPolicy": { # The policy that governs how to treat a disabled label, field, or selection choice in different contexts. # The policy that governs how to show a disabled label, field, or selection choice.
+                  "hideInSearch": True or False, # Whether to hide this disabled object in the search menu for Drive items. * When `false`, the object is generally shown in the UI as disabled but it appears in the search results when searching for Drive items. * When `true`, the object is generally hidden in the UI when searching for Drive items.
+                  "showInApply": True or False, # Whether to show this disabled object in the apply menu on Drive items. * When `true`, the object is generally shown in the UI as disabled and is unselectable. * When `false`, the object is generally hidden in the UI.
+                },
+                "hasUnpublishedChanges": True or False, # Output only. Whether the object associated with this lifecycle has unpublished changes.
+                "state": "A String", # Output only. The state of the object associated with this lifecycle.
+              },
+              "lockStatus": { # Contains information about whether a label component should be considered locked. # Output only. The LockStatus of this choice.
+                "locked": True or False, # Output only. Indicates whether this label component is the (direct) target of a LabelLock. A label component can be implicitly locked even if it's not the direct target of a LabelLock, in which case this field is set to false.
+              },
+              "properties": { # Basic properties of the choice. # Basic properties of the choice.
+                "badgeConfig": { # Badge status of the label. # The badge configuration for this choice. When set, the label that owns this choice is considered a "badged label".
+                  "color": { # Represents a color in the RGBA color space. This representation is designed for simplicity of conversion to/from color representations in various languages over compactness. For example, the fields of this representation can be trivially provided to the constructor of `java.awt.Color` in Java; it can also be trivially provided to UIColor's `+colorWithRed:green:blue:alpha` method in iOS; and, with just a little work, it can be easily formatted into a CSS `rgba()` string in JavaScript. This reference page doesn't carry information about the absolute color space that should be used to interpret the RGB value (e.g. sRGB, Adobe RGB, DCI-P3, BT.2020, etc.). By default, applications should assume the sRGB color space. When color equality needs to be decided, implementations, unless documented otherwise, treat two colors as equal if all their red, green, blue, and alpha values each differ by at most 1e-5. Example (Java): import com.google.type.Color; // ... public static java.awt.Color fromProto(Color protocolor) { float alpha = protocolor.hasAlpha() ? protocolor.getAlpha().getValue() : 1.0; return new java.awt.Color( protocolor.getRed(), protocolor.getGreen(), protocolor.getBlue(), alpha); } public static Color toProto(java.awt.Color color) { float red = (float) color.getRed(); float green = (float) color.getGreen(); float blue = (float) color.getBlue(); float denominator = 255.0; Color.Builder resultBuilder = Color .newBuilder() .setRed(red / denominator) .setGreen(green / denominator) .setBlue(blue / denominator); int alpha = color.getAlpha(); if (alpha != 255) { result.setAlpha( FloatValue .newBuilder() .setValue(((float) alpha) / denominator) .build()); } return resultBuilder.build(); } // ... Example (iOS / Obj-C): // ... static UIColor* fromProto(Color* protocolor) { float red = [protocolor red]; float green = [protocolor green]; float blue = [protocolor blue]; FloatValue* alpha_wrapper = [protocolor alpha]; float alpha = 1.0; if (alpha_wrapper != nil) { alpha = [alpha_wrapper value]; } return [UIColor colorWithRed:red green:green blue:blue alpha:alpha]; } static Color* toProto(UIColor* color) { CGFloat red, green, blue, alpha; if (![color getRed:&red green:&green blue:&blue alpha:&alpha]) { return nil; } Color* result = [[Color alloc] init]; [result setRed:red]; [result setGreen:green]; [result setBlue:blue]; if (alpha <= 0.9999) { [result setAlpha:floatWrapperWithValue(alpha)]; } [result autorelease]; return result; } // ... Example (JavaScript): // ... var protoToCssColor = function(rgb_color) { var redFrac = rgb_color.red || 0.0; var greenFrac = rgb_color.green || 0.0; var blueFrac = rgb_color.blue || 0.0; var red = Math.floor(redFrac * 255); var green = Math.floor(greenFrac * 255); var blue = Math.floor(blueFrac * 255); if (!('alpha' in rgb_color)) { return rgbToCssColor(red, green, blue); } var alphaFrac = rgb_color.alpha.value || 0.0; var rgbParams = [red, green, blue].join(','); return ['rgba(', rgbParams, ',', alphaFrac, ')'].join(''); }; var rgbToCssColor = function(red, green, blue) { var rgbNumber = new Number((red << 16) | (green << 8) | blue); var hexString = rgbNumber.toString(16); var missingZeros = 6 - hexString.length; var resultBuilder = ['#']; for (var i = 0; i < missingZeros; i++) { resultBuilder.push('0'); } resultBuilder.push(hexString); return resultBuilder.join(''); }; // ... # The color of the badge. When not specified, no badge is rendered. The background, foreground, and solo (light and dark mode) colors set here are changed in the Drive UI into the closest recommended supported color.
+                    "alpha": 3.14, # The fraction of this color that should be applied to the pixel. That is, the final pixel color is defined by the equation: `pixel color = alpha * (this color) + (1.0 - alpha) * (background color)` This means that a value of 1.0 corresponds to a solid color, whereas a value of 0.0 corresponds to a completely transparent color. This uses a wrapper message rather than a simple float scalar so that it is possible to distinguish between a default value and the value being unset. If omitted, this color object is rendered as a solid color (as if the alpha value had been explicitly given a value of 1.0).
+                    "blue": 3.14, # The amount of blue in the color as a value in the interval [0, 1].
+                    "green": 3.14, # The amount of green in the color as a value in the interval [0, 1].
+                    "red": 3.14, # The amount of red in the color as a value in the interval [0, 1].
+                  },
+                  "priorityOverride": "A String", # Override the default global priority of this badge. When set to 0, the default priority heuristic is used.
+                },
+                "description": "A String", # The description of this label.
+                "displayName": "A String", # Required. The display text to show in the UI identifying this field.
+                "insertBeforeChoice": "A String", # Input only. Insert or move this choice before the indicated choice. If empty, the choice is placed at the end of the list.
+              },
+              "publishTime": "A String", # Output only. The time this choice was published. This value has no meaning when the choice is not published.
+              "publisher": { # Information about a user. # Output only. The user who published this choice. This value has no meaning when the choice is not published.
+                "person": "A String", # The identifier for this user that can be used with the People API to get more information. For example, people/12345678.
+              },
+              "schemaCapabilities": { # The capabilities related to this choice when editing the choice. # Output only. The capabilities related to this option when editing the option.
+                "canDelete": True or False, # Whether the user can delete this choice.
+                "canDisable": True or False, # Whether the user can disable this choice.
+                "canEnable": True or False, # Whether the user can enable this choice.
+                "canUpdate": True or False, # Whether the user can update this choice.
+              },
+              "updateTime": "A String", # Output only. The time this choice was updated last.
+              "updater": { # Information about a user. # Output only. The user who updated this choice last.
+                "person": "A String", # The identifier for this user that can be used with the People API to get more information. For example, people/12345678.
+              },
+            },
+          ],
+          "listOptions": { # Options for a multi-valued variant of an associated field type. # When specified, indicates this field supports a list of values. Once the field is published, this cannot be changed.
+            "maxEntries": 42, # Maximum number of entries permitted.
+          },
+        },
+        "textOptions": { # Options for the Text field type. # Update field to Text.
+          "maxLength": 42, # Output only. The maximum valid length of values for the text field.
+          "minLength": 42, # Output only. The minimum valid length of values for the text field.
+        },
+        "updateMask": "A String", # The fields that should be updated. At least one field must be specified. The root of `type_options` is implied and should not be specified. A single `*` can be used as short-hand for updating every field.
+        "userOptions": { # Options for the user field type. # Update field to User.
+          "listOptions": { # Options for a multi-valued variant of an associated field type. # When specified, indicates that this field supports a list of values. Once the field is published, this cannot be changed.
+            "maxEntries": 42, # Maximum number of entries permitted.
+          },
+        },
+      },
+      "updateLabel": { # Updates basic properties of a Label. # Updates the Label properties.
+        "properties": { # Basic properties of the label. # Required. Label properties to update.
+          "description": "A String", # The description of the label.
+          "title": "A String", # Required. Title of the label.
+        },
+        "updateMask": "A String", # The fields that should be updated. At least one field must be specified. The root `label_properties` is implied and should not be specified. A single `*` can be used as short-hand for updating every field.
+      },
+      "updateSelectionChoiceProperties": { # Request to update a Choice properties. # Update a Choice properties within a Selection Field.
+        "fieldId": "A String", # Required. The Selection Field to update.
+        "id": "A String", # Required. The Choice to update.
+        "properties": { # Basic properties of the choice. # Required. The Choice properties to update.
+          "badgeConfig": { # Badge status of the label. # The badge configuration for this choice. When set, the label that owns this choice is considered a "badged label".
+            "color": { # Represents a color in the RGBA color space. This representation is designed for simplicity of conversion to/from color representations in various languages over compactness. For example, the fields of this representation can be trivially provided to the constructor of `java.awt.Color` in Java; it can also be trivially provided to UIColor's `+colorWithRed:green:blue:alpha` method in iOS; and, with just a little work, it can be easily formatted into a CSS `rgba()` string in JavaScript. This reference page doesn't carry information about the absolute color space that should be used to interpret the RGB value (e.g. sRGB, Adobe RGB, DCI-P3, BT.2020, etc.). By default, applications should assume the sRGB color space. When color equality needs to be decided, implementations, unless documented otherwise, treat two colors as equal if all their red, green, blue, and alpha values each differ by at most 1e-5. Example (Java): import com.google.type.Color; // ... public static java.awt.Color fromProto(Color protocolor) { float alpha = protocolor.hasAlpha() ? protocolor.getAlpha().getValue() : 1.0; return new java.awt.Color( protocolor.getRed(), protocolor.getGreen(), protocolor.getBlue(), alpha); } public static Color toProto(java.awt.Color color) { float red = (float) color.getRed(); float green = (float) color.getGreen(); float blue = (float) color.getBlue(); float denominator = 255.0; Color.Builder resultBuilder = Color .newBuilder() .setRed(red / denominator) .setGreen(green / denominator) .setBlue(blue / denominator); int alpha = color.getAlpha(); if (alpha != 255) { result.setAlpha( FloatValue .newBuilder() .setValue(((float) alpha) / denominator) .build()); } return resultBuilder.build(); } // ... Example (iOS / Obj-C): // ... static UIColor* fromProto(Color* protocolor) { float red = [protocolor red]; float green = [protocolor green]; float blue = [protocolor blue]; FloatValue* alpha_wrapper = [protocolor alpha]; float alpha = 1.0; if (alpha_wrapper != nil) { alpha = [alpha_wrapper value]; } return [UIColor colorWithRed:red green:green blue:blue alpha:alpha]; } static Color* toProto(UIColor* color) { CGFloat red, green, blue, alpha; if (![color getRed:&red green:&green blue:&blue alpha:&alpha]) { return nil; } Color* result = [[Color alloc] init]; [result setRed:red]; [result setGreen:green]; [result setBlue:blue]; if (alpha <= 0.9999) { [result setAlpha:floatWrapperWithValue(alpha)]; } [result autorelease]; return result; } // ... Example (JavaScript): // ... var protoToCssColor = function(rgb_color) { var redFrac = rgb_color.red || 0.0; var greenFrac = rgb_color.green || 0.0; var blueFrac = rgb_color.blue || 0.0; var red = Math.floor(redFrac * 255); var green = Math.floor(greenFrac * 255); var blue = Math.floor(blueFrac * 255); if (!('alpha' in rgb_color)) { return rgbToCssColor(red, green, blue); } var alphaFrac = rgb_color.alpha.value || 0.0; var rgbParams = [red, green, blue].join(','); return ['rgba(', rgbParams, ',', alphaFrac, ')'].join(''); }; var rgbToCssColor = function(red, green, blue) { var rgbNumber = new Number((red << 16) | (green << 8) | blue); var hexString = rgbNumber.toString(16); var missingZeros = 6 - hexString.length; var resultBuilder = ['#']; for (var i = 0; i < missingZeros; i++) { resultBuilder.push('0'); } resultBuilder.push(hexString); return resultBuilder.join(''); }; // ... # The color of the badge. When not specified, no badge is rendered. The background, foreground, and solo (light and dark mode) colors set here are changed in the Drive UI into the closest recommended supported color.
+              "alpha": 3.14, # The fraction of this color that should be applied to the pixel. That is, the final pixel color is defined by the equation: `pixel color = alpha * (this color) + (1.0 - alpha) * (background color)` This means that a value of 1.0 corresponds to a solid color, whereas a value of 0.0 corresponds to a completely transparent color. This uses a wrapper message rather than a simple float scalar so that it is possible to distinguish between a default value and the value being unset. If omitted, this color object is rendered as a solid color (as if the alpha value had been explicitly given a value of 1.0).
+              "blue": 3.14, # The amount of blue in the color as a value in the interval [0, 1].
+              "green": 3.14, # The amount of green in the color as a value in the interval [0, 1].
+              "red": 3.14, # The amount of red in the color as a value in the interval [0, 1].
+            },
+            "priorityOverride": "A String", # Override the default global priority of this badge. When set to 0, the default priority heuristic is used.
+          },
+          "description": "A String", # The description of this label.
+          "displayName": "A String", # Required. The display text to show in the UI identifying this field.
+          "insertBeforeChoice": "A String", # Input only. Insert or move this choice before the indicated choice. If empty, the choice is placed at the end of the list.
+        },
+        "updateMask": "A String", # The fields that should be updated. At least one field must be specified. The root `properties` is implied and should not be specified. A single `*` can be used as short-hand for updating every field.
+      },
+    },
+  ],
+  "useAdminAccess": True or False, # Set to `true` in order to use the user's admin credentials. The server will verify the user is an admin for the Label before allowing access.
+  "view": "A String", # When specified, only certain fields belonging to the indicated view will be returned.
+  "writeControl": { # Provides control over how write requests are executed. When not specified, the last write wins. # Provides control over how write requests are executed.
+    "requiredRevisionId": "A String", # The revision_id of the label that the write request will be applied to. If this is not the latest revision of the label, the request will not be processed and will return a 400 Bad Request error.
+  },
+}
+
+  x__xgafv: string, V1 error format.
+    Allowed values
+      1 - v1 error format
+      2 - v2 error format
+
+Returns:
+  An object of the form:
+
+    { # Response for Label update.
+  "responses": [ # The reply of the updates. This maps 1:1 with the updates, although responses to some requests may be empty.
+    { # A single response from an update.
+      "createField": { # Response following Field create. # Creates a new Field.
+        "id": "A String", # The field of the created field. When left blank in a create request, a key will be autogenerated and can be identified here.
+        "priority": 42, # The priority of the created field. The priority may change from what was specified to assure contiguous priorities between fields (1-n).
+      },
+      "createSelectionChoice": { # Response following Selection Choice create. # Creates a new selection list option to add to a Selection Field.
+        "fieldId": "A String", # The server-generated id of the field.
+        "id": "A String", # The server-generated ID of the created choice within the Field
+      },
+      "deleteField": { # Response following Field delete. # Deletes a Field from the label.
+      },
+      "deleteSelectionChoice": { # Response following Choice delete. # Deletes a Choice from a Selection Field.
+      },
+      "disableField": { # Response following Field disable. # Disables Field.
+      },
+      "disableSelectionChoice": { # Response following Choice disable. # Disables a Choice within a Selection Field.
+      },
+      "enableField": { # Response following Field enable. # Enables Field.
+      },
+      "enableSelectionChoice": { # Response following Choice enable. # Enables a Choice within a Selection Field.
+      },
+      "updateField": { # Response following update to Field properties. # Updates basic properties of a Field.
+        "priority": 42, # The priority of the updated field. The priority may change from what was specified to assure contiguous priorities between fields (1-n).
+      },
+      "updateFieldType": { # Response following update to Field type. # Update Field type and/or type options.
+      },
+      "updateLabel": { # Response following update to Label properties. # Updated basic properties of a Label.
+      },
+      "updateSelectionChoiceProperties": { # Response following update to Selection Choice properties. # Updates a Choice within a Selection Field.
+        "priority": 42, # The priority of the updated choice. The priority may change from what was specified to assure contiguous priorities between choices (1-n).
+      },
+    },
+  ],
+  "updatedLabel": { # A label defines a taxonomy that can be applied to Drive items in order to organize and search across items. Labels can be simple strings, or can contain fields that describe additional metadata that can be further used to organize and search Drive items. # The label after updates were applied. This is only set if [BatchUpdateLabelResponse2.include_label_in_response] is `true` and there were no errors.
+    "appliedCapabilities": { # The capabilities a user has on this label's applied metadata. # Output only. The capabilities related to this label on applied metadata.
+      "canApply": True or False, # Whether the user can apply this label to items.
+      "canRead": True or False, # Whether the user can read applied metadata related to this label.
+      "canRemove": True or False, # Whether the user can remove this label from items.
+    },
+    "appliedLabelPolicy": { # Behavior of this label when it's applied to Drive items. # Output only. Behavior of this label when it's applied to Drive items.
+      "copyMode": "A String", # Indicates how the applied label and field values should be copied when a Drive item is copied.
+    },
+    "createTime": "A String", # Output only. The time this label was created.
+    "creator": { # Information about a user. # Output only. The user who created this label.
+      "person": "A String", # The identifier for this user that can be used with the People API to get more information. For example, people/12345678.
+    },
+    "disableTime": "A String", # Output only. The time this label was disabled. This value has no meaning when the label is not disabled.
+    "disabler": { # Information about a user. # Output only. The user who disabled this label. This value has no meaning when the label is not disabled.
+      "person": "A String", # The identifier for this user that can be used with the People API to get more information. For example, people/12345678.
+    },
+    "displayHints": { # UI display hints for rendering the label. # Output only. UI display hints for rendering the label.
+      "disabled": True or False, # Whether the label should be shown in the UI as disabled.
+      "hiddenInSearch": True or False, # This label should be hidden in the search menu when searching for Drive items.
+      "priority": "A String", # Order to display label in a list.
+      "shownInApply": True or False, # This label should be shown in the apply menu when applying values to a Drive item.
+    },
+    "fields": [ # List of fields in descending priority order.
+      { # Defines a field that has a display name, data type, and other configuration options. This field defines the kind of metadata that may be set on a Drive item.
+        "appliedCapabilities": { # The capabilities related to this field on applied metadata. # Output only. The capabilities this user has on this field and its value when the label is applied on Drive items.
+          "canRead": True or False, # Whether the user can read related applied metadata on items.
+          "canSearch": True or False, # Whether the user can search for Drive items referencing this field.
+          "canWrite": True or False, # Whether the user can set this field on Drive items.
+        },
+        "createTime": "A String", # Output only. The time this field was created.
+        "creator": { # Information about a user. # Output only. The user who created this field.
+          "person": "A String", # The identifier for this user that can be used with the People API to get more information. For example, people/12345678.
+        },
+        "dateOptions": { # Options for the date field type. # Date field options.
+          "dateFormat": "A String", # Output only. ICU date format.
+          "dateFormatType": "A String", # Localized date formatting option. Field values are rendered in this format according to their locale.
+          "maxValue": { # Represents a whole or partial calendar date, such as a birthday. The time of day and time zone are either specified elsewhere or are insignificant. The date is relative to the Gregorian Calendar. This can represent one of the following: * A full date, with non-zero year, month, and day values. * A month and day, with a zero year (for example, an anniversary). * A year on its own, with a zero month and a zero day. * A year and month, with a zero day (for example, a credit card expiration date). Related types: * google.type.TimeOfDay * google.type.DateTime * google.protobuf.Timestamp # Output only. Maximum valid value (year, month, day).
+            "day": 42, # Day of a month. Must be from 1 to 31 and valid for the year and month, or 0 to specify a year by itself or a year and month where the day isn't significant.
+            "month": 42, # Month of a year. Must be from 1 to 12, or 0 to specify a year without a month and day.
+            "year": 42, # Year of the date. Must be from 1 to 9999, or 0 to specify a date without a year.
+          },
+          "minValue": { # Represents a whole or partial calendar date, such as a birthday. The time of day and time zone are either specified elsewhere or are insignificant. The date is relative to the Gregorian Calendar. This can represent one of the following: * A full date, with non-zero year, month, and day values. * A month and day, with a zero year (for example, an anniversary). * A year on its own, with a zero month and a zero day. * A year and month, with a zero day (for example, a credit card expiration date). Related types: * google.type.TimeOfDay * google.type.DateTime * google.protobuf.Timestamp # Output only. Minimum valid value (year, month, day).
+            "day": 42, # Day of a month. Must be from 1 to 31 and valid for the year and month, or 0 to specify a year by itself or a year and month where the day isn't significant.
+            "month": 42, # Month of a year. Must be from 1 to 12, or 0 to specify a year without a month and day.
+            "year": 42, # Year of the date. Must be from 1 to 9999, or 0 to specify a date without a year.
+          },
+        },
+        "disableTime": "A String", # Output only. The time this field was disabled. This value has no meaning when the field is not disabled.
+        "disabler": { # Information about a user. # Output only. The user who disabled this field. This value has no meaning when the field is not disabled.
+          "person": "A String", # The identifier for this user that can be used with the People API to get more information. For example, people/12345678.
+        },
+        "displayHints": { # UI display hints for rendering a field. # Output only. UI display hints for rendering a field.
+          "disabled": True or False, # Whether the field should be shown in the UI as disabled.
+          "hiddenInSearch": True or False, # This field should be hidden in the search menu when searching for Drive items.
+          "required": True or False, # Whether the field should be shown as required in the UI.
+          "shownInApply": True or False, # This field should be shown in the apply menu when applying values to a Drive item.
+        },
+        "id": "A String", # Output only. The key of a field, unique within a label or library. This value is autogenerated. Matches the regex: `([a-zA-Z0-9])+`
+        "integerOptions": { # Options for the Integer field type. # Integer field options.
+          "maxValue": "A String", # Output only. The maximum valid value for the integer field.
+          "minValue": "A String", # Output only. The minimum valid value for the integer field.
+        },
+        "lifecycle": { # The lifecycle state of an object, such as label, field, or choice. The lifecycle enforces the following transitions: * `UNPUBLISHED_DRAFT` (starting state) * `UNPUBLISHED_DRAFT` -> `PUBLISHED` * `UNPUBLISHED_DRAFT` -> (Deleted) * `PUBLISHED` -> `DISABLED` * `DISABLED` -> `PUBLISHED` * `DISABLED` -> (Deleted) The published and disabled states have some distinct characteristics: * Published—Some kinds of changes might be made to an object in this state, in which case `has_unpublished_changes` will be true. Also, some kinds of changes are not permitted. Generally, any change that would invalidate or cause new restrictions on existing metadata related to the label are rejected. * Disabled—When disabled, the configured `DisabledPolicy` takes effect. # Output only. The lifecycle of this field.
+          "disabledPolicy": { # The policy that governs how to treat a disabled label, field, or selection choice in different contexts. # The policy that governs how to show a disabled label, field, or selection choice.
+            "hideInSearch": True or False, # Whether to hide this disabled object in the search menu for Drive items. * When `false`, the object is generally shown in the UI as disabled but it appears in the search results when searching for Drive items. * When `true`, the object is generally hidden in the UI when searching for Drive items.
+            "showInApply": True or False, # Whether to show this disabled object in the apply menu on Drive items. * When `true`, the object is generally shown in the UI as disabled and is unselectable. * When `false`, the object is generally hidden in the UI.
+          },
+          "hasUnpublishedChanges": True or False, # Output only. Whether the object associated with this lifecycle has unpublished changes.
+          "state": "A String", # Output only. The state of the object associated with this lifecycle.
+        },
+        "lockStatus": { # Contains information about whether a label component should be considered locked. # Output only. The LockStatus of this field.
+          "locked": True or False, # Output only. Indicates whether this label component is the (direct) target of a LabelLock. A label component can be implicitly locked even if it's not the direct target of a LabelLock, in which case this field is set to false.
+        },
+        "properties": { # The basic properties of the field. # The basic properties of the field.
+          "displayName": "A String", # Required. The display text to show in the UI identifying this field.
+          "insertBeforeField": "A String", # Input only. Insert or move this field before the indicated field. If empty, the field is placed at the end of the list.
+          "required": True or False, # Whether the field should be marked as required.
+        },
+        "publisher": { # Information about a user. # Output only. The user who published this field. This value has no meaning when the field is not published.
+          "person": "A String", # The identifier for this user that can be used with the People API to get more information. For example, people/12345678.
+        },
+        "queryKey": "A String", # Output only. The key to use when constructing Drive search queries to find files based on values defined for this field on files. For example, "`{query_key}` > 2001-01-01".
+        "schemaCapabilities": { # The capabilities related to this field when editing the field. # Output only. The capabilities this user has when editing this field.
+          "canDelete": True or False, # Whether the user can delete this field. The user must have permission and the field must be deprecated.
+          "canDisable": True or False, # Whether the user can disable this field. The user must have permission and this field must not already be disabled.
+          "canEnable": True or False, # Whether the user can enable this field. The user must have permission and this field must be disabled.
+          "canUpdate": True or False, # Whether the user can change this field.
+        },
+        "selectionOptions": { # Options for the selection field type. # Selection field options.
+          "choices": [ # The options available for this selection field. The list order is consistent, and modified with `insert_before_choice`.
+            { # Selection field choice.
+              "appliedCapabilities": { # The capabilities related to this choice on applied metadata. # Output only. The capabilities related to this choice on applied metadata.
+                "canRead": True or False, # Whether the user can read related applied metadata on items.
+                "canSearch": True or False, # Whether the user can use this choice in search queries.
+                "canSelect": True or False, # Whether the user can select this choice on an item.
+              },
+              "createTime": "A String", # Output only. The time this choice was created.
+              "creator": { # Information about a user. # Output only. The user who created this choice.
+                "person": "A String", # The identifier for this user that can be used with the People API to get more information. For example, people/12345678.
+              },
+              "disableTime": "A String", # Output only. The time this choice was disabled. This value has no meaning when the choice is not disabled.
+              "disabler": { # Information about a user. # Output only. The user who disabled this choice. This value has no meaning when the option is not disabled.
+                "person": "A String", # The identifier for this user that can be used with the People API to get more information. For example, people/12345678.
+              },
+              "displayHints": { # UI display hints for rendering an option. # Output only. UI display hints for rendering a choice.
+                "badgeColors": { # The color derived from BadgeConfig and changed to the closest recommended supported color. # The colors to use for the badge. Changed to Google Material colors based on the chosen `properties.badge_config.color`.
+                  "backgroundColor": { # Represents a color in the RGBA color space. This representation is designed for simplicity of conversion to/from color representations in various languages over compactness. For example, the fields of this representation can be trivially provided to the constructor of `java.awt.Color` in Java; it can also be trivially provided to UIColor's `+colorWithRed:green:blue:alpha` method in iOS; and, with just a little work, it can be easily formatted into a CSS `rgba()` string in JavaScript. This reference page doesn't carry information about the absolute color space that should be used to interpret the RGB value (e.g. sRGB, Adobe RGB, DCI-P3, BT.2020, etc.). By default, applications should assume the sRGB color space. When color equality needs to be decided, implementations, unless documented otherwise, treat two colors as equal if all their red, green, blue, and alpha values each differ by at most 1e-5. Example (Java): import com.google.type.Color; // ... public static java.awt.Color fromProto(Color protocolor) { float alpha = protocolor.hasAlpha() ? protocolor.getAlpha().getValue() : 1.0; return new java.awt.Color( protocolor.getRed(), protocolor.getGreen(), protocolor.getBlue(), alpha); } public static Color toProto(java.awt.Color color) { float red = (float) color.getRed(); float green = (float) color.getGreen(); float blue = (float) color.getBlue(); float denominator = 255.0; Color.Builder resultBuilder = Color .newBuilder() .setRed(red / denominator) .setGreen(green / denominator) .setBlue(blue / denominator); int alpha = color.getAlpha(); if (alpha != 255) { result.setAlpha( FloatValue .newBuilder() .setValue(((float) alpha) / denominator) .build()); } return resultBuilder.build(); } // ... Example (iOS / Obj-C): // ... static UIColor* fromProto(Color* protocolor) { float red = [protocolor red]; float green = [protocolor green]; float blue = [protocolor blue]; FloatValue* alpha_wrapper = [protocolor alpha]; float alpha = 1.0; if (alpha_wrapper != nil) { alpha = [alpha_wrapper value]; } return [UIColor colorWithRed:red green:green blue:blue alpha:alpha]; } static Color* toProto(UIColor* color) { CGFloat red, green, blue, alpha; if (![color getRed:&red green:&green blue:&blue alpha:&alpha]) { return nil; } Color* result = [[Color alloc] init]; [result setRed:red]; [result setGreen:green]; [result setBlue:blue]; if (alpha <= 0.9999) { [result setAlpha:floatWrapperWithValue(alpha)]; } [result autorelease]; return result; } // ... Example (JavaScript): // ... var protoToCssColor = function(rgb_color) { var redFrac = rgb_color.red || 0.0; var greenFrac = rgb_color.green || 0.0; var blueFrac = rgb_color.blue || 0.0; var red = Math.floor(redFrac * 255); var green = Math.floor(greenFrac * 255); var blue = Math.floor(blueFrac * 255); if (!('alpha' in rgb_color)) { return rgbToCssColor(red, green, blue); } var alphaFrac = rgb_color.alpha.value || 0.0; var rgbParams = [red, green, blue].join(','); return ['rgba(', rgbParams, ',', alphaFrac, ')'].join(''); }; var rgbToCssColor = function(red, green, blue) { var rgbNumber = new Number((red << 16) | (green << 8) | blue); var hexString = rgbNumber.toString(16); var missingZeros = 6 - hexString.length; var resultBuilder = ['#']; for (var i = 0; i < missingZeros; i++) { resultBuilder.push('0'); } resultBuilder.push(hexString); return resultBuilder.join(''); }; // ... # Output only. Badge background that pairs with the foreground.
+                    "alpha": 3.14, # The fraction of this color that should be applied to the pixel. That is, the final pixel color is defined by the equation: `pixel color = alpha * (this color) + (1.0 - alpha) * (background color)` This means that a value of 1.0 corresponds to a solid color, whereas a value of 0.0 corresponds to a completely transparent color. This uses a wrapper message rather than a simple float scalar so that it is possible to distinguish between a default value and the value being unset. If omitted, this color object is rendered as a solid color (as if the alpha value had been explicitly given a value of 1.0).
+                    "blue": 3.14, # The amount of blue in the color as a value in the interval [0, 1].
+                    "green": 3.14, # The amount of green in the color as a value in the interval [0, 1].
+                    "red": 3.14, # The amount of red in the color as a value in the interval [0, 1].
+                  },
+                  "foregroundColor": { # Represents a color in the RGBA color space. This representation is designed for simplicity of conversion to/from color representations in various languages over compactness. For example, the fields of this representation can be trivially provided to the constructor of `java.awt.Color` in Java; it can also be trivially provided to UIColor's `+colorWithRed:green:blue:alpha` method in iOS; and, with just a little work, it can be easily formatted into a CSS `rgba()` string in JavaScript. This reference page doesn't carry information about the absolute color space that should be used to interpret the RGB value (e.g. sRGB, Adobe RGB, DCI-P3, BT.2020, etc.). By default, applications should assume the sRGB color space. When color equality needs to be decided, implementations, unless documented otherwise, treat two colors as equal if all their red, green, blue, and alpha values each differ by at most 1e-5. Example (Java): import com.google.type.Color; // ... public static java.awt.Color fromProto(Color protocolor) { float alpha = protocolor.hasAlpha() ? protocolor.getAlpha().getValue() : 1.0; return new java.awt.Color( protocolor.getRed(), protocolor.getGreen(), protocolor.getBlue(), alpha); } public static Color toProto(java.awt.Color color) { float red = (float) color.getRed(); float green = (float) color.getGreen(); float blue = (float) color.getBlue(); float denominator = 255.0; Color.Builder resultBuilder = Color .newBuilder() .setRed(red / denominator) .setGreen(green / denominator) .setBlue(blue / denominator); int alpha = color.getAlpha(); if (alpha != 255) { result.setAlpha( FloatValue .newBuilder() .setValue(((float) alpha) / denominator) .build()); } return resultBuilder.build(); } // ... Example (iOS / Obj-C): // ... static UIColor* fromProto(Color* protocolor) { float red = [protocolor red]; float green = [protocolor green]; float blue = [protocolor blue]; FloatValue* alpha_wrapper = [protocolor alpha]; float alpha = 1.0; if (alpha_wrapper != nil) { alpha = [alpha_wrapper value]; } return [UIColor colorWithRed:red green:green blue:blue alpha:alpha]; } static Color* toProto(UIColor* color) { CGFloat red, green, blue, alpha; if (![color getRed:&red green:&green blue:&blue alpha:&alpha]) { return nil; } Color* result = [[Color alloc] init]; [result setRed:red]; [result setGreen:green]; [result setBlue:blue]; if (alpha <= 0.9999) { [result setAlpha:floatWrapperWithValue(alpha)]; } [result autorelease]; return result; } // ... Example (JavaScript): // ... var protoToCssColor = function(rgb_color) { var redFrac = rgb_color.red || 0.0; var greenFrac = rgb_color.green || 0.0; var blueFrac = rgb_color.blue || 0.0; var red = Math.floor(redFrac * 255); var green = Math.floor(greenFrac * 255); var blue = Math.floor(blueFrac * 255); if (!('alpha' in rgb_color)) { return rgbToCssColor(red, green, blue); } var alphaFrac = rgb_color.alpha.value || 0.0; var rgbParams = [red, green, blue].join(','); return ['rgba(', rgbParams, ',', alphaFrac, ')'].join(''); }; var rgbToCssColor = function(red, green, blue) { var rgbNumber = new Number((red << 16) | (green << 8) | blue); var hexString = rgbNumber.toString(16); var missingZeros = 6 - hexString.length; var resultBuilder = ['#']; for (var i = 0; i < missingZeros; i++) { resultBuilder.push('0'); } resultBuilder.push(hexString); return resultBuilder.join(''); }; // ... # Output only. Badge foreground that pairs with the background.
+                    "alpha": 3.14, # The fraction of this color that should be applied to the pixel. That is, the final pixel color is defined by the equation: `pixel color = alpha * (this color) + (1.0 - alpha) * (background color)` This means that a value of 1.0 corresponds to a solid color, whereas a value of 0.0 corresponds to a completely transparent color. This uses a wrapper message rather than a simple float scalar so that it is possible to distinguish between a default value and the value being unset. If omitted, this color object is rendered as a solid color (as if the alpha value had been explicitly given a value of 1.0).
+                    "blue": 3.14, # The amount of blue in the color as a value in the interval [0, 1].
+                    "green": 3.14, # The amount of green in the color as a value in the interval [0, 1].
+                    "red": 3.14, # The amount of red in the color as a value in the interval [0, 1].
+                  },
+                  "soloColor": { # Represents a color in the RGBA color space. This representation is designed for simplicity of conversion to/from color representations in various languages over compactness. For example, the fields of this representation can be trivially provided to the constructor of `java.awt.Color` in Java; it can also be trivially provided to UIColor's `+colorWithRed:green:blue:alpha` method in iOS; and, with just a little work, it can be easily formatted into a CSS `rgba()` string in JavaScript. This reference page doesn't carry information about the absolute color space that should be used to interpret the RGB value (e.g. sRGB, Adobe RGB, DCI-P3, BT.2020, etc.). By default, applications should assume the sRGB color space. When color equality needs to be decided, implementations, unless documented otherwise, treat two colors as equal if all their red, green, blue, and alpha values each differ by at most 1e-5. Example (Java): import com.google.type.Color; // ... public static java.awt.Color fromProto(Color protocolor) { float alpha = protocolor.hasAlpha() ? protocolor.getAlpha().getValue() : 1.0; return new java.awt.Color( protocolor.getRed(), protocolor.getGreen(), protocolor.getBlue(), alpha); } public static Color toProto(java.awt.Color color) { float red = (float) color.getRed(); float green = (float) color.getGreen(); float blue = (float) color.getBlue(); float denominator = 255.0; Color.Builder resultBuilder = Color .newBuilder() .setRed(red / denominator) .setGreen(green / denominator) .setBlue(blue / denominator); int alpha = color.getAlpha(); if (alpha != 255) { result.setAlpha( FloatValue .newBuilder() .setValue(((float) alpha) / denominator) .build()); } return resultBuilder.build(); } // ... Example (iOS / Obj-C): // ... static UIColor* fromProto(Color* protocolor) { float red = [protocolor red]; float green = [protocolor green]; float blue = [protocolor blue]; FloatValue* alpha_wrapper = [protocolor alpha]; float alpha = 1.0; if (alpha_wrapper != nil) { alpha = [alpha_wrapper value]; } return [UIColor colorWithRed:red green:green blue:blue alpha:alpha]; } static Color* toProto(UIColor* color) { CGFloat red, green, blue, alpha; if (![color getRed:&red green:&green blue:&blue alpha:&alpha]) { return nil; } Color* result = [[Color alloc] init]; [result setRed:red]; [result setGreen:green]; [result setBlue:blue]; if (alpha <= 0.9999) { [result setAlpha:floatWrapperWithValue(alpha)]; } [result autorelease]; return result; } // ... Example (JavaScript): // ... var protoToCssColor = function(rgb_color) { var redFrac = rgb_color.red || 0.0; var greenFrac = rgb_color.green || 0.0; var blueFrac = rgb_color.blue || 0.0; var red = Math.floor(redFrac * 255); var green = Math.floor(greenFrac * 255); var blue = Math.floor(blueFrac * 255); if (!('alpha' in rgb_color)) { return rgbToCssColor(red, green, blue); } var alphaFrac = rgb_color.alpha.value || 0.0; var rgbParams = [red, green, blue].join(','); return ['rgba(', rgbParams, ',', alphaFrac, ')'].join(''); }; var rgbToCssColor = function(red, green, blue) { var rgbNumber = new Number((red << 16) | (green << 8) | blue); var hexString = rgbNumber.toString(16); var missingZeros = 6 - hexString.length; var resultBuilder = ['#']; for (var i = 0; i < missingZeros; i++) { resultBuilder.push('0'); } resultBuilder.push(hexString); return resultBuilder.join(''); }; // ... # Output only. Color that can be used for text without a background.
+                    "alpha": 3.14, # The fraction of this color that should be applied to the pixel. That is, the final pixel color is defined by the equation: `pixel color = alpha * (this color) + (1.0 - alpha) * (background color)` This means that a value of 1.0 corresponds to a solid color, whereas a value of 0.0 corresponds to a completely transparent color. This uses a wrapper message rather than a simple float scalar so that it is possible to distinguish between a default value and the value being unset. If omitted, this color object is rendered as a solid color (as if the alpha value had been explicitly given a value of 1.0).
+                    "blue": 3.14, # The amount of blue in the color as a value in the interval [0, 1].
+                    "green": 3.14, # The amount of green in the color as a value in the interval [0, 1].
+                    "red": 3.14, # The amount of red in the color as a value in the interval [0, 1].
+                  },
+                },
+                "badgePriority": "A String", # The priority of this badge. Used to compare and sort between multiple badges. A lower number means the badge should be shown first. When a badging configuration is not present, this will be 0. Otherwise, this will be set to `BadgeConfig.priority_override` or the default heuristic which prefers creation date of the label, and field and option priority.
+                "darkBadgeColors": { # The color derived from BadgeConfig and changed to the closest recommended supported color. # The dark-mode color to use for the badge. Changed to Google Material colors based on the chosen `properties.badge_config.color`.
+                  "backgroundColor": { # Represents a color in the RGBA color space. This representation is designed for simplicity of conversion to/from color representations in various languages over compactness. For example, the fields of this representation can be trivially provided to the constructor of `java.awt.Color` in Java; it can also be trivially provided to UIColor's `+colorWithRed:green:blue:alpha` method in iOS; and, with just a little work, it can be easily formatted into a CSS `rgba()` string in JavaScript. This reference page doesn't carry information about the absolute color space that should be used to interpret the RGB value (e.g. sRGB, Adobe RGB, DCI-P3, BT.2020, etc.). By default, applications should assume the sRGB color space. When color equality needs to be decided, implementations, unless documented otherwise, treat two colors as equal if all their red, green, blue, and alpha values each differ by at most 1e-5. Example (Java): import com.google.type.Color; // ... public static java.awt.Color fromProto(Color protocolor) { float alpha = protocolor.hasAlpha() ? protocolor.getAlpha().getValue() : 1.0; return new java.awt.Color( protocolor.getRed(), protocolor.getGreen(), protocolor.getBlue(), alpha); } public static Color toProto(java.awt.Color color) { float red = (float) color.getRed(); float green = (float) color.getGreen(); float blue = (float) color.getBlue(); float denominator = 255.0; Color.Builder resultBuilder = Color .newBuilder() .setRed(red / denominator) .setGreen(green / denominator) .setBlue(blue / denominator); int alpha = color.getAlpha(); if (alpha != 255) { result.setAlpha( FloatValue .newBuilder() .setValue(((float) alpha) / denominator) .build()); } return resultBuilder.build(); } // ... Example (iOS / Obj-C): // ... static UIColor* fromProto(Color* protocolor) { float red = [protocolor red]; float green = [protocolor green]; float blue = [protocolor blue]; FloatValue* alpha_wrapper = [protocolor alpha]; float alpha = 1.0; if (alpha_wrapper != nil) { alpha = [alpha_wrapper value]; } return [UIColor colorWithRed:red green:green blue:blue alpha:alpha]; } static Color* toProto(UIColor* color) { CGFloat red, green, blue, alpha; if (![color getRed:&red green:&green blue:&blue alpha:&alpha]) { return nil; } Color* result = [[Color alloc] init]; [result setRed:red]; [result setGreen:green]; [result setBlue:blue]; if (alpha <= 0.9999) { [result setAlpha:floatWrapperWithValue(alpha)]; } [result autorelease]; return result; } // ... Example (JavaScript): // ... var protoToCssColor = function(rgb_color) { var redFrac = rgb_color.red || 0.0; var greenFrac = rgb_color.green || 0.0; var blueFrac = rgb_color.blue || 0.0; var red = Math.floor(redFrac * 255); var green = Math.floor(greenFrac * 255); var blue = Math.floor(blueFrac * 255); if (!('alpha' in rgb_color)) { return rgbToCssColor(red, green, blue); } var alphaFrac = rgb_color.alpha.value || 0.0; var rgbParams = [red, green, blue].join(','); return ['rgba(', rgbParams, ',', alphaFrac, ')'].join(''); }; var rgbToCssColor = function(red, green, blue) { var rgbNumber = new Number((red << 16) | (green << 8) | blue); var hexString = rgbNumber.toString(16); var missingZeros = 6 - hexString.length; var resultBuilder = ['#']; for (var i = 0; i < missingZeros; i++) { resultBuilder.push('0'); } resultBuilder.push(hexString); return resultBuilder.join(''); }; // ... # Output only. Badge background that pairs with the foreground.
+                    "alpha": 3.14, # The fraction of this color that should be applied to the pixel. That is, the final pixel color is defined by the equation: `pixel color = alpha * (this color) + (1.0 - alpha) * (background color)` This means that a value of 1.0 corresponds to a solid color, whereas a value of 0.0 corresponds to a completely transparent color. This uses a wrapper message rather than a simple float scalar so that it is possible to distinguish between a default value and the value being unset. If omitted, this color object is rendered as a solid color (as if the alpha value had been explicitly given a value of 1.0).
+                    "blue": 3.14, # The amount of blue in the color as a value in the interval [0, 1].
+                    "green": 3.14, # The amount of green in the color as a value in the interval [0, 1].
+                    "red": 3.14, # The amount of red in the color as a value in the interval [0, 1].
+                  },
+                  "foregroundColor": { # Represents a color in the RGBA color space. This representation is designed for simplicity of conversion to/from color representations in various languages over compactness. For example, the fields of this representation can be trivially provided to the constructor of `java.awt.Color` in Java; it can also be trivially provided to UIColor's `+colorWithRed:green:blue:alpha` method in iOS; and, with just a little work, it can be easily formatted into a CSS `rgba()` string in JavaScript. This reference page doesn't carry information about the absolute color space that should be used to interpret the RGB value (e.g. sRGB, Adobe RGB, DCI-P3, BT.2020, etc.). By default, applications should assume the sRGB color space. When color equality needs to be decided, implementations, unless documented otherwise, treat two colors as equal if all their red, green, blue, and alpha values each differ by at most 1e-5. Example (Java): import com.google.type.Color; // ... public static java.awt.Color fromProto(Color protocolor) { float alpha = protocolor.hasAlpha() ? protocolor.getAlpha().getValue() : 1.0; return new java.awt.Color( protocolor.getRed(), protocolor.getGreen(), protocolor.getBlue(), alpha); } public static Color toProto(java.awt.Color color) { float red = (float) color.getRed(); float green = (float) color.getGreen(); float blue = (float) color.getBlue(); float denominator = 255.0; Color.Builder resultBuilder = Color .newBuilder() .setRed(red / denominator) .setGreen(green / denominator) .setBlue(blue / denominator); int alpha = color.getAlpha(); if (alpha != 255) { result.setAlpha( FloatValue .newBuilder() .setValue(((float) alpha) / denominator) .build()); } return resultBuilder.build(); } // ... Example (iOS / Obj-C): // ... static UIColor* fromProto(Color* protocolor) { float red = [protocolor red]; float green = [protocolor green]; float blue = [protocolor blue]; FloatValue* alpha_wrapper = [protocolor alpha]; float alpha = 1.0; if (alpha_wrapper != nil) { alpha = [alpha_wrapper value]; } return [UIColor colorWithRed:red green:green blue:blue alpha:alpha]; } static Color* toProto(UIColor* color) { CGFloat red, green, blue, alpha; if (![color getRed:&red green:&green blue:&blue alpha:&alpha]) { return nil; } Color* result = [[Color alloc] init]; [result setRed:red]; [result setGreen:green]; [result setBlue:blue]; if (alpha <= 0.9999) { [result setAlpha:floatWrapperWithValue(alpha)]; } [result autorelease]; return result; } // ... Example (JavaScript): // ... var protoToCssColor = function(rgb_color) { var redFrac = rgb_color.red || 0.0; var greenFrac = rgb_color.green || 0.0; var blueFrac = rgb_color.blue || 0.0; var red = Math.floor(redFrac * 255); var green = Math.floor(greenFrac * 255); var blue = Math.floor(blueFrac * 255); if (!('alpha' in rgb_color)) { return rgbToCssColor(red, green, blue); } var alphaFrac = rgb_color.alpha.value || 0.0; var rgbParams = [red, green, blue].join(','); return ['rgba(', rgbParams, ',', alphaFrac, ')'].join(''); }; var rgbToCssColor = function(red, green, blue) { var rgbNumber = new Number((red << 16) | (green << 8) | blue); var hexString = rgbNumber.toString(16); var missingZeros = 6 - hexString.length; var resultBuilder = ['#']; for (var i = 0; i < missingZeros; i++) { resultBuilder.push('0'); } resultBuilder.push(hexString); return resultBuilder.join(''); }; // ... # Output only. Badge foreground that pairs with the background.
+                    "alpha": 3.14, # The fraction of this color that should be applied to the pixel. That is, the final pixel color is defined by the equation: `pixel color = alpha * (this color) + (1.0 - alpha) * (background color)` This means that a value of 1.0 corresponds to a solid color, whereas a value of 0.0 corresponds to a completely transparent color. This uses a wrapper message rather than a simple float scalar so that it is possible to distinguish between a default value and the value being unset. If omitted, this color object is rendered as a solid color (as if the alpha value had been explicitly given a value of 1.0).
+                    "blue": 3.14, # The amount of blue in the color as a value in the interval [0, 1].
+                    "green": 3.14, # The amount of green in the color as a value in the interval [0, 1].
+                    "red": 3.14, # The amount of red in the color as a value in the interval [0, 1].
+                  },
+                  "soloColor": { # Represents a color in the RGBA color space. This representation is designed for simplicity of conversion to/from color representations in various languages over compactness. For example, the fields of this representation can be trivially provided to the constructor of `java.awt.Color` in Java; it can also be trivially provided to UIColor's `+colorWithRed:green:blue:alpha` method in iOS; and, with just a little work, it can be easily formatted into a CSS `rgba()` string in JavaScript. This reference page doesn't carry information about the absolute color space that should be used to interpret the RGB value (e.g. sRGB, Adobe RGB, DCI-P3, BT.2020, etc.). By default, applications should assume the sRGB color space. When color equality needs to be decided, implementations, unless documented otherwise, treat two colors as equal if all their red, green, blue, and alpha values each differ by at most 1e-5. Example (Java): import com.google.type.Color; // ... public static java.awt.Color fromProto(Color protocolor) { float alpha = protocolor.hasAlpha() ? protocolor.getAlpha().getValue() : 1.0; return new java.awt.Color( protocolor.getRed(), protocolor.getGreen(), protocolor.getBlue(), alpha); } public static Color toProto(java.awt.Color color) { float red = (float) color.getRed(); float green = (float) color.getGreen(); float blue = (float) color.getBlue(); float denominator = 255.0; Color.Builder resultBuilder = Color .newBuilder() .setRed(red / denominator) .setGreen(green / denominator) .setBlue(blue / denominator); int alpha = color.getAlpha(); if (alpha != 255) { result.setAlpha( FloatValue .newBuilder() .setValue(((float) alpha) / denominator) .build()); } return resultBuilder.build(); } // ... Example (iOS / Obj-C): // ... static UIColor* fromProto(Color* protocolor) { float red = [protocolor red]; float green = [protocolor green]; float blue = [protocolor blue]; FloatValue* alpha_wrapper = [protocolor alpha]; float alpha = 1.0; if (alpha_wrapper != nil) { alpha = [alpha_wrapper value]; } return [UIColor colorWithRed:red green:green blue:blue alpha:alpha]; } static Color* toProto(UIColor* color) { CGFloat red, green, blue, alpha; if (![color getRed:&red green:&green blue:&blue alpha:&alpha]) { return nil; } Color* result = [[Color alloc] init]; [result setRed:red]; [result setGreen:green]; [result setBlue:blue]; if (alpha <= 0.9999) { [result setAlpha:floatWrapperWithValue(alpha)]; } [result autorelease]; return result; } // ... Example (JavaScript): // ... var protoToCssColor = function(rgb_color) { var redFrac = rgb_color.red || 0.0; var greenFrac = rgb_color.green || 0.0; var blueFrac = rgb_color.blue || 0.0; var red = Math.floor(redFrac * 255); var green = Math.floor(greenFrac * 255); var blue = Math.floor(blueFrac * 255); if (!('alpha' in rgb_color)) { return rgbToCssColor(red, green, blue); } var alphaFrac = rgb_color.alpha.value || 0.0; var rgbParams = [red, green, blue].join(','); return ['rgba(', rgbParams, ',', alphaFrac, ')'].join(''); }; var rgbToCssColor = function(red, green, blue) { var rgbNumber = new Number((red << 16) | (green << 8) | blue); var hexString = rgbNumber.toString(16); var missingZeros = 6 - hexString.length; var resultBuilder = ['#']; for (var i = 0; i < missingZeros; i++) { resultBuilder.push('0'); } resultBuilder.push(hexString); return resultBuilder.join(''); }; // ... # Output only. Color that can be used for text without a background.
+                    "alpha": 3.14, # The fraction of this color that should be applied to the pixel. That is, the final pixel color is defined by the equation: `pixel color = alpha * (this color) + (1.0 - alpha) * (background color)` This means that a value of 1.0 corresponds to a solid color, whereas a value of 0.0 corresponds to a completely transparent color. This uses a wrapper message rather than a simple float scalar so that it is possible to distinguish between a default value and the value being unset. If omitted, this color object is rendered as a solid color (as if the alpha value had been explicitly given a value of 1.0).
+                    "blue": 3.14, # The amount of blue in the color as a value in the interval [0, 1].
+                    "green": 3.14, # The amount of green in the color as a value in the interval [0, 1].
+                    "red": 3.14, # The amount of red in the color as a value in the interval [0, 1].
+                  },
+                },
+                "disabled": True or False, # Whether the option should be shown in the UI as disabled.
+                "hiddenInSearch": True or False, # This option should be hidden in the search menu when searching for Drive items.
+                "shownInApply": True or False, # This option should be shown in the apply menu when applying values to a Drive item.
+              },
+              "id": "A String", # The unique value of the choice. This ID is autogenerated. Matches the regex: `([a-zA-Z0-9_])+`.
+              "lifecycle": { # The lifecycle state of an object, such as label, field, or choice. The lifecycle enforces the following transitions: * `UNPUBLISHED_DRAFT` (starting state) * `UNPUBLISHED_DRAFT` -> `PUBLISHED` * `UNPUBLISHED_DRAFT` -> (Deleted) * `PUBLISHED` -> `DISABLED` * `DISABLED` -> `PUBLISHED` * `DISABLED` -> (Deleted) The published and disabled states have some distinct characteristics: * Published—Some kinds of changes might be made to an object in this state, in which case `has_unpublished_changes` will be true. Also, some kinds of changes are not permitted. Generally, any change that would invalidate or cause new restrictions on existing metadata related to the label are rejected. * Disabled—When disabled, the configured `DisabledPolicy` takes effect. # Output only. Lifecycle of the choice.
+                "disabledPolicy": { # The policy that governs how to treat a disabled label, field, or selection choice in different contexts. # The policy that governs how to show a disabled label, field, or selection choice.
+                  "hideInSearch": True or False, # Whether to hide this disabled object in the search menu for Drive items. * When `false`, the object is generally shown in the UI as disabled but it appears in the search results when searching for Drive items. * When `true`, the object is generally hidden in the UI when searching for Drive items.
+                  "showInApply": True or False, # Whether to show this disabled object in the apply menu on Drive items. * When `true`, the object is generally shown in the UI as disabled and is unselectable. * When `false`, the object is generally hidden in the UI.
+                },
+                "hasUnpublishedChanges": True or False, # Output only. Whether the object associated with this lifecycle has unpublished changes.
+                "state": "A String", # Output only. The state of the object associated with this lifecycle.
+              },
+              "lockStatus": { # Contains information about whether a label component should be considered locked. # Output only. The LockStatus of this choice.
+                "locked": True or False, # Output only. Indicates whether this label component is the (direct) target of a LabelLock. A label component can be implicitly locked even if it's not the direct target of a LabelLock, in which case this field is set to false.
+              },
+              "properties": { # Basic properties of the choice. # Basic properties of the choice.
+                "badgeConfig": { # Badge status of the label. # The badge configuration for this choice. When set, the label that owns this choice is considered a "badged label".
+                  "color": { # Represents a color in the RGBA color space. This representation is designed for simplicity of conversion to/from color representations in various languages over compactness. For example, the fields of this representation can be trivially provided to the constructor of `java.awt.Color` in Java; it can also be trivially provided to UIColor's `+colorWithRed:green:blue:alpha` method in iOS; and, with just a little work, it can be easily formatted into a CSS `rgba()` string in JavaScript. This reference page doesn't carry information about the absolute color space that should be used to interpret the RGB value (e.g. sRGB, Adobe RGB, DCI-P3, BT.2020, etc.). By default, applications should assume the sRGB color space. When color equality needs to be decided, implementations, unless documented otherwise, treat two colors as equal if all their red, green, blue, and alpha values each differ by at most 1e-5. Example (Java): import com.google.type.Color; // ... public static java.awt.Color fromProto(Color protocolor) { float alpha = protocolor.hasAlpha() ? protocolor.getAlpha().getValue() : 1.0; return new java.awt.Color( protocolor.getRed(), protocolor.getGreen(), protocolor.getBlue(), alpha); } public static Color toProto(java.awt.Color color) { float red = (float) color.getRed(); float green = (float) color.getGreen(); float blue = (float) color.getBlue(); float denominator = 255.0; Color.Builder resultBuilder = Color .newBuilder() .setRed(red / denominator) .setGreen(green / denominator) .setBlue(blue / denominator); int alpha = color.getAlpha(); if (alpha != 255) { result.setAlpha( FloatValue .newBuilder() .setValue(((float) alpha) / denominator) .build()); } return resultBuilder.build(); } // ... Example (iOS / Obj-C): // ... static UIColor* fromProto(Color* protocolor) { float red = [protocolor red]; float green = [protocolor green]; float blue = [protocolor blue]; FloatValue* alpha_wrapper = [protocolor alpha]; float alpha = 1.0; if (alpha_wrapper != nil) { alpha = [alpha_wrapper value]; } return [UIColor colorWithRed:red green:green blue:blue alpha:alpha]; } static Color* toProto(UIColor* color) { CGFloat red, green, blue, alpha; if (![color getRed:&red green:&green blue:&blue alpha:&alpha]) { return nil; } Color* result = [[Color alloc] init]; [result setRed:red]; [result setGreen:green]; [result setBlue:blue]; if (alpha <= 0.9999) { [result setAlpha:floatWrapperWithValue(alpha)]; } [result autorelease]; return result; } // ... Example (JavaScript): // ... var protoToCssColor = function(rgb_color) { var redFrac = rgb_color.red || 0.0; var greenFrac = rgb_color.green || 0.0; var blueFrac = rgb_color.blue || 0.0; var red = Math.floor(redFrac * 255); var green = Math.floor(greenFrac * 255); var blue = Math.floor(blueFrac * 255); if (!('alpha' in rgb_color)) { return rgbToCssColor(red, green, blue); } var alphaFrac = rgb_color.alpha.value || 0.0; var rgbParams = [red, green, blue].join(','); return ['rgba(', rgbParams, ',', alphaFrac, ')'].join(''); }; var rgbToCssColor = function(red, green, blue) { var rgbNumber = new Number((red << 16) | (green << 8) | blue); var hexString = rgbNumber.toString(16); var missingZeros = 6 - hexString.length; var resultBuilder = ['#']; for (var i = 0; i < missingZeros; i++) { resultBuilder.push('0'); } resultBuilder.push(hexString); return resultBuilder.join(''); }; // ... # The color of the badge. When not specified, no badge is rendered. The background, foreground, and solo (light and dark mode) colors set here are changed in the Drive UI into the closest recommended supported color.
+                    "alpha": 3.14, # The fraction of this color that should be applied to the pixel. That is, the final pixel color is defined by the equation: `pixel color = alpha * (this color) + (1.0 - alpha) * (background color)` This means that a value of 1.0 corresponds to a solid color, whereas a value of 0.0 corresponds to a completely transparent color. This uses a wrapper message rather than a simple float scalar so that it is possible to distinguish between a default value and the value being unset. If omitted, this color object is rendered as a solid color (as if the alpha value had been explicitly given a value of 1.0).
+                    "blue": 3.14, # The amount of blue in the color as a value in the interval [0, 1].
+                    "green": 3.14, # The amount of green in the color as a value in the interval [0, 1].
+                    "red": 3.14, # The amount of red in the color as a value in the interval [0, 1].
+                  },
+                  "priorityOverride": "A String", # Override the default global priority of this badge. When set to 0, the default priority heuristic is used.
+                },
+                "description": "A String", # The description of this label.
+                "displayName": "A String", # Required. The display text to show in the UI identifying this field.
+                "insertBeforeChoice": "A String", # Input only. Insert or move this choice before the indicated choice. If empty, the choice is placed at the end of the list.
+              },
+              "publishTime": "A String", # Output only. The time this choice was published. This value has no meaning when the choice is not published.
+              "publisher": { # Information about a user. # Output only. The user who published this choice. This value has no meaning when the choice is not published.
+                "person": "A String", # The identifier for this user that can be used with the People API to get more information. For example, people/12345678.
+              },
+              "schemaCapabilities": { # The capabilities related to this choice when editing the choice. # Output only. The capabilities related to this option when editing the option.
+                "canDelete": True or False, # Whether the user can delete this choice.
+                "canDisable": True or False, # Whether the user can disable this choice.
+                "canEnable": True or False, # Whether the user can enable this choice.
+                "canUpdate": True or False, # Whether the user can update this choice.
+              },
+              "updateTime": "A String", # Output only. The time this choice was updated last.
+              "updater": { # Information about a user. # Output only. The user who updated this choice last.
+                "person": "A String", # The identifier for this user that can be used with the People API to get more information. For example, people/12345678.
+              },
+            },
+          ],
+          "listOptions": { # Options for a multi-valued variant of an associated field type. # When specified, indicates this field supports a list of values. Once the field is published, this cannot be changed.
+            "maxEntries": 42, # Maximum number of entries permitted.
+          },
+        },
+        "textOptions": { # Options for the Text field type. # Text field options.
+          "maxLength": 42, # Output only. The maximum valid length of values for the text field.
+          "minLength": 42, # Output only. The minimum valid length of values for the text field.
+        },
+        "updateTime": "A String", # Output only. The time this field was updated.
+        "updater": { # Information about a user. # Output only. The user who modified this field.
+          "person": "A String", # The identifier for this user that can be used with the People API to get more information. For example, people/12345678.
+        },
+        "userOptions": { # Options for the user field type. # User field options.
+          "listOptions": { # Options for a multi-valued variant of an associated field type. # When specified, indicates that this field supports a list of values. Once the field is published, this cannot be changed.
+            "maxEntries": 42, # Maximum number of entries permitted.
+          },
+        },
+      },
+    ],
+    "id": "A String", # Output only. Globally unique identifier of this label. ID makes up part of the label `name`, but unlike `name`, ID is consistent between revisions. Matches the regex: `([a-zA-Z0-9])+`
+    "labelType": "A String", # Required. The type of label.
+    "learnMoreUri": "A String", # Custom URL to present to users to allow them to learn more about this label and how it should be used.
+    "lifecycle": { # The lifecycle state of an object, such as label, field, or choice. The lifecycle enforces the following transitions: * `UNPUBLISHED_DRAFT` (starting state) * `UNPUBLISHED_DRAFT` -> `PUBLISHED` * `UNPUBLISHED_DRAFT` -> (Deleted) * `PUBLISHED` -> `DISABLED` * `DISABLED` -> `PUBLISHED` * `DISABLED` -> (Deleted) The published and disabled states have some distinct characteristics: * Published—Some kinds of changes might be made to an object in this state, in which case `has_unpublished_changes` will be true. Also, some kinds of changes are not permitted. Generally, any change that would invalidate or cause new restrictions on existing metadata related to the label are rejected. * Disabled—When disabled, the configured `DisabledPolicy` takes effect. # Output only. The lifecycle state of the label including whether it's published, deprecated, and has draft changes.
+      "disabledPolicy": { # The policy that governs how to treat a disabled label, field, or selection choice in different contexts. # The policy that governs how to show a disabled label, field, or selection choice.
+        "hideInSearch": True or False, # Whether to hide this disabled object in the search menu for Drive items. * When `false`, the object is generally shown in the UI as disabled but it appears in the search results when searching for Drive items. * When `true`, the object is generally hidden in the UI when searching for Drive items.
+        "showInApply": True or False, # Whether to show this disabled object in the apply menu on Drive items. * When `true`, the object is generally shown in the UI as disabled and is unselectable. * When `false`, the object is generally hidden in the UI.
+      },
+      "hasUnpublishedChanges": True or False, # Output only. Whether the object associated with this lifecycle has unpublished changes.
+      "state": "A String", # Output only. The state of the object associated with this lifecycle.
+    },
+    "lockStatus": { # Contains information about whether a label component should be considered locked. # Output only. The LockStatus of this label.
+      "locked": True or False, # Output only. Indicates whether this label component is the (direct) target of a LabelLock. A label component can be implicitly locked even if it's not the direct target of a LabelLock, in which case this field is set to false.
+    },
+    "name": "A String", # Output only. Resource name of the label. Will be in the form of either: `labels/{id}` or `labels/{id}@{revision_id}` depending on the request. See `id` and `revision_id` below.
+    "properties": { # Basic properties of the label. # Required. The basic properties of the label.
+      "description": "A String", # The description of the label.
+      "title": "A String", # Required. Title of the label.
+    },
+    "publishTime": "A String", # Output only. The time this label was published. This value has no meaning when the label is not published.
+    "publisher": { # Information about a user. # Output only. The user who published this label. This value has no meaning when the label is not published.
+      "person": "A String", # The identifier for this user that can be used with the People API to get more information. For example, people/12345678.
+    },
+    "revisionCreateTime": "A String", # Output only. The time this label revision was created.
+    "revisionCreator": { # Information about a user. # Output only. The user who created this label revision.
+      "person": "A String", # The identifier for this user that can be used with the People API to get more information. For example, people/12345678.
+    },
+    "revisionId": "A String", # Output only. Revision ID of the label. Revision ID might be part of the label `name` depending on the request issued. A new revision is created whenever revisioned properties of a label are changed. Matches the regex: `([a-zA-Z0-9])+`
+    "schemaCapabilities": { # The capabilities related to this label when editing the label. # Output only. The capabilities the user has on this label.
+      "canDelete": True or False, # Whether the user can delete this label. The user must have permission and the label must be disabled.
+      "canDisable": True or False, # Whether the user can disable this label. The user must have permission and this label must not already be disabled.
+      "canEnable": True or False, # Whether the user can enable this label. The user must have permission and this label must be disabled.
+      "canUpdate": True or False, # Whether the user can change this label.
+    },
+  },
+}
+
+ +
+ disable(name, body=None, x__xgafv=None) +
Disable a published Label. Disabling a Label will result in a new disabled published revision based on the current published revision. If there is a draft revision, a new disabled draft revision will be created based on the latest draft revision. Older draft revisions will be deleted. Once disabled, a label may be deleted with `DeleteLabel`.
+
+Args:
+  name: string, Required. Label resource name. (required)
+  body: object, The request body.
+    The object takes the form of:
+
+{ # Request to deprecate a published Label.
+  "disabledPolicy": { # The policy that governs how to treat a disabled label, field, or selection choice in different contexts. # Disabled policy to use.
+    "hideInSearch": True or False, # Whether to hide this disabled object in the search menu for Drive items. * When `false`, the object is generally shown in the UI as disabled but it appears in the search results when searching for Drive items. * When `true`, the object is generally hidden in the UI when searching for Drive items.
+    "showInApply": True or False, # Whether to show this disabled object in the apply menu on Drive items. * When `true`, the object is generally shown in the UI as disabled and is unselectable. * When `false`, the object is generally hidden in the UI.
+  },
+  "languageCode": "A String", # The BCP-47 language code to use for evaluating localized field labels. When not specified, values in the default configured language will be used.
+  "updateMask": "A String", # The fields that should be updated. At least one field must be specified. The root `disabled_policy` is implied and should not be specified. A single `*` can be used as short-hand for updating every field.
+  "useAdminAccess": True or False, # Set to `true` in order to use the user's admin credentials. The server will verify the user is an admin for the Label before allowing access.
+  "writeControl": { # Provides control over how write requests are executed. When not specified, the last write wins. # Provides control over how write requests are executed. Defaults to unset, which means last write wins.
+    "requiredRevisionId": "A String", # The revision_id of the label that the write request will be applied to. If this is not the latest revision of the label, the request will not be processed and will return a 400 Bad Request error.
+  },
+}
+
+  x__xgafv: string, V1 error format.
+    Allowed values
+      1 - v1 error format
+      2 - v2 error format
+
+Returns:
+  An object of the form:
+
+    { # A label defines a taxonomy that can be applied to Drive items in order to organize and search across items. Labels can be simple strings, or can contain fields that describe additional metadata that can be further used to organize and search Drive items.
+  "appliedCapabilities": { # The capabilities a user has on this label's applied metadata. # Output only. The capabilities related to this label on applied metadata.
+    "canApply": True or False, # Whether the user can apply this label to items.
+    "canRead": True or False, # Whether the user can read applied metadata related to this label.
+    "canRemove": True or False, # Whether the user can remove this label from items.
+  },
+  "appliedLabelPolicy": { # Behavior of this label when it's applied to Drive items. # Output only. Behavior of this label when it's applied to Drive items.
+    "copyMode": "A String", # Indicates how the applied label and field values should be copied when a Drive item is copied.
+  },
+  "createTime": "A String", # Output only. The time this label was created.
+  "creator": { # Information about a user. # Output only. The user who created this label.
+    "person": "A String", # The identifier for this user that can be used with the People API to get more information. For example, people/12345678.
+  },
+  "disableTime": "A String", # Output only. The time this label was disabled. This value has no meaning when the label is not disabled.
+  "disabler": { # Information about a user. # Output only. The user who disabled this label. This value has no meaning when the label is not disabled.
+    "person": "A String", # The identifier for this user that can be used with the People API to get more information. For example, people/12345678.
+  },
+  "displayHints": { # UI display hints for rendering the label. # Output only. UI display hints for rendering the label.
+    "disabled": True or False, # Whether the label should be shown in the UI as disabled.
+    "hiddenInSearch": True or False, # This label should be hidden in the search menu when searching for Drive items.
+    "priority": "A String", # Order to display label in a list.
+    "shownInApply": True or False, # This label should be shown in the apply menu when applying values to a Drive item.
+  },
+  "fields": [ # List of fields in descending priority order.
+    { # Defines a field that has a display name, data type, and other configuration options. This field defines the kind of metadata that may be set on a Drive item.
+      "appliedCapabilities": { # The capabilities related to this field on applied metadata. # Output only. The capabilities this user has on this field and its value when the label is applied on Drive items.
+        "canRead": True or False, # Whether the user can read related applied metadata on items.
+        "canSearch": True or False, # Whether the user can search for Drive items referencing this field.
+        "canWrite": True or False, # Whether the user can set this field on Drive items.
+      },
+      "createTime": "A String", # Output only. The time this field was created.
+      "creator": { # Information about a user. # Output only. The user who created this field.
+        "person": "A String", # The identifier for this user that can be used with the People API to get more information. For example, people/12345678.
+      },
+      "dateOptions": { # Options for the date field type. # Date field options.
+        "dateFormat": "A String", # Output only. ICU date format.
+        "dateFormatType": "A String", # Localized date formatting option. Field values are rendered in this format according to their locale.
+        "maxValue": { # Represents a whole or partial calendar date, such as a birthday. The time of day and time zone are either specified elsewhere or are insignificant. The date is relative to the Gregorian Calendar. This can represent one of the following: * A full date, with non-zero year, month, and day values. * A month and day, with a zero year (for example, an anniversary). * A year on its own, with a zero month and a zero day. * A year and month, with a zero day (for example, a credit card expiration date). Related types: * google.type.TimeOfDay * google.type.DateTime * google.protobuf.Timestamp # Output only. Maximum valid value (year, month, day).
+          "day": 42, # Day of a month. Must be from 1 to 31 and valid for the year and month, or 0 to specify a year by itself or a year and month where the day isn't significant.
+          "month": 42, # Month of a year. Must be from 1 to 12, or 0 to specify a year without a month and day.
+          "year": 42, # Year of the date. Must be from 1 to 9999, or 0 to specify a date without a year.
+        },
+        "minValue": { # Represents a whole or partial calendar date, such as a birthday. The time of day and time zone are either specified elsewhere or are insignificant. The date is relative to the Gregorian Calendar. This can represent one of the following: * A full date, with non-zero year, month, and day values. * A month and day, with a zero year (for example, an anniversary). * A year on its own, with a zero month and a zero day. * A year and month, with a zero day (for example, a credit card expiration date). Related types: * google.type.TimeOfDay * google.type.DateTime * google.protobuf.Timestamp # Output only. Minimum valid value (year, month, day).
+          "day": 42, # Day of a month. Must be from 1 to 31 and valid for the year and month, or 0 to specify a year by itself or a year and month where the day isn't significant.
+          "month": 42, # Month of a year. Must be from 1 to 12, or 0 to specify a year without a month and day.
+          "year": 42, # Year of the date. Must be from 1 to 9999, or 0 to specify a date without a year.
+        },
+      },
+      "disableTime": "A String", # Output only. The time this field was disabled. This value has no meaning when the field is not disabled.
+      "disabler": { # Information about a user. # Output only. The user who disabled this field. This value has no meaning when the field is not disabled.
+        "person": "A String", # The identifier for this user that can be used with the People API to get more information. For example, people/12345678.
+      },
+      "displayHints": { # UI display hints for rendering a field. # Output only. UI display hints for rendering a field.
+        "disabled": True or False, # Whether the field should be shown in the UI as disabled.
+        "hiddenInSearch": True or False, # This field should be hidden in the search menu when searching for Drive items.
+        "required": True or False, # Whether the field should be shown as required in the UI.
+        "shownInApply": True or False, # This field should be shown in the apply menu when applying values to a Drive item.
+      },
+      "id": "A String", # Output only. The key of a field, unique within a label or library. This value is autogenerated. Matches the regex: `([a-zA-Z0-9])+`
+      "integerOptions": { # Options for the Integer field type. # Integer field options.
+        "maxValue": "A String", # Output only. The maximum valid value for the integer field.
+        "minValue": "A String", # Output only. The minimum valid value for the integer field.
+      },
+      "lifecycle": { # The lifecycle state of an object, such as label, field, or choice. The lifecycle enforces the following transitions: * `UNPUBLISHED_DRAFT` (starting state) * `UNPUBLISHED_DRAFT` -> `PUBLISHED` * `UNPUBLISHED_DRAFT` -> (Deleted) * `PUBLISHED` -> `DISABLED` * `DISABLED` -> `PUBLISHED` * `DISABLED` -> (Deleted) The published and disabled states have some distinct characteristics: * Published—Some kinds of changes might be made to an object in this state, in which case `has_unpublished_changes` will be true. Also, some kinds of changes are not permitted. Generally, any change that would invalidate or cause new restrictions on existing metadata related to the label are rejected. * Disabled—When disabled, the configured `DisabledPolicy` takes effect. # Output only. The lifecycle of this field.
+        "disabledPolicy": { # The policy that governs how to treat a disabled label, field, or selection choice in different contexts. # The policy that governs how to show a disabled label, field, or selection choice.
+          "hideInSearch": True or False, # Whether to hide this disabled object in the search menu for Drive items. * When `false`, the object is generally shown in the UI as disabled but it appears in the search results when searching for Drive items. * When `true`, the object is generally hidden in the UI when searching for Drive items.
+          "showInApply": True or False, # Whether to show this disabled object in the apply menu on Drive items. * When `true`, the object is generally shown in the UI as disabled and is unselectable. * When `false`, the object is generally hidden in the UI.
+        },
+        "hasUnpublishedChanges": True or False, # Output only. Whether the object associated with this lifecycle has unpublished changes.
+        "state": "A String", # Output only. The state of the object associated with this lifecycle.
+      },
+      "lockStatus": { # Contains information about whether a label component should be considered locked. # Output only. The LockStatus of this field.
+        "locked": True or False, # Output only. Indicates whether this label component is the (direct) target of a LabelLock. A label component can be implicitly locked even if it's not the direct target of a LabelLock, in which case this field is set to false.
+      },
+      "properties": { # The basic properties of the field. # The basic properties of the field.
+        "displayName": "A String", # Required. The display text to show in the UI identifying this field.
+        "insertBeforeField": "A String", # Input only. Insert or move this field before the indicated field. If empty, the field is placed at the end of the list.
+        "required": True or False, # Whether the field should be marked as required.
+      },
+      "publisher": { # Information about a user. # Output only. The user who published this field. This value has no meaning when the field is not published.
+        "person": "A String", # The identifier for this user that can be used with the People API to get more information. For example, people/12345678.
+      },
+      "queryKey": "A String", # Output only. The key to use when constructing Drive search queries to find files based on values defined for this field on files. For example, "`{query_key}` > 2001-01-01".
+      "schemaCapabilities": { # The capabilities related to this field when editing the field. # Output only. The capabilities this user has when editing this field.
+        "canDelete": True or False, # Whether the user can delete this field. The user must have permission and the field must be deprecated.
+        "canDisable": True or False, # Whether the user can disable this field. The user must have permission and this field must not already be disabled.
+        "canEnable": True or False, # Whether the user can enable this field. The user must have permission and this field must be disabled.
+        "canUpdate": True or False, # Whether the user can change this field.
+      },
+      "selectionOptions": { # Options for the selection field type. # Selection field options.
+        "choices": [ # The options available for this selection field. The list order is consistent, and modified with `insert_before_choice`.
+          { # Selection field choice.
+            "appliedCapabilities": { # The capabilities related to this choice on applied metadata. # Output only. The capabilities related to this choice on applied metadata.
+              "canRead": True or False, # Whether the user can read related applied metadata on items.
+              "canSearch": True or False, # Whether the user can use this choice in search queries.
+              "canSelect": True or False, # Whether the user can select this choice on an item.
+            },
+            "createTime": "A String", # Output only. The time this choice was created.
+            "creator": { # Information about a user. # Output only. The user who created this choice.
+              "person": "A String", # The identifier for this user that can be used with the People API to get more information. For example, people/12345678.
+            },
+            "disableTime": "A String", # Output only. The time this choice was disabled. This value has no meaning when the choice is not disabled.
+            "disabler": { # Information about a user. # Output only. The user who disabled this choice. This value has no meaning when the option is not disabled.
+              "person": "A String", # The identifier for this user that can be used with the People API to get more information. For example, people/12345678.
+            },
+            "displayHints": { # UI display hints for rendering an option. # Output only. UI display hints for rendering a choice.
+              "badgeColors": { # The color derived from BadgeConfig and changed to the closest recommended supported color. # The colors to use for the badge. Changed to Google Material colors based on the chosen `properties.badge_config.color`.
+                "backgroundColor": { # Represents a color in the RGBA color space. This representation is designed for simplicity of conversion to/from color representations in various languages over compactness. For example, the fields of this representation can be trivially provided to the constructor of `java.awt.Color` in Java; it can also be trivially provided to UIColor's `+colorWithRed:green:blue:alpha` method in iOS; and, with just a little work, it can be easily formatted into a CSS `rgba()` string in JavaScript. This reference page doesn't carry information about the absolute color space that should be used to interpret the RGB value (e.g. sRGB, Adobe RGB, DCI-P3, BT.2020, etc.). By default, applications should assume the sRGB color space. When color equality needs to be decided, implementations, unless documented otherwise, treat two colors as equal if all their red, green, blue, and alpha values each differ by at most 1e-5. Example (Java): import com.google.type.Color; // ... public static java.awt.Color fromProto(Color protocolor) { float alpha = protocolor.hasAlpha() ? protocolor.getAlpha().getValue() : 1.0; return new java.awt.Color( protocolor.getRed(), protocolor.getGreen(), protocolor.getBlue(), alpha); } public static Color toProto(java.awt.Color color) { float red = (float) color.getRed(); float green = (float) color.getGreen(); float blue = (float) color.getBlue(); float denominator = 255.0; Color.Builder resultBuilder = Color .newBuilder() .setRed(red / denominator) .setGreen(green / denominator) .setBlue(blue / denominator); int alpha = color.getAlpha(); if (alpha != 255) { result.setAlpha( FloatValue .newBuilder() .setValue(((float) alpha) / denominator) .build()); } return resultBuilder.build(); } // ... Example (iOS / Obj-C): // ... static UIColor* fromProto(Color* protocolor) { float red = [protocolor red]; float green = [protocolor green]; float blue = [protocolor blue]; FloatValue* alpha_wrapper = [protocolor alpha]; float alpha = 1.0; if (alpha_wrapper != nil) { alpha = [alpha_wrapper value]; } return [UIColor colorWithRed:red green:green blue:blue alpha:alpha]; } static Color* toProto(UIColor* color) { CGFloat red, green, blue, alpha; if (![color getRed:&red green:&green blue:&blue alpha:&alpha]) { return nil; } Color* result = [[Color alloc] init]; [result setRed:red]; [result setGreen:green]; [result setBlue:blue]; if (alpha <= 0.9999) { [result setAlpha:floatWrapperWithValue(alpha)]; } [result autorelease]; return result; } // ... Example (JavaScript): // ... var protoToCssColor = function(rgb_color) { var redFrac = rgb_color.red || 0.0; var greenFrac = rgb_color.green || 0.0; var blueFrac = rgb_color.blue || 0.0; var red = Math.floor(redFrac * 255); var green = Math.floor(greenFrac * 255); var blue = Math.floor(blueFrac * 255); if (!('alpha' in rgb_color)) { return rgbToCssColor(red, green, blue); } var alphaFrac = rgb_color.alpha.value || 0.0; var rgbParams = [red, green, blue].join(','); return ['rgba(', rgbParams, ',', alphaFrac, ')'].join(''); }; var rgbToCssColor = function(red, green, blue) { var rgbNumber = new Number((red << 16) | (green << 8) | blue); var hexString = rgbNumber.toString(16); var missingZeros = 6 - hexString.length; var resultBuilder = ['#']; for (var i = 0; i < missingZeros; i++) { resultBuilder.push('0'); } resultBuilder.push(hexString); return resultBuilder.join(''); }; // ... # Output only. Badge background that pairs with the foreground.
+                  "alpha": 3.14, # The fraction of this color that should be applied to the pixel. That is, the final pixel color is defined by the equation: `pixel color = alpha * (this color) + (1.0 - alpha) * (background color)` This means that a value of 1.0 corresponds to a solid color, whereas a value of 0.0 corresponds to a completely transparent color. This uses a wrapper message rather than a simple float scalar so that it is possible to distinguish between a default value and the value being unset. If omitted, this color object is rendered as a solid color (as if the alpha value had been explicitly given a value of 1.0).
+                  "blue": 3.14, # The amount of blue in the color as a value in the interval [0, 1].
+                  "green": 3.14, # The amount of green in the color as a value in the interval [0, 1].
+                  "red": 3.14, # The amount of red in the color as a value in the interval [0, 1].
+                },
+                "foregroundColor": { # Represents a color in the RGBA color space. This representation is designed for simplicity of conversion to/from color representations in various languages over compactness. For example, the fields of this representation can be trivially provided to the constructor of `java.awt.Color` in Java; it can also be trivially provided to UIColor's `+colorWithRed:green:blue:alpha` method in iOS; and, with just a little work, it can be easily formatted into a CSS `rgba()` string in JavaScript. This reference page doesn't carry information about the absolute color space that should be used to interpret the RGB value (e.g. sRGB, Adobe RGB, DCI-P3, BT.2020, etc.). By default, applications should assume the sRGB color space. When color equality needs to be decided, implementations, unless documented otherwise, treat two colors as equal if all their red, green, blue, and alpha values each differ by at most 1e-5. Example (Java): import com.google.type.Color; // ... public static java.awt.Color fromProto(Color protocolor) { float alpha = protocolor.hasAlpha() ? protocolor.getAlpha().getValue() : 1.0; return new java.awt.Color( protocolor.getRed(), protocolor.getGreen(), protocolor.getBlue(), alpha); } public static Color toProto(java.awt.Color color) { float red = (float) color.getRed(); float green = (float) color.getGreen(); float blue = (float) color.getBlue(); float denominator = 255.0; Color.Builder resultBuilder = Color .newBuilder() .setRed(red / denominator) .setGreen(green / denominator) .setBlue(blue / denominator); int alpha = color.getAlpha(); if (alpha != 255) { result.setAlpha( FloatValue .newBuilder() .setValue(((float) alpha) / denominator) .build()); } return resultBuilder.build(); } // ... Example (iOS / Obj-C): // ... static UIColor* fromProto(Color* protocolor) { float red = [protocolor red]; float green = [protocolor green]; float blue = [protocolor blue]; FloatValue* alpha_wrapper = [protocolor alpha]; float alpha = 1.0; if (alpha_wrapper != nil) { alpha = [alpha_wrapper value]; } return [UIColor colorWithRed:red green:green blue:blue alpha:alpha]; } static Color* toProto(UIColor* color) { CGFloat red, green, blue, alpha; if (![color getRed:&red green:&green blue:&blue alpha:&alpha]) { return nil; } Color* result = [[Color alloc] init]; [result setRed:red]; [result setGreen:green]; [result setBlue:blue]; if (alpha <= 0.9999) { [result setAlpha:floatWrapperWithValue(alpha)]; } [result autorelease]; return result; } // ... Example (JavaScript): // ... var protoToCssColor = function(rgb_color) { var redFrac = rgb_color.red || 0.0; var greenFrac = rgb_color.green || 0.0; var blueFrac = rgb_color.blue || 0.0; var red = Math.floor(redFrac * 255); var green = Math.floor(greenFrac * 255); var blue = Math.floor(blueFrac * 255); if (!('alpha' in rgb_color)) { return rgbToCssColor(red, green, blue); } var alphaFrac = rgb_color.alpha.value || 0.0; var rgbParams = [red, green, blue].join(','); return ['rgba(', rgbParams, ',', alphaFrac, ')'].join(''); }; var rgbToCssColor = function(red, green, blue) { var rgbNumber = new Number((red << 16) | (green << 8) | blue); var hexString = rgbNumber.toString(16); var missingZeros = 6 - hexString.length; var resultBuilder = ['#']; for (var i = 0; i < missingZeros; i++) { resultBuilder.push('0'); } resultBuilder.push(hexString); return resultBuilder.join(''); }; // ... # Output only. Badge foreground that pairs with the background.
+                  "alpha": 3.14, # The fraction of this color that should be applied to the pixel. That is, the final pixel color is defined by the equation: `pixel color = alpha * (this color) + (1.0 - alpha) * (background color)` This means that a value of 1.0 corresponds to a solid color, whereas a value of 0.0 corresponds to a completely transparent color. This uses a wrapper message rather than a simple float scalar so that it is possible to distinguish between a default value and the value being unset. If omitted, this color object is rendered as a solid color (as if the alpha value had been explicitly given a value of 1.0).
+                  "blue": 3.14, # The amount of blue in the color as a value in the interval [0, 1].
+                  "green": 3.14, # The amount of green in the color as a value in the interval [0, 1].
+                  "red": 3.14, # The amount of red in the color as a value in the interval [0, 1].
+                },
+                "soloColor": { # Represents a color in the RGBA color space. This representation is designed for simplicity of conversion to/from color representations in various languages over compactness. For example, the fields of this representation can be trivially provided to the constructor of `java.awt.Color` in Java; it can also be trivially provided to UIColor's `+colorWithRed:green:blue:alpha` method in iOS; and, with just a little work, it can be easily formatted into a CSS `rgba()` string in JavaScript. This reference page doesn't carry information about the absolute color space that should be used to interpret the RGB value (e.g. sRGB, Adobe RGB, DCI-P3, BT.2020, etc.). By default, applications should assume the sRGB color space. When color equality needs to be decided, implementations, unless documented otherwise, treat two colors as equal if all their red, green, blue, and alpha values each differ by at most 1e-5. Example (Java): import com.google.type.Color; // ... public static java.awt.Color fromProto(Color protocolor) { float alpha = protocolor.hasAlpha() ? protocolor.getAlpha().getValue() : 1.0; return new java.awt.Color( protocolor.getRed(), protocolor.getGreen(), protocolor.getBlue(), alpha); } public static Color toProto(java.awt.Color color) { float red = (float) color.getRed(); float green = (float) color.getGreen(); float blue = (float) color.getBlue(); float denominator = 255.0; Color.Builder resultBuilder = Color .newBuilder() .setRed(red / denominator) .setGreen(green / denominator) .setBlue(blue / denominator); int alpha = color.getAlpha(); if (alpha != 255) { result.setAlpha( FloatValue .newBuilder() .setValue(((float) alpha) / denominator) .build()); } return resultBuilder.build(); } // ... Example (iOS / Obj-C): // ... static UIColor* fromProto(Color* protocolor) { float red = [protocolor red]; float green = [protocolor green]; float blue = [protocolor blue]; FloatValue* alpha_wrapper = [protocolor alpha]; float alpha = 1.0; if (alpha_wrapper != nil) { alpha = [alpha_wrapper value]; } return [UIColor colorWithRed:red green:green blue:blue alpha:alpha]; } static Color* toProto(UIColor* color) { CGFloat red, green, blue, alpha; if (![color getRed:&red green:&green blue:&blue alpha:&alpha]) { return nil; } Color* result = [[Color alloc] init]; [result setRed:red]; [result setGreen:green]; [result setBlue:blue]; if (alpha <= 0.9999) { [result setAlpha:floatWrapperWithValue(alpha)]; } [result autorelease]; return result; } // ... Example (JavaScript): // ... var protoToCssColor = function(rgb_color) { var redFrac = rgb_color.red || 0.0; var greenFrac = rgb_color.green || 0.0; var blueFrac = rgb_color.blue || 0.0; var red = Math.floor(redFrac * 255); var green = Math.floor(greenFrac * 255); var blue = Math.floor(blueFrac * 255); if (!('alpha' in rgb_color)) { return rgbToCssColor(red, green, blue); } var alphaFrac = rgb_color.alpha.value || 0.0; var rgbParams = [red, green, blue].join(','); return ['rgba(', rgbParams, ',', alphaFrac, ')'].join(''); }; var rgbToCssColor = function(red, green, blue) { var rgbNumber = new Number((red << 16) | (green << 8) | blue); var hexString = rgbNumber.toString(16); var missingZeros = 6 - hexString.length; var resultBuilder = ['#']; for (var i = 0; i < missingZeros; i++) { resultBuilder.push('0'); } resultBuilder.push(hexString); return resultBuilder.join(''); }; // ... # Output only. Color that can be used for text without a background.
+                  "alpha": 3.14, # The fraction of this color that should be applied to the pixel. That is, the final pixel color is defined by the equation: `pixel color = alpha * (this color) + (1.0 - alpha) * (background color)` This means that a value of 1.0 corresponds to a solid color, whereas a value of 0.0 corresponds to a completely transparent color. This uses a wrapper message rather than a simple float scalar so that it is possible to distinguish between a default value and the value being unset. If omitted, this color object is rendered as a solid color (as if the alpha value had been explicitly given a value of 1.0).
+                  "blue": 3.14, # The amount of blue in the color as a value in the interval [0, 1].
+                  "green": 3.14, # The amount of green in the color as a value in the interval [0, 1].
+                  "red": 3.14, # The amount of red in the color as a value in the interval [0, 1].
+                },
+              },
+              "badgePriority": "A String", # The priority of this badge. Used to compare and sort between multiple badges. A lower number means the badge should be shown first. When a badging configuration is not present, this will be 0. Otherwise, this will be set to `BadgeConfig.priority_override` or the default heuristic which prefers creation date of the label, and field and option priority.
+              "darkBadgeColors": { # The color derived from BadgeConfig and changed to the closest recommended supported color. # The dark-mode color to use for the badge. Changed to Google Material colors based on the chosen `properties.badge_config.color`.
+                "backgroundColor": { # Represents a color in the RGBA color space. This representation is designed for simplicity of conversion to/from color representations in various languages over compactness. For example, the fields of this representation can be trivially provided to the constructor of `java.awt.Color` in Java; it can also be trivially provided to UIColor's `+colorWithRed:green:blue:alpha` method in iOS; and, with just a little work, it can be easily formatted into a CSS `rgba()` string in JavaScript. This reference page doesn't carry information about the absolute color space that should be used to interpret the RGB value (e.g. sRGB, Adobe RGB, DCI-P3, BT.2020, etc.). By default, applications should assume the sRGB color space. When color equality needs to be decided, implementations, unless documented otherwise, treat two colors as equal if all their red, green, blue, and alpha values each differ by at most 1e-5. Example (Java): import com.google.type.Color; // ... public static java.awt.Color fromProto(Color protocolor) { float alpha = protocolor.hasAlpha() ? protocolor.getAlpha().getValue() : 1.0; return new java.awt.Color( protocolor.getRed(), protocolor.getGreen(), protocolor.getBlue(), alpha); } public static Color toProto(java.awt.Color color) { float red = (float) color.getRed(); float green = (float) color.getGreen(); float blue = (float) color.getBlue(); float denominator = 255.0; Color.Builder resultBuilder = Color .newBuilder() .setRed(red / denominator) .setGreen(green / denominator) .setBlue(blue / denominator); int alpha = color.getAlpha(); if (alpha != 255) { result.setAlpha( FloatValue .newBuilder() .setValue(((float) alpha) / denominator) .build()); } return resultBuilder.build(); } // ... Example (iOS / Obj-C): // ... static UIColor* fromProto(Color* protocolor) { float red = [protocolor red]; float green = [protocolor green]; float blue = [protocolor blue]; FloatValue* alpha_wrapper = [protocolor alpha]; float alpha = 1.0; if (alpha_wrapper != nil) { alpha = [alpha_wrapper value]; } return [UIColor colorWithRed:red green:green blue:blue alpha:alpha]; } static Color* toProto(UIColor* color) { CGFloat red, green, blue, alpha; if (![color getRed:&red green:&green blue:&blue alpha:&alpha]) { return nil; } Color* result = [[Color alloc] init]; [result setRed:red]; [result setGreen:green]; [result setBlue:blue]; if (alpha <= 0.9999) { [result setAlpha:floatWrapperWithValue(alpha)]; } [result autorelease]; return result; } // ... Example (JavaScript): // ... var protoToCssColor = function(rgb_color) { var redFrac = rgb_color.red || 0.0; var greenFrac = rgb_color.green || 0.0; var blueFrac = rgb_color.blue || 0.0; var red = Math.floor(redFrac * 255); var green = Math.floor(greenFrac * 255); var blue = Math.floor(blueFrac * 255); if (!('alpha' in rgb_color)) { return rgbToCssColor(red, green, blue); } var alphaFrac = rgb_color.alpha.value || 0.0; var rgbParams = [red, green, blue].join(','); return ['rgba(', rgbParams, ',', alphaFrac, ')'].join(''); }; var rgbToCssColor = function(red, green, blue) { var rgbNumber = new Number((red << 16) | (green << 8) | blue); var hexString = rgbNumber.toString(16); var missingZeros = 6 - hexString.length; var resultBuilder = ['#']; for (var i = 0; i < missingZeros; i++) { resultBuilder.push('0'); } resultBuilder.push(hexString); return resultBuilder.join(''); }; // ... # Output only. Badge background that pairs with the foreground.
+                  "alpha": 3.14, # The fraction of this color that should be applied to the pixel. That is, the final pixel color is defined by the equation: `pixel color = alpha * (this color) + (1.0 - alpha) * (background color)` This means that a value of 1.0 corresponds to a solid color, whereas a value of 0.0 corresponds to a completely transparent color. This uses a wrapper message rather than a simple float scalar so that it is possible to distinguish between a default value and the value being unset. If omitted, this color object is rendered as a solid color (as if the alpha value had been explicitly given a value of 1.0).
+                  "blue": 3.14, # The amount of blue in the color as a value in the interval [0, 1].
+                  "green": 3.14, # The amount of green in the color as a value in the interval [0, 1].
+                  "red": 3.14, # The amount of red in the color as a value in the interval [0, 1].
+                },
+                "foregroundColor": { # Represents a color in the RGBA color space. This representation is designed for simplicity of conversion to/from color representations in various languages over compactness. For example, the fields of this representation can be trivially provided to the constructor of `java.awt.Color` in Java; it can also be trivially provided to UIColor's `+colorWithRed:green:blue:alpha` method in iOS; and, with just a little work, it can be easily formatted into a CSS `rgba()` string in JavaScript. This reference page doesn't carry information about the absolute color space that should be used to interpret the RGB value (e.g. sRGB, Adobe RGB, DCI-P3, BT.2020, etc.). By default, applications should assume the sRGB color space. When color equality needs to be decided, implementations, unless documented otherwise, treat two colors as equal if all their red, green, blue, and alpha values each differ by at most 1e-5. Example (Java): import com.google.type.Color; // ... public static java.awt.Color fromProto(Color protocolor) { float alpha = protocolor.hasAlpha() ? protocolor.getAlpha().getValue() : 1.0; return new java.awt.Color( protocolor.getRed(), protocolor.getGreen(), protocolor.getBlue(), alpha); } public static Color toProto(java.awt.Color color) { float red = (float) color.getRed(); float green = (float) color.getGreen(); float blue = (float) color.getBlue(); float denominator = 255.0; Color.Builder resultBuilder = Color .newBuilder() .setRed(red / denominator) .setGreen(green / denominator) .setBlue(blue / denominator); int alpha = color.getAlpha(); if (alpha != 255) { result.setAlpha( FloatValue .newBuilder() .setValue(((float) alpha) / denominator) .build()); } return resultBuilder.build(); } // ... Example (iOS / Obj-C): // ... static UIColor* fromProto(Color* protocolor) { float red = [protocolor red]; float green = [protocolor green]; float blue = [protocolor blue]; FloatValue* alpha_wrapper = [protocolor alpha]; float alpha = 1.0; if (alpha_wrapper != nil) { alpha = [alpha_wrapper value]; } return [UIColor colorWithRed:red green:green blue:blue alpha:alpha]; } static Color* toProto(UIColor* color) { CGFloat red, green, blue, alpha; if (![color getRed:&red green:&green blue:&blue alpha:&alpha]) { return nil; } Color* result = [[Color alloc] init]; [result setRed:red]; [result setGreen:green]; [result setBlue:blue]; if (alpha <= 0.9999) { [result setAlpha:floatWrapperWithValue(alpha)]; } [result autorelease]; return result; } // ... Example (JavaScript): // ... var protoToCssColor = function(rgb_color) { var redFrac = rgb_color.red || 0.0; var greenFrac = rgb_color.green || 0.0; var blueFrac = rgb_color.blue || 0.0; var red = Math.floor(redFrac * 255); var green = Math.floor(greenFrac * 255); var blue = Math.floor(blueFrac * 255); if (!('alpha' in rgb_color)) { return rgbToCssColor(red, green, blue); } var alphaFrac = rgb_color.alpha.value || 0.0; var rgbParams = [red, green, blue].join(','); return ['rgba(', rgbParams, ',', alphaFrac, ')'].join(''); }; var rgbToCssColor = function(red, green, blue) { var rgbNumber = new Number((red << 16) | (green << 8) | blue); var hexString = rgbNumber.toString(16); var missingZeros = 6 - hexString.length; var resultBuilder = ['#']; for (var i = 0; i < missingZeros; i++) { resultBuilder.push('0'); } resultBuilder.push(hexString); return resultBuilder.join(''); }; // ... # Output only. Badge foreground that pairs with the background.
+                  "alpha": 3.14, # The fraction of this color that should be applied to the pixel. That is, the final pixel color is defined by the equation: `pixel color = alpha * (this color) + (1.0 - alpha) * (background color)` This means that a value of 1.0 corresponds to a solid color, whereas a value of 0.0 corresponds to a completely transparent color. This uses a wrapper message rather than a simple float scalar so that it is possible to distinguish between a default value and the value being unset. If omitted, this color object is rendered as a solid color (as if the alpha value had been explicitly given a value of 1.0).
+                  "blue": 3.14, # The amount of blue in the color as a value in the interval [0, 1].
+                  "green": 3.14, # The amount of green in the color as a value in the interval [0, 1].
+                  "red": 3.14, # The amount of red in the color as a value in the interval [0, 1].
+                },
+                "soloColor": { # Represents a color in the RGBA color space. This representation is designed for simplicity of conversion to/from color representations in various languages over compactness. For example, the fields of this representation can be trivially provided to the constructor of `java.awt.Color` in Java; it can also be trivially provided to UIColor's `+colorWithRed:green:blue:alpha` method in iOS; and, with just a little work, it can be easily formatted into a CSS `rgba()` string in JavaScript. This reference page doesn't carry information about the absolute color space that should be used to interpret the RGB value (e.g. sRGB, Adobe RGB, DCI-P3, BT.2020, etc.). By default, applications should assume the sRGB color space. When color equality needs to be decided, implementations, unless documented otherwise, treat two colors as equal if all their red, green, blue, and alpha values each differ by at most 1e-5. Example (Java): import com.google.type.Color; // ... public static java.awt.Color fromProto(Color protocolor) { float alpha = protocolor.hasAlpha() ? protocolor.getAlpha().getValue() : 1.0; return new java.awt.Color( protocolor.getRed(), protocolor.getGreen(), protocolor.getBlue(), alpha); } public static Color toProto(java.awt.Color color) { float red = (float) color.getRed(); float green = (float) color.getGreen(); float blue = (float) color.getBlue(); float denominator = 255.0; Color.Builder resultBuilder = Color .newBuilder() .setRed(red / denominator) .setGreen(green / denominator) .setBlue(blue / denominator); int alpha = color.getAlpha(); if (alpha != 255) { result.setAlpha( FloatValue .newBuilder() .setValue(((float) alpha) / denominator) .build()); } return resultBuilder.build(); } // ... Example (iOS / Obj-C): // ... static UIColor* fromProto(Color* protocolor) { float red = [protocolor red]; float green = [protocolor green]; float blue = [protocolor blue]; FloatValue* alpha_wrapper = [protocolor alpha]; float alpha = 1.0; if (alpha_wrapper != nil) { alpha = [alpha_wrapper value]; } return [UIColor colorWithRed:red green:green blue:blue alpha:alpha]; } static Color* toProto(UIColor* color) { CGFloat red, green, blue, alpha; if (![color getRed:&red green:&green blue:&blue alpha:&alpha]) { return nil; } Color* result = [[Color alloc] init]; [result setRed:red]; [result setGreen:green]; [result setBlue:blue]; if (alpha <= 0.9999) { [result setAlpha:floatWrapperWithValue(alpha)]; } [result autorelease]; return result; } // ... Example (JavaScript): // ... var protoToCssColor = function(rgb_color) { var redFrac = rgb_color.red || 0.0; var greenFrac = rgb_color.green || 0.0; var blueFrac = rgb_color.blue || 0.0; var red = Math.floor(redFrac * 255); var green = Math.floor(greenFrac * 255); var blue = Math.floor(blueFrac * 255); if (!('alpha' in rgb_color)) { return rgbToCssColor(red, green, blue); } var alphaFrac = rgb_color.alpha.value || 0.0; var rgbParams = [red, green, blue].join(','); return ['rgba(', rgbParams, ',', alphaFrac, ')'].join(''); }; var rgbToCssColor = function(red, green, blue) { var rgbNumber = new Number((red << 16) | (green << 8) | blue); var hexString = rgbNumber.toString(16); var missingZeros = 6 - hexString.length; var resultBuilder = ['#']; for (var i = 0; i < missingZeros; i++) { resultBuilder.push('0'); } resultBuilder.push(hexString); return resultBuilder.join(''); }; // ... # Output only. Color that can be used for text without a background.
+                  "alpha": 3.14, # The fraction of this color that should be applied to the pixel. That is, the final pixel color is defined by the equation: `pixel color = alpha * (this color) + (1.0 - alpha) * (background color)` This means that a value of 1.0 corresponds to a solid color, whereas a value of 0.0 corresponds to a completely transparent color. This uses a wrapper message rather than a simple float scalar so that it is possible to distinguish between a default value and the value being unset. If omitted, this color object is rendered as a solid color (as if the alpha value had been explicitly given a value of 1.0).
+                  "blue": 3.14, # The amount of blue in the color as a value in the interval [0, 1].
+                  "green": 3.14, # The amount of green in the color as a value in the interval [0, 1].
+                  "red": 3.14, # The amount of red in the color as a value in the interval [0, 1].
+                },
+              },
+              "disabled": True or False, # Whether the option should be shown in the UI as disabled.
+              "hiddenInSearch": True or False, # This option should be hidden in the search menu when searching for Drive items.
+              "shownInApply": True or False, # This option should be shown in the apply menu when applying values to a Drive item.
+            },
+            "id": "A String", # The unique value of the choice. This ID is autogenerated. Matches the regex: `([a-zA-Z0-9_])+`.
+            "lifecycle": { # The lifecycle state of an object, such as label, field, or choice. The lifecycle enforces the following transitions: * `UNPUBLISHED_DRAFT` (starting state) * `UNPUBLISHED_DRAFT` -> `PUBLISHED` * `UNPUBLISHED_DRAFT` -> (Deleted) * `PUBLISHED` -> `DISABLED` * `DISABLED` -> `PUBLISHED` * `DISABLED` -> (Deleted) The published and disabled states have some distinct characteristics: * Published—Some kinds of changes might be made to an object in this state, in which case `has_unpublished_changes` will be true. Also, some kinds of changes are not permitted. Generally, any change that would invalidate or cause new restrictions on existing metadata related to the label are rejected. * Disabled—When disabled, the configured `DisabledPolicy` takes effect. # Output only. Lifecycle of the choice.
+              "disabledPolicy": { # The policy that governs how to treat a disabled label, field, or selection choice in different contexts. # The policy that governs how to show a disabled label, field, or selection choice.
+                "hideInSearch": True or False, # Whether to hide this disabled object in the search menu for Drive items. * When `false`, the object is generally shown in the UI as disabled but it appears in the search results when searching for Drive items. * When `true`, the object is generally hidden in the UI when searching for Drive items.
+                "showInApply": True or False, # Whether to show this disabled object in the apply menu on Drive items. * When `true`, the object is generally shown in the UI as disabled and is unselectable. * When `false`, the object is generally hidden in the UI.
+              },
+              "hasUnpublishedChanges": True or False, # Output only. Whether the object associated with this lifecycle has unpublished changes.
+              "state": "A String", # Output only. The state of the object associated with this lifecycle.
+            },
+            "lockStatus": { # Contains information about whether a label component should be considered locked. # Output only. The LockStatus of this choice.
+              "locked": True or False, # Output only. Indicates whether this label component is the (direct) target of a LabelLock. A label component can be implicitly locked even if it's not the direct target of a LabelLock, in which case this field is set to false.
+            },
+            "properties": { # Basic properties of the choice. # Basic properties of the choice.
+              "badgeConfig": { # Badge status of the label. # The badge configuration for this choice. When set, the label that owns this choice is considered a "badged label".
+                "color": { # Represents a color in the RGBA color space. This representation is designed for simplicity of conversion to/from color representations in various languages over compactness. For example, the fields of this representation can be trivially provided to the constructor of `java.awt.Color` in Java; it can also be trivially provided to UIColor's `+colorWithRed:green:blue:alpha` method in iOS; and, with just a little work, it can be easily formatted into a CSS `rgba()` string in JavaScript. This reference page doesn't carry information about the absolute color space that should be used to interpret the RGB value (e.g. sRGB, Adobe RGB, DCI-P3, BT.2020, etc.). By default, applications should assume the sRGB color space. When color equality needs to be decided, implementations, unless documented otherwise, treat two colors as equal if all their red, green, blue, and alpha values each differ by at most 1e-5. Example (Java): import com.google.type.Color; // ... public static java.awt.Color fromProto(Color protocolor) { float alpha = protocolor.hasAlpha() ? protocolor.getAlpha().getValue() : 1.0; return new java.awt.Color( protocolor.getRed(), protocolor.getGreen(), protocolor.getBlue(), alpha); } public static Color toProto(java.awt.Color color) { float red = (float) color.getRed(); float green = (float) color.getGreen(); float blue = (float) color.getBlue(); float denominator = 255.0; Color.Builder resultBuilder = Color .newBuilder() .setRed(red / denominator) .setGreen(green / denominator) .setBlue(blue / denominator); int alpha = color.getAlpha(); if (alpha != 255) { result.setAlpha( FloatValue .newBuilder() .setValue(((float) alpha) / denominator) .build()); } return resultBuilder.build(); } // ... Example (iOS / Obj-C): // ... static UIColor* fromProto(Color* protocolor) { float red = [protocolor red]; float green = [protocolor green]; float blue = [protocolor blue]; FloatValue* alpha_wrapper = [protocolor alpha]; float alpha = 1.0; if (alpha_wrapper != nil) { alpha = [alpha_wrapper value]; } return [UIColor colorWithRed:red green:green blue:blue alpha:alpha]; } static Color* toProto(UIColor* color) { CGFloat red, green, blue, alpha; if (![color getRed:&red green:&green blue:&blue alpha:&alpha]) { return nil; } Color* result = [[Color alloc] init]; [result setRed:red]; [result setGreen:green]; [result setBlue:blue]; if (alpha <= 0.9999) { [result setAlpha:floatWrapperWithValue(alpha)]; } [result autorelease]; return result; } // ... Example (JavaScript): // ... var protoToCssColor = function(rgb_color) { var redFrac = rgb_color.red || 0.0; var greenFrac = rgb_color.green || 0.0; var blueFrac = rgb_color.blue || 0.0; var red = Math.floor(redFrac * 255); var green = Math.floor(greenFrac * 255); var blue = Math.floor(blueFrac * 255); if (!('alpha' in rgb_color)) { return rgbToCssColor(red, green, blue); } var alphaFrac = rgb_color.alpha.value || 0.0; var rgbParams = [red, green, blue].join(','); return ['rgba(', rgbParams, ',', alphaFrac, ')'].join(''); }; var rgbToCssColor = function(red, green, blue) { var rgbNumber = new Number((red << 16) | (green << 8) | blue); var hexString = rgbNumber.toString(16); var missingZeros = 6 - hexString.length; var resultBuilder = ['#']; for (var i = 0; i < missingZeros; i++) { resultBuilder.push('0'); } resultBuilder.push(hexString); return resultBuilder.join(''); }; // ... # The color of the badge. When not specified, no badge is rendered. The background, foreground, and solo (light and dark mode) colors set here are changed in the Drive UI into the closest recommended supported color.
+                  "alpha": 3.14, # The fraction of this color that should be applied to the pixel. That is, the final pixel color is defined by the equation: `pixel color = alpha * (this color) + (1.0 - alpha) * (background color)` This means that a value of 1.0 corresponds to a solid color, whereas a value of 0.0 corresponds to a completely transparent color. This uses a wrapper message rather than a simple float scalar so that it is possible to distinguish between a default value and the value being unset. If omitted, this color object is rendered as a solid color (as if the alpha value had been explicitly given a value of 1.0).
+                  "blue": 3.14, # The amount of blue in the color as a value in the interval [0, 1].
+                  "green": 3.14, # The amount of green in the color as a value in the interval [0, 1].
+                  "red": 3.14, # The amount of red in the color as a value in the interval [0, 1].
+                },
+                "priorityOverride": "A String", # Override the default global priority of this badge. When set to 0, the default priority heuristic is used.
+              },
+              "description": "A String", # The description of this label.
+              "displayName": "A String", # Required. The display text to show in the UI identifying this field.
+              "insertBeforeChoice": "A String", # Input only. Insert or move this choice before the indicated choice. If empty, the choice is placed at the end of the list.
+            },
+            "publishTime": "A String", # Output only. The time this choice was published. This value has no meaning when the choice is not published.
+            "publisher": { # Information about a user. # Output only. The user who published this choice. This value has no meaning when the choice is not published.
+              "person": "A String", # The identifier for this user that can be used with the People API to get more information. For example, people/12345678.
+            },
+            "schemaCapabilities": { # The capabilities related to this choice when editing the choice. # Output only. The capabilities related to this option when editing the option.
+              "canDelete": True or False, # Whether the user can delete this choice.
+              "canDisable": True or False, # Whether the user can disable this choice.
+              "canEnable": True or False, # Whether the user can enable this choice.
+              "canUpdate": True or False, # Whether the user can update this choice.
+            },
+            "updateTime": "A String", # Output only. The time this choice was updated last.
+            "updater": { # Information about a user. # Output only. The user who updated this choice last.
+              "person": "A String", # The identifier for this user that can be used with the People API to get more information. For example, people/12345678.
+            },
+          },
+        ],
+        "listOptions": { # Options for a multi-valued variant of an associated field type. # When specified, indicates this field supports a list of values. Once the field is published, this cannot be changed.
+          "maxEntries": 42, # Maximum number of entries permitted.
+        },
+      },
+      "textOptions": { # Options for the Text field type. # Text field options.
+        "maxLength": 42, # Output only. The maximum valid length of values for the text field.
+        "minLength": 42, # Output only. The minimum valid length of values for the text field.
+      },
+      "updateTime": "A String", # Output only. The time this field was updated.
+      "updater": { # Information about a user. # Output only. The user who modified this field.
+        "person": "A String", # The identifier for this user that can be used with the People API to get more information. For example, people/12345678.
+      },
+      "userOptions": { # Options for the user field type. # User field options.
+        "listOptions": { # Options for a multi-valued variant of an associated field type. # When specified, indicates that this field supports a list of values. Once the field is published, this cannot be changed.
+          "maxEntries": 42, # Maximum number of entries permitted.
+        },
+      },
+    },
+  ],
+  "id": "A String", # Output only. Globally unique identifier of this label. ID makes up part of the label `name`, but unlike `name`, ID is consistent between revisions. Matches the regex: `([a-zA-Z0-9])+`
+  "labelType": "A String", # Required. The type of label.
+  "learnMoreUri": "A String", # Custom URL to present to users to allow them to learn more about this label and how it should be used.
+  "lifecycle": { # The lifecycle state of an object, such as label, field, or choice. The lifecycle enforces the following transitions: * `UNPUBLISHED_DRAFT` (starting state) * `UNPUBLISHED_DRAFT` -> `PUBLISHED` * `UNPUBLISHED_DRAFT` -> (Deleted) * `PUBLISHED` -> `DISABLED` * `DISABLED` -> `PUBLISHED` * `DISABLED` -> (Deleted) The published and disabled states have some distinct characteristics: * Published—Some kinds of changes might be made to an object in this state, in which case `has_unpublished_changes` will be true. Also, some kinds of changes are not permitted. Generally, any change that would invalidate or cause new restrictions on existing metadata related to the label are rejected. * Disabled—When disabled, the configured `DisabledPolicy` takes effect. # Output only. The lifecycle state of the label including whether it's published, deprecated, and has draft changes.
+    "disabledPolicy": { # The policy that governs how to treat a disabled label, field, or selection choice in different contexts. # The policy that governs how to show a disabled label, field, or selection choice.
+      "hideInSearch": True or False, # Whether to hide this disabled object in the search menu for Drive items. * When `false`, the object is generally shown in the UI as disabled but it appears in the search results when searching for Drive items. * When `true`, the object is generally hidden in the UI when searching for Drive items.
+      "showInApply": True or False, # Whether to show this disabled object in the apply menu on Drive items. * When `true`, the object is generally shown in the UI as disabled and is unselectable. * When `false`, the object is generally hidden in the UI.
+    },
+    "hasUnpublishedChanges": True or False, # Output only. Whether the object associated with this lifecycle has unpublished changes.
+    "state": "A String", # Output only. The state of the object associated with this lifecycle.
+  },
+  "lockStatus": { # Contains information about whether a label component should be considered locked. # Output only. The LockStatus of this label.
+    "locked": True or False, # Output only. Indicates whether this label component is the (direct) target of a LabelLock. A label component can be implicitly locked even if it's not the direct target of a LabelLock, in which case this field is set to false.
+  },
+  "name": "A String", # Output only. Resource name of the label. Will be in the form of either: `labels/{id}` or `labels/{id}@{revision_id}` depending on the request. See `id` and `revision_id` below.
+  "properties": { # Basic properties of the label. # Required. The basic properties of the label.
+    "description": "A String", # The description of the label.
+    "title": "A String", # Required. Title of the label.
+  },
+  "publishTime": "A String", # Output only. The time this label was published. This value has no meaning when the label is not published.
+  "publisher": { # Information about a user. # Output only. The user who published this label. This value has no meaning when the label is not published.
+    "person": "A String", # The identifier for this user that can be used with the People API to get more information. For example, people/12345678.
+  },
+  "revisionCreateTime": "A String", # Output only. The time this label revision was created.
+  "revisionCreator": { # Information about a user. # Output only. The user who created this label revision.
+    "person": "A String", # The identifier for this user that can be used with the People API to get more information. For example, people/12345678.
+  },
+  "revisionId": "A String", # Output only. Revision ID of the label. Revision ID might be part of the label `name` depending on the request issued. A new revision is created whenever revisioned properties of a label are changed. Matches the regex: `([a-zA-Z0-9])+`
+  "schemaCapabilities": { # The capabilities related to this label when editing the label. # Output only. The capabilities the user has on this label.
+    "canDelete": True or False, # Whether the user can delete this label. The user must have permission and the label must be disabled.
+    "canDisable": True or False, # Whether the user can disable this label. The user must have permission and this label must not already be disabled.
+    "canEnable": True or False, # Whether the user can enable this label. The user must have permission and this label must be disabled.
+    "canUpdate": True or False, # Whether the user can change this label.
+  },
+}
+
+ +
+ enable(name, body=None, x__xgafv=None) +
Enable a disabled Label and restore it to its published state. This will result in a new published revision based on the current disabled published revision. If there is an existing disabled draft revision, a new revision will be created based on that draft and will be enabled.
+
+Args:
+  name: string, Required. Label resource name. (required)
+  body: object, The request body.
+    The object takes the form of:
+
+{ # Request to enable a label.
+  "languageCode": "A String", # The BCP-47 language code to use for evaluating localized field labels. When not specified, values in the default configured language will be used.
+  "useAdminAccess": True or False, # Set to `true` in order to use the user's admin credentials. The server will verify the user is an admin for the Label before allowing access.
+  "writeControl": { # Provides control over how write requests are executed. When not specified, the last write wins. # Provides control over how write requests are executed. Defaults to unset, which means last write wins.
+    "requiredRevisionId": "A String", # The revision_id of the label that the write request will be applied to. If this is not the latest revision of the label, the request will not be processed and will return a 400 Bad Request error.
+  },
+}
+
+  x__xgafv: string, V1 error format.
+    Allowed values
+      1 - v1 error format
+      2 - v2 error format
+
+Returns:
+  An object of the form:
+
+    { # A label defines a taxonomy that can be applied to Drive items in order to organize and search across items. Labels can be simple strings, or can contain fields that describe additional metadata that can be further used to organize and search Drive items.
+  "appliedCapabilities": { # The capabilities a user has on this label's applied metadata. # Output only. The capabilities related to this label on applied metadata.
+    "canApply": True or False, # Whether the user can apply this label to items.
+    "canRead": True or False, # Whether the user can read applied metadata related to this label.
+    "canRemove": True or False, # Whether the user can remove this label from items.
+  },
+  "appliedLabelPolicy": { # Behavior of this label when it's applied to Drive items. # Output only. Behavior of this label when it's applied to Drive items.
+    "copyMode": "A String", # Indicates how the applied label and field values should be copied when a Drive item is copied.
+  },
+  "createTime": "A String", # Output only. The time this label was created.
+  "creator": { # Information about a user. # Output only. The user who created this label.
+    "person": "A String", # The identifier for this user that can be used with the People API to get more information. For example, people/12345678.
+  },
+  "disableTime": "A String", # Output only. The time this label was disabled. This value has no meaning when the label is not disabled.
+  "disabler": { # Information about a user. # Output only. The user who disabled this label. This value has no meaning when the label is not disabled.
+    "person": "A String", # The identifier for this user that can be used with the People API to get more information. For example, people/12345678.
+  },
+  "displayHints": { # UI display hints for rendering the label. # Output only. UI display hints for rendering the label.
+    "disabled": True or False, # Whether the label should be shown in the UI as disabled.
+    "hiddenInSearch": True or False, # This label should be hidden in the search menu when searching for Drive items.
+    "priority": "A String", # Order to display label in a list.
+    "shownInApply": True or False, # This label should be shown in the apply menu when applying values to a Drive item.
+  },
+  "fields": [ # List of fields in descending priority order.
+    { # Defines a field that has a display name, data type, and other configuration options. This field defines the kind of metadata that may be set on a Drive item.
+      "appliedCapabilities": { # The capabilities related to this field on applied metadata. # Output only. The capabilities this user has on this field and its value when the label is applied on Drive items.
+        "canRead": True or False, # Whether the user can read related applied metadata on items.
+        "canSearch": True or False, # Whether the user can search for Drive items referencing this field.
+        "canWrite": True or False, # Whether the user can set this field on Drive items.
+      },
+      "createTime": "A String", # Output only. The time this field was created.
+      "creator": { # Information about a user. # Output only. The user who created this field.
+        "person": "A String", # The identifier for this user that can be used with the People API to get more information. For example, people/12345678.
+      },
+      "dateOptions": { # Options for the date field type. # Date field options.
+        "dateFormat": "A String", # Output only. ICU date format.
+        "dateFormatType": "A String", # Localized date formatting option. Field values are rendered in this format according to their locale.
+        "maxValue": { # Represents a whole or partial calendar date, such as a birthday. The time of day and time zone are either specified elsewhere or are insignificant. The date is relative to the Gregorian Calendar. This can represent one of the following: * A full date, with non-zero year, month, and day values. * A month and day, with a zero year (for example, an anniversary). * A year on its own, with a zero month and a zero day. * A year and month, with a zero day (for example, a credit card expiration date). Related types: * google.type.TimeOfDay * google.type.DateTime * google.protobuf.Timestamp # Output only. Maximum valid value (year, month, day).
+          "day": 42, # Day of a month. Must be from 1 to 31 and valid for the year and month, or 0 to specify a year by itself or a year and month where the day isn't significant.
+          "month": 42, # Month of a year. Must be from 1 to 12, or 0 to specify a year without a month and day.
+          "year": 42, # Year of the date. Must be from 1 to 9999, or 0 to specify a date without a year.
+        },
+        "minValue": { # Represents a whole or partial calendar date, such as a birthday. The time of day and time zone are either specified elsewhere or are insignificant. The date is relative to the Gregorian Calendar. This can represent one of the following: * A full date, with non-zero year, month, and day values. * A month and day, with a zero year (for example, an anniversary). * A year on its own, with a zero month and a zero day. * A year and month, with a zero day (for example, a credit card expiration date). Related types: * google.type.TimeOfDay * google.type.DateTime * google.protobuf.Timestamp # Output only. Minimum valid value (year, month, day).
+          "day": 42, # Day of a month. Must be from 1 to 31 and valid for the year and month, or 0 to specify a year by itself or a year and month where the day isn't significant.
+          "month": 42, # Month of a year. Must be from 1 to 12, or 0 to specify a year without a month and day.
+          "year": 42, # Year of the date. Must be from 1 to 9999, or 0 to specify a date without a year.
+        },
+      },
+      "disableTime": "A String", # Output only. The time this field was disabled. This value has no meaning when the field is not disabled.
+      "disabler": { # Information about a user. # Output only. The user who disabled this field. This value has no meaning when the field is not disabled.
+        "person": "A String", # The identifier for this user that can be used with the People API to get more information. For example, people/12345678.
+      },
+      "displayHints": { # UI display hints for rendering a field. # Output only. UI display hints for rendering a field.
+        "disabled": True or False, # Whether the field should be shown in the UI as disabled.
+        "hiddenInSearch": True or False, # This field should be hidden in the search menu when searching for Drive items.
+        "required": True or False, # Whether the field should be shown as required in the UI.
+        "shownInApply": True or False, # This field should be shown in the apply menu when applying values to a Drive item.
+      },
+      "id": "A String", # Output only. The key of a field, unique within a label or library. This value is autogenerated. Matches the regex: `([a-zA-Z0-9])+`
+      "integerOptions": { # Options for the Integer field type. # Integer field options.
+        "maxValue": "A String", # Output only. The maximum valid value for the integer field.
+        "minValue": "A String", # Output only. The minimum valid value for the integer field.
+      },
+      "lifecycle": { # The lifecycle state of an object, such as label, field, or choice. The lifecycle enforces the following transitions: * `UNPUBLISHED_DRAFT` (starting state) * `UNPUBLISHED_DRAFT` -> `PUBLISHED` * `UNPUBLISHED_DRAFT` -> (Deleted) * `PUBLISHED` -> `DISABLED` * `DISABLED` -> `PUBLISHED` * `DISABLED` -> (Deleted) The published and disabled states have some distinct characteristics: * Published—Some kinds of changes might be made to an object in this state, in which case `has_unpublished_changes` will be true. Also, some kinds of changes are not permitted. Generally, any change that would invalidate or cause new restrictions on existing metadata related to the label are rejected. * Disabled—When disabled, the configured `DisabledPolicy` takes effect. # Output only. The lifecycle of this field.
+        "disabledPolicy": { # The policy that governs how to treat a disabled label, field, or selection choice in different contexts. # The policy that governs how to show a disabled label, field, or selection choice.
+          "hideInSearch": True or False, # Whether to hide this disabled object in the search menu for Drive items. * When `false`, the object is generally shown in the UI as disabled but it appears in the search results when searching for Drive items. * When `true`, the object is generally hidden in the UI when searching for Drive items.
+          "showInApply": True or False, # Whether to show this disabled object in the apply menu on Drive items. * When `true`, the object is generally shown in the UI as disabled and is unselectable. * When `false`, the object is generally hidden in the UI.
+        },
+        "hasUnpublishedChanges": True or False, # Output only. Whether the object associated with this lifecycle has unpublished changes.
+        "state": "A String", # Output only. The state of the object associated with this lifecycle.
+      },
+      "lockStatus": { # Contains information about whether a label component should be considered locked. # Output only. The LockStatus of this field.
+        "locked": True or False, # Output only. Indicates whether this label component is the (direct) target of a LabelLock. A label component can be implicitly locked even if it's not the direct target of a LabelLock, in which case this field is set to false.
+      },
+      "properties": { # The basic properties of the field. # The basic properties of the field.
+        "displayName": "A String", # Required. The display text to show in the UI identifying this field.
+        "insertBeforeField": "A String", # Input only. Insert or move this field before the indicated field. If empty, the field is placed at the end of the list.
+        "required": True or False, # Whether the field should be marked as required.
+      },
+      "publisher": { # Information about a user. # Output only. The user who published this field. This value has no meaning when the field is not published.
+        "person": "A String", # The identifier for this user that can be used with the People API to get more information. For example, people/12345678.
+      },
+      "queryKey": "A String", # Output only. The key to use when constructing Drive search queries to find files based on values defined for this field on files. For example, "`{query_key}` > 2001-01-01".
+      "schemaCapabilities": { # The capabilities related to this field when editing the field. # Output only. The capabilities this user has when editing this field.
+        "canDelete": True or False, # Whether the user can delete this field. The user must have permission and the field must be deprecated.
+        "canDisable": True or False, # Whether the user can disable this field. The user must have permission and this field must not already be disabled.
+        "canEnable": True or False, # Whether the user can enable this field. The user must have permission and this field must be disabled.
+        "canUpdate": True or False, # Whether the user can change this field.
+      },
+      "selectionOptions": { # Options for the selection field type. # Selection field options.
+        "choices": [ # The options available for this selection field. The list order is consistent, and modified with `insert_before_choice`.
+          { # Selection field choice.
+            "appliedCapabilities": { # The capabilities related to this choice on applied metadata. # Output only. The capabilities related to this choice on applied metadata.
+              "canRead": True or False, # Whether the user can read related applied metadata on items.
+              "canSearch": True or False, # Whether the user can use this choice in search queries.
+              "canSelect": True or False, # Whether the user can select this choice on an item.
+            },
+            "createTime": "A String", # Output only. The time this choice was created.
+            "creator": { # Information about a user. # Output only. The user who created this choice.
+              "person": "A String", # The identifier for this user that can be used with the People API to get more information. For example, people/12345678.
+            },
+            "disableTime": "A String", # Output only. The time this choice was disabled. This value has no meaning when the choice is not disabled.
+            "disabler": { # Information about a user. # Output only. The user who disabled this choice. This value has no meaning when the option is not disabled.
+              "person": "A String", # The identifier for this user that can be used with the People API to get more information. For example, people/12345678.
+            },
+            "displayHints": { # UI display hints for rendering an option. # Output only. UI display hints for rendering a choice.
+              "badgeColors": { # The color derived from BadgeConfig and changed to the closest recommended supported color. # The colors to use for the badge. Changed to Google Material colors based on the chosen `properties.badge_config.color`.
+                "backgroundColor": { # Represents a color in the RGBA color space. This representation is designed for simplicity of conversion to/from color representations in various languages over compactness. For example, the fields of this representation can be trivially provided to the constructor of `java.awt.Color` in Java; it can also be trivially provided to UIColor's `+colorWithRed:green:blue:alpha` method in iOS; and, with just a little work, it can be easily formatted into a CSS `rgba()` string in JavaScript. This reference page doesn't carry information about the absolute color space that should be used to interpret the RGB value (e.g. sRGB, Adobe RGB, DCI-P3, BT.2020, etc.). By default, applications should assume the sRGB color space. When color equality needs to be decided, implementations, unless documented otherwise, treat two colors as equal if all their red, green, blue, and alpha values each differ by at most 1e-5. Example (Java): import com.google.type.Color; // ... public static java.awt.Color fromProto(Color protocolor) { float alpha = protocolor.hasAlpha() ? protocolor.getAlpha().getValue() : 1.0; return new java.awt.Color( protocolor.getRed(), protocolor.getGreen(), protocolor.getBlue(), alpha); } public static Color toProto(java.awt.Color color) { float red = (float) color.getRed(); float green = (float) color.getGreen(); float blue = (float) color.getBlue(); float denominator = 255.0; Color.Builder resultBuilder = Color .newBuilder() .setRed(red / denominator) .setGreen(green / denominator) .setBlue(blue / denominator); int alpha = color.getAlpha(); if (alpha != 255) { result.setAlpha( FloatValue .newBuilder() .setValue(((float) alpha) / denominator) .build()); } return resultBuilder.build(); } // ... Example (iOS / Obj-C): // ... static UIColor* fromProto(Color* protocolor) { float red = [protocolor red]; float green = [protocolor green]; float blue = [protocolor blue]; FloatValue* alpha_wrapper = [protocolor alpha]; float alpha = 1.0; if (alpha_wrapper != nil) { alpha = [alpha_wrapper value]; } return [UIColor colorWithRed:red green:green blue:blue alpha:alpha]; } static Color* toProto(UIColor* color) { CGFloat red, green, blue, alpha; if (![color getRed:&red green:&green blue:&blue alpha:&alpha]) { return nil; } Color* result = [[Color alloc] init]; [result setRed:red]; [result setGreen:green]; [result setBlue:blue]; if (alpha <= 0.9999) { [result setAlpha:floatWrapperWithValue(alpha)]; } [result autorelease]; return result; } // ... Example (JavaScript): // ... var protoToCssColor = function(rgb_color) { var redFrac = rgb_color.red || 0.0; var greenFrac = rgb_color.green || 0.0; var blueFrac = rgb_color.blue || 0.0; var red = Math.floor(redFrac * 255); var green = Math.floor(greenFrac * 255); var blue = Math.floor(blueFrac * 255); if (!('alpha' in rgb_color)) { return rgbToCssColor(red, green, blue); } var alphaFrac = rgb_color.alpha.value || 0.0; var rgbParams = [red, green, blue].join(','); return ['rgba(', rgbParams, ',', alphaFrac, ')'].join(''); }; var rgbToCssColor = function(red, green, blue) { var rgbNumber = new Number((red << 16) | (green << 8) | blue); var hexString = rgbNumber.toString(16); var missingZeros = 6 - hexString.length; var resultBuilder = ['#']; for (var i = 0; i < missingZeros; i++) { resultBuilder.push('0'); } resultBuilder.push(hexString); return resultBuilder.join(''); }; // ... # Output only. Badge background that pairs with the foreground.
+                  "alpha": 3.14, # The fraction of this color that should be applied to the pixel. That is, the final pixel color is defined by the equation: `pixel color = alpha * (this color) + (1.0 - alpha) * (background color)` This means that a value of 1.0 corresponds to a solid color, whereas a value of 0.0 corresponds to a completely transparent color. This uses a wrapper message rather than a simple float scalar so that it is possible to distinguish between a default value and the value being unset. If omitted, this color object is rendered as a solid color (as if the alpha value had been explicitly given a value of 1.0).
+                  "blue": 3.14, # The amount of blue in the color as a value in the interval [0, 1].
+                  "green": 3.14, # The amount of green in the color as a value in the interval [0, 1].
+                  "red": 3.14, # The amount of red in the color as a value in the interval [0, 1].
+                },
+                "foregroundColor": { # Represents a color in the RGBA color space. This representation is designed for simplicity of conversion to/from color representations in various languages over compactness. For example, the fields of this representation can be trivially provided to the constructor of `java.awt.Color` in Java; it can also be trivially provided to UIColor's `+colorWithRed:green:blue:alpha` method in iOS; and, with just a little work, it can be easily formatted into a CSS `rgba()` string in JavaScript. This reference page doesn't carry information about the absolute color space that should be used to interpret the RGB value (e.g. sRGB, Adobe RGB, DCI-P3, BT.2020, etc.). By default, applications should assume the sRGB color space. When color equality needs to be decided, implementations, unless documented otherwise, treat two colors as equal if all their red, green, blue, and alpha values each differ by at most 1e-5. Example (Java): import com.google.type.Color; // ... public static java.awt.Color fromProto(Color protocolor) { float alpha = protocolor.hasAlpha() ? protocolor.getAlpha().getValue() : 1.0; return new java.awt.Color( protocolor.getRed(), protocolor.getGreen(), protocolor.getBlue(), alpha); } public static Color toProto(java.awt.Color color) { float red = (float) color.getRed(); float green = (float) color.getGreen(); float blue = (float) color.getBlue(); float denominator = 255.0; Color.Builder resultBuilder = Color .newBuilder() .setRed(red / denominator) .setGreen(green / denominator) .setBlue(blue / denominator); int alpha = color.getAlpha(); if (alpha != 255) { result.setAlpha( FloatValue .newBuilder() .setValue(((float) alpha) / denominator) .build()); } return resultBuilder.build(); } // ... Example (iOS / Obj-C): // ... static UIColor* fromProto(Color* protocolor) { float red = [protocolor red]; float green = [protocolor green]; float blue = [protocolor blue]; FloatValue* alpha_wrapper = [protocolor alpha]; float alpha = 1.0; if (alpha_wrapper != nil) { alpha = [alpha_wrapper value]; } return [UIColor colorWithRed:red green:green blue:blue alpha:alpha]; } static Color* toProto(UIColor* color) { CGFloat red, green, blue, alpha; if (![color getRed:&red green:&green blue:&blue alpha:&alpha]) { return nil; } Color* result = [[Color alloc] init]; [result setRed:red]; [result setGreen:green]; [result setBlue:blue]; if (alpha <= 0.9999) { [result setAlpha:floatWrapperWithValue(alpha)]; } [result autorelease]; return result; } // ... Example (JavaScript): // ... var protoToCssColor = function(rgb_color) { var redFrac = rgb_color.red || 0.0; var greenFrac = rgb_color.green || 0.0; var blueFrac = rgb_color.blue || 0.0; var red = Math.floor(redFrac * 255); var green = Math.floor(greenFrac * 255); var blue = Math.floor(blueFrac * 255); if (!('alpha' in rgb_color)) { return rgbToCssColor(red, green, blue); } var alphaFrac = rgb_color.alpha.value || 0.0; var rgbParams = [red, green, blue].join(','); return ['rgba(', rgbParams, ',', alphaFrac, ')'].join(''); }; var rgbToCssColor = function(red, green, blue) { var rgbNumber = new Number((red << 16) | (green << 8) | blue); var hexString = rgbNumber.toString(16); var missingZeros = 6 - hexString.length; var resultBuilder = ['#']; for (var i = 0; i < missingZeros; i++) { resultBuilder.push('0'); } resultBuilder.push(hexString); return resultBuilder.join(''); }; // ... # Output only. Badge foreground that pairs with the background.
+                  "alpha": 3.14, # The fraction of this color that should be applied to the pixel. That is, the final pixel color is defined by the equation: `pixel color = alpha * (this color) + (1.0 - alpha) * (background color)` This means that a value of 1.0 corresponds to a solid color, whereas a value of 0.0 corresponds to a completely transparent color. This uses a wrapper message rather than a simple float scalar so that it is possible to distinguish between a default value and the value being unset. If omitted, this color object is rendered as a solid color (as if the alpha value had been explicitly given a value of 1.0).
+                  "blue": 3.14, # The amount of blue in the color as a value in the interval [0, 1].
+                  "green": 3.14, # The amount of green in the color as a value in the interval [0, 1].
+                  "red": 3.14, # The amount of red in the color as a value in the interval [0, 1].
+                },
+                "soloColor": { # Represents a color in the RGBA color space. This representation is designed for simplicity of conversion to/from color representations in various languages over compactness. For example, the fields of this representation can be trivially provided to the constructor of `java.awt.Color` in Java; it can also be trivially provided to UIColor's `+colorWithRed:green:blue:alpha` method in iOS; and, with just a little work, it can be easily formatted into a CSS `rgba()` string in JavaScript. This reference page doesn't carry information about the absolute color space that should be used to interpret the RGB value (e.g. sRGB, Adobe RGB, DCI-P3, BT.2020, etc.). By default, applications should assume the sRGB color space. When color equality needs to be decided, implementations, unless documented otherwise, treat two colors as equal if all their red, green, blue, and alpha values each differ by at most 1e-5. Example (Java): import com.google.type.Color; // ... public static java.awt.Color fromProto(Color protocolor) { float alpha = protocolor.hasAlpha() ? protocolor.getAlpha().getValue() : 1.0; return new java.awt.Color( protocolor.getRed(), protocolor.getGreen(), protocolor.getBlue(), alpha); } public static Color toProto(java.awt.Color color) { float red = (float) color.getRed(); float green = (float) color.getGreen(); float blue = (float) color.getBlue(); float denominator = 255.0; Color.Builder resultBuilder = Color .newBuilder() .setRed(red / denominator) .setGreen(green / denominator) .setBlue(blue / denominator); int alpha = color.getAlpha(); if (alpha != 255) { result.setAlpha( FloatValue .newBuilder() .setValue(((float) alpha) / denominator) .build()); } return resultBuilder.build(); } // ... Example (iOS / Obj-C): // ... static UIColor* fromProto(Color* protocolor) { float red = [protocolor red]; float green = [protocolor green]; float blue = [protocolor blue]; FloatValue* alpha_wrapper = [protocolor alpha]; float alpha = 1.0; if (alpha_wrapper != nil) { alpha = [alpha_wrapper value]; } return [UIColor colorWithRed:red green:green blue:blue alpha:alpha]; } static Color* toProto(UIColor* color) { CGFloat red, green, blue, alpha; if (![color getRed:&red green:&green blue:&blue alpha:&alpha]) { return nil; } Color* result = [[Color alloc] init]; [result setRed:red]; [result setGreen:green]; [result setBlue:blue]; if (alpha <= 0.9999) { [result setAlpha:floatWrapperWithValue(alpha)]; } [result autorelease]; return result; } // ... Example (JavaScript): // ... var protoToCssColor = function(rgb_color) { var redFrac = rgb_color.red || 0.0; var greenFrac = rgb_color.green || 0.0; var blueFrac = rgb_color.blue || 0.0; var red = Math.floor(redFrac * 255); var green = Math.floor(greenFrac * 255); var blue = Math.floor(blueFrac * 255); if (!('alpha' in rgb_color)) { return rgbToCssColor(red, green, blue); } var alphaFrac = rgb_color.alpha.value || 0.0; var rgbParams = [red, green, blue].join(','); return ['rgba(', rgbParams, ',', alphaFrac, ')'].join(''); }; var rgbToCssColor = function(red, green, blue) { var rgbNumber = new Number((red << 16) | (green << 8) | blue); var hexString = rgbNumber.toString(16); var missingZeros = 6 - hexString.length; var resultBuilder = ['#']; for (var i = 0; i < missingZeros; i++) { resultBuilder.push('0'); } resultBuilder.push(hexString); return resultBuilder.join(''); }; // ... # Output only. Color that can be used for text without a background.
+                  "alpha": 3.14, # The fraction of this color that should be applied to the pixel. That is, the final pixel color is defined by the equation: `pixel color = alpha * (this color) + (1.0 - alpha) * (background color)` This means that a value of 1.0 corresponds to a solid color, whereas a value of 0.0 corresponds to a completely transparent color. This uses a wrapper message rather than a simple float scalar so that it is possible to distinguish between a default value and the value being unset. If omitted, this color object is rendered as a solid color (as if the alpha value had been explicitly given a value of 1.0).
+                  "blue": 3.14, # The amount of blue in the color as a value in the interval [0, 1].
+                  "green": 3.14, # The amount of green in the color as a value in the interval [0, 1].
+                  "red": 3.14, # The amount of red in the color as a value in the interval [0, 1].
+                },
+              },
+              "badgePriority": "A String", # The priority of this badge. Used to compare and sort between multiple badges. A lower number means the badge should be shown first. When a badging configuration is not present, this will be 0. Otherwise, this will be set to `BadgeConfig.priority_override` or the default heuristic which prefers creation date of the label, and field and option priority.
+              "darkBadgeColors": { # The color derived from BadgeConfig and changed to the closest recommended supported color. # The dark-mode color to use for the badge. Changed to Google Material colors based on the chosen `properties.badge_config.color`.
+                "backgroundColor": { # Represents a color in the RGBA color space. This representation is designed for simplicity of conversion to/from color representations in various languages over compactness. For example, the fields of this representation can be trivially provided to the constructor of `java.awt.Color` in Java; it can also be trivially provided to UIColor's `+colorWithRed:green:blue:alpha` method in iOS; and, with just a little work, it can be easily formatted into a CSS `rgba()` string in JavaScript. This reference page doesn't carry information about the absolute color space that should be used to interpret the RGB value (e.g. sRGB, Adobe RGB, DCI-P3, BT.2020, etc.). By default, applications should assume the sRGB color space. When color equality needs to be decided, implementations, unless documented otherwise, treat two colors as equal if all their red, green, blue, and alpha values each differ by at most 1e-5. Example (Java): import com.google.type.Color; // ... public static java.awt.Color fromProto(Color protocolor) { float alpha = protocolor.hasAlpha() ? protocolor.getAlpha().getValue() : 1.0; return new java.awt.Color( protocolor.getRed(), protocolor.getGreen(), protocolor.getBlue(), alpha); } public static Color toProto(java.awt.Color color) { float red = (float) color.getRed(); float green = (float) color.getGreen(); float blue = (float) color.getBlue(); float denominator = 255.0; Color.Builder resultBuilder = Color .newBuilder() .setRed(red / denominator) .setGreen(green / denominator) .setBlue(blue / denominator); int alpha = color.getAlpha(); if (alpha != 255) { result.setAlpha( FloatValue .newBuilder() .setValue(((float) alpha) / denominator) .build()); } return resultBuilder.build(); } // ... Example (iOS / Obj-C): // ... static UIColor* fromProto(Color* protocolor) { float red = [protocolor red]; float green = [protocolor green]; float blue = [protocolor blue]; FloatValue* alpha_wrapper = [protocolor alpha]; float alpha = 1.0; if (alpha_wrapper != nil) { alpha = [alpha_wrapper value]; } return [UIColor colorWithRed:red green:green blue:blue alpha:alpha]; } static Color* toProto(UIColor* color) { CGFloat red, green, blue, alpha; if (![color getRed:&red green:&green blue:&blue alpha:&alpha]) { return nil; } Color* result = [[Color alloc] init]; [result setRed:red]; [result setGreen:green]; [result setBlue:blue]; if (alpha <= 0.9999) { [result setAlpha:floatWrapperWithValue(alpha)]; } [result autorelease]; return result; } // ... Example (JavaScript): // ... var protoToCssColor = function(rgb_color) { var redFrac = rgb_color.red || 0.0; var greenFrac = rgb_color.green || 0.0; var blueFrac = rgb_color.blue || 0.0; var red = Math.floor(redFrac * 255); var green = Math.floor(greenFrac * 255); var blue = Math.floor(blueFrac * 255); if (!('alpha' in rgb_color)) { return rgbToCssColor(red, green, blue); } var alphaFrac = rgb_color.alpha.value || 0.0; var rgbParams = [red, green, blue].join(','); return ['rgba(', rgbParams, ',', alphaFrac, ')'].join(''); }; var rgbToCssColor = function(red, green, blue) { var rgbNumber = new Number((red << 16) | (green << 8) | blue); var hexString = rgbNumber.toString(16); var missingZeros = 6 - hexString.length; var resultBuilder = ['#']; for (var i = 0; i < missingZeros; i++) { resultBuilder.push('0'); } resultBuilder.push(hexString); return resultBuilder.join(''); }; // ... # Output only. Badge background that pairs with the foreground.
+                  "alpha": 3.14, # The fraction of this color that should be applied to the pixel. That is, the final pixel color is defined by the equation: `pixel color = alpha * (this color) + (1.0 - alpha) * (background color)` This means that a value of 1.0 corresponds to a solid color, whereas a value of 0.0 corresponds to a completely transparent color. This uses a wrapper message rather than a simple float scalar so that it is possible to distinguish between a default value and the value being unset. If omitted, this color object is rendered as a solid color (as if the alpha value had been explicitly given a value of 1.0).
+                  "blue": 3.14, # The amount of blue in the color as a value in the interval [0, 1].
+                  "green": 3.14, # The amount of green in the color as a value in the interval [0, 1].
+                  "red": 3.14, # The amount of red in the color as a value in the interval [0, 1].
+                },
+                "foregroundColor": { # Represents a color in the RGBA color space. This representation is designed for simplicity of conversion to/from color representations in various languages over compactness. For example, the fields of this representation can be trivially provided to the constructor of `java.awt.Color` in Java; it can also be trivially provided to UIColor's `+colorWithRed:green:blue:alpha` method in iOS; and, with just a little work, it can be easily formatted into a CSS `rgba()` string in JavaScript. This reference page doesn't carry information about the absolute color space that should be used to interpret the RGB value (e.g. sRGB, Adobe RGB, DCI-P3, BT.2020, etc.). By default, applications should assume the sRGB color space. When color equality needs to be decided, implementations, unless documented otherwise, treat two colors as equal if all their red, green, blue, and alpha values each differ by at most 1e-5. Example (Java): import com.google.type.Color; // ... public static java.awt.Color fromProto(Color protocolor) { float alpha = protocolor.hasAlpha() ? protocolor.getAlpha().getValue() : 1.0; return new java.awt.Color( protocolor.getRed(), protocolor.getGreen(), protocolor.getBlue(), alpha); } public static Color toProto(java.awt.Color color) { float red = (float) color.getRed(); float green = (float) color.getGreen(); float blue = (float) color.getBlue(); float denominator = 255.0; Color.Builder resultBuilder = Color .newBuilder() .setRed(red / denominator) .setGreen(green / denominator) .setBlue(blue / denominator); int alpha = color.getAlpha(); if (alpha != 255) { result.setAlpha( FloatValue .newBuilder() .setValue(((float) alpha) / denominator) .build()); } return resultBuilder.build(); } // ... Example (iOS / Obj-C): // ... static UIColor* fromProto(Color* protocolor) { float red = [protocolor red]; float green = [protocolor green]; float blue = [protocolor blue]; FloatValue* alpha_wrapper = [protocolor alpha]; float alpha = 1.0; if (alpha_wrapper != nil) { alpha = [alpha_wrapper value]; } return [UIColor colorWithRed:red green:green blue:blue alpha:alpha]; } static Color* toProto(UIColor* color) { CGFloat red, green, blue, alpha; if (![color getRed:&red green:&green blue:&blue alpha:&alpha]) { return nil; } Color* result = [[Color alloc] init]; [result setRed:red]; [result setGreen:green]; [result setBlue:blue]; if (alpha <= 0.9999) { [result setAlpha:floatWrapperWithValue(alpha)]; } [result autorelease]; return result; } // ... Example (JavaScript): // ... var protoToCssColor = function(rgb_color) { var redFrac = rgb_color.red || 0.0; var greenFrac = rgb_color.green || 0.0; var blueFrac = rgb_color.blue || 0.0; var red = Math.floor(redFrac * 255); var green = Math.floor(greenFrac * 255); var blue = Math.floor(blueFrac * 255); if (!('alpha' in rgb_color)) { return rgbToCssColor(red, green, blue); } var alphaFrac = rgb_color.alpha.value || 0.0; var rgbParams = [red, green, blue].join(','); return ['rgba(', rgbParams, ',', alphaFrac, ')'].join(''); }; var rgbToCssColor = function(red, green, blue) { var rgbNumber = new Number((red << 16) | (green << 8) | blue); var hexString = rgbNumber.toString(16); var missingZeros = 6 - hexString.length; var resultBuilder = ['#']; for (var i = 0; i < missingZeros; i++) { resultBuilder.push('0'); } resultBuilder.push(hexString); return resultBuilder.join(''); }; // ... # Output only. Badge foreground that pairs with the background.
+                  "alpha": 3.14, # The fraction of this color that should be applied to the pixel. That is, the final pixel color is defined by the equation: `pixel color = alpha * (this color) + (1.0 - alpha) * (background color)` This means that a value of 1.0 corresponds to a solid color, whereas a value of 0.0 corresponds to a completely transparent color. This uses a wrapper message rather than a simple float scalar so that it is possible to distinguish between a default value and the value being unset. If omitted, this color object is rendered as a solid color (as if the alpha value had been explicitly given a value of 1.0).
+                  "blue": 3.14, # The amount of blue in the color as a value in the interval [0, 1].
+                  "green": 3.14, # The amount of green in the color as a value in the interval [0, 1].
+                  "red": 3.14, # The amount of red in the color as a value in the interval [0, 1].
+                },
+                "soloColor": { # Represents a color in the RGBA color space. This representation is designed for simplicity of conversion to/from color representations in various languages over compactness. For example, the fields of this representation can be trivially provided to the constructor of `java.awt.Color` in Java; it can also be trivially provided to UIColor's `+colorWithRed:green:blue:alpha` method in iOS; and, with just a little work, it can be easily formatted into a CSS `rgba()` string in JavaScript. This reference page doesn't carry information about the absolute color space that should be used to interpret the RGB value (e.g. sRGB, Adobe RGB, DCI-P3, BT.2020, etc.). By default, applications should assume the sRGB color space. When color equality needs to be decided, implementations, unless documented otherwise, treat two colors as equal if all their red, green, blue, and alpha values each differ by at most 1e-5. Example (Java): import com.google.type.Color; // ... public static java.awt.Color fromProto(Color protocolor) { float alpha = protocolor.hasAlpha() ? protocolor.getAlpha().getValue() : 1.0; return new java.awt.Color( protocolor.getRed(), protocolor.getGreen(), protocolor.getBlue(), alpha); } public static Color toProto(java.awt.Color color) { float red = (float) color.getRed(); float green = (float) color.getGreen(); float blue = (float) color.getBlue(); float denominator = 255.0; Color.Builder resultBuilder = Color .newBuilder() .setRed(red / denominator) .setGreen(green / denominator) .setBlue(blue / denominator); int alpha = color.getAlpha(); if (alpha != 255) { result.setAlpha( FloatValue .newBuilder() .setValue(((float) alpha) / denominator) .build()); } return resultBuilder.build(); } // ... Example (iOS / Obj-C): // ... static UIColor* fromProto(Color* protocolor) { float red = [protocolor red]; float green = [protocolor green]; float blue = [protocolor blue]; FloatValue* alpha_wrapper = [protocolor alpha]; float alpha = 1.0; if (alpha_wrapper != nil) { alpha = [alpha_wrapper value]; } return [UIColor colorWithRed:red green:green blue:blue alpha:alpha]; } static Color* toProto(UIColor* color) { CGFloat red, green, blue, alpha; if (![color getRed:&red green:&green blue:&blue alpha:&alpha]) { return nil; } Color* result = [[Color alloc] init]; [result setRed:red]; [result setGreen:green]; [result setBlue:blue]; if (alpha <= 0.9999) { [result setAlpha:floatWrapperWithValue(alpha)]; } [result autorelease]; return result; } // ... Example (JavaScript): // ... var protoToCssColor = function(rgb_color) { var redFrac = rgb_color.red || 0.0; var greenFrac = rgb_color.green || 0.0; var blueFrac = rgb_color.blue || 0.0; var red = Math.floor(redFrac * 255); var green = Math.floor(greenFrac * 255); var blue = Math.floor(blueFrac * 255); if (!('alpha' in rgb_color)) { return rgbToCssColor(red, green, blue); } var alphaFrac = rgb_color.alpha.value || 0.0; var rgbParams = [red, green, blue].join(','); return ['rgba(', rgbParams, ',', alphaFrac, ')'].join(''); }; var rgbToCssColor = function(red, green, blue) { var rgbNumber = new Number((red << 16) | (green << 8) | blue); var hexString = rgbNumber.toString(16); var missingZeros = 6 - hexString.length; var resultBuilder = ['#']; for (var i = 0; i < missingZeros; i++) { resultBuilder.push('0'); } resultBuilder.push(hexString); return resultBuilder.join(''); }; // ... # Output only. Color that can be used for text without a background.
+                  "alpha": 3.14, # The fraction of this color that should be applied to the pixel. That is, the final pixel color is defined by the equation: `pixel color = alpha * (this color) + (1.0 - alpha) * (background color)` This means that a value of 1.0 corresponds to a solid color, whereas a value of 0.0 corresponds to a completely transparent color. This uses a wrapper message rather than a simple float scalar so that it is possible to distinguish between a default value and the value being unset. If omitted, this color object is rendered as a solid color (as if the alpha value had been explicitly given a value of 1.0).
+                  "blue": 3.14, # The amount of blue in the color as a value in the interval [0, 1].
+                  "green": 3.14, # The amount of green in the color as a value in the interval [0, 1].
+                  "red": 3.14, # The amount of red in the color as a value in the interval [0, 1].
+                },
+              },
+              "disabled": True or False, # Whether the option should be shown in the UI as disabled.
+              "hiddenInSearch": True or False, # This option should be hidden in the search menu when searching for Drive items.
+              "shownInApply": True or False, # This option should be shown in the apply menu when applying values to a Drive item.
+            },
+            "id": "A String", # The unique value of the choice. This ID is autogenerated. Matches the regex: `([a-zA-Z0-9_])+`.
+            "lifecycle": { # The lifecycle state of an object, such as label, field, or choice. The lifecycle enforces the following transitions: * `UNPUBLISHED_DRAFT` (starting state) * `UNPUBLISHED_DRAFT` -> `PUBLISHED` * `UNPUBLISHED_DRAFT` -> (Deleted) * `PUBLISHED` -> `DISABLED` * `DISABLED` -> `PUBLISHED` * `DISABLED` -> (Deleted) The published and disabled states have some distinct characteristics: * Published—Some kinds of changes might be made to an object in this state, in which case `has_unpublished_changes` will be true. Also, some kinds of changes are not permitted. Generally, any change that would invalidate or cause new restrictions on existing metadata related to the label are rejected. * Disabled—When disabled, the configured `DisabledPolicy` takes effect. # Output only. Lifecycle of the choice.
+              "disabledPolicy": { # The policy that governs how to treat a disabled label, field, or selection choice in different contexts. # The policy that governs how to show a disabled label, field, or selection choice.
+                "hideInSearch": True or False, # Whether to hide this disabled object in the search menu for Drive items. * When `false`, the object is generally shown in the UI as disabled but it appears in the search results when searching for Drive items. * When `true`, the object is generally hidden in the UI when searching for Drive items.
+                "showInApply": True or False, # Whether to show this disabled object in the apply menu on Drive items. * When `true`, the object is generally shown in the UI as disabled and is unselectable. * When `false`, the object is generally hidden in the UI.
+              },
+              "hasUnpublishedChanges": True or False, # Output only. Whether the object associated with this lifecycle has unpublished changes.
+              "state": "A String", # Output only. The state of the object associated with this lifecycle.
+            },
+            "lockStatus": { # Contains information about whether a label component should be considered locked. # Output only. The LockStatus of this choice.
+              "locked": True or False, # Output only. Indicates whether this label component is the (direct) target of a LabelLock. A label component can be implicitly locked even if it's not the direct target of a LabelLock, in which case this field is set to false.
+            },
+            "properties": { # Basic properties of the choice. # Basic properties of the choice.
+              "badgeConfig": { # Badge status of the label. # The badge configuration for this choice. When set, the label that owns this choice is considered a "badged label".
+                "color": { # Represents a color in the RGBA color space. This representation is designed for simplicity of conversion to/from color representations in various languages over compactness. For example, the fields of this representation can be trivially provided to the constructor of `java.awt.Color` in Java; it can also be trivially provided to UIColor's `+colorWithRed:green:blue:alpha` method in iOS; and, with just a little work, it can be easily formatted into a CSS `rgba()` string in JavaScript. This reference page doesn't carry information about the absolute color space that should be used to interpret the RGB value (e.g. sRGB, Adobe RGB, DCI-P3, BT.2020, etc.). By default, applications should assume the sRGB color space. When color equality needs to be decided, implementations, unless documented otherwise, treat two colors as equal if all their red, green, blue, and alpha values each differ by at most 1e-5. Example (Java): import com.google.type.Color; // ... public static java.awt.Color fromProto(Color protocolor) { float alpha = protocolor.hasAlpha() ? protocolor.getAlpha().getValue() : 1.0; return new java.awt.Color( protocolor.getRed(), protocolor.getGreen(), protocolor.getBlue(), alpha); } public static Color toProto(java.awt.Color color) { float red = (float) color.getRed(); float green = (float) color.getGreen(); float blue = (float) color.getBlue(); float denominator = 255.0; Color.Builder resultBuilder = Color .newBuilder() .setRed(red / denominator) .setGreen(green / denominator) .setBlue(blue / denominator); int alpha = color.getAlpha(); if (alpha != 255) { result.setAlpha( FloatValue .newBuilder() .setValue(((float) alpha) / denominator) .build()); } return resultBuilder.build(); } // ... Example (iOS / Obj-C): // ... static UIColor* fromProto(Color* protocolor) { float red = [protocolor red]; float green = [protocolor green]; float blue = [protocolor blue]; FloatValue* alpha_wrapper = [protocolor alpha]; float alpha = 1.0; if (alpha_wrapper != nil) { alpha = [alpha_wrapper value]; } return [UIColor colorWithRed:red green:green blue:blue alpha:alpha]; } static Color* toProto(UIColor* color) { CGFloat red, green, blue, alpha; if (![color getRed:&red green:&green blue:&blue alpha:&alpha]) { return nil; } Color* result = [[Color alloc] init]; [result setRed:red]; [result setGreen:green]; [result setBlue:blue]; if (alpha <= 0.9999) { [result setAlpha:floatWrapperWithValue(alpha)]; } [result autorelease]; return result; } // ... Example (JavaScript): // ... var protoToCssColor = function(rgb_color) { var redFrac = rgb_color.red || 0.0; var greenFrac = rgb_color.green || 0.0; var blueFrac = rgb_color.blue || 0.0; var red = Math.floor(redFrac * 255); var green = Math.floor(greenFrac * 255); var blue = Math.floor(blueFrac * 255); if (!('alpha' in rgb_color)) { return rgbToCssColor(red, green, blue); } var alphaFrac = rgb_color.alpha.value || 0.0; var rgbParams = [red, green, blue].join(','); return ['rgba(', rgbParams, ',', alphaFrac, ')'].join(''); }; var rgbToCssColor = function(red, green, blue) { var rgbNumber = new Number((red << 16) | (green << 8) | blue); var hexString = rgbNumber.toString(16); var missingZeros = 6 - hexString.length; var resultBuilder = ['#']; for (var i = 0; i < missingZeros; i++) { resultBuilder.push('0'); } resultBuilder.push(hexString); return resultBuilder.join(''); }; // ... # The color of the badge. When not specified, no badge is rendered. The background, foreground, and solo (light and dark mode) colors set here are changed in the Drive UI into the closest recommended supported color.
+                  "alpha": 3.14, # The fraction of this color that should be applied to the pixel. That is, the final pixel color is defined by the equation: `pixel color = alpha * (this color) + (1.0 - alpha) * (background color)` This means that a value of 1.0 corresponds to a solid color, whereas a value of 0.0 corresponds to a completely transparent color. This uses a wrapper message rather than a simple float scalar so that it is possible to distinguish between a default value and the value being unset. If omitted, this color object is rendered as a solid color (as if the alpha value had been explicitly given a value of 1.0).
+                  "blue": 3.14, # The amount of blue in the color as a value in the interval [0, 1].
+                  "green": 3.14, # The amount of green in the color as a value in the interval [0, 1].
+                  "red": 3.14, # The amount of red in the color as a value in the interval [0, 1].
+                },
+                "priorityOverride": "A String", # Override the default global priority of this badge. When set to 0, the default priority heuristic is used.
+              },
+              "description": "A String", # The description of this label.
+              "displayName": "A String", # Required. The display text to show in the UI identifying this field.
+              "insertBeforeChoice": "A String", # Input only. Insert or move this choice before the indicated choice. If empty, the choice is placed at the end of the list.
+            },
+            "publishTime": "A String", # Output only. The time this choice was published. This value has no meaning when the choice is not published.
+            "publisher": { # Information about a user. # Output only. The user who published this choice. This value has no meaning when the choice is not published.
+              "person": "A String", # The identifier for this user that can be used with the People API to get more information. For example, people/12345678.
+            },
+            "schemaCapabilities": { # The capabilities related to this choice when editing the choice. # Output only. The capabilities related to this option when editing the option.
+              "canDelete": True or False, # Whether the user can delete this choice.
+              "canDisable": True or False, # Whether the user can disable this choice.
+              "canEnable": True or False, # Whether the user can enable this choice.
+              "canUpdate": True or False, # Whether the user can update this choice.
+            },
+            "updateTime": "A String", # Output only. The time this choice was updated last.
+            "updater": { # Information about a user. # Output only. The user who updated this choice last.
+              "person": "A String", # The identifier for this user that can be used with the People API to get more information. For example, people/12345678.
+            },
+          },
+        ],
+        "listOptions": { # Options for a multi-valued variant of an associated field type. # When specified, indicates this field supports a list of values. Once the field is published, this cannot be changed.
+          "maxEntries": 42, # Maximum number of entries permitted.
+        },
+      },
+      "textOptions": { # Options for the Text field type. # Text field options.
+        "maxLength": 42, # Output only. The maximum valid length of values for the text field.
+        "minLength": 42, # Output only. The minimum valid length of values for the text field.
+      },
+      "updateTime": "A String", # Output only. The time this field was updated.
+      "updater": { # Information about a user. # Output only. The user who modified this field.
+        "person": "A String", # The identifier for this user that can be used with the People API to get more information. For example, people/12345678.
+      },
+      "userOptions": { # Options for the user field type. # User field options.
+        "listOptions": { # Options for a multi-valued variant of an associated field type. # When specified, indicates that this field supports a list of values. Once the field is published, this cannot be changed.
+          "maxEntries": 42, # Maximum number of entries permitted.
+        },
+      },
+    },
+  ],
+  "id": "A String", # Output only. Globally unique identifier of this label. ID makes up part of the label `name`, but unlike `name`, ID is consistent between revisions. Matches the regex: `([a-zA-Z0-9])+`
+  "labelType": "A String", # Required. The type of label.
+  "learnMoreUri": "A String", # Custom URL to present to users to allow them to learn more about this label and how it should be used.
+  "lifecycle": { # The lifecycle state of an object, such as label, field, or choice. The lifecycle enforces the following transitions: * `UNPUBLISHED_DRAFT` (starting state) * `UNPUBLISHED_DRAFT` -> `PUBLISHED` * `UNPUBLISHED_DRAFT` -> (Deleted) * `PUBLISHED` -> `DISABLED` * `DISABLED` -> `PUBLISHED` * `DISABLED` -> (Deleted) The published and disabled states have some distinct characteristics: * Published—Some kinds of changes might be made to an object in this state, in which case `has_unpublished_changes` will be true. Also, some kinds of changes are not permitted. Generally, any change that would invalidate or cause new restrictions on existing metadata related to the label are rejected. * Disabled—When disabled, the configured `DisabledPolicy` takes effect. # Output only. The lifecycle state of the label including whether it's published, deprecated, and has draft changes.
+    "disabledPolicy": { # The policy that governs how to treat a disabled label, field, or selection choice in different contexts. # The policy that governs how to show a disabled label, field, or selection choice.
+      "hideInSearch": True or False, # Whether to hide this disabled object in the search menu for Drive items. * When `false`, the object is generally shown in the UI as disabled but it appears in the search results when searching for Drive items. * When `true`, the object is generally hidden in the UI when searching for Drive items.
+      "showInApply": True or False, # Whether to show this disabled object in the apply menu on Drive items. * When `true`, the object is generally shown in the UI as disabled and is unselectable. * When `false`, the object is generally hidden in the UI.
+    },
+    "hasUnpublishedChanges": True or False, # Output only. Whether the object associated with this lifecycle has unpublished changes.
+    "state": "A String", # Output only. The state of the object associated with this lifecycle.
+  },
+  "lockStatus": { # Contains information about whether a label component should be considered locked. # Output only. The LockStatus of this label.
+    "locked": True or False, # Output only. Indicates whether this label component is the (direct) target of a LabelLock. A label component can be implicitly locked even if it's not the direct target of a LabelLock, in which case this field is set to false.
+  },
+  "name": "A String", # Output only. Resource name of the label. Will be in the form of either: `labels/{id}` or `labels/{id}@{revision_id}` depending on the request. See `id` and `revision_id` below.
+  "properties": { # Basic properties of the label. # Required. The basic properties of the label.
+    "description": "A String", # The description of the label.
+    "title": "A String", # Required. Title of the label.
+  },
+  "publishTime": "A String", # Output only. The time this label was published. This value has no meaning when the label is not published.
+  "publisher": { # Information about a user. # Output only. The user who published this label. This value has no meaning when the label is not published.
+    "person": "A String", # The identifier for this user that can be used with the People API to get more information. For example, people/12345678.
+  },
+  "revisionCreateTime": "A String", # Output only. The time this label revision was created.
+  "revisionCreator": { # Information about a user. # Output only. The user who created this label revision.
+    "person": "A String", # The identifier for this user that can be used with the People API to get more information. For example, people/12345678.
+  },
+  "revisionId": "A String", # Output only. Revision ID of the label. Revision ID might be part of the label `name` depending on the request issued. A new revision is created whenever revisioned properties of a label are changed. Matches the regex: `([a-zA-Z0-9])+`
+  "schemaCapabilities": { # The capabilities related to this label when editing the label. # Output only. The capabilities the user has on this label.
+    "canDelete": True or False, # Whether the user can delete this label. The user must have permission and the label must be disabled.
+    "canDisable": True or False, # Whether the user can disable this label. The user must have permission and this label must not already be disabled.
+    "canEnable": True or False, # Whether the user can enable this label. The user must have permission and this label must be disabled.
+    "canUpdate": True or False, # Whether the user can change this label.
+  },
+}
+
+ +
+ get(name, languageCode=None, useAdminAccess=None, view=None, x__xgafv=None) +
Get a label by its resource name. Resource name may be any of: * `labels/{id}` - See `labels/{id}@latest` * `labels/{id}@latest` - Gets the latest revision of the label. * `labels/{id}@published` - Gets the current published revision of the label. * `labels/{id}@{revision_id}` - Gets the label at the specified revision ID.
+
+Args:
+  name: string, Required. Label resource name. May be any of: * `labels/{id}` (equivalent to labels/{id}@latest) * `labels/{id}@latest` * `labels/{id}@published` * `labels/{id}@{revision_id}` (required)
+  languageCode: string, The BCP-47 language code to use for evaluating localized field labels. When not specified, values in the default configured language are used.
+  useAdminAccess: boolean, Set to `true` in order to use the user's admin credentials. The server verifies that the user is an admin for the label before allowing access.
+  view: string, When specified, only certain fields belonging to the indicated view are returned.
+    Allowed values
+      LABEL_VIEW_BASIC - Implies the field mask: `name,id,revision_id,label_type,properties.*`
+      LABEL_VIEW_FULL - All possible fields.
+  x__xgafv: string, V1 error format.
+    Allowed values
+      1 - v1 error format
+      2 - v2 error format
+
+Returns:
+  An object of the form:
+
+    { # A label defines a taxonomy that can be applied to Drive items in order to organize and search across items. Labels can be simple strings, or can contain fields that describe additional metadata that can be further used to organize and search Drive items.
+  "appliedCapabilities": { # The capabilities a user has on this label's applied metadata. # Output only. The capabilities related to this label on applied metadata.
+    "canApply": True or False, # Whether the user can apply this label to items.
+    "canRead": True or False, # Whether the user can read applied metadata related to this label.
+    "canRemove": True or False, # Whether the user can remove this label from items.
+  },
+  "appliedLabelPolicy": { # Behavior of this label when it's applied to Drive items. # Output only. Behavior of this label when it's applied to Drive items.
+    "copyMode": "A String", # Indicates how the applied label and field values should be copied when a Drive item is copied.
+  },
+  "createTime": "A String", # Output only. The time this label was created.
+  "creator": { # Information about a user. # Output only. The user who created this label.
+    "person": "A String", # The identifier for this user that can be used with the People API to get more information. For example, people/12345678.
+  },
+  "disableTime": "A String", # Output only. The time this label was disabled. This value has no meaning when the label is not disabled.
+  "disabler": { # Information about a user. # Output only. The user who disabled this label. This value has no meaning when the label is not disabled.
+    "person": "A String", # The identifier for this user that can be used with the People API to get more information. For example, people/12345678.
+  },
+  "displayHints": { # UI display hints for rendering the label. # Output only. UI display hints for rendering the label.
+    "disabled": True or False, # Whether the label should be shown in the UI as disabled.
+    "hiddenInSearch": True or False, # This label should be hidden in the search menu when searching for Drive items.
+    "priority": "A String", # Order to display label in a list.
+    "shownInApply": True or False, # This label should be shown in the apply menu when applying values to a Drive item.
+  },
+  "fields": [ # List of fields in descending priority order.
+    { # Defines a field that has a display name, data type, and other configuration options. This field defines the kind of metadata that may be set on a Drive item.
+      "appliedCapabilities": { # The capabilities related to this field on applied metadata. # Output only. The capabilities this user has on this field and its value when the label is applied on Drive items.
+        "canRead": True or False, # Whether the user can read related applied metadata on items.
+        "canSearch": True or False, # Whether the user can search for Drive items referencing this field.
+        "canWrite": True or False, # Whether the user can set this field on Drive items.
+      },
+      "createTime": "A String", # Output only. The time this field was created.
+      "creator": { # Information about a user. # Output only. The user who created this field.
+        "person": "A String", # The identifier for this user that can be used with the People API to get more information. For example, people/12345678.
+      },
+      "dateOptions": { # Options for the date field type. # Date field options.
+        "dateFormat": "A String", # Output only. ICU date format.
+        "dateFormatType": "A String", # Localized date formatting option. Field values are rendered in this format according to their locale.
+        "maxValue": { # Represents a whole or partial calendar date, such as a birthday. The time of day and time zone are either specified elsewhere or are insignificant. The date is relative to the Gregorian Calendar. This can represent one of the following: * A full date, with non-zero year, month, and day values. * A month and day, with a zero year (for example, an anniversary). * A year on its own, with a zero month and a zero day. * A year and month, with a zero day (for example, a credit card expiration date). Related types: * google.type.TimeOfDay * google.type.DateTime * google.protobuf.Timestamp # Output only. Maximum valid value (year, month, day).
+          "day": 42, # Day of a month. Must be from 1 to 31 and valid for the year and month, or 0 to specify a year by itself or a year and month where the day isn't significant.
+          "month": 42, # Month of a year. Must be from 1 to 12, or 0 to specify a year without a month and day.
+          "year": 42, # Year of the date. Must be from 1 to 9999, or 0 to specify a date without a year.
+        },
+        "minValue": { # Represents a whole or partial calendar date, such as a birthday. The time of day and time zone are either specified elsewhere or are insignificant. The date is relative to the Gregorian Calendar. This can represent one of the following: * A full date, with non-zero year, month, and day values. * A month and day, with a zero year (for example, an anniversary). * A year on its own, with a zero month and a zero day. * A year and month, with a zero day (for example, a credit card expiration date). Related types: * google.type.TimeOfDay * google.type.DateTime * google.protobuf.Timestamp # Output only. Minimum valid value (year, month, day).
+          "day": 42, # Day of a month. Must be from 1 to 31 and valid for the year and month, or 0 to specify a year by itself or a year and month where the day isn't significant.
+          "month": 42, # Month of a year. Must be from 1 to 12, or 0 to specify a year without a month and day.
+          "year": 42, # Year of the date. Must be from 1 to 9999, or 0 to specify a date without a year.
+        },
+      },
+      "disableTime": "A String", # Output only. The time this field was disabled. This value has no meaning when the field is not disabled.
+      "disabler": { # Information about a user. # Output only. The user who disabled this field. This value has no meaning when the field is not disabled.
+        "person": "A String", # The identifier for this user that can be used with the People API to get more information. For example, people/12345678.
+      },
+      "displayHints": { # UI display hints for rendering a field. # Output only. UI display hints for rendering a field.
+        "disabled": True or False, # Whether the field should be shown in the UI as disabled.
+        "hiddenInSearch": True or False, # This field should be hidden in the search menu when searching for Drive items.
+        "required": True or False, # Whether the field should be shown as required in the UI.
+        "shownInApply": True or False, # This field should be shown in the apply menu when applying values to a Drive item.
+      },
+      "id": "A String", # Output only. The key of a field, unique within a label or library. This value is autogenerated. Matches the regex: `([a-zA-Z0-9])+`
+      "integerOptions": { # Options for the Integer field type. # Integer field options.
+        "maxValue": "A String", # Output only. The maximum valid value for the integer field.
+        "minValue": "A String", # Output only. The minimum valid value for the integer field.
+      },
+      "lifecycle": { # The lifecycle state of an object, such as label, field, or choice. The lifecycle enforces the following transitions: * `UNPUBLISHED_DRAFT` (starting state) * `UNPUBLISHED_DRAFT` -> `PUBLISHED` * `UNPUBLISHED_DRAFT` -> (Deleted) * `PUBLISHED` -> `DISABLED` * `DISABLED` -> `PUBLISHED` * `DISABLED` -> (Deleted) The published and disabled states have some distinct characteristics: * Published—Some kinds of changes might be made to an object in this state, in which case `has_unpublished_changes` will be true. Also, some kinds of changes are not permitted. Generally, any change that would invalidate or cause new restrictions on existing metadata related to the label are rejected. * Disabled—When disabled, the configured `DisabledPolicy` takes effect. # Output only. The lifecycle of this field.
+        "disabledPolicy": { # The policy that governs how to treat a disabled label, field, or selection choice in different contexts. # The policy that governs how to show a disabled label, field, or selection choice.
+          "hideInSearch": True or False, # Whether to hide this disabled object in the search menu for Drive items. * When `false`, the object is generally shown in the UI as disabled but it appears in the search results when searching for Drive items. * When `true`, the object is generally hidden in the UI when searching for Drive items.
+          "showInApply": True or False, # Whether to show this disabled object in the apply menu on Drive items. * When `true`, the object is generally shown in the UI as disabled and is unselectable. * When `false`, the object is generally hidden in the UI.
+        },
+        "hasUnpublishedChanges": True or False, # Output only. Whether the object associated with this lifecycle has unpublished changes.
+        "state": "A String", # Output only. The state of the object associated with this lifecycle.
+      },
+      "lockStatus": { # Contains information about whether a label component should be considered locked. # Output only. The LockStatus of this field.
+        "locked": True or False, # Output only. Indicates whether this label component is the (direct) target of a LabelLock. A label component can be implicitly locked even if it's not the direct target of a LabelLock, in which case this field is set to false.
+      },
+      "properties": { # The basic properties of the field. # The basic properties of the field.
+        "displayName": "A String", # Required. The display text to show in the UI identifying this field.
+        "insertBeforeField": "A String", # Input only. Insert or move this field before the indicated field. If empty, the field is placed at the end of the list.
+        "required": True or False, # Whether the field should be marked as required.
+      },
+      "publisher": { # Information about a user. # Output only. The user who published this field. This value has no meaning when the field is not published.
+        "person": "A String", # The identifier for this user that can be used with the People API to get more information. For example, people/12345678.
+      },
+      "queryKey": "A String", # Output only. The key to use when constructing Drive search queries to find files based on values defined for this field on files. For example, "`{query_key}` > 2001-01-01".
+      "schemaCapabilities": { # The capabilities related to this field when editing the field. # Output only. The capabilities this user has when editing this field.
+        "canDelete": True or False, # Whether the user can delete this field. The user must have permission and the field must be deprecated.
+        "canDisable": True or False, # Whether the user can disable this field. The user must have permission and this field must not already be disabled.
+        "canEnable": True or False, # Whether the user can enable this field. The user must have permission and this field must be disabled.
+        "canUpdate": True or False, # Whether the user can change this field.
+      },
+      "selectionOptions": { # Options for the selection field type. # Selection field options.
+        "choices": [ # The options available for this selection field. The list order is consistent, and modified with `insert_before_choice`.
+          { # Selection field choice.
+            "appliedCapabilities": { # The capabilities related to this choice on applied metadata. # Output only. The capabilities related to this choice on applied metadata.
+              "canRead": True or False, # Whether the user can read related applied metadata on items.
+              "canSearch": True or False, # Whether the user can use this choice in search queries.
+              "canSelect": True or False, # Whether the user can select this choice on an item.
+            },
+            "createTime": "A String", # Output only. The time this choice was created.
+            "creator": { # Information about a user. # Output only. The user who created this choice.
+              "person": "A String", # The identifier for this user that can be used with the People API to get more information. For example, people/12345678.
+            },
+            "disableTime": "A String", # Output only. The time this choice was disabled. This value has no meaning when the choice is not disabled.
+            "disabler": { # Information about a user. # Output only. The user who disabled this choice. This value has no meaning when the option is not disabled.
+              "person": "A String", # The identifier for this user that can be used with the People API to get more information. For example, people/12345678.
+            },
+            "displayHints": { # UI display hints for rendering an option. # Output only. UI display hints for rendering a choice.
+              "badgeColors": { # The color derived from BadgeConfig and changed to the closest recommended supported color. # The colors to use for the badge. Changed to Google Material colors based on the chosen `properties.badge_config.color`.
+                "backgroundColor": { # Represents a color in the RGBA color space. This representation is designed for simplicity of conversion to/from color representations in various languages over compactness. For example, the fields of this representation can be trivially provided to the constructor of `java.awt.Color` in Java; it can also be trivially provided to UIColor's `+colorWithRed:green:blue:alpha` method in iOS; and, with just a little work, it can be easily formatted into a CSS `rgba()` string in JavaScript. This reference page doesn't carry information about the absolute color space that should be used to interpret the RGB value (e.g. sRGB, Adobe RGB, DCI-P3, BT.2020, etc.). By default, applications should assume the sRGB color space. When color equality needs to be decided, implementations, unless documented otherwise, treat two colors as equal if all their red, green, blue, and alpha values each differ by at most 1e-5. Example (Java): import com.google.type.Color; // ... public static java.awt.Color fromProto(Color protocolor) { float alpha = protocolor.hasAlpha() ? protocolor.getAlpha().getValue() : 1.0; return new java.awt.Color( protocolor.getRed(), protocolor.getGreen(), protocolor.getBlue(), alpha); } public static Color toProto(java.awt.Color color) { float red = (float) color.getRed(); float green = (float) color.getGreen(); float blue = (float) color.getBlue(); float denominator = 255.0; Color.Builder resultBuilder = Color .newBuilder() .setRed(red / denominator) .setGreen(green / denominator) .setBlue(blue / denominator); int alpha = color.getAlpha(); if (alpha != 255) { result.setAlpha( FloatValue .newBuilder() .setValue(((float) alpha) / denominator) .build()); } return resultBuilder.build(); } // ... Example (iOS / Obj-C): // ... static UIColor* fromProto(Color* protocolor) { float red = [protocolor red]; float green = [protocolor green]; float blue = [protocolor blue]; FloatValue* alpha_wrapper = [protocolor alpha]; float alpha = 1.0; if (alpha_wrapper != nil) { alpha = [alpha_wrapper value]; } return [UIColor colorWithRed:red green:green blue:blue alpha:alpha]; } static Color* toProto(UIColor* color) { CGFloat red, green, blue, alpha; if (![color getRed:&red green:&green blue:&blue alpha:&alpha]) { return nil; } Color* result = [[Color alloc] init]; [result setRed:red]; [result setGreen:green]; [result setBlue:blue]; if (alpha <= 0.9999) { [result setAlpha:floatWrapperWithValue(alpha)]; } [result autorelease]; return result; } // ... Example (JavaScript): // ... var protoToCssColor = function(rgb_color) { var redFrac = rgb_color.red || 0.0; var greenFrac = rgb_color.green || 0.0; var blueFrac = rgb_color.blue || 0.0; var red = Math.floor(redFrac * 255); var green = Math.floor(greenFrac * 255); var blue = Math.floor(blueFrac * 255); if (!('alpha' in rgb_color)) { return rgbToCssColor(red, green, blue); } var alphaFrac = rgb_color.alpha.value || 0.0; var rgbParams = [red, green, blue].join(','); return ['rgba(', rgbParams, ',', alphaFrac, ')'].join(''); }; var rgbToCssColor = function(red, green, blue) { var rgbNumber = new Number((red << 16) | (green << 8) | blue); var hexString = rgbNumber.toString(16); var missingZeros = 6 - hexString.length; var resultBuilder = ['#']; for (var i = 0; i < missingZeros; i++) { resultBuilder.push('0'); } resultBuilder.push(hexString); return resultBuilder.join(''); }; // ... # Output only. Badge background that pairs with the foreground.
+                  "alpha": 3.14, # The fraction of this color that should be applied to the pixel. That is, the final pixel color is defined by the equation: `pixel color = alpha * (this color) + (1.0 - alpha) * (background color)` This means that a value of 1.0 corresponds to a solid color, whereas a value of 0.0 corresponds to a completely transparent color. This uses a wrapper message rather than a simple float scalar so that it is possible to distinguish between a default value and the value being unset. If omitted, this color object is rendered as a solid color (as if the alpha value had been explicitly given a value of 1.0).
+                  "blue": 3.14, # The amount of blue in the color as a value in the interval [0, 1].
+                  "green": 3.14, # The amount of green in the color as a value in the interval [0, 1].
+                  "red": 3.14, # The amount of red in the color as a value in the interval [0, 1].
+                },
+                "foregroundColor": { # Represents a color in the RGBA color space. This representation is designed for simplicity of conversion to/from color representations in various languages over compactness. For example, the fields of this representation can be trivially provided to the constructor of `java.awt.Color` in Java; it can also be trivially provided to UIColor's `+colorWithRed:green:blue:alpha` method in iOS; and, with just a little work, it can be easily formatted into a CSS `rgba()` string in JavaScript. This reference page doesn't carry information about the absolute color space that should be used to interpret the RGB value (e.g. sRGB, Adobe RGB, DCI-P3, BT.2020, etc.). By default, applications should assume the sRGB color space. When color equality needs to be decided, implementations, unless documented otherwise, treat two colors as equal if all their red, green, blue, and alpha values each differ by at most 1e-5. Example (Java): import com.google.type.Color; // ... public static java.awt.Color fromProto(Color protocolor) { float alpha = protocolor.hasAlpha() ? protocolor.getAlpha().getValue() : 1.0; return new java.awt.Color( protocolor.getRed(), protocolor.getGreen(), protocolor.getBlue(), alpha); } public static Color toProto(java.awt.Color color) { float red = (float) color.getRed(); float green = (float) color.getGreen(); float blue = (float) color.getBlue(); float denominator = 255.0; Color.Builder resultBuilder = Color .newBuilder() .setRed(red / denominator) .setGreen(green / denominator) .setBlue(blue / denominator); int alpha = color.getAlpha(); if (alpha != 255) { result.setAlpha( FloatValue .newBuilder() .setValue(((float) alpha) / denominator) .build()); } return resultBuilder.build(); } // ... Example (iOS / Obj-C): // ... static UIColor* fromProto(Color* protocolor) { float red = [protocolor red]; float green = [protocolor green]; float blue = [protocolor blue]; FloatValue* alpha_wrapper = [protocolor alpha]; float alpha = 1.0; if (alpha_wrapper != nil) { alpha = [alpha_wrapper value]; } return [UIColor colorWithRed:red green:green blue:blue alpha:alpha]; } static Color* toProto(UIColor* color) { CGFloat red, green, blue, alpha; if (![color getRed:&red green:&green blue:&blue alpha:&alpha]) { return nil; } Color* result = [[Color alloc] init]; [result setRed:red]; [result setGreen:green]; [result setBlue:blue]; if (alpha <= 0.9999) { [result setAlpha:floatWrapperWithValue(alpha)]; } [result autorelease]; return result; } // ... Example (JavaScript): // ... var protoToCssColor = function(rgb_color) { var redFrac = rgb_color.red || 0.0; var greenFrac = rgb_color.green || 0.0; var blueFrac = rgb_color.blue || 0.0; var red = Math.floor(redFrac * 255); var green = Math.floor(greenFrac * 255); var blue = Math.floor(blueFrac * 255); if (!('alpha' in rgb_color)) { return rgbToCssColor(red, green, blue); } var alphaFrac = rgb_color.alpha.value || 0.0; var rgbParams = [red, green, blue].join(','); return ['rgba(', rgbParams, ',', alphaFrac, ')'].join(''); }; var rgbToCssColor = function(red, green, blue) { var rgbNumber = new Number((red << 16) | (green << 8) | blue); var hexString = rgbNumber.toString(16); var missingZeros = 6 - hexString.length; var resultBuilder = ['#']; for (var i = 0; i < missingZeros; i++) { resultBuilder.push('0'); } resultBuilder.push(hexString); return resultBuilder.join(''); }; // ... # Output only. Badge foreground that pairs with the background.
+                  "alpha": 3.14, # The fraction of this color that should be applied to the pixel. That is, the final pixel color is defined by the equation: `pixel color = alpha * (this color) + (1.0 - alpha) * (background color)` This means that a value of 1.0 corresponds to a solid color, whereas a value of 0.0 corresponds to a completely transparent color. This uses a wrapper message rather than a simple float scalar so that it is possible to distinguish between a default value and the value being unset. If omitted, this color object is rendered as a solid color (as if the alpha value had been explicitly given a value of 1.0).
+                  "blue": 3.14, # The amount of blue in the color as a value in the interval [0, 1].
+                  "green": 3.14, # The amount of green in the color as a value in the interval [0, 1].
+                  "red": 3.14, # The amount of red in the color as a value in the interval [0, 1].
+                },
+                "soloColor": { # Represents a color in the RGBA color space. This representation is designed for simplicity of conversion to/from color representations in various languages over compactness. For example, the fields of this representation can be trivially provided to the constructor of `java.awt.Color` in Java; it can also be trivially provided to UIColor's `+colorWithRed:green:blue:alpha` method in iOS; and, with just a little work, it can be easily formatted into a CSS `rgba()` string in JavaScript. This reference page doesn't carry information about the absolute color space that should be used to interpret the RGB value (e.g. sRGB, Adobe RGB, DCI-P3, BT.2020, etc.). By default, applications should assume the sRGB color space. When color equality needs to be decided, implementations, unless documented otherwise, treat two colors as equal if all their red, green, blue, and alpha values each differ by at most 1e-5. Example (Java): import com.google.type.Color; // ... public static java.awt.Color fromProto(Color protocolor) { float alpha = protocolor.hasAlpha() ? protocolor.getAlpha().getValue() : 1.0; return new java.awt.Color( protocolor.getRed(), protocolor.getGreen(), protocolor.getBlue(), alpha); } public static Color toProto(java.awt.Color color) { float red = (float) color.getRed(); float green = (float) color.getGreen(); float blue = (float) color.getBlue(); float denominator = 255.0; Color.Builder resultBuilder = Color .newBuilder() .setRed(red / denominator) .setGreen(green / denominator) .setBlue(blue / denominator); int alpha = color.getAlpha(); if (alpha != 255) { result.setAlpha( FloatValue .newBuilder() .setValue(((float) alpha) / denominator) .build()); } return resultBuilder.build(); } // ... Example (iOS / Obj-C): // ... static UIColor* fromProto(Color* protocolor) { float red = [protocolor red]; float green = [protocolor green]; float blue = [protocolor blue]; FloatValue* alpha_wrapper = [protocolor alpha]; float alpha = 1.0; if (alpha_wrapper != nil) { alpha = [alpha_wrapper value]; } return [UIColor colorWithRed:red green:green blue:blue alpha:alpha]; } static Color* toProto(UIColor* color) { CGFloat red, green, blue, alpha; if (![color getRed:&red green:&green blue:&blue alpha:&alpha]) { return nil; } Color* result = [[Color alloc] init]; [result setRed:red]; [result setGreen:green]; [result setBlue:blue]; if (alpha <= 0.9999) { [result setAlpha:floatWrapperWithValue(alpha)]; } [result autorelease]; return result; } // ... Example (JavaScript): // ... var protoToCssColor = function(rgb_color) { var redFrac = rgb_color.red || 0.0; var greenFrac = rgb_color.green || 0.0; var blueFrac = rgb_color.blue || 0.0; var red = Math.floor(redFrac * 255); var green = Math.floor(greenFrac * 255); var blue = Math.floor(blueFrac * 255); if (!('alpha' in rgb_color)) { return rgbToCssColor(red, green, blue); } var alphaFrac = rgb_color.alpha.value || 0.0; var rgbParams = [red, green, blue].join(','); return ['rgba(', rgbParams, ',', alphaFrac, ')'].join(''); }; var rgbToCssColor = function(red, green, blue) { var rgbNumber = new Number((red << 16) | (green << 8) | blue); var hexString = rgbNumber.toString(16); var missingZeros = 6 - hexString.length; var resultBuilder = ['#']; for (var i = 0; i < missingZeros; i++) { resultBuilder.push('0'); } resultBuilder.push(hexString); return resultBuilder.join(''); }; // ... # Output only. Color that can be used for text without a background.
+                  "alpha": 3.14, # The fraction of this color that should be applied to the pixel. That is, the final pixel color is defined by the equation: `pixel color = alpha * (this color) + (1.0 - alpha) * (background color)` This means that a value of 1.0 corresponds to a solid color, whereas a value of 0.0 corresponds to a completely transparent color. This uses a wrapper message rather than a simple float scalar so that it is possible to distinguish between a default value and the value being unset. If omitted, this color object is rendered as a solid color (as if the alpha value had been explicitly given a value of 1.0).
+                  "blue": 3.14, # The amount of blue in the color as a value in the interval [0, 1].
+                  "green": 3.14, # The amount of green in the color as a value in the interval [0, 1].
+                  "red": 3.14, # The amount of red in the color as a value in the interval [0, 1].
+                },
+              },
+              "badgePriority": "A String", # The priority of this badge. Used to compare and sort between multiple badges. A lower number means the badge should be shown first. When a badging configuration is not present, this will be 0. Otherwise, this will be set to `BadgeConfig.priority_override` or the default heuristic which prefers creation date of the label, and field and option priority.
+              "darkBadgeColors": { # The color derived from BadgeConfig and changed to the closest recommended supported color. # The dark-mode color to use for the badge. Changed to Google Material colors based on the chosen `properties.badge_config.color`.
+                "backgroundColor": { # Represents a color in the RGBA color space. This representation is designed for simplicity of conversion to/from color representations in various languages over compactness. For example, the fields of this representation can be trivially provided to the constructor of `java.awt.Color` in Java; it can also be trivially provided to UIColor's `+colorWithRed:green:blue:alpha` method in iOS; and, with just a little work, it can be easily formatted into a CSS `rgba()` string in JavaScript. This reference page doesn't carry information about the absolute color space that should be used to interpret the RGB value (e.g. sRGB, Adobe RGB, DCI-P3, BT.2020, etc.). By default, applications should assume the sRGB color space. When color equality needs to be decided, implementations, unless documented otherwise, treat two colors as equal if all their red, green, blue, and alpha values each differ by at most 1e-5. Example (Java): import com.google.type.Color; // ... public static java.awt.Color fromProto(Color protocolor) { float alpha = protocolor.hasAlpha() ? protocolor.getAlpha().getValue() : 1.0; return new java.awt.Color( protocolor.getRed(), protocolor.getGreen(), protocolor.getBlue(), alpha); } public static Color toProto(java.awt.Color color) { float red = (float) color.getRed(); float green = (float) color.getGreen(); float blue = (float) color.getBlue(); float denominator = 255.0; Color.Builder resultBuilder = Color .newBuilder() .setRed(red / denominator) .setGreen(green / denominator) .setBlue(blue / denominator); int alpha = color.getAlpha(); if (alpha != 255) { result.setAlpha( FloatValue .newBuilder() .setValue(((float) alpha) / denominator) .build()); } return resultBuilder.build(); } // ... Example (iOS / Obj-C): // ... static UIColor* fromProto(Color* protocolor) { float red = [protocolor red]; float green = [protocolor green]; float blue = [protocolor blue]; FloatValue* alpha_wrapper = [protocolor alpha]; float alpha = 1.0; if (alpha_wrapper != nil) { alpha = [alpha_wrapper value]; } return [UIColor colorWithRed:red green:green blue:blue alpha:alpha]; } static Color* toProto(UIColor* color) { CGFloat red, green, blue, alpha; if (![color getRed:&red green:&green blue:&blue alpha:&alpha]) { return nil; } Color* result = [[Color alloc] init]; [result setRed:red]; [result setGreen:green]; [result setBlue:blue]; if (alpha <= 0.9999) { [result setAlpha:floatWrapperWithValue(alpha)]; } [result autorelease]; return result; } // ... Example (JavaScript): // ... var protoToCssColor = function(rgb_color) { var redFrac = rgb_color.red || 0.0; var greenFrac = rgb_color.green || 0.0; var blueFrac = rgb_color.blue || 0.0; var red = Math.floor(redFrac * 255); var green = Math.floor(greenFrac * 255); var blue = Math.floor(blueFrac * 255); if (!('alpha' in rgb_color)) { return rgbToCssColor(red, green, blue); } var alphaFrac = rgb_color.alpha.value || 0.0; var rgbParams = [red, green, blue].join(','); return ['rgba(', rgbParams, ',', alphaFrac, ')'].join(''); }; var rgbToCssColor = function(red, green, blue) { var rgbNumber = new Number((red << 16) | (green << 8) | blue); var hexString = rgbNumber.toString(16); var missingZeros = 6 - hexString.length; var resultBuilder = ['#']; for (var i = 0; i < missingZeros; i++) { resultBuilder.push('0'); } resultBuilder.push(hexString); return resultBuilder.join(''); }; // ... # Output only. Badge background that pairs with the foreground.
+                  "alpha": 3.14, # The fraction of this color that should be applied to the pixel. That is, the final pixel color is defined by the equation: `pixel color = alpha * (this color) + (1.0 - alpha) * (background color)` This means that a value of 1.0 corresponds to a solid color, whereas a value of 0.0 corresponds to a completely transparent color. This uses a wrapper message rather than a simple float scalar so that it is possible to distinguish between a default value and the value being unset. If omitted, this color object is rendered as a solid color (as if the alpha value had been explicitly given a value of 1.0).
+                  "blue": 3.14, # The amount of blue in the color as a value in the interval [0, 1].
+                  "green": 3.14, # The amount of green in the color as a value in the interval [0, 1].
+                  "red": 3.14, # The amount of red in the color as a value in the interval [0, 1].
+                },
+                "foregroundColor": { # Represents a color in the RGBA color space. This representation is designed for simplicity of conversion to/from color representations in various languages over compactness. For example, the fields of this representation can be trivially provided to the constructor of `java.awt.Color` in Java; it can also be trivially provided to UIColor's `+colorWithRed:green:blue:alpha` method in iOS; and, with just a little work, it can be easily formatted into a CSS `rgba()` string in JavaScript. This reference page doesn't carry information about the absolute color space that should be used to interpret the RGB value (e.g. sRGB, Adobe RGB, DCI-P3, BT.2020, etc.). By default, applications should assume the sRGB color space. When color equality needs to be decided, implementations, unless documented otherwise, treat two colors as equal if all their red, green, blue, and alpha values each differ by at most 1e-5. Example (Java): import com.google.type.Color; // ... public static java.awt.Color fromProto(Color protocolor) { float alpha = protocolor.hasAlpha() ? protocolor.getAlpha().getValue() : 1.0; return new java.awt.Color( protocolor.getRed(), protocolor.getGreen(), protocolor.getBlue(), alpha); } public static Color toProto(java.awt.Color color) { float red = (float) color.getRed(); float green = (float) color.getGreen(); float blue = (float) color.getBlue(); float denominator = 255.0; Color.Builder resultBuilder = Color .newBuilder() .setRed(red / denominator) .setGreen(green / denominator) .setBlue(blue / denominator); int alpha = color.getAlpha(); if (alpha != 255) { result.setAlpha( FloatValue .newBuilder() .setValue(((float) alpha) / denominator) .build()); } return resultBuilder.build(); } // ... Example (iOS / Obj-C): // ... static UIColor* fromProto(Color* protocolor) { float red = [protocolor red]; float green = [protocolor green]; float blue = [protocolor blue]; FloatValue* alpha_wrapper = [protocolor alpha]; float alpha = 1.0; if (alpha_wrapper != nil) { alpha = [alpha_wrapper value]; } return [UIColor colorWithRed:red green:green blue:blue alpha:alpha]; } static Color* toProto(UIColor* color) { CGFloat red, green, blue, alpha; if (![color getRed:&red green:&green blue:&blue alpha:&alpha]) { return nil; } Color* result = [[Color alloc] init]; [result setRed:red]; [result setGreen:green]; [result setBlue:blue]; if (alpha <= 0.9999) { [result setAlpha:floatWrapperWithValue(alpha)]; } [result autorelease]; return result; } // ... Example (JavaScript): // ... var protoToCssColor = function(rgb_color) { var redFrac = rgb_color.red || 0.0; var greenFrac = rgb_color.green || 0.0; var blueFrac = rgb_color.blue || 0.0; var red = Math.floor(redFrac * 255); var green = Math.floor(greenFrac * 255); var blue = Math.floor(blueFrac * 255); if (!('alpha' in rgb_color)) { return rgbToCssColor(red, green, blue); } var alphaFrac = rgb_color.alpha.value || 0.0; var rgbParams = [red, green, blue].join(','); return ['rgba(', rgbParams, ',', alphaFrac, ')'].join(''); }; var rgbToCssColor = function(red, green, blue) { var rgbNumber = new Number((red << 16) | (green << 8) | blue); var hexString = rgbNumber.toString(16); var missingZeros = 6 - hexString.length; var resultBuilder = ['#']; for (var i = 0; i < missingZeros; i++) { resultBuilder.push('0'); } resultBuilder.push(hexString); return resultBuilder.join(''); }; // ... # Output only. Badge foreground that pairs with the background.
+                  "alpha": 3.14, # The fraction of this color that should be applied to the pixel. That is, the final pixel color is defined by the equation: `pixel color = alpha * (this color) + (1.0 - alpha) * (background color)` This means that a value of 1.0 corresponds to a solid color, whereas a value of 0.0 corresponds to a completely transparent color. This uses a wrapper message rather than a simple float scalar so that it is possible to distinguish between a default value and the value being unset. If omitted, this color object is rendered as a solid color (as if the alpha value had been explicitly given a value of 1.0).
+                  "blue": 3.14, # The amount of blue in the color as a value in the interval [0, 1].
+                  "green": 3.14, # The amount of green in the color as a value in the interval [0, 1].
+                  "red": 3.14, # The amount of red in the color as a value in the interval [0, 1].
+                },
+                "soloColor": { # Represents a color in the RGBA color space. This representation is designed for simplicity of conversion to/from color representations in various languages over compactness. For example, the fields of this representation can be trivially provided to the constructor of `java.awt.Color` in Java; it can also be trivially provided to UIColor's `+colorWithRed:green:blue:alpha` method in iOS; and, with just a little work, it can be easily formatted into a CSS `rgba()` string in JavaScript. This reference page doesn't carry information about the absolute color space that should be used to interpret the RGB value (e.g. sRGB, Adobe RGB, DCI-P3, BT.2020, etc.). By default, applications should assume the sRGB color space. When color equality needs to be decided, implementations, unless documented otherwise, treat two colors as equal if all their red, green, blue, and alpha values each differ by at most 1e-5. Example (Java): import com.google.type.Color; // ... public static java.awt.Color fromProto(Color protocolor) { float alpha = protocolor.hasAlpha() ? protocolor.getAlpha().getValue() : 1.0; return new java.awt.Color( protocolor.getRed(), protocolor.getGreen(), protocolor.getBlue(), alpha); } public static Color toProto(java.awt.Color color) { float red = (float) color.getRed(); float green = (float) color.getGreen(); float blue = (float) color.getBlue(); float denominator = 255.0; Color.Builder resultBuilder = Color .newBuilder() .setRed(red / denominator) .setGreen(green / denominator) .setBlue(blue / denominator); int alpha = color.getAlpha(); if (alpha != 255) { result.setAlpha( FloatValue .newBuilder() .setValue(((float) alpha) / denominator) .build()); } return resultBuilder.build(); } // ... Example (iOS / Obj-C): // ... static UIColor* fromProto(Color* protocolor) { float red = [protocolor red]; float green = [protocolor green]; float blue = [protocolor blue]; FloatValue* alpha_wrapper = [protocolor alpha]; float alpha = 1.0; if (alpha_wrapper != nil) { alpha = [alpha_wrapper value]; } return [UIColor colorWithRed:red green:green blue:blue alpha:alpha]; } static Color* toProto(UIColor* color) { CGFloat red, green, blue, alpha; if (![color getRed:&red green:&green blue:&blue alpha:&alpha]) { return nil; } Color* result = [[Color alloc] init]; [result setRed:red]; [result setGreen:green]; [result setBlue:blue]; if (alpha <= 0.9999) { [result setAlpha:floatWrapperWithValue(alpha)]; } [result autorelease]; return result; } // ... Example (JavaScript): // ... var protoToCssColor = function(rgb_color) { var redFrac = rgb_color.red || 0.0; var greenFrac = rgb_color.green || 0.0; var blueFrac = rgb_color.blue || 0.0; var red = Math.floor(redFrac * 255); var green = Math.floor(greenFrac * 255); var blue = Math.floor(blueFrac * 255); if (!('alpha' in rgb_color)) { return rgbToCssColor(red, green, blue); } var alphaFrac = rgb_color.alpha.value || 0.0; var rgbParams = [red, green, blue].join(','); return ['rgba(', rgbParams, ',', alphaFrac, ')'].join(''); }; var rgbToCssColor = function(red, green, blue) { var rgbNumber = new Number((red << 16) | (green << 8) | blue); var hexString = rgbNumber.toString(16); var missingZeros = 6 - hexString.length; var resultBuilder = ['#']; for (var i = 0; i < missingZeros; i++) { resultBuilder.push('0'); } resultBuilder.push(hexString); return resultBuilder.join(''); }; // ... # Output only. Color that can be used for text without a background.
+                  "alpha": 3.14, # The fraction of this color that should be applied to the pixel. That is, the final pixel color is defined by the equation: `pixel color = alpha * (this color) + (1.0 - alpha) * (background color)` This means that a value of 1.0 corresponds to a solid color, whereas a value of 0.0 corresponds to a completely transparent color. This uses a wrapper message rather than a simple float scalar so that it is possible to distinguish between a default value and the value being unset. If omitted, this color object is rendered as a solid color (as if the alpha value had been explicitly given a value of 1.0).
+                  "blue": 3.14, # The amount of blue in the color as a value in the interval [0, 1].
+                  "green": 3.14, # The amount of green in the color as a value in the interval [0, 1].
+                  "red": 3.14, # The amount of red in the color as a value in the interval [0, 1].
+                },
+              },
+              "disabled": True or False, # Whether the option should be shown in the UI as disabled.
+              "hiddenInSearch": True or False, # This option should be hidden in the search menu when searching for Drive items.
+              "shownInApply": True or False, # This option should be shown in the apply menu when applying values to a Drive item.
+            },
+            "id": "A String", # The unique value of the choice. This ID is autogenerated. Matches the regex: `([a-zA-Z0-9_])+`.
+            "lifecycle": { # The lifecycle state of an object, such as label, field, or choice. The lifecycle enforces the following transitions: * `UNPUBLISHED_DRAFT` (starting state) * `UNPUBLISHED_DRAFT` -> `PUBLISHED` * `UNPUBLISHED_DRAFT` -> (Deleted) * `PUBLISHED` -> `DISABLED` * `DISABLED` -> `PUBLISHED` * `DISABLED` -> (Deleted) The published and disabled states have some distinct characteristics: * Published—Some kinds of changes might be made to an object in this state, in which case `has_unpublished_changes` will be true. Also, some kinds of changes are not permitted. Generally, any change that would invalidate or cause new restrictions on existing metadata related to the label are rejected. * Disabled—When disabled, the configured `DisabledPolicy` takes effect. # Output only. Lifecycle of the choice.
+              "disabledPolicy": { # The policy that governs how to treat a disabled label, field, or selection choice in different contexts. # The policy that governs how to show a disabled label, field, or selection choice.
+                "hideInSearch": True or False, # Whether to hide this disabled object in the search menu for Drive items. * When `false`, the object is generally shown in the UI as disabled but it appears in the search results when searching for Drive items. * When `true`, the object is generally hidden in the UI when searching for Drive items.
+                "showInApply": True or False, # Whether to show this disabled object in the apply menu on Drive items. * When `true`, the object is generally shown in the UI as disabled and is unselectable. * When `false`, the object is generally hidden in the UI.
+              },
+              "hasUnpublishedChanges": True or False, # Output only. Whether the object associated with this lifecycle has unpublished changes.
+              "state": "A String", # Output only. The state of the object associated with this lifecycle.
+            },
+            "lockStatus": { # Contains information about whether a label component should be considered locked. # Output only. The LockStatus of this choice.
+              "locked": True or False, # Output only. Indicates whether this label component is the (direct) target of a LabelLock. A label component can be implicitly locked even if it's not the direct target of a LabelLock, in which case this field is set to false.
+            },
+            "properties": { # Basic properties of the choice. # Basic properties of the choice.
+              "badgeConfig": { # Badge status of the label. # The badge configuration for this choice. When set, the label that owns this choice is considered a "badged label".
+                "color": { # Represents a color in the RGBA color space. This representation is designed for simplicity of conversion to/from color representations in various languages over compactness. For example, the fields of this representation can be trivially provided to the constructor of `java.awt.Color` in Java; it can also be trivially provided to UIColor's `+colorWithRed:green:blue:alpha` method in iOS; and, with just a little work, it can be easily formatted into a CSS `rgba()` string in JavaScript. This reference page doesn't carry information about the absolute color space that should be used to interpret the RGB value (e.g. sRGB, Adobe RGB, DCI-P3, BT.2020, etc.). By default, applications should assume the sRGB color space. When color equality needs to be decided, implementations, unless documented otherwise, treat two colors as equal if all their red, green, blue, and alpha values each differ by at most 1e-5. Example (Java): import com.google.type.Color; // ... public static java.awt.Color fromProto(Color protocolor) { float alpha = protocolor.hasAlpha() ? protocolor.getAlpha().getValue() : 1.0; return new java.awt.Color( protocolor.getRed(), protocolor.getGreen(), protocolor.getBlue(), alpha); } public static Color toProto(java.awt.Color color) { float red = (float) color.getRed(); float green = (float) color.getGreen(); float blue = (float) color.getBlue(); float denominator = 255.0; Color.Builder resultBuilder = Color .newBuilder() .setRed(red / denominator) .setGreen(green / denominator) .setBlue(blue / denominator); int alpha = color.getAlpha(); if (alpha != 255) { result.setAlpha( FloatValue .newBuilder() .setValue(((float) alpha) / denominator) .build()); } return resultBuilder.build(); } // ... Example (iOS / Obj-C): // ... static UIColor* fromProto(Color* protocolor) { float red = [protocolor red]; float green = [protocolor green]; float blue = [protocolor blue]; FloatValue* alpha_wrapper = [protocolor alpha]; float alpha = 1.0; if (alpha_wrapper != nil) { alpha = [alpha_wrapper value]; } return [UIColor colorWithRed:red green:green blue:blue alpha:alpha]; } static Color* toProto(UIColor* color) { CGFloat red, green, blue, alpha; if (![color getRed:&red green:&green blue:&blue alpha:&alpha]) { return nil; } Color* result = [[Color alloc] init]; [result setRed:red]; [result setGreen:green]; [result setBlue:blue]; if (alpha <= 0.9999) { [result setAlpha:floatWrapperWithValue(alpha)]; } [result autorelease]; return result; } // ... Example (JavaScript): // ... var protoToCssColor = function(rgb_color) { var redFrac = rgb_color.red || 0.0; var greenFrac = rgb_color.green || 0.0; var blueFrac = rgb_color.blue || 0.0; var red = Math.floor(redFrac * 255); var green = Math.floor(greenFrac * 255); var blue = Math.floor(blueFrac * 255); if (!('alpha' in rgb_color)) { return rgbToCssColor(red, green, blue); } var alphaFrac = rgb_color.alpha.value || 0.0; var rgbParams = [red, green, blue].join(','); return ['rgba(', rgbParams, ',', alphaFrac, ')'].join(''); }; var rgbToCssColor = function(red, green, blue) { var rgbNumber = new Number((red << 16) | (green << 8) | blue); var hexString = rgbNumber.toString(16); var missingZeros = 6 - hexString.length; var resultBuilder = ['#']; for (var i = 0; i < missingZeros; i++) { resultBuilder.push('0'); } resultBuilder.push(hexString); return resultBuilder.join(''); }; // ... # The color of the badge. When not specified, no badge is rendered. The background, foreground, and solo (light and dark mode) colors set here are changed in the Drive UI into the closest recommended supported color.
+                  "alpha": 3.14, # The fraction of this color that should be applied to the pixel. That is, the final pixel color is defined by the equation: `pixel color = alpha * (this color) + (1.0 - alpha) * (background color)` This means that a value of 1.0 corresponds to a solid color, whereas a value of 0.0 corresponds to a completely transparent color. This uses a wrapper message rather than a simple float scalar so that it is possible to distinguish between a default value and the value being unset. If omitted, this color object is rendered as a solid color (as if the alpha value had been explicitly given a value of 1.0).
+                  "blue": 3.14, # The amount of blue in the color as a value in the interval [0, 1].
+                  "green": 3.14, # The amount of green in the color as a value in the interval [0, 1].
+                  "red": 3.14, # The amount of red in the color as a value in the interval [0, 1].
+                },
+                "priorityOverride": "A String", # Override the default global priority of this badge. When set to 0, the default priority heuristic is used.
+              },
+              "description": "A String", # The description of this label.
+              "displayName": "A String", # Required. The display text to show in the UI identifying this field.
+              "insertBeforeChoice": "A String", # Input only. Insert or move this choice before the indicated choice. If empty, the choice is placed at the end of the list.
+            },
+            "publishTime": "A String", # Output only. The time this choice was published. This value has no meaning when the choice is not published.
+            "publisher": { # Information about a user. # Output only. The user who published this choice. This value has no meaning when the choice is not published.
+              "person": "A String", # The identifier for this user that can be used with the People API to get more information. For example, people/12345678.
+            },
+            "schemaCapabilities": { # The capabilities related to this choice when editing the choice. # Output only. The capabilities related to this option when editing the option.
+              "canDelete": True or False, # Whether the user can delete this choice.
+              "canDisable": True or False, # Whether the user can disable this choice.
+              "canEnable": True or False, # Whether the user can enable this choice.
+              "canUpdate": True or False, # Whether the user can update this choice.
+            },
+            "updateTime": "A String", # Output only. The time this choice was updated last.
+            "updater": { # Information about a user. # Output only. The user who updated this choice last.
+              "person": "A String", # The identifier for this user that can be used with the People API to get more information. For example, people/12345678.
+            },
+          },
+        ],
+        "listOptions": { # Options for a multi-valued variant of an associated field type. # When specified, indicates this field supports a list of values. Once the field is published, this cannot be changed.
+          "maxEntries": 42, # Maximum number of entries permitted.
+        },
+      },
+      "textOptions": { # Options for the Text field type. # Text field options.
+        "maxLength": 42, # Output only. The maximum valid length of values for the text field.
+        "minLength": 42, # Output only. The minimum valid length of values for the text field.
+      },
+      "updateTime": "A String", # Output only. The time this field was updated.
+      "updater": { # Information about a user. # Output only. The user who modified this field.
+        "person": "A String", # The identifier for this user that can be used with the People API to get more information. For example, people/12345678.
+      },
+      "userOptions": { # Options for the user field type. # User field options.
+        "listOptions": { # Options for a multi-valued variant of an associated field type. # When specified, indicates that this field supports a list of values. Once the field is published, this cannot be changed.
+          "maxEntries": 42, # Maximum number of entries permitted.
+        },
+      },
+    },
+  ],
+  "id": "A String", # Output only. Globally unique identifier of this label. ID makes up part of the label `name`, but unlike `name`, ID is consistent between revisions. Matches the regex: `([a-zA-Z0-9])+`
+  "labelType": "A String", # Required. The type of label.
+  "learnMoreUri": "A String", # Custom URL to present to users to allow them to learn more about this label and how it should be used.
+  "lifecycle": { # The lifecycle state of an object, such as label, field, or choice. The lifecycle enforces the following transitions: * `UNPUBLISHED_DRAFT` (starting state) * `UNPUBLISHED_DRAFT` -> `PUBLISHED` * `UNPUBLISHED_DRAFT` -> (Deleted) * `PUBLISHED` -> `DISABLED` * `DISABLED` -> `PUBLISHED` * `DISABLED` -> (Deleted) The published and disabled states have some distinct characteristics: * Published—Some kinds of changes might be made to an object in this state, in which case `has_unpublished_changes` will be true. Also, some kinds of changes are not permitted. Generally, any change that would invalidate or cause new restrictions on existing metadata related to the label are rejected. * Disabled—When disabled, the configured `DisabledPolicy` takes effect. # Output only. The lifecycle state of the label including whether it's published, deprecated, and has draft changes.
+    "disabledPolicy": { # The policy that governs how to treat a disabled label, field, or selection choice in different contexts. # The policy that governs how to show a disabled label, field, or selection choice.
+      "hideInSearch": True or False, # Whether to hide this disabled object in the search menu for Drive items. * When `false`, the object is generally shown in the UI as disabled but it appears in the search results when searching for Drive items. * When `true`, the object is generally hidden in the UI when searching for Drive items.
+      "showInApply": True or False, # Whether to show this disabled object in the apply menu on Drive items. * When `true`, the object is generally shown in the UI as disabled and is unselectable. * When `false`, the object is generally hidden in the UI.
+    },
+    "hasUnpublishedChanges": True or False, # Output only. Whether the object associated with this lifecycle has unpublished changes.
+    "state": "A String", # Output only. The state of the object associated with this lifecycle.
+  },
+  "lockStatus": { # Contains information about whether a label component should be considered locked. # Output only. The LockStatus of this label.
+    "locked": True or False, # Output only. Indicates whether this label component is the (direct) target of a LabelLock. A label component can be implicitly locked even if it's not the direct target of a LabelLock, in which case this field is set to false.
+  },
+  "name": "A String", # Output only. Resource name of the label. Will be in the form of either: `labels/{id}` or `labels/{id}@{revision_id}` depending on the request. See `id` and `revision_id` below.
+  "properties": { # Basic properties of the label. # Required. The basic properties of the label.
+    "description": "A String", # The description of the label.
+    "title": "A String", # Required. Title of the label.
+  },
+  "publishTime": "A String", # Output only. The time this label was published. This value has no meaning when the label is not published.
+  "publisher": { # Information about a user. # Output only. The user who published this label. This value has no meaning when the label is not published.
+    "person": "A String", # The identifier for this user that can be used with the People API to get more information. For example, people/12345678.
+  },
+  "revisionCreateTime": "A String", # Output only. The time this label revision was created.
+  "revisionCreator": { # Information about a user. # Output only. The user who created this label revision.
+    "person": "A String", # The identifier for this user that can be used with the People API to get more information. For example, people/12345678.
+  },
+  "revisionId": "A String", # Output only. Revision ID of the label. Revision ID might be part of the label `name` depending on the request issued. A new revision is created whenever revisioned properties of a label are changed. Matches the regex: `([a-zA-Z0-9])+`
+  "schemaCapabilities": { # The capabilities related to this label when editing the label. # Output only. The capabilities the user has on this label.
+    "canDelete": True or False, # Whether the user can delete this label. The user must have permission and the label must be disabled.
+    "canDisable": True or False, # Whether the user can disable this label. The user must have permission and this label must not already be disabled.
+    "canEnable": True or False, # Whether the user can enable this label. The user must have permission and this label must be disabled.
+    "canUpdate": True or False, # Whether the user can change this label.
+  },
+}
+
+ +
+ list(languageCode=None, minimumRole=None, pageSize=None, pageToken=None, publishedOnly=None, useAdminAccess=None, view=None, x__xgafv=None) +
List labels.
+
+Args:
+  languageCode: string, The BCP-47 language code to use for evaluating localized field labels. When not specified, values in the default configured language are used.
+  minimumRole: string, Specifies the level of access the user must have on the returned Labels. The minimum role a user must have on a label. Defaults to `READER`.
+    Allowed values
+      LABEL_ROLE_UNSPECIFIED - Unknown role.
+      READER - A reader can read the label and associated metadata applied to Drive items.
+      APPLIER - An applier can write associated metadata on Drive items in which they also have write access to. Implies `READER`.
+      ORGANIZER - An organizer can pin this label in shared drives they manage and add new appliers to the label.
+      EDITOR - Editors can make any update including deleting the label which also deletes the associated Drive item metadata. Implies `APPLIER`.
+  pageSize: integer, Maximum number of labels to return per page. Default: 50. Max: 200.
+  pageToken: string, The token of the page to return.
+  publishedOnly: boolean, Whether to include only published labels in the results. * When `true`, only the current published label revisions are returned. Disabled labels are included. Returned label resource names reference the published revision (`labels/{id}/{revision_id}`). * When `false`, the current label revisions are returned, which might not be published. Returned label resource names don't reference a specific revision (`labels/{id}`).
+  useAdminAccess: boolean, Set to `true` in order to use the user's admin credentials. This will return all Labels within the customer.
+  view: string, When specified, only certain fields belonging to the indicated view are returned.
+    Allowed values
+      LABEL_VIEW_BASIC - Implies the field mask: `name,id,revision_id,label_type,properties.*`
+      LABEL_VIEW_FULL - All possible fields.
+  x__xgafv: string, V1 error format.
+    Allowed values
+      1 - v1 error format
+      2 - v2 error format
+
+Returns:
+  An object of the form:
+
+    { # Response for listing Labels.
+  "labels": [ # Labels.
+    { # A label defines a taxonomy that can be applied to Drive items in order to organize and search across items. Labels can be simple strings, or can contain fields that describe additional metadata that can be further used to organize and search Drive items.
+      "appliedCapabilities": { # The capabilities a user has on this label's applied metadata. # Output only. The capabilities related to this label on applied metadata.
+        "canApply": True or False, # Whether the user can apply this label to items.
+        "canRead": True or False, # Whether the user can read applied metadata related to this label.
+        "canRemove": True or False, # Whether the user can remove this label from items.
+      },
+      "appliedLabelPolicy": { # Behavior of this label when it's applied to Drive items. # Output only. Behavior of this label when it's applied to Drive items.
+        "copyMode": "A String", # Indicates how the applied label and field values should be copied when a Drive item is copied.
+      },
+      "createTime": "A String", # Output only. The time this label was created.
+      "creator": { # Information about a user. # Output only. The user who created this label.
+        "person": "A String", # The identifier for this user that can be used with the People API to get more information. For example, people/12345678.
+      },
+      "disableTime": "A String", # Output only. The time this label was disabled. This value has no meaning when the label is not disabled.
+      "disabler": { # Information about a user. # Output only. The user who disabled this label. This value has no meaning when the label is not disabled.
+        "person": "A String", # The identifier for this user that can be used with the People API to get more information. For example, people/12345678.
+      },
+      "displayHints": { # UI display hints for rendering the label. # Output only. UI display hints for rendering the label.
+        "disabled": True or False, # Whether the label should be shown in the UI as disabled.
+        "hiddenInSearch": True or False, # This label should be hidden in the search menu when searching for Drive items.
+        "priority": "A String", # Order to display label in a list.
+        "shownInApply": True or False, # This label should be shown in the apply menu when applying values to a Drive item.
+      },
+      "fields": [ # List of fields in descending priority order.
+        { # Defines a field that has a display name, data type, and other configuration options. This field defines the kind of metadata that may be set on a Drive item.
+          "appliedCapabilities": { # The capabilities related to this field on applied metadata. # Output only. The capabilities this user has on this field and its value when the label is applied on Drive items.
+            "canRead": True or False, # Whether the user can read related applied metadata on items.
+            "canSearch": True or False, # Whether the user can search for Drive items referencing this field.
+            "canWrite": True or False, # Whether the user can set this field on Drive items.
+          },
+          "createTime": "A String", # Output only. The time this field was created.
+          "creator": { # Information about a user. # Output only. The user who created this field.
+            "person": "A String", # The identifier for this user that can be used with the People API to get more information. For example, people/12345678.
+          },
+          "dateOptions": { # Options for the date field type. # Date field options.
+            "dateFormat": "A String", # Output only. ICU date format.
+            "dateFormatType": "A String", # Localized date formatting option. Field values are rendered in this format according to their locale.
+            "maxValue": { # Represents a whole or partial calendar date, such as a birthday. The time of day and time zone are either specified elsewhere or are insignificant. The date is relative to the Gregorian Calendar. This can represent one of the following: * A full date, with non-zero year, month, and day values. * A month and day, with a zero year (for example, an anniversary). * A year on its own, with a zero month and a zero day. * A year and month, with a zero day (for example, a credit card expiration date). Related types: * google.type.TimeOfDay * google.type.DateTime * google.protobuf.Timestamp # Output only. Maximum valid value (year, month, day).
+              "day": 42, # Day of a month. Must be from 1 to 31 and valid for the year and month, or 0 to specify a year by itself or a year and month where the day isn't significant.
+              "month": 42, # Month of a year. Must be from 1 to 12, or 0 to specify a year without a month and day.
+              "year": 42, # Year of the date. Must be from 1 to 9999, or 0 to specify a date without a year.
+            },
+            "minValue": { # Represents a whole or partial calendar date, such as a birthday. The time of day and time zone are either specified elsewhere or are insignificant. The date is relative to the Gregorian Calendar. This can represent one of the following: * A full date, with non-zero year, month, and day values. * A month and day, with a zero year (for example, an anniversary). * A year on its own, with a zero month and a zero day. * A year and month, with a zero day (for example, a credit card expiration date). Related types: * google.type.TimeOfDay * google.type.DateTime * google.protobuf.Timestamp # Output only. Minimum valid value (year, month, day).
+              "day": 42, # Day of a month. Must be from 1 to 31 and valid for the year and month, or 0 to specify a year by itself or a year and month where the day isn't significant.
+              "month": 42, # Month of a year. Must be from 1 to 12, or 0 to specify a year without a month and day.
+              "year": 42, # Year of the date. Must be from 1 to 9999, or 0 to specify a date without a year.
+            },
+          },
+          "disableTime": "A String", # Output only. The time this field was disabled. This value has no meaning when the field is not disabled.
+          "disabler": { # Information about a user. # Output only. The user who disabled this field. This value has no meaning when the field is not disabled.
+            "person": "A String", # The identifier for this user that can be used with the People API to get more information. For example, people/12345678.
+          },
+          "displayHints": { # UI display hints for rendering a field. # Output only. UI display hints for rendering a field.
+            "disabled": True or False, # Whether the field should be shown in the UI as disabled.
+            "hiddenInSearch": True or False, # This field should be hidden in the search menu when searching for Drive items.
+            "required": True or False, # Whether the field should be shown as required in the UI.
+            "shownInApply": True or False, # This field should be shown in the apply menu when applying values to a Drive item.
+          },
+          "id": "A String", # Output only. The key of a field, unique within a label or library. This value is autogenerated. Matches the regex: `([a-zA-Z0-9])+`
+          "integerOptions": { # Options for the Integer field type. # Integer field options.
+            "maxValue": "A String", # Output only. The maximum valid value for the integer field.
+            "minValue": "A String", # Output only. The minimum valid value for the integer field.
+          },
+          "lifecycle": { # The lifecycle state of an object, such as label, field, or choice. The lifecycle enforces the following transitions: * `UNPUBLISHED_DRAFT` (starting state) * `UNPUBLISHED_DRAFT` -> `PUBLISHED` * `UNPUBLISHED_DRAFT` -> (Deleted) * `PUBLISHED` -> `DISABLED` * `DISABLED` -> `PUBLISHED` * `DISABLED` -> (Deleted) The published and disabled states have some distinct characteristics: * Published—Some kinds of changes might be made to an object in this state, in which case `has_unpublished_changes` will be true. Also, some kinds of changes are not permitted. Generally, any change that would invalidate or cause new restrictions on existing metadata related to the label are rejected. * Disabled—When disabled, the configured `DisabledPolicy` takes effect. # Output only. The lifecycle of this field.
+            "disabledPolicy": { # The policy that governs how to treat a disabled label, field, or selection choice in different contexts. # The policy that governs how to show a disabled label, field, or selection choice.
+              "hideInSearch": True or False, # Whether to hide this disabled object in the search menu for Drive items. * When `false`, the object is generally shown in the UI as disabled but it appears in the search results when searching for Drive items. * When `true`, the object is generally hidden in the UI when searching for Drive items.
+              "showInApply": True or False, # Whether to show this disabled object in the apply menu on Drive items. * When `true`, the object is generally shown in the UI as disabled and is unselectable. * When `false`, the object is generally hidden in the UI.
+            },
+            "hasUnpublishedChanges": True or False, # Output only. Whether the object associated with this lifecycle has unpublished changes.
+            "state": "A String", # Output only. The state of the object associated with this lifecycle.
+          },
+          "lockStatus": { # Contains information about whether a label component should be considered locked. # Output only. The LockStatus of this field.
+            "locked": True or False, # Output only. Indicates whether this label component is the (direct) target of a LabelLock. A label component can be implicitly locked even if it's not the direct target of a LabelLock, in which case this field is set to false.
+          },
+          "properties": { # The basic properties of the field. # The basic properties of the field.
+            "displayName": "A String", # Required. The display text to show in the UI identifying this field.
+            "insertBeforeField": "A String", # Input only. Insert or move this field before the indicated field. If empty, the field is placed at the end of the list.
+            "required": True or False, # Whether the field should be marked as required.
+          },
+          "publisher": { # Information about a user. # Output only. The user who published this field. This value has no meaning when the field is not published.
+            "person": "A String", # The identifier for this user that can be used with the People API to get more information. For example, people/12345678.
+          },
+          "queryKey": "A String", # Output only. The key to use when constructing Drive search queries to find files based on values defined for this field on files. For example, "`{query_key}` > 2001-01-01".
+          "schemaCapabilities": { # The capabilities related to this field when editing the field. # Output only. The capabilities this user has when editing this field.
+            "canDelete": True or False, # Whether the user can delete this field. The user must have permission and the field must be deprecated.
+            "canDisable": True or False, # Whether the user can disable this field. The user must have permission and this field must not already be disabled.
+            "canEnable": True or False, # Whether the user can enable this field. The user must have permission and this field must be disabled.
+            "canUpdate": True or False, # Whether the user can change this field.
+          },
+          "selectionOptions": { # Options for the selection field type. # Selection field options.
+            "choices": [ # The options available for this selection field. The list order is consistent, and modified with `insert_before_choice`.
+              { # Selection field choice.
+                "appliedCapabilities": { # The capabilities related to this choice on applied metadata. # Output only. The capabilities related to this choice on applied metadata.
+                  "canRead": True or False, # Whether the user can read related applied metadata on items.
+                  "canSearch": True or False, # Whether the user can use this choice in search queries.
+                  "canSelect": True or False, # Whether the user can select this choice on an item.
+                },
+                "createTime": "A String", # Output only. The time this choice was created.
+                "creator": { # Information about a user. # Output only. The user who created this choice.
+                  "person": "A String", # The identifier for this user that can be used with the People API to get more information. For example, people/12345678.
+                },
+                "disableTime": "A String", # Output only. The time this choice was disabled. This value has no meaning when the choice is not disabled.
+                "disabler": { # Information about a user. # Output only. The user who disabled this choice. This value has no meaning when the option is not disabled.
+                  "person": "A String", # The identifier for this user that can be used with the People API to get more information. For example, people/12345678.
+                },
+                "displayHints": { # UI display hints for rendering an option. # Output only. UI display hints for rendering a choice.
+                  "badgeColors": { # The color derived from BadgeConfig and changed to the closest recommended supported color. # The colors to use for the badge. Changed to Google Material colors based on the chosen `properties.badge_config.color`.
+                    "backgroundColor": { # Represents a color in the RGBA color space. This representation is designed for simplicity of conversion to/from color representations in various languages over compactness. For example, the fields of this representation can be trivially provided to the constructor of `java.awt.Color` in Java; it can also be trivially provided to UIColor's `+colorWithRed:green:blue:alpha` method in iOS; and, with just a little work, it can be easily formatted into a CSS `rgba()` string in JavaScript. This reference page doesn't carry information about the absolute color space that should be used to interpret the RGB value (e.g. sRGB, Adobe RGB, DCI-P3, BT.2020, etc.). By default, applications should assume the sRGB color space. When color equality needs to be decided, implementations, unless documented otherwise, treat two colors as equal if all their red, green, blue, and alpha values each differ by at most 1e-5. Example (Java): import com.google.type.Color; // ... public static java.awt.Color fromProto(Color protocolor) { float alpha = protocolor.hasAlpha() ? protocolor.getAlpha().getValue() : 1.0; return new java.awt.Color( protocolor.getRed(), protocolor.getGreen(), protocolor.getBlue(), alpha); } public static Color toProto(java.awt.Color color) { float red = (float) color.getRed(); float green = (float) color.getGreen(); float blue = (float) color.getBlue(); float denominator = 255.0; Color.Builder resultBuilder = Color .newBuilder() .setRed(red / denominator) .setGreen(green / denominator) .setBlue(blue / denominator); int alpha = color.getAlpha(); if (alpha != 255) { result.setAlpha( FloatValue .newBuilder() .setValue(((float) alpha) / denominator) .build()); } return resultBuilder.build(); } // ... Example (iOS / Obj-C): // ... static UIColor* fromProto(Color* protocolor) { float red = [protocolor red]; float green = [protocolor green]; float blue = [protocolor blue]; FloatValue* alpha_wrapper = [protocolor alpha]; float alpha = 1.0; if (alpha_wrapper != nil) { alpha = [alpha_wrapper value]; } return [UIColor colorWithRed:red green:green blue:blue alpha:alpha]; } static Color* toProto(UIColor* color) { CGFloat red, green, blue, alpha; if (![color getRed:&red green:&green blue:&blue alpha:&alpha]) { return nil; } Color* result = [[Color alloc] init]; [result setRed:red]; [result setGreen:green]; [result setBlue:blue]; if (alpha <= 0.9999) { [result setAlpha:floatWrapperWithValue(alpha)]; } [result autorelease]; return result; } // ... Example (JavaScript): // ... var protoToCssColor = function(rgb_color) { var redFrac = rgb_color.red || 0.0; var greenFrac = rgb_color.green || 0.0; var blueFrac = rgb_color.blue || 0.0; var red = Math.floor(redFrac * 255); var green = Math.floor(greenFrac * 255); var blue = Math.floor(blueFrac * 255); if (!('alpha' in rgb_color)) { return rgbToCssColor(red, green, blue); } var alphaFrac = rgb_color.alpha.value || 0.0; var rgbParams = [red, green, blue].join(','); return ['rgba(', rgbParams, ',', alphaFrac, ')'].join(''); }; var rgbToCssColor = function(red, green, blue) { var rgbNumber = new Number((red << 16) | (green << 8) | blue); var hexString = rgbNumber.toString(16); var missingZeros = 6 - hexString.length; var resultBuilder = ['#']; for (var i = 0; i < missingZeros; i++) { resultBuilder.push('0'); } resultBuilder.push(hexString); return resultBuilder.join(''); }; // ... # Output only. Badge background that pairs with the foreground.
+                      "alpha": 3.14, # The fraction of this color that should be applied to the pixel. That is, the final pixel color is defined by the equation: `pixel color = alpha * (this color) + (1.0 - alpha) * (background color)` This means that a value of 1.0 corresponds to a solid color, whereas a value of 0.0 corresponds to a completely transparent color. This uses a wrapper message rather than a simple float scalar so that it is possible to distinguish between a default value and the value being unset. If omitted, this color object is rendered as a solid color (as if the alpha value had been explicitly given a value of 1.0).
+                      "blue": 3.14, # The amount of blue in the color as a value in the interval [0, 1].
+                      "green": 3.14, # The amount of green in the color as a value in the interval [0, 1].
+                      "red": 3.14, # The amount of red in the color as a value in the interval [0, 1].
+                    },
+                    "foregroundColor": { # Represents a color in the RGBA color space. This representation is designed for simplicity of conversion to/from color representations in various languages over compactness. For example, the fields of this representation can be trivially provided to the constructor of `java.awt.Color` in Java; it can also be trivially provided to UIColor's `+colorWithRed:green:blue:alpha` method in iOS; and, with just a little work, it can be easily formatted into a CSS `rgba()` string in JavaScript. This reference page doesn't carry information about the absolute color space that should be used to interpret the RGB value (e.g. sRGB, Adobe RGB, DCI-P3, BT.2020, etc.). By default, applications should assume the sRGB color space. When color equality needs to be decided, implementations, unless documented otherwise, treat two colors as equal if all their red, green, blue, and alpha values each differ by at most 1e-5. Example (Java): import com.google.type.Color; // ... public static java.awt.Color fromProto(Color protocolor) { float alpha = protocolor.hasAlpha() ? protocolor.getAlpha().getValue() : 1.0; return new java.awt.Color( protocolor.getRed(), protocolor.getGreen(), protocolor.getBlue(), alpha); } public static Color toProto(java.awt.Color color) { float red = (float) color.getRed(); float green = (float) color.getGreen(); float blue = (float) color.getBlue(); float denominator = 255.0; Color.Builder resultBuilder = Color .newBuilder() .setRed(red / denominator) .setGreen(green / denominator) .setBlue(blue / denominator); int alpha = color.getAlpha(); if (alpha != 255) { result.setAlpha( FloatValue .newBuilder() .setValue(((float) alpha) / denominator) .build()); } return resultBuilder.build(); } // ... Example (iOS / Obj-C): // ... static UIColor* fromProto(Color* protocolor) { float red = [protocolor red]; float green = [protocolor green]; float blue = [protocolor blue]; FloatValue* alpha_wrapper = [protocolor alpha]; float alpha = 1.0; if (alpha_wrapper != nil) { alpha = [alpha_wrapper value]; } return [UIColor colorWithRed:red green:green blue:blue alpha:alpha]; } static Color* toProto(UIColor* color) { CGFloat red, green, blue, alpha; if (![color getRed:&red green:&green blue:&blue alpha:&alpha]) { return nil; } Color* result = [[Color alloc] init]; [result setRed:red]; [result setGreen:green]; [result setBlue:blue]; if (alpha <= 0.9999) { [result setAlpha:floatWrapperWithValue(alpha)]; } [result autorelease]; return result; } // ... Example (JavaScript): // ... var protoToCssColor = function(rgb_color) { var redFrac = rgb_color.red || 0.0; var greenFrac = rgb_color.green || 0.0; var blueFrac = rgb_color.blue || 0.0; var red = Math.floor(redFrac * 255); var green = Math.floor(greenFrac * 255); var blue = Math.floor(blueFrac * 255); if (!('alpha' in rgb_color)) { return rgbToCssColor(red, green, blue); } var alphaFrac = rgb_color.alpha.value || 0.0; var rgbParams = [red, green, blue].join(','); return ['rgba(', rgbParams, ',', alphaFrac, ')'].join(''); }; var rgbToCssColor = function(red, green, blue) { var rgbNumber = new Number((red << 16) | (green << 8) | blue); var hexString = rgbNumber.toString(16); var missingZeros = 6 - hexString.length; var resultBuilder = ['#']; for (var i = 0; i < missingZeros; i++) { resultBuilder.push('0'); } resultBuilder.push(hexString); return resultBuilder.join(''); }; // ... # Output only. Badge foreground that pairs with the background.
+                      "alpha": 3.14, # The fraction of this color that should be applied to the pixel. That is, the final pixel color is defined by the equation: `pixel color = alpha * (this color) + (1.0 - alpha) * (background color)` This means that a value of 1.0 corresponds to a solid color, whereas a value of 0.0 corresponds to a completely transparent color. This uses a wrapper message rather than a simple float scalar so that it is possible to distinguish between a default value and the value being unset. If omitted, this color object is rendered as a solid color (as if the alpha value had been explicitly given a value of 1.0).
+                      "blue": 3.14, # The amount of blue in the color as a value in the interval [0, 1].
+                      "green": 3.14, # The amount of green in the color as a value in the interval [0, 1].
+                      "red": 3.14, # The amount of red in the color as a value in the interval [0, 1].
+                    },
+                    "soloColor": { # Represents a color in the RGBA color space. This representation is designed for simplicity of conversion to/from color representations in various languages over compactness. For example, the fields of this representation can be trivially provided to the constructor of `java.awt.Color` in Java; it can also be trivially provided to UIColor's `+colorWithRed:green:blue:alpha` method in iOS; and, with just a little work, it can be easily formatted into a CSS `rgba()` string in JavaScript. This reference page doesn't carry information about the absolute color space that should be used to interpret the RGB value (e.g. sRGB, Adobe RGB, DCI-P3, BT.2020, etc.). By default, applications should assume the sRGB color space. When color equality needs to be decided, implementations, unless documented otherwise, treat two colors as equal if all their red, green, blue, and alpha values each differ by at most 1e-5. Example (Java): import com.google.type.Color; // ... public static java.awt.Color fromProto(Color protocolor) { float alpha = protocolor.hasAlpha() ? protocolor.getAlpha().getValue() : 1.0; return new java.awt.Color( protocolor.getRed(), protocolor.getGreen(), protocolor.getBlue(), alpha); } public static Color toProto(java.awt.Color color) { float red = (float) color.getRed(); float green = (float) color.getGreen(); float blue = (float) color.getBlue(); float denominator = 255.0; Color.Builder resultBuilder = Color .newBuilder() .setRed(red / denominator) .setGreen(green / denominator) .setBlue(blue / denominator); int alpha = color.getAlpha(); if (alpha != 255) { result.setAlpha( FloatValue .newBuilder() .setValue(((float) alpha) / denominator) .build()); } return resultBuilder.build(); } // ... Example (iOS / Obj-C): // ... static UIColor* fromProto(Color* protocolor) { float red = [protocolor red]; float green = [protocolor green]; float blue = [protocolor blue]; FloatValue* alpha_wrapper = [protocolor alpha]; float alpha = 1.0; if (alpha_wrapper != nil) { alpha = [alpha_wrapper value]; } return [UIColor colorWithRed:red green:green blue:blue alpha:alpha]; } static Color* toProto(UIColor* color) { CGFloat red, green, blue, alpha; if (![color getRed:&red green:&green blue:&blue alpha:&alpha]) { return nil; } Color* result = [[Color alloc] init]; [result setRed:red]; [result setGreen:green]; [result setBlue:blue]; if (alpha <= 0.9999) { [result setAlpha:floatWrapperWithValue(alpha)]; } [result autorelease]; return result; } // ... Example (JavaScript): // ... var protoToCssColor = function(rgb_color) { var redFrac = rgb_color.red || 0.0; var greenFrac = rgb_color.green || 0.0; var blueFrac = rgb_color.blue || 0.0; var red = Math.floor(redFrac * 255); var green = Math.floor(greenFrac * 255); var blue = Math.floor(blueFrac * 255); if (!('alpha' in rgb_color)) { return rgbToCssColor(red, green, blue); } var alphaFrac = rgb_color.alpha.value || 0.0; var rgbParams = [red, green, blue].join(','); return ['rgba(', rgbParams, ',', alphaFrac, ')'].join(''); }; var rgbToCssColor = function(red, green, blue) { var rgbNumber = new Number((red << 16) | (green << 8) | blue); var hexString = rgbNumber.toString(16); var missingZeros = 6 - hexString.length; var resultBuilder = ['#']; for (var i = 0; i < missingZeros; i++) { resultBuilder.push('0'); } resultBuilder.push(hexString); return resultBuilder.join(''); }; // ... # Output only. Color that can be used for text without a background.
+                      "alpha": 3.14, # The fraction of this color that should be applied to the pixel. That is, the final pixel color is defined by the equation: `pixel color = alpha * (this color) + (1.0 - alpha) * (background color)` This means that a value of 1.0 corresponds to a solid color, whereas a value of 0.0 corresponds to a completely transparent color. This uses a wrapper message rather than a simple float scalar so that it is possible to distinguish between a default value and the value being unset. If omitted, this color object is rendered as a solid color (as if the alpha value had been explicitly given a value of 1.0).
+                      "blue": 3.14, # The amount of blue in the color as a value in the interval [0, 1].
+                      "green": 3.14, # The amount of green in the color as a value in the interval [0, 1].
+                      "red": 3.14, # The amount of red in the color as a value in the interval [0, 1].
+                    },
+                  },
+                  "badgePriority": "A String", # The priority of this badge. Used to compare and sort between multiple badges. A lower number means the badge should be shown first. When a badging configuration is not present, this will be 0. Otherwise, this will be set to `BadgeConfig.priority_override` or the default heuristic which prefers creation date of the label, and field and option priority.
+                  "darkBadgeColors": { # The color derived from BadgeConfig and changed to the closest recommended supported color. # The dark-mode color to use for the badge. Changed to Google Material colors based on the chosen `properties.badge_config.color`.
+                    "backgroundColor": { # Represents a color in the RGBA color space. This representation is designed for simplicity of conversion to/from color representations in various languages over compactness. For example, the fields of this representation can be trivially provided to the constructor of `java.awt.Color` in Java; it can also be trivially provided to UIColor's `+colorWithRed:green:blue:alpha` method in iOS; and, with just a little work, it can be easily formatted into a CSS `rgba()` string in JavaScript. This reference page doesn't carry information about the absolute color space that should be used to interpret the RGB value (e.g. sRGB, Adobe RGB, DCI-P3, BT.2020, etc.). By default, applications should assume the sRGB color space. When color equality needs to be decided, implementations, unless documented otherwise, treat two colors as equal if all their red, green, blue, and alpha values each differ by at most 1e-5. Example (Java): import com.google.type.Color; // ... public static java.awt.Color fromProto(Color protocolor) { float alpha = protocolor.hasAlpha() ? protocolor.getAlpha().getValue() : 1.0; return new java.awt.Color( protocolor.getRed(), protocolor.getGreen(), protocolor.getBlue(), alpha); } public static Color toProto(java.awt.Color color) { float red = (float) color.getRed(); float green = (float) color.getGreen(); float blue = (float) color.getBlue(); float denominator = 255.0; Color.Builder resultBuilder = Color .newBuilder() .setRed(red / denominator) .setGreen(green / denominator) .setBlue(blue / denominator); int alpha = color.getAlpha(); if (alpha != 255) { result.setAlpha( FloatValue .newBuilder() .setValue(((float) alpha) / denominator) .build()); } return resultBuilder.build(); } // ... Example (iOS / Obj-C): // ... static UIColor* fromProto(Color* protocolor) { float red = [protocolor red]; float green = [protocolor green]; float blue = [protocolor blue]; FloatValue* alpha_wrapper = [protocolor alpha]; float alpha = 1.0; if (alpha_wrapper != nil) { alpha = [alpha_wrapper value]; } return [UIColor colorWithRed:red green:green blue:blue alpha:alpha]; } static Color* toProto(UIColor* color) { CGFloat red, green, blue, alpha; if (![color getRed:&red green:&green blue:&blue alpha:&alpha]) { return nil; } Color* result = [[Color alloc] init]; [result setRed:red]; [result setGreen:green]; [result setBlue:blue]; if (alpha <= 0.9999) { [result setAlpha:floatWrapperWithValue(alpha)]; } [result autorelease]; return result; } // ... Example (JavaScript): // ... var protoToCssColor = function(rgb_color) { var redFrac = rgb_color.red || 0.0; var greenFrac = rgb_color.green || 0.0; var blueFrac = rgb_color.blue || 0.0; var red = Math.floor(redFrac * 255); var green = Math.floor(greenFrac * 255); var blue = Math.floor(blueFrac * 255); if (!('alpha' in rgb_color)) { return rgbToCssColor(red, green, blue); } var alphaFrac = rgb_color.alpha.value || 0.0; var rgbParams = [red, green, blue].join(','); return ['rgba(', rgbParams, ',', alphaFrac, ')'].join(''); }; var rgbToCssColor = function(red, green, blue) { var rgbNumber = new Number((red << 16) | (green << 8) | blue); var hexString = rgbNumber.toString(16); var missingZeros = 6 - hexString.length; var resultBuilder = ['#']; for (var i = 0; i < missingZeros; i++) { resultBuilder.push('0'); } resultBuilder.push(hexString); return resultBuilder.join(''); }; // ... # Output only. Badge background that pairs with the foreground.
+                      "alpha": 3.14, # The fraction of this color that should be applied to the pixel. That is, the final pixel color is defined by the equation: `pixel color = alpha * (this color) + (1.0 - alpha) * (background color)` This means that a value of 1.0 corresponds to a solid color, whereas a value of 0.0 corresponds to a completely transparent color. This uses a wrapper message rather than a simple float scalar so that it is possible to distinguish between a default value and the value being unset. If omitted, this color object is rendered as a solid color (as if the alpha value had been explicitly given a value of 1.0).
+                      "blue": 3.14, # The amount of blue in the color as a value in the interval [0, 1].
+                      "green": 3.14, # The amount of green in the color as a value in the interval [0, 1].
+                      "red": 3.14, # The amount of red in the color as a value in the interval [0, 1].
+                    },
+                    "foregroundColor": { # Represents a color in the RGBA color space. This representation is designed for simplicity of conversion to/from color representations in various languages over compactness. For example, the fields of this representation can be trivially provided to the constructor of `java.awt.Color` in Java; it can also be trivially provided to UIColor's `+colorWithRed:green:blue:alpha` method in iOS; and, with just a little work, it can be easily formatted into a CSS `rgba()` string in JavaScript. This reference page doesn't carry information about the absolute color space that should be used to interpret the RGB value (e.g. sRGB, Adobe RGB, DCI-P3, BT.2020, etc.). By default, applications should assume the sRGB color space. When color equality needs to be decided, implementations, unless documented otherwise, treat two colors as equal if all their red, green, blue, and alpha values each differ by at most 1e-5. Example (Java): import com.google.type.Color; // ... public static java.awt.Color fromProto(Color protocolor) { float alpha = protocolor.hasAlpha() ? protocolor.getAlpha().getValue() : 1.0; return new java.awt.Color( protocolor.getRed(), protocolor.getGreen(), protocolor.getBlue(), alpha); } public static Color toProto(java.awt.Color color) { float red = (float) color.getRed(); float green = (float) color.getGreen(); float blue = (float) color.getBlue(); float denominator = 255.0; Color.Builder resultBuilder = Color .newBuilder() .setRed(red / denominator) .setGreen(green / denominator) .setBlue(blue / denominator); int alpha = color.getAlpha(); if (alpha != 255) { result.setAlpha( FloatValue .newBuilder() .setValue(((float) alpha) / denominator) .build()); } return resultBuilder.build(); } // ... Example (iOS / Obj-C): // ... static UIColor* fromProto(Color* protocolor) { float red = [protocolor red]; float green = [protocolor green]; float blue = [protocolor blue]; FloatValue* alpha_wrapper = [protocolor alpha]; float alpha = 1.0; if (alpha_wrapper != nil) { alpha = [alpha_wrapper value]; } return [UIColor colorWithRed:red green:green blue:blue alpha:alpha]; } static Color* toProto(UIColor* color) { CGFloat red, green, blue, alpha; if (![color getRed:&red green:&green blue:&blue alpha:&alpha]) { return nil; } Color* result = [[Color alloc] init]; [result setRed:red]; [result setGreen:green]; [result setBlue:blue]; if (alpha <= 0.9999) { [result setAlpha:floatWrapperWithValue(alpha)]; } [result autorelease]; return result; } // ... Example (JavaScript): // ... var protoToCssColor = function(rgb_color) { var redFrac = rgb_color.red || 0.0; var greenFrac = rgb_color.green || 0.0; var blueFrac = rgb_color.blue || 0.0; var red = Math.floor(redFrac * 255); var green = Math.floor(greenFrac * 255); var blue = Math.floor(blueFrac * 255); if (!('alpha' in rgb_color)) { return rgbToCssColor(red, green, blue); } var alphaFrac = rgb_color.alpha.value || 0.0; var rgbParams = [red, green, blue].join(','); return ['rgba(', rgbParams, ',', alphaFrac, ')'].join(''); }; var rgbToCssColor = function(red, green, blue) { var rgbNumber = new Number((red << 16) | (green << 8) | blue); var hexString = rgbNumber.toString(16); var missingZeros = 6 - hexString.length; var resultBuilder = ['#']; for (var i = 0; i < missingZeros; i++) { resultBuilder.push('0'); } resultBuilder.push(hexString); return resultBuilder.join(''); }; // ... # Output only. Badge foreground that pairs with the background.
+                      "alpha": 3.14, # The fraction of this color that should be applied to the pixel. That is, the final pixel color is defined by the equation: `pixel color = alpha * (this color) + (1.0 - alpha) * (background color)` This means that a value of 1.0 corresponds to a solid color, whereas a value of 0.0 corresponds to a completely transparent color. This uses a wrapper message rather than a simple float scalar so that it is possible to distinguish between a default value and the value being unset. If omitted, this color object is rendered as a solid color (as if the alpha value had been explicitly given a value of 1.0).
+                      "blue": 3.14, # The amount of blue in the color as a value in the interval [0, 1].
+                      "green": 3.14, # The amount of green in the color as a value in the interval [0, 1].
+                      "red": 3.14, # The amount of red in the color as a value in the interval [0, 1].
+                    },
+                    "soloColor": { # Represents a color in the RGBA color space. This representation is designed for simplicity of conversion to/from color representations in various languages over compactness. For example, the fields of this representation can be trivially provided to the constructor of `java.awt.Color` in Java; it can also be trivially provided to UIColor's `+colorWithRed:green:blue:alpha` method in iOS; and, with just a little work, it can be easily formatted into a CSS `rgba()` string in JavaScript. This reference page doesn't carry information about the absolute color space that should be used to interpret the RGB value (e.g. sRGB, Adobe RGB, DCI-P3, BT.2020, etc.). By default, applications should assume the sRGB color space. When color equality needs to be decided, implementations, unless documented otherwise, treat two colors as equal if all their red, green, blue, and alpha values each differ by at most 1e-5. Example (Java): import com.google.type.Color; // ... public static java.awt.Color fromProto(Color protocolor) { float alpha = protocolor.hasAlpha() ? protocolor.getAlpha().getValue() : 1.0; return new java.awt.Color( protocolor.getRed(), protocolor.getGreen(), protocolor.getBlue(), alpha); } public static Color toProto(java.awt.Color color) { float red = (float) color.getRed(); float green = (float) color.getGreen(); float blue = (float) color.getBlue(); float denominator = 255.0; Color.Builder resultBuilder = Color .newBuilder() .setRed(red / denominator) .setGreen(green / denominator) .setBlue(blue / denominator); int alpha = color.getAlpha(); if (alpha != 255) { result.setAlpha( FloatValue .newBuilder() .setValue(((float) alpha) / denominator) .build()); } return resultBuilder.build(); } // ... Example (iOS / Obj-C): // ... static UIColor* fromProto(Color* protocolor) { float red = [protocolor red]; float green = [protocolor green]; float blue = [protocolor blue]; FloatValue* alpha_wrapper = [protocolor alpha]; float alpha = 1.0; if (alpha_wrapper != nil) { alpha = [alpha_wrapper value]; } return [UIColor colorWithRed:red green:green blue:blue alpha:alpha]; } static Color* toProto(UIColor* color) { CGFloat red, green, blue, alpha; if (![color getRed:&red green:&green blue:&blue alpha:&alpha]) { return nil; } Color* result = [[Color alloc] init]; [result setRed:red]; [result setGreen:green]; [result setBlue:blue]; if (alpha <= 0.9999) { [result setAlpha:floatWrapperWithValue(alpha)]; } [result autorelease]; return result; } // ... Example (JavaScript): // ... var protoToCssColor = function(rgb_color) { var redFrac = rgb_color.red || 0.0; var greenFrac = rgb_color.green || 0.0; var blueFrac = rgb_color.blue || 0.0; var red = Math.floor(redFrac * 255); var green = Math.floor(greenFrac * 255); var blue = Math.floor(blueFrac * 255); if (!('alpha' in rgb_color)) { return rgbToCssColor(red, green, blue); } var alphaFrac = rgb_color.alpha.value || 0.0; var rgbParams = [red, green, blue].join(','); return ['rgba(', rgbParams, ',', alphaFrac, ')'].join(''); }; var rgbToCssColor = function(red, green, blue) { var rgbNumber = new Number((red << 16) | (green << 8) | blue); var hexString = rgbNumber.toString(16); var missingZeros = 6 - hexString.length; var resultBuilder = ['#']; for (var i = 0; i < missingZeros; i++) { resultBuilder.push('0'); } resultBuilder.push(hexString); return resultBuilder.join(''); }; // ... # Output only. Color that can be used for text without a background.
+                      "alpha": 3.14, # The fraction of this color that should be applied to the pixel. That is, the final pixel color is defined by the equation: `pixel color = alpha * (this color) + (1.0 - alpha) * (background color)` This means that a value of 1.0 corresponds to a solid color, whereas a value of 0.0 corresponds to a completely transparent color. This uses a wrapper message rather than a simple float scalar so that it is possible to distinguish between a default value and the value being unset. If omitted, this color object is rendered as a solid color (as if the alpha value had been explicitly given a value of 1.0).
+                      "blue": 3.14, # The amount of blue in the color as a value in the interval [0, 1].
+                      "green": 3.14, # The amount of green in the color as a value in the interval [0, 1].
+                      "red": 3.14, # The amount of red in the color as a value in the interval [0, 1].
+                    },
+                  },
+                  "disabled": True or False, # Whether the option should be shown in the UI as disabled.
+                  "hiddenInSearch": True or False, # This option should be hidden in the search menu when searching for Drive items.
+                  "shownInApply": True or False, # This option should be shown in the apply menu when applying values to a Drive item.
+                },
+                "id": "A String", # The unique value of the choice. This ID is autogenerated. Matches the regex: `([a-zA-Z0-9_])+`.
+                "lifecycle": { # The lifecycle state of an object, such as label, field, or choice. The lifecycle enforces the following transitions: * `UNPUBLISHED_DRAFT` (starting state) * `UNPUBLISHED_DRAFT` -> `PUBLISHED` * `UNPUBLISHED_DRAFT` -> (Deleted) * `PUBLISHED` -> `DISABLED` * `DISABLED` -> `PUBLISHED` * `DISABLED` -> (Deleted) The published and disabled states have some distinct characteristics: * Published—Some kinds of changes might be made to an object in this state, in which case `has_unpublished_changes` will be true. Also, some kinds of changes are not permitted. Generally, any change that would invalidate or cause new restrictions on existing metadata related to the label are rejected. * Disabled—When disabled, the configured `DisabledPolicy` takes effect. # Output only. Lifecycle of the choice.
+                  "disabledPolicy": { # The policy that governs how to treat a disabled label, field, or selection choice in different contexts. # The policy that governs how to show a disabled label, field, or selection choice.
+                    "hideInSearch": True or False, # Whether to hide this disabled object in the search menu for Drive items. * When `false`, the object is generally shown in the UI as disabled but it appears in the search results when searching for Drive items. * When `true`, the object is generally hidden in the UI when searching for Drive items.
+                    "showInApply": True or False, # Whether to show this disabled object in the apply menu on Drive items. * When `true`, the object is generally shown in the UI as disabled and is unselectable. * When `false`, the object is generally hidden in the UI.
+                  },
+                  "hasUnpublishedChanges": True or False, # Output only. Whether the object associated with this lifecycle has unpublished changes.
+                  "state": "A String", # Output only. The state of the object associated with this lifecycle.
+                },
+                "lockStatus": { # Contains information about whether a label component should be considered locked. # Output only. The LockStatus of this choice.
+                  "locked": True or False, # Output only. Indicates whether this label component is the (direct) target of a LabelLock. A label component can be implicitly locked even if it's not the direct target of a LabelLock, in which case this field is set to false.
+                },
+                "properties": { # Basic properties of the choice. # Basic properties of the choice.
+                  "badgeConfig": { # Badge status of the label. # The badge configuration for this choice. When set, the label that owns this choice is considered a "badged label".
+                    "color": { # Represents a color in the RGBA color space. This representation is designed for simplicity of conversion to/from color representations in various languages over compactness. For example, the fields of this representation can be trivially provided to the constructor of `java.awt.Color` in Java; it can also be trivially provided to UIColor's `+colorWithRed:green:blue:alpha` method in iOS; and, with just a little work, it can be easily formatted into a CSS `rgba()` string in JavaScript. This reference page doesn't carry information about the absolute color space that should be used to interpret the RGB value (e.g. sRGB, Adobe RGB, DCI-P3, BT.2020, etc.). By default, applications should assume the sRGB color space. When color equality needs to be decided, implementations, unless documented otherwise, treat two colors as equal if all their red, green, blue, and alpha values each differ by at most 1e-5. Example (Java): import com.google.type.Color; // ... public static java.awt.Color fromProto(Color protocolor) { float alpha = protocolor.hasAlpha() ? protocolor.getAlpha().getValue() : 1.0; return new java.awt.Color( protocolor.getRed(), protocolor.getGreen(), protocolor.getBlue(), alpha); } public static Color toProto(java.awt.Color color) { float red = (float) color.getRed(); float green = (float) color.getGreen(); float blue = (float) color.getBlue(); float denominator = 255.0; Color.Builder resultBuilder = Color .newBuilder() .setRed(red / denominator) .setGreen(green / denominator) .setBlue(blue / denominator); int alpha = color.getAlpha(); if (alpha != 255) { result.setAlpha( FloatValue .newBuilder() .setValue(((float) alpha) / denominator) .build()); } return resultBuilder.build(); } // ... Example (iOS / Obj-C): // ... static UIColor* fromProto(Color* protocolor) { float red = [protocolor red]; float green = [protocolor green]; float blue = [protocolor blue]; FloatValue* alpha_wrapper = [protocolor alpha]; float alpha = 1.0; if (alpha_wrapper != nil) { alpha = [alpha_wrapper value]; } return [UIColor colorWithRed:red green:green blue:blue alpha:alpha]; } static Color* toProto(UIColor* color) { CGFloat red, green, blue, alpha; if (![color getRed:&red green:&green blue:&blue alpha:&alpha]) { return nil; } Color* result = [[Color alloc] init]; [result setRed:red]; [result setGreen:green]; [result setBlue:blue]; if (alpha <= 0.9999) { [result setAlpha:floatWrapperWithValue(alpha)]; } [result autorelease]; return result; } // ... Example (JavaScript): // ... var protoToCssColor = function(rgb_color) { var redFrac = rgb_color.red || 0.0; var greenFrac = rgb_color.green || 0.0; var blueFrac = rgb_color.blue || 0.0; var red = Math.floor(redFrac * 255); var green = Math.floor(greenFrac * 255); var blue = Math.floor(blueFrac * 255); if (!('alpha' in rgb_color)) { return rgbToCssColor(red, green, blue); } var alphaFrac = rgb_color.alpha.value || 0.0; var rgbParams = [red, green, blue].join(','); return ['rgba(', rgbParams, ',', alphaFrac, ')'].join(''); }; var rgbToCssColor = function(red, green, blue) { var rgbNumber = new Number((red << 16) | (green << 8) | blue); var hexString = rgbNumber.toString(16); var missingZeros = 6 - hexString.length; var resultBuilder = ['#']; for (var i = 0; i < missingZeros; i++) { resultBuilder.push('0'); } resultBuilder.push(hexString); return resultBuilder.join(''); }; // ... # The color of the badge. When not specified, no badge is rendered. The background, foreground, and solo (light and dark mode) colors set here are changed in the Drive UI into the closest recommended supported color.
+                      "alpha": 3.14, # The fraction of this color that should be applied to the pixel. That is, the final pixel color is defined by the equation: `pixel color = alpha * (this color) + (1.0 - alpha) * (background color)` This means that a value of 1.0 corresponds to a solid color, whereas a value of 0.0 corresponds to a completely transparent color. This uses a wrapper message rather than a simple float scalar so that it is possible to distinguish between a default value and the value being unset. If omitted, this color object is rendered as a solid color (as if the alpha value had been explicitly given a value of 1.0).
+                      "blue": 3.14, # The amount of blue in the color as a value in the interval [0, 1].
+                      "green": 3.14, # The amount of green in the color as a value in the interval [0, 1].
+                      "red": 3.14, # The amount of red in the color as a value in the interval [0, 1].
+                    },
+                    "priorityOverride": "A String", # Override the default global priority of this badge. When set to 0, the default priority heuristic is used.
+                  },
+                  "description": "A String", # The description of this label.
+                  "displayName": "A String", # Required. The display text to show in the UI identifying this field.
+                  "insertBeforeChoice": "A String", # Input only. Insert or move this choice before the indicated choice. If empty, the choice is placed at the end of the list.
+                },
+                "publishTime": "A String", # Output only. The time this choice was published. This value has no meaning when the choice is not published.
+                "publisher": { # Information about a user. # Output only. The user who published this choice. This value has no meaning when the choice is not published.
+                  "person": "A String", # The identifier for this user that can be used with the People API to get more information. For example, people/12345678.
+                },
+                "schemaCapabilities": { # The capabilities related to this choice when editing the choice. # Output only. The capabilities related to this option when editing the option.
+                  "canDelete": True or False, # Whether the user can delete this choice.
+                  "canDisable": True or False, # Whether the user can disable this choice.
+                  "canEnable": True or False, # Whether the user can enable this choice.
+                  "canUpdate": True or False, # Whether the user can update this choice.
+                },
+                "updateTime": "A String", # Output only. The time this choice was updated last.
+                "updater": { # Information about a user. # Output only. The user who updated this choice last.
+                  "person": "A String", # The identifier for this user that can be used with the People API to get more information. For example, people/12345678.
+                },
+              },
+            ],
+            "listOptions": { # Options for a multi-valued variant of an associated field type. # When specified, indicates this field supports a list of values. Once the field is published, this cannot be changed.
+              "maxEntries": 42, # Maximum number of entries permitted.
+            },
+          },
+          "textOptions": { # Options for the Text field type. # Text field options.
+            "maxLength": 42, # Output only. The maximum valid length of values for the text field.
+            "minLength": 42, # Output only. The minimum valid length of values for the text field.
+          },
+          "updateTime": "A String", # Output only. The time this field was updated.
+          "updater": { # Information about a user. # Output only. The user who modified this field.
+            "person": "A String", # The identifier for this user that can be used with the People API to get more information. For example, people/12345678.
+          },
+          "userOptions": { # Options for the user field type. # User field options.
+            "listOptions": { # Options for a multi-valued variant of an associated field type. # When specified, indicates that this field supports a list of values. Once the field is published, this cannot be changed.
+              "maxEntries": 42, # Maximum number of entries permitted.
+            },
+          },
+        },
+      ],
+      "id": "A String", # Output only. Globally unique identifier of this label. ID makes up part of the label `name`, but unlike `name`, ID is consistent between revisions. Matches the regex: `([a-zA-Z0-9])+`
+      "labelType": "A String", # Required. The type of label.
+      "learnMoreUri": "A String", # Custom URL to present to users to allow them to learn more about this label and how it should be used.
+      "lifecycle": { # The lifecycle state of an object, such as label, field, or choice. The lifecycle enforces the following transitions: * `UNPUBLISHED_DRAFT` (starting state) * `UNPUBLISHED_DRAFT` -> `PUBLISHED` * `UNPUBLISHED_DRAFT` -> (Deleted) * `PUBLISHED` -> `DISABLED` * `DISABLED` -> `PUBLISHED` * `DISABLED` -> (Deleted) The published and disabled states have some distinct characteristics: * Published—Some kinds of changes might be made to an object in this state, in which case `has_unpublished_changes` will be true. Also, some kinds of changes are not permitted. Generally, any change that would invalidate or cause new restrictions on existing metadata related to the label are rejected. * Disabled—When disabled, the configured `DisabledPolicy` takes effect. # Output only. The lifecycle state of the label including whether it's published, deprecated, and has draft changes.
+        "disabledPolicy": { # The policy that governs how to treat a disabled label, field, or selection choice in different contexts. # The policy that governs how to show a disabled label, field, or selection choice.
+          "hideInSearch": True or False, # Whether to hide this disabled object in the search menu for Drive items. * When `false`, the object is generally shown in the UI as disabled but it appears in the search results when searching for Drive items. * When `true`, the object is generally hidden in the UI when searching for Drive items.
+          "showInApply": True or False, # Whether to show this disabled object in the apply menu on Drive items. * When `true`, the object is generally shown in the UI as disabled and is unselectable. * When `false`, the object is generally hidden in the UI.
+        },
+        "hasUnpublishedChanges": True or False, # Output only. Whether the object associated with this lifecycle has unpublished changes.
+        "state": "A String", # Output only. The state of the object associated with this lifecycle.
+      },
+      "lockStatus": { # Contains information about whether a label component should be considered locked. # Output only. The LockStatus of this label.
+        "locked": True or False, # Output only. Indicates whether this label component is the (direct) target of a LabelLock. A label component can be implicitly locked even if it's not the direct target of a LabelLock, in which case this field is set to false.
+      },
+      "name": "A String", # Output only. Resource name of the label. Will be in the form of either: `labels/{id}` or `labels/{id}@{revision_id}` depending on the request. See `id` and `revision_id` below.
+      "properties": { # Basic properties of the label. # Required. The basic properties of the label.
+        "description": "A String", # The description of the label.
+        "title": "A String", # Required. Title of the label.
+      },
+      "publishTime": "A String", # Output only. The time this label was published. This value has no meaning when the label is not published.
+      "publisher": { # Information about a user. # Output only. The user who published this label. This value has no meaning when the label is not published.
+        "person": "A String", # The identifier for this user that can be used with the People API to get more information. For example, people/12345678.
+      },
+      "revisionCreateTime": "A String", # Output only. The time this label revision was created.
+      "revisionCreator": { # Information about a user. # Output only. The user who created this label revision.
+        "person": "A String", # The identifier for this user that can be used with the People API to get more information. For example, people/12345678.
+      },
+      "revisionId": "A String", # Output only. Revision ID of the label. Revision ID might be part of the label `name` depending on the request issued. A new revision is created whenever revisioned properties of a label are changed. Matches the regex: `([a-zA-Z0-9])+`
+      "schemaCapabilities": { # The capabilities related to this label when editing the label. # Output only. The capabilities the user has on this label.
+        "canDelete": True or False, # Whether the user can delete this label. The user must have permission and the label must be disabled.
+        "canDisable": True or False, # Whether the user can disable this label. The user must have permission and this label must not already be disabled.
+        "canEnable": True or False, # Whether the user can enable this label. The user must have permission and this label must be disabled.
+        "canUpdate": True or False, # Whether the user can change this label.
+      },
+    },
+  ],
+  "nextPageToken": "A String", # The token of the next page in the response.
+}
+
+ +
+ list_next() +
Retrieves the next page of results.
+
+        Args:
+          previous_request: The request for the previous page. (required)
+          previous_response: The response from the request for the previous page. (required)
+
+        Returns:
+          A request object that you can call 'execute()' on to request the next
+          page. Returns None if there are no more items in the collection.
+        
+
+ +
+ publish(name, body=None, x__xgafv=None) +
Publish all draft changes to the Label. Once published, the Label may not return to its draft state. See `google.apps.drive.labels.v2.Lifecycle` for more information. Publishing a Label will result in a new published revision. All previous draft revisions will be deleted. Previous published revisions will be kept but are subject to automated deletion as needed. Once published, some changes are no longer permitted. Generally, any change that would invalidate or cause new restrictions on existing metadata related to the Label will be rejected. For example, the following changes to a Label will be rejected after the Label is published: * The label cannot be directly deleted. It must be disabled first, then deleted. * Field.FieldType cannot be changed. * Changes to Field validation options cannot reject something that was previously accepted. * Reducing the max entries.
+
+Args:
+  name: string, Required. Label resource name. (required)
+  body: object, The request body.
+    The object takes the form of:
+
+{ # Request to publish a label.
+  "languageCode": "A String", # The BCP-47 language code to use for evaluating localized field labels. When not specified, values in the default configured language will be used.
+  "useAdminAccess": True or False, # Set to `true` in order to use the user's admin credentials. The server will verify the user is an admin for the Label before allowing access.
+  "writeControl": { # Provides control over how write requests are executed. When not specified, the last write wins. # Provides control over how write requests are executed. Defaults to unset, which means last write wins.
+    "requiredRevisionId": "A String", # The revision_id of the label that the write request will be applied to. If this is not the latest revision of the label, the request will not be processed and will return a 400 Bad Request error.
+  },
+}
+
+  x__xgafv: string, V1 error format.
+    Allowed values
+      1 - v1 error format
+      2 - v2 error format
+
+Returns:
+  An object of the form:
+
+    { # A label defines a taxonomy that can be applied to Drive items in order to organize and search across items. Labels can be simple strings, or can contain fields that describe additional metadata that can be further used to organize and search Drive items.
+  "appliedCapabilities": { # The capabilities a user has on this label's applied metadata. # Output only. The capabilities related to this label on applied metadata.
+    "canApply": True or False, # Whether the user can apply this label to items.
+    "canRead": True or False, # Whether the user can read applied metadata related to this label.
+    "canRemove": True or False, # Whether the user can remove this label from items.
+  },
+  "appliedLabelPolicy": { # Behavior of this label when it's applied to Drive items. # Output only. Behavior of this label when it's applied to Drive items.
+    "copyMode": "A String", # Indicates how the applied label and field values should be copied when a Drive item is copied.
+  },
+  "createTime": "A String", # Output only. The time this label was created.
+  "creator": { # Information about a user. # Output only. The user who created this label.
+    "person": "A String", # The identifier for this user that can be used with the People API to get more information. For example, people/12345678.
+  },
+  "disableTime": "A String", # Output only. The time this label was disabled. This value has no meaning when the label is not disabled.
+  "disabler": { # Information about a user. # Output only. The user who disabled this label. This value has no meaning when the label is not disabled.
+    "person": "A String", # The identifier for this user that can be used with the People API to get more information. For example, people/12345678.
+  },
+  "displayHints": { # UI display hints for rendering the label. # Output only. UI display hints for rendering the label.
+    "disabled": True or False, # Whether the label should be shown in the UI as disabled.
+    "hiddenInSearch": True or False, # This label should be hidden in the search menu when searching for Drive items.
+    "priority": "A String", # Order to display label in a list.
+    "shownInApply": True or False, # This label should be shown in the apply menu when applying values to a Drive item.
+  },
+  "fields": [ # List of fields in descending priority order.
+    { # Defines a field that has a display name, data type, and other configuration options. This field defines the kind of metadata that may be set on a Drive item.
+      "appliedCapabilities": { # The capabilities related to this field on applied metadata. # Output only. The capabilities this user has on this field and its value when the label is applied on Drive items.
+        "canRead": True or False, # Whether the user can read related applied metadata on items.
+        "canSearch": True or False, # Whether the user can search for Drive items referencing this field.
+        "canWrite": True or False, # Whether the user can set this field on Drive items.
+      },
+      "createTime": "A String", # Output only. The time this field was created.
+      "creator": { # Information about a user. # Output only. The user who created this field.
+        "person": "A String", # The identifier for this user that can be used with the People API to get more information. For example, people/12345678.
+      },
+      "dateOptions": { # Options for the date field type. # Date field options.
+        "dateFormat": "A String", # Output only. ICU date format.
+        "dateFormatType": "A String", # Localized date formatting option. Field values are rendered in this format according to their locale.
+        "maxValue": { # Represents a whole or partial calendar date, such as a birthday. The time of day and time zone are either specified elsewhere or are insignificant. The date is relative to the Gregorian Calendar. This can represent one of the following: * A full date, with non-zero year, month, and day values. * A month and day, with a zero year (for example, an anniversary). * A year on its own, with a zero month and a zero day. * A year and month, with a zero day (for example, a credit card expiration date). Related types: * google.type.TimeOfDay * google.type.DateTime * google.protobuf.Timestamp # Output only. Maximum valid value (year, month, day).
+          "day": 42, # Day of a month. Must be from 1 to 31 and valid for the year and month, or 0 to specify a year by itself or a year and month where the day isn't significant.
+          "month": 42, # Month of a year. Must be from 1 to 12, or 0 to specify a year without a month and day.
+          "year": 42, # Year of the date. Must be from 1 to 9999, or 0 to specify a date without a year.
+        },
+        "minValue": { # Represents a whole or partial calendar date, such as a birthday. The time of day and time zone are either specified elsewhere or are insignificant. The date is relative to the Gregorian Calendar. This can represent one of the following: * A full date, with non-zero year, month, and day values. * A month and day, with a zero year (for example, an anniversary). * A year on its own, with a zero month and a zero day. * A year and month, with a zero day (for example, a credit card expiration date). Related types: * google.type.TimeOfDay * google.type.DateTime * google.protobuf.Timestamp # Output only. Minimum valid value (year, month, day).
+          "day": 42, # Day of a month. Must be from 1 to 31 and valid for the year and month, or 0 to specify a year by itself or a year and month where the day isn't significant.
+          "month": 42, # Month of a year. Must be from 1 to 12, or 0 to specify a year without a month and day.
+          "year": 42, # Year of the date. Must be from 1 to 9999, or 0 to specify a date without a year.
+        },
+      },
+      "disableTime": "A String", # Output only. The time this field was disabled. This value has no meaning when the field is not disabled.
+      "disabler": { # Information about a user. # Output only. The user who disabled this field. This value has no meaning when the field is not disabled.
+        "person": "A String", # The identifier for this user that can be used with the People API to get more information. For example, people/12345678.
+      },
+      "displayHints": { # UI display hints for rendering a field. # Output only. UI display hints for rendering a field.
+        "disabled": True or False, # Whether the field should be shown in the UI as disabled.
+        "hiddenInSearch": True or False, # This field should be hidden in the search menu when searching for Drive items.
+        "required": True or False, # Whether the field should be shown as required in the UI.
+        "shownInApply": True or False, # This field should be shown in the apply menu when applying values to a Drive item.
+      },
+      "id": "A String", # Output only. The key of a field, unique within a label or library. This value is autogenerated. Matches the regex: `([a-zA-Z0-9])+`
+      "integerOptions": { # Options for the Integer field type. # Integer field options.
+        "maxValue": "A String", # Output only. The maximum valid value for the integer field.
+        "minValue": "A String", # Output only. The minimum valid value for the integer field.
+      },
+      "lifecycle": { # The lifecycle state of an object, such as label, field, or choice. The lifecycle enforces the following transitions: * `UNPUBLISHED_DRAFT` (starting state) * `UNPUBLISHED_DRAFT` -> `PUBLISHED` * `UNPUBLISHED_DRAFT` -> (Deleted) * `PUBLISHED` -> `DISABLED` * `DISABLED` -> `PUBLISHED` * `DISABLED` -> (Deleted) The published and disabled states have some distinct characteristics: * Published—Some kinds of changes might be made to an object in this state, in which case `has_unpublished_changes` will be true. Also, some kinds of changes are not permitted. Generally, any change that would invalidate or cause new restrictions on existing metadata related to the label are rejected. * Disabled—When disabled, the configured `DisabledPolicy` takes effect. # Output only. The lifecycle of this field.
+        "disabledPolicy": { # The policy that governs how to treat a disabled label, field, or selection choice in different contexts. # The policy that governs how to show a disabled label, field, or selection choice.
+          "hideInSearch": True or False, # Whether to hide this disabled object in the search menu for Drive items. * When `false`, the object is generally shown in the UI as disabled but it appears in the search results when searching for Drive items. * When `true`, the object is generally hidden in the UI when searching for Drive items.
+          "showInApply": True or False, # Whether to show this disabled object in the apply menu on Drive items. * When `true`, the object is generally shown in the UI as disabled and is unselectable. * When `false`, the object is generally hidden in the UI.
+        },
+        "hasUnpublishedChanges": True or False, # Output only. Whether the object associated with this lifecycle has unpublished changes.
+        "state": "A String", # Output only. The state of the object associated with this lifecycle.
+      },
+      "lockStatus": { # Contains information about whether a label component should be considered locked. # Output only. The LockStatus of this field.
+        "locked": True or False, # Output only. Indicates whether this label component is the (direct) target of a LabelLock. A label component can be implicitly locked even if it's not the direct target of a LabelLock, in which case this field is set to false.
+      },
+      "properties": { # The basic properties of the field. # The basic properties of the field.
+        "displayName": "A String", # Required. The display text to show in the UI identifying this field.
+        "insertBeforeField": "A String", # Input only. Insert or move this field before the indicated field. If empty, the field is placed at the end of the list.
+        "required": True or False, # Whether the field should be marked as required.
+      },
+      "publisher": { # Information about a user. # Output only. The user who published this field. This value has no meaning when the field is not published.
+        "person": "A String", # The identifier for this user that can be used with the People API to get more information. For example, people/12345678.
+      },
+      "queryKey": "A String", # Output only. The key to use when constructing Drive search queries to find files based on values defined for this field on files. For example, "`{query_key}` > 2001-01-01".
+      "schemaCapabilities": { # The capabilities related to this field when editing the field. # Output only. The capabilities this user has when editing this field.
+        "canDelete": True or False, # Whether the user can delete this field. The user must have permission and the field must be deprecated.
+        "canDisable": True or False, # Whether the user can disable this field. The user must have permission and this field must not already be disabled.
+        "canEnable": True or False, # Whether the user can enable this field. The user must have permission and this field must be disabled.
+        "canUpdate": True or False, # Whether the user can change this field.
+      },
+      "selectionOptions": { # Options for the selection field type. # Selection field options.
+        "choices": [ # The options available for this selection field. The list order is consistent, and modified with `insert_before_choice`.
+          { # Selection field choice.
+            "appliedCapabilities": { # The capabilities related to this choice on applied metadata. # Output only. The capabilities related to this choice on applied metadata.
+              "canRead": True or False, # Whether the user can read related applied metadata on items.
+              "canSearch": True or False, # Whether the user can use this choice in search queries.
+              "canSelect": True or False, # Whether the user can select this choice on an item.
+            },
+            "createTime": "A String", # Output only. The time this choice was created.
+            "creator": { # Information about a user. # Output only. The user who created this choice.
+              "person": "A String", # The identifier for this user that can be used with the People API to get more information. For example, people/12345678.
+            },
+            "disableTime": "A String", # Output only. The time this choice was disabled. This value has no meaning when the choice is not disabled.
+            "disabler": { # Information about a user. # Output only. The user who disabled this choice. This value has no meaning when the option is not disabled.
+              "person": "A String", # The identifier for this user that can be used with the People API to get more information. For example, people/12345678.
+            },
+            "displayHints": { # UI display hints for rendering an option. # Output only. UI display hints for rendering a choice.
+              "badgeColors": { # The color derived from BadgeConfig and changed to the closest recommended supported color. # The colors to use for the badge. Changed to Google Material colors based on the chosen `properties.badge_config.color`.
+                "backgroundColor": { # Represents a color in the RGBA color space. This representation is designed for simplicity of conversion to/from color representations in various languages over compactness. For example, the fields of this representation can be trivially provided to the constructor of `java.awt.Color` in Java; it can also be trivially provided to UIColor's `+colorWithRed:green:blue:alpha` method in iOS; and, with just a little work, it can be easily formatted into a CSS `rgba()` string in JavaScript. This reference page doesn't carry information about the absolute color space that should be used to interpret the RGB value (e.g. sRGB, Adobe RGB, DCI-P3, BT.2020, etc.). By default, applications should assume the sRGB color space. When color equality needs to be decided, implementations, unless documented otherwise, treat two colors as equal if all their red, green, blue, and alpha values each differ by at most 1e-5. Example (Java): import com.google.type.Color; // ... public static java.awt.Color fromProto(Color protocolor) { float alpha = protocolor.hasAlpha() ? protocolor.getAlpha().getValue() : 1.0; return new java.awt.Color( protocolor.getRed(), protocolor.getGreen(), protocolor.getBlue(), alpha); } public static Color toProto(java.awt.Color color) { float red = (float) color.getRed(); float green = (float) color.getGreen(); float blue = (float) color.getBlue(); float denominator = 255.0; Color.Builder resultBuilder = Color .newBuilder() .setRed(red / denominator) .setGreen(green / denominator) .setBlue(blue / denominator); int alpha = color.getAlpha(); if (alpha != 255) { result.setAlpha( FloatValue .newBuilder() .setValue(((float) alpha) / denominator) .build()); } return resultBuilder.build(); } // ... Example (iOS / Obj-C): // ... static UIColor* fromProto(Color* protocolor) { float red = [protocolor red]; float green = [protocolor green]; float blue = [protocolor blue]; FloatValue* alpha_wrapper = [protocolor alpha]; float alpha = 1.0; if (alpha_wrapper != nil) { alpha = [alpha_wrapper value]; } return [UIColor colorWithRed:red green:green blue:blue alpha:alpha]; } static Color* toProto(UIColor* color) { CGFloat red, green, blue, alpha; if (![color getRed:&red green:&green blue:&blue alpha:&alpha]) { return nil; } Color* result = [[Color alloc] init]; [result setRed:red]; [result setGreen:green]; [result setBlue:blue]; if (alpha <= 0.9999) { [result setAlpha:floatWrapperWithValue(alpha)]; } [result autorelease]; return result; } // ... Example (JavaScript): // ... var protoToCssColor = function(rgb_color) { var redFrac = rgb_color.red || 0.0; var greenFrac = rgb_color.green || 0.0; var blueFrac = rgb_color.blue || 0.0; var red = Math.floor(redFrac * 255); var green = Math.floor(greenFrac * 255); var blue = Math.floor(blueFrac * 255); if (!('alpha' in rgb_color)) { return rgbToCssColor(red, green, blue); } var alphaFrac = rgb_color.alpha.value || 0.0; var rgbParams = [red, green, blue].join(','); return ['rgba(', rgbParams, ',', alphaFrac, ')'].join(''); }; var rgbToCssColor = function(red, green, blue) { var rgbNumber = new Number((red << 16) | (green << 8) | blue); var hexString = rgbNumber.toString(16); var missingZeros = 6 - hexString.length; var resultBuilder = ['#']; for (var i = 0; i < missingZeros; i++) { resultBuilder.push('0'); } resultBuilder.push(hexString); return resultBuilder.join(''); }; // ... # Output only. Badge background that pairs with the foreground.
+                  "alpha": 3.14, # The fraction of this color that should be applied to the pixel. That is, the final pixel color is defined by the equation: `pixel color = alpha * (this color) + (1.0 - alpha) * (background color)` This means that a value of 1.0 corresponds to a solid color, whereas a value of 0.0 corresponds to a completely transparent color. This uses a wrapper message rather than a simple float scalar so that it is possible to distinguish between a default value and the value being unset. If omitted, this color object is rendered as a solid color (as if the alpha value had been explicitly given a value of 1.0).
+                  "blue": 3.14, # The amount of blue in the color as a value in the interval [0, 1].
+                  "green": 3.14, # The amount of green in the color as a value in the interval [0, 1].
+                  "red": 3.14, # The amount of red in the color as a value in the interval [0, 1].
+                },
+                "foregroundColor": { # Represents a color in the RGBA color space. This representation is designed for simplicity of conversion to/from color representations in various languages over compactness. For example, the fields of this representation can be trivially provided to the constructor of `java.awt.Color` in Java; it can also be trivially provided to UIColor's `+colorWithRed:green:blue:alpha` method in iOS; and, with just a little work, it can be easily formatted into a CSS `rgba()` string in JavaScript. This reference page doesn't carry information about the absolute color space that should be used to interpret the RGB value (e.g. sRGB, Adobe RGB, DCI-P3, BT.2020, etc.). By default, applications should assume the sRGB color space. When color equality needs to be decided, implementations, unless documented otherwise, treat two colors as equal if all their red, green, blue, and alpha values each differ by at most 1e-5. Example (Java): import com.google.type.Color; // ... public static java.awt.Color fromProto(Color protocolor) { float alpha = protocolor.hasAlpha() ? protocolor.getAlpha().getValue() : 1.0; return new java.awt.Color( protocolor.getRed(), protocolor.getGreen(), protocolor.getBlue(), alpha); } public static Color toProto(java.awt.Color color) { float red = (float) color.getRed(); float green = (float) color.getGreen(); float blue = (float) color.getBlue(); float denominator = 255.0; Color.Builder resultBuilder = Color .newBuilder() .setRed(red / denominator) .setGreen(green / denominator) .setBlue(blue / denominator); int alpha = color.getAlpha(); if (alpha != 255) { result.setAlpha( FloatValue .newBuilder() .setValue(((float) alpha) / denominator) .build()); } return resultBuilder.build(); } // ... Example (iOS / Obj-C): // ... static UIColor* fromProto(Color* protocolor) { float red = [protocolor red]; float green = [protocolor green]; float blue = [protocolor blue]; FloatValue* alpha_wrapper = [protocolor alpha]; float alpha = 1.0; if (alpha_wrapper != nil) { alpha = [alpha_wrapper value]; } return [UIColor colorWithRed:red green:green blue:blue alpha:alpha]; } static Color* toProto(UIColor* color) { CGFloat red, green, blue, alpha; if (![color getRed:&red green:&green blue:&blue alpha:&alpha]) { return nil; } Color* result = [[Color alloc] init]; [result setRed:red]; [result setGreen:green]; [result setBlue:blue]; if (alpha <= 0.9999) { [result setAlpha:floatWrapperWithValue(alpha)]; } [result autorelease]; return result; } // ... Example (JavaScript): // ... var protoToCssColor = function(rgb_color) { var redFrac = rgb_color.red || 0.0; var greenFrac = rgb_color.green || 0.0; var blueFrac = rgb_color.blue || 0.0; var red = Math.floor(redFrac * 255); var green = Math.floor(greenFrac * 255); var blue = Math.floor(blueFrac * 255); if (!('alpha' in rgb_color)) { return rgbToCssColor(red, green, blue); } var alphaFrac = rgb_color.alpha.value || 0.0; var rgbParams = [red, green, blue].join(','); return ['rgba(', rgbParams, ',', alphaFrac, ')'].join(''); }; var rgbToCssColor = function(red, green, blue) { var rgbNumber = new Number((red << 16) | (green << 8) | blue); var hexString = rgbNumber.toString(16); var missingZeros = 6 - hexString.length; var resultBuilder = ['#']; for (var i = 0; i < missingZeros; i++) { resultBuilder.push('0'); } resultBuilder.push(hexString); return resultBuilder.join(''); }; // ... # Output only. Badge foreground that pairs with the background.
+                  "alpha": 3.14, # The fraction of this color that should be applied to the pixel. That is, the final pixel color is defined by the equation: `pixel color = alpha * (this color) + (1.0 - alpha) * (background color)` This means that a value of 1.0 corresponds to a solid color, whereas a value of 0.0 corresponds to a completely transparent color. This uses a wrapper message rather than a simple float scalar so that it is possible to distinguish between a default value and the value being unset. If omitted, this color object is rendered as a solid color (as if the alpha value had been explicitly given a value of 1.0).
+                  "blue": 3.14, # The amount of blue in the color as a value in the interval [0, 1].
+                  "green": 3.14, # The amount of green in the color as a value in the interval [0, 1].
+                  "red": 3.14, # The amount of red in the color as a value in the interval [0, 1].
+                },
+                "soloColor": { # Represents a color in the RGBA color space. This representation is designed for simplicity of conversion to/from color representations in various languages over compactness. For example, the fields of this representation can be trivially provided to the constructor of `java.awt.Color` in Java; it can also be trivially provided to UIColor's `+colorWithRed:green:blue:alpha` method in iOS; and, with just a little work, it can be easily formatted into a CSS `rgba()` string in JavaScript. This reference page doesn't carry information about the absolute color space that should be used to interpret the RGB value (e.g. sRGB, Adobe RGB, DCI-P3, BT.2020, etc.). By default, applications should assume the sRGB color space. When color equality needs to be decided, implementations, unless documented otherwise, treat two colors as equal if all their red, green, blue, and alpha values each differ by at most 1e-5. Example (Java): import com.google.type.Color; // ... public static java.awt.Color fromProto(Color protocolor) { float alpha = protocolor.hasAlpha() ? protocolor.getAlpha().getValue() : 1.0; return new java.awt.Color( protocolor.getRed(), protocolor.getGreen(), protocolor.getBlue(), alpha); } public static Color toProto(java.awt.Color color) { float red = (float) color.getRed(); float green = (float) color.getGreen(); float blue = (float) color.getBlue(); float denominator = 255.0; Color.Builder resultBuilder = Color .newBuilder() .setRed(red / denominator) .setGreen(green / denominator) .setBlue(blue / denominator); int alpha = color.getAlpha(); if (alpha != 255) { result.setAlpha( FloatValue .newBuilder() .setValue(((float) alpha) / denominator) .build()); } return resultBuilder.build(); } // ... Example (iOS / Obj-C): // ... static UIColor* fromProto(Color* protocolor) { float red = [protocolor red]; float green = [protocolor green]; float blue = [protocolor blue]; FloatValue* alpha_wrapper = [protocolor alpha]; float alpha = 1.0; if (alpha_wrapper != nil) { alpha = [alpha_wrapper value]; } return [UIColor colorWithRed:red green:green blue:blue alpha:alpha]; } static Color* toProto(UIColor* color) { CGFloat red, green, blue, alpha; if (![color getRed:&red green:&green blue:&blue alpha:&alpha]) { return nil; } Color* result = [[Color alloc] init]; [result setRed:red]; [result setGreen:green]; [result setBlue:blue]; if (alpha <= 0.9999) { [result setAlpha:floatWrapperWithValue(alpha)]; } [result autorelease]; return result; } // ... Example (JavaScript): // ... var protoToCssColor = function(rgb_color) { var redFrac = rgb_color.red || 0.0; var greenFrac = rgb_color.green || 0.0; var blueFrac = rgb_color.blue || 0.0; var red = Math.floor(redFrac * 255); var green = Math.floor(greenFrac * 255); var blue = Math.floor(blueFrac * 255); if (!('alpha' in rgb_color)) { return rgbToCssColor(red, green, blue); } var alphaFrac = rgb_color.alpha.value || 0.0; var rgbParams = [red, green, blue].join(','); return ['rgba(', rgbParams, ',', alphaFrac, ')'].join(''); }; var rgbToCssColor = function(red, green, blue) { var rgbNumber = new Number((red << 16) | (green << 8) | blue); var hexString = rgbNumber.toString(16); var missingZeros = 6 - hexString.length; var resultBuilder = ['#']; for (var i = 0; i < missingZeros; i++) { resultBuilder.push('0'); } resultBuilder.push(hexString); return resultBuilder.join(''); }; // ... # Output only. Color that can be used for text without a background.
+                  "alpha": 3.14, # The fraction of this color that should be applied to the pixel. That is, the final pixel color is defined by the equation: `pixel color = alpha * (this color) + (1.0 - alpha) * (background color)` This means that a value of 1.0 corresponds to a solid color, whereas a value of 0.0 corresponds to a completely transparent color. This uses a wrapper message rather than a simple float scalar so that it is possible to distinguish between a default value and the value being unset. If omitted, this color object is rendered as a solid color (as if the alpha value had been explicitly given a value of 1.0).
+                  "blue": 3.14, # The amount of blue in the color as a value in the interval [0, 1].
+                  "green": 3.14, # The amount of green in the color as a value in the interval [0, 1].
+                  "red": 3.14, # The amount of red in the color as a value in the interval [0, 1].
+                },
+              },
+              "badgePriority": "A String", # The priority of this badge. Used to compare and sort between multiple badges. A lower number means the badge should be shown first. When a badging configuration is not present, this will be 0. Otherwise, this will be set to `BadgeConfig.priority_override` or the default heuristic which prefers creation date of the label, and field and option priority.
+              "darkBadgeColors": { # The color derived from BadgeConfig and changed to the closest recommended supported color. # The dark-mode color to use for the badge. Changed to Google Material colors based on the chosen `properties.badge_config.color`.
+                "backgroundColor": { # Represents a color in the RGBA color space. This representation is designed for simplicity of conversion to/from color representations in various languages over compactness. For example, the fields of this representation can be trivially provided to the constructor of `java.awt.Color` in Java; it can also be trivially provided to UIColor's `+colorWithRed:green:blue:alpha` method in iOS; and, with just a little work, it can be easily formatted into a CSS `rgba()` string in JavaScript. This reference page doesn't carry information about the absolute color space that should be used to interpret the RGB value (e.g. sRGB, Adobe RGB, DCI-P3, BT.2020, etc.). By default, applications should assume the sRGB color space. When color equality needs to be decided, implementations, unless documented otherwise, treat two colors as equal if all their red, green, blue, and alpha values each differ by at most 1e-5. Example (Java): import com.google.type.Color; // ... public static java.awt.Color fromProto(Color protocolor) { float alpha = protocolor.hasAlpha() ? protocolor.getAlpha().getValue() : 1.0; return new java.awt.Color( protocolor.getRed(), protocolor.getGreen(), protocolor.getBlue(), alpha); } public static Color toProto(java.awt.Color color) { float red = (float) color.getRed(); float green = (float) color.getGreen(); float blue = (float) color.getBlue(); float denominator = 255.0; Color.Builder resultBuilder = Color .newBuilder() .setRed(red / denominator) .setGreen(green / denominator) .setBlue(blue / denominator); int alpha = color.getAlpha(); if (alpha != 255) { result.setAlpha( FloatValue .newBuilder() .setValue(((float) alpha) / denominator) .build()); } return resultBuilder.build(); } // ... Example (iOS / Obj-C): // ... static UIColor* fromProto(Color* protocolor) { float red = [protocolor red]; float green = [protocolor green]; float blue = [protocolor blue]; FloatValue* alpha_wrapper = [protocolor alpha]; float alpha = 1.0; if (alpha_wrapper != nil) { alpha = [alpha_wrapper value]; } return [UIColor colorWithRed:red green:green blue:blue alpha:alpha]; } static Color* toProto(UIColor* color) { CGFloat red, green, blue, alpha; if (![color getRed:&red green:&green blue:&blue alpha:&alpha]) { return nil; } Color* result = [[Color alloc] init]; [result setRed:red]; [result setGreen:green]; [result setBlue:blue]; if (alpha <= 0.9999) { [result setAlpha:floatWrapperWithValue(alpha)]; } [result autorelease]; return result; } // ... Example (JavaScript): // ... var protoToCssColor = function(rgb_color) { var redFrac = rgb_color.red || 0.0; var greenFrac = rgb_color.green || 0.0; var blueFrac = rgb_color.blue || 0.0; var red = Math.floor(redFrac * 255); var green = Math.floor(greenFrac * 255); var blue = Math.floor(blueFrac * 255); if (!('alpha' in rgb_color)) { return rgbToCssColor(red, green, blue); } var alphaFrac = rgb_color.alpha.value || 0.0; var rgbParams = [red, green, blue].join(','); return ['rgba(', rgbParams, ',', alphaFrac, ')'].join(''); }; var rgbToCssColor = function(red, green, blue) { var rgbNumber = new Number((red << 16) | (green << 8) | blue); var hexString = rgbNumber.toString(16); var missingZeros = 6 - hexString.length; var resultBuilder = ['#']; for (var i = 0; i < missingZeros; i++) { resultBuilder.push('0'); } resultBuilder.push(hexString); return resultBuilder.join(''); }; // ... # Output only. Badge background that pairs with the foreground.
+                  "alpha": 3.14, # The fraction of this color that should be applied to the pixel. That is, the final pixel color is defined by the equation: `pixel color = alpha * (this color) + (1.0 - alpha) * (background color)` This means that a value of 1.0 corresponds to a solid color, whereas a value of 0.0 corresponds to a completely transparent color. This uses a wrapper message rather than a simple float scalar so that it is possible to distinguish between a default value and the value being unset. If omitted, this color object is rendered as a solid color (as if the alpha value had been explicitly given a value of 1.0).
+                  "blue": 3.14, # The amount of blue in the color as a value in the interval [0, 1].
+                  "green": 3.14, # The amount of green in the color as a value in the interval [0, 1].
+                  "red": 3.14, # The amount of red in the color as a value in the interval [0, 1].
+                },
+                "foregroundColor": { # Represents a color in the RGBA color space. This representation is designed for simplicity of conversion to/from color representations in various languages over compactness. For example, the fields of this representation can be trivially provided to the constructor of `java.awt.Color` in Java; it can also be trivially provided to UIColor's `+colorWithRed:green:blue:alpha` method in iOS; and, with just a little work, it can be easily formatted into a CSS `rgba()` string in JavaScript. This reference page doesn't carry information about the absolute color space that should be used to interpret the RGB value (e.g. sRGB, Adobe RGB, DCI-P3, BT.2020, etc.). By default, applications should assume the sRGB color space. When color equality needs to be decided, implementations, unless documented otherwise, treat two colors as equal if all their red, green, blue, and alpha values each differ by at most 1e-5. Example (Java): import com.google.type.Color; // ... public static java.awt.Color fromProto(Color protocolor) { float alpha = protocolor.hasAlpha() ? protocolor.getAlpha().getValue() : 1.0; return new java.awt.Color( protocolor.getRed(), protocolor.getGreen(), protocolor.getBlue(), alpha); } public static Color toProto(java.awt.Color color) { float red = (float) color.getRed(); float green = (float) color.getGreen(); float blue = (float) color.getBlue(); float denominator = 255.0; Color.Builder resultBuilder = Color .newBuilder() .setRed(red / denominator) .setGreen(green / denominator) .setBlue(blue / denominator); int alpha = color.getAlpha(); if (alpha != 255) { result.setAlpha( FloatValue .newBuilder() .setValue(((float) alpha) / denominator) .build()); } return resultBuilder.build(); } // ... Example (iOS / Obj-C): // ... static UIColor* fromProto(Color* protocolor) { float red = [protocolor red]; float green = [protocolor green]; float blue = [protocolor blue]; FloatValue* alpha_wrapper = [protocolor alpha]; float alpha = 1.0; if (alpha_wrapper != nil) { alpha = [alpha_wrapper value]; } return [UIColor colorWithRed:red green:green blue:blue alpha:alpha]; } static Color* toProto(UIColor* color) { CGFloat red, green, blue, alpha; if (![color getRed:&red green:&green blue:&blue alpha:&alpha]) { return nil; } Color* result = [[Color alloc] init]; [result setRed:red]; [result setGreen:green]; [result setBlue:blue]; if (alpha <= 0.9999) { [result setAlpha:floatWrapperWithValue(alpha)]; } [result autorelease]; return result; } // ... Example (JavaScript): // ... var protoToCssColor = function(rgb_color) { var redFrac = rgb_color.red || 0.0; var greenFrac = rgb_color.green || 0.0; var blueFrac = rgb_color.blue || 0.0; var red = Math.floor(redFrac * 255); var green = Math.floor(greenFrac * 255); var blue = Math.floor(blueFrac * 255); if (!('alpha' in rgb_color)) { return rgbToCssColor(red, green, blue); } var alphaFrac = rgb_color.alpha.value || 0.0; var rgbParams = [red, green, blue].join(','); return ['rgba(', rgbParams, ',', alphaFrac, ')'].join(''); }; var rgbToCssColor = function(red, green, blue) { var rgbNumber = new Number((red << 16) | (green << 8) | blue); var hexString = rgbNumber.toString(16); var missingZeros = 6 - hexString.length; var resultBuilder = ['#']; for (var i = 0; i < missingZeros; i++) { resultBuilder.push('0'); } resultBuilder.push(hexString); return resultBuilder.join(''); }; // ... # Output only. Badge foreground that pairs with the background.
+                  "alpha": 3.14, # The fraction of this color that should be applied to the pixel. That is, the final pixel color is defined by the equation: `pixel color = alpha * (this color) + (1.0 - alpha) * (background color)` This means that a value of 1.0 corresponds to a solid color, whereas a value of 0.0 corresponds to a completely transparent color. This uses a wrapper message rather than a simple float scalar so that it is possible to distinguish between a default value and the value being unset. If omitted, this color object is rendered as a solid color (as if the alpha value had been explicitly given a value of 1.0).
+                  "blue": 3.14, # The amount of blue in the color as a value in the interval [0, 1].
+                  "green": 3.14, # The amount of green in the color as a value in the interval [0, 1].
+                  "red": 3.14, # The amount of red in the color as a value in the interval [0, 1].
+                },
+                "soloColor": { # Represents a color in the RGBA color space. This representation is designed for simplicity of conversion to/from color representations in various languages over compactness. For example, the fields of this representation can be trivially provided to the constructor of `java.awt.Color` in Java; it can also be trivially provided to UIColor's `+colorWithRed:green:blue:alpha` method in iOS; and, with just a little work, it can be easily formatted into a CSS `rgba()` string in JavaScript. This reference page doesn't carry information about the absolute color space that should be used to interpret the RGB value (e.g. sRGB, Adobe RGB, DCI-P3, BT.2020, etc.). By default, applications should assume the sRGB color space. When color equality needs to be decided, implementations, unless documented otherwise, treat two colors as equal if all their red, green, blue, and alpha values each differ by at most 1e-5. Example (Java): import com.google.type.Color; // ... public static java.awt.Color fromProto(Color protocolor) { float alpha = protocolor.hasAlpha() ? protocolor.getAlpha().getValue() : 1.0; return new java.awt.Color( protocolor.getRed(), protocolor.getGreen(), protocolor.getBlue(), alpha); } public static Color toProto(java.awt.Color color) { float red = (float) color.getRed(); float green = (float) color.getGreen(); float blue = (float) color.getBlue(); float denominator = 255.0; Color.Builder resultBuilder = Color .newBuilder() .setRed(red / denominator) .setGreen(green / denominator) .setBlue(blue / denominator); int alpha = color.getAlpha(); if (alpha != 255) { result.setAlpha( FloatValue .newBuilder() .setValue(((float) alpha) / denominator) .build()); } return resultBuilder.build(); } // ... Example (iOS / Obj-C): // ... static UIColor* fromProto(Color* protocolor) { float red = [protocolor red]; float green = [protocolor green]; float blue = [protocolor blue]; FloatValue* alpha_wrapper = [protocolor alpha]; float alpha = 1.0; if (alpha_wrapper != nil) { alpha = [alpha_wrapper value]; } return [UIColor colorWithRed:red green:green blue:blue alpha:alpha]; } static Color* toProto(UIColor* color) { CGFloat red, green, blue, alpha; if (![color getRed:&red green:&green blue:&blue alpha:&alpha]) { return nil; } Color* result = [[Color alloc] init]; [result setRed:red]; [result setGreen:green]; [result setBlue:blue]; if (alpha <= 0.9999) { [result setAlpha:floatWrapperWithValue(alpha)]; } [result autorelease]; return result; } // ... Example (JavaScript): // ... var protoToCssColor = function(rgb_color) { var redFrac = rgb_color.red || 0.0; var greenFrac = rgb_color.green || 0.0; var blueFrac = rgb_color.blue || 0.0; var red = Math.floor(redFrac * 255); var green = Math.floor(greenFrac * 255); var blue = Math.floor(blueFrac * 255); if (!('alpha' in rgb_color)) { return rgbToCssColor(red, green, blue); } var alphaFrac = rgb_color.alpha.value || 0.0; var rgbParams = [red, green, blue].join(','); return ['rgba(', rgbParams, ',', alphaFrac, ')'].join(''); }; var rgbToCssColor = function(red, green, blue) { var rgbNumber = new Number((red << 16) | (green << 8) | blue); var hexString = rgbNumber.toString(16); var missingZeros = 6 - hexString.length; var resultBuilder = ['#']; for (var i = 0; i < missingZeros; i++) { resultBuilder.push('0'); } resultBuilder.push(hexString); return resultBuilder.join(''); }; // ... # Output only. Color that can be used for text without a background.
+                  "alpha": 3.14, # The fraction of this color that should be applied to the pixel. That is, the final pixel color is defined by the equation: `pixel color = alpha * (this color) + (1.0 - alpha) * (background color)` This means that a value of 1.0 corresponds to a solid color, whereas a value of 0.0 corresponds to a completely transparent color. This uses a wrapper message rather than a simple float scalar so that it is possible to distinguish between a default value and the value being unset. If omitted, this color object is rendered as a solid color (as if the alpha value had been explicitly given a value of 1.0).
+                  "blue": 3.14, # The amount of blue in the color as a value in the interval [0, 1].
+                  "green": 3.14, # The amount of green in the color as a value in the interval [0, 1].
+                  "red": 3.14, # The amount of red in the color as a value in the interval [0, 1].
+                },
+              },
+              "disabled": True or False, # Whether the option should be shown in the UI as disabled.
+              "hiddenInSearch": True or False, # This option should be hidden in the search menu when searching for Drive items.
+              "shownInApply": True or False, # This option should be shown in the apply menu when applying values to a Drive item.
+            },
+            "id": "A String", # The unique value of the choice. This ID is autogenerated. Matches the regex: `([a-zA-Z0-9_])+`.
+            "lifecycle": { # The lifecycle state of an object, such as label, field, or choice. The lifecycle enforces the following transitions: * `UNPUBLISHED_DRAFT` (starting state) * `UNPUBLISHED_DRAFT` -> `PUBLISHED` * `UNPUBLISHED_DRAFT` -> (Deleted) * `PUBLISHED` -> `DISABLED` * `DISABLED` -> `PUBLISHED` * `DISABLED` -> (Deleted) The published and disabled states have some distinct characteristics: * Published—Some kinds of changes might be made to an object in this state, in which case `has_unpublished_changes` will be true. Also, some kinds of changes are not permitted. Generally, any change that would invalidate or cause new restrictions on existing metadata related to the label are rejected. * Disabled—When disabled, the configured `DisabledPolicy` takes effect. # Output only. Lifecycle of the choice.
+              "disabledPolicy": { # The policy that governs how to treat a disabled label, field, or selection choice in different contexts. # The policy that governs how to show a disabled label, field, or selection choice.
+                "hideInSearch": True or False, # Whether to hide this disabled object in the search menu for Drive items. * When `false`, the object is generally shown in the UI as disabled but it appears in the search results when searching for Drive items. * When `true`, the object is generally hidden in the UI when searching for Drive items.
+                "showInApply": True or False, # Whether to show this disabled object in the apply menu on Drive items. * When `true`, the object is generally shown in the UI as disabled and is unselectable. * When `false`, the object is generally hidden in the UI.
+              },
+              "hasUnpublishedChanges": True or False, # Output only. Whether the object associated with this lifecycle has unpublished changes.
+              "state": "A String", # Output only. The state of the object associated with this lifecycle.
+            },
+            "lockStatus": { # Contains information about whether a label component should be considered locked. # Output only. The LockStatus of this choice.
+              "locked": True or False, # Output only. Indicates whether this label component is the (direct) target of a LabelLock. A label component can be implicitly locked even if it's not the direct target of a LabelLock, in which case this field is set to false.
+            },
+            "properties": { # Basic properties of the choice. # Basic properties of the choice.
+              "badgeConfig": { # Badge status of the label. # The badge configuration for this choice. When set, the label that owns this choice is considered a "badged label".
+                "color": { # Represents a color in the RGBA color space. This representation is designed for simplicity of conversion to/from color representations in various languages over compactness. For example, the fields of this representation can be trivially provided to the constructor of `java.awt.Color` in Java; it can also be trivially provided to UIColor's `+colorWithRed:green:blue:alpha` method in iOS; and, with just a little work, it can be easily formatted into a CSS `rgba()` string in JavaScript. This reference page doesn't carry information about the absolute color space that should be used to interpret the RGB value (e.g. sRGB, Adobe RGB, DCI-P3, BT.2020, etc.). By default, applications should assume the sRGB color space. When color equality needs to be decided, implementations, unless documented otherwise, treat two colors as equal if all their red, green, blue, and alpha values each differ by at most 1e-5. Example (Java): import com.google.type.Color; // ... public static java.awt.Color fromProto(Color protocolor) { float alpha = protocolor.hasAlpha() ? protocolor.getAlpha().getValue() : 1.0; return new java.awt.Color( protocolor.getRed(), protocolor.getGreen(), protocolor.getBlue(), alpha); } public static Color toProto(java.awt.Color color) { float red = (float) color.getRed(); float green = (float) color.getGreen(); float blue = (float) color.getBlue(); float denominator = 255.0; Color.Builder resultBuilder = Color .newBuilder() .setRed(red / denominator) .setGreen(green / denominator) .setBlue(blue / denominator); int alpha = color.getAlpha(); if (alpha != 255) { result.setAlpha( FloatValue .newBuilder() .setValue(((float) alpha) / denominator) .build()); } return resultBuilder.build(); } // ... Example (iOS / Obj-C): // ... static UIColor* fromProto(Color* protocolor) { float red = [protocolor red]; float green = [protocolor green]; float blue = [protocolor blue]; FloatValue* alpha_wrapper = [protocolor alpha]; float alpha = 1.0; if (alpha_wrapper != nil) { alpha = [alpha_wrapper value]; } return [UIColor colorWithRed:red green:green blue:blue alpha:alpha]; } static Color* toProto(UIColor* color) { CGFloat red, green, blue, alpha; if (![color getRed:&red green:&green blue:&blue alpha:&alpha]) { return nil; } Color* result = [[Color alloc] init]; [result setRed:red]; [result setGreen:green]; [result setBlue:blue]; if (alpha <= 0.9999) { [result setAlpha:floatWrapperWithValue(alpha)]; } [result autorelease]; return result; } // ... Example (JavaScript): // ... var protoToCssColor = function(rgb_color) { var redFrac = rgb_color.red || 0.0; var greenFrac = rgb_color.green || 0.0; var blueFrac = rgb_color.blue || 0.0; var red = Math.floor(redFrac * 255); var green = Math.floor(greenFrac * 255); var blue = Math.floor(blueFrac * 255); if (!('alpha' in rgb_color)) { return rgbToCssColor(red, green, blue); } var alphaFrac = rgb_color.alpha.value || 0.0; var rgbParams = [red, green, blue].join(','); return ['rgba(', rgbParams, ',', alphaFrac, ')'].join(''); }; var rgbToCssColor = function(red, green, blue) { var rgbNumber = new Number((red << 16) | (green << 8) | blue); var hexString = rgbNumber.toString(16); var missingZeros = 6 - hexString.length; var resultBuilder = ['#']; for (var i = 0; i < missingZeros; i++) { resultBuilder.push('0'); } resultBuilder.push(hexString); return resultBuilder.join(''); }; // ... # The color of the badge. When not specified, no badge is rendered. The background, foreground, and solo (light and dark mode) colors set here are changed in the Drive UI into the closest recommended supported color.
+                  "alpha": 3.14, # The fraction of this color that should be applied to the pixel. That is, the final pixel color is defined by the equation: `pixel color = alpha * (this color) + (1.0 - alpha) * (background color)` This means that a value of 1.0 corresponds to a solid color, whereas a value of 0.0 corresponds to a completely transparent color. This uses a wrapper message rather than a simple float scalar so that it is possible to distinguish between a default value and the value being unset. If omitted, this color object is rendered as a solid color (as if the alpha value had been explicitly given a value of 1.0).
+                  "blue": 3.14, # The amount of blue in the color as a value in the interval [0, 1].
+                  "green": 3.14, # The amount of green in the color as a value in the interval [0, 1].
+                  "red": 3.14, # The amount of red in the color as a value in the interval [0, 1].
+                },
+                "priorityOverride": "A String", # Override the default global priority of this badge. When set to 0, the default priority heuristic is used.
+              },
+              "description": "A String", # The description of this label.
+              "displayName": "A String", # Required. The display text to show in the UI identifying this field.
+              "insertBeforeChoice": "A String", # Input only. Insert or move this choice before the indicated choice. If empty, the choice is placed at the end of the list.
+            },
+            "publishTime": "A String", # Output only. The time this choice was published. This value has no meaning when the choice is not published.
+            "publisher": { # Information about a user. # Output only. The user who published this choice. This value has no meaning when the choice is not published.
+              "person": "A String", # The identifier for this user that can be used with the People API to get more information. For example, people/12345678.
+            },
+            "schemaCapabilities": { # The capabilities related to this choice when editing the choice. # Output only. The capabilities related to this option when editing the option.
+              "canDelete": True or False, # Whether the user can delete this choice.
+              "canDisable": True or False, # Whether the user can disable this choice.
+              "canEnable": True or False, # Whether the user can enable this choice.
+              "canUpdate": True or False, # Whether the user can update this choice.
+            },
+            "updateTime": "A String", # Output only. The time this choice was updated last.
+            "updater": { # Information about a user. # Output only. The user who updated this choice last.
+              "person": "A String", # The identifier for this user that can be used with the People API to get more information. For example, people/12345678.
+            },
+          },
+        ],
+        "listOptions": { # Options for a multi-valued variant of an associated field type. # When specified, indicates this field supports a list of values. Once the field is published, this cannot be changed.
+          "maxEntries": 42, # Maximum number of entries permitted.
+        },
+      },
+      "textOptions": { # Options for the Text field type. # Text field options.
+        "maxLength": 42, # Output only. The maximum valid length of values for the text field.
+        "minLength": 42, # Output only. The minimum valid length of values for the text field.
+      },
+      "updateTime": "A String", # Output only. The time this field was updated.
+      "updater": { # Information about a user. # Output only. The user who modified this field.
+        "person": "A String", # The identifier for this user that can be used with the People API to get more information. For example, people/12345678.
+      },
+      "userOptions": { # Options for the user field type. # User field options.
+        "listOptions": { # Options for a multi-valued variant of an associated field type. # When specified, indicates that this field supports a list of values. Once the field is published, this cannot be changed.
+          "maxEntries": 42, # Maximum number of entries permitted.
+        },
+      },
+    },
+  ],
+  "id": "A String", # Output only. Globally unique identifier of this label. ID makes up part of the label `name`, but unlike `name`, ID is consistent between revisions. Matches the regex: `([a-zA-Z0-9])+`
+  "labelType": "A String", # Required. The type of label.
+  "learnMoreUri": "A String", # Custom URL to present to users to allow them to learn more about this label and how it should be used.
+  "lifecycle": { # The lifecycle state of an object, such as label, field, or choice. The lifecycle enforces the following transitions: * `UNPUBLISHED_DRAFT` (starting state) * `UNPUBLISHED_DRAFT` -> `PUBLISHED` * `UNPUBLISHED_DRAFT` -> (Deleted) * `PUBLISHED` -> `DISABLED` * `DISABLED` -> `PUBLISHED` * `DISABLED` -> (Deleted) The published and disabled states have some distinct characteristics: * Published—Some kinds of changes might be made to an object in this state, in which case `has_unpublished_changes` will be true. Also, some kinds of changes are not permitted. Generally, any change that would invalidate or cause new restrictions on existing metadata related to the label are rejected. * Disabled—When disabled, the configured `DisabledPolicy` takes effect. # Output only. The lifecycle state of the label including whether it's published, deprecated, and has draft changes.
+    "disabledPolicy": { # The policy that governs how to treat a disabled label, field, or selection choice in different contexts. # The policy that governs how to show a disabled label, field, or selection choice.
+      "hideInSearch": True or False, # Whether to hide this disabled object in the search menu for Drive items. * When `false`, the object is generally shown in the UI as disabled but it appears in the search results when searching for Drive items. * When `true`, the object is generally hidden in the UI when searching for Drive items.
+      "showInApply": True or False, # Whether to show this disabled object in the apply menu on Drive items. * When `true`, the object is generally shown in the UI as disabled and is unselectable. * When `false`, the object is generally hidden in the UI.
+    },
+    "hasUnpublishedChanges": True or False, # Output only. Whether the object associated with this lifecycle has unpublished changes.
+    "state": "A String", # Output only. The state of the object associated with this lifecycle.
+  },
+  "lockStatus": { # Contains information about whether a label component should be considered locked. # Output only. The LockStatus of this label.
+    "locked": True or False, # Output only. Indicates whether this label component is the (direct) target of a LabelLock. A label component can be implicitly locked even if it's not the direct target of a LabelLock, in which case this field is set to false.
+  },
+  "name": "A String", # Output only. Resource name of the label. Will be in the form of either: `labels/{id}` or `labels/{id}@{revision_id}` depending on the request. See `id` and `revision_id` below.
+  "properties": { # Basic properties of the label. # Required. The basic properties of the label.
+    "description": "A String", # The description of the label.
+    "title": "A String", # Required. Title of the label.
+  },
+  "publishTime": "A String", # Output only. The time this label was published. This value has no meaning when the label is not published.
+  "publisher": { # Information about a user. # Output only. The user who published this label. This value has no meaning when the label is not published.
+    "person": "A String", # The identifier for this user that can be used with the People API to get more information. For example, people/12345678.
+  },
+  "revisionCreateTime": "A String", # Output only. The time this label revision was created.
+  "revisionCreator": { # Information about a user. # Output only. The user who created this label revision.
+    "person": "A String", # The identifier for this user that can be used with the People API to get more information. For example, people/12345678.
+  },
+  "revisionId": "A String", # Output only. Revision ID of the label. Revision ID might be part of the label `name` depending on the request issued. A new revision is created whenever revisioned properties of a label are changed. Matches the regex: `([a-zA-Z0-9])+`
+  "schemaCapabilities": { # The capabilities related to this label when editing the label. # Output only. The capabilities the user has on this label.
+    "canDelete": True or False, # Whether the user can delete this label. The user must have permission and the label must be disabled.
+    "canDisable": True or False, # Whether the user can disable this label. The user must have permission and this label must not already be disabled.
+    "canEnable": True or False, # Whether the user can enable this label. The user must have permission and this label must be disabled.
+    "canUpdate": True or False, # Whether the user can change this label.
+  },
+}
+
+ +
+ updateLabelCopyMode(name, body=None, x__xgafv=None) +
Updates a Label's `CopyMode`. Changes to this policy are not revisioned, do not require publishing, and take effect immediately.
+
+Args:
+  name: string, Required. The resource name of the Label to update. (required)
+  body: object, The request body.
+    The object takes the form of:
+
+{ # Request to update the `CopyMode` of the given Label. Changes to this policy are not revisioned, do not require publishing, and take effect immediately. \
+  "copyMode": "A String", # Required. Indicates how the applied Label, and Field values should be copied when a Drive item is copied.
+  "languageCode": "A String", # The BCP-47 language code to use for evaluating localized field labels. When not specified, values in the default configured language will be used.
+  "useAdminAccess": True or False, # Set to `true` in order to use the user's admin credentials. The server will verify the user is an admin for the Label before allowing access.
+  "view": "A String", # When specified, only certain fields belonging to the indicated view will be returned.
+}
+
+  x__xgafv: string, V1 error format.
+    Allowed values
+      1 - v1 error format
+      2 - v2 error format
+
+Returns:
+  An object of the form:
+
+    { # A label defines a taxonomy that can be applied to Drive items in order to organize and search across items. Labels can be simple strings, or can contain fields that describe additional metadata that can be further used to organize and search Drive items.
+  "appliedCapabilities": { # The capabilities a user has on this label's applied metadata. # Output only. The capabilities related to this label on applied metadata.
+    "canApply": True or False, # Whether the user can apply this label to items.
+    "canRead": True or False, # Whether the user can read applied metadata related to this label.
+    "canRemove": True or False, # Whether the user can remove this label from items.
+  },
+  "appliedLabelPolicy": { # Behavior of this label when it's applied to Drive items. # Output only. Behavior of this label when it's applied to Drive items.
+    "copyMode": "A String", # Indicates how the applied label and field values should be copied when a Drive item is copied.
+  },
+  "createTime": "A String", # Output only. The time this label was created.
+  "creator": { # Information about a user. # Output only. The user who created this label.
+    "person": "A String", # The identifier for this user that can be used with the People API to get more information. For example, people/12345678.
+  },
+  "disableTime": "A String", # Output only. The time this label was disabled. This value has no meaning when the label is not disabled.
+  "disabler": { # Information about a user. # Output only. The user who disabled this label. This value has no meaning when the label is not disabled.
+    "person": "A String", # The identifier for this user that can be used with the People API to get more information. For example, people/12345678.
+  },
+  "displayHints": { # UI display hints for rendering the label. # Output only. UI display hints for rendering the label.
+    "disabled": True or False, # Whether the label should be shown in the UI as disabled.
+    "hiddenInSearch": True or False, # This label should be hidden in the search menu when searching for Drive items.
+    "priority": "A String", # Order to display label in a list.
+    "shownInApply": True or False, # This label should be shown in the apply menu when applying values to a Drive item.
+  },
+  "fields": [ # List of fields in descending priority order.
+    { # Defines a field that has a display name, data type, and other configuration options. This field defines the kind of metadata that may be set on a Drive item.
+      "appliedCapabilities": { # The capabilities related to this field on applied metadata. # Output only. The capabilities this user has on this field and its value when the label is applied on Drive items.
+        "canRead": True or False, # Whether the user can read related applied metadata on items.
+        "canSearch": True or False, # Whether the user can search for Drive items referencing this field.
+        "canWrite": True or False, # Whether the user can set this field on Drive items.
+      },
+      "createTime": "A String", # Output only. The time this field was created.
+      "creator": { # Information about a user. # Output only. The user who created this field.
+        "person": "A String", # The identifier for this user that can be used with the People API to get more information. For example, people/12345678.
+      },
+      "dateOptions": { # Options for the date field type. # Date field options.
+        "dateFormat": "A String", # Output only. ICU date format.
+        "dateFormatType": "A String", # Localized date formatting option. Field values are rendered in this format according to their locale.
+        "maxValue": { # Represents a whole or partial calendar date, such as a birthday. The time of day and time zone are either specified elsewhere or are insignificant. The date is relative to the Gregorian Calendar. This can represent one of the following: * A full date, with non-zero year, month, and day values. * A month and day, with a zero year (for example, an anniversary). * A year on its own, with a zero month and a zero day. * A year and month, with a zero day (for example, a credit card expiration date). Related types: * google.type.TimeOfDay * google.type.DateTime * google.protobuf.Timestamp # Output only. Maximum valid value (year, month, day).
+          "day": 42, # Day of a month. Must be from 1 to 31 and valid for the year and month, or 0 to specify a year by itself or a year and month where the day isn't significant.
+          "month": 42, # Month of a year. Must be from 1 to 12, or 0 to specify a year without a month and day.
+          "year": 42, # Year of the date. Must be from 1 to 9999, or 0 to specify a date without a year.
+        },
+        "minValue": { # Represents a whole or partial calendar date, such as a birthday. The time of day and time zone are either specified elsewhere or are insignificant. The date is relative to the Gregorian Calendar. This can represent one of the following: * A full date, with non-zero year, month, and day values. * A month and day, with a zero year (for example, an anniversary). * A year on its own, with a zero month and a zero day. * A year and month, with a zero day (for example, a credit card expiration date). Related types: * google.type.TimeOfDay * google.type.DateTime * google.protobuf.Timestamp # Output only. Minimum valid value (year, month, day).
+          "day": 42, # Day of a month. Must be from 1 to 31 and valid for the year and month, or 0 to specify a year by itself or a year and month where the day isn't significant.
+          "month": 42, # Month of a year. Must be from 1 to 12, or 0 to specify a year without a month and day.
+          "year": 42, # Year of the date. Must be from 1 to 9999, or 0 to specify a date without a year.
+        },
+      },
+      "disableTime": "A String", # Output only. The time this field was disabled. This value has no meaning when the field is not disabled.
+      "disabler": { # Information about a user. # Output only. The user who disabled this field. This value has no meaning when the field is not disabled.
+        "person": "A String", # The identifier for this user that can be used with the People API to get more information. For example, people/12345678.
+      },
+      "displayHints": { # UI display hints for rendering a field. # Output only. UI display hints for rendering a field.
+        "disabled": True or False, # Whether the field should be shown in the UI as disabled.
+        "hiddenInSearch": True or False, # This field should be hidden in the search menu when searching for Drive items.
+        "required": True or False, # Whether the field should be shown as required in the UI.
+        "shownInApply": True or False, # This field should be shown in the apply menu when applying values to a Drive item.
+      },
+      "id": "A String", # Output only. The key of a field, unique within a label or library. This value is autogenerated. Matches the regex: `([a-zA-Z0-9])+`
+      "integerOptions": { # Options for the Integer field type. # Integer field options.
+        "maxValue": "A String", # Output only. The maximum valid value for the integer field.
+        "minValue": "A String", # Output only. The minimum valid value for the integer field.
+      },
+      "lifecycle": { # The lifecycle state of an object, such as label, field, or choice. The lifecycle enforces the following transitions: * `UNPUBLISHED_DRAFT` (starting state) * `UNPUBLISHED_DRAFT` -> `PUBLISHED` * `UNPUBLISHED_DRAFT` -> (Deleted) * `PUBLISHED` -> `DISABLED` * `DISABLED` -> `PUBLISHED` * `DISABLED` -> (Deleted) The published and disabled states have some distinct characteristics: * Published—Some kinds of changes might be made to an object in this state, in which case `has_unpublished_changes` will be true. Also, some kinds of changes are not permitted. Generally, any change that would invalidate or cause new restrictions on existing metadata related to the label are rejected. * Disabled—When disabled, the configured `DisabledPolicy` takes effect. # Output only. The lifecycle of this field.
+        "disabledPolicy": { # The policy that governs how to treat a disabled label, field, or selection choice in different contexts. # The policy that governs how to show a disabled label, field, or selection choice.
+          "hideInSearch": True or False, # Whether to hide this disabled object in the search menu for Drive items. * When `false`, the object is generally shown in the UI as disabled but it appears in the search results when searching for Drive items. * When `true`, the object is generally hidden in the UI when searching for Drive items.
+          "showInApply": True or False, # Whether to show this disabled object in the apply menu on Drive items. * When `true`, the object is generally shown in the UI as disabled and is unselectable. * When `false`, the object is generally hidden in the UI.
+        },
+        "hasUnpublishedChanges": True or False, # Output only. Whether the object associated with this lifecycle has unpublished changes.
+        "state": "A String", # Output only. The state of the object associated with this lifecycle.
+      },
+      "lockStatus": { # Contains information about whether a label component should be considered locked. # Output only. The LockStatus of this field.
+        "locked": True or False, # Output only. Indicates whether this label component is the (direct) target of a LabelLock. A label component can be implicitly locked even if it's not the direct target of a LabelLock, in which case this field is set to false.
+      },
+      "properties": { # The basic properties of the field. # The basic properties of the field.
+        "displayName": "A String", # Required. The display text to show in the UI identifying this field.
+        "insertBeforeField": "A String", # Input only. Insert or move this field before the indicated field. If empty, the field is placed at the end of the list.
+        "required": True or False, # Whether the field should be marked as required.
+      },
+      "publisher": { # Information about a user. # Output only. The user who published this field. This value has no meaning when the field is not published.
+        "person": "A String", # The identifier for this user that can be used with the People API to get more information. For example, people/12345678.
+      },
+      "queryKey": "A String", # Output only. The key to use when constructing Drive search queries to find files based on values defined for this field on files. For example, "`{query_key}` > 2001-01-01".
+      "schemaCapabilities": { # The capabilities related to this field when editing the field. # Output only. The capabilities this user has when editing this field.
+        "canDelete": True or False, # Whether the user can delete this field. The user must have permission and the field must be deprecated.
+        "canDisable": True or False, # Whether the user can disable this field. The user must have permission and this field must not already be disabled.
+        "canEnable": True or False, # Whether the user can enable this field. The user must have permission and this field must be disabled.
+        "canUpdate": True or False, # Whether the user can change this field.
+      },
+      "selectionOptions": { # Options for the selection field type. # Selection field options.
+        "choices": [ # The options available for this selection field. The list order is consistent, and modified with `insert_before_choice`.
+          { # Selection field choice.
+            "appliedCapabilities": { # The capabilities related to this choice on applied metadata. # Output only. The capabilities related to this choice on applied metadata.
+              "canRead": True or False, # Whether the user can read related applied metadata on items.
+              "canSearch": True or False, # Whether the user can use this choice in search queries.
+              "canSelect": True or False, # Whether the user can select this choice on an item.
+            },
+            "createTime": "A String", # Output only. The time this choice was created.
+            "creator": { # Information about a user. # Output only. The user who created this choice.
+              "person": "A String", # The identifier for this user that can be used with the People API to get more information. For example, people/12345678.
+            },
+            "disableTime": "A String", # Output only. The time this choice was disabled. This value has no meaning when the choice is not disabled.
+            "disabler": { # Information about a user. # Output only. The user who disabled this choice. This value has no meaning when the option is not disabled.
+              "person": "A String", # The identifier for this user that can be used with the People API to get more information. For example, people/12345678.
+            },
+            "displayHints": { # UI display hints for rendering an option. # Output only. UI display hints for rendering a choice.
+              "badgeColors": { # The color derived from BadgeConfig and changed to the closest recommended supported color. # The colors to use for the badge. Changed to Google Material colors based on the chosen `properties.badge_config.color`.
+                "backgroundColor": { # Represents a color in the RGBA color space. This representation is designed for simplicity of conversion to/from color representations in various languages over compactness. For example, the fields of this representation can be trivially provided to the constructor of `java.awt.Color` in Java; it can also be trivially provided to UIColor's `+colorWithRed:green:blue:alpha` method in iOS; and, with just a little work, it can be easily formatted into a CSS `rgba()` string in JavaScript. This reference page doesn't carry information about the absolute color space that should be used to interpret the RGB value (e.g. sRGB, Adobe RGB, DCI-P3, BT.2020, etc.). By default, applications should assume the sRGB color space. When color equality needs to be decided, implementations, unless documented otherwise, treat two colors as equal if all their red, green, blue, and alpha values each differ by at most 1e-5. Example (Java): import com.google.type.Color; // ... public static java.awt.Color fromProto(Color protocolor) { float alpha = protocolor.hasAlpha() ? protocolor.getAlpha().getValue() : 1.0; return new java.awt.Color( protocolor.getRed(), protocolor.getGreen(), protocolor.getBlue(), alpha); } public static Color toProto(java.awt.Color color) { float red = (float) color.getRed(); float green = (float) color.getGreen(); float blue = (float) color.getBlue(); float denominator = 255.0; Color.Builder resultBuilder = Color .newBuilder() .setRed(red / denominator) .setGreen(green / denominator) .setBlue(blue / denominator); int alpha = color.getAlpha(); if (alpha != 255) { result.setAlpha( FloatValue .newBuilder() .setValue(((float) alpha) / denominator) .build()); } return resultBuilder.build(); } // ... Example (iOS / Obj-C): // ... static UIColor* fromProto(Color* protocolor) { float red = [protocolor red]; float green = [protocolor green]; float blue = [protocolor blue]; FloatValue* alpha_wrapper = [protocolor alpha]; float alpha = 1.0; if (alpha_wrapper != nil) { alpha = [alpha_wrapper value]; } return [UIColor colorWithRed:red green:green blue:blue alpha:alpha]; } static Color* toProto(UIColor* color) { CGFloat red, green, blue, alpha; if (![color getRed:&red green:&green blue:&blue alpha:&alpha]) { return nil; } Color* result = [[Color alloc] init]; [result setRed:red]; [result setGreen:green]; [result setBlue:blue]; if (alpha <= 0.9999) { [result setAlpha:floatWrapperWithValue(alpha)]; } [result autorelease]; return result; } // ... Example (JavaScript): // ... var protoToCssColor = function(rgb_color) { var redFrac = rgb_color.red || 0.0; var greenFrac = rgb_color.green || 0.0; var blueFrac = rgb_color.blue || 0.0; var red = Math.floor(redFrac * 255); var green = Math.floor(greenFrac * 255); var blue = Math.floor(blueFrac * 255); if (!('alpha' in rgb_color)) { return rgbToCssColor(red, green, blue); } var alphaFrac = rgb_color.alpha.value || 0.0; var rgbParams = [red, green, blue].join(','); return ['rgba(', rgbParams, ',', alphaFrac, ')'].join(''); }; var rgbToCssColor = function(red, green, blue) { var rgbNumber = new Number((red << 16) | (green << 8) | blue); var hexString = rgbNumber.toString(16); var missingZeros = 6 - hexString.length; var resultBuilder = ['#']; for (var i = 0; i < missingZeros; i++) { resultBuilder.push('0'); } resultBuilder.push(hexString); return resultBuilder.join(''); }; // ... # Output only. Badge background that pairs with the foreground.
+                  "alpha": 3.14, # The fraction of this color that should be applied to the pixel. That is, the final pixel color is defined by the equation: `pixel color = alpha * (this color) + (1.0 - alpha) * (background color)` This means that a value of 1.0 corresponds to a solid color, whereas a value of 0.0 corresponds to a completely transparent color. This uses a wrapper message rather than a simple float scalar so that it is possible to distinguish between a default value and the value being unset. If omitted, this color object is rendered as a solid color (as if the alpha value had been explicitly given a value of 1.0).
+                  "blue": 3.14, # The amount of blue in the color as a value in the interval [0, 1].
+                  "green": 3.14, # The amount of green in the color as a value in the interval [0, 1].
+                  "red": 3.14, # The amount of red in the color as a value in the interval [0, 1].
+                },
+                "foregroundColor": { # Represents a color in the RGBA color space. This representation is designed for simplicity of conversion to/from color representations in various languages over compactness. For example, the fields of this representation can be trivially provided to the constructor of `java.awt.Color` in Java; it can also be trivially provided to UIColor's `+colorWithRed:green:blue:alpha` method in iOS; and, with just a little work, it can be easily formatted into a CSS `rgba()` string in JavaScript. This reference page doesn't carry information about the absolute color space that should be used to interpret the RGB value (e.g. sRGB, Adobe RGB, DCI-P3, BT.2020, etc.). By default, applications should assume the sRGB color space. When color equality needs to be decided, implementations, unless documented otherwise, treat two colors as equal if all their red, green, blue, and alpha values each differ by at most 1e-5. Example (Java): import com.google.type.Color; // ... public static java.awt.Color fromProto(Color protocolor) { float alpha = protocolor.hasAlpha() ? protocolor.getAlpha().getValue() : 1.0; return new java.awt.Color( protocolor.getRed(), protocolor.getGreen(), protocolor.getBlue(), alpha); } public static Color toProto(java.awt.Color color) { float red = (float) color.getRed(); float green = (float) color.getGreen(); float blue = (float) color.getBlue(); float denominator = 255.0; Color.Builder resultBuilder = Color .newBuilder() .setRed(red / denominator) .setGreen(green / denominator) .setBlue(blue / denominator); int alpha = color.getAlpha(); if (alpha != 255) { result.setAlpha( FloatValue .newBuilder() .setValue(((float) alpha) / denominator) .build()); } return resultBuilder.build(); } // ... Example (iOS / Obj-C): // ... static UIColor* fromProto(Color* protocolor) { float red = [protocolor red]; float green = [protocolor green]; float blue = [protocolor blue]; FloatValue* alpha_wrapper = [protocolor alpha]; float alpha = 1.0; if (alpha_wrapper != nil) { alpha = [alpha_wrapper value]; } return [UIColor colorWithRed:red green:green blue:blue alpha:alpha]; } static Color* toProto(UIColor* color) { CGFloat red, green, blue, alpha; if (![color getRed:&red green:&green blue:&blue alpha:&alpha]) { return nil; } Color* result = [[Color alloc] init]; [result setRed:red]; [result setGreen:green]; [result setBlue:blue]; if (alpha <= 0.9999) { [result setAlpha:floatWrapperWithValue(alpha)]; } [result autorelease]; return result; } // ... Example (JavaScript): // ... var protoToCssColor = function(rgb_color) { var redFrac = rgb_color.red || 0.0; var greenFrac = rgb_color.green || 0.0; var blueFrac = rgb_color.blue || 0.0; var red = Math.floor(redFrac * 255); var green = Math.floor(greenFrac * 255); var blue = Math.floor(blueFrac * 255); if (!('alpha' in rgb_color)) { return rgbToCssColor(red, green, blue); } var alphaFrac = rgb_color.alpha.value || 0.0; var rgbParams = [red, green, blue].join(','); return ['rgba(', rgbParams, ',', alphaFrac, ')'].join(''); }; var rgbToCssColor = function(red, green, blue) { var rgbNumber = new Number((red << 16) | (green << 8) | blue); var hexString = rgbNumber.toString(16); var missingZeros = 6 - hexString.length; var resultBuilder = ['#']; for (var i = 0; i < missingZeros; i++) { resultBuilder.push('0'); } resultBuilder.push(hexString); return resultBuilder.join(''); }; // ... # Output only. Badge foreground that pairs with the background.
+                  "alpha": 3.14, # The fraction of this color that should be applied to the pixel. That is, the final pixel color is defined by the equation: `pixel color = alpha * (this color) + (1.0 - alpha) * (background color)` This means that a value of 1.0 corresponds to a solid color, whereas a value of 0.0 corresponds to a completely transparent color. This uses a wrapper message rather than a simple float scalar so that it is possible to distinguish between a default value and the value being unset. If omitted, this color object is rendered as a solid color (as if the alpha value had been explicitly given a value of 1.0).
+                  "blue": 3.14, # The amount of blue in the color as a value in the interval [0, 1].
+                  "green": 3.14, # The amount of green in the color as a value in the interval [0, 1].
+                  "red": 3.14, # The amount of red in the color as a value in the interval [0, 1].
+                },
+                "soloColor": { # Represents a color in the RGBA color space. This representation is designed for simplicity of conversion to/from color representations in various languages over compactness. For example, the fields of this representation can be trivially provided to the constructor of `java.awt.Color` in Java; it can also be trivially provided to UIColor's `+colorWithRed:green:blue:alpha` method in iOS; and, with just a little work, it can be easily formatted into a CSS `rgba()` string in JavaScript. This reference page doesn't carry information about the absolute color space that should be used to interpret the RGB value (e.g. sRGB, Adobe RGB, DCI-P3, BT.2020, etc.). By default, applications should assume the sRGB color space. When color equality needs to be decided, implementations, unless documented otherwise, treat two colors as equal if all their red, green, blue, and alpha values each differ by at most 1e-5. Example (Java): import com.google.type.Color; // ... public static java.awt.Color fromProto(Color protocolor) { float alpha = protocolor.hasAlpha() ? protocolor.getAlpha().getValue() : 1.0; return new java.awt.Color( protocolor.getRed(), protocolor.getGreen(), protocolor.getBlue(), alpha); } public static Color toProto(java.awt.Color color) { float red = (float) color.getRed(); float green = (float) color.getGreen(); float blue = (float) color.getBlue(); float denominator = 255.0; Color.Builder resultBuilder = Color .newBuilder() .setRed(red / denominator) .setGreen(green / denominator) .setBlue(blue / denominator); int alpha = color.getAlpha(); if (alpha != 255) { result.setAlpha( FloatValue .newBuilder() .setValue(((float) alpha) / denominator) .build()); } return resultBuilder.build(); } // ... Example (iOS / Obj-C): // ... static UIColor* fromProto(Color* protocolor) { float red = [protocolor red]; float green = [protocolor green]; float blue = [protocolor blue]; FloatValue* alpha_wrapper = [protocolor alpha]; float alpha = 1.0; if (alpha_wrapper != nil) { alpha = [alpha_wrapper value]; } return [UIColor colorWithRed:red green:green blue:blue alpha:alpha]; } static Color* toProto(UIColor* color) { CGFloat red, green, blue, alpha; if (![color getRed:&red green:&green blue:&blue alpha:&alpha]) { return nil; } Color* result = [[Color alloc] init]; [result setRed:red]; [result setGreen:green]; [result setBlue:blue]; if (alpha <= 0.9999) { [result setAlpha:floatWrapperWithValue(alpha)]; } [result autorelease]; return result; } // ... Example (JavaScript): // ... var protoToCssColor = function(rgb_color) { var redFrac = rgb_color.red || 0.0; var greenFrac = rgb_color.green || 0.0; var blueFrac = rgb_color.blue || 0.0; var red = Math.floor(redFrac * 255); var green = Math.floor(greenFrac * 255); var blue = Math.floor(blueFrac * 255); if (!('alpha' in rgb_color)) { return rgbToCssColor(red, green, blue); } var alphaFrac = rgb_color.alpha.value || 0.0; var rgbParams = [red, green, blue].join(','); return ['rgba(', rgbParams, ',', alphaFrac, ')'].join(''); }; var rgbToCssColor = function(red, green, blue) { var rgbNumber = new Number((red << 16) | (green << 8) | blue); var hexString = rgbNumber.toString(16); var missingZeros = 6 - hexString.length; var resultBuilder = ['#']; for (var i = 0; i < missingZeros; i++) { resultBuilder.push('0'); } resultBuilder.push(hexString); return resultBuilder.join(''); }; // ... # Output only. Color that can be used for text without a background.
+                  "alpha": 3.14, # The fraction of this color that should be applied to the pixel. That is, the final pixel color is defined by the equation: `pixel color = alpha * (this color) + (1.0 - alpha) * (background color)` This means that a value of 1.0 corresponds to a solid color, whereas a value of 0.0 corresponds to a completely transparent color. This uses a wrapper message rather than a simple float scalar so that it is possible to distinguish between a default value and the value being unset. If omitted, this color object is rendered as a solid color (as if the alpha value had been explicitly given a value of 1.0).
+                  "blue": 3.14, # The amount of blue in the color as a value in the interval [0, 1].
+                  "green": 3.14, # The amount of green in the color as a value in the interval [0, 1].
+                  "red": 3.14, # The amount of red in the color as a value in the interval [0, 1].
+                },
+              },
+              "badgePriority": "A String", # The priority of this badge. Used to compare and sort between multiple badges. A lower number means the badge should be shown first. When a badging configuration is not present, this will be 0. Otherwise, this will be set to `BadgeConfig.priority_override` or the default heuristic which prefers creation date of the label, and field and option priority.
+              "darkBadgeColors": { # The color derived from BadgeConfig and changed to the closest recommended supported color. # The dark-mode color to use for the badge. Changed to Google Material colors based on the chosen `properties.badge_config.color`.
+                "backgroundColor": { # Represents a color in the RGBA color space. This representation is designed for simplicity of conversion to/from color representations in various languages over compactness. For example, the fields of this representation can be trivially provided to the constructor of `java.awt.Color` in Java; it can also be trivially provided to UIColor's `+colorWithRed:green:blue:alpha` method in iOS; and, with just a little work, it can be easily formatted into a CSS `rgba()` string in JavaScript. This reference page doesn't carry information about the absolute color space that should be used to interpret the RGB value (e.g. sRGB, Adobe RGB, DCI-P3, BT.2020, etc.). By default, applications should assume the sRGB color space. When color equality needs to be decided, implementations, unless documented otherwise, treat two colors as equal if all their red, green, blue, and alpha values each differ by at most 1e-5. Example (Java): import com.google.type.Color; // ... public static java.awt.Color fromProto(Color protocolor) { float alpha = protocolor.hasAlpha() ? protocolor.getAlpha().getValue() : 1.0; return new java.awt.Color( protocolor.getRed(), protocolor.getGreen(), protocolor.getBlue(), alpha); } public static Color toProto(java.awt.Color color) { float red = (float) color.getRed(); float green = (float) color.getGreen(); float blue = (float) color.getBlue(); float denominator = 255.0; Color.Builder resultBuilder = Color .newBuilder() .setRed(red / denominator) .setGreen(green / denominator) .setBlue(blue / denominator); int alpha = color.getAlpha(); if (alpha != 255) { result.setAlpha( FloatValue .newBuilder() .setValue(((float) alpha) / denominator) .build()); } return resultBuilder.build(); } // ... Example (iOS / Obj-C): // ... static UIColor* fromProto(Color* protocolor) { float red = [protocolor red]; float green = [protocolor green]; float blue = [protocolor blue]; FloatValue* alpha_wrapper = [protocolor alpha]; float alpha = 1.0; if (alpha_wrapper != nil) { alpha = [alpha_wrapper value]; } return [UIColor colorWithRed:red green:green blue:blue alpha:alpha]; } static Color* toProto(UIColor* color) { CGFloat red, green, blue, alpha; if (![color getRed:&red green:&green blue:&blue alpha:&alpha]) { return nil; } Color* result = [[Color alloc] init]; [result setRed:red]; [result setGreen:green]; [result setBlue:blue]; if (alpha <= 0.9999) { [result setAlpha:floatWrapperWithValue(alpha)]; } [result autorelease]; return result; } // ... Example (JavaScript): // ... var protoToCssColor = function(rgb_color) { var redFrac = rgb_color.red || 0.0; var greenFrac = rgb_color.green || 0.0; var blueFrac = rgb_color.blue || 0.0; var red = Math.floor(redFrac * 255); var green = Math.floor(greenFrac * 255); var blue = Math.floor(blueFrac * 255); if (!('alpha' in rgb_color)) { return rgbToCssColor(red, green, blue); } var alphaFrac = rgb_color.alpha.value || 0.0; var rgbParams = [red, green, blue].join(','); return ['rgba(', rgbParams, ',', alphaFrac, ')'].join(''); }; var rgbToCssColor = function(red, green, blue) { var rgbNumber = new Number((red << 16) | (green << 8) | blue); var hexString = rgbNumber.toString(16); var missingZeros = 6 - hexString.length; var resultBuilder = ['#']; for (var i = 0; i < missingZeros; i++) { resultBuilder.push('0'); } resultBuilder.push(hexString); return resultBuilder.join(''); }; // ... # Output only. Badge background that pairs with the foreground.
+                  "alpha": 3.14, # The fraction of this color that should be applied to the pixel. That is, the final pixel color is defined by the equation: `pixel color = alpha * (this color) + (1.0 - alpha) * (background color)` This means that a value of 1.0 corresponds to a solid color, whereas a value of 0.0 corresponds to a completely transparent color. This uses a wrapper message rather than a simple float scalar so that it is possible to distinguish between a default value and the value being unset. If omitted, this color object is rendered as a solid color (as if the alpha value had been explicitly given a value of 1.0).
+                  "blue": 3.14, # The amount of blue in the color as a value in the interval [0, 1].
+                  "green": 3.14, # The amount of green in the color as a value in the interval [0, 1].
+                  "red": 3.14, # The amount of red in the color as a value in the interval [0, 1].
+                },
+                "foregroundColor": { # Represents a color in the RGBA color space. This representation is designed for simplicity of conversion to/from color representations in various languages over compactness. For example, the fields of this representation can be trivially provided to the constructor of `java.awt.Color` in Java; it can also be trivially provided to UIColor's `+colorWithRed:green:blue:alpha` method in iOS; and, with just a little work, it can be easily formatted into a CSS `rgba()` string in JavaScript. This reference page doesn't carry information about the absolute color space that should be used to interpret the RGB value (e.g. sRGB, Adobe RGB, DCI-P3, BT.2020, etc.). By default, applications should assume the sRGB color space. When color equality needs to be decided, implementations, unless documented otherwise, treat two colors as equal if all their red, green, blue, and alpha values each differ by at most 1e-5. Example (Java): import com.google.type.Color; // ... public static java.awt.Color fromProto(Color protocolor) { float alpha = protocolor.hasAlpha() ? protocolor.getAlpha().getValue() : 1.0; return new java.awt.Color( protocolor.getRed(), protocolor.getGreen(), protocolor.getBlue(), alpha); } public static Color toProto(java.awt.Color color) { float red = (float) color.getRed(); float green = (float) color.getGreen(); float blue = (float) color.getBlue(); float denominator = 255.0; Color.Builder resultBuilder = Color .newBuilder() .setRed(red / denominator) .setGreen(green / denominator) .setBlue(blue / denominator); int alpha = color.getAlpha(); if (alpha != 255) { result.setAlpha( FloatValue .newBuilder() .setValue(((float) alpha) / denominator) .build()); } return resultBuilder.build(); } // ... Example (iOS / Obj-C): // ... static UIColor* fromProto(Color* protocolor) { float red = [protocolor red]; float green = [protocolor green]; float blue = [protocolor blue]; FloatValue* alpha_wrapper = [protocolor alpha]; float alpha = 1.0; if (alpha_wrapper != nil) { alpha = [alpha_wrapper value]; } return [UIColor colorWithRed:red green:green blue:blue alpha:alpha]; } static Color* toProto(UIColor* color) { CGFloat red, green, blue, alpha; if (![color getRed:&red green:&green blue:&blue alpha:&alpha]) { return nil; } Color* result = [[Color alloc] init]; [result setRed:red]; [result setGreen:green]; [result setBlue:blue]; if (alpha <= 0.9999) { [result setAlpha:floatWrapperWithValue(alpha)]; } [result autorelease]; return result; } // ... Example (JavaScript): // ... var protoToCssColor = function(rgb_color) { var redFrac = rgb_color.red || 0.0; var greenFrac = rgb_color.green || 0.0; var blueFrac = rgb_color.blue || 0.0; var red = Math.floor(redFrac * 255); var green = Math.floor(greenFrac * 255); var blue = Math.floor(blueFrac * 255); if (!('alpha' in rgb_color)) { return rgbToCssColor(red, green, blue); } var alphaFrac = rgb_color.alpha.value || 0.0; var rgbParams = [red, green, blue].join(','); return ['rgba(', rgbParams, ',', alphaFrac, ')'].join(''); }; var rgbToCssColor = function(red, green, blue) { var rgbNumber = new Number((red << 16) | (green << 8) | blue); var hexString = rgbNumber.toString(16); var missingZeros = 6 - hexString.length; var resultBuilder = ['#']; for (var i = 0; i < missingZeros; i++) { resultBuilder.push('0'); } resultBuilder.push(hexString); return resultBuilder.join(''); }; // ... # Output only. Badge foreground that pairs with the background.
+                  "alpha": 3.14, # The fraction of this color that should be applied to the pixel. That is, the final pixel color is defined by the equation: `pixel color = alpha * (this color) + (1.0 - alpha) * (background color)` This means that a value of 1.0 corresponds to a solid color, whereas a value of 0.0 corresponds to a completely transparent color. This uses a wrapper message rather than a simple float scalar so that it is possible to distinguish between a default value and the value being unset. If omitted, this color object is rendered as a solid color (as if the alpha value had been explicitly given a value of 1.0).
+                  "blue": 3.14, # The amount of blue in the color as a value in the interval [0, 1].
+                  "green": 3.14, # The amount of green in the color as a value in the interval [0, 1].
+                  "red": 3.14, # The amount of red in the color as a value in the interval [0, 1].
+                },
+                "soloColor": { # Represents a color in the RGBA color space. This representation is designed for simplicity of conversion to/from color representations in various languages over compactness. For example, the fields of this representation can be trivially provided to the constructor of `java.awt.Color` in Java; it can also be trivially provided to UIColor's `+colorWithRed:green:blue:alpha` method in iOS; and, with just a little work, it can be easily formatted into a CSS `rgba()` string in JavaScript. This reference page doesn't carry information about the absolute color space that should be used to interpret the RGB value (e.g. sRGB, Adobe RGB, DCI-P3, BT.2020, etc.). By default, applications should assume the sRGB color space. When color equality needs to be decided, implementations, unless documented otherwise, treat two colors as equal if all their red, green, blue, and alpha values each differ by at most 1e-5. Example (Java): import com.google.type.Color; // ... public static java.awt.Color fromProto(Color protocolor) { float alpha = protocolor.hasAlpha() ? protocolor.getAlpha().getValue() : 1.0; return new java.awt.Color( protocolor.getRed(), protocolor.getGreen(), protocolor.getBlue(), alpha); } public static Color toProto(java.awt.Color color) { float red = (float) color.getRed(); float green = (float) color.getGreen(); float blue = (float) color.getBlue(); float denominator = 255.0; Color.Builder resultBuilder = Color .newBuilder() .setRed(red / denominator) .setGreen(green / denominator) .setBlue(blue / denominator); int alpha = color.getAlpha(); if (alpha != 255) { result.setAlpha( FloatValue .newBuilder() .setValue(((float) alpha) / denominator) .build()); } return resultBuilder.build(); } // ... Example (iOS / Obj-C): // ... static UIColor* fromProto(Color* protocolor) { float red = [protocolor red]; float green = [protocolor green]; float blue = [protocolor blue]; FloatValue* alpha_wrapper = [protocolor alpha]; float alpha = 1.0; if (alpha_wrapper != nil) { alpha = [alpha_wrapper value]; } return [UIColor colorWithRed:red green:green blue:blue alpha:alpha]; } static Color* toProto(UIColor* color) { CGFloat red, green, blue, alpha; if (![color getRed:&red green:&green blue:&blue alpha:&alpha]) { return nil; } Color* result = [[Color alloc] init]; [result setRed:red]; [result setGreen:green]; [result setBlue:blue]; if (alpha <= 0.9999) { [result setAlpha:floatWrapperWithValue(alpha)]; } [result autorelease]; return result; } // ... Example (JavaScript): // ... var protoToCssColor = function(rgb_color) { var redFrac = rgb_color.red || 0.0; var greenFrac = rgb_color.green || 0.0; var blueFrac = rgb_color.blue || 0.0; var red = Math.floor(redFrac * 255); var green = Math.floor(greenFrac * 255); var blue = Math.floor(blueFrac * 255); if (!('alpha' in rgb_color)) { return rgbToCssColor(red, green, blue); } var alphaFrac = rgb_color.alpha.value || 0.0; var rgbParams = [red, green, blue].join(','); return ['rgba(', rgbParams, ',', alphaFrac, ')'].join(''); }; var rgbToCssColor = function(red, green, blue) { var rgbNumber = new Number((red << 16) | (green << 8) | blue); var hexString = rgbNumber.toString(16); var missingZeros = 6 - hexString.length; var resultBuilder = ['#']; for (var i = 0; i < missingZeros; i++) { resultBuilder.push('0'); } resultBuilder.push(hexString); return resultBuilder.join(''); }; // ... # Output only. Color that can be used for text without a background.
+                  "alpha": 3.14, # The fraction of this color that should be applied to the pixel. That is, the final pixel color is defined by the equation: `pixel color = alpha * (this color) + (1.0 - alpha) * (background color)` This means that a value of 1.0 corresponds to a solid color, whereas a value of 0.0 corresponds to a completely transparent color. This uses a wrapper message rather than a simple float scalar so that it is possible to distinguish between a default value and the value being unset. If omitted, this color object is rendered as a solid color (as if the alpha value had been explicitly given a value of 1.0).
+                  "blue": 3.14, # The amount of blue in the color as a value in the interval [0, 1].
+                  "green": 3.14, # The amount of green in the color as a value in the interval [0, 1].
+                  "red": 3.14, # The amount of red in the color as a value in the interval [0, 1].
+                },
+              },
+              "disabled": True or False, # Whether the option should be shown in the UI as disabled.
+              "hiddenInSearch": True or False, # This option should be hidden in the search menu when searching for Drive items.
+              "shownInApply": True or False, # This option should be shown in the apply menu when applying values to a Drive item.
+            },
+            "id": "A String", # The unique value of the choice. This ID is autogenerated. Matches the regex: `([a-zA-Z0-9_])+`.
+            "lifecycle": { # The lifecycle state of an object, such as label, field, or choice. The lifecycle enforces the following transitions: * `UNPUBLISHED_DRAFT` (starting state) * `UNPUBLISHED_DRAFT` -> `PUBLISHED` * `UNPUBLISHED_DRAFT` -> (Deleted) * `PUBLISHED` -> `DISABLED` * `DISABLED` -> `PUBLISHED` * `DISABLED` -> (Deleted) The published and disabled states have some distinct characteristics: * Published—Some kinds of changes might be made to an object in this state, in which case `has_unpublished_changes` will be true. Also, some kinds of changes are not permitted. Generally, any change that would invalidate or cause new restrictions on existing metadata related to the label are rejected. * Disabled—When disabled, the configured `DisabledPolicy` takes effect. # Output only. Lifecycle of the choice.
+              "disabledPolicy": { # The policy that governs how to treat a disabled label, field, or selection choice in different contexts. # The policy that governs how to show a disabled label, field, or selection choice.
+                "hideInSearch": True or False, # Whether to hide this disabled object in the search menu for Drive items. * When `false`, the object is generally shown in the UI as disabled but it appears in the search results when searching for Drive items. * When `true`, the object is generally hidden in the UI when searching for Drive items.
+                "showInApply": True or False, # Whether to show this disabled object in the apply menu on Drive items. * When `true`, the object is generally shown in the UI as disabled and is unselectable. * When `false`, the object is generally hidden in the UI.
+              },
+              "hasUnpublishedChanges": True or False, # Output only. Whether the object associated with this lifecycle has unpublished changes.
+              "state": "A String", # Output only. The state of the object associated with this lifecycle.
+            },
+            "lockStatus": { # Contains information about whether a label component should be considered locked. # Output only. The LockStatus of this choice.
+              "locked": True or False, # Output only. Indicates whether this label component is the (direct) target of a LabelLock. A label component can be implicitly locked even if it's not the direct target of a LabelLock, in which case this field is set to false.
+            },
+            "properties": { # Basic properties of the choice. # Basic properties of the choice.
+              "badgeConfig": { # Badge status of the label. # The badge configuration for this choice. When set, the label that owns this choice is considered a "badged label".
+                "color": { # Represents a color in the RGBA color space. This representation is designed for simplicity of conversion to/from color representations in various languages over compactness. For example, the fields of this representation can be trivially provided to the constructor of `java.awt.Color` in Java; it can also be trivially provided to UIColor's `+colorWithRed:green:blue:alpha` method in iOS; and, with just a little work, it can be easily formatted into a CSS `rgba()` string in JavaScript. This reference page doesn't carry information about the absolute color space that should be used to interpret the RGB value (e.g. sRGB, Adobe RGB, DCI-P3, BT.2020, etc.). By default, applications should assume the sRGB color space. When color equality needs to be decided, implementations, unless documented otherwise, treat two colors as equal if all their red, green, blue, and alpha values each differ by at most 1e-5. Example (Java): import com.google.type.Color; // ... public static java.awt.Color fromProto(Color protocolor) { float alpha = protocolor.hasAlpha() ? protocolor.getAlpha().getValue() : 1.0; return new java.awt.Color( protocolor.getRed(), protocolor.getGreen(), protocolor.getBlue(), alpha); } public static Color toProto(java.awt.Color color) { float red = (float) color.getRed(); float green = (float) color.getGreen(); float blue = (float) color.getBlue(); float denominator = 255.0; Color.Builder resultBuilder = Color .newBuilder() .setRed(red / denominator) .setGreen(green / denominator) .setBlue(blue / denominator); int alpha = color.getAlpha(); if (alpha != 255) { result.setAlpha( FloatValue .newBuilder() .setValue(((float) alpha) / denominator) .build()); } return resultBuilder.build(); } // ... Example (iOS / Obj-C): // ... static UIColor* fromProto(Color* protocolor) { float red = [protocolor red]; float green = [protocolor green]; float blue = [protocolor blue]; FloatValue* alpha_wrapper = [protocolor alpha]; float alpha = 1.0; if (alpha_wrapper != nil) { alpha = [alpha_wrapper value]; } return [UIColor colorWithRed:red green:green blue:blue alpha:alpha]; } static Color* toProto(UIColor* color) { CGFloat red, green, blue, alpha; if (![color getRed:&red green:&green blue:&blue alpha:&alpha]) { return nil; } Color* result = [[Color alloc] init]; [result setRed:red]; [result setGreen:green]; [result setBlue:blue]; if (alpha <= 0.9999) { [result setAlpha:floatWrapperWithValue(alpha)]; } [result autorelease]; return result; } // ... Example (JavaScript): // ... var protoToCssColor = function(rgb_color) { var redFrac = rgb_color.red || 0.0; var greenFrac = rgb_color.green || 0.0; var blueFrac = rgb_color.blue || 0.0; var red = Math.floor(redFrac * 255); var green = Math.floor(greenFrac * 255); var blue = Math.floor(blueFrac * 255); if (!('alpha' in rgb_color)) { return rgbToCssColor(red, green, blue); } var alphaFrac = rgb_color.alpha.value || 0.0; var rgbParams = [red, green, blue].join(','); return ['rgba(', rgbParams, ',', alphaFrac, ')'].join(''); }; var rgbToCssColor = function(red, green, blue) { var rgbNumber = new Number((red << 16) | (green << 8) | blue); var hexString = rgbNumber.toString(16); var missingZeros = 6 - hexString.length; var resultBuilder = ['#']; for (var i = 0; i < missingZeros; i++) { resultBuilder.push('0'); } resultBuilder.push(hexString); return resultBuilder.join(''); }; // ... # The color of the badge. When not specified, no badge is rendered. The background, foreground, and solo (light and dark mode) colors set here are changed in the Drive UI into the closest recommended supported color.
+                  "alpha": 3.14, # The fraction of this color that should be applied to the pixel. That is, the final pixel color is defined by the equation: `pixel color = alpha * (this color) + (1.0 - alpha) * (background color)` This means that a value of 1.0 corresponds to a solid color, whereas a value of 0.0 corresponds to a completely transparent color. This uses a wrapper message rather than a simple float scalar so that it is possible to distinguish between a default value and the value being unset. If omitted, this color object is rendered as a solid color (as if the alpha value had been explicitly given a value of 1.0).
+                  "blue": 3.14, # The amount of blue in the color as a value in the interval [0, 1].
+                  "green": 3.14, # The amount of green in the color as a value in the interval [0, 1].
+                  "red": 3.14, # The amount of red in the color as a value in the interval [0, 1].
+                },
+                "priorityOverride": "A String", # Override the default global priority of this badge. When set to 0, the default priority heuristic is used.
+              },
+              "description": "A String", # The description of this label.
+              "displayName": "A String", # Required. The display text to show in the UI identifying this field.
+              "insertBeforeChoice": "A String", # Input only. Insert or move this choice before the indicated choice. If empty, the choice is placed at the end of the list.
+            },
+            "publishTime": "A String", # Output only. The time this choice was published. This value has no meaning when the choice is not published.
+            "publisher": { # Information about a user. # Output only. The user who published this choice. This value has no meaning when the choice is not published.
+              "person": "A String", # The identifier for this user that can be used with the People API to get more information. For example, people/12345678.
+            },
+            "schemaCapabilities": { # The capabilities related to this choice when editing the choice. # Output only. The capabilities related to this option when editing the option.
+              "canDelete": True or False, # Whether the user can delete this choice.
+              "canDisable": True or False, # Whether the user can disable this choice.
+              "canEnable": True or False, # Whether the user can enable this choice.
+              "canUpdate": True or False, # Whether the user can update this choice.
+            },
+            "updateTime": "A String", # Output only. The time this choice was updated last.
+            "updater": { # Information about a user. # Output only. The user who updated this choice last.
+              "person": "A String", # The identifier for this user that can be used with the People API to get more information. For example, people/12345678.
+            },
+          },
+        ],
+        "listOptions": { # Options for a multi-valued variant of an associated field type. # When specified, indicates this field supports a list of values. Once the field is published, this cannot be changed.
+          "maxEntries": 42, # Maximum number of entries permitted.
+        },
+      },
+      "textOptions": { # Options for the Text field type. # Text field options.
+        "maxLength": 42, # Output only. The maximum valid length of values for the text field.
+        "minLength": 42, # Output only. The minimum valid length of values for the text field.
+      },
+      "updateTime": "A String", # Output only. The time this field was updated.
+      "updater": { # Information about a user. # Output only. The user who modified this field.
+        "person": "A String", # The identifier for this user that can be used with the People API to get more information. For example, people/12345678.
+      },
+      "userOptions": { # Options for the user field type. # User field options.
+        "listOptions": { # Options for a multi-valued variant of an associated field type. # When specified, indicates that this field supports a list of values. Once the field is published, this cannot be changed.
+          "maxEntries": 42, # Maximum number of entries permitted.
+        },
+      },
+    },
+  ],
+  "id": "A String", # Output only. Globally unique identifier of this label. ID makes up part of the label `name`, but unlike `name`, ID is consistent between revisions. Matches the regex: `([a-zA-Z0-9])+`
+  "labelType": "A String", # Required. The type of label.
+  "learnMoreUri": "A String", # Custom URL to present to users to allow them to learn more about this label and how it should be used.
+  "lifecycle": { # The lifecycle state of an object, such as label, field, or choice. The lifecycle enforces the following transitions: * `UNPUBLISHED_DRAFT` (starting state) * `UNPUBLISHED_DRAFT` -> `PUBLISHED` * `UNPUBLISHED_DRAFT` -> (Deleted) * `PUBLISHED` -> `DISABLED` * `DISABLED` -> `PUBLISHED` * `DISABLED` -> (Deleted) The published and disabled states have some distinct characteristics: * Published—Some kinds of changes might be made to an object in this state, in which case `has_unpublished_changes` will be true. Also, some kinds of changes are not permitted. Generally, any change that would invalidate or cause new restrictions on existing metadata related to the label are rejected. * Disabled—When disabled, the configured `DisabledPolicy` takes effect. # Output only. The lifecycle state of the label including whether it's published, deprecated, and has draft changes.
+    "disabledPolicy": { # The policy that governs how to treat a disabled label, field, or selection choice in different contexts. # The policy that governs how to show a disabled label, field, or selection choice.
+      "hideInSearch": True or False, # Whether to hide this disabled object in the search menu for Drive items. * When `false`, the object is generally shown in the UI as disabled but it appears in the search results when searching for Drive items. * When `true`, the object is generally hidden in the UI when searching for Drive items.
+      "showInApply": True or False, # Whether to show this disabled object in the apply menu on Drive items. * When `true`, the object is generally shown in the UI as disabled and is unselectable. * When `false`, the object is generally hidden in the UI.
+    },
+    "hasUnpublishedChanges": True or False, # Output only. Whether the object associated with this lifecycle has unpublished changes.
+    "state": "A String", # Output only. The state of the object associated with this lifecycle.
+  },
+  "lockStatus": { # Contains information about whether a label component should be considered locked. # Output only. The LockStatus of this label.
+    "locked": True or False, # Output only. Indicates whether this label component is the (direct) target of a LabelLock. A label component can be implicitly locked even if it's not the direct target of a LabelLock, in which case this field is set to false.
+  },
+  "name": "A String", # Output only. Resource name of the label. Will be in the form of either: `labels/{id}` or `labels/{id}@{revision_id}` depending on the request. See `id` and `revision_id` below.
+  "properties": { # Basic properties of the label. # Required. The basic properties of the label.
+    "description": "A String", # The description of the label.
+    "title": "A String", # Required. Title of the label.
+  },
+  "publishTime": "A String", # Output only. The time this label was published. This value has no meaning when the label is not published.
+  "publisher": { # Information about a user. # Output only. The user who published this label. This value has no meaning when the label is not published.
+    "person": "A String", # The identifier for this user that can be used with the People API to get more information. For example, people/12345678.
+  },
+  "revisionCreateTime": "A String", # Output only. The time this label revision was created.
+  "revisionCreator": { # Information about a user. # Output only. The user who created this label revision.
+    "person": "A String", # The identifier for this user that can be used with the People API to get more information. For example, people/12345678.
+  },
+  "revisionId": "A String", # Output only. Revision ID of the label. Revision ID might be part of the label `name` depending on the request issued. A new revision is created whenever revisioned properties of a label are changed. Matches the regex: `([a-zA-Z0-9])+`
+  "schemaCapabilities": { # The capabilities related to this label when editing the label. # Output only. The capabilities the user has on this label.
+    "canDelete": True or False, # Whether the user can delete this label. The user must have permission and the label must be disabled.
+    "canDisable": True or False, # Whether the user can disable this label. The user must have permission and this label must not already be disabled.
+    "canEnable": True or False, # Whether the user can enable this label. The user must have permission and this label must be disabled.
+    "canUpdate": True or False, # Whether the user can change this label.
+  },
+}
+
+ + \ No newline at end of file diff --git a/docs/dyn/drivelabels_v2beta.labels.locks.html b/docs/dyn/drivelabels_v2beta.labels.locks.html new file mode 100644 index 00000000000..31de6e36e32 --- /dev/null +++ b/docs/dyn/drivelabels_v2beta.labels.locks.html @@ -0,0 +1,144 @@ + + + +

Drive Labels API . labels . locks

+

Instance Methods

+

+ close()

+

Close httplib2 connections.

+

+ list(parent, pageSize=None, pageToken=None, x__xgafv=None)

+

Lists the Locks on a Label.

+

+ list_next()

+

Retrieves the next page of results.

+

Method Details

+
+ close() +
Close httplib2 connections.
+
+ +
+ list(parent, pageSize=None, pageToken=None, x__xgafv=None) +
Lists the Locks on a Label.
+
+Args:
+  parent: string, Required. Label on which Locks are applied. Format: labels/{label} (required)
+  pageSize: integer, Maximum number of Locks to return per page. Default: 100. Max: 200.
+  pageToken: string, The token of the page to return.
+  x__xgafv: string, V1 error format.
+    Allowed values
+      1 - v1 error format
+      2 - v2 error format
+
+Returns:
+  An object of the form:
+
+    { # The response to a ListLabelLocksRequest.
+  "labelLocks": [ # LabelLocks.
+    { # A Lock that can be applied to a Label, Field, or Choice.
+      "capabilities": { # A description of a user's capabilities on a LabelLock. # Output only. The user's capabilities on this LabelLock.
+        "canViewPolicy": True or False, # True if the user is authorized to view the policy.
+      },
+      "choiceId": "A String", # The ID of the Selection Field Choice that should be locked. If present, `field_id` must also be present.
+      "createTime": "A String", # Output only. The time this LabelLock was created.
+      "creator": { # Information about a user. # Output only. The user whose credentials were used to create the LabelLock. This will not be present if no user was responsible for creating the LabelLock.
+        "person": "A String", # The identifier for this user that can be used with the People API to get more information. For example, people/12345678.
+      },
+      "deleteTime": "A String", # Output only. A timestamp indicating when this LabelLock was scheduled for deletion. This will be present only if this LabelLock is in the DELETING state.
+      "fieldId": "A String", # The ID of the Field that should be locked. Empty if the whole Label should be locked.
+      "name": "A String", # Output only. Resource name of this LabelLock.
+      "policyUri": "A String", # Output only. A URI referring to the policy that created this Lock.
+      "state": "A String", # Output only. This LabelLock's state.
+    },
+  ],
+  "nextPageToken": "A String", # The token of the next page in the response.
+}
+
+ +
+ list_next() +
Retrieves the next page of results.
+
+        Args:
+          previous_request: The request for the previous page. (required)
+          previous_response: The response from the request for the previous page. (required)
+
+        Returns:
+          A request object that you can call 'execute()' on to request the next
+          page. Returns None if there are no more items in the collection.
+        
+
+ + \ No newline at end of file diff --git a/docs/dyn/drivelabels_v2beta.labels.permissions.html b/docs/dyn/drivelabels_v2beta.labels.permissions.html new file mode 100644 index 00000000000..6edc012ebcb --- /dev/null +++ b/docs/dyn/drivelabels_v2beta.labels.permissions.html @@ -0,0 +1,326 @@ + + + +

Drive Labels API . labels . permissions

+

Instance Methods

+

+ batchDelete(labelsId, body=None, x__xgafv=None)

+

Deletes Label permissions. Permissions affect the Label resource as a whole, are not revisioned, and do not require publishing.

+

+ batchUpdate(parent, body=None, x__xgafv=None)

+

Updates Label permissions. If a permission for the indicated principal doesn't exist, a new Label Permission is created, otherwise the existing permission is updated. Permissions affect the Label resource as a whole, are not revisioned, and do not require publishing.

+

+ close()

+

Close httplib2 connections.

+

+ create(parent, body=None, useAdminAccess=None, x__xgafv=None)

+

Updates a Label's permissions. If a permission for the indicated principal doesn't exist, a new Label Permission is created, otherwise the existing permission is updated. Permissions affect the Label resource as a whole, are not revisioned, and do not require publishing.

+

+ delete(name, useAdminAccess=None, x__xgafv=None)

+

Deletes a Label's permission. Permissions affect the Label resource as a whole, are not revisioned, and do not require publishing.

+

+ list(parent, pageSize=None, pageToken=None, useAdminAccess=None, x__xgafv=None)

+

Lists a Label's permissions.

+

+ list_next()

+

Retrieves the next page of results.

+

+ patch(parent, body=None, useAdminAccess=None, x__xgafv=None)

+

Updates a Label's permissions. If a permission for the indicated principal doesn't exist, a new Label Permission is created, otherwise the existing permission is updated. Permissions affect the Label resource as a whole, are not revisioned, and do not require publishing.

+

Method Details

+
+ batchDelete(labelsId, body=None, x__xgafv=None) +
Deletes Label permissions. Permissions affect the Label resource as a whole, are not revisioned, and do not require publishing.
+
+Args:
+  labelsId: string, A parameter (required)
+  body: object, The request body.
+    The object takes the form of:
+
+{ # Deletes one of more Label Permissions.
+  "requests": [ # Required. The request message specifying the resources to update.
+    { # Deletes a Label Permission. Permissions affect the Label resource as a whole, are not revisioned, and do not require publishing.
+      "name": "A String", # Required. Label Permission resource name.
+      "useAdminAccess": True or False, # Set to `true` in order to use the user's admin credentials. The server will verify the user is an admin for the Label before allowing access.
+    },
+  ],
+  "useAdminAccess": True or False, # Set to `true` in order to use the user's admin credentials. The server will verify the user is an admin for the Label before allowing access. If this is set, the use_admin_access field in the DeleteLabelPermissionRequest messages must either be empty or match this field.
+}
+
+  x__xgafv: string, V1 error format.
+    Allowed values
+      1 - v1 error format
+      2 - v2 error format
+
+Returns:
+  An object of the form:
+
+    { # A generic empty message that you can re-use to avoid defining duplicated empty messages in your APIs. A typical example is to use it as the request or the response type of an API method. For instance: service Foo { rpc Bar(google.protobuf.Empty) returns (google.protobuf.Empty); }
+}
+
+ +
+ batchUpdate(parent, body=None, x__xgafv=None) +
Updates Label permissions. If a permission for the indicated principal doesn't exist, a new Label Permission is created, otherwise the existing permission is updated. Permissions affect the Label resource as a whole, are not revisioned, and do not require publishing.
+
+Args:
+  parent: string, Required. The parent Label resource name shared by all permissions being updated. Format: labels/{label} If this is set, the parent field in the UpdateLabelPermissionRequest messages must either be empty or match this field. (required)
+  body: object, The request body.
+    The object takes the form of:
+
+{ # Updates one or more Label Permissions.
+  "requests": [ # Required. The request message specifying the resources to update.
+    { # Updates a Label Permission. Permissions affect the Label resource as a whole, are not revisioned, and do not require publishing.
+      "labelPermission": { # The permission that applies to a principal (user, group, audience) on a label. # Required. The permission to create or update on the Label.
+        "audience": "A String", # Audience to grant a role to. The magic value of `audiences/default` may be used to apply the role to the default audience in the context of the organization that owns the Label.
+        "email": "A String", # Specifies the email address for a user or group pricinpal. Not populated for audience principals. User and Group permissions may only be inserted using email address. On update requests, if email address is specified, no principal should be specified.
+        "group": "A String", # Group resource name.
+        "name": "A String", # Resource name of this permission.
+        "person": "A String", # Person resource name.
+        "role": "A String", # The role the principal should have.
+      },
+      "parent": "A String", # Required. The parent Label resource name.
+      "useAdminAccess": True or False, # Set to `true` in order to use the user's admin credentials. The server will verify the user is an admin for the Label before allowing access.
+    },
+  ],
+  "useAdminAccess": True or False, # Set to `true` in order to use the user's admin credentials. The server will verify the user is an admin for the Label before allowing access. If this is set, the use_admin_access field in the UpdateLabelPermissionRequest messages must either be empty or match this field.
+}
+
+  x__xgafv: string, V1 error format.
+    Allowed values
+      1 - v1 error format
+      2 - v2 error format
+
+Returns:
+  An object of the form:
+
+    { # Response for updating one or more Label Permissions.
+  "permissions": [ # Required. Permissions updated.
+    { # The permission that applies to a principal (user, group, audience) on a label.
+      "audience": "A String", # Audience to grant a role to. The magic value of `audiences/default` may be used to apply the role to the default audience in the context of the organization that owns the Label.
+      "email": "A String", # Specifies the email address for a user or group pricinpal. Not populated for audience principals. User and Group permissions may only be inserted using email address. On update requests, if email address is specified, no principal should be specified.
+      "group": "A String", # Group resource name.
+      "name": "A String", # Resource name of this permission.
+      "person": "A String", # Person resource name.
+      "role": "A String", # The role the principal should have.
+    },
+  ],
+}
+
+ +
+ close() +
Close httplib2 connections.
+
+ +
+ create(parent, body=None, useAdminAccess=None, x__xgafv=None) +
Updates a Label's permissions. If a permission for the indicated principal doesn't exist, a new Label Permission is created, otherwise the existing permission is updated. Permissions affect the Label resource as a whole, are not revisioned, and do not require publishing.
+
+Args:
+  parent: string, Required. The parent Label resource name on the Label Permission is created. Format: labels/{label} (required)
+  body: object, The request body.
+    The object takes the form of:
+
+{ # The permission that applies to a principal (user, group, audience) on a label.
+  "audience": "A String", # Audience to grant a role to. The magic value of `audiences/default` may be used to apply the role to the default audience in the context of the organization that owns the Label.
+  "email": "A String", # Specifies the email address for a user or group pricinpal. Not populated for audience principals. User and Group permissions may only be inserted using email address. On update requests, if email address is specified, no principal should be specified.
+  "group": "A String", # Group resource name.
+  "name": "A String", # Resource name of this permission.
+  "person": "A String", # Person resource name.
+  "role": "A String", # The role the principal should have.
+}
+
+  useAdminAccess: boolean, Set to `true` in order to use the user's admin credentials. The server will verify the user is an admin for the Label before allowing access.
+  x__xgafv: string, V1 error format.
+    Allowed values
+      1 - v1 error format
+      2 - v2 error format
+
+Returns:
+  An object of the form:
+
+    { # The permission that applies to a principal (user, group, audience) on a label.
+  "audience": "A String", # Audience to grant a role to. The magic value of `audiences/default` may be used to apply the role to the default audience in the context of the organization that owns the Label.
+  "email": "A String", # Specifies the email address for a user or group pricinpal. Not populated for audience principals. User and Group permissions may only be inserted using email address. On update requests, if email address is specified, no principal should be specified.
+  "group": "A String", # Group resource name.
+  "name": "A String", # Resource name of this permission.
+  "person": "A String", # Person resource name.
+  "role": "A String", # The role the principal should have.
+}
+
+ +
+ delete(name, useAdminAccess=None, x__xgafv=None) +
Deletes a Label's permission. Permissions affect the Label resource as a whole, are not revisioned, and do not require publishing.
+
+Args:
+  name: string, Required. Label Permission resource name. (required)
+  useAdminAccess: boolean, Set to `true` in order to use the user's admin credentials. The server will verify the user is an admin for the Label before allowing access.
+  x__xgafv: string, V1 error format.
+    Allowed values
+      1 - v1 error format
+      2 - v2 error format
+
+Returns:
+  An object of the form:
+
+    { # A generic empty message that you can re-use to avoid defining duplicated empty messages in your APIs. A typical example is to use it as the request or the response type of an API method. For instance: service Foo { rpc Bar(google.protobuf.Empty) returns (google.protobuf.Empty); }
+}
+
+ +
+ list(parent, pageSize=None, pageToken=None, useAdminAccess=None, x__xgafv=None) +
Lists a Label's permissions.
+
+Args:
+  parent: string, Required. The parent Label resource name on which Label Permission are listed. Format: labels/{label} (required)
+  pageSize: integer, Maximum number of permissions to return per page. Default: 50. Max: 200.
+  pageToken: string, The token of the page to return.
+  useAdminAccess: boolean, Set to `true` in order to use the user's admin credentials. The server will verify the user is an admin for the Label before allowing access.
+  x__xgafv: string, V1 error format.
+    Allowed values
+      1 - v1 error format
+      2 - v2 error format
+
+Returns:
+  An object of the form:
+
+    { # Response for listing the permissions on a Label.
+  "labelPermissions": [ # Label permissions.
+    { # The permission that applies to a principal (user, group, audience) on a label.
+      "audience": "A String", # Audience to grant a role to. The magic value of `audiences/default` may be used to apply the role to the default audience in the context of the organization that owns the Label.
+      "email": "A String", # Specifies the email address for a user or group pricinpal. Not populated for audience principals. User and Group permissions may only be inserted using email address. On update requests, if email address is specified, no principal should be specified.
+      "group": "A String", # Group resource name.
+      "name": "A String", # Resource name of this permission.
+      "person": "A String", # Person resource name.
+      "role": "A String", # The role the principal should have.
+    },
+  ],
+  "nextPageToken": "A String", # The token of the next page in the response.
+}
+
+ +
+ list_next() +
Retrieves the next page of results.
+
+        Args:
+          previous_request: The request for the previous page. (required)
+          previous_response: The response from the request for the previous page. (required)
+
+        Returns:
+          A request object that you can call 'execute()' on to request the next
+          page. Returns None if there are no more items in the collection.
+        
+
+ +
+ patch(parent, body=None, useAdminAccess=None, x__xgafv=None) +
Updates a Label's permissions. If a permission for the indicated principal doesn't exist, a new Label Permission is created, otherwise the existing permission is updated. Permissions affect the Label resource as a whole, are not revisioned, and do not require publishing.
+
+Args:
+  parent: string, Required. The parent Label resource name. (required)
+  body: object, The request body.
+    The object takes the form of:
+
+{ # The permission that applies to a principal (user, group, audience) on a label.
+  "audience": "A String", # Audience to grant a role to. The magic value of `audiences/default` may be used to apply the role to the default audience in the context of the organization that owns the Label.
+  "email": "A String", # Specifies the email address for a user or group pricinpal. Not populated for audience principals. User and Group permissions may only be inserted using email address. On update requests, if email address is specified, no principal should be specified.
+  "group": "A String", # Group resource name.
+  "name": "A String", # Resource name of this permission.
+  "person": "A String", # Person resource name.
+  "role": "A String", # The role the principal should have.
+}
+
+  useAdminAccess: boolean, Set to `true` in order to use the user's admin credentials. The server will verify the user is an admin for the Label before allowing access.
+  x__xgafv: string, V1 error format.
+    Allowed values
+      1 - v1 error format
+      2 - v2 error format
+
+Returns:
+  An object of the form:
+
+    { # The permission that applies to a principal (user, group, audience) on a label.
+  "audience": "A String", # Audience to grant a role to. The magic value of `audiences/default` may be used to apply the role to the default audience in the context of the organization that owns the Label.
+  "email": "A String", # Specifies the email address for a user or group pricinpal. Not populated for audience principals. User and Group permissions may only be inserted using email address. On update requests, if email address is specified, no principal should be specified.
+  "group": "A String", # Group resource name.
+  "name": "A String", # Resource name of this permission.
+  "person": "A String", # Person resource name.
+  "role": "A String", # The role the principal should have.
+}
+
+ + \ No newline at end of file diff --git a/docs/dyn/drivelabels_v2beta.labels.revisions.html b/docs/dyn/drivelabels_v2beta.labels.revisions.html new file mode 100644 index 00000000000..e2cd301f31d --- /dev/null +++ b/docs/dyn/drivelabels_v2beta.labels.revisions.html @@ -0,0 +1,96 @@ + + + +

Drive Labels API . labels . revisions

+

Instance Methods

+

+ locks() +

+

Returns the locks Resource.

+ +

+ permissions() +

+

Returns the permissions Resource.

+ +

+ close()

+

Close httplib2 connections.

+

Method Details

+
+ close() +
Close httplib2 connections.
+
+ + \ No newline at end of file diff --git a/docs/dyn/drivelabels_v2beta.labels.revisions.locks.html b/docs/dyn/drivelabels_v2beta.labels.revisions.locks.html new file mode 100644 index 00000000000..4991550cd26 --- /dev/null +++ b/docs/dyn/drivelabels_v2beta.labels.revisions.locks.html @@ -0,0 +1,144 @@ + + + +

Drive Labels API . labels . revisions . locks

+

Instance Methods

+

+ close()

+

Close httplib2 connections.

+

+ list(parent, pageSize=None, pageToken=None, x__xgafv=None)

+

Lists the Locks on a Label.

+

+ list_next()

+

Retrieves the next page of results.

+

Method Details

+
+ close() +
Close httplib2 connections.
+
+ +
+ list(parent, pageSize=None, pageToken=None, x__xgafv=None) +
Lists the Locks on a Label.
+
+Args:
+  parent: string, Required. Label on which Locks are applied. Format: labels/{label} (required)
+  pageSize: integer, Maximum number of Locks to return per page. Default: 100. Max: 200.
+  pageToken: string, The token of the page to return.
+  x__xgafv: string, V1 error format.
+    Allowed values
+      1 - v1 error format
+      2 - v2 error format
+
+Returns:
+  An object of the form:
+
+    { # The response to a ListLabelLocksRequest.
+  "labelLocks": [ # LabelLocks.
+    { # A Lock that can be applied to a Label, Field, or Choice.
+      "capabilities": { # A description of a user's capabilities on a LabelLock. # Output only. The user's capabilities on this LabelLock.
+        "canViewPolicy": True or False, # True if the user is authorized to view the policy.
+      },
+      "choiceId": "A String", # The ID of the Selection Field Choice that should be locked. If present, `field_id` must also be present.
+      "createTime": "A String", # Output only. The time this LabelLock was created.
+      "creator": { # Information about a user. # Output only. The user whose credentials were used to create the LabelLock. This will not be present if no user was responsible for creating the LabelLock.
+        "person": "A String", # The identifier for this user that can be used with the People API to get more information. For example, people/12345678.
+      },
+      "deleteTime": "A String", # Output only. A timestamp indicating when this LabelLock was scheduled for deletion. This will be present only if this LabelLock is in the DELETING state.
+      "fieldId": "A String", # The ID of the Field that should be locked. Empty if the whole Label should be locked.
+      "name": "A String", # Output only. Resource name of this LabelLock.
+      "policyUri": "A String", # Output only. A URI referring to the policy that created this Lock.
+      "state": "A String", # Output only. This LabelLock's state.
+    },
+  ],
+  "nextPageToken": "A String", # The token of the next page in the response.
+}
+
+ +
+ list_next() +
Retrieves the next page of results.
+
+        Args:
+          previous_request: The request for the previous page. (required)
+          previous_response: The response from the request for the previous page. (required)
+
+        Returns:
+          A request object that you can call 'execute()' on to request the next
+          page. Returns None if there are no more items in the collection.
+        
+
+ + \ No newline at end of file diff --git a/docs/dyn/drivelabels_v2beta.labels.revisions.permissions.html b/docs/dyn/drivelabels_v2beta.labels.revisions.permissions.html new file mode 100644 index 00000000000..1d3934224fc --- /dev/null +++ b/docs/dyn/drivelabels_v2beta.labels.revisions.permissions.html @@ -0,0 +1,327 @@ + + + +

Drive Labels API . labels . revisions . permissions

+

Instance Methods

+

+ batchDelete(labelsId, revisionsId, body=None, x__xgafv=None)

+

Deletes Label permissions. Permissions affect the Label resource as a whole, are not revisioned, and do not require publishing.

+

+ batchUpdate(parent, body=None, x__xgafv=None)

+

Updates Label permissions. If a permission for the indicated principal doesn't exist, a new Label Permission is created, otherwise the existing permission is updated. Permissions affect the Label resource as a whole, are not revisioned, and do not require publishing.

+

+ close()

+

Close httplib2 connections.

+

+ create(parent, body=None, useAdminAccess=None, x__xgafv=None)

+

Updates a Label's permissions. If a permission for the indicated principal doesn't exist, a new Label Permission is created, otherwise the existing permission is updated. Permissions affect the Label resource as a whole, are not revisioned, and do not require publishing.

+

+ delete(name, useAdminAccess=None, x__xgafv=None)

+

Deletes a Label's permission. Permissions affect the Label resource as a whole, are not revisioned, and do not require publishing.

+

+ list(parent, pageSize=None, pageToken=None, useAdminAccess=None, x__xgafv=None)

+

Lists a Label's permissions.

+

+ list_next()

+

Retrieves the next page of results.

+

+ patch(parent, body=None, useAdminAccess=None, x__xgafv=None)

+

Updates a Label's permissions. If a permission for the indicated principal doesn't exist, a new Label Permission is created, otherwise the existing permission is updated. Permissions affect the Label resource as a whole, are not revisioned, and do not require publishing.

+

Method Details

+
+ batchDelete(labelsId, revisionsId, body=None, x__xgafv=None) +
Deletes Label permissions. Permissions affect the Label resource as a whole, are not revisioned, and do not require publishing.
+
+Args:
+  labelsId: string, A parameter (required)
+  revisionsId: string, A parameter (required)
+  body: object, The request body.
+    The object takes the form of:
+
+{ # Deletes one of more Label Permissions.
+  "requests": [ # Required. The request message specifying the resources to update.
+    { # Deletes a Label Permission. Permissions affect the Label resource as a whole, are not revisioned, and do not require publishing.
+      "name": "A String", # Required. Label Permission resource name.
+      "useAdminAccess": True or False, # Set to `true` in order to use the user's admin credentials. The server will verify the user is an admin for the Label before allowing access.
+    },
+  ],
+  "useAdminAccess": True or False, # Set to `true` in order to use the user's admin credentials. The server will verify the user is an admin for the Label before allowing access. If this is set, the use_admin_access field in the DeleteLabelPermissionRequest messages must either be empty or match this field.
+}
+
+  x__xgafv: string, V1 error format.
+    Allowed values
+      1 - v1 error format
+      2 - v2 error format
+
+Returns:
+  An object of the form:
+
+    { # A generic empty message that you can re-use to avoid defining duplicated empty messages in your APIs. A typical example is to use it as the request or the response type of an API method. For instance: service Foo { rpc Bar(google.protobuf.Empty) returns (google.protobuf.Empty); }
+}
+
+ +
+ batchUpdate(parent, body=None, x__xgafv=None) +
Updates Label permissions. If a permission for the indicated principal doesn't exist, a new Label Permission is created, otherwise the existing permission is updated. Permissions affect the Label resource as a whole, are not revisioned, and do not require publishing.
+
+Args:
+  parent: string, Required. The parent Label resource name shared by all permissions being updated. Format: labels/{label} If this is set, the parent field in the UpdateLabelPermissionRequest messages must either be empty or match this field. (required)
+  body: object, The request body.
+    The object takes the form of:
+
+{ # Updates one or more Label Permissions.
+  "requests": [ # Required. The request message specifying the resources to update.
+    { # Updates a Label Permission. Permissions affect the Label resource as a whole, are not revisioned, and do not require publishing.
+      "labelPermission": { # The permission that applies to a principal (user, group, audience) on a label. # Required. The permission to create or update on the Label.
+        "audience": "A String", # Audience to grant a role to. The magic value of `audiences/default` may be used to apply the role to the default audience in the context of the organization that owns the Label.
+        "email": "A String", # Specifies the email address for a user or group pricinpal. Not populated for audience principals. User and Group permissions may only be inserted using email address. On update requests, if email address is specified, no principal should be specified.
+        "group": "A String", # Group resource name.
+        "name": "A String", # Resource name of this permission.
+        "person": "A String", # Person resource name.
+        "role": "A String", # The role the principal should have.
+      },
+      "parent": "A String", # Required. The parent Label resource name.
+      "useAdminAccess": True or False, # Set to `true` in order to use the user's admin credentials. The server will verify the user is an admin for the Label before allowing access.
+    },
+  ],
+  "useAdminAccess": True or False, # Set to `true` in order to use the user's admin credentials. The server will verify the user is an admin for the Label before allowing access. If this is set, the use_admin_access field in the UpdateLabelPermissionRequest messages must either be empty or match this field.
+}
+
+  x__xgafv: string, V1 error format.
+    Allowed values
+      1 - v1 error format
+      2 - v2 error format
+
+Returns:
+  An object of the form:
+
+    { # Response for updating one or more Label Permissions.
+  "permissions": [ # Required. Permissions updated.
+    { # The permission that applies to a principal (user, group, audience) on a label.
+      "audience": "A String", # Audience to grant a role to. The magic value of `audiences/default` may be used to apply the role to the default audience in the context of the organization that owns the Label.
+      "email": "A String", # Specifies the email address for a user or group pricinpal. Not populated for audience principals. User and Group permissions may only be inserted using email address. On update requests, if email address is specified, no principal should be specified.
+      "group": "A String", # Group resource name.
+      "name": "A String", # Resource name of this permission.
+      "person": "A String", # Person resource name.
+      "role": "A String", # The role the principal should have.
+    },
+  ],
+}
+
+ +
+ close() +
Close httplib2 connections.
+
+ +
+ create(parent, body=None, useAdminAccess=None, x__xgafv=None) +
Updates a Label's permissions. If a permission for the indicated principal doesn't exist, a new Label Permission is created, otherwise the existing permission is updated. Permissions affect the Label resource as a whole, are not revisioned, and do not require publishing.
+
+Args:
+  parent: string, Required. The parent Label resource name on the Label Permission is created. Format: labels/{label} (required)
+  body: object, The request body.
+    The object takes the form of:
+
+{ # The permission that applies to a principal (user, group, audience) on a label.
+  "audience": "A String", # Audience to grant a role to. The magic value of `audiences/default` may be used to apply the role to the default audience in the context of the organization that owns the Label.
+  "email": "A String", # Specifies the email address for a user or group pricinpal. Not populated for audience principals. User and Group permissions may only be inserted using email address. On update requests, if email address is specified, no principal should be specified.
+  "group": "A String", # Group resource name.
+  "name": "A String", # Resource name of this permission.
+  "person": "A String", # Person resource name.
+  "role": "A String", # The role the principal should have.
+}
+
+  useAdminAccess: boolean, Set to `true` in order to use the user's admin credentials. The server will verify the user is an admin for the Label before allowing access.
+  x__xgafv: string, V1 error format.
+    Allowed values
+      1 - v1 error format
+      2 - v2 error format
+
+Returns:
+  An object of the form:
+
+    { # The permission that applies to a principal (user, group, audience) on a label.
+  "audience": "A String", # Audience to grant a role to. The magic value of `audiences/default` may be used to apply the role to the default audience in the context of the organization that owns the Label.
+  "email": "A String", # Specifies the email address for a user or group pricinpal. Not populated for audience principals. User and Group permissions may only be inserted using email address. On update requests, if email address is specified, no principal should be specified.
+  "group": "A String", # Group resource name.
+  "name": "A String", # Resource name of this permission.
+  "person": "A String", # Person resource name.
+  "role": "A String", # The role the principal should have.
+}
+
+ +
+ delete(name, useAdminAccess=None, x__xgafv=None) +
Deletes a Label's permission. Permissions affect the Label resource as a whole, are not revisioned, and do not require publishing.
+
+Args:
+  name: string, Required. Label Permission resource name. (required)
+  useAdminAccess: boolean, Set to `true` in order to use the user's admin credentials. The server will verify the user is an admin for the Label before allowing access.
+  x__xgafv: string, V1 error format.
+    Allowed values
+      1 - v1 error format
+      2 - v2 error format
+
+Returns:
+  An object of the form:
+
+    { # A generic empty message that you can re-use to avoid defining duplicated empty messages in your APIs. A typical example is to use it as the request or the response type of an API method. For instance: service Foo { rpc Bar(google.protobuf.Empty) returns (google.protobuf.Empty); }
+}
+
+ +
+ list(parent, pageSize=None, pageToken=None, useAdminAccess=None, x__xgafv=None) +
Lists a Label's permissions.
+
+Args:
+  parent: string, Required. The parent Label resource name on which Label Permission are listed. Format: labels/{label} (required)
+  pageSize: integer, Maximum number of permissions to return per page. Default: 50. Max: 200.
+  pageToken: string, The token of the page to return.
+  useAdminAccess: boolean, Set to `true` in order to use the user's admin credentials. The server will verify the user is an admin for the Label before allowing access.
+  x__xgafv: string, V1 error format.
+    Allowed values
+      1 - v1 error format
+      2 - v2 error format
+
+Returns:
+  An object of the form:
+
+    { # Response for listing the permissions on a Label.
+  "labelPermissions": [ # Label permissions.
+    { # The permission that applies to a principal (user, group, audience) on a label.
+      "audience": "A String", # Audience to grant a role to. The magic value of `audiences/default` may be used to apply the role to the default audience in the context of the organization that owns the Label.
+      "email": "A String", # Specifies the email address for a user or group pricinpal. Not populated for audience principals. User and Group permissions may only be inserted using email address. On update requests, if email address is specified, no principal should be specified.
+      "group": "A String", # Group resource name.
+      "name": "A String", # Resource name of this permission.
+      "person": "A String", # Person resource name.
+      "role": "A String", # The role the principal should have.
+    },
+  ],
+  "nextPageToken": "A String", # The token of the next page in the response.
+}
+
+ +
+ list_next() +
Retrieves the next page of results.
+
+        Args:
+          previous_request: The request for the previous page. (required)
+          previous_response: The response from the request for the previous page. (required)
+
+        Returns:
+          A request object that you can call 'execute()' on to request the next
+          page. Returns None if there are no more items in the collection.
+        
+
+ +
+ patch(parent, body=None, useAdminAccess=None, x__xgafv=None) +
Updates a Label's permissions. If a permission for the indicated principal doesn't exist, a new Label Permission is created, otherwise the existing permission is updated. Permissions affect the Label resource as a whole, are not revisioned, and do not require publishing.
+
+Args:
+  parent: string, Required. The parent Label resource name. (required)
+  body: object, The request body.
+    The object takes the form of:
+
+{ # The permission that applies to a principal (user, group, audience) on a label.
+  "audience": "A String", # Audience to grant a role to. The magic value of `audiences/default` may be used to apply the role to the default audience in the context of the organization that owns the Label.
+  "email": "A String", # Specifies the email address for a user or group pricinpal. Not populated for audience principals. User and Group permissions may only be inserted using email address. On update requests, if email address is specified, no principal should be specified.
+  "group": "A String", # Group resource name.
+  "name": "A String", # Resource name of this permission.
+  "person": "A String", # Person resource name.
+  "role": "A String", # The role the principal should have.
+}
+
+  useAdminAccess: boolean, Set to `true` in order to use the user's admin credentials. The server will verify the user is an admin for the Label before allowing access.
+  x__xgafv: string, V1 error format.
+    Allowed values
+      1 - v1 error format
+      2 - v2 error format
+
+Returns:
+  An object of the form:
+
+    { # The permission that applies to a principal (user, group, audience) on a label.
+  "audience": "A String", # Audience to grant a role to. The magic value of `audiences/default` may be used to apply the role to the default audience in the context of the organization that owns the Label.
+  "email": "A String", # Specifies the email address for a user or group pricinpal. Not populated for audience principals. User and Group permissions may only be inserted using email address. On update requests, if email address is specified, no principal should be specified.
+  "group": "A String", # Group resource name.
+  "name": "A String", # Resource name of this permission.
+  "person": "A String", # Person resource name.
+  "role": "A String", # The role the principal should have.
+}
+
+ + \ No newline at end of file diff --git a/docs/dyn/drivelabels_v2beta.limits.html b/docs/dyn/drivelabels_v2beta.limits.html new file mode 100644 index 00000000000..56b4f2f6391 --- /dev/null +++ b/docs/dyn/drivelabels_v2beta.limits.html @@ -0,0 +1,156 @@ + + + +

Drive Labels API . limits

+

Instance Methods

+

+ close()

+

Close httplib2 connections.

+

+ getLabel(name=None, x__xgafv=None)

+

Get the constraints on the structure of a Label; such as, the maximum number of Fields allowed and maximum length of the label title.

+

Method Details

+
+ close() +
Close httplib2 connections.
+
+ +
+ getLabel(name=None, x__xgafv=None) +
Get the constraints on the structure of a Label; such as, the maximum number of Fields allowed and maximum length of the label title.
+
+Args:
+  name: string, Required. Label revision resource name Must be: "limits/label"
+  x__xgafv: string, V1 error format.
+    Allowed values
+      1 - v1 error format
+      2 - v2 error format
+
+Returns:
+  An object of the form:
+
+    { # Label constraints governing the structure of a Label; such as, the maximum number of Fields allowed and maximum length of the label title.
+  "fieldLimits": { # Field constants governing the structure of a Field; such as, the maximum title length, minimum and maximum field values or length, etc. # The limits for Fields.
+    "dateLimits": { # Limits for date Field type. # Date Field limits.
+      "maxValue": { # Represents a whole or partial calendar date, such as a birthday. The time of day and time zone are either specified elsewhere or are insignificant. The date is relative to the Gregorian Calendar. This can represent one of the following: * A full date, with non-zero year, month, and day values. * A month and day, with a zero year (for example, an anniversary). * A year on its own, with a zero month and a zero day. * A year and month, with a zero day (for example, a credit card expiration date). Related types: * google.type.TimeOfDay * google.type.DateTime * google.protobuf.Timestamp # Maximum value for the date Field type.
+        "day": 42, # Day of a month. Must be from 1 to 31 and valid for the year and month, or 0 to specify a year by itself or a year and month where the day isn't significant.
+        "month": 42, # Month of a year. Must be from 1 to 12, or 0 to specify a year without a month and day.
+        "year": 42, # Year of the date. Must be from 1 to 9999, or 0 to specify a date without a year.
+      },
+      "minValue": { # Represents a whole or partial calendar date, such as a birthday. The time of day and time zone are either specified elsewhere or are insignificant. The date is relative to the Gregorian Calendar. This can represent one of the following: * A full date, with non-zero year, month, and day values. * A month and day, with a zero year (for example, an anniversary). * A year on its own, with a zero month and a zero day. * A year and month, with a zero day (for example, a credit card expiration date). Related types: * google.type.TimeOfDay * google.type.DateTime * google.protobuf.Timestamp # Minimum value for the date Field type.
+        "day": 42, # Day of a month. Must be from 1 to 31 and valid for the year and month, or 0 to specify a year by itself or a year and month where the day isn't significant.
+        "month": 42, # Month of a year. Must be from 1 to 12, or 0 to specify a year without a month and day.
+        "year": 42, # Year of the date. Must be from 1 to 9999, or 0 to specify a date without a year.
+      },
+    },
+    "integerLimits": { # Limits for integer Field type. # Integer Field limits.
+      "maxValue": "A String", # Maximum value for an integer Field type.
+      "minValue": "A String", # Minimum value for an integer Field type.
+    },
+    "longTextLimits": { # Limits for long text Field type. # Long text Field limits.
+      "maxLength": 42, # Maximum length allowed for a long text Field type.
+      "minLength": 42, # Minimum length allowed for a long text Field type.
+    },
+    "maxDescriptionLength": 42, # Limits for Field description, also called help text.
+    "maxDisplayNameLength": 42, # Limits for Field title.
+    "maxIdLength": 42, # Max length for the id.
+    "selectionLimits": { # Limits for selection Field type. # Selection Field limits.
+      "listLimits": { # Limits for list-variant of a Field type. # Limits for list-variant of a Field type.
+        "maxEntries": 42, # Maximum number of values allowed for the Field type.
+      },
+      "maxChoices": 42, # The max number of choices.
+      "maxDeletedChoices": 42, # Maximum number of deleted choices.
+      "maxDisplayNameLength": 42, # Maximum length for display name.
+      "maxIdLength": 42, # Maximum ID length for a selection options.
+    },
+    "textLimits": { # Limits for text Field type. # The relevant limits for the specified Field.Type. Text Field limits.
+      "maxLength": 42, # Maximum length allowed for a text Field type.
+      "minLength": 42, # Minimum length allowed for a text Field type.
+    },
+    "userLimits": { # Limits for Field.Type.USER. # User Field limits.
+      "listLimits": { # Limits for list-variant of a Field type. # Limits for list-variant of a Field type.
+        "maxEntries": 42, # Maximum number of values allowed for the Field type.
+      },
+    },
+  },
+  "maxDeletedFields": 42, # The maximum number of published Fields that can be deleted.
+  "maxDescriptionLength": 42, # The maximum number of characters allowed for the description.
+  "maxDraftRevisions": 42, # The maximum number of draft revisions that will be kept before deleting old drafts.
+  "maxFields": 42, # The maximum number of Fields allowed within the label.
+  "maxTitleLength": 42, # The maximum number of characters allowed for the title.
+  "name": "A String", # Resource name.
+}
+
+ + \ No newline at end of file diff --git a/docs/dyn/drivelabels_v2beta.users.html b/docs/dyn/drivelabels_v2beta.users.html new file mode 100644 index 00000000000..ed96642da4c --- /dev/null +++ b/docs/dyn/drivelabels_v2beta.users.html @@ -0,0 +1,112 @@ + + + +

Drive Labels API . users

+

Instance Methods

+

+ close()

+

Close httplib2 connections.

+

+ getCapabilities(name, x__xgafv=None)

+

Gets the user capabilities.

+

Method Details

+
+ close() +
Close httplib2 connections.
+
+ +
+ getCapabilities(name, x__xgafv=None) +
Gets the user capabilities.
+
+Args:
+  name: string, Required. The resource name of the user. Only "users/me/capabilities" is supported. (required)
+  x__xgafv: string, V1 error format.
+    Allowed values
+      1 - v1 error format
+      2 - v2 error format
+
+Returns:
+  An object of the form:
+
+    { # The capabilities of a user.
+  "canAccessLabelManager": True or False, # Output only. Whether the user is allowed access to the label manager.
+  "canAdministrateLabels": True or False, # Output only. Whether the user is an administrator for the shared labels feature.
+  "canCreateAdminLabels": True or False, # Output only. Whether the user is allowed to create new admin labels.
+  "canCreateSharedLabels": True or False, # Output only. Whether the user is allowed to create new shared labels.
+  "name": "A String", # Output only. Resource name for the user capabilities.
+}
+
+ + \ No newline at end of file diff --git a/docs/dyn/firebase_v1beta1.projects.androidApps.html b/docs/dyn/firebase_v1beta1.projects.androidApps.html index 9c73bf1d5e0..e667afa9932 100644 --- a/docs/dyn/firebase_v1beta1.projects.androidApps.html +++ b/docs/dyn/firebase_v1beta1.projects.androidApps.html @@ -125,6 +125,12 @@

Method Details

"name": "A String", # The resource name of the AndroidApp, in the format: projects/ PROJECT_IDENTIFIER/androidApps/APP_ID * PROJECT_IDENTIFIER: the parent Project's [`ProjectNumber`](../projects#FirebaseProject.FIELDS.project_number) ***(recommended)*** or its [`ProjectId`](../projects#FirebaseProject.FIELDS.project_id). Learn more about using project identifiers in Google's [AIP 2510 standard](https://google.aip.dev/cloud/2510). Note that the value for PROJECT_IDENTIFIER in any response body will be the `ProjectId`. * APP_ID: the globally unique, Firebase-assigned identifier for the App (see [`appId`](../projects.androidApps#AndroidApp.FIELDS.app_id)). "packageName": "A String", # Immutable. The canonical package name of the Android app as would appear in the Google Play Developer Console. "projectId": "A String", # Output only. Immutable. A user-assigned unique identifier of the parent FirebaseProject for the `AndroidApp`. + "sha1Hashes": [ # The SHA1 certificate hashes for the AndroidApp. + "A String", + ], + "sha256Hashes": [ # The SHA256 certificate hashes for the AndroidApp. + "A String", + ], "state": "A String", # Output only. The lifecycle state of the App. } @@ -178,6 +184,12 @@

Method Details

"name": "A String", # The resource name of the AndroidApp, in the format: projects/ PROJECT_IDENTIFIER/androidApps/APP_ID * PROJECT_IDENTIFIER: the parent Project's [`ProjectNumber`](../projects#FirebaseProject.FIELDS.project_number) ***(recommended)*** or its [`ProjectId`](../projects#FirebaseProject.FIELDS.project_id). Learn more about using project identifiers in Google's [AIP 2510 standard](https://google.aip.dev/cloud/2510). Note that the value for PROJECT_IDENTIFIER in any response body will be the `ProjectId`. * APP_ID: the globally unique, Firebase-assigned identifier for the App (see [`appId`](../projects.androidApps#AndroidApp.FIELDS.app_id)). "packageName": "A String", # Immutable. The canonical package name of the Android app as would appear in the Google Play Developer Console. "projectId": "A String", # Output only. Immutable. A user-assigned unique identifier of the parent FirebaseProject for the `AndroidApp`. + "sha1Hashes": [ # The SHA1 certificate hashes for the AndroidApp. + "A String", + ], + "sha256Hashes": [ # The SHA256 certificate hashes for the AndroidApp. + "A String", + ], "state": "A String", # Output only. The lifecycle state of the App. }
@@ -228,6 +240,12 @@

Method Details

"name": "A String", # The resource name of the AndroidApp, in the format: projects/ PROJECT_IDENTIFIER/androidApps/APP_ID * PROJECT_IDENTIFIER: the parent Project's [`ProjectNumber`](../projects#FirebaseProject.FIELDS.project_number) ***(recommended)*** or its [`ProjectId`](../projects#FirebaseProject.FIELDS.project_id). Learn more about using project identifiers in Google's [AIP 2510 standard](https://google.aip.dev/cloud/2510). Note that the value for PROJECT_IDENTIFIER in any response body will be the `ProjectId`. * APP_ID: the globally unique, Firebase-assigned identifier for the App (see [`appId`](../projects.androidApps#AndroidApp.FIELDS.app_id)). "packageName": "A String", # Immutable. The canonical package name of the Android app as would appear in the Google Play Developer Console. "projectId": "A String", # Output only. Immutable. A user-assigned unique identifier of the parent FirebaseProject for the `AndroidApp`. + "sha1Hashes": [ # The SHA1 certificate hashes for the AndroidApp. + "A String", + ], + "sha256Hashes": [ # The SHA256 certificate hashes for the AndroidApp. + "A String", + ], "state": "A String", # Output only. The lifecycle state of the App. }, ], @@ -265,6 +283,12 @@

Method Details

"name": "A String", # The resource name of the AndroidApp, in the format: projects/ PROJECT_IDENTIFIER/androidApps/APP_ID * PROJECT_IDENTIFIER: the parent Project's [`ProjectNumber`](../projects#FirebaseProject.FIELDS.project_number) ***(recommended)*** or its [`ProjectId`](../projects#FirebaseProject.FIELDS.project_id). Learn more about using project identifiers in Google's [AIP 2510 standard](https://google.aip.dev/cloud/2510). Note that the value for PROJECT_IDENTIFIER in any response body will be the `ProjectId`. * APP_ID: the globally unique, Firebase-assigned identifier for the App (see [`appId`](../projects.androidApps#AndroidApp.FIELDS.app_id)). "packageName": "A String", # Immutable. The canonical package name of the Android app as would appear in the Google Play Developer Console. "projectId": "A String", # Output only. Immutable. A user-assigned unique identifier of the parent FirebaseProject for the `AndroidApp`. + "sha1Hashes": [ # The SHA1 certificate hashes for the AndroidApp. + "A String", + ], + "sha256Hashes": [ # The SHA256 certificate hashes for the AndroidApp. + "A String", + ], "state": "A String", # Output only. The lifecycle state of the App. } @@ -284,6 +308,12 @@

Method Details

"name": "A String", # The resource name of the AndroidApp, in the format: projects/ PROJECT_IDENTIFIER/androidApps/APP_ID * PROJECT_IDENTIFIER: the parent Project's [`ProjectNumber`](../projects#FirebaseProject.FIELDS.project_number) ***(recommended)*** or its [`ProjectId`](../projects#FirebaseProject.FIELDS.project_id). Learn more about using project identifiers in Google's [AIP 2510 standard](https://google.aip.dev/cloud/2510). Note that the value for PROJECT_IDENTIFIER in any response body will be the `ProjectId`. * APP_ID: the globally unique, Firebase-assigned identifier for the App (see [`appId`](../projects.androidApps#AndroidApp.FIELDS.app_id)). "packageName": "A String", # Immutable. The canonical package name of the Android app as would appear in the Google Play Developer Console. "projectId": "A String", # Output only. Immutable. A user-assigned unique identifier of the parent FirebaseProject for the `AndroidApp`. + "sha1Hashes": [ # The SHA1 certificate hashes for the AndroidApp. + "A String", + ], + "sha256Hashes": [ # The SHA256 certificate hashes for the AndroidApp. + "A String", + ], "state": "A String", # Output only. The lifecycle state of the App. }
diff --git a/docs/dyn/firebase_v1beta1.projects.html b/docs/dyn/firebase_v1beta1.projects.html index 53f7b21b67a..01cce041d95 100644 --- a/docs/dyn/firebase_v1beta1.projects.html +++ b/docs/dyn/firebase_v1beta1.projects.html @@ -450,7 +450,7 @@

Method Details

Args: parent: string, The parent FirebaseProject for which to list Apps, in the format: projects/ PROJECT_IDENTIFIER Refer to the `FirebaseProject` [`name`](../projects#FirebaseProject.FIELDS.name) field for details about PROJECT_IDENTIFIER values. (required) - filter: string, A query string compatible with Google's [AIP-160](https://google.aip.dev/160) standard. Use any of the following fields in a query: * [`app_id`](../projects.apps#FirebaseAppInfo.FIELDS.app_id) * [`namespace`](../projects.apps#FirebaseAppInfo.FIELDS.namespace) * [`platform`](../projects.apps#FirebaseAppInfo.FIELDS.platform) We also support the following "virtual" fields (fields which are not actually part of the returned resource object, but can be queried as if they are pre-populated with specific values): * `sha1_hash`: This field is considered to be a repeated `string` field, populated with the list of all SHA-1 certificate fingerprints registered with the app. This list is empty if the app is not an Android app. * `sha256_hash`: This field is considered to be a repeated `string` field, populated with the list of all SHA-256 certificate fingerprints registered with the app. This list is empty if the app is not an Android app. * `app_store_id`: This field is considered to be a singular `string` field, populated with the Apple App Store ID registered with the app. This field is empty if the app is not an iOS app. * `team_id`: This field is considered to be a singular `string` field, populated with the Apple team ID registered with the app. This field is empty if the app is not an iOS app. + filter: string, A query string compatible with Google's [AIP-160](https://google.aip.dev/160) standard. Use any of the following fields in a query: * [`app_id`](../projects.apps#FirebaseAppInfo.FIELDS.app_id) * [`namespace`](../projects.apps#FirebaseAppInfo.FIELDS.namespace) * [`platform`](../projects.apps#FirebaseAppInfo.FIELDS.platform) We also support the following "virtual" fields (fields which are not actually part of the returned resource object, but can be queried as if they are pre-populated with specific values): * `sha1_hash` or `sha1_hashes`: This field is considered to be a repeated `string` field, populated with the list of all SHA-1 certificate fingerprints registered with the app. This list is empty if the app is not an Android app. * `sha256_hash` or `sha256_hashes`: This field is considered to be a repeated `string` field, populated with the list of all SHA-256 certificate fingerprints registered with the app. This list is empty if the app is not an Android app. * `app_store_id`: This field is considered to be a singular `string` field, populated with the Apple App Store ID registered with the app. This field is empty if the app is not an iOS app. * `team_id`: This field is considered to be a singular `string` field, populated with the Apple team ID registered with the app. This field is empty if the app is not an iOS app. pageSize: integer, The maximum number of Apps to return in the response. The server may return fewer than this value at its discretion. If no value is specified (or too large a value is specified), then the server will impose its own limit. This value cannot be negative. pageToken: string, Token returned from a previous call to `SearchFirebaseApps` indicating where in the set of Apps to resume listing. showDeleted: boolean, Controls whether Apps in the DELETED state should be returned. Defaults to false. diff --git a/docs/dyn/firestore_v1.projects.databases.documents.html b/docs/dyn/firestore_v1.projects.databases.documents.html index d23684cfd8f..658df514d12 100644 --- a/docs/dyn/firestore_v1.projects.databases.documents.html +++ b/docs/dyn/firestore_v1.projects.databases.documents.html @@ -181,7 +181,11 @@

Method Details

"createTime": "A String", # Output only. The time at which the document was created. This value increases monotonically when a document is deleted then recreated. It can also be compared to values from other documents and the `read_time` of a query. "fields": { # The document's fields. The map keys represent field names. A simple field name contains only characters `a` to `z`, `A` to `Z`, `0` to `9`, or `_`, and must not start with `0` to `9`. For example, `foo_bar_17`. Field names matching the regular expression `__.*__` are reserved. Reserved field names are forbidden except in certain documented contexts. The map keys, represented as UTF-8, must not exceed 1,500 bytes and cannot be empty. Field paths may be used in other contexts to refer to structured fields defined here. For `map_value`, the field path is represented by the simple or quoted field names of the containing fields, delimited by `.`. For example, the structured field `"foo" : { map_value: { "x&y" : { string_value: "hello" }}}` would be represented by the field path `foo.x&y`. Within a field path, a quoted field name starts and ends with `` ` `` and may contain any character. Some characters, including `` ` ``, must be escaped using a `\`. For example, `` `x&y` `` represents `x&y` and `` `bak\`tik` `` represents `` bak`tik ``. "a_key": { # A message that can hold any of the supported value types. - "arrayValue": # Object with schema name: ArrayValue # An array value. Cannot directly contain another array value, though can contain an map which contains another array. + "arrayValue": { # An array value. # An array value. Cannot directly contain another array value, though can contain an map which contains another array. + "values": [ # Values in the array. + # Object with schema name: Value + ], + }, "booleanValue": True or False, # A boolean value. "bytesValue": "A String", # A bytes value. Must not exceed 1 MiB - 89 bytes. Only the first 1,500 bytes are considered by queries. "doubleValue": 3.14, # A double value. @@ -236,31 +240,16 @@

Method Details

{ # A transformation of a field of the document. "appendMissingElements": { # An array value. # Append the given elements in order if they are not already present in the current field value. If the field is not an array, or if the field does not yet exist, it is first set to the empty array. Equivalent numbers of different types (e.g. 3L and 3.0) are considered equal when checking if a value is missing. NaN is equal to NaN, and Null is equal to Null. If the input contains multiple equivalent values, only the first will be considered. The corresponding transform_result will be the null value. "values": [ # Values in the array. - { # A message that can hold any of the supported value types. - "arrayValue": # Object with schema name: ArrayValue # An array value. Cannot directly contain another array value, though can contain an map which contains another array. - "booleanValue": True or False, # A boolean value. - "bytesValue": "A String", # A bytes value. Must not exceed 1 MiB - 89 bytes. Only the first 1,500 bytes are considered by queries. - "doubleValue": 3.14, # A double value. - "geoPointValue": { # An object that represents a latitude/longitude pair. This is expressed as a pair of doubles to represent degrees latitude and degrees longitude. Unless specified otherwise, this object must conform to the WGS84 standard. Values must be within normalized ranges. # A geo point value representing a point on the surface of Earth. - "latitude": 3.14, # The latitude in degrees. It must be in the range [-90.0, +90.0]. - "longitude": 3.14, # The longitude in degrees. It must be in the range [-180.0, +180.0]. - }, - "integerValue": "A String", # An integer value. - "mapValue": { # A map value. # A map value. - "fields": { # The map's fields. The map keys represent field names. Field names matching the regular expression `__.*__` are reserved. Reserved field names are forbidden except in certain documented contexts. The map keys, represented as UTF-8, must not exceed 1,500 bytes and cannot be empty. - "a_key": # Object with schema name: Value - }, - }, - "nullValue": "A String", # A null value. - "referenceValue": "A String", # A reference to a document. For example: `projects/{project_id}/databases/{database_id}/documents/{document_path}`. - "stringValue": "A String", # A string value. The string, represented as UTF-8, must not exceed 1 MiB - 89 bytes. Only the first 1,500 bytes of the UTF-8 representation are considered by queries. - "timestampValue": "A String", # A timestamp value. Precise only to microseconds. When stored, any additional precision is rounded down. - }, + # Object with schema name: Value ], }, "fieldPath": "A String", # The path of the field. See Document.fields for the field path syntax reference. "increment": { # A message that can hold any of the supported value types. # Adds the given value to the field's current value. This must be an integer or a double value. If the field is not an integer or double, or if the field does not yet exist, the transformation will set the field to the given value. If either of the given value or the current field value are doubles, both values will be interpreted as doubles. Double arithmetic and representation of double values follow IEEE 754 semantics. If there is positive/negative integer overflow, the field is resolved to the largest magnitude positive/negative integer. - "arrayValue": # Object with schema name: ArrayValue # An array value. Cannot directly contain another array value, though can contain an map which contains another array. + "arrayValue": { # An array value. # An array value. Cannot directly contain another array value, though can contain an map which contains another array. + "values": [ # Values in the array. + # Object with schema name: Value + ], + }, "booleanValue": True or False, # A boolean value. "bytesValue": "A String", # A bytes value. Must not exceed 1 MiB - 89 bytes. Only the first 1,500 bytes are considered by queries. "doubleValue": 3.14, # A double value. @@ -280,7 +269,11 @@

Method Details

"timestampValue": "A String", # A timestamp value. Precise only to microseconds. When stored, any additional precision is rounded down. }, "maximum": { # A message that can hold any of the supported value types. # Sets the field to the maximum of its current value and the given value. This must be an integer or a double value. If the field is not an integer or double, or if the field does not yet exist, the transformation will set the field to the given value. If a maximum operation is applied where the field and the input value are of mixed types (that is - one is an integer and one is a double) the field takes on the type of the larger operand. If the operands are equivalent (e.g. 3 and 3.0), the field does not change. 0, 0.0, and -0.0 are all zero. The maximum of a zero stored value and zero input value is always the stored value. The maximum of any numeric value x and NaN is NaN. - "arrayValue": # Object with schema name: ArrayValue # An array value. Cannot directly contain another array value, though can contain an map which contains another array. + "arrayValue": { # An array value. # An array value. Cannot directly contain another array value, though can contain an map which contains another array. + "values": [ # Values in the array. + # Object with schema name: Value + ], + }, "booleanValue": True or False, # A boolean value. "bytesValue": "A String", # A bytes value. Must not exceed 1 MiB - 89 bytes. Only the first 1,500 bytes are considered by queries. "doubleValue": 3.14, # A double value. @@ -300,7 +293,11 @@

Method Details

"timestampValue": "A String", # A timestamp value. Precise only to microseconds. When stored, any additional precision is rounded down. }, "minimum": { # A message that can hold any of the supported value types. # Sets the field to the minimum of its current value and the given value. This must be an integer or a double value. If the field is not an integer or double, or if the field does not yet exist, the transformation will set the field to the input value. If a minimum operation is applied where the field and the input value are of mixed types (that is - one is an integer and one is a double) the field takes on the type of the smaller operand. If the operands are equivalent (e.g. 3 and 3.0), the field does not change. 0, 0.0, and -0.0 are all zero. The minimum of a zero stored value and zero input value is always the stored value. The minimum of any numeric value x and NaN is NaN. - "arrayValue": # Object with schema name: ArrayValue # An array value. Cannot directly contain another array value, though can contain an map which contains another array. + "arrayValue": { # An array value. # An array value. Cannot directly contain another array value, though can contain an map which contains another array. + "values": [ # Values in the array. + # Object with schema name: Value + ], + }, "booleanValue": True or False, # A boolean value. "bytesValue": "A String", # A bytes value. Must not exceed 1 MiB - 89 bytes. Only the first 1,500 bytes are considered by queries. "doubleValue": 3.14, # A double value. @@ -321,26 +318,7 @@

Method Details

}, "removeAllFromArray": { # An array value. # Remove all of the given elements from the array in the field. If the field is not an array, or if the field does not yet exist, it is set to the empty array. Equivalent numbers of the different types (e.g. 3L and 3.0) are considered equal when deciding whether an element should be removed. NaN is equal to NaN, and Null is equal to Null. This will remove all equivalent values if there are duplicates. The corresponding transform_result will be the null value. "values": [ # Values in the array. - { # A message that can hold any of the supported value types. - "arrayValue": # Object with schema name: ArrayValue # An array value. Cannot directly contain another array value, though can contain an map which contains another array. - "booleanValue": True or False, # A boolean value. - "bytesValue": "A String", # A bytes value. Must not exceed 1 MiB - 89 bytes. Only the first 1,500 bytes are considered by queries. - "doubleValue": 3.14, # A double value. - "geoPointValue": { # An object that represents a latitude/longitude pair. This is expressed as a pair of doubles to represent degrees latitude and degrees longitude. Unless specified otherwise, this object must conform to the WGS84 standard. Values must be within normalized ranges. # A geo point value representing a point on the surface of Earth. - "latitude": 3.14, # The latitude in degrees. It must be in the range [-90.0, +90.0]. - "longitude": 3.14, # The longitude in degrees. It must be in the range [-180.0, +180.0]. - }, - "integerValue": "A String", # An integer value. - "mapValue": { # A map value. # A map value. - "fields": { # The map's fields. The map keys represent field names. Field names matching the regular expression `__.*__` are reserved. Reserved field names are forbidden except in certain documented contexts. The map keys, represented as UTF-8, must not exceed 1,500 bytes and cannot be empty. - "a_key": # Object with schema name: Value - }, - }, - "nullValue": "A String", # A null value. - "referenceValue": "A String", # A reference to a document. For example: `projects/{project_id}/databases/{database_id}/documents/{document_path}`. - "stringValue": "A String", # A string value. The string, represented as UTF-8, must not exceed 1 MiB - 89 bytes. Only the first 1,500 bytes of the UTF-8 representation are considered by queries. - "timestampValue": "A String", # A timestamp value. Precise only to microseconds. When stored, any additional precision is rounded down. - }, + # Object with schema name: Value ], }, "setToServerValue": "A String", # Sets the field to the given server value. @@ -351,7 +329,11 @@

Method Details

"createTime": "A String", # Output only. The time at which the document was created. This value increases monotonically when a document is deleted then recreated. It can also be compared to values from other documents and the `read_time` of a query. "fields": { # The document's fields. The map keys represent field names. A simple field name contains only characters `a` to `z`, `A` to `Z`, `0` to `9`, or `_`, and must not start with `0` to `9`. For example, `foo_bar_17`. Field names matching the regular expression `__.*__` are reserved. Reserved field names are forbidden except in certain documented contexts. The map keys, represented as UTF-8, must not exceed 1,500 bytes and cannot be empty. Field paths may be used in other contexts to refer to structured fields defined here. For `map_value`, the field path is represented by the simple or quoted field names of the containing fields, delimited by `.`. For example, the structured field `"foo" : { map_value: { "x&y" : { string_value: "hello" }}}` would be represented by the field path `foo.x&y`. Within a field path, a quoted field name starts and ends with `` ` `` and may contain any character. Some characters, including `` ` ``, must be escaped using a `\`. For example, `` `x&y` `` represents `x&y` and `` `bak\`tik` `` represents `` bak`tik ``. "a_key": { # A message that can hold any of the supported value types. - "arrayValue": # Object with schema name: ArrayValue # An array value. Cannot directly contain another array value, though can contain an map which contains another array. + "arrayValue": { # An array value. # An array value. Cannot directly contain another array value, though can contain an map which contains another array. + "values": [ # Values in the array. + # Object with schema name: Value + ], + }, "booleanValue": True or False, # A boolean value. "bytesValue": "A String", # A bytes value. Must not exceed 1 MiB - 89 bytes. Only the first 1,500 bytes are considered by queries. "doubleValue": 3.14, # A double value. @@ -383,31 +365,16 @@

Method Details

{ # A transformation of a field of the document. "appendMissingElements": { # An array value. # Append the given elements in order if they are not already present in the current field value. If the field is not an array, or if the field does not yet exist, it is first set to the empty array. Equivalent numbers of different types (e.g. 3L and 3.0) are considered equal when checking if a value is missing. NaN is equal to NaN, and Null is equal to Null. If the input contains multiple equivalent values, only the first will be considered. The corresponding transform_result will be the null value. "values": [ # Values in the array. - { # A message that can hold any of the supported value types. - "arrayValue": # Object with schema name: ArrayValue # An array value. Cannot directly contain another array value, though can contain an map which contains another array. - "booleanValue": True or False, # A boolean value. - "bytesValue": "A String", # A bytes value. Must not exceed 1 MiB - 89 bytes. Only the first 1,500 bytes are considered by queries. - "doubleValue": 3.14, # A double value. - "geoPointValue": { # An object that represents a latitude/longitude pair. This is expressed as a pair of doubles to represent degrees latitude and degrees longitude. Unless specified otherwise, this object must conform to the WGS84 standard. Values must be within normalized ranges. # A geo point value representing a point on the surface of Earth. - "latitude": 3.14, # The latitude in degrees. It must be in the range [-90.0, +90.0]. - "longitude": 3.14, # The longitude in degrees. It must be in the range [-180.0, +180.0]. - }, - "integerValue": "A String", # An integer value. - "mapValue": { # A map value. # A map value. - "fields": { # The map's fields. The map keys represent field names. Field names matching the regular expression `__.*__` are reserved. Reserved field names are forbidden except in certain documented contexts. The map keys, represented as UTF-8, must not exceed 1,500 bytes and cannot be empty. - "a_key": # Object with schema name: Value - }, - }, - "nullValue": "A String", # A null value. - "referenceValue": "A String", # A reference to a document. For example: `projects/{project_id}/databases/{database_id}/documents/{document_path}`. - "stringValue": "A String", # A string value. The string, represented as UTF-8, must not exceed 1 MiB - 89 bytes. Only the first 1,500 bytes of the UTF-8 representation are considered by queries. - "timestampValue": "A String", # A timestamp value. Precise only to microseconds. When stored, any additional precision is rounded down. - }, + # Object with schema name: Value ], }, "fieldPath": "A String", # The path of the field. See Document.fields for the field path syntax reference. "increment": { # A message that can hold any of the supported value types. # Adds the given value to the field's current value. This must be an integer or a double value. If the field is not an integer or double, or if the field does not yet exist, the transformation will set the field to the given value. If either of the given value or the current field value are doubles, both values will be interpreted as doubles. Double arithmetic and representation of double values follow IEEE 754 semantics. If there is positive/negative integer overflow, the field is resolved to the largest magnitude positive/negative integer. - "arrayValue": # Object with schema name: ArrayValue # An array value. Cannot directly contain another array value, though can contain an map which contains another array. + "arrayValue": { # An array value. # An array value. Cannot directly contain another array value, though can contain an map which contains another array. + "values": [ # Values in the array. + # Object with schema name: Value + ], + }, "booleanValue": True or False, # A boolean value. "bytesValue": "A String", # A bytes value. Must not exceed 1 MiB - 89 bytes. Only the first 1,500 bytes are considered by queries. "doubleValue": 3.14, # A double value. @@ -427,7 +394,11 @@

Method Details

"timestampValue": "A String", # A timestamp value. Precise only to microseconds. When stored, any additional precision is rounded down. }, "maximum": { # A message that can hold any of the supported value types. # Sets the field to the maximum of its current value and the given value. This must be an integer or a double value. If the field is not an integer or double, or if the field does not yet exist, the transformation will set the field to the given value. If a maximum operation is applied where the field and the input value are of mixed types (that is - one is an integer and one is a double) the field takes on the type of the larger operand. If the operands are equivalent (e.g. 3 and 3.0), the field does not change. 0, 0.0, and -0.0 are all zero. The maximum of a zero stored value and zero input value is always the stored value. The maximum of any numeric value x and NaN is NaN. - "arrayValue": # Object with schema name: ArrayValue # An array value. Cannot directly contain another array value, though can contain an map which contains another array. + "arrayValue": { # An array value. # An array value. Cannot directly contain another array value, though can contain an map which contains another array. + "values": [ # Values in the array. + # Object with schema name: Value + ], + }, "booleanValue": True or False, # A boolean value. "bytesValue": "A String", # A bytes value. Must not exceed 1 MiB - 89 bytes. Only the first 1,500 bytes are considered by queries. "doubleValue": 3.14, # A double value. @@ -447,7 +418,11 @@

Method Details

"timestampValue": "A String", # A timestamp value. Precise only to microseconds. When stored, any additional precision is rounded down. }, "minimum": { # A message that can hold any of the supported value types. # Sets the field to the minimum of its current value and the given value. This must be an integer or a double value. If the field is not an integer or double, or if the field does not yet exist, the transformation will set the field to the input value. If a minimum operation is applied where the field and the input value are of mixed types (that is - one is an integer and one is a double) the field takes on the type of the smaller operand. If the operands are equivalent (e.g. 3 and 3.0), the field does not change. 0, 0.0, and -0.0 are all zero. The minimum of a zero stored value and zero input value is always the stored value. The minimum of any numeric value x and NaN is NaN. - "arrayValue": # Object with schema name: ArrayValue # An array value. Cannot directly contain another array value, though can contain an map which contains another array. + "arrayValue": { # An array value. # An array value. Cannot directly contain another array value, though can contain an map which contains another array. + "values": [ # Values in the array. + # Object with schema name: Value + ], + }, "booleanValue": True or False, # A boolean value. "bytesValue": "A String", # A bytes value. Must not exceed 1 MiB - 89 bytes. Only the first 1,500 bytes are considered by queries. "doubleValue": 3.14, # A double value. @@ -468,26 +443,7 @@

Method Details

}, "removeAllFromArray": { # An array value. # Remove all of the given elements from the array in the field. If the field is not an array, or if the field does not yet exist, it is set to the empty array. Equivalent numbers of the different types (e.g. 3L and 3.0) are considered equal when deciding whether an element should be removed. NaN is equal to NaN, and Null is equal to Null. This will remove all equivalent values if there are duplicates. The corresponding transform_result will be the null value. "values": [ # Values in the array. - { # A message that can hold any of the supported value types. - "arrayValue": # Object with schema name: ArrayValue # An array value. Cannot directly contain another array value, though can contain an map which contains another array. - "booleanValue": True or False, # A boolean value. - "bytesValue": "A String", # A bytes value. Must not exceed 1 MiB - 89 bytes. Only the first 1,500 bytes are considered by queries. - "doubleValue": 3.14, # A double value. - "geoPointValue": { # An object that represents a latitude/longitude pair. This is expressed as a pair of doubles to represent degrees latitude and degrees longitude. Unless specified otherwise, this object must conform to the WGS84 standard. Values must be within normalized ranges. # A geo point value representing a point on the surface of Earth. - "latitude": 3.14, # The latitude in degrees. It must be in the range [-90.0, +90.0]. - "longitude": 3.14, # The longitude in degrees. It must be in the range [-180.0, +180.0]. - }, - "integerValue": "A String", # An integer value. - "mapValue": { # A map value. # A map value. - "fields": { # The map's fields. The map keys represent field names. Field names matching the regular expression `__.*__` are reserved. Reserved field names are forbidden except in certain documented contexts. The map keys, represented as UTF-8, must not exceed 1,500 bytes and cannot be empty. - "a_key": # Object with schema name: Value - }, - }, - "nullValue": "A String", # A null value. - "referenceValue": "A String", # A reference to a document. For example: `projects/{project_id}/databases/{database_id}/documents/{document_path}`. - "stringValue": "A String", # A string value. The string, represented as UTF-8, must not exceed 1 MiB - 89 bytes. Only the first 1,500 bytes of the UTF-8 representation are considered by queries. - "timestampValue": "A String", # A timestamp value. Precise only to microseconds. When stored, any additional precision is rounded down. - }, + # Object with schema name: Value ], }, "setToServerValue": "A String", # Sets the field to the given server value. @@ -521,7 +477,11 @@

Method Details

{ # The result of applying a write. "transformResults": [ # The results of applying each DocumentTransform.FieldTransform, in the same order. { # A message that can hold any of the supported value types. - "arrayValue": # Object with schema name: ArrayValue # An array value. Cannot directly contain another array value, though can contain an map which contains another array. + "arrayValue": { # An array value. # An array value. Cannot directly contain another array value, though can contain an map which contains another array. + "values": [ # Values in the array. + # Object with schema name: Value + ], + }, "booleanValue": True or False, # A boolean value. "bytesValue": "A String", # A bytes value. Must not exceed 1 MiB - 89 bytes. Only the first 1,500 bytes are considered by queries. "doubleValue": 3.14, # A double value. @@ -609,31 +569,16 @@

Method Details

{ # A transformation of a field of the document. "appendMissingElements": { # An array value. # Append the given elements in order if they are not already present in the current field value. If the field is not an array, or if the field does not yet exist, it is first set to the empty array. Equivalent numbers of different types (e.g. 3L and 3.0) are considered equal when checking if a value is missing. NaN is equal to NaN, and Null is equal to Null. If the input contains multiple equivalent values, only the first will be considered. The corresponding transform_result will be the null value. "values": [ # Values in the array. - { # A message that can hold any of the supported value types. - "arrayValue": # Object with schema name: ArrayValue # An array value. Cannot directly contain another array value, though can contain an map which contains another array. - "booleanValue": True or False, # A boolean value. - "bytesValue": "A String", # A bytes value. Must not exceed 1 MiB - 89 bytes. Only the first 1,500 bytes are considered by queries. - "doubleValue": 3.14, # A double value. - "geoPointValue": { # An object that represents a latitude/longitude pair. This is expressed as a pair of doubles to represent degrees latitude and degrees longitude. Unless specified otherwise, this object must conform to the WGS84 standard. Values must be within normalized ranges. # A geo point value representing a point on the surface of Earth. - "latitude": 3.14, # The latitude in degrees. It must be in the range [-90.0, +90.0]. - "longitude": 3.14, # The longitude in degrees. It must be in the range [-180.0, +180.0]. - }, - "integerValue": "A String", # An integer value. - "mapValue": { # A map value. # A map value. - "fields": { # The map's fields. The map keys represent field names. Field names matching the regular expression `__.*__` are reserved. Reserved field names are forbidden except in certain documented contexts. The map keys, represented as UTF-8, must not exceed 1,500 bytes and cannot be empty. - "a_key": # Object with schema name: Value - }, - }, - "nullValue": "A String", # A null value. - "referenceValue": "A String", # A reference to a document. For example: `projects/{project_id}/databases/{database_id}/documents/{document_path}`. - "stringValue": "A String", # A string value. The string, represented as UTF-8, must not exceed 1 MiB - 89 bytes. Only the first 1,500 bytes of the UTF-8 representation are considered by queries. - "timestampValue": "A String", # A timestamp value. Precise only to microseconds. When stored, any additional precision is rounded down. - }, + # Object with schema name: Value ], }, "fieldPath": "A String", # The path of the field. See Document.fields for the field path syntax reference. "increment": { # A message that can hold any of the supported value types. # Adds the given value to the field's current value. This must be an integer or a double value. If the field is not an integer or double, or if the field does not yet exist, the transformation will set the field to the given value. If either of the given value or the current field value are doubles, both values will be interpreted as doubles. Double arithmetic and representation of double values follow IEEE 754 semantics. If there is positive/negative integer overflow, the field is resolved to the largest magnitude positive/negative integer. - "arrayValue": # Object with schema name: ArrayValue # An array value. Cannot directly contain another array value, though can contain an map which contains another array. + "arrayValue": { # An array value. # An array value. Cannot directly contain another array value, though can contain an map which contains another array. + "values": [ # Values in the array. + # Object with schema name: Value + ], + }, "booleanValue": True or False, # A boolean value. "bytesValue": "A String", # A bytes value. Must not exceed 1 MiB - 89 bytes. Only the first 1,500 bytes are considered by queries. "doubleValue": 3.14, # A double value. @@ -653,7 +598,11 @@

Method Details

"timestampValue": "A String", # A timestamp value. Precise only to microseconds. When stored, any additional precision is rounded down. }, "maximum": { # A message that can hold any of the supported value types. # Sets the field to the maximum of its current value and the given value. This must be an integer or a double value. If the field is not an integer or double, or if the field does not yet exist, the transformation will set the field to the given value. If a maximum operation is applied where the field and the input value are of mixed types (that is - one is an integer and one is a double) the field takes on the type of the larger operand. If the operands are equivalent (e.g. 3 and 3.0), the field does not change. 0, 0.0, and -0.0 are all zero. The maximum of a zero stored value and zero input value is always the stored value. The maximum of any numeric value x and NaN is NaN. - "arrayValue": # Object with schema name: ArrayValue # An array value. Cannot directly contain another array value, though can contain an map which contains another array. + "arrayValue": { # An array value. # An array value. Cannot directly contain another array value, though can contain an map which contains another array. + "values": [ # Values in the array. + # Object with schema name: Value + ], + }, "booleanValue": True or False, # A boolean value. "bytesValue": "A String", # A bytes value. Must not exceed 1 MiB - 89 bytes. Only the first 1,500 bytes are considered by queries. "doubleValue": 3.14, # A double value. @@ -673,7 +622,11 @@

Method Details

"timestampValue": "A String", # A timestamp value. Precise only to microseconds. When stored, any additional precision is rounded down. }, "minimum": { # A message that can hold any of the supported value types. # Sets the field to the minimum of its current value and the given value. This must be an integer or a double value. If the field is not an integer or double, or if the field does not yet exist, the transformation will set the field to the input value. If a minimum operation is applied where the field and the input value are of mixed types (that is - one is an integer and one is a double) the field takes on the type of the smaller operand. If the operands are equivalent (e.g. 3 and 3.0), the field does not change. 0, 0.0, and -0.0 are all zero. The minimum of a zero stored value and zero input value is always the stored value. The minimum of any numeric value x and NaN is NaN. - "arrayValue": # Object with schema name: ArrayValue # An array value. Cannot directly contain another array value, though can contain an map which contains another array. + "arrayValue": { # An array value. # An array value. Cannot directly contain another array value, though can contain an map which contains another array. + "values": [ # Values in the array. + # Object with schema name: Value + ], + }, "booleanValue": True or False, # A boolean value. "bytesValue": "A String", # A bytes value. Must not exceed 1 MiB - 89 bytes. Only the first 1,500 bytes are considered by queries. "doubleValue": 3.14, # A double value. @@ -694,26 +647,7 @@

Method Details

}, "removeAllFromArray": { # An array value. # Remove all of the given elements from the array in the field. If the field is not an array, or if the field does not yet exist, it is set to the empty array. Equivalent numbers of the different types (e.g. 3L and 3.0) are considered equal when deciding whether an element should be removed. NaN is equal to NaN, and Null is equal to Null. This will remove all equivalent values if there are duplicates. The corresponding transform_result will be the null value. "values": [ # Values in the array. - { # A message that can hold any of the supported value types. - "arrayValue": # Object with schema name: ArrayValue # An array value. Cannot directly contain another array value, though can contain an map which contains another array. - "booleanValue": True or False, # A boolean value. - "bytesValue": "A String", # A bytes value. Must not exceed 1 MiB - 89 bytes. Only the first 1,500 bytes are considered by queries. - "doubleValue": 3.14, # A double value. - "geoPointValue": { # An object that represents a latitude/longitude pair. This is expressed as a pair of doubles to represent degrees latitude and degrees longitude. Unless specified otherwise, this object must conform to the WGS84 standard. Values must be within normalized ranges. # A geo point value representing a point on the surface of Earth. - "latitude": 3.14, # The latitude in degrees. It must be in the range [-90.0, +90.0]. - "longitude": 3.14, # The longitude in degrees. It must be in the range [-180.0, +180.0]. - }, - "integerValue": "A String", # An integer value. - "mapValue": { # A map value. # A map value. - "fields": { # The map's fields. The map keys represent field names. Field names matching the regular expression `__.*__` are reserved. Reserved field names are forbidden except in certain documented contexts. The map keys, represented as UTF-8, must not exceed 1,500 bytes and cannot be empty. - "a_key": # Object with schema name: Value - }, - }, - "nullValue": "A String", # A null value. - "referenceValue": "A String", # A reference to a document. For example: `projects/{project_id}/databases/{database_id}/documents/{document_path}`. - "stringValue": "A String", # A string value. The string, represented as UTF-8, must not exceed 1 MiB - 89 bytes. Only the first 1,500 bytes of the UTF-8 representation are considered by queries. - "timestampValue": "A String", # A timestamp value. Precise only to microseconds. When stored, any additional precision is rounded down. - }, + # Object with schema name: Value ], }, "setToServerValue": "A String", # Sets the field to the given server value. @@ -724,7 +658,11 @@

Method Details

"createTime": "A String", # Output only. The time at which the document was created. This value increases monotonically when a document is deleted then recreated. It can also be compared to values from other documents and the `read_time` of a query. "fields": { # The document's fields. The map keys represent field names. A simple field name contains only characters `a` to `z`, `A` to `Z`, `0` to `9`, or `_`, and must not start with `0` to `9`. For example, `foo_bar_17`. Field names matching the regular expression `__.*__` are reserved. Reserved field names are forbidden except in certain documented contexts. The map keys, represented as UTF-8, must not exceed 1,500 bytes and cannot be empty. Field paths may be used in other contexts to refer to structured fields defined here. For `map_value`, the field path is represented by the simple or quoted field names of the containing fields, delimited by `.`. For example, the structured field `"foo" : { map_value: { "x&y" : { string_value: "hello" }}}` would be represented by the field path `foo.x&y`. Within a field path, a quoted field name starts and ends with `` ` `` and may contain any character. Some characters, including `` ` ``, must be escaped using a `\`. For example, `` `x&y` `` represents `x&y` and `` `bak\`tik` `` represents `` bak`tik ``. "a_key": { # A message that can hold any of the supported value types. - "arrayValue": # Object with schema name: ArrayValue # An array value. Cannot directly contain another array value, though can contain an map which contains another array. + "arrayValue": { # An array value. # An array value. Cannot directly contain another array value, though can contain an map which contains another array. + "values": [ # Values in the array. + # Object with schema name: Value + ], + }, "booleanValue": True or False, # A boolean value. "bytesValue": "A String", # A bytes value. Must not exceed 1 MiB - 89 bytes. Only the first 1,500 bytes are considered by queries. "doubleValue": 3.14, # A double value. @@ -756,31 +694,16 @@

Method Details

{ # A transformation of a field of the document. "appendMissingElements": { # An array value. # Append the given elements in order if they are not already present in the current field value. If the field is not an array, or if the field does not yet exist, it is first set to the empty array. Equivalent numbers of different types (e.g. 3L and 3.0) are considered equal when checking if a value is missing. NaN is equal to NaN, and Null is equal to Null. If the input contains multiple equivalent values, only the first will be considered. The corresponding transform_result will be the null value. "values": [ # Values in the array. - { # A message that can hold any of the supported value types. - "arrayValue": # Object with schema name: ArrayValue # An array value. Cannot directly contain another array value, though can contain an map which contains another array. - "booleanValue": True or False, # A boolean value. - "bytesValue": "A String", # A bytes value. Must not exceed 1 MiB - 89 bytes. Only the first 1,500 bytes are considered by queries. - "doubleValue": 3.14, # A double value. - "geoPointValue": { # An object that represents a latitude/longitude pair. This is expressed as a pair of doubles to represent degrees latitude and degrees longitude. Unless specified otherwise, this object must conform to the WGS84 standard. Values must be within normalized ranges. # A geo point value representing a point on the surface of Earth. - "latitude": 3.14, # The latitude in degrees. It must be in the range [-90.0, +90.0]. - "longitude": 3.14, # The longitude in degrees. It must be in the range [-180.0, +180.0]. - }, - "integerValue": "A String", # An integer value. - "mapValue": { # A map value. # A map value. - "fields": { # The map's fields. The map keys represent field names. Field names matching the regular expression `__.*__` are reserved. Reserved field names are forbidden except in certain documented contexts. The map keys, represented as UTF-8, must not exceed 1,500 bytes and cannot be empty. - "a_key": # Object with schema name: Value - }, - }, - "nullValue": "A String", # A null value. - "referenceValue": "A String", # A reference to a document. For example: `projects/{project_id}/databases/{database_id}/documents/{document_path}`. - "stringValue": "A String", # A string value. The string, represented as UTF-8, must not exceed 1 MiB - 89 bytes. Only the first 1,500 bytes of the UTF-8 representation are considered by queries. - "timestampValue": "A String", # A timestamp value. Precise only to microseconds. When stored, any additional precision is rounded down. - }, + # Object with schema name: Value ], }, "fieldPath": "A String", # The path of the field. See Document.fields for the field path syntax reference. "increment": { # A message that can hold any of the supported value types. # Adds the given value to the field's current value. This must be an integer or a double value. If the field is not an integer or double, or if the field does not yet exist, the transformation will set the field to the given value. If either of the given value or the current field value are doubles, both values will be interpreted as doubles. Double arithmetic and representation of double values follow IEEE 754 semantics. If there is positive/negative integer overflow, the field is resolved to the largest magnitude positive/negative integer. - "arrayValue": # Object with schema name: ArrayValue # An array value. Cannot directly contain another array value, though can contain an map which contains another array. + "arrayValue": { # An array value. # An array value. Cannot directly contain another array value, though can contain an map which contains another array. + "values": [ # Values in the array. + # Object with schema name: Value + ], + }, "booleanValue": True or False, # A boolean value. "bytesValue": "A String", # A bytes value. Must not exceed 1 MiB - 89 bytes. Only the first 1,500 bytes are considered by queries. "doubleValue": 3.14, # A double value. @@ -800,7 +723,11 @@

Method Details

"timestampValue": "A String", # A timestamp value. Precise only to microseconds. When stored, any additional precision is rounded down. }, "maximum": { # A message that can hold any of the supported value types. # Sets the field to the maximum of its current value and the given value. This must be an integer or a double value. If the field is not an integer or double, or if the field does not yet exist, the transformation will set the field to the given value. If a maximum operation is applied where the field and the input value are of mixed types (that is - one is an integer and one is a double) the field takes on the type of the larger operand. If the operands are equivalent (e.g. 3 and 3.0), the field does not change. 0, 0.0, and -0.0 are all zero. The maximum of a zero stored value and zero input value is always the stored value. The maximum of any numeric value x and NaN is NaN. - "arrayValue": # Object with schema name: ArrayValue # An array value. Cannot directly contain another array value, though can contain an map which contains another array. + "arrayValue": { # An array value. # An array value. Cannot directly contain another array value, though can contain an map which contains another array. + "values": [ # Values in the array. + # Object with schema name: Value + ], + }, "booleanValue": True or False, # A boolean value. "bytesValue": "A String", # A bytes value. Must not exceed 1 MiB - 89 bytes. Only the first 1,500 bytes are considered by queries. "doubleValue": 3.14, # A double value. @@ -820,7 +747,11 @@

Method Details

"timestampValue": "A String", # A timestamp value. Precise only to microseconds. When stored, any additional precision is rounded down. }, "minimum": { # A message that can hold any of the supported value types. # Sets the field to the minimum of its current value and the given value. This must be an integer or a double value. If the field is not an integer or double, or if the field does not yet exist, the transformation will set the field to the input value. If a minimum operation is applied where the field and the input value are of mixed types (that is - one is an integer and one is a double) the field takes on the type of the smaller operand. If the operands are equivalent (e.g. 3 and 3.0), the field does not change. 0, 0.0, and -0.0 are all zero. The minimum of a zero stored value and zero input value is always the stored value. The minimum of any numeric value x and NaN is NaN. - "arrayValue": # Object with schema name: ArrayValue # An array value. Cannot directly contain another array value, though can contain an map which contains another array. + "arrayValue": { # An array value. # An array value. Cannot directly contain another array value, though can contain an map which contains another array. + "values": [ # Values in the array. + # Object with schema name: Value + ], + }, "booleanValue": True or False, # A boolean value. "bytesValue": "A String", # A bytes value. Must not exceed 1 MiB - 89 bytes. Only the first 1,500 bytes are considered by queries. "doubleValue": 3.14, # A double value. @@ -841,26 +772,7 @@

Method Details

}, "removeAllFromArray": { # An array value. # Remove all of the given elements from the array in the field. If the field is not an array, or if the field does not yet exist, it is set to the empty array. Equivalent numbers of the different types (e.g. 3L and 3.0) are considered equal when deciding whether an element should be removed. NaN is equal to NaN, and Null is equal to Null. This will remove all equivalent values if there are duplicates. The corresponding transform_result will be the null value. "values": [ # Values in the array. - { # A message that can hold any of the supported value types. - "arrayValue": # Object with schema name: ArrayValue # An array value. Cannot directly contain another array value, though can contain an map which contains another array. - "booleanValue": True or False, # A boolean value. - "bytesValue": "A String", # A bytes value. Must not exceed 1 MiB - 89 bytes. Only the first 1,500 bytes are considered by queries. - "doubleValue": 3.14, # A double value. - "geoPointValue": { # An object that represents a latitude/longitude pair. This is expressed as a pair of doubles to represent degrees latitude and degrees longitude. Unless specified otherwise, this object must conform to the WGS84 standard. Values must be within normalized ranges. # A geo point value representing a point on the surface of Earth. - "latitude": 3.14, # The latitude in degrees. It must be in the range [-90.0, +90.0]. - "longitude": 3.14, # The longitude in degrees. It must be in the range [-180.0, +180.0]. - }, - "integerValue": "A String", # An integer value. - "mapValue": { # A map value. # A map value. - "fields": { # The map's fields. The map keys represent field names. Field names matching the regular expression `__.*__` are reserved. Reserved field names are forbidden except in certain documented contexts. The map keys, represented as UTF-8, must not exceed 1,500 bytes and cannot be empty. - "a_key": # Object with schema name: Value - }, - }, - "nullValue": "A String", # A null value. - "referenceValue": "A String", # A reference to a document. For example: `projects/{project_id}/databases/{database_id}/documents/{document_path}`. - "stringValue": "A String", # A string value. The string, represented as UTF-8, must not exceed 1 MiB - 89 bytes. Only the first 1,500 bytes of the UTF-8 representation are considered by queries. - "timestampValue": "A String", # A timestamp value. Precise only to microseconds. When stored, any additional precision is rounded down. - }, + # Object with schema name: Value ], }, "setToServerValue": "A String", # Sets the field to the given server value. @@ -884,7 +796,11 @@

Method Details

{ # The result of applying a write. "transformResults": [ # The results of applying each DocumentTransform.FieldTransform, in the same order. { # A message that can hold any of the supported value types. - "arrayValue": # Object with schema name: ArrayValue # An array value. Cannot directly contain another array value, though can contain an map which contains another array. + "arrayValue": { # An array value. # An array value. Cannot directly contain another array value, though can contain an map which contains another array. + "values": [ # Values in the array. + # Object with schema name: Value + ], + }, "booleanValue": True or False, # A boolean value. "bytesValue": "A String", # A bytes value. Must not exceed 1 MiB - 89 bytes. Only the first 1,500 bytes are considered by queries. "doubleValue": 3.14, # A double value. @@ -924,7 +840,11 @@

Method Details

"createTime": "A String", # Output only. The time at which the document was created. This value increases monotonically when a document is deleted then recreated. It can also be compared to values from other documents and the `read_time` of a query. "fields": { # The document's fields. The map keys represent field names. A simple field name contains only characters `a` to `z`, `A` to `Z`, `0` to `9`, or `_`, and must not start with `0` to `9`. For example, `foo_bar_17`. Field names matching the regular expression `__.*__` are reserved. Reserved field names are forbidden except in certain documented contexts. The map keys, represented as UTF-8, must not exceed 1,500 bytes and cannot be empty. Field paths may be used in other contexts to refer to structured fields defined here. For `map_value`, the field path is represented by the simple or quoted field names of the containing fields, delimited by `.`. For example, the structured field `"foo" : { map_value: { "x&y" : { string_value: "hello" }}}` would be represented by the field path `foo.x&y`. Within a field path, a quoted field name starts and ends with `` ` `` and may contain any character. Some characters, including `` ` ``, must be escaped using a `\`. For example, `` `x&y` `` represents `x&y` and `` `bak\`tik` `` represents `` bak`tik ``. "a_key": { # A message that can hold any of the supported value types. - "arrayValue": # Object with schema name: ArrayValue # An array value. Cannot directly contain another array value, though can contain an map which contains another array. + "arrayValue": { # An array value. # An array value. Cannot directly contain another array value, though can contain an map which contains another array. + "values": [ # Values in the array. + # Object with schema name: Value + ], + }, "booleanValue": True or False, # A boolean value. "bytesValue": "A String", # A bytes value. Must not exceed 1 MiB - 89 bytes. Only the first 1,500 bytes are considered by queries. "doubleValue": 3.14, # A double value. @@ -962,7 +882,11 @@

Method Details

"createTime": "A String", # Output only. The time at which the document was created. This value increases monotonically when a document is deleted then recreated. It can also be compared to values from other documents and the `read_time` of a query. "fields": { # The document's fields. The map keys represent field names. A simple field name contains only characters `a` to `z`, `A` to `Z`, `0` to `9`, or `_`, and must not start with `0` to `9`. For example, `foo_bar_17`. Field names matching the regular expression `__.*__` are reserved. Reserved field names are forbidden except in certain documented contexts. The map keys, represented as UTF-8, must not exceed 1,500 bytes and cannot be empty. Field paths may be used in other contexts to refer to structured fields defined here. For `map_value`, the field path is represented by the simple or quoted field names of the containing fields, delimited by `.`. For example, the structured field `"foo" : { map_value: { "x&y" : { string_value: "hello" }}}` would be represented by the field path `foo.x&y`. Within a field path, a quoted field name starts and ends with `` ` `` and may contain any character. Some characters, including `` ` ``, must be escaped using a `\`. For example, `` `x&y` `` represents `x&y` and `` `bak\`tik` `` represents `` bak`tik ``. "a_key": { # A message that can hold any of the supported value types. - "arrayValue": # Object with schema name: ArrayValue # An array value. Cannot directly contain another array value, though can contain an map which contains another array. + "arrayValue": { # An array value. # An array value. Cannot directly contain another array value, though can contain an map which contains another array. + "values": [ # Values in the array. + # Object with schema name: Value + ], + }, "booleanValue": True or False, # A boolean value. "bytesValue": "A String", # A bytes value. Must not exceed 1 MiB - 89 bytes. Only the first 1,500 bytes are considered by queries. "doubleValue": 3.14, # A double value. @@ -1028,7 +952,11 @@

Method Details

"createTime": "A String", # Output only. The time at which the document was created. This value increases monotonically when a document is deleted then recreated. It can also be compared to values from other documents and the `read_time` of a query. "fields": { # The document's fields. The map keys represent field names. A simple field name contains only characters `a` to `z`, `A` to `Z`, `0` to `9`, or `_`, and must not start with `0` to `9`. For example, `foo_bar_17`. Field names matching the regular expression `__.*__` are reserved. Reserved field names are forbidden except in certain documented contexts. The map keys, represented as UTF-8, must not exceed 1,500 bytes and cannot be empty. Field paths may be used in other contexts to refer to structured fields defined here. For `map_value`, the field path is represented by the simple or quoted field names of the containing fields, delimited by `.`. For example, the structured field `"foo" : { map_value: { "x&y" : { string_value: "hello" }}}` would be represented by the field path `foo.x&y`. Within a field path, a quoted field name starts and ends with `` ` `` and may contain any character. Some characters, including `` ` ``, must be escaped using a `\`. For example, `` `x&y` `` represents `x&y` and `` `bak\`tik` `` represents `` bak`tik ``. "a_key": { # A message that can hold any of the supported value types. - "arrayValue": # Object with schema name: ArrayValue # An array value. Cannot directly contain another array value, though can contain an map which contains another array. + "arrayValue": { # An array value. # An array value. Cannot directly contain another array value, though can contain an map which contains another array. + "values": [ # Values in the array. + # Object with schema name: Value + ], + }, "booleanValue": True or False, # A boolean value. "bytesValue": "A String", # A bytes value. Must not exceed 1 MiB - 89 bytes. Only the first 1,500 bytes are considered by queries. "doubleValue": 3.14, # A double value. @@ -1081,7 +1009,11 @@

Method Details

"createTime": "A String", # Output only. The time at which the document was created. This value increases monotonically when a document is deleted then recreated. It can also be compared to values from other documents and the `read_time` of a query. "fields": { # The document's fields. The map keys represent field names. A simple field name contains only characters `a` to `z`, `A` to `Z`, `0` to `9`, or `_`, and must not start with `0` to `9`. For example, `foo_bar_17`. Field names matching the regular expression `__.*__` are reserved. Reserved field names are forbidden except in certain documented contexts. The map keys, represented as UTF-8, must not exceed 1,500 bytes and cannot be empty. Field paths may be used in other contexts to refer to structured fields defined here. For `map_value`, the field path is represented by the simple or quoted field names of the containing fields, delimited by `.`. For example, the structured field `"foo" : { map_value: { "x&y" : { string_value: "hello" }}}` would be represented by the field path `foo.x&y`. Within a field path, a quoted field name starts and ends with `` ` `` and may contain any character. Some characters, including `` ` ``, must be escaped using a `\`. For example, `` `x&y` `` represents `x&y` and `` `bak\`tik` `` represents `` bak`tik ``. "a_key": { # A message that can hold any of the supported value types. - "arrayValue": # Object with schema name: ArrayValue # An array value. Cannot directly contain another array value, though can contain an map which contains another array. + "arrayValue": { # An array value. # An array value. Cannot directly contain another array value, though can contain an map which contains another array. + "values": [ # Values in the array. + # Object with schema name: Value + ], + }, "booleanValue": True or False, # A boolean value. "bytesValue": "A String", # A bytes value. Must not exceed 1 MiB - 89 bytes. Only the first 1,500 bytes are considered by queries. "doubleValue": 3.14, # A double value. @@ -1182,7 +1114,11 @@

Method Details

"createTime": "A String", # Output only. The time at which the document was created. This value increases monotonically when a document is deleted then recreated. It can also be compared to values from other documents and the `read_time` of a query. "fields": { # The document's fields. The map keys represent field names. A simple field name contains only characters `a` to `z`, `A` to `Z`, `0` to `9`, or `_`, and must not start with `0` to `9`. For example, `foo_bar_17`. Field names matching the regular expression `__.*__` are reserved. Reserved field names are forbidden except in certain documented contexts. The map keys, represented as UTF-8, must not exceed 1,500 bytes and cannot be empty. Field paths may be used in other contexts to refer to structured fields defined here. For `map_value`, the field path is represented by the simple or quoted field names of the containing fields, delimited by `.`. For example, the structured field `"foo" : { map_value: { "x&y" : { string_value: "hello" }}}` would be represented by the field path `foo.x&y`. Within a field path, a quoted field name starts and ends with `` ` `` and may contain any character. Some characters, including `` ` ``, must be escaped using a `\`. For example, `` `x&y` `` represents `x&y` and `` `bak\`tik` `` represents `` bak`tik ``. "a_key": { # A message that can hold any of the supported value types. - "arrayValue": # Object with schema name: ArrayValue # An array value. Cannot directly contain another array value, though can contain an map which contains another array. + "arrayValue": { # An array value. # An array value. Cannot directly contain another array value, though can contain an map which contains another array. + "values": [ # Values in the array. + # Object with schema name: Value + ], + }, "booleanValue": True or False, # A boolean value. "bytesValue": "A String", # A bytes value. Must not exceed 1 MiB - 89 bytes. Only the first 1,500 bytes are considered by queries. "doubleValue": 3.14, # A double value. @@ -1262,7 +1198,11 @@

Method Details

"before": True or False, # If the position is just before or just after the given values, relative to the sort order defined by the query. "values": [ # The values that represent a position, in the order they appear in the order by clause of a query. Can contain fewer values than specified in the order by clause. { # A message that can hold any of the supported value types. - "arrayValue": # Object with schema name: ArrayValue # An array value. Cannot directly contain another array value, though can contain an map which contains another array. + "arrayValue": { # An array value. # An array value. Cannot directly contain another array value, though can contain an map which contains another array. + "values": [ # Values in the array. + # Object with schema name: Value + ], + }, "booleanValue": True or False, # A boolean value. "bytesValue": "A String", # A bytes value. Must not exceed 1 MiB - 89 bytes. Only the first 1,500 bytes are considered by queries. "doubleValue": 3.14, # A double value. @@ -1310,7 +1250,11 @@

Method Details

"before": True or False, # If the position is just before or just after the given values, relative to the sort order defined by the query. "values": [ # The values that represent a position, in the order they appear in the order by clause of a query. Can contain fewer values than specified in the order by clause. { # A message that can hold any of the supported value types. - "arrayValue": # Object with schema name: ArrayValue # An array value. Cannot directly contain another array value, though can contain an map which contains another array. + "arrayValue": { # An array value. # An array value. Cannot directly contain another array value, though can contain an map which contains another array. + "values": [ # Values in the array. + # Object with schema name: Value + ], + }, "booleanValue": True or False, # A boolean value. "bytesValue": "A String", # A bytes value. Must not exceed 1 MiB - 89 bytes. Only the first 1,500 bytes are considered by queries. "doubleValue": 3.14, # A double value. @@ -1344,7 +1288,11 @@

Method Details

}, "op": "A String", # The operator to filter by. "value": { # A message that can hold any of the supported value types. # The value to compare to. - "arrayValue": # Object with schema name: ArrayValue # An array value. Cannot directly contain another array value, though can contain an map which contains another array. + "arrayValue": { # An array value. # An array value. Cannot directly contain another array value, though can contain an map which contains another array. + "values": [ # Values in the array. + # Object with schema name: Value + ], + }, "booleanValue": True or False, # A boolean value. "bytesValue": "A String", # A bytes value. Must not exceed 1 MiB - 89 bytes. Only the first 1,500 bytes are considered by queries. "doubleValue": 3.14, # A double value. @@ -1397,7 +1345,11 @@

Method Details

"createTime": "A String", # Output only. The time at which the document was created. This value increases monotonically when a document is deleted then recreated. It can also be compared to values from other documents and the `read_time` of a query. "fields": { # The document's fields. The map keys represent field names. A simple field name contains only characters `a` to `z`, `A` to `Z`, `0` to `9`, or `_`, and must not start with `0` to `9`. For example, `foo_bar_17`. Field names matching the regular expression `__.*__` are reserved. Reserved field names are forbidden except in certain documented contexts. The map keys, represented as UTF-8, must not exceed 1,500 bytes and cannot be empty. Field paths may be used in other contexts to refer to structured fields defined here. For `map_value`, the field path is represented by the simple or quoted field names of the containing fields, delimited by `.`. For example, the structured field `"foo" : { map_value: { "x&y" : { string_value: "hello" }}}` would be represented by the field path `foo.x&y`. Within a field path, a quoted field name starts and ends with `` ` `` and may contain any character. Some characters, including `` ` ``, must be escaped using a `\`. For example, `` `x&y` `` represents `x&y` and `` `bak\`tik` `` represents `` bak`tik ``. "a_key": { # A message that can hold any of the supported value types. - "arrayValue": # Object with schema name: ArrayValue # An array value. Cannot directly contain another array value, though can contain an map which contains another array. + "arrayValue": { # An array value. # An array value. Cannot directly contain another array value, though can contain an map which contains another array. + "values": [ # Values in the array. + # Object with schema name: Value + ], + }, "booleanValue": True or False, # A boolean value. "bytesValue": "A String", # A bytes value. Must not exceed 1 MiB - 89 bytes. Only the first 1,500 bytes are considered by queries. "doubleValue": 3.14, # A double value. @@ -1484,7 +1436,11 @@

Method Details

"before": True or False, # If the position is just before or just after the given values, relative to the sort order defined by the query. "values": [ # The values that represent a position, in the order they appear in the order by clause of a query. Can contain fewer values than specified in the order by clause. { # A message that can hold any of the supported value types. - "arrayValue": # Object with schema name: ArrayValue # An array value. Cannot directly contain another array value, though can contain an map which contains another array. + "arrayValue": { # An array value. # An array value. Cannot directly contain another array value, though can contain an map which contains another array. + "values": [ # Values in the array. + # Object with schema name: Value + ], + }, "booleanValue": True or False, # A boolean value. "bytesValue": "A String", # A bytes value. Must not exceed 1 MiB - 89 bytes. Only the first 1,500 bytes are considered by queries. "doubleValue": 3.14, # A double value. @@ -1532,7 +1488,11 @@

Method Details

"before": True or False, # If the position is just before or just after the given values, relative to the sort order defined by the query. "values": [ # The values that represent a position, in the order they appear in the order by clause of a query. Can contain fewer values than specified in the order by clause. { # A message that can hold any of the supported value types. - "arrayValue": # Object with schema name: ArrayValue # An array value. Cannot directly contain another array value, though can contain an map which contains another array. + "arrayValue": { # An array value. # An array value. Cannot directly contain another array value, though can contain an map which contains another array. + "values": [ # Values in the array. + # Object with schema name: Value + ], + }, "booleanValue": True or False, # A boolean value. "bytesValue": "A String", # A bytes value. Must not exceed 1 MiB - 89 bytes. Only the first 1,500 bytes are considered by queries. "doubleValue": 3.14, # A double value. @@ -1566,7 +1526,11 @@

Method Details

}, "op": "A String", # The operator to filter by. "value": { # A message that can hold any of the supported value types. # The value to compare to. - "arrayValue": # Object with schema name: ArrayValue # An array value. Cannot directly contain another array value, though can contain an map which contains another array. + "arrayValue": { # An array value. # An array value. Cannot directly contain another array value, though can contain an map which contains another array. + "values": [ # Values in the array. + # Object with schema name: Value + ], + }, "booleanValue": True or False, # A boolean value. "bytesValue": "A String", # A bytes value. Must not exceed 1 MiB - 89 bytes. Only the first 1,500 bytes are considered by queries. "doubleValue": 3.14, # A double value. @@ -1611,7 +1575,11 @@

Method Details

"before": True or False, # If the position is just before or just after the given values, relative to the sort order defined by the query. "values": [ # The values that represent a position, in the order they appear in the order by clause of a query. Can contain fewer values than specified in the order by clause. { # A message that can hold any of the supported value types. - "arrayValue": # Object with schema name: ArrayValue # An array value. Cannot directly contain another array value, though can contain an map which contains another array. + "arrayValue": { # An array value. # An array value. Cannot directly contain another array value, though can contain an map which contains another array. + "values": [ # Values in the array. + # Object with schema name: Value + ], + }, "booleanValue": True or False, # A boolean value. "bytesValue": "A String", # A bytes value. Must not exceed 1 MiB - 89 bytes. Only the first 1,500 bytes are considered by queries. "doubleValue": 3.14, # A double value. @@ -1663,7 +1631,11 @@

Method Details

"createTime": "A String", # Output only. The time at which the document was created. This value increases monotonically when a document is deleted then recreated. It can also be compared to values from other documents and the `read_time` of a query. "fields": { # The document's fields. The map keys represent field names. A simple field name contains only characters `a` to `z`, `A` to `Z`, `0` to `9`, or `_`, and must not start with `0` to `9`. For example, `foo_bar_17`. Field names matching the regular expression `__.*__` are reserved. Reserved field names are forbidden except in certain documented contexts. The map keys, represented as UTF-8, must not exceed 1,500 bytes and cannot be empty. Field paths may be used in other contexts to refer to structured fields defined here. For `map_value`, the field path is represented by the simple or quoted field names of the containing fields, delimited by `.`. For example, the structured field `"foo" : { map_value: { "x&y" : { string_value: "hello" }}}` would be represented by the field path `foo.x&y`. Within a field path, a quoted field name starts and ends with `` ` `` and may contain any character. Some characters, including `` ` ``, must be escaped using a `\`. For example, `` `x&y` `` represents `x&y` and `` `bak\`tik` `` represents `` bak`tik ``. "a_key": { # A message that can hold any of the supported value types. - "arrayValue": # Object with schema name: ArrayValue # An array value. Cannot directly contain another array value, though can contain an map which contains another array. + "arrayValue": { # An array value. # An array value. Cannot directly contain another array value, though can contain an map which contains another array. + "values": [ # Values in the array. + # Object with schema name: Value + ], + }, "booleanValue": True or False, # A boolean value. "bytesValue": "A String", # A bytes value. Must not exceed 1 MiB - 89 bytes. Only the first 1,500 bytes are considered by queries. "doubleValue": 3.14, # A double value. @@ -1703,7 +1675,11 @@

Method Details

"createTime": "A String", # Output only. The time at which the document was created. This value increases monotonically when a document is deleted then recreated. It can also be compared to values from other documents and the `read_time` of a query. "fields": { # The document's fields. The map keys represent field names. A simple field name contains only characters `a` to `z`, `A` to `Z`, `0` to `9`, or `_`, and must not start with `0` to `9`. For example, `foo_bar_17`. Field names matching the regular expression `__.*__` are reserved. Reserved field names are forbidden except in certain documented contexts. The map keys, represented as UTF-8, must not exceed 1,500 bytes and cannot be empty. Field paths may be used in other contexts to refer to structured fields defined here. For `map_value`, the field path is represented by the simple or quoted field names of the containing fields, delimited by `.`. For example, the structured field `"foo" : { map_value: { "x&y" : { string_value: "hello" }}}` would be represented by the field path `foo.x&y`. Within a field path, a quoted field name starts and ends with `` ` `` and may contain any character. Some characters, including `` ` ``, must be escaped using a `\`. For example, `` `x&y` `` represents `x&y` and `` `bak\`tik` `` represents `` bak`tik ``. "a_key": { # A message that can hold any of the supported value types. - "arrayValue": # Object with schema name: ArrayValue # An array value. Cannot directly contain another array value, though can contain an map which contains another array. + "arrayValue": { # An array value. # An array value. Cannot directly contain another array value, though can contain an map which contains another array. + "values": [ # Values in the array. + # Object with schema name: Value + ], + }, "booleanValue": True or False, # A boolean value. "bytesValue": "A String", # A bytes value. Must not exceed 1 MiB - 89 bytes. Only the first 1,500 bytes are considered by queries. "doubleValue": 3.14, # A double value. @@ -1777,7 +1753,11 @@

Method Details

"before": True or False, # If the position is just before or just after the given values, relative to the sort order defined by the query. "values": [ # The values that represent a position, in the order they appear in the order by clause of a query. Can contain fewer values than specified in the order by clause. { # A message that can hold any of the supported value types. - "arrayValue": # Object with schema name: ArrayValue # An array value. Cannot directly contain another array value, though can contain an map which contains another array. + "arrayValue": { # An array value. # An array value. Cannot directly contain another array value, though can contain an map which contains another array. + "values": [ # Values in the array. + # Object with schema name: Value + ], + }, "booleanValue": True or False, # A boolean value. "bytesValue": "A String", # A bytes value. Must not exceed 1 MiB - 89 bytes. Only the first 1,500 bytes are considered by queries. "doubleValue": 3.14, # A double value. @@ -1825,7 +1805,11 @@

Method Details

"before": True or False, # If the position is just before or just after the given values, relative to the sort order defined by the query. "values": [ # The values that represent a position, in the order they appear in the order by clause of a query. Can contain fewer values than specified in the order by clause. { # A message that can hold any of the supported value types. - "arrayValue": # Object with schema name: ArrayValue # An array value. Cannot directly contain another array value, though can contain an map which contains another array. + "arrayValue": { # An array value. # An array value. Cannot directly contain another array value, though can contain an map which contains another array. + "values": [ # Values in the array. + # Object with schema name: Value + ], + }, "booleanValue": True or False, # A boolean value. "bytesValue": "A String", # A bytes value. Must not exceed 1 MiB - 89 bytes. Only the first 1,500 bytes are considered by queries. "doubleValue": 3.14, # A double value. @@ -1859,7 +1843,11 @@

Method Details

}, "op": "A String", # The operator to filter by. "value": { # A message that can hold any of the supported value types. # The value to compare to. - "arrayValue": # Object with schema name: ArrayValue # An array value. Cannot directly contain another array value, though can contain an map which contains another array. + "arrayValue": { # An array value. # An array value. Cannot directly contain another array value, though can contain an map which contains another array. + "values": [ # Values in the array. + # Object with schema name: Value + ], + }, "booleanValue": True or False, # A boolean value. "bytesValue": "A String", # A bytes value. Must not exceed 1 MiB - 89 bytes. Only the first 1,500 bytes are considered by queries. "doubleValue": 3.14, # A double value. @@ -1903,7 +1891,11 @@

Method Details

"createTime": "A String", # Output only. The time at which the document was created. This value increases monotonically when a document is deleted then recreated. It can also be compared to values from other documents and the `read_time` of a query. "fields": { # The document's fields. The map keys represent field names. A simple field name contains only characters `a` to `z`, `A` to `Z`, `0` to `9`, or `_`, and must not start with `0` to `9`. For example, `foo_bar_17`. Field names matching the regular expression `__.*__` are reserved. Reserved field names are forbidden except in certain documented contexts. The map keys, represented as UTF-8, must not exceed 1,500 bytes and cannot be empty. Field paths may be used in other contexts to refer to structured fields defined here. For `map_value`, the field path is represented by the simple or quoted field names of the containing fields, delimited by `.`. For example, the structured field `"foo" : { map_value: { "x&y" : { string_value: "hello" }}}` would be represented by the field path `foo.x&y`. Within a field path, a quoted field name starts and ends with `` ` `` and may contain any character. Some characters, including `` ` ``, must be escaped using a `\`. For example, `` `x&y` `` represents `x&y` and `` `bak\`tik` `` represents `` bak`tik ``. "a_key": { # A message that can hold any of the supported value types. - "arrayValue": # Object with schema name: ArrayValue # An array value. Cannot directly contain another array value, though can contain an map which contains another array. + "arrayValue": { # An array value. # An array value. Cannot directly contain another array value, though can contain an map which contains another array. + "values": [ # Values in the array. + # Object with schema name: Value + ], + }, "booleanValue": True or False, # A boolean value. "bytesValue": "A String", # A bytes value. Must not exceed 1 MiB - 89 bytes. Only the first 1,500 bytes are considered by queries. "doubleValue": 3.14, # A double value. @@ -1961,31 +1953,16 @@

Method Details

{ # A transformation of a field of the document. "appendMissingElements": { # An array value. # Append the given elements in order if they are not already present in the current field value. If the field is not an array, or if the field does not yet exist, it is first set to the empty array. Equivalent numbers of different types (e.g. 3L and 3.0) are considered equal when checking if a value is missing. NaN is equal to NaN, and Null is equal to Null. If the input contains multiple equivalent values, only the first will be considered. The corresponding transform_result will be the null value. "values": [ # Values in the array. - { # A message that can hold any of the supported value types. - "arrayValue": # Object with schema name: ArrayValue # An array value. Cannot directly contain another array value, though can contain an map which contains another array. - "booleanValue": True or False, # A boolean value. - "bytesValue": "A String", # A bytes value. Must not exceed 1 MiB - 89 bytes. Only the first 1,500 bytes are considered by queries. - "doubleValue": 3.14, # A double value. - "geoPointValue": { # An object that represents a latitude/longitude pair. This is expressed as a pair of doubles to represent degrees latitude and degrees longitude. Unless specified otherwise, this object must conform to the WGS84 standard. Values must be within normalized ranges. # A geo point value representing a point on the surface of Earth. - "latitude": 3.14, # The latitude in degrees. It must be in the range [-90.0, +90.0]. - "longitude": 3.14, # The longitude in degrees. It must be in the range [-180.0, +180.0]. - }, - "integerValue": "A String", # An integer value. - "mapValue": { # A map value. # A map value. - "fields": { # The map's fields. The map keys represent field names. Field names matching the regular expression `__.*__` are reserved. Reserved field names are forbidden except in certain documented contexts. The map keys, represented as UTF-8, must not exceed 1,500 bytes and cannot be empty. - "a_key": # Object with schema name: Value - }, - }, - "nullValue": "A String", # A null value. - "referenceValue": "A String", # A reference to a document. For example: `projects/{project_id}/databases/{database_id}/documents/{document_path}`. - "stringValue": "A String", # A string value. The string, represented as UTF-8, must not exceed 1 MiB - 89 bytes. Only the first 1,500 bytes of the UTF-8 representation are considered by queries. - "timestampValue": "A String", # A timestamp value. Precise only to microseconds. When stored, any additional precision is rounded down. - }, + # Object with schema name: Value ], }, "fieldPath": "A String", # The path of the field. See Document.fields for the field path syntax reference. "increment": { # A message that can hold any of the supported value types. # Adds the given value to the field's current value. This must be an integer or a double value. If the field is not an integer or double, or if the field does not yet exist, the transformation will set the field to the given value. If either of the given value or the current field value are doubles, both values will be interpreted as doubles. Double arithmetic and representation of double values follow IEEE 754 semantics. If there is positive/negative integer overflow, the field is resolved to the largest magnitude positive/negative integer. - "arrayValue": # Object with schema name: ArrayValue # An array value. Cannot directly contain another array value, though can contain an map which contains another array. + "arrayValue": { # An array value. # An array value. Cannot directly contain another array value, though can contain an map which contains another array. + "values": [ # Values in the array. + # Object with schema name: Value + ], + }, "booleanValue": True or False, # A boolean value. "bytesValue": "A String", # A bytes value. Must not exceed 1 MiB - 89 bytes. Only the first 1,500 bytes are considered by queries. "doubleValue": 3.14, # A double value. @@ -2005,7 +1982,11 @@

Method Details

"timestampValue": "A String", # A timestamp value. Precise only to microseconds. When stored, any additional precision is rounded down. }, "maximum": { # A message that can hold any of the supported value types. # Sets the field to the maximum of its current value and the given value. This must be an integer or a double value. If the field is not an integer or double, or if the field does not yet exist, the transformation will set the field to the given value. If a maximum operation is applied where the field and the input value are of mixed types (that is - one is an integer and one is a double) the field takes on the type of the larger operand. If the operands are equivalent (e.g. 3 and 3.0), the field does not change. 0, 0.0, and -0.0 are all zero. The maximum of a zero stored value and zero input value is always the stored value. The maximum of any numeric value x and NaN is NaN. - "arrayValue": # Object with schema name: ArrayValue # An array value. Cannot directly contain another array value, though can contain an map which contains another array. + "arrayValue": { # An array value. # An array value. Cannot directly contain another array value, though can contain an map which contains another array. + "values": [ # Values in the array. + # Object with schema name: Value + ], + }, "booleanValue": True or False, # A boolean value. "bytesValue": "A String", # A bytes value. Must not exceed 1 MiB - 89 bytes. Only the first 1,500 bytes are considered by queries. "doubleValue": 3.14, # A double value. @@ -2025,7 +2006,11 @@

Method Details

"timestampValue": "A String", # A timestamp value. Precise only to microseconds. When stored, any additional precision is rounded down. }, "minimum": { # A message that can hold any of the supported value types. # Sets the field to the minimum of its current value and the given value. This must be an integer or a double value. If the field is not an integer or double, or if the field does not yet exist, the transformation will set the field to the input value. If a minimum operation is applied where the field and the input value are of mixed types (that is - one is an integer and one is a double) the field takes on the type of the smaller operand. If the operands are equivalent (e.g. 3 and 3.0), the field does not change. 0, 0.0, and -0.0 are all zero. The minimum of a zero stored value and zero input value is always the stored value. The minimum of any numeric value x and NaN is NaN. - "arrayValue": # Object with schema name: ArrayValue # An array value. Cannot directly contain another array value, though can contain an map which contains another array. + "arrayValue": { # An array value. # An array value. Cannot directly contain another array value, though can contain an map which contains another array. + "values": [ # Values in the array. + # Object with schema name: Value + ], + }, "booleanValue": True or False, # A boolean value. "bytesValue": "A String", # A bytes value. Must not exceed 1 MiB - 89 bytes. Only the first 1,500 bytes are considered by queries. "doubleValue": 3.14, # A double value. @@ -2046,26 +2031,7 @@

Method Details

}, "removeAllFromArray": { # An array value. # Remove all of the given elements from the array in the field. If the field is not an array, or if the field does not yet exist, it is set to the empty array. Equivalent numbers of the different types (e.g. 3L and 3.0) are considered equal when deciding whether an element should be removed. NaN is equal to NaN, and Null is equal to Null. This will remove all equivalent values if there are duplicates. The corresponding transform_result will be the null value. "values": [ # Values in the array. - { # A message that can hold any of the supported value types. - "arrayValue": # Object with schema name: ArrayValue # An array value. Cannot directly contain another array value, though can contain an map which contains another array. - "booleanValue": True or False, # A boolean value. - "bytesValue": "A String", # A bytes value. Must not exceed 1 MiB - 89 bytes. Only the first 1,500 bytes are considered by queries. - "doubleValue": 3.14, # A double value. - "geoPointValue": { # An object that represents a latitude/longitude pair. This is expressed as a pair of doubles to represent degrees latitude and degrees longitude. Unless specified otherwise, this object must conform to the WGS84 standard. Values must be within normalized ranges. # A geo point value representing a point on the surface of Earth. - "latitude": 3.14, # The latitude in degrees. It must be in the range [-90.0, +90.0]. - "longitude": 3.14, # The longitude in degrees. It must be in the range [-180.0, +180.0]. - }, - "integerValue": "A String", # An integer value. - "mapValue": { # A map value. # A map value. - "fields": { # The map's fields. The map keys represent field names. Field names matching the regular expression `__.*__` are reserved. Reserved field names are forbidden except in certain documented contexts. The map keys, represented as UTF-8, must not exceed 1,500 bytes and cannot be empty. - "a_key": # Object with schema name: Value - }, - }, - "nullValue": "A String", # A null value. - "referenceValue": "A String", # A reference to a document. For example: `projects/{project_id}/databases/{database_id}/documents/{document_path}`. - "stringValue": "A String", # A string value. The string, represented as UTF-8, must not exceed 1 MiB - 89 bytes. Only the first 1,500 bytes of the UTF-8 representation are considered by queries. - "timestampValue": "A String", # A timestamp value. Precise only to microseconds. When stored, any additional precision is rounded down. - }, + # Object with schema name: Value ], }, "setToServerValue": "A String", # Sets the field to the given server value. @@ -2076,7 +2042,11 @@

Method Details

"createTime": "A String", # Output only. The time at which the document was created. This value increases monotonically when a document is deleted then recreated. It can also be compared to values from other documents and the `read_time` of a query. "fields": { # The document's fields. The map keys represent field names. A simple field name contains only characters `a` to `z`, `A` to `Z`, `0` to `9`, or `_`, and must not start with `0` to `9`. For example, `foo_bar_17`. Field names matching the regular expression `__.*__` are reserved. Reserved field names are forbidden except in certain documented contexts. The map keys, represented as UTF-8, must not exceed 1,500 bytes and cannot be empty. Field paths may be used in other contexts to refer to structured fields defined here. For `map_value`, the field path is represented by the simple or quoted field names of the containing fields, delimited by `.`. For example, the structured field `"foo" : { map_value: { "x&y" : { string_value: "hello" }}}` would be represented by the field path `foo.x&y`. Within a field path, a quoted field name starts and ends with `` ` `` and may contain any character. Some characters, including `` ` ``, must be escaped using a `\`. For example, `` `x&y` `` represents `x&y` and `` `bak\`tik` `` represents `` bak`tik ``. "a_key": { # A message that can hold any of the supported value types. - "arrayValue": # Object with schema name: ArrayValue # An array value. Cannot directly contain another array value, though can contain an map which contains another array. + "arrayValue": { # An array value. # An array value. Cannot directly contain another array value, though can contain an map which contains another array. + "values": [ # Values in the array. + # Object with schema name: Value + ], + }, "booleanValue": True or False, # A boolean value. "bytesValue": "A String", # A bytes value. Must not exceed 1 MiB - 89 bytes. Only the first 1,500 bytes are considered by queries. "doubleValue": 3.14, # A double value. @@ -2108,31 +2078,16 @@

Method Details

{ # A transformation of a field of the document. "appendMissingElements": { # An array value. # Append the given elements in order if they are not already present in the current field value. If the field is not an array, or if the field does not yet exist, it is first set to the empty array. Equivalent numbers of different types (e.g. 3L and 3.0) are considered equal when checking if a value is missing. NaN is equal to NaN, and Null is equal to Null. If the input contains multiple equivalent values, only the first will be considered. The corresponding transform_result will be the null value. "values": [ # Values in the array. - { # A message that can hold any of the supported value types. - "arrayValue": # Object with schema name: ArrayValue # An array value. Cannot directly contain another array value, though can contain an map which contains another array. - "booleanValue": True or False, # A boolean value. - "bytesValue": "A String", # A bytes value. Must not exceed 1 MiB - 89 bytes. Only the first 1,500 bytes are considered by queries. - "doubleValue": 3.14, # A double value. - "geoPointValue": { # An object that represents a latitude/longitude pair. This is expressed as a pair of doubles to represent degrees latitude and degrees longitude. Unless specified otherwise, this object must conform to the WGS84 standard. Values must be within normalized ranges. # A geo point value representing a point on the surface of Earth. - "latitude": 3.14, # The latitude in degrees. It must be in the range [-90.0, +90.0]. - "longitude": 3.14, # The longitude in degrees. It must be in the range [-180.0, +180.0]. - }, - "integerValue": "A String", # An integer value. - "mapValue": { # A map value. # A map value. - "fields": { # The map's fields. The map keys represent field names. Field names matching the regular expression `__.*__` are reserved. Reserved field names are forbidden except in certain documented contexts. The map keys, represented as UTF-8, must not exceed 1,500 bytes and cannot be empty. - "a_key": # Object with schema name: Value - }, - }, - "nullValue": "A String", # A null value. - "referenceValue": "A String", # A reference to a document. For example: `projects/{project_id}/databases/{database_id}/documents/{document_path}`. - "stringValue": "A String", # A string value. The string, represented as UTF-8, must not exceed 1 MiB - 89 bytes. Only the first 1,500 bytes of the UTF-8 representation are considered by queries. - "timestampValue": "A String", # A timestamp value. Precise only to microseconds. When stored, any additional precision is rounded down. - }, + # Object with schema name: Value ], }, "fieldPath": "A String", # The path of the field. See Document.fields for the field path syntax reference. "increment": { # A message that can hold any of the supported value types. # Adds the given value to the field's current value. This must be an integer or a double value. If the field is not an integer or double, or if the field does not yet exist, the transformation will set the field to the given value. If either of the given value or the current field value are doubles, both values will be interpreted as doubles. Double arithmetic and representation of double values follow IEEE 754 semantics. If there is positive/negative integer overflow, the field is resolved to the largest magnitude positive/negative integer. - "arrayValue": # Object with schema name: ArrayValue # An array value. Cannot directly contain another array value, though can contain an map which contains another array. + "arrayValue": { # An array value. # An array value. Cannot directly contain another array value, though can contain an map which contains another array. + "values": [ # Values in the array. + # Object with schema name: Value + ], + }, "booleanValue": True or False, # A boolean value. "bytesValue": "A String", # A bytes value. Must not exceed 1 MiB - 89 bytes. Only the first 1,500 bytes are considered by queries. "doubleValue": 3.14, # A double value. @@ -2152,7 +2107,11 @@

Method Details

"timestampValue": "A String", # A timestamp value. Precise only to microseconds. When stored, any additional precision is rounded down. }, "maximum": { # A message that can hold any of the supported value types. # Sets the field to the maximum of its current value and the given value. This must be an integer or a double value. If the field is not an integer or double, or if the field does not yet exist, the transformation will set the field to the given value. If a maximum operation is applied where the field and the input value are of mixed types (that is - one is an integer and one is a double) the field takes on the type of the larger operand. If the operands are equivalent (e.g. 3 and 3.0), the field does not change. 0, 0.0, and -0.0 are all zero. The maximum of a zero stored value and zero input value is always the stored value. The maximum of any numeric value x and NaN is NaN. - "arrayValue": # Object with schema name: ArrayValue # An array value. Cannot directly contain another array value, though can contain an map which contains another array. + "arrayValue": { # An array value. # An array value. Cannot directly contain another array value, though can contain an map which contains another array. + "values": [ # Values in the array. + # Object with schema name: Value + ], + }, "booleanValue": True or False, # A boolean value. "bytesValue": "A String", # A bytes value. Must not exceed 1 MiB - 89 bytes. Only the first 1,500 bytes are considered by queries. "doubleValue": 3.14, # A double value. @@ -2172,7 +2131,11 @@

Method Details

"timestampValue": "A String", # A timestamp value. Precise only to microseconds. When stored, any additional precision is rounded down. }, "minimum": { # A message that can hold any of the supported value types. # Sets the field to the minimum of its current value and the given value. This must be an integer or a double value. If the field is not an integer or double, or if the field does not yet exist, the transformation will set the field to the input value. If a minimum operation is applied where the field and the input value are of mixed types (that is - one is an integer and one is a double) the field takes on the type of the smaller operand. If the operands are equivalent (e.g. 3 and 3.0), the field does not change. 0, 0.0, and -0.0 are all zero. The minimum of a zero stored value and zero input value is always the stored value. The minimum of any numeric value x and NaN is NaN. - "arrayValue": # Object with schema name: ArrayValue # An array value. Cannot directly contain another array value, though can contain an map which contains another array. + "arrayValue": { # An array value. # An array value. Cannot directly contain another array value, though can contain an map which contains another array. + "values": [ # Values in the array. + # Object with schema name: Value + ], + }, "booleanValue": True or False, # A boolean value. "bytesValue": "A String", # A bytes value. Must not exceed 1 MiB - 89 bytes. Only the first 1,500 bytes are considered by queries. "doubleValue": 3.14, # A double value. @@ -2193,26 +2156,7 @@

Method Details

}, "removeAllFromArray": { # An array value. # Remove all of the given elements from the array in the field. If the field is not an array, or if the field does not yet exist, it is set to the empty array. Equivalent numbers of the different types (e.g. 3L and 3.0) are considered equal when deciding whether an element should be removed. NaN is equal to NaN, and Null is equal to Null. This will remove all equivalent values if there are duplicates. The corresponding transform_result will be the null value. "values": [ # Values in the array. - { # A message that can hold any of the supported value types. - "arrayValue": # Object with schema name: ArrayValue # An array value. Cannot directly contain another array value, though can contain an map which contains another array. - "booleanValue": True or False, # A boolean value. - "bytesValue": "A String", # A bytes value. Must not exceed 1 MiB - 89 bytes. Only the first 1,500 bytes are considered by queries. - "doubleValue": 3.14, # A double value. - "geoPointValue": { # An object that represents a latitude/longitude pair. This is expressed as a pair of doubles to represent degrees latitude and degrees longitude. Unless specified otherwise, this object must conform to the WGS84 standard. Values must be within normalized ranges. # A geo point value representing a point on the surface of Earth. - "latitude": 3.14, # The latitude in degrees. It must be in the range [-90.0, +90.0]. - "longitude": 3.14, # The longitude in degrees. It must be in the range [-180.0, +180.0]. - }, - "integerValue": "A String", # An integer value. - "mapValue": { # A map value. # A map value. - "fields": { # The map's fields. The map keys represent field names. Field names matching the regular expression `__.*__` are reserved. Reserved field names are forbidden except in certain documented contexts. The map keys, represented as UTF-8, must not exceed 1,500 bytes and cannot be empty. - "a_key": # Object with schema name: Value - }, - }, - "nullValue": "A String", # A null value. - "referenceValue": "A String", # A reference to a document. For example: `projects/{project_id}/databases/{database_id}/documents/{document_path}`. - "stringValue": "A String", # A string value. The string, represented as UTF-8, must not exceed 1 MiB - 89 bytes. Only the first 1,500 bytes of the UTF-8 representation are considered by queries. - "timestampValue": "A String", # A timestamp value. Precise only to microseconds. When stored, any additional precision is rounded down. - }, + # Object with schema name: Value ], }, "setToServerValue": "A String", # Sets the field to the given server value. @@ -2238,7 +2182,11 @@

Method Details

{ # The result of applying a write. "transformResults": [ # The results of applying each DocumentTransform.FieldTransform, in the same order. { # A message that can hold any of the supported value types. - "arrayValue": # Object with schema name: ArrayValue # An array value. Cannot directly contain another array value, though can contain an map which contains another array. + "arrayValue": { # An array value. # An array value. Cannot directly contain another array value, though can contain an map which contains another array. + "values": [ # Values in the array. + # Object with schema name: Value + ], + }, "booleanValue": True or False, # A boolean value. "bytesValue": "A String", # A bytes value. Must not exceed 1 MiB - 89 bytes. Only the first 1,500 bytes are considered by queries. "doubleValue": 3.14, # A double value. diff --git a/docs/dyn/gameservices_v1.projects.locations.gameServerDeployments.html b/docs/dyn/gameservices_v1.projects.locations.gameServerDeployments.html index 39bef326b52..e3564b7c6e2 100644 --- a/docs/dyn/gameservices_v1.projects.locations.gameServerDeployments.html +++ b/docs/dyn/gameservices_v1.projects.locations.gameServerDeployments.html @@ -74,228 +74,24 @@

Game Services API . projects . locations . gameServerDeployments

Instance Methods

-

- configs() -

-

Returns the configs Resource.

-

close()

Close httplib2 connections.

-

- create(parent, body=None, deploymentId=None, x__xgafv=None)

-

Creates a new game server deployment in a given project and location.

-

- delete(name, x__xgafv=None)

-

Deletes a single game server deployment.

-

- fetchDeploymentState(name, body=None, x__xgafv=None)

-

Retrieves information about the current state of the game server deployment. Gathers all the Agones fleets and Agones autoscalers, including fleets running an older version of the game server deployment.

-

- get(name, x__xgafv=None)

-

Gets details of a single game server deployment.

getIamPolicy(resource, options_requestedPolicyVersion=None, x__xgafv=None)

Gets the access control policy for a resource. Returns an empty policy if the resource exists and does not have a policy set.

-

- getRollout(name, x__xgafv=None)

-

Gets details of a single game server deployment rollout.

-

- list(parent, filter=None, orderBy=None, pageSize=None, pageToken=None, x__xgafv=None)

-

Lists game server deployments in a given project and location.

-

- list_next()

-

Retrieves the next page of results.

-

- patch(name, body=None, updateMask=None, x__xgafv=None)

-

Patches a game server deployment.

-

- previewRollout(name, body=None, previewTime=None, updateMask=None, x__xgafv=None)

-

Previews the game server deployment rollout. This API does not mutate the rollout resource.

setIamPolicy(resource, body=None, x__xgafv=None)

Sets the access control policy on the specified resource. Replaces any existing policy. Can return `NOT_FOUND`, `INVALID_ARGUMENT`, and `PERMISSION_DENIED` errors.

testIamPermissions(resource, body=None, x__xgafv=None)

Returns permissions that a caller has on the specified resource. If the resource does not exist, this will return an empty set of permissions, not a `NOT_FOUND` error. Note: This operation is designed to be used for building permission-aware UIs and command-line tools, not for authorization checking. This operation may "fail open" without warning.

-

- updateRollout(name, body=None, updateMask=None, x__xgafv=None)

-

Patches a single game server deployment rollout. The method will not return an error if the update does not affect any existing realms. For example, the following cases will not return an error: * The default_game_server_config is changed but all existing realms use the override. * A non-existing realm is explicitly called out in the game_server_config_overrides field.

Method Details

close()
Close httplib2 connections.
-
- create(parent, body=None, deploymentId=None, x__xgafv=None) -
Creates a new game server deployment in a given project and location.
-
-Args:
-  parent: string, Required. The parent resource name, in the following form: `projects/{project}/locations/{locationId}`. (required)
-  body: object, The request body.
-    The object takes the form of:
-
-{ # A game server deployment resource.
-  "createTime": "A String", # Output only. The creation time.
-  "description": "A String", # Human readable description of the game server deployment.
-  "etag": "A String", # Used to perform consistent read-modify-write updates. If not set, a blind "overwrite" update happens.
-  "labels": { # The labels associated with this game server deployment. Each label is a key-value pair.
-    "a_key": "A String",
-  },
-  "name": "A String", # The resource name of the game server deployment, in the following form: `projects/{project}/locations/{locationId}/gameServerDeployments/{deploymentId}`. For example, `projects/my-project/locations/global/gameServerDeployments/my-deployment`.
-  "updateTime": "A String", # Output only. The last-modified time.
-}
-
-  deploymentId: string, Required. The ID of the game server deployment resource to create.
-  x__xgafv: string, V1 error format.
-    Allowed values
-      1 - v1 error format
-      2 - v2 error format
-
-Returns:
-  An object of the form:
-
-    { # This resource represents a long-running operation that is the result of a network API call.
-  "done": True or False, # If the value is `false`, it means the operation is still in progress. If `true`, the operation is completed, and either `error` or `response` is available.
-  "error": { # The `Status` type defines a logical error model that is suitable for different programming environments, including REST APIs and RPC APIs. It is used by [gRPC](https://github.com/grpc). Each `Status` message contains three pieces of data: error code, error message, and error details. You can find out more about this error model and how to work with it in the [API Design Guide](https://cloud.google.com/apis/design/errors). # The error result of the operation in case of failure or cancellation.
-    "code": 42, # The status code, which should be an enum value of google.rpc.Code.
-    "details": [ # A list of messages that carry the error details. There is a common set of message types for APIs to use.
-      {
-        "a_key": "", # Properties of the object. Contains field @type with type URL.
-      },
-    ],
-    "message": "A String", # A developer-facing error message, which should be in English. Any user-facing error message should be localized and sent in the google.rpc.Status.details field, or localized by the client.
-  },
-  "metadata": { # Service-specific metadata associated with the operation. It typically contains progress information and common metadata such as create time. Some services might not provide such metadata. Any method that returns a long-running operation should document the metadata type, if any.
-    "a_key": "", # Properties of the object. Contains field @type with type URL.
-  },
-  "name": "A String", # The server-assigned name, which is only unique within the same service that originally returns it. If you use the default HTTP mapping, the `name` should be a resource name ending with `operations/{unique_id}`.
-  "response": { # The normal response of the operation in case of success. If the original method returns no data on success, such as `Delete`, the response is `google.protobuf.Empty`. If the original method is standard `Get`/`Create`/`Update`, the response should be the resource. For other methods, the response should have the type `XxxResponse`, where `Xxx` is the original method name. For example, if the original method name is `TakeSnapshot()`, the inferred response type is `TakeSnapshotResponse`.
-    "a_key": "", # Properties of the object. Contains field @type with type URL.
-  },
-}
-
- -
- delete(name, x__xgafv=None) -
Deletes a single game server deployment.
-
-Args:
-  name: string, Required. The name of the game server deployment to delete, in the following form: `projects/{project}/locations/{locationId}/gameServerDeployments/{deploymentId}`. (required)
-  x__xgafv: string, V1 error format.
-    Allowed values
-      1 - v1 error format
-      2 - v2 error format
-
-Returns:
-  An object of the form:
-
-    { # This resource represents a long-running operation that is the result of a network API call.
-  "done": True or False, # If the value is `false`, it means the operation is still in progress. If `true`, the operation is completed, and either `error` or `response` is available.
-  "error": { # The `Status` type defines a logical error model that is suitable for different programming environments, including REST APIs and RPC APIs. It is used by [gRPC](https://github.com/grpc). Each `Status` message contains three pieces of data: error code, error message, and error details. You can find out more about this error model and how to work with it in the [API Design Guide](https://cloud.google.com/apis/design/errors). # The error result of the operation in case of failure or cancellation.
-    "code": 42, # The status code, which should be an enum value of google.rpc.Code.
-    "details": [ # A list of messages that carry the error details. There is a common set of message types for APIs to use.
-      {
-        "a_key": "", # Properties of the object. Contains field @type with type URL.
-      },
-    ],
-    "message": "A String", # A developer-facing error message, which should be in English. Any user-facing error message should be localized and sent in the google.rpc.Status.details field, or localized by the client.
-  },
-  "metadata": { # Service-specific metadata associated with the operation. It typically contains progress information and common metadata such as create time. Some services might not provide such metadata. Any method that returns a long-running operation should document the metadata type, if any.
-    "a_key": "", # Properties of the object. Contains field @type with type URL.
-  },
-  "name": "A String", # The server-assigned name, which is only unique within the same service that originally returns it. If you use the default HTTP mapping, the `name` should be a resource name ending with `operations/{unique_id}`.
-  "response": { # The normal response of the operation in case of success. If the original method returns no data on success, such as `Delete`, the response is `google.protobuf.Empty`. If the original method is standard `Get`/`Create`/`Update`, the response should be the resource. For other methods, the response should have the type `XxxResponse`, where `Xxx` is the original method name. For example, if the original method name is `TakeSnapshot()`, the inferred response type is `TakeSnapshotResponse`.
-    "a_key": "", # Properties of the object. Contains field @type with type URL.
-  },
-}
-
- -
- fetchDeploymentState(name, body=None, x__xgafv=None) -
Retrieves information about the current state of the game server deployment. Gathers all the Agones fleets and Agones autoscalers, including fleets running an older version of the game server deployment.
-
-Args:
-  name: string, Required. The name of the game server deployment, in the following form: `projects/{project}/locations/{locationId}/gameServerDeployments/{deploymentId}`. (required)
-  body: object, The request body.
-    The object takes the form of:
-
-{ # Request message for GameServerDeploymentsService.FetchDeploymentState.
-}
-
-  x__xgafv: string, V1 error format.
-    Allowed values
-      1 - v1 error format
-      2 - v2 error format
-
-Returns:
-  An object of the form:
-
-    { # Response message for GameServerDeploymentsService.FetchDeploymentState.
-  "clusterState": [ # The state of the game server deployment in each game server cluster.
-    { # The game server cluster changes made by the game server deployment.
-      "cluster": "A String", # The name of the cluster.
-      "fleetDetails": [ # The details about the Agones fleets and autoscalers created in the game server cluster.
-        { # Details of the deployed Agones fleet.
-          "deployedAutoscaler": { # Details about the Agones autoscaler. # Information about the Agones autoscaler for that fleet.
-            "autoscaler": "A String", # The name of the Agones autoscaler.
-            "fleetAutoscalerSpec": "A String", # The autoscaler spec retrieved from Agones.
-            "specSource": { # Encapsulates Agones fleet spec and Agones autoscaler spec sources. # The source spec that is used to create the autoscaler. The GameServerConfig resource may no longer exist in the system.
-              "gameServerConfigName": "A String", # The game server config resource. Uses the form: `projects/{project}/locations/{locationId}/gameServerDeployments/{deploymentId}/configs/{configId}`.
-              "name": "A String", # The name of the Agones fleet config or Agones scaling config used to derive the Agones fleet or Agones autoscaler spec.
-            },
-          },
-          "deployedFleet": { # Agones fleet specification and details. # Information about the Agones fleet.
-            "fleet": "A String", # The name of the Agones fleet.
-            "fleetSpec": "A String", # The fleet spec retrieved from the Agones fleet.
-            "specSource": { # Encapsulates Agones fleet spec and Agones autoscaler spec sources. # The source spec that is used to create the Agones fleet. The GameServerConfig resource may no longer exist in the system.
-              "gameServerConfigName": "A String", # The game server config resource. Uses the form: `projects/{project}/locations/{locationId}/gameServerDeployments/{deploymentId}/configs/{configId}`.
-              "name": "A String", # The name of the Agones fleet config or Agones scaling config used to derive the Agones fleet or Agones autoscaler spec.
-            },
-            "status": { # DeployedFleetStatus has details about the Agones fleets, such as how many are running, how many are allocated, and so on. # The current status of the Agones fleet. Includes count of game servers in various states.
-              "allocatedReplicas": "A String", # The number of GameServer replicas in the ALLOCATED state in this fleet.
-              "readyReplicas": "A String", # The number of GameServer replicas in the READY state in this fleet.
-              "replicas": "A String", # The total number of current GameServer replicas in this fleet.
-              "reservedReplicas": "A String", # The number of GameServer replicas in the RESERVED state in this fleet. Reserved instances won't be deleted on scale down, but won't cause an autoscaler to scale up.
-            },
-          },
-        },
-      ],
-    },
-  ],
-  "unavailable": [ # List of locations that could not be reached.
-    "A String",
-  ],
-}
-
- -
- get(name, x__xgafv=None) -
Gets details of a single game server deployment.
-
-Args:
-  name: string, Required. The name of the game server deployment to retrieve, in the following form: `projects/{project}/locations/{locationId}/gameServerDeployments/{deploymentId}`. (required)
-  x__xgafv: string, V1 error format.
-    Allowed values
-      1 - v1 error format
-      2 - v2 error format
-
-Returns:
-  An object of the form:
-
-    { # A game server deployment resource.
-  "createTime": "A String", # Output only. The creation time.
-  "description": "A String", # Human readable description of the game server deployment.
-  "etag": "A String", # Used to perform consistent read-modify-write updates. If not set, a blind "overwrite" update happens.
-  "labels": { # The labels associated with this game server deployment. Each label is a key-value pair.
-    "a_key": "A String",
-  },
-  "name": "A String", # The resource name of the game server deployment, in the following form: `projects/{project}/locations/{locationId}/gameServerDeployments/{deploymentId}`. For example, `projects/my-project/locations/global/gameServerDeployments/my-deployment`.
-  "updateTime": "A String", # Output only. The last-modified time.
-}
-
-
getIamPolicy(resource, options_requestedPolicyVersion=None, x__xgafv=None)
Gets the access control policy for a resource. Returns an empty policy if the resource exists and does not have a policy set.
@@ -395,212 +191,6 @@ 

Method Details

}
-
- getRollout(name, x__xgafv=None) -
Gets details of a single game server deployment rollout.
-
-Args:
-  name: string, Required. The name of the game server deployment rollout to retrieve, in the following form: `projects/{project}/locations/{locationId}/gameServerDeployments/{deploymentId}/rollout`. (required)
-  x__xgafv: string, V1 error format.
-    Allowed values
-      1 - v1 error format
-      2 - v2 error format
-
-Returns:
-  An object of the form:
-
-    { # The game server deployment rollout which represents the desired rollout state.
-  "createTime": "A String", # Output only. The creation time.
-  "defaultGameServerConfig": "A String", # The default game server config is applied to all realms unless overridden in the rollout. For example, `projects/my-project/locations/global/gameServerDeployments/my-game/configs/my-config`.
-  "etag": "A String", # ETag of the resource.
-  "gameServerConfigOverrides": [ # Contains the game server config rollout overrides. Overrides are processed in the order they are listed. Once a match is found for a realm, the rest of the list is not processed.
-    { # A game server config override.
-      "configVersion": "A String", # The game server config for this override.
-      "realmsSelector": { # The realm selector, used to match realm resources. # Selector for choosing applicable realms.
-        "realms": [ # List of realms to match.
-          "A String",
-        ],
-      },
-    },
-  ],
-  "name": "A String", # The resource name of the game server deployment rollout, in the following form: `projects/{project}/locations/{locationId}/gameServerDeployments/{deploymentId}/rollout`. For example, `projects/my-project/locations/global/gameServerDeployments/my-deployment/rollout`.
-  "updateTime": "A String", # Output only. The last-modified time.
-}
-
- -
- list(parent, filter=None, orderBy=None, pageSize=None, pageToken=None, x__xgafv=None) -
Lists game server deployments in a given project and location.
-
-Args:
-  parent: string, Required. The parent resource name, in the following form: `projects/{project}/locations/{locationId}`. (required)
-  filter: string, Optional. The filter to apply to list results (see [Filtering](https://google.aip.dev/160)).
-  orderBy: string, Optional. Specifies the ordering of results following [Cloud API syntax](https://cloud.google.com/apis/design/design_patterns#sorting_order).
-  pageSize: integer, Optional. The maximum number of items to return. If unspecified, the server picks an appropriate default. The server may return fewer items than requested. A caller should only rely on the response's next_page_token to determine if there are more GameServerDeployments left to be queried.
-  pageToken: string, Optional. The next_page_token value returned from a previous list request, if any.
-  x__xgafv: string, V1 error format.
-    Allowed values
-      1 - v1 error format
-      2 - v2 error format
-
-Returns:
-  An object of the form:
-
-    { # Response message for GameServerDeploymentsService.ListGameServerDeployments.
-  "gameServerDeployments": [ # The list of game server deployments.
-    { # A game server deployment resource.
-      "createTime": "A String", # Output only. The creation time.
-      "description": "A String", # Human readable description of the game server deployment.
-      "etag": "A String", # Used to perform consistent read-modify-write updates. If not set, a blind "overwrite" update happens.
-      "labels": { # The labels associated with this game server deployment. Each label is a key-value pair.
-        "a_key": "A String",
-      },
-      "name": "A String", # The resource name of the game server deployment, in the following form: `projects/{project}/locations/{locationId}/gameServerDeployments/{deploymentId}`. For example, `projects/my-project/locations/global/gameServerDeployments/my-deployment`.
-      "updateTime": "A String", # Output only. The last-modified time.
-    },
-  ],
-  "nextPageToken": "A String", # Token to retrieve the next page of results, or empty if there are no more results in the list.
-  "unreachable": [ # List of locations that could not be reached.
-    "A String",
-  ],
-}
-
- -
- list_next() -
Retrieves the next page of results.
-
-        Args:
-          previous_request: The request for the previous page. (required)
-          previous_response: The response from the request for the previous page. (required)
-
-        Returns:
-          A request object that you can call 'execute()' on to request the next
-          page. Returns None if there are no more items in the collection.
-        
-
- -
- patch(name, body=None, updateMask=None, x__xgafv=None) -
Patches a game server deployment.
-
-Args:
-  name: string, The resource name of the game server deployment, in the following form: `projects/{project}/locations/{locationId}/gameServerDeployments/{deploymentId}`. For example, `projects/my-project/locations/global/gameServerDeployments/my-deployment`. (required)
-  body: object, The request body.
-    The object takes the form of:
-
-{ # A game server deployment resource.
-  "createTime": "A String", # Output only. The creation time.
-  "description": "A String", # Human readable description of the game server deployment.
-  "etag": "A String", # Used to perform consistent read-modify-write updates. If not set, a blind "overwrite" update happens.
-  "labels": { # The labels associated with this game server deployment. Each label is a key-value pair.
-    "a_key": "A String",
-  },
-  "name": "A String", # The resource name of the game server deployment, in the following form: `projects/{project}/locations/{locationId}/gameServerDeployments/{deploymentId}`. For example, `projects/my-project/locations/global/gameServerDeployments/my-deployment`.
-  "updateTime": "A String", # Output only. The last-modified time.
-}
-
-  updateMask: string, Required. The update mask to apply to the resource. At least one path must be supplied in this field. For more information, see the [`FieldMask` definition](https://developers.google.com/protocol-buffers/docs/reference/google.protobuf#fieldmask).
-  x__xgafv: string, V1 error format.
-    Allowed values
-      1 - v1 error format
-      2 - v2 error format
-
-Returns:
-  An object of the form:
-
-    { # This resource represents a long-running operation that is the result of a network API call.
-  "done": True or False, # If the value is `false`, it means the operation is still in progress. If `true`, the operation is completed, and either `error` or `response` is available.
-  "error": { # The `Status` type defines a logical error model that is suitable for different programming environments, including REST APIs and RPC APIs. It is used by [gRPC](https://github.com/grpc). Each `Status` message contains three pieces of data: error code, error message, and error details. You can find out more about this error model and how to work with it in the [API Design Guide](https://cloud.google.com/apis/design/errors). # The error result of the operation in case of failure or cancellation.
-    "code": 42, # The status code, which should be an enum value of google.rpc.Code.
-    "details": [ # A list of messages that carry the error details. There is a common set of message types for APIs to use.
-      {
-        "a_key": "", # Properties of the object. Contains field @type with type URL.
-      },
-    ],
-    "message": "A String", # A developer-facing error message, which should be in English. Any user-facing error message should be localized and sent in the google.rpc.Status.details field, or localized by the client.
-  },
-  "metadata": { # Service-specific metadata associated with the operation. It typically contains progress information and common metadata such as create time. Some services might not provide such metadata. Any method that returns a long-running operation should document the metadata type, if any.
-    "a_key": "", # Properties of the object. Contains field @type with type URL.
-  },
-  "name": "A String", # The server-assigned name, which is only unique within the same service that originally returns it. If you use the default HTTP mapping, the `name` should be a resource name ending with `operations/{unique_id}`.
-  "response": { # The normal response of the operation in case of success. If the original method returns no data on success, such as `Delete`, the response is `google.protobuf.Empty`. If the original method is standard `Get`/`Create`/`Update`, the response should be the resource. For other methods, the response should have the type `XxxResponse`, where `Xxx` is the original method name. For example, if the original method name is `TakeSnapshot()`, the inferred response type is `TakeSnapshotResponse`.
-    "a_key": "", # Properties of the object. Contains field @type with type URL.
-  },
-}
-
- -
- previewRollout(name, body=None, previewTime=None, updateMask=None, x__xgafv=None) -
Previews the game server deployment rollout. This API does not mutate the rollout resource.
-
-Args:
-  name: string, The resource name of the game server deployment rollout, in the following form: `projects/{project}/locations/{locationId}/gameServerDeployments/{deploymentId}/rollout`. For example, `projects/my-project/locations/global/gameServerDeployments/my-deployment/rollout`. (required)
-  body: object, The request body.
-    The object takes the form of:
-
-{ # The game server deployment rollout which represents the desired rollout state.
-  "createTime": "A String", # Output only. The creation time.
-  "defaultGameServerConfig": "A String", # The default game server config is applied to all realms unless overridden in the rollout. For example, `projects/my-project/locations/global/gameServerDeployments/my-game/configs/my-config`.
-  "etag": "A String", # ETag of the resource.
-  "gameServerConfigOverrides": [ # Contains the game server config rollout overrides. Overrides are processed in the order they are listed. Once a match is found for a realm, the rest of the list is not processed.
-    { # A game server config override.
-      "configVersion": "A String", # The game server config for this override.
-      "realmsSelector": { # The realm selector, used to match realm resources. # Selector for choosing applicable realms.
-        "realms": [ # List of realms to match.
-          "A String",
-        ],
-      },
-    },
-  ],
-  "name": "A String", # The resource name of the game server deployment rollout, in the following form: `projects/{project}/locations/{locationId}/gameServerDeployments/{deploymentId}/rollout`. For example, `projects/my-project/locations/global/gameServerDeployments/my-deployment/rollout`.
-  "updateTime": "A String", # Output only. The last-modified time.
-}
-
-  previewTime: string, Optional. The target timestamp to compute the preview. Defaults to the immediately after the proposed rollout completes.
-  updateMask: string, Optional. The update mask to apply to the resource. At least one path must be supplied in this field. For more information, see the [`FieldMask` definition](https://developers.google.com/protocol-buffers/docs/reference/google.protobuf#fieldmask).
-  x__xgafv: string, V1 error format.
-    Allowed values
-      1 - v1 error format
-      2 - v2 error format
-
-Returns:
-  An object of the form:
-
-    { # Response message for PreviewGameServerDeploymentRollout. This has details about the Agones fleet and autoscaler to be actuated.
-  "etag": "A String", # ETag of the game server deployment.
-  "targetState": { # Encapsulates the Target state. # The target state.
-    "details": [ # Details about Agones fleets.
-      { # Details about the Agones resources.
-        "fleetDetails": [ # Agones fleet details for game server clusters and game server deployments.
-          { # Details of the target Agones fleet.
-            "autoscaler": { # Target Agones autoscaler policy reference. # Reference to target Agones fleet autoscaling policy.
-              "name": "A String", # The name of the Agones autoscaler.
-              "specSource": { # Encapsulates Agones fleet spec and Agones autoscaler spec sources. # Encapsulates the source of the Agones fleet spec. Details about the Agones autoscaler spec.
-                "gameServerConfigName": "A String", # The game server config resource. Uses the form: `projects/{project}/locations/{locationId}/gameServerDeployments/{deploymentId}/configs/{configId}`.
-                "name": "A String", # The name of the Agones fleet config or Agones scaling config used to derive the Agones fleet or Agones autoscaler spec.
-              },
-            },
-            "fleet": { # Target Agones fleet specification. # Reference to target Agones fleet.
-              "name": "A String", # The name of the Agones fleet.
-              "specSource": { # Encapsulates Agones fleet spec and Agones autoscaler spec sources. # Encapsulates the source of the Agones fleet spec. The Agones fleet spec source.
-                "gameServerConfigName": "A String", # The game server config resource. Uses the form: `projects/{project}/locations/{locationId}/gameServerDeployments/{deploymentId}/configs/{configId}`.
-                "name": "A String", # The name of the Agones fleet config or Agones scaling config used to derive the Agones fleet or Agones autoscaler spec.
-              },
-            },
-          },
-        ],
-        "gameServerClusterName": "A String", # The game server cluster name. Uses the form: `projects/{project}/locations/{locationId}/realms/{realmId}/gameServerClusters/{gameServerClusterId}`.
-        "gameServerDeploymentName": "A String", # The game server deployment name. Uses the form: `projects/{project}/locations/{locationId}/gameServerDeployments/{deploymentId}`.
-      },
-    ],
-  },
-  "unavailable": [ # Locations that could not be reached on this request.
-    "A String",
-  ],
-}
-
-
setIamPolicy(resource, body=None, x__xgafv=None)
Sets the access control policy on the specified resource. Replaces any existing policy. Can return `NOT_FOUND`, `INVALID_ARGUMENT`, and `PERMISSION_DENIED` errors.
@@ -818,61 +408,4 @@ 

Method Details

}
-
- updateRollout(name, body=None, updateMask=None, x__xgafv=None) -
Patches a single game server deployment rollout. The method will not return an error if the update does not affect any existing realms. For example, the following cases will not return an error: * The default_game_server_config is changed but all existing realms use the override. * A non-existing realm is explicitly called out in the game_server_config_overrides field.
-
-Args:
-  name: string, The resource name of the game server deployment rollout, in the following form: `projects/{project}/locations/{locationId}/gameServerDeployments/{deploymentId}/rollout`. For example, `projects/my-project/locations/global/gameServerDeployments/my-deployment/rollout`. (required)
-  body: object, The request body.
-    The object takes the form of:
-
-{ # The game server deployment rollout which represents the desired rollout state.
-  "createTime": "A String", # Output only. The creation time.
-  "defaultGameServerConfig": "A String", # The default game server config is applied to all realms unless overridden in the rollout. For example, `projects/my-project/locations/global/gameServerDeployments/my-game/configs/my-config`.
-  "etag": "A String", # ETag of the resource.
-  "gameServerConfigOverrides": [ # Contains the game server config rollout overrides. Overrides are processed in the order they are listed. Once a match is found for a realm, the rest of the list is not processed.
-    { # A game server config override.
-      "configVersion": "A String", # The game server config for this override.
-      "realmsSelector": { # The realm selector, used to match realm resources. # Selector for choosing applicable realms.
-        "realms": [ # List of realms to match.
-          "A String",
-        ],
-      },
-    },
-  ],
-  "name": "A String", # The resource name of the game server deployment rollout, in the following form: `projects/{project}/locations/{locationId}/gameServerDeployments/{deploymentId}/rollout`. For example, `projects/my-project/locations/global/gameServerDeployments/my-deployment/rollout`.
-  "updateTime": "A String", # Output only. The last-modified time.
-}
-
-  updateMask: string, Required. The update mask to apply to the resource. At least one path must be supplied in this field. For more information, see the [`FieldMask` definition](https://developers.google.com/protocol-buffers/docs/reference/google.protobuf#fieldmask).
-  x__xgafv: string, V1 error format.
-    Allowed values
-      1 - v1 error format
-      2 - v2 error format
-
-Returns:
-  An object of the form:
-
-    { # This resource represents a long-running operation that is the result of a network API call.
-  "done": True or False, # If the value is `false`, it means the operation is still in progress. If `true`, the operation is completed, and either `error` or `response` is available.
-  "error": { # The `Status` type defines a logical error model that is suitable for different programming environments, including REST APIs and RPC APIs. It is used by [gRPC](https://github.com/grpc). Each `Status` message contains three pieces of data: error code, error message, and error details. You can find out more about this error model and how to work with it in the [API Design Guide](https://cloud.google.com/apis/design/errors). # The error result of the operation in case of failure or cancellation.
-    "code": 42, # The status code, which should be an enum value of google.rpc.Code.
-    "details": [ # A list of messages that carry the error details. There is a common set of message types for APIs to use.
-      {
-        "a_key": "", # Properties of the object. Contains field @type with type URL.
-      },
-    ],
-    "message": "A String", # A developer-facing error message, which should be in English. Any user-facing error message should be localized and sent in the google.rpc.Status.details field, or localized by the client.
-  },
-  "metadata": { # Service-specific metadata associated with the operation. It typically contains progress information and common metadata such as create time. Some services might not provide such metadata. Any method that returns a long-running operation should document the metadata type, if any.
-    "a_key": "", # Properties of the object. Contains field @type with type URL.
-  },
-  "name": "A String", # The server-assigned name, which is only unique within the same service that originally returns it. If you use the default HTTP mapping, the `name` should be a resource name ending with `operations/{unique_id}`.
-  "response": { # The normal response of the operation in case of success. If the original method returns no data on success, such as `Delete`, the response is `google.protobuf.Empty`. If the original method is standard `Get`/`Create`/`Update`, the response should be the resource. For other methods, the response should have the type `XxxResponse`, where `Xxx` is the original method name. For example, if the original method name is `TakeSnapshot()`, the inferred response type is `TakeSnapshotResponse`.
-    "a_key": "", # Properties of the object. Contains field @type with type URL.
-  },
-}
-
- \ No newline at end of file diff --git a/docs/dyn/gameservices_v1.projects.locations.html b/docs/dyn/gameservices_v1.projects.locations.html index 846df0940a1..7117477ebc2 100644 --- a/docs/dyn/gameservices_v1.projects.locations.html +++ b/docs/dyn/gameservices_v1.projects.locations.html @@ -84,11 +84,6 @@

Instance Methods

Returns the operations Resource.

-

- realms() -

-

Returns the realms Resource.

-

close()

Close httplib2 connections.

diff --git a/docs/dyn/gameservices_v1beta.projects.locations.gameServerDeployments.html b/docs/dyn/gameservices_v1beta.projects.locations.gameServerDeployments.html index 5714215d3ac..4e09d50eff4 100644 --- a/docs/dyn/gameservices_v1beta.projects.locations.gameServerDeployments.html +++ b/docs/dyn/gameservices_v1beta.projects.locations.gameServerDeployments.html @@ -74,228 +74,24 @@

Game Services API . projects . locations . gameServerDeployments

Instance Methods

-

- configs() -

-

Returns the configs Resource.

-

close()

Close httplib2 connections.

-

- create(parent, body=None, deploymentId=None, x__xgafv=None)

-

Creates a new game server deployment in a given project and location.

-

- delete(name, x__xgafv=None)

-

Deletes a single game server deployment.

-

- fetchDeploymentState(name, body=None, x__xgafv=None)

-

Retrieves information about the current state of the game server deployment. Gathers all the Agones fleets and Agones autoscalers, including fleets running an older version of the game server deployment.

-

- get(name, x__xgafv=None)

-

Gets details of a single game server deployment.

getIamPolicy(resource, options_requestedPolicyVersion=None, x__xgafv=None)

Gets the access control policy for a resource. Returns an empty policy if the resource exists and does not have a policy set.

-

- getRollout(name, x__xgafv=None)

-

Gets details of a single game server deployment rollout.

-

- list(parent, filter=None, orderBy=None, pageSize=None, pageToken=None, x__xgafv=None)

-

Lists game server deployments in a given project and location.

-

- list_next()

-

Retrieves the next page of results.

-

- patch(name, body=None, updateMask=None, x__xgafv=None)

-

Patches a game server deployment.

-

- previewRollout(name, body=None, previewTime=None, updateMask=None, x__xgafv=None)

-

Previews the game server deployment rollout. This API does not mutate the rollout resource.

setIamPolicy(resource, body=None, x__xgafv=None)

Sets the access control policy on the specified resource. Replaces any existing policy. Can return `NOT_FOUND`, `INVALID_ARGUMENT`, and `PERMISSION_DENIED` errors.

testIamPermissions(resource, body=None, x__xgafv=None)

Returns permissions that a caller has on the specified resource. If the resource does not exist, this will return an empty set of permissions, not a `NOT_FOUND` error. Note: This operation is designed to be used for building permission-aware UIs and command-line tools, not for authorization checking. This operation may "fail open" without warning.

-

- updateRollout(name, body=None, updateMask=None, x__xgafv=None)

-

Patches a single game server deployment rollout. The method will not return an error if the update does not affect any existing realms. For example, the following cases will not return an error: * The default_game_server_config is changed but all existing realms use the override. * A non-existing realm is explicitly called out in the game_server_config_overrides field.

Method Details

close()
Close httplib2 connections.
-
- create(parent, body=None, deploymentId=None, x__xgafv=None) -
Creates a new game server deployment in a given project and location.
-
-Args:
-  parent: string, Required. The parent resource name, in the following form: `projects/{project}/locations/{locationId}`. (required)
-  body: object, The request body.
-    The object takes the form of:
-
-{ # A game server deployment resource.
-  "createTime": "A String", # Output only. The creation time.
-  "description": "A String", # Human readable description of the game server deployment.
-  "etag": "A String", # Used to perform consistent read-modify-write updates. If not set, a blind "overwrite" update happens.
-  "labels": { # The labels associated with this game server deployment. Each label is a key-value pair.
-    "a_key": "A String",
-  },
-  "name": "A String", # The resource name of the game server deployment, in the following form: `projects/{project}/locations/{locationId}/gameServerDeployments/{deploymentId}`. For example, `projects/my-project/locations/global/gameServerDeployments/my-deployment`.
-  "updateTime": "A String", # Output only. The last-modified time.
-}
-
-  deploymentId: string, Required. The ID of the game server deployment resource to create.
-  x__xgafv: string, V1 error format.
-    Allowed values
-      1 - v1 error format
-      2 - v2 error format
-
-Returns:
-  An object of the form:
-
-    { # This resource represents a long-running operation that is the result of a network API call.
-  "done": True or False, # If the value is `false`, it means the operation is still in progress. If `true`, the operation is completed, and either `error` or `response` is available.
-  "error": { # The `Status` type defines a logical error model that is suitable for different programming environments, including REST APIs and RPC APIs. It is used by [gRPC](https://github.com/grpc). Each `Status` message contains three pieces of data: error code, error message, and error details. You can find out more about this error model and how to work with it in the [API Design Guide](https://cloud.google.com/apis/design/errors). # The error result of the operation in case of failure or cancellation.
-    "code": 42, # The status code, which should be an enum value of google.rpc.Code.
-    "details": [ # A list of messages that carry the error details. There is a common set of message types for APIs to use.
-      {
-        "a_key": "", # Properties of the object. Contains field @type with type URL.
-      },
-    ],
-    "message": "A String", # A developer-facing error message, which should be in English. Any user-facing error message should be localized and sent in the google.rpc.Status.details field, or localized by the client.
-  },
-  "metadata": { # Service-specific metadata associated with the operation. It typically contains progress information and common metadata such as create time. Some services might not provide such metadata. Any method that returns a long-running operation should document the metadata type, if any.
-    "a_key": "", # Properties of the object. Contains field @type with type URL.
-  },
-  "name": "A String", # The server-assigned name, which is only unique within the same service that originally returns it. If you use the default HTTP mapping, the `name` should be a resource name ending with `operations/{unique_id}`.
-  "response": { # The normal response of the operation in case of success. If the original method returns no data on success, such as `Delete`, the response is `google.protobuf.Empty`. If the original method is standard `Get`/`Create`/`Update`, the response should be the resource. For other methods, the response should have the type `XxxResponse`, where `Xxx` is the original method name. For example, if the original method name is `TakeSnapshot()`, the inferred response type is `TakeSnapshotResponse`.
-    "a_key": "", # Properties of the object. Contains field @type with type URL.
-  },
-}
-
- -
- delete(name, x__xgafv=None) -
Deletes a single game server deployment.
-
-Args:
-  name: string, Required. The name of the game server deployment to delete, in the following form: `projects/{project}/locations/{locationId}/gameServerDeployments/{deploymentId}`. (required)
-  x__xgafv: string, V1 error format.
-    Allowed values
-      1 - v1 error format
-      2 - v2 error format
-
-Returns:
-  An object of the form:
-
-    { # This resource represents a long-running operation that is the result of a network API call.
-  "done": True or False, # If the value is `false`, it means the operation is still in progress. If `true`, the operation is completed, and either `error` or `response` is available.
-  "error": { # The `Status` type defines a logical error model that is suitable for different programming environments, including REST APIs and RPC APIs. It is used by [gRPC](https://github.com/grpc). Each `Status` message contains three pieces of data: error code, error message, and error details. You can find out more about this error model and how to work with it in the [API Design Guide](https://cloud.google.com/apis/design/errors). # The error result of the operation in case of failure or cancellation.
-    "code": 42, # The status code, which should be an enum value of google.rpc.Code.
-    "details": [ # A list of messages that carry the error details. There is a common set of message types for APIs to use.
-      {
-        "a_key": "", # Properties of the object. Contains field @type with type URL.
-      },
-    ],
-    "message": "A String", # A developer-facing error message, which should be in English. Any user-facing error message should be localized and sent in the google.rpc.Status.details field, or localized by the client.
-  },
-  "metadata": { # Service-specific metadata associated with the operation. It typically contains progress information and common metadata such as create time. Some services might not provide such metadata. Any method that returns a long-running operation should document the metadata type, if any.
-    "a_key": "", # Properties of the object. Contains field @type with type URL.
-  },
-  "name": "A String", # The server-assigned name, which is only unique within the same service that originally returns it. If you use the default HTTP mapping, the `name` should be a resource name ending with `operations/{unique_id}`.
-  "response": { # The normal response of the operation in case of success. If the original method returns no data on success, such as `Delete`, the response is `google.protobuf.Empty`. If the original method is standard `Get`/`Create`/`Update`, the response should be the resource. For other methods, the response should have the type `XxxResponse`, where `Xxx` is the original method name. For example, if the original method name is `TakeSnapshot()`, the inferred response type is `TakeSnapshotResponse`.
-    "a_key": "", # Properties of the object. Contains field @type with type URL.
-  },
-}
-
- -
- fetchDeploymentState(name, body=None, x__xgafv=None) -
Retrieves information about the current state of the game server deployment. Gathers all the Agones fleets and Agones autoscalers, including fleets running an older version of the game server deployment.
-
-Args:
-  name: string, Required. The name of the game server deployment, in the following form: `projects/{project}/locations/{locationId}/gameServerDeployments/{deploymentId}`. (required)
-  body: object, The request body.
-    The object takes the form of:
-
-{ # Request message for GameServerDeploymentsService.FetchDeploymentState.
-}
-
-  x__xgafv: string, V1 error format.
-    Allowed values
-      1 - v1 error format
-      2 - v2 error format
-
-Returns:
-  An object of the form:
-
-    { # Response message for GameServerDeploymentsService.FetchDeploymentState.
-  "clusterState": [ # The state of the game server deployment in each game server cluster.
-    { # The game server cluster changes made by the game server deployment.
-      "cluster": "A String", # The name of the cluster.
-      "fleetDetails": [ # The details about the Agones fleets and autoscalers created in the game server cluster.
-        { # Details of the deployed Agones fleet.
-          "deployedAutoscaler": { # Details about the Agones autoscaler. # Information about the Agones autoscaler for that fleet.
-            "autoscaler": "A String", # The name of the Agones autoscaler.
-            "fleetAutoscalerSpec": "A String", # The autoscaler spec retrieved from Agones.
-            "specSource": { # Encapsulates Agones fleet spec and Agones autoscaler spec sources. # The source spec that is used to create the autoscaler. The GameServerConfig resource may no longer exist in the system.
-              "gameServerConfigName": "A String", # The game server config resource. Uses the form: `projects/{project}/locations/{locationId}/gameServerDeployments/{deploymentId}/configs/{configId}`.
-              "name": "A String", # The name of the Agones fleet config or Agones scaling config used to derive the Agones fleet or Agones autoscaler spec.
-            },
-          },
-          "deployedFleet": { # Agones fleet specification and details. # Information about the Agones fleet.
-            "fleet": "A String", # The name of the Agones fleet.
-            "fleetSpec": "A String", # The fleet spec retrieved from the Agones fleet.
-            "specSource": { # Encapsulates Agones fleet spec and Agones autoscaler spec sources. # The source spec that is used to create the Agones fleet. The GameServerConfig resource may no longer exist in the system.
-              "gameServerConfigName": "A String", # The game server config resource. Uses the form: `projects/{project}/locations/{locationId}/gameServerDeployments/{deploymentId}/configs/{configId}`.
-              "name": "A String", # The name of the Agones fleet config or Agones scaling config used to derive the Agones fleet or Agones autoscaler spec.
-            },
-            "status": { # DeployedFleetStatus has details about the Agones fleets, such as how many are running, how many are allocated, and so on. # The current status of the Agones fleet. Includes count of game servers in various states.
-              "allocatedReplicas": "A String", # The number of GameServer replicas in the ALLOCATED state in this fleet.
-              "readyReplicas": "A String", # The number of GameServer replicas in the READY state in this fleet.
-              "replicas": "A String", # The total number of current GameServer replicas in this fleet.
-              "reservedReplicas": "A String", # The number of GameServer replicas in the RESERVED state in this fleet. Reserved instances won't be deleted on scale down, but won't cause an autoscaler to scale up.
-            },
-          },
-        },
-      ],
-    },
-  ],
-  "unavailable": [ # List of locations that could not be reached.
-    "A String",
-  ],
-}
-
- -
- get(name, x__xgafv=None) -
Gets details of a single game server deployment.
-
-Args:
-  name: string, Required. The name of the game server deployment to retrieve, in the following form: `projects/{project}/locations/{locationId}/gameServerDeployments/{deploymentId}`. (required)
-  x__xgafv: string, V1 error format.
-    Allowed values
-      1 - v1 error format
-      2 - v2 error format
-
-Returns:
-  An object of the form:
-
-    { # A game server deployment resource.
-  "createTime": "A String", # Output only. The creation time.
-  "description": "A String", # Human readable description of the game server deployment.
-  "etag": "A String", # Used to perform consistent read-modify-write updates. If not set, a blind "overwrite" update happens.
-  "labels": { # The labels associated with this game server deployment. Each label is a key-value pair.
-    "a_key": "A String",
-  },
-  "name": "A String", # The resource name of the game server deployment, in the following form: `projects/{project}/locations/{locationId}/gameServerDeployments/{deploymentId}`. For example, `projects/my-project/locations/global/gameServerDeployments/my-deployment`.
-  "updateTime": "A String", # Output only. The last-modified time.
-}
-
-
getIamPolicy(resource, options_requestedPolicyVersion=None, x__xgafv=None)
Gets the access control policy for a resource. Returns an empty policy if the resource exists and does not have a policy set.
@@ -395,212 +191,6 @@ 

Method Details

}
-
- getRollout(name, x__xgafv=None) -
Gets details of a single game server deployment rollout.
-
-Args:
-  name: string, Required. The name of the game server deployment rollout to retrieve, in the following form: `projects/{project}/locations/{locationId}/gameServerDeployments/{deploymentId}/rollout`. (required)
-  x__xgafv: string, V1 error format.
-    Allowed values
-      1 - v1 error format
-      2 - v2 error format
-
-Returns:
-  An object of the form:
-
-    { # The game server deployment rollout which represents the desired rollout state.
-  "createTime": "A String", # Output only. The creation time.
-  "defaultGameServerConfig": "A String", # The default game server config is applied to all realms unless overridden in the rollout. For example, `projects/my-project/locations/global/gameServerDeployments/my-game/configs/my-config`.
-  "etag": "A String", # ETag of the resource.
-  "gameServerConfigOverrides": [ # Contains the game server config rollout overrides. Overrides are processed in the order they are listed. Once a match is found for a realm, the rest of the list is not processed.
-    { # A game server config override.
-      "configVersion": "A String", # The game server config for this override.
-      "realmsSelector": { # The realm selector, used to match realm resources. # Selector for choosing applicable realms.
-        "realms": [ # List of realms to match.
-          "A String",
-        ],
-      },
-    },
-  ],
-  "name": "A String", # The resource name of the game server deployment rollout, in the following form: `projects/{project}/locations/{locationId}/gameServerDeployments/{deploymentId}/rollout`. For example, `projects/my-project/locations/global/gameServerDeployments/my-deployment/rollout`.
-  "updateTime": "A String", # Output only. The last-modified time.
-}
-
- -
- list(parent, filter=None, orderBy=None, pageSize=None, pageToken=None, x__xgafv=None) -
Lists game server deployments in a given project and location.
-
-Args:
-  parent: string, Required. The parent resource name, in the following form: `projects/{project}/locations/{locationId}`. (required)
-  filter: string, Optional. The filter to apply to list results (see [Filtering](https://google.aip.dev/160)).
-  orderBy: string, Optional. Specifies the ordering of results following [Cloud API syntax](https://cloud.google.com/apis/design/design_patterns#sorting_order).
-  pageSize: integer, Optional. The maximum number of items to return. If unspecified, the server picks an appropriate default. The server may return fewer items than requested. A caller should only rely on the response's next_page_token to determine if there are more GameServerDeployments left to be queried.
-  pageToken: string, Optional. The next_page_token value returned from a previous list request, if any.
-  x__xgafv: string, V1 error format.
-    Allowed values
-      1 - v1 error format
-      2 - v2 error format
-
-Returns:
-  An object of the form:
-
-    { # Response message for GameServerDeploymentsService.ListGameServerDeployments.
-  "gameServerDeployments": [ # The list of game server deployments.
-    { # A game server deployment resource.
-      "createTime": "A String", # Output only. The creation time.
-      "description": "A String", # Human readable description of the game server deployment.
-      "etag": "A String", # Used to perform consistent read-modify-write updates. If not set, a blind "overwrite" update happens.
-      "labels": { # The labels associated with this game server deployment. Each label is a key-value pair.
-        "a_key": "A String",
-      },
-      "name": "A String", # The resource name of the game server deployment, in the following form: `projects/{project}/locations/{locationId}/gameServerDeployments/{deploymentId}`. For example, `projects/my-project/locations/global/gameServerDeployments/my-deployment`.
-      "updateTime": "A String", # Output only. The last-modified time.
-    },
-  ],
-  "nextPageToken": "A String", # Token to retrieve the next page of results, or empty if there are no more results in the list.
-  "unreachable": [ # List of locations that could not be reached.
-    "A String",
-  ],
-}
-
- -
- list_next() -
Retrieves the next page of results.
-
-        Args:
-          previous_request: The request for the previous page. (required)
-          previous_response: The response from the request for the previous page. (required)
-
-        Returns:
-          A request object that you can call 'execute()' on to request the next
-          page. Returns None if there are no more items in the collection.
-        
-
- -
- patch(name, body=None, updateMask=None, x__xgafv=None) -
Patches a game server deployment.
-
-Args:
-  name: string, The resource name of the game server deployment, in the following form: `projects/{project}/locations/{locationId}/gameServerDeployments/{deploymentId}`. For example, `projects/my-project/locations/global/gameServerDeployments/my-deployment`. (required)
-  body: object, The request body.
-    The object takes the form of:
-
-{ # A game server deployment resource.
-  "createTime": "A String", # Output only. The creation time.
-  "description": "A String", # Human readable description of the game server deployment.
-  "etag": "A String", # Used to perform consistent read-modify-write updates. If not set, a blind "overwrite" update happens.
-  "labels": { # The labels associated with this game server deployment. Each label is a key-value pair.
-    "a_key": "A String",
-  },
-  "name": "A String", # The resource name of the game server deployment, in the following form: `projects/{project}/locations/{locationId}/gameServerDeployments/{deploymentId}`. For example, `projects/my-project/locations/global/gameServerDeployments/my-deployment`.
-  "updateTime": "A String", # Output only. The last-modified time.
-}
-
-  updateMask: string, Required. The update mask to apply to the resource. At least one path must be supplied in this field. For more information, see the [`FieldMask` definition](https://developers.google.com/protocol-buffers/docs/reference/google.protobuf#fieldmask).
-  x__xgafv: string, V1 error format.
-    Allowed values
-      1 - v1 error format
-      2 - v2 error format
-
-Returns:
-  An object of the form:
-
-    { # This resource represents a long-running operation that is the result of a network API call.
-  "done": True or False, # If the value is `false`, it means the operation is still in progress. If `true`, the operation is completed, and either `error` or `response` is available.
-  "error": { # The `Status` type defines a logical error model that is suitable for different programming environments, including REST APIs and RPC APIs. It is used by [gRPC](https://github.com/grpc). Each `Status` message contains three pieces of data: error code, error message, and error details. You can find out more about this error model and how to work with it in the [API Design Guide](https://cloud.google.com/apis/design/errors). # The error result of the operation in case of failure or cancellation.
-    "code": 42, # The status code, which should be an enum value of google.rpc.Code.
-    "details": [ # A list of messages that carry the error details. There is a common set of message types for APIs to use.
-      {
-        "a_key": "", # Properties of the object. Contains field @type with type URL.
-      },
-    ],
-    "message": "A String", # A developer-facing error message, which should be in English. Any user-facing error message should be localized and sent in the google.rpc.Status.details field, or localized by the client.
-  },
-  "metadata": { # Service-specific metadata associated with the operation. It typically contains progress information and common metadata such as create time. Some services might not provide such metadata. Any method that returns a long-running operation should document the metadata type, if any.
-    "a_key": "", # Properties of the object. Contains field @type with type URL.
-  },
-  "name": "A String", # The server-assigned name, which is only unique within the same service that originally returns it. If you use the default HTTP mapping, the `name` should be a resource name ending with `operations/{unique_id}`.
-  "response": { # The normal response of the operation in case of success. If the original method returns no data on success, such as `Delete`, the response is `google.protobuf.Empty`. If the original method is standard `Get`/`Create`/`Update`, the response should be the resource. For other methods, the response should have the type `XxxResponse`, where `Xxx` is the original method name. For example, if the original method name is `TakeSnapshot()`, the inferred response type is `TakeSnapshotResponse`.
-    "a_key": "", # Properties of the object. Contains field @type with type URL.
-  },
-}
-
- -
- previewRollout(name, body=None, previewTime=None, updateMask=None, x__xgafv=None) -
Previews the game server deployment rollout. This API does not mutate the rollout resource.
-
-Args:
-  name: string, The resource name of the game server deployment rollout, in the following form: `projects/{project}/locations/{locationId}/gameServerDeployments/{deploymentId}/rollout`. For example, `projects/my-project/locations/global/gameServerDeployments/my-deployment/rollout`. (required)
-  body: object, The request body.
-    The object takes the form of:
-
-{ # The game server deployment rollout which represents the desired rollout state.
-  "createTime": "A String", # Output only. The creation time.
-  "defaultGameServerConfig": "A String", # The default game server config is applied to all realms unless overridden in the rollout. For example, `projects/my-project/locations/global/gameServerDeployments/my-game/configs/my-config`.
-  "etag": "A String", # ETag of the resource.
-  "gameServerConfigOverrides": [ # Contains the game server config rollout overrides. Overrides are processed in the order they are listed. Once a match is found for a realm, the rest of the list is not processed.
-    { # A game server config override.
-      "configVersion": "A String", # The game server config for this override.
-      "realmsSelector": { # The realm selector, used to match realm resources. # Selector for choosing applicable realms.
-        "realms": [ # List of realms to match.
-          "A String",
-        ],
-      },
-    },
-  ],
-  "name": "A String", # The resource name of the game server deployment rollout, in the following form: `projects/{project}/locations/{locationId}/gameServerDeployments/{deploymentId}/rollout`. For example, `projects/my-project/locations/global/gameServerDeployments/my-deployment/rollout`.
-  "updateTime": "A String", # Output only. The last-modified time.
-}
-
-  previewTime: string, Optional. The target timestamp to compute the preview. Defaults to the immediately after the proposed rollout completes.
-  updateMask: string, Optional. The update mask to apply to the resource. At least one path must be supplied in this field. For more information, see the [`FieldMask` definition](https://developers.google.com/protocol-buffers/docs/reference/google.protobuf#fieldmask).
-  x__xgafv: string, V1 error format.
-    Allowed values
-      1 - v1 error format
-      2 - v2 error format
-
-Returns:
-  An object of the form:
-
-    { # Response message for PreviewGameServerDeploymentRollout. This has details about the Agones fleet and autoscaler to be actuated.
-  "etag": "A String", # ETag of the game server deployment.
-  "targetState": { # Encapsulates the Target state. # The target state.
-    "details": [ # Details about Agones fleets.
-      { # Details about the Agones resources.
-        "fleetDetails": [ # Agones fleet details for game server clusters and game server deployments.
-          { # Details of the target Agones fleet.
-            "autoscaler": { # Target Agones autoscaler policy reference. # Reference to target Agones fleet autoscaling policy.
-              "name": "A String", # The name of the Agones autoscaler.
-              "specSource": { # Encapsulates Agones fleet spec and Agones autoscaler spec sources. # Encapsulates the source of the Agones fleet spec. Details about the Agones autoscaler spec.
-                "gameServerConfigName": "A String", # The game server config resource. Uses the form: `projects/{project}/locations/{locationId}/gameServerDeployments/{deploymentId}/configs/{configId}`.
-                "name": "A String", # The name of the Agones fleet config or Agones scaling config used to derive the Agones fleet or Agones autoscaler spec.
-              },
-            },
-            "fleet": { # Target Agones fleet specification. # Reference to target Agones fleet.
-              "name": "A String", # The name of the Agones fleet.
-              "specSource": { # Encapsulates Agones fleet spec and Agones autoscaler spec sources. # Encapsulates the source of the Agones fleet spec. The Agones fleet spec source.
-                "gameServerConfigName": "A String", # The game server config resource. Uses the form: `projects/{project}/locations/{locationId}/gameServerDeployments/{deploymentId}/configs/{configId}`.
-                "name": "A String", # The name of the Agones fleet config or Agones scaling config used to derive the Agones fleet or Agones autoscaler spec.
-              },
-            },
-          },
-        ],
-        "gameServerClusterName": "A String", # The game server cluster name. Uses the form: `projects/{project}/locations/{locationId}/realms/{realmId}/gameServerClusters/{gameServerClusterId}`.
-        "gameServerDeploymentName": "A String", # The game server deployment name. Uses the form: `projects/{project}/locations/{locationId}/gameServerDeployments/{deploymentId}`.
-      },
-    ],
-  },
-  "unavailable": [ # Locations that could not be reached on this request.
-    "A String",
-  ],
-}
-
-
setIamPolicy(resource, body=None, x__xgafv=None)
Sets the access control policy on the specified resource. Replaces any existing policy. Can return `NOT_FOUND`, `INVALID_ARGUMENT`, and `PERMISSION_DENIED` errors.
@@ -818,61 +408,4 @@ 

Method Details

}
-
- updateRollout(name, body=None, updateMask=None, x__xgafv=None) -
Patches a single game server deployment rollout. The method will not return an error if the update does not affect any existing realms. For example, the following cases will not return an error: * The default_game_server_config is changed but all existing realms use the override. * A non-existing realm is explicitly called out in the game_server_config_overrides field.
-
-Args:
-  name: string, The resource name of the game server deployment rollout, in the following form: `projects/{project}/locations/{locationId}/gameServerDeployments/{deploymentId}/rollout`. For example, `projects/my-project/locations/global/gameServerDeployments/my-deployment/rollout`. (required)
-  body: object, The request body.
-    The object takes the form of:
-
-{ # The game server deployment rollout which represents the desired rollout state.
-  "createTime": "A String", # Output only. The creation time.
-  "defaultGameServerConfig": "A String", # The default game server config is applied to all realms unless overridden in the rollout. For example, `projects/my-project/locations/global/gameServerDeployments/my-game/configs/my-config`.
-  "etag": "A String", # ETag of the resource.
-  "gameServerConfigOverrides": [ # Contains the game server config rollout overrides. Overrides are processed in the order they are listed. Once a match is found for a realm, the rest of the list is not processed.
-    { # A game server config override.
-      "configVersion": "A String", # The game server config for this override.
-      "realmsSelector": { # The realm selector, used to match realm resources. # Selector for choosing applicable realms.
-        "realms": [ # List of realms to match.
-          "A String",
-        ],
-      },
-    },
-  ],
-  "name": "A String", # The resource name of the game server deployment rollout, in the following form: `projects/{project}/locations/{locationId}/gameServerDeployments/{deploymentId}/rollout`. For example, `projects/my-project/locations/global/gameServerDeployments/my-deployment/rollout`.
-  "updateTime": "A String", # Output only. The last-modified time.
-}
-
-  updateMask: string, Required. The update mask to apply to the resource. At least one path must be supplied in this field. For more information, see the [`FieldMask` definition](https://developers.google.com/protocol-buffers/docs/reference/google.protobuf#fieldmask).
-  x__xgafv: string, V1 error format.
-    Allowed values
-      1 - v1 error format
-      2 - v2 error format
-
-Returns:
-  An object of the form:
-
-    { # This resource represents a long-running operation that is the result of a network API call.
-  "done": True or False, # If the value is `false`, it means the operation is still in progress. If `true`, the operation is completed, and either `error` or `response` is available.
-  "error": { # The `Status` type defines a logical error model that is suitable for different programming environments, including REST APIs and RPC APIs. It is used by [gRPC](https://github.com/grpc). Each `Status` message contains three pieces of data: error code, error message, and error details. You can find out more about this error model and how to work with it in the [API Design Guide](https://cloud.google.com/apis/design/errors). # The error result of the operation in case of failure or cancellation.
-    "code": 42, # The status code, which should be an enum value of google.rpc.Code.
-    "details": [ # A list of messages that carry the error details. There is a common set of message types for APIs to use.
-      {
-        "a_key": "", # Properties of the object. Contains field @type with type URL.
-      },
-    ],
-    "message": "A String", # A developer-facing error message, which should be in English. Any user-facing error message should be localized and sent in the google.rpc.Status.details field, or localized by the client.
-  },
-  "metadata": { # Service-specific metadata associated with the operation. It typically contains progress information and common metadata such as create time. Some services might not provide such metadata. Any method that returns a long-running operation should document the metadata type, if any.
-    "a_key": "", # Properties of the object. Contains field @type with type URL.
-  },
-  "name": "A String", # The server-assigned name, which is only unique within the same service that originally returns it. If you use the default HTTP mapping, the `name` should be a resource name ending with `operations/{unique_id}`.
-  "response": { # The normal response of the operation in case of success. If the original method returns no data on success, such as `Delete`, the response is `google.protobuf.Empty`. If the original method is standard `Get`/`Create`/`Update`, the response should be the resource. For other methods, the response should have the type `XxxResponse`, where `Xxx` is the original method name. For example, if the original method name is `TakeSnapshot()`, the inferred response type is `TakeSnapshotResponse`.
-    "a_key": "", # Properties of the object. Contains field @type with type URL.
-  },
-}
-
- \ No newline at end of file diff --git a/docs/dyn/gameservices_v1beta.projects.locations.html b/docs/dyn/gameservices_v1beta.projects.locations.html index b10dea032b9..33b99d50aee 100644 --- a/docs/dyn/gameservices_v1beta.projects.locations.html +++ b/docs/dyn/gameservices_v1beta.projects.locations.html @@ -84,11 +84,6 @@

Instance Methods

Returns the operations Resource.

-

- realms() -

-

Returns the realms Resource.

-

close()

Close httplib2 connections.

diff --git a/docs/dyn/iap_v1.v1.html b/docs/dyn/iap_v1.v1.html index 959b158214e..2e19b439bf6 100644 --- a/docs/dyn/iap_v1.v1.html +++ b/docs/dyn/iap_v1.v1.html @@ -130,7 +130,7 @@

Method Details

"location": "A String", # Optional. String indicating the location of the expression for error reporting, e.g. a file name and a position in the file. "title": "A String", # Optional. Title for the expression, i.e. a short string describing its purpose. This can be used e.g. in UIs which allow to enter the expression. }, - "members": [ # Specifies the principals requesting access for a Google Cloud resource. `members` can have the following values: * `allUsers`: A special identifier that represents anyone who is on the internet; with or without a Google account. * `allAuthenticatedUsers`: A special identifier that represents anyone who is authenticated with a Google account or a service account. * `user:{emailid}`: An email address that represents a specific Google account. For example, `alice@example.com` . * `serviceAccount:{emailid}`: An email address that represents a service account. For example, `my-other-app@appspot.gserviceaccount.com`. * `group:{emailid}`: An email address that represents a Google group. For example, `admins@example.com`. * `deleted:user:{emailid}?uid={uniqueid}`: An email address (plus unique identifier) representing a user that has been recently deleted. For example, `alice@example.com?uid=123456789012345678901`. If the user is recovered, this value reverts to `user:{emailid}` and the recovered user retains the role in the binding. * `deleted:serviceAccount:{emailid}?uid={uniqueid}`: An email address (plus unique identifier) representing a service account that has been recently deleted. For example, `my-other-app@appspot.gserviceaccount.com?uid=123456789012345678901`. If the service account is undeleted, this value reverts to `serviceAccount:{emailid}` and the undeleted service account retains the role in the binding. * `deleted:group:{emailid}?uid={uniqueid}`: An email address (plus unique identifier) representing a Google group that has been recently deleted. For example, `admins@example.com?uid=123456789012345678901`. If the group is recovered, this value reverts to `group:{emailid}` and the recovered group retains the role in the binding. * `domain:{domain}`: The G Suite domain (primary) that represents all the users of that domain. For example, `google.com` or `example.com`. + "members": [ # Specifies the principals requesting access for a Google Cloud resource. `members` can have the following values: * `allUsers`: A special identifier that represents anyone who is on the internet; with or without a Google account. * `allAuthenticatedUsers`: A special identifier that represents anyone who is authenticated with a Google account or a service account. * `user:{emailid}`: An email address that represents a specific Google account. For example, `alice@example.com` . * `serviceAccount:{emailid}`: An email address that represents a Google service account. For example, `my-other-app@appspot.gserviceaccount.com`. * `serviceAccount:{projectid}.svc.id.goog[{namespace}/{kubernetes-sa}]`: An identifier for a [Kubernetes service account](https://cloud.google.com/kubernetes-engine/docs/how-to/kubernetes-service-accounts). For example, `my-project.svc.id.goog[my-namespace/my-kubernetes-sa]`. * `group:{emailid}`: An email address that represents a Google group. For example, `admins@example.com`. * `deleted:user:{emailid}?uid={uniqueid}`: An email address (plus unique identifier) representing a user that has been recently deleted. For example, `alice@example.com?uid=123456789012345678901`. If the user is recovered, this value reverts to `user:{emailid}` and the recovered user retains the role in the binding. * `deleted:serviceAccount:{emailid}?uid={uniqueid}`: An email address (plus unique identifier) representing a service account that has been recently deleted. For example, `my-other-app@appspot.gserviceaccount.com?uid=123456789012345678901`. If the service account is undeleted, this value reverts to `serviceAccount:{emailid}` and the undeleted service account retains the role in the binding. * `deleted:group:{emailid}?uid={uniqueid}`: An email address (plus unique identifier) representing a Google group that has been recently deleted. For example, `admins@example.com?uid=123456789012345678901`. If the group is recovered, this value reverts to `group:{emailid}` and the recovered group retains the role in the binding. * `domain:{domain}`: The G Suite domain (primary) that represents all the users of that domain. For example, `google.com` or `example.com`. "A String", ], "role": "A String", # Role that is assigned to the list of `members`, or principals. For example, `roles/viewer`, `roles/editor`, or `roles/owner`. @@ -157,7 +157,7 @@

Method Details

{ # The IAP configurable settings. "accessSettings": { # Access related settings for IAP protected apps. # Top level wrapper for all access related setting in IAP - "allowedDomainsSettings": { # Configuration for IAP allowed domains. Allows the customers to restrict access to the app by only allowing requests from the listed trusted domains. # Settings to configure and enable allowed domains. + "allowedDomainsSettings": { # Configuration for IAP allowed domains. Lets you to restrict access to an app and allow access to only the domains that you list. # Settings to configure and enable allowed domains. "domains": [ # List of trusted domains. "A String", ], @@ -232,7 +232,7 @@

Method Details

"location": "A String", # Optional. String indicating the location of the expression for error reporting, e.g. a file name and a position in the file. "title": "A String", # Optional. Title for the expression, i.e. a short string describing its purpose. This can be used e.g. in UIs which allow to enter the expression. }, - "members": [ # Specifies the principals requesting access for a Google Cloud resource. `members` can have the following values: * `allUsers`: A special identifier that represents anyone who is on the internet; with or without a Google account. * `allAuthenticatedUsers`: A special identifier that represents anyone who is authenticated with a Google account or a service account. * `user:{emailid}`: An email address that represents a specific Google account. For example, `alice@example.com` . * `serviceAccount:{emailid}`: An email address that represents a service account. For example, `my-other-app@appspot.gserviceaccount.com`. * `group:{emailid}`: An email address that represents a Google group. For example, `admins@example.com`. * `deleted:user:{emailid}?uid={uniqueid}`: An email address (plus unique identifier) representing a user that has been recently deleted. For example, `alice@example.com?uid=123456789012345678901`. If the user is recovered, this value reverts to `user:{emailid}` and the recovered user retains the role in the binding. * `deleted:serviceAccount:{emailid}?uid={uniqueid}`: An email address (plus unique identifier) representing a service account that has been recently deleted. For example, `my-other-app@appspot.gserviceaccount.com?uid=123456789012345678901`. If the service account is undeleted, this value reverts to `serviceAccount:{emailid}` and the undeleted service account retains the role in the binding. * `deleted:group:{emailid}?uid={uniqueid}`: An email address (plus unique identifier) representing a Google group that has been recently deleted. For example, `admins@example.com?uid=123456789012345678901`. If the group is recovered, this value reverts to `group:{emailid}` and the recovered group retains the role in the binding. * `domain:{domain}`: The G Suite domain (primary) that represents all the users of that domain. For example, `google.com` or `example.com`. + "members": [ # Specifies the principals requesting access for a Google Cloud resource. `members` can have the following values: * `allUsers`: A special identifier that represents anyone who is on the internet; with or without a Google account. * `allAuthenticatedUsers`: A special identifier that represents anyone who is authenticated with a Google account or a service account. * `user:{emailid}`: An email address that represents a specific Google account. For example, `alice@example.com` . * `serviceAccount:{emailid}`: An email address that represents a Google service account. For example, `my-other-app@appspot.gserviceaccount.com`. * `serviceAccount:{projectid}.svc.id.goog[{namespace}/{kubernetes-sa}]`: An identifier for a [Kubernetes service account](https://cloud.google.com/kubernetes-engine/docs/how-to/kubernetes-service-accounts). For example, `my-project.svc.id.goog[my-namespace/my-kubernetes-sa]`. * `group:{emailid}`: An email address that represents a Google group. For example, `admins@example.com`. * `deleted:user:{emailid}?uid={uniqueid}`: An email address (plus unique identifier) representing a user that has been recently deleted. For example, `alice@example.com?uid=123456789012345678901`. If the user is recovered, this value reverts to `user:{emailid}` and the recovered user retains the role in the binding. * `deleted:serviceAccount:{emailid}?uid={uniqueid}`: An email address (plus unique identifier) representing a service account that has been recently deleted. For example, `my-other-app@appspot.gserviceaccount.com?uid=123456789012345678901`. If the service account is undeleted, this value reverts to `serviceAccount:{emailid}` and the undeleted service account retains the role in the binding. * `deleted:group:{emailid}?uid={uniqueid}`: An email address (plus unique identifier) representing a Google group that has been recently deleted. For example, `admins@example.com?uid=123456789012345678901`. If the group is recovered, this value reverts to `group:{emailid}` and the recovered group retains the role in the binding. * `domain:{domain}`: The G Suite domain (primary) that represents all the users of that domain. For example, `google.com` or `example.com`. "A String", ], "role": "A String", # Role that is assigned to the list of `members`, or principals. For example, `roles/viewer`, `roles/editor`, or `roles/owner`. @@ -260,7 +260,7 @@

Method Details

"location": "A String", # Optional. String indicating the location of the expression for error reporting, e.g. a file name and a position in the file. "title": "A String", # Optional. Title for the expression, i.e. a short string describing its purpose. This can be used e.g. in UIs which allow to enter the expression. }, - "members": [ # Specifies the principals requesting access for a Google Cloud resource. `members` can have the following values: * `allUsers`: A special identifier that represents anyone who is on the internet; with or without a Google account. * `allAuthenticatedUsers`: A special identifier that represents anyone who is authenticated with a Google account or a service account. * `user:{emailid}`: An email address that represents a specific Google account. For example, `alice@example.com` . * `serviceAccount:{emailid}`: An email address that represents a service account. For example, `my-other-app@appspot.gserviceaccount.com`. * `group:{emailid}`: An email address that represents a Google group. For example, `admins@example.com`. * `deleted:user:{emailid}?uid={uniqueid}`: An email address (plus unique identifier) representing a user that has been recently deleted. For example, `alice@example.com?uid=123456789012345678901`. If the user is recovered, this value reverts to `user:{emailid}` and the recovered user retains the role in the binding. * `deleted:serviceAccount:{emailid}?uid={uniqueid}`: An email address (plus unique identifier) representing a service account that has been recently deleted. For example, `my-other-app@appspot.gserviceaccount.com?uid=123456789012345678901`. If the service account is undeleted, this value reverts to `serviceAccount:{emailid}` and the undeleted service account retains the role in the binding. * `deleted:group:{emailid}?uid={uniqueid}`: An email address (plus unique identifier) representing a Google group that has been recently deleted. For example, `admins@example.com?uid=123456789012345678901`. If the group is recovered, this value reverts to `group:{emailid}` and the recovered group retains the role in the binding. * `domain:{domain}`: The G Suite domain (primary) that represents all the users of that domain. For example, `google.com` or `example.com`. + "members": [ # Specifies the principals requesting access for a Google Cloud resource. `members` can have the following values: * `allUsers`: A special identifier that represents anyone who is on the internet; with or without a Google account. * `allAuthenticatedUsers`: A special identifier that represents anyone who is authenticated with a Google account or a service account. * `user:{emailid}`: An email address that represents a specific Google account. For example, `alice@example.com` . * `serviceAccount:{emailid}`: An email address that represents a Google service account. For example, `my-other-app@appspot.gserviceaccount.com`. * `serviceAccount:{projectid}.svc.id.goog[{namespace}/{kubernetes-sa}]`: An identifier for a [Kubernetes service account](https://cloud.google.com/kubernetes-engine/docs/how-to/kubernetes-service-accounts). For example, `my-project.svc.id.goog[my-namespace/my-kubernetes-sa]`. * `group:{emailid}`: An email address that represents a Google group. For example, `admins@example.com`. * `deleted:user:{emailid}?uid={uniqueid}`: An email address (plus unique identifier) representing a user that has been recently deleted. For example, `alice@example.com?uid=123456789012345678901`. If the user is recovered, this value reverts to `user:{emailid}` and the recovered user retains the role in the binding. * `deleted:serviceAccount:{emailid}?uid={uniqueid}`: An email address (plus unique identifier) representing a service account that has been recently deleted. For example, `my-other-app@appspot.gserviceaccount.com?uid=123456789012345678901`. If the service account is undeleted, this value reverts to `serviceAccount:{emailid}` and the undeleted service account retains the role in the binding. * `deleted:group:{emailid}?uid={uniqueid}`: An email address (plus unique identifier) representing a Google group that has been recently deleted. For example, `admins@example.com?uid=123456789012345678901`. If the group is recovered, this value reverts to `group:{emailid}` and the recovered group retains the role in the binding. * `domain:{domain}`: The G Suite domain (primary) that represents all the users of that domain. For example, `google.com` or `example.com`. "A String", ], "role": "A String", # Role that is assigned to the list of `members`, or principals. For example, `roles/viewer`, `roles/editor`, or `roles/owner`. @@ -312,7 +312,7 @@

Method Details

{ # The IAP configurable settings. "accessSettings": { # Access related settings for IAP protected apps. # Top level wrapper for all access related setting in IAP - "allowedDomainsSettings": { # Configuration for IAP allowed domains. Allows the customers to restrict access to the app by only allowing requests from the listed trusted domains. # Settings to configure and enable allowed domains. + "allowedDomainsSettings": { # Configuration for IAP allowed domains. Lets you to restrict access to an app and allow access to only the domains that you list. # Settings to configure and enable allowed domains. "domains": [ # List of trusted domains. "A String", ], @@ -378,7 +378,7 @@

Method Details

{ # The IAP configurable settings. "accessSettings": { # Access related settings for IAP protected apps. # Top level wrapper for all access related setting in IAP - "allowedDomainsSettings": { # Configuration for IAP allowed domains. Allows the customers to restrict access to the app by only allowing requests from the listed trusted domains. # Settings to configure and enable allowed domains. + "allowedDomainsSettings": { # Configuration for IAP allowed domains. Lets you to restrict access to an app and allow access to only the domains that you list. # Settings to configure and enable allowed domains. "domains": [ # List of trusted domains. "A String", ], diff --git a/docs/dyn/iap_v1beta1.v1beta1.html b/docs/dyn/iap_v1beta1.v1beta1.html index 5aeb7d4042e..6235b600a2e 100644 --- a/docs/dyn/iap_v1beta1.v1beta1.html +++ b/docs/dyn/iap_v1beta1.v1beta1.html @@ -124,7 +124,7 @@

Method Details

"location": "A String", # Optional. String indicating the location of the expression for error reporting, e.g. a file name and a position in the file. "title": "A String", # Optional. Title for the expression, i.e. a short string describing its purpose. This can be used e.g. in UIs which allow to enter the expression. }, - "members": [ # Specifies the principals requesting access for a Google Cloud resource. `members` can have the following values: * `allUsers`: A special identifier that represents anyone who is on the internet; with or without a Google account. * `allAuthenticatedUsers`: A special identifier that represents anyone who is authenticated with a Google account or a service account. * `user:{emailid}`: An email address that represents a specific Google account. For example, `alice@example.com` . * `serviceAccount:{emailid}`: An email address that represents a service account. For example, `my-other-app@appspot.gserviceaccount.com`. * `group:{emailid}`: An email address that represents a Google group. For example, `admins@example.com`. * `deleted:user:{emailid}?uid={uniqueid}`: An email address (plus unique identifier) representing a user that has been recently deleted. For example, `alice@example.com?uid=123456789012345678901`. If the user is recovered, this value reverts to `user:{emailid}` and the recovered user retains the role in the binding. * `deleted:serviceAccount:{emailid}?uid={uniqueid}`: An email address (plus unique identifier) representing a service account that has been recently deleted. For example, `my-other-app@appspot.gserviceaccount.com?uid=123456789012345678901`. If the service account is undeleted, this value reverts to `serviceAccount:{emailid}` and the undeleted service account retains the role in the binding. * `deleted:group:{emailid}?uid={uniqueid}`: An email address (plus unique identifier) representing a Google group that has been recently deleted. For example, `admins@example.com?uid=123456789012345678901`. If the group is recovered, this value reverts to `group:{emailid}` and the recovered group retains the role in the binding. * `domain:{domain}`: The G Suite domain (primary) that represents all the users of that domain. For example, `google.com` or `example.com`. + "members": [ # Specifies the principals requesting access for a Google Cloud resource. `members` can have the following values: * `allUsers`: A special identifier that represents anyone who is on the internet; with or without a Google account. * `allAuthenticatedUsers`: A special identifier that represents anyone who is authenticated with a Google account or a service account. * `user:{emailid}`: An email address that represents a specific Google account. For example, `alice@example.com` . * `serviceAccount:{emailid}`: An email address that represents a Google service account. For example, `my-other-app@appspot.gserviceaccount.com`. * `serviceAccount:{projectid}.svc.id.goog[{namespace}/{kubernetes-sa}]`: An identifier for a [Kubernetes service account](https://cloud.google.com/kubernetes-engine/docs/how-to/kubernetes-service-accounts). For example, `my-project.svc.id.goog[my-namespace/my-kubernetes-sa]`. * `group:{emailid}`: An email address that represents a Google group. For example, `admins@example.com`. * `deleted:user:{emailid}?uid={uniqueid}`: An email address (plus unique identifier) representing a user that has been recently deleted. For example, `alice@example.com?uid=123456789012345678901`. If the user is recovered, this value reverts to `user:{emailid}` and the recovered user retains the role in the binding. * `deleted:serviceAccount:{emailid}?uid={uniqueid}`: An email address (plus unique identifier) representing a service account that has been recently deleted. For example, `my-other-app@appspot.gserviceaccount.com?uid=123456789012345678901`. If the service account is undeleted, this value reverts to `serviceAccount:{emailid}` and the undeleted service account retains the role in the binding. * `deleted:group:{emailid}?uid={uniqueid}`: An email address (plus unique identifier) representing a Google group that has been recently deleted. For example, `admins@example.com?uid=123456789012345678901`. If the group is recovered, this value reverts to `group:{emailid}` and the recovered group retains the role in the binding. * `domain:{domain}`: The G Suite domain (primary) that represents all the users of that domain. For example, `google.com` or `example.com`. "A String", ], "role": "A String", # Role that is assigned to the list of `members`, or principals. For example, `roles/viewer`, `roles/editor`, or `roles/owner`. @@ -154,7 +154,7 @@

Method Details

"location": "A String", # Optional. String indicating the location of the expression for error reporting, e.g. a file name and a position in the file. "title": "A String", # Optional. Title for the expression, i.e. a short string describing its purpose. This can be used e.g. in UIs which allow to enter the expression. }, - "members": [ # Specifies the principals requesting access for a Google Cloud resource. `members` can have the following values: * `allUsers`: A special identifier that represents anyone who is on the internet; with or without a Google account. * `allAuthenticatedUsers`: A special identifier that represents anyone who is authenticated with a Google account or a service account. * `user:{emailid}`: An email address that represents a specific Google account. For example, `alice@example.com` . * `serviceAccount:{emailid}`: An email address that represents a service account. For example, `my-other-app@appspot.gserviceaccount.com`. * `group:{emailid}`: An email address that represents a Google group. For example, `admins@example.com`. * `deleted:user:{emailid}?uid={uniqueid}`: An email address (plus unique identifier) representing a user that has been recently deleted. For example, `alice@example.com?uid=123456789012345678901`. If the user is recovered, this value reverts to `user:{emailid}` and the recovered user retains the role in the binding. * `deleted:serviceAccount:{emailid}?uid={uniqueid}`: An email address (plus unique identifier) representing a service account that has been recently deleted. For example, `my-other-app@appspot.gserviceaccount.com?uid=123456789012345678901`. If the service account is undeleted, this value reverts to `serviceAccount:{emailid}` and the undeleted service account retains the role in the binding. * `deleted:group:{emailid}?uid={uniqueid}`: An email address (plus unique identifier) representing a Google group that has been recently deleted. For example, `admins@example.com?uid=123456789012345678901`. If the group is recovered, this value reverts to `group:{emailid}` and the recovered group retains the role in the binding. * `domain:{domain}`: The G Suite domain (primary) that represents all the users of that domain. For example, `google.com` or `example.com`. + "members": [ # Specifies the principals requesting access for a Google Cloud resource. `members` can have the following values: * `allUsers`: A special identifier that represents anyone who is on the internet; with or without a Google account. * `allAuthenticatedUsers`: A special identifier that represents anyone who is authenticated with a Google account or a service account. * `user:{emailid}`: An email address that represents a specific Google account. For example, `alice@example.com` . * `serviceAccount:{emailid}`: An email address that represents a Google service account. For example, `my-other-app@appspot.gserviceaccount.com`. * `serviceAccount:{projectid}.svc.id.goog[{namespace}/{kubernetes-sa}]`: An identifier for a [Kubernetes service account](https://cloud.google.com/kubernetes-engine/docs/how-to/kubernetes-service-accounts). For example, `my-project.svc.id.goog[my-namespace/my-kubernetes-sa]`. * `group:{emailid}`: An email address that represents a Google group. For example, `admins@example.com`. * `deleted:user:{emailid}?uid={uniqueid}`: An email address (plus unique identifier) representing a user that has been recently deleted. For example, `alice@example.com?uid=123456789012345678901`. If the user is recovered, this value reverts to `user:{emailid}` and the recovered user retains the role in the binding. * `deleted:serviceAccount:{emailid}?uid={uniqueid}`: An email address (plus unique identifier) representing a service account that has been recently deleted. For example, `my-other-app@appspot.gserviceaccount.com?uid=123456789012345678901`. If the service account is undeleted, this value reverts to `serviceAccount:{emailid}` and the undeleted service account retains the role in the binding. * `deleted:group:{emailid}?uid={uniqueid}`: An email address (plus unique identifier) representing a Google group that has been recently deleted. For example, `admins@example.com?uid=123456789012345678901`. If the group is recovered, this value reverts to `group:{emailid}` and the recovered group retains the role in the binding. * `domain:{domain}`: The G Suite domain (primary) that represents all the users of that domain. For example, `google.com` or `example.com`. "A String", ], "role": "A String", # Role that is assigned to the list of `members`, or principals. For example, `roles/viewer`, `roles/editor`, or `roles/owner`. @@ -182,7 +182,7 @@

Method Details

"location": "A String", # Optional. String indicating the location of the expression for error reporting, e.g. a file name and a position in the file. "title": "A String", # Optional. Title for the expression, i.e. a short string describing its purpose. This can be used e.g. in UIs which allow to enter the expression. }, - "members": [ # Specifies the principals requesting access for a Google Cloud resource. `members` can have the following values: * `allUsers`: A special identifier that represents anyone who is on the internet; with or without a Google account. * `allAuthenticatedUsers`: A special identifier that represents anyone who is authenticated with a Google account or a service account. * `user:{emailid}`: An email address that represents a specific Google account. For example, `alice@example.com` . * `serviceAccount:{emailid}`: An email address that represents a service account. For example, `my-other-app@appspot.gserviceaccount.com`. * `group:{emailid}`: An email address that represents a Google group. For example, `admins@example.com`. * `deleted:user:{emailid}?uid={uniqueid}`: An email address (plus unique identifier) representing a user that has been recently deleted. For example, `alice@example.com?uid=123456789012345678901`. If the user is recovered, this value reverts to `user:{emailid}` and the recovered user retains the role in the binding. * `deleted:serviceAccount:{emailid}?uid={uniqueid}`: An email address (plus unique identifier) representing a service account that has been recently deleted. For example, `my-other-app@appspot.gserviceaccount.com?uid=123456789012345678901`. If the service account is undeleted, this value reverts to `serviceAccount:{emailid}` and the undeleted service account retains the role in the binding. * `deleted:group:{emailid}?uid={uniqueid}`: An email address (plus unique identifier) representing a Google group that has been recently deleted. For example, `admins@example.com?uid=123456789012345678901`. If the group is recovered, this value reverts to `group:{emailid}` and the recovered group retains the role in the binding. * `domain:{domain}`: The G Suite domain (primary) that represents all the users of that domain. For example, `google.com` or `example.com`. + "members": [ # Specifies the principals requesting access for a Google Cloud resource. `members` can have the following values: * `allUsers`: A special identifier that represents anyone who is on the internet; with or without a Google account. * `allAuthenticatedUsers`: A special identifier that represents anyone who is authenticated with a Google account or a service account. * `user:{emailid}`: An email address that represents a specific Google account. For example, `alice@example.com` . * `serviceAccount:{emailid}`: An email address that represents a Google service account. For example, `my-other-app@appspot.gserviceaccount.com`. * `serviceAccount:{projectid}.svc.id.goog[{namespace}/{kubernetes-sa}]`: An identifier for a [Kubernetes service account](https://cloud.google.com/kubernetes-engine/docs/how-to/kubernetes-service-accounts). For example, `my-project.svc.id.goog[my-namespace/my-kubernetes-sa]`. * `group:{emailid}`: An email address that represents a Google group. For example, `admins@example.com`. * `deleted:user:{emailid}?uid={uniqueid}`: An email address (plus unique identifier) representing a user that has been recently deleted. For example, `alice@example.com?uid=123456789012345678901`. If the user is recovered, this value reverts to `user:{emailid}` and the recovered user retains the role in the binding. * `deleted:serviceAccount:{emailid}?uid={uniqueid}`: An email address (plus unique identifier) representing a service account that has been recently deleted. For example, `my-other-app@appspot.gserviceaccount.com?uid=123456789012345678901`. If the service account is undeleted, this value reverts to `serviceAccount:{emailid}` and the undeleted service account retains the role in the binding. * `deleted:group:{emailid}?uid={uniqueid}`: An email address (plus unique identifier) representing a Google group that has been recently deleted. For example, `admins@example.com?uid=123456789012345678901`. If the group is recovered, this value reverts to `group:{emailid}` and the recovered group retains the role in the binding. * `domain:{domain}`: The G Suite domain (primary) that represents all the users of that domain. For example, `google.com` or `example.com`. "A String", ], "role": "A String", # Role that is assigned to the list of `members`, or principals. For example, `roles/viewer`, `roles/editor`, or `roles/owner`. diff --git a/docs/dyn/index.md b/docs/dyn/index.md index b27ccb05684..e4f88ea62fb 100644 --- a/docs/dyn/index.md +++ b/docs/dyn/index.md @@ -319,6 +319,7 @@ ## connectors * [v1](http://googleapis.github.io/google-api-python-client/docs/dyn/connectors_v1.html) +* [v2](http://googleapis.github.io/google-api-python-client/docs/dyn/connectors_v2.html) ## contactcenterinsights @@ -469,6 +470,7 @@ ## drivelabels * [v2](http://googleapis.github.io/google-api-python-client/docs/dyn/drivelabels_v2.html) +* [v2beta](http://googleapis.github.io/google-api-python-client/docs/dyn/drivelabels_v2beta.html) ## essentialcontacts @@ -819,6 +821,7 @@ ## policysimulator * [v1](http://googleapis.github.io/google-api-python-client/docs/dyn/policysimulator_v1.html) +* [v1alpha](http://googleapis.github.io/google-api-python-client/docs/dyn/policysimulator_v1alpha.html) * [v1beta1](http://googleapis.github.io/google-api-python-client/docs/dyn/policysimulator_v1beta1.html) diff --git a/docs/dyn/language_v1beta2.documents.html b/docs/dyn/language_v1beta2.documents.html index e74fc6437e3..39c00ed97e6 100644 --- a/docs/dyn/language_v1beta2.documents.html +++ b/docs/dyn/language_v1beta2.documents.html @@ -355,7 +355,7 @@

Method Details

"type": "A String", # Required. If the type is not set or is `TYPE_UNSPECIFIED`, returns an `INVALID_ARGUMENT` error. }, "encodingType": "A String", # The encoding type used by the API to calculate offsets. - "features": { # All available features for sentiment, syntax, and semantic analysis. Setting each one to true will enable that specific analysis for the input. Next ID: 10 # Required. The enabled features. + "features": { # All available features for sentiment, syntax, and semantic analysis. Setting each one to true will enable that specific analysis for the input. Next ID: 11 # Required. The enabled features. "classifyText": True or False, # Classify the full document into categories. If this is true, the API will use the default model which classifies into a [predefined taxonomy](https://cloud.google.com/natural-language/docs/categories). "extractDocumentSentiment": True or False, # Extract document-level sentiment. "extractEntities": True or False, # Extract entities. diff --git a/docs/dyn/logging_v2.projects.metrics.html b/docs/dyn/logging_v2.projects.metrics.html index 15127c0bb5c..7acd2877183 100644 --- a/docs/dyn/logging_v2.projects.metrics.html +++ b/docs/dyn/logging_v2.projects.metrics.html @@ -111,6 +111,7 @@

Method Details

The object takes the form of: { # Describes a logs-based metric. The value of the metric is the number of log entries that match a logs filter in a given time interval.Logs-based metrics can also be used to extract values from logs and create a distribution of the values. The distribution records the statistics of the extracted values along with an optional histogram of the values as specified by the bucket options. + "bucketName": "A String", # Optional. The resource name of the Log Bucket that owns the Log Metric. Only Log Buckets in projects are supported. The bucket has to be in the same project as the metric.For example:projects/my-project/locations/global/buckets/my-bucketIf empty, then the Log Metric is considered a non-Bucket Log Metric. "bucketOptions": { # BucketOptions describes the bucket boundaries used to create a histogram for the distribution. The buckets can be in a linear sequence, an exponential sequence, or each bucket can be specified explicitly. BucketOptions does not include the number of values in each bucket.A bucket has an inclusive lower bound and exclusive upper bound for the values that are counted for that bucket. The upper bound of a bucket must be strictly greater than the lower bound. The sequence of N buckets for a distribution consists of an underflow bucket (number 0), zero or more finite buckets (number 1 through N - 2) and an overflow bucket (number N - 1). The buckets are contiguous: the lower bound of bucket i (i > 0) is the same as the upper bound of bucket i - 1. The buckets span the whole range of finite values: lower bound of the underflow bucket is -infinity and the upper bound of the overflow bucket is +infinity. The finite buckets are so-called because both bounds are finite. # Optional. The bucket_options are required when the logs-based metric is using a DISTRIBUTION value type and it describes the bucket boundaries used to create a histogram of the extracted values. "explicitBuckets": { # Specifies a set of buckets with arbitrary widths.There are size(bounds) + 1 (= N) buckets. Bucket i has the following boundaries:Upper bound (0 <= i < N-1): boundsi Lower bound (1 <= i < N); boundsi - 1The bounds field must contain at least one element. If bounds has only one element, then there are no finite buckets, and that single element is the common boundary of the overflow and underflow buckets. # The explicit buckets. "bounds": [ # The values must be monotonically increasing. @@ -132,7 +133,7 @@

Method Details

"description": "A String", # Optional. A description of this metric, which is used in documentation. The maximum length of the description is 8000 characters. "disabled": True or False, # Optional. If set to True, then this metric is disabled and it does not generate any points. "filter": "A String", # Required. An advanced logs filter (https://cloud.google.com/logging/docs/view/advanced_filters) which is used to match log entries. Example: "resource.type=gae_app AND severity>=ERROR" The maximum length of the filter is 20000 characters. - "labelExtractors": { # Optional. A map from a label key string to an extractor expression which is used to extract data from a log entry field and assign as the label value. Each label key specified in the LabelDescriptor must have an associated extractor expression in this map. The syntax of the extractor expression is the same as for the value_extractor field.The extracted value is converted to the type defined in the label descriptor. If the either the extraction or the type conversion fails, the label will have a default value. The default value for a string label is an empty string, for an integer label its 0, and for a boolean label its false.Note that there are upper bounds on the maximum number of labels and the number of active time series that are allowed in a project. + "labelExtractors": { # Optional. A map from a label key string to an extractor expression which is used to extract data from a log entry field and assign as the label value. Each label key specified in the LabelDescriptor must have an associated extractor expression in this map. The syntax of the extractor expression is the same as for the value_extractor field.The extracted value is converted to the type defined in the label descriptor. If either the extraction or the type conversion fails, the label will have a default value. The default value for a string label is an empty string, for an integer label its 0, and for a boolean label its false.Note that there are upper bounds on the maximum number of labels and the number of active time series that are allowed in a project. "a_key": "A String", }, "metricDescriptor": { # Defines a metric type and its schema. Once a metric descriptor is created, deleting or altering it stops data collection and makes the metric type's existing data unusable. # Optional. The metric descriptor associated with the logs-based metric. If unspecified, it uses a default metric descriptor with a DELTA metric kind, INT64 value type, with no labels and a unit of "1". Such a metric counts the number of log entries matching the filter expression.The name, type, and description fields in the metric_descriptor are output only, and is constructed using the name and description field in the LogMetric.To create a logs-based metric that records a distribution of log values, a DELTA metric kind with a DISTRIBUTION value type must be used along with a value_extractor expression in the LogMetric.Each label in the metric descriptor must have a matching label name as the key and an extractor expression as the value in the label_extractors map.The metric_kind and value_type fields in the metric_descriptor cannot be updated once initially configured. New labels can be added in the metric_descriptor, but existing labels cannot be modified except for their description. @@ -175,6 +176,7 @@

Method Details

An object of the form: { # Describes a logs-based metric. The value of the metric is the number of log entries that match a logs filter in a given time interval.Logs-based metrics can also be used to extract values from logs and create a distribution of the values. The distribution records the statistics of the extracted values along with an optional histogram of the values as specified by the bucket options. + "bucketName": "A String", # Optional. The resource name of the Log Bucket that owns the Log Metric. Only Log Buckets in projects are supported. The bucket has to be in the same project as the metric.For example:projects/my-project/locations/global/buckets/my-bucketIf empty, then the Log Metric is considered a non-Bucket Log Metric. "bucketOptions": { # BucketOptions describes the bucket boundaries used to create a histogram for the distribution. The buckets can be in a linear sequence, an exponential sequence, or each bucket can be specified explicitly. BucketOptions does not include the number of values in each bucket.A bucket has an inclusive lower bound and exclusive upper bound for the values that are counted for that bucket. The upper bound of a bucket must be strictly greater than the lower bound. The sequence of N buckets for a distribution consists of an underflow bucket (number 0), zero or more finite buckets (number 1 through N - 2) and an overflow bucket (number N - 1). The buckets are contiguous: the lower bound of bucket i (i > 0) is the same as the upper bound of bucket i - 1. The buckets span the whole range of finite values: lower bound of the underflow bucket is -infinity and the upper bound of the overflow bucket is +infinity. The finite buckets are so-called because both bounds are finite. # Optional. The bucket_options are required when the logs-based metric is using a DISTRIBUTION value type and it describes the bucket boundaries used to create a histogram of the extracted values. "explicitBuckets": { # Specifies a set of buckets with arbitrary widths.There are size(bounds) + 1 (= N) buckets. Bucket i has the following boundaries:Upper bound (0 <= i < N-1): boundsi Lower bound (1 <= i < N); boundsi - 1The bounds field must contain at least one element. If bounds has only one element, then there are no finite buckets, and that single element is the common boundary of the overflow and underflow buckets. # The explicit buckets. "bounds": [ # The values must be monotonically increasing. @@ -196,7 +198,7 @@

Method Details

"description": "A String", # Optional. A description of this metric, which is used in documentation. The maximum length of the description is 8000 characters. "disabled": True or False, # Optional. If set to True, then this metric is disabled and it does not generate any points. "filter": "A String", # Required. An advanced logs filter (https://cloud.google.com/logging/docs/view/advanced_filters) which is used to match log entries. Example: "resource.type=gae_app AND severity>=ERROR" The maximum length of the filter is 20000 characters. - "labelExtractors": { # Optional. A map from a label key string to an extractor expression which is used to extract data from a log entry field and assign as the label value. Each label key specified in the LabelDescriptor must have an associated extractor expression in this map. The syntax of the extractor expression is the same as for the value_extractor field.The extracted value is converted to the type defined in the label descriptor. If the either the extraction or the type conversion fails, the label will have a default value. The default value for a string label is an empty string, for an integer label its 0, and for a boolean label its false.Note that there are upper bounds on the maximum number of labels and the number of active time series that are allowed in a project. + "labelExtractors": { # Optional. A map from a label key string to an extractor expression which is used to extract data from a log entry field and assign as the label value. Each label key specified in the LabelDescriptor must have an associated extractor expression in this map. The syntax of the extractor expression is the same as for the value_extractor field.The extracted value is converted to the type defined in the label descriptor. If either the extraction or the type conversion fails, the label will have a default value. The default value for a string label is an empty string, for an integer label its 0, and for a boolean label its false.Note that there are upper bounds on the maximum number of labels and the number of active time series that are allowed in a project. "a_key": "A String", }, "metricDescriptor": { # Defines a metric type and its schema. Once a metric descriptor is created, deleting or altering it stops data collection and makes the metric type's existing data unusable. # Optional. The metric descriptor associated with the logs-based metric. If unspecified, it uses a default metric descriptor with a DELTA metric kind, INT64 value type, with no labels and a unit of "1". Such a metric counts the number of log entries matching the filter expression.The name, type, and description fields in the metric_descriptor are output only, and is constructed using the name and description field in the LogMetric.To create a logs-based metric that records a distribution of log values, a DELTA metric kind with a DISTRIBUTION value type must be used along with a value_extractor expression in the LogMetric.Each label in the metric descriptor must have a matching label name as the key and an extractor expression as the value in the label_extractors map.The metric_kind and value_type fields in the metric_descriptor cannot be updated once initially configured. New labels can be added in the metric_descriptor, but existing labels cannot be modified except for their description. @@ -264,6 +266,7 @@

Method Details

An object of the form: { # Describes a logs-based metric. The value of the metric is the number of log entries that match a logs filter in a given time interval.Logs-based metrics can also be used to extract values from logs and create a distribution of the values. The distribution records the statistics of the extracted values along with an optional histogram of the values as specified by the bucket options. + "bucketName": "A String", # Optional. The resource name of the Log Bucket that owns the Log Metric. Only Log Buckets in projects are supported. The bucket has to be in the same project as the metric.For example:projects/my-project/locations/global/buckets/my-bucketIf empty, then the Log Metric is considered a non-Bucket Log Metric. "bucketOptions": { # BucketOptions describes the bucket boundaries used to create a histogram for the distribution. The buckets can be in a linear sequence, an exponential sequence, or each bucket can be specified explicitly. BucketOptions does not include the number of values in each bucket.A bucket has an inclusive lower bound and exclusive upper bound for the values that are counted for that bucket. The upper bound of a bucket must be strictly greater than the lower bound. The sequence of N buckets for a distribution consists of an underflow bucket (number 0), zero or more finite buckets (number 1 through N - 2) and an overflow bucket (number N - 1). The buckets are contiguous: the lower bound of bucket i (i > 0) is the same as the upper bound of bucket i - 1. The buckets span the whole range of finite values: lower bound of the underflow bucket is -infinity and the upper bound of the overflow bucket is +infinity. The finite buckets are so-called because both bounds are finite. # Optional. The bucket_options are required when the logs-based metric is using a DISTRIBUTION value type and it describes the bucket boundaries used to create a histogram of the extracted values. "explicitBuckets": { # Specifies a set of buckets with arbitrary widths.There are size(bounds) + 1 (= N) buckets. Bucket i has the following boundaries:Upper bound (0 <= i < N-1): boundsi Lower bound (1 <= i < N); boundsi - 1The bounds field must contain at least one element. If bounds has only one element, then there are no finite buckets, and that single element is the common boundary of the overflow and underflow buckets. # The explicit buckets. "bounds": [ # The values must be monotonically increasing. @@ -285,7 +288,7 @@

Method Details

"description": "A String", # Optional. A description of this metric, which is used in documentation. The maximum length of the description is 8000 characters. "disabled": True or False, # Optional. If set to True, then this metric is disabled and it does not generate any points. "filter": "A String", # Required. An advanced logs filter (https://cloud.google.com/logging/docs/view/advanced_filters) which is used to match log entries. Example: "resource.type=gae_app AND severity>=ERROR" The maximum length of the filter is 20000 characters. - "labelExtractors": { # Optional. A map from a label key string to an extractor expression which is used to extract data from a log entry field and assign as the label value. Each label key specified in the LabelDescriptor must have an associated extractor expression in this map. The syntax of the extractor expression is the same as for the value_extractor field.The extracted value is converted to the type defined in the label descriptor. If the either the extraction or the type conversion fails, the label will have a default value. The default value for a string label is an empty string, for an integer label its 0, and for a boolean label its false.Note that there are upper bounds on the maximum number of labels and the number of active time series that are allowed in a project. + "labelExtractors": { # Optional. A map from a label key string to an extractor expression which is used to extract data from a log entry field and assign as the label value. Each label key specified in the LabelDescriptor must have an associated extractor expression in this map. The syntax of the extractor expression is the same as for the value_extractor field.The extracted value is converted to the type defined in the label descriptor. If either the extraction or the type conversion fails, the label will have a default value. The default value for a string label is an empty string, for an integer label its 0, and for a boolean label its false.Note that there are upper bounds on the maximum number of labels and the number of active time series that are allowed in a project. "a_key": "A String", }, "metricDescriptor": { # Defines a metric type and its schema. Once a metric descriptor is created, deleting or altering it stops data collection and makes the metric type's existing data unusable. # Optional. The metric descriptor associated with the logs-based metric. If unspecified, it uses a default metric descriptor with a DELTA metric kind, INT64 value type, with no labels and a unit of "1". Such a metric counts the number of log entries matching the filter expression.The name, type, and description fields in the metric_descriptor are output only, and is constructed using the name and description field in the LogMetric.To create a logs-based metric that records a distribution of log values, a DELTA metric kind with a DISTRIBUTION value type must be used along with a value_extractor expression in the LogMetric.Each label in the metric descriptor must have a matching label name as the key and an extractor expression as the value in the label_extractors map.The metric_kind and value_type fields in the metric_descriptor cannot be updated once initially configured. New labels can be added in the metric_descriptor, but existing labels cannot be modified except for their description. @@ -339,6 +342,7 @@

Method Details

{ # Result returned from ListLogMetrics. "metrics": [ # A list of logs-based metrics. { # Describes a logs-based metric. The value of the metric is the number of log entries that match a logs filter in a given time interval.Logs-based metrics can also be used to extract values from logs and create a distribution of the values. The distribution records the statistics of the extracted values along with an optional histogram of the values as specified by the bucket options. + "bucketName": "A String", # Optional. The resource name of the Log Bucket that owns the Log Metric. Only Log Buckets in projects are supported. The bucket has to be in the same project as the metric.For example:projects/my-project/locations/global/buckets/my-bucketIf empty, then the Log Metric is considered a non-Bucket Log Metric. "bucketOptions": { # BucketOptions describes the bucket boundaries used to create a histogram for the distribution. The buckets can be in a linear sequence, an exponential sequence, or each bucket can be specified explicitly. BucketOptions does not include the number of values in each bucket.A bucket has an inclusive lower bound and exclusive upper bound for the values that are counted for that bucket. The upper bound of a bucket must be strictly greater than the lower bound. The sequence of N buckets for a distribution consists of an underflow bucket (number 0), zero or more finite buckets (number 1 through N - 2) and an overflow bucket (number N - 1). The buckets are contiguous: the lower bound of bucket i (i > 0) is the same as the upper bound of bucket i - 1. The buckets span the whole range of finite values: lower bound of the underflow bucket is -infinity and the upper bound of the overflow bucket is +infinity. The finite buckets are so-called because both bounds are finite. # Optional. The bucket_options are required when the logs-based metric is using a DISTRIBUTION value type and it describes the bucket boundaries used to create a histogram of the extracted values. "explicitBuckets": { # Specifies a set of buckets with arbitrary widths.There are size(bounds) + 1 (= N) buckets. Bucket i has the following boundaries:Upper bound (0 <= i < N-1): boundsi Lower bound (1 <= i < N); boundsi - 1The bounds field must contain at least one element. If bounds has only one element, then there are no finite buckets, and that single element is the common boundary of the overflow and underflow buckets. # The explicit buckets. "bounds": [ # The values must be monotonically increasing. @@ -360,7 +364,7 @@

Method Details

"description": "A String", # Optional. A description of this metric, which is used in documentation. The maximum length of the description is 8000 characters. "disabled": True or False, # Optional. If set to True, then this metric is disabled and it does not generate any points. "filter": "A String", # Required. An advanced logs filter (https://cloud.google.com/logging/docs/view/advanced_filters) which is used to match log entries. Example: "resource.type=gae_app AND severity>=ERROR" The maximum length of the filter is 20000 characters. - "labelExtractors": { # Optional. A map from a label key string to an extractor expression which is used to extract data from a log entry field and assign as the label value. Each label key specified in the LabelDescriptor must have an associated extractor expression in this map. The syntax of the extractor expression is the same as for the value_extractor field.The extracted value is converted to the type defined in the label descriptor. If the either the extraction or the type conversion fails, the label will have a default value. The default value for a string label is an empty string, for an integer label its 0, and for a boolean label its false.Note that there are upper bounds on the maximum number of labels and the number of active time series that are allowed in a project. + "labelExtractors": { # Optional. A map from a label key string to an extractor expression which is used to extract data from a log entry field and assign as the label value. Each label key specified in the LabelDescriptor must have an associated extractor expression in this map. The syntax of the extractor expression is the same as for the value_extractor field.The extracted value is converted to the type defined in the label descriptor. If either the extraction or the type conversion fails, the label will have a default value. The default value for a string label is an empty string, for an integer label its 0, and for a boolean label its false.Note that there are upper bounds on the maximum number of labels and the number of active time series that are allowed in a project. "a_key": "A String", }, "metricDescriptor": { # Defines a metric type and its schema. Once a metric descriptor is created, deleting or altering it stops data collection and makes the metric type's existing data unusable. # Optional. The metric descriptor associated with the logs-based metric. If unspecified, it uses a default metric descriptor with a DELTA metric kind, INT64 value type, with no labels and a unit of "1". Such a metric counts the number of log entries matching the filter expression.The name, type, and description fields in the metric_descriptor are output only, and is constructed using the name and description field in the LogMetric.To create a logs-based metric that records a distribution of log values, a DELTA metric kind with a DISTRIBUTION value type must be used along with a value_extractor expression in the LogMetric.Each label in the metric descriptor must have a matching label name as the key and an extractor expression as the value in the label_extractors map.The metric_kind and value_type fields in the metric_descriptor cannot be updated once initially configured. New labels can be added in the metric_descriptor, but existing labels cannot be modified except for their description. @@ -422,6 +426,7 @@

Method Details

The object takes the form of: { # Describes a logs-based metric. The value of the metric is the number of log entries that match a logs filter in a given time interval.Logs-based metrics can also be used to extract values from logs and create a distribution of the values. The distribution records the statistics of the extracted values along with an optional histogram of the values as specified by the bucket options. + "bucketName": "A String", # Optional. The resource name of the Log Bucket that owns the Log Metric. Only Log Buckets in projects are supported. The bucket has to be in the same project as the metric.For example:projects/my-project/locations/global/buckets/my-bucketIf empty, then the Log Metric is considered a non-Bucket Log Metric. "bucketOptions": { # BucketOptions describes the bucket boundaries used to create a histogram for the distribution. The buckets can be in a linear sequence, an exponential sequence, or each bucket can be specified explicitly. BucketOptions does not include the number of values in each bucket.A bucket has an inclusive lower bound and exclusive upper bound for the values that are counted for that bucket. The upper bound of a bucket must be strictly greater than the lower bound. The sequence of N buckets for a distribution consists of an underflow bucket (number 0), zero or more finite buckets (number 1 through N - 2) and an overflow bucket (number N - 1). The buckets are contiguous: the lower bound of bucket i (i > 0) is the same as the upper bound of bucket i - 1. The buckets span the whole range of finite values: lower bound of the underflow bucket is -infinity and the upper bound of the overflow bucket is +infinity. The finite buckets are so-called because both bounds are finite. # Optional. The bucket_options are required when the logs-based metric is using a DISTRIBUTION value type and it describes the bucket boundaries used to create a histogram of the extracted values. "explicitBuckets": { # Specifies a set of buckets with arbitrary widths.There are size(bounds) + 1 (= N) buckets. Bucket i has the following boundaries:Upper bound (0 <= i < N-1): boundsi Lower bound (1 <= i < N); boundsi - 1The bounds field must contain at least one element. If bounds has only one element, then there are no finite buckets, and that single element is the common boundary of the overflow and underflow buckets. # The explicit buckets. "bounds": [ # The values must be monotonically increasing. @@ -443,7 +448,7 @@

Method Details

"description": "A String", # Optional. A description of this metric, which is used in documentation. The maximum length of the description is 8000 characters. "disabled": True or False, # Optional. If set to True, then this metric is disabled and it does not generate any points. "filter": "A String", # Required. An advanced logs filter (https://cloud.google.com/logging/docs/view/advanced_filters) which is used to match log entries. Example: "resource.type=gae_app AND severity>=ERROR" The maximum length of the filter is 20000 characters. - "labelExtractors": { # Optional. A map from a label key string to an extractor expression which is used to extract data from a log entry field and assign as the label value. Each label key specified in the LabelDescriptor must have an associated extractor expression in this map. The syntax of the extractor expression is the same as for the value_extractor field.The extracted value is converted to the type defined in the label descriptor. If the either the extraction or the type conversion fails, the label will have a default value. The default value for a string label is an empty string, for an integer label its 0, and for a boolean label its false.Note that there are upper bounds on the maximum number of labels and the number of active time series that are allowed in a project. + "labelExtractors": { # Optional. A map from a label key string to an extractor expression which is used to extract data from a log entry field and assign as the label value. Each label key specified in the LabelDescriptor must have an associated extractor expression in this map. The syntax of the extractor expression is the same as for the value_extractor field.The extracted value is converted to the type defined in the label descriptor. If either the extraction or the type conversion fails, the label will have a default value. The default value for a string label is an empty string, for an integer label its 0, and for a boolean label its false.Note that there are upper bounds on the maximum number of labels and the number of active time series that are allowed in a project. "a_key": "A String", }, "metricDescriptor": { # Defines a metric type and its schema. Once a metric descriptor is created, deleting or altering it stops data collection and makes the metric type's existing data unusable. # Optional. The metric descriptor associated with the logs-based metric. If unspecified, it uses a default metric descriptor with a DELTA metric kind, INT64 value type, with no labels and a unit of "1". Such a metric counts the number of log entries matching the filter expression.The name, type, and description fields in the metric_descriptor are output only, and is constructed using the name and description field in the LogMetric.To create a logs-based metric that records a distribution of log values, a DELTA metric kind with a DISTRIBUTION value type must be used along with a value_extractor expression in the LogMetric.Each label in the metric descriptor must have a matching label name as the key and an extractor expression as the value in the label_extractors map.The metric_kind and value_type fields in the metric_descriptor cannot be updated once initially configured. New labels can be added in the metric_descriptor, but existing labels cannot be modified except for their description. @@ -486,6 +491,7 @@

Method Details

An object of the form: { # Describes a logs-based metric. The value of the metric is the number of log entries that match a logs filter in a given time interval.Logs-based metrics can also be used to extract values from logs and create a distribution of the values. The distribution records the statistics of the extracted values along with an optional histogram of the values as specified by the bucket options. + "bucketName": "A String", # Optional. The resource name of the Log Bucket that owns the Log Metric. Only Log Buckets in projects are supported. The bucket has to be in the same project as the metric.For example:projects/my-project/locations/global/buckets/my-bucketIf empty, then the Log Metric is considered a non-Bucket Log Metric. "bucketOptions": { # BucketOptions describes the bucket boundaries used to create a histogram for the distribution. The buckets can be in a linear sequence, an exponential sequence, or each bucket can be specified explicitly. BucketOptions does not include the number of values in each bucket.A bucket has an inclusive lower bound and exclusive upper bound for the values that are counted for that bucket. The upper bound of a bucket must be strictly greater than the lower bound. The sequence of N buckets for a distribution consists of an underflow bucket (number 0), zero or more finite buckets (number 1 through N - 2) and an overflow bucket (number N - 1). The buckets are contiguous: the lower bound of bucket i (i > 0) is the same as the upper bound of bucket i - 1. The buckets span the whole range of finite values: lower bound of the underflow bucket is -infinity and the upper bound of the overflow bucket is +infinity. The finite buckets are so-called because both bounds are finite. # Optional. The bucket_options are required when the logs-based metric is using a DISTRIBUTION value type and it describes the bucket boundaries used to create a histogram of the extracted values. "explicitBuckets": { # Specifies a set of buckets with arbitrary widths.There are size(bounds) + 1 (= N) buckets. Bucket i has the following boundaries:Upper bound (0 <= i < N-1): boundsi Lower bound (1 <= i < N); boundsi - 1The bounds field must contain at least one element. If bounds has only one element, then there are no finite buckets, and that single element is the common boundary of the overflow and underflow buckets. # The explicit buckets. "bounds": [ # The values must be monotonically increasing. @@ -507,7 +513,7 @@

Method Details

"description": "A String", # Optional. A description of this metric, which is used in documentation. The maximum length of the description is 8000 characters. "disabled": True or False, # Optional. If set to True, then this metric is disabled and it does not generate any points. "filter": "A String", # Required. An advanced logs filter (https://cloud.google.com/logging/docs/view/advanced_filters) which is used to match log entries. Example: "resource.type=gae_app AND severity>=ERROR" The maximum length of the filter is 20000 characters. - "labelExtractors": { # Optional. A map from a label key string to an extractor expression which is used to extract data from a log entry field and assign as the label value. Each label key specified in the LabelDescriptor must have an associated extractor expression in this map. The syntax of the extractor expression is the same as for the value_extractor field.The extracted value is converted to the type defined in the label descriptor. If the either the extraction or the type conversion fails, the label will have a default value. The default value for a string label is an empty string, for an integer label its 0, and for a boolean label its false.Note that there are upper bounds on the maximum number of labels and the number of active time series that are allowed in a project. + "labelExtractors": { # Optional. A map from a label key string to an extractor expression which is used to extract data from a log entry field and assign as the label value. Each label key specified in the LabelDescriptor must have an associated extractor expression in this map. The syntax of the extractor expression is the same as for the value_extractor field.The extracted value is converted to the type defined in the label descriptor. If either the extraction or the type conversion fails, the label will have a default value. The default value for a string label is an empty string, for an integer label its 0, and for a boolean label its false.Note that there are upper bounds on the maximum number of labels and the number of active time series that are allowed in a project. "a_key": "A String", }, "metricDescriptor": { # Defines a metric type and its schema. Once a metric descriptor is created, deleting or altering it stops data collection and makes the metric type's existing data unusable. # Optional. The metric descriptor associated with the logs-based metric. If unspecified, it uses a default metric descriptor with a DELTA metric kind, INT64 value type, with no labels and a unit of "1". Such a metric counts the number of log entries matching the filter expression.The name, type, and description fields in the metric_descriptor are output only, and is constructed using the name and description field in the LogMetric.To create a logs-based metric that records a distribution of log values, a DELTA metric kind with a DISTRIBUTION value type must be used along with a value_extractor expression in the LogMetric.Each label in the metric descriptor must have a matching label name as the key and an extractor expression as the value in the label_extractors map.The metric_kind and value_type fields in the metric_descriptor cannot be updated once initially configured. New labels can be added in the metric_descriptor, but existing labels cannot be modified except for their description. diff --git a/docs/dyn/monitoring_v1.projects.dashboards.html b/docs/dyn/monitoring_v1.projects.dashboards.html index a8670f73e91..69b322870ae 100644 --- a/docs/dyn/monitoring_v1.projects.dashboards.html +++ b/docs/dyn/monitoring_v1.projects.dashboards.html @@ -312,6 +312,7 @@

Method Details

}, }, ], + "metricVisualization": "A String", # Optional. Store rendering strategy }, "title": "A String", # Optional. The title of the widget. "xyChart": { # A chart that displays data on a 2D (X and Y axes) plane. # A chart of time series data. @@ -636,6 +637,7 @@

Method Details

}, }, ], + "metricVisualization": "A String", # Optional. Store rendering strategy }, "title": "A String", # Optional. The title of the widget. "xyChart": { # A chart that displays data on a 2D (X and Y axes) plane. # A chart of time series data. @@ -953,6 +955,7 @@

Method Details

}, }, ], + "metricVisualization": "A String", # Optional. Store rendering strategy }, "title": "A String", # Optional. The title of the widget. "xyChart": { # A chart that displays data on a 2D (X and Y axes) plane. # A chart of time series data. @@ -1272,6 +1275,7 @@

Method Details

}, }, ], + "metricVisualization": "A String", # Optional. Store rendering strategy }, "title": "A String", # Optional. The title of the widget. "xyChart": { # A chart that displays data on a 2D (X and Y axes) plane. # A chart of time series data. @@ -1600,6 +1604,7 @@

Method Details

}, }, ], + "metricVisualization": "A String", # Optional. Store rendering strategy }, "title": "A String", # Optional. The title of the widget. "xyChart": { # A chart that displays data on a 2D (X and Y axes) plane. # A chart of time series data. @@ -1924,6 +1929,7 @@

Method Details

}, }, ], + "metricVisualization": "A String", # Optional. Store rendering strategy }, "title": "A String", # Optional. The title of the widget. "xyChart": { # A chart that displays data on a 2D (X and Y axes) plane. # A chart of time series data. @@ -2241,6 +2247,7 @@

Method Details

}, }, ], + "metricVisualization": "A String", # Optional. Store rendering strategy }, "title": "A String", # Optional. The title of the widget. "xyChart": { # A chart that displays data on a 2D (X and Y axes) plane. # A chart of time series data. @@ -2560,6 +2567,7 @@

Method Details

}, }, ], + "metricVisualization": "A String", # Optional. Store rendering strategy }, "title": "A String", # Optional. The title of the widget. "xyChart": { # A chart that displays data on a 2D (X and Y axes) plane. # A chart of time series data. @@ -2912,6 +2920,7 @@

Method Details

}, }, ], + "metricVisualization": "A String", # Optional. Store rendering strategy }, "title": "A String", # Optional. The title of the widget. "xyChart": { # A chart that displays data on a 2D (X and Y axes) plane. # A chart of time series data. @@ -3236,6 +3245,7 @@

Method Details

}, }, ], + "metricVisualization": "A String", # Optional. Store rendering strategy }, "title": "A String", # Optional. The title of the widget. "xyChart": { # A chart that displays data on a 2D (X and Y axes) plane. # A chart of time series data. @@ -3553,6 +3563,7 @@

Method Details

}, }, ], + "metricVisualization": "A String", # Optional. Store rendering strategy }, "title": "A String", # Optional. The title of the widget. "xyChart": { # A chart that displays data on a 2D (X and Y axes) plane. # A chart of time series data. @@ -3872,6 +3883,7 @@

Method Details

}, }, ], + "metricVisualization": "A String", # Optional. Store rendering strategy }, "title": "A String", # Optional. The title of the widget. "xyChart": { # A chart that displays data on a 2D (X and Y axes) plane. # A chart of time series data. @@ -4210,6 +4222,7 @@

Method Details

}, }, ], + "metricVisualization": "A String", # Optional. Store rendering strategy }, "title": "A String", # Optional. The title of the widget. "xyChart": { # A chart that displays data on a 2D (X and Y axes) plane. # A chart of time series data. @@ -4534,6 +4547,7 @@

Method Details

}, }, ], + "metricVisualization": "A String", # Optional. Store rendering strategy }, "title": "A String", # Optional. The title of the widget. "xyChart": { # A chart that displays data on a 2D (X and Y axes) plane. # A chart of time series data. @@ -4851,6 +4865,7 @@

Method Details

}, }, ], + "metricVisualization": "A String", # Optional. Store rendering strategy }, "title": "A String", # Optional. The title of the widget. "xyChart": { # A chart that displays data on a 2D (X and Y axes) plane. # A chart of time series data. @@ -5170,6 +5185,7 @@

Method Details

}, }, ], + "metricVisualization": "A String", # Optional. Store rendering strategy }, "title": "A String", # Optional. The title of the widget. "xyChart": { # A chart that displays data on a 2D (X and Y axes) plane. # A chart of time series data. @@ -5516,6 +5532,7 @@

Method Details

}, }, ], + "metricVisualization": "A String", # Optional. Store rendering strategy }, "title": "A String", # Optional. The title of the widget. "xyChart": { # A chart that displays data on a 2D (X and Y axes) plane. # A chart of time series data. @@ -5840,6 +5857,7 @@

Method Details

}, }, ], + "metricVisualization": "A String", # Optional. Store rendering strategy }, "title": "A String", # Optional. The title of the widget. "xyChart": { # A chart that displays data on a 2D (X and Y axes) plane. # A chart of time series data. @@ -6157,6 +6175,7 @@

Method Details

}, }, ], + "metricVisualization": "A String", # Optional. Store rendering strategy }, "title": "A String", # Optional. The title of the widget. "xyChart": { # A chart that displays data on a 2D (X and Y axes) plane. # A chart of time series data. @@ -6476,6 +6495,7 @@

Method Details

}, }, ], + "metricVisualization": "A String", # Optional. Store rendering strategy }, "title": "A String", # Optional. The title of the widget. "xyChart": { # A chart that displays data on a 2D (X and Y axes) plane. # A chart of time series data. @@ -6804,6 +6824,7 @@

Method Details

}, }, ], + "metricVisualization": "A String", # Optional. Store rendering strategy }, "title": "A String", # Optional. The title of the widget. "xyChart": { # A chart that displays data on a 2D (X and Y axes) plane. # A chart of time series data. @@ -7128,6 +7149,7 @@

Method Details

}, }, ], + "metricVisualization": "A String", # Optional. Store rendering strategy }, "title": "A String", # Optional. The title of the widget. "xyChart": { # A chart that displays data on a 2D (X and Y axes) plane. # A chart of time series data. @@ -7445,6 +7467,7 @@

Method Details

}, }, ], + "metricVisualization": "A String", # Optional. Store rendering strategy }, "title": "A String", # Optional. The title of the widget. "xyChart": { # A chart that displays data on a 2D (X and Y axes) plane. # A chart of time series data. @@ -7764,6 +7787,7 @@

Method Details

}, }, ], + "metricVisualization": "A String", # Optional. Store rendering strategy }, "title": "A String", # Optional. The title of the widget. "xyChart": { # A chart that displays data on a 2D (X and Y axes) plane. # A chart of time series data. diff --git a/docs/dyn/monitoring_v3.projects.metricDescriptors.html b/docs/dyn/monitoring_v3.projects.metricDescriptors.html index 886f91d1fa2..f2f7bd2db2a 100644 --- a/docs/dyn/monitoring_v3.projects.metricDescriptors.html +++ b/docs/dyn/monitoring_v3.projects.metricDescriptors.html @@ -79,7 +79,7 @@

Instance Methods

Close httplib2 connections.

create(name, body=None, x__xgafv=None)

-

Creates a new metric descriptor. The creation is executed asynchronously and callers may check the returned operation to track its progress. User-created metric descriptors define custom metrics (https://cloud.google.com/monitoring/custom-metrics).

+

Creates a new metric descriptor. The creation is executed asynchronously. User-created metric descriptors define custom metrics (https://cloud.google.com/monitoring/custom-metrics). The metric descriptor is updated if it already exists, except that metric labels are never removed.

delete(name, x__xgafv=None)

Deletes a metric descriptor. Only user-created custom metrics (https://cloud.google.com/monitoring/custom-metrics) can be deleted.

@@ -100,7 +100,7 @@

Method Details

create(name, body=None, x__xgafv=None) -
Creates a new metric descriptor. The creation is executed asynchronously and callers may check the returned operation to track its progress. User-created metric descriptors define custom metrics (https://cloud.google.com/monitoring/custom-metrics).
+  
Creates a new metric descriptor. The creation is executed asynchronously. User-created metric descriptors define custom metrics (https://cloud.google.com/monitoring/custom-metrics). The metric descriptor is updated if it already exists, except that metric labels are never removed.
 
 Args:
   name: string, Required. The project (https://cloud.google.com/monitoring/api/v3#project_name) on which to execute the request. The format is: 4 projects/PROJECT_ID_OR_NUMBER (required)
diff --git a/docs/dyn/monitoring_v3.projects.uptimeCheckConfigs.html b/docs/dyn/monitoring_v3.projects.uptimeCheckConfigs.html
index 6e2b4722353..f30474b6706 100644
--- a/docs/dyn/monitoring_v3.projects.uptimeCheckConfigs.html
+++ b/docs/dyn/monitoring_v3.projects.uptimeCheckConfigs.html
@@ -176,6 +176,9 @@ 

Method Details

"port": 42, # The TCP port on the server against which to run the check. Will be combined with host (specified within the monitored_resource) to construct the full URL. Required. }, "timeout": "A String", # The maximum amount of time to wait for the request to complete (must be between 1 and 60 seconds). Required. + "userLabels": { # User-supplied key/value data to be used for organizing and identifying the UptimeCheckConfig objects.The field can contain up to 64 entries. Each key and value is limited to 63 Unicode characters or 128 bytes, whichever is smaller. Labels and values can contain only lowercase letters, numerals, underscores, and dashes. Keys must begin with a letter. + "a_key": "A String", + }, } x__xgafv: string, V1 error format. @@ -252,6 +255,9 @@

Method Details

"port": 42, # The TCP port on the server against which to run the check. Will be combined with host (specified within the monitored_resource) to construct the full URL. Required. }, "timeout": "A String", # The maximum amount of time to wait for the request to complete (must be between 1 and 60 seconds). Required. + "userLabels": { # User-supplied key/value data to be used for organizing and identifying the UptimeCheckConfig objects.The field can contain up to 64 entries. Each key and value is limited to 63 Unicode characters or 128 bytes, whichever is smaller. Labels and values can contain only lowercase letters, numerals, underscores, and dashes. Keys must begin with a letter. + "a_key": "A String", + }, }
@@ -353,6 +359,9 @@

Method Details

"port": 42, # The TCP port on the server against which to run the check. Will be combined with host (specified within the monitored_resource) to construct the full URL. Required. }, "timeout": "A String", # The maximum amount of time to wait for the request to complete (must be between 1 and 60 seconds). Required. + "userLabels": { # User-supplied key/value data to be used for organizing and identifying the UptimeCheckConfig objects.The field can contain up to 64 entries. Each key and value is limited to 63 Unicode characters or 128 bytes, whichever is smaller. Labels and values can contain only lowercase letters, numerals, underscores, and dashes. Keys must begin with a letter. + "a_key": "A String", + }, }
@@ -442,6 +451,9 @@

Method Details

"port": 42, # The TCP port on the server against which to run the check. Will be combined with host (specified within the monitored_resource) to construct the full URL. Required. }, "timeout": "A String", # The maximum amount of time to wait for the request to complete (must be between 1 and 60 seconds). Required. + "userLabels": { # User-supplied key/value data to be used for organizing and identifying the UptimeCheckConfig objects.The field can contain up to 64 entries. Each key and value is limited to 63 Unicode characters or 128 bytes, whichever is smaller. Labels and values can contain only lowercase letters, numerals, underscores, and dashes. Keys must begin with a letter. + "a_key": "A String", + }, }, ], }
@@ -536,6 +548,9 @@

Method Details

"port": 42, # The TCP port on the server against which to run the check. Will be combined with host (specified within the monitored_resource) to construct the full URL. Required. }, "timeout": "A String", # The maximum amount of time to wait for the request to complete (must be between 1 and 60 seconds). Required. + "userLabels": { # User-supplied key/value data to be used for organizing and identifying the UptimeCheckConfig objects.The field can contain up to 64 entries. Each key and value is limited to 63 Unicode characters or 128 bytes, whichever is smaller. Labels and values can contain only lowercase letters, numerals, underscores, and dashes. Keys must begin with a letter. + "a_key": "A String", + }, } updateMask: string, Optional. If present, only the listed fields in the current Uptime check configuration are updated with values from the new configuration. If this field is empty, then the current configuration is completely replaced with the new configuration. @@ -613,6 +628,9 @@

Method Details

"port": 42, # The TCP port on the server against which to run the check. Will be combined with host (specified within the monitored_resource) to construct the full URL. Required. }, "timeout": "A String", # The maximum amount of time to wait for the request to complete (must be between 1 and 60 seconds). Required. + "userLabels": { # User-supplied key/value data to be used for organizing and identifying the UptimeCheckConfig objects.The field can contain up to 64 entries. Each key and value is limited to 63 Unicode characters or 128 bytes, whichever is smaller. Labels and values can contain only lowercase letters, numerals, underscores, and dashes. Keys must begin with a letter. + "a_key": "A String", + }, }
diff --git a/docs/dyn/mybusinessaccountmanagement_v1.accounts.admins.html b/docs/dyn/mybusinessaccountmanagement_v1.accounts.admins.html index 5c458418041..871f86e3d8b 100644 --- a/docs/dyn/mybusinessaccountmanagement_v1.accounts.admins.html +++ b/docs/dyn/mybusinessaccountmanagement_v1.accounts.admins.html @@ -105,7 +105,7 @@

Method Details

The object takes the form of: { # An administrator of an Account or a location. - "account": "A String", # Immutable. The name of the Account resource that this Admin refers to. Used when calling CreateAccountAdmin or CreateLocationAdmin to invite UserGroups or LocationGroups as admins, respectively. If both this field and `admin` are set on `CREATE` requests, this field takes precedence and the email address in `admin` will be ignored. Format: `accounts/{account}`. + "account": "A String", # Immutable. The name of the Account resource that this Admin refers to. Used when calling locations.admins.create to invite a LocationGroup as an admin. If both this field and `admin` are set on `CREATE` requests, this field takes precedence and the email address in `admin` will be ignored. Format: `accounts/{account}`. "admin": "A String", # Optional. The name of the admin. When making the initial invitation, this is the invitee's email address. On `GET` calls, the user's email address is returned if the invitation is still pending. Otherwise, it contains the user's first and last names. This field is only needed to be set during admin creation. "name": "A String", # Immutable. The resource name. For account admins, this is in the form: `accounts/{account_id}/admins/{admin_id}` For location admins, this is in the form: `locations/{location_id}/admins/{admin_id}` This field will be ignored if set during admin creation. "pendingInvitation": True or False, # Output only. Indicates whether this admin has a pending invitation for the specified resource. @@ -121,7 +121,7 @@

Method Details

An object of the form: { # An administrator of an Account or a location. - "account": "A String", # Immutable. The name of the Account resource that this Admin refers to. Used when calling CreateAccountAdmin or CreateLocationAdmin to invite UserGroups or LocationGroups as admins, respectively. If both this field and `admin` are set on `CREATE` requests, this field takes precedence and the email address in `admin` will be ignored. Format: `accounts/{account}`. + "account": "A String", # Immutable. The name of the Account resource that this Admin refers to. Used when calling locations.admins.create to invite a LocationGroup as an admin. If both this field and `admin` are set on `CREATE` requests, this field takes precedence and the email address in `admin` will be ignored. Format: `accounts/{account}`. "admin": "A String", # Optional. The name of the admin. When making the initial invitation, this is the invitee's email address. On `GET` calls, the user's email address is returned if the invitation is still pending. Otherwise, it contains the user's first and last names. This field is only needed to be set during admin creation. "name": "A String", # Immutable. The resource name. For account admins, this is in the form: `accounts/{account_id}/admins/{admin_id}` For location admins, this is in the form: `locations/{location_id}/admins/{admin_id}` This field will be ignored if set during admin creation. "pendingInvitation": True or False, # Output only. Indicates whether this admin has a pending invitation for the specified resource. @@ -164,7 +164,7 @@

Method Details

{ # Response message for AccessControl.ListAccountAdmins. "accountAdmins": [ # A collection of Admin instances. { # An administrator of an Account or a location. - "account": "A String", # Immutable. The name of the Account resource that this Admin refers to. Used when calling CreateAccountAdmin or CreateLocationAdmin to invite UserGroups or LocationGroups as admins, respectively. If both this field and `admin` are set on `CREATE` requests, this field takes precedence and the email address in `admin` will be ignored. Format: `accounts/{account}`. + "account": "A String", # Immutable. The name of the Account resource that this Admin refers to. Used when calling locations.admins.create to invite a LocationGroup as an admin. If both this field and `admin` are set on `CREATE` requests, this field takes precedence and the email address in `admin` will be ignored. Format: `accounts/{account}`. "admin": "A String", # Optional. The name of the admin. When making the initial invitation, this is the invitee's email address. On `GET` calls, the user's email address is returned if the invitation is still pending. Otherwise, it contains the user's first and last names. This field is only needed to be set during admin creation. "name": "A String", # Immutable. The resource name. For account admins, this is in the form: `accounts/{account_id}/admins/{admin_id}` For location admins, this is in the form: `locations/{location_id}/admins/{admin_id}` This field will be ignored if set during admin creation. "pendingInvitation": True or False, # Output only. Indicates whether this admin has a pending invitation for the specified resource. @@ -184,7 +184,7 @@

Method Details

The object takes the form of: { # An administrator of an Account or a location. - "account": "A String", # Immutable. The name of the Account resource that this Admin refers to. Used when calling CreateAccountAdmin or CreateLocationAdmin to invite UserGroups or LocationGroups as admins, respectively. If both this field and `admin` are set on `CREATE` requests, this field takes precedence and the email address in `admin` will be ignored. Format: `accounts/{account}`. + "account": "A String", # Immutable. The name of the Account resource that this Admin refers to. Used when calling locations.admins.create to invite a LocationGroup as an admin. If both this field and `admin` are set on `CREATE` requests, this field takes precedence and the email address in `admin` will be ignored. Format: `accounts/{account}`. "admin": "A String", # Optional. The name of the admin. When making the initial invitation, this is the invitee's email address. On `GET` calls, the user's email address is returned if the invitation is still pending. Otherwise, it contains the user's first and last names. This field is only needed to be set during admin creation. "name": "A String", # Immutable. The resource name. For account admins, this is in the form: `accounts/{account_id}/admins/{admin_id}` For location admins, this is in the form: `locations/{location_id}/admins/{admin_id}` This field will be ignored if set during admin creation. "pendingInvitation": True or False, # Output only. Indicates whether this admin has a pending invitation for the specified resource. @@ -201,7 +201,7 @@

Method Details

An object of the form: { # An administrator of an Account or a location. - "account": "A String", # Immutable. The name of the Account resource that this Admin refers to. Used when calling CreateAccountAdmin or CreateLocationAdmin to invite UserGroups or LocationGroups as admins, respectively. If both this field and `admin` are set on `CREATE` requests, this field takes precedence and the email address in `admin` will be ignored. Format: `accounts/{account}`. + "account": "A String", # Immutable. The name of the Account resource that this Admin refers to. Used when calling locations.admins.create to invite a LocationGroup as an admin. If both this field and `admin` are set on `CREATE` requests, this field takes precedence and the email address in `admin` will be ignored. Format: `accounts/{account}`. "admin": "A String", # Optional. The name of the admin. When making the initial invitation, this is the invitee's email address. On `GET` calls, the user's email address is returned if the invitation is still pending. Otherwise, it contains the user's first and last names. This field is only needed to be set during admin creation. "name": "A String", # Immutable. The resource name. For account admins, this is in the form: `accounts/{account_id}/admins/{admin_id}` For location admins, this is in the form: `locations/{location_id}/admins/{admin_id}` This field will be ignored if set during admin creation. "pendingInvitation": True or False, # Output only. Indicates whether this admin has a pending invitation for the specified resource. diff --git a/docs/dyn/mybusinessaccountmanagement_v1.accounts.html b/docs/dyn/mybusinessaccountmanagement_v1.accounts.html index 3b8eff6f5f7..833cd6aba00 100644 --- a/docs/dyn/mybusinessaccountmanagement_v1.accounts.html +++ b/docs/dyn/mybusinessaccountmanagement_v1.accounts.html @@ -245,7 +245,7 @@

Method Details

Args: filter: string, Optional. A filter constraining the accounts to return. The response includes only entries that match the filter. If `filter` is empty, then no constraints are applied and all accounts (paginated) are retrieved for the requested account. For example, a request with the filter `type=USER_GROUP` will only return user groups. The `type` field is the only supported filter. - pageSize: integer, Optional. How many accounts to fetch per page. The minimum supported page_size is 2. The default and maximum is 20. + pageSize: integer, Optional. How many accounts to fetch per page. The default and maximum is 20. pageToken: string, Optional. If specified, the next page of accounts is retrieved. The `pageToken` is returned when a call to `accounts.list` returns more results than can fit into the requested page size. parentAccount: string, Optional. The resource name of the account for which the list of directly accessible accounts is to be retrieved. This only makes sense for Organizations and User Groups. If empty, will return `ListAccounts` for the authenticated user. `accounts/{account_id}`. x__xgafv: string, V1 error format. diff --git a/docs/dyn/mybusinessaccountmanagement_v1.locations.admins.html b/docs/dyn/mybusinessaccountmanagement_v1.locations.admins.html index bd44637ba15..8f7115887b2 100644 --- a/docs/dyn/mybusinessaccountmanagement_v1.locations.admins.html +++ b/docs/dyn/mybusinessaccountmanagement_v1.locations.admins.html @@ -105,7 +105,7 @@

Method Details

The object takes the form of: { # An administrator of an Account or a location. - "account": "A String", # Immutable. The name of the Account resource that this Admin refers to. Used when calling CreateAccountAdmin or CreateLocationAdmin to invite UserGroups or LocationGroups as admins, respectively. If both this field and `admin` are set on `CREATE` requests, this field takes precedence and the email address in `admin` will be ignored. Format: `accounts/{account}`. + "account": "A String", # Immutable. The name of the Account resource that this Admin refers to. Used when calling locations.admins.create to invite a LocationGroup as an admin. If both this field and `admin` are set on `CREATE` requests, this field takes precedence and the email address in `admin` will be ignored. Format: `accounts/{account}`. "admin": "A String", # Optional. The name of the admin. When making the initial invitation, this is the invitee's email address. On `GET` calls, the user's email address is returned if the invitation is still pending. Otherwise, it contains the user's first and last names. This field is only needed to be set during admin creation. "name": "A String", # Immutable. The resource name. For account admins, this is in the form: `accounts/{account_id}/admins/{admin_id}` For location admins, this is in the form: `locations/{location_id}/admins/{admin_id}` This field will be ignored if set during admin creation. "pendingInvitation": True or False, # Output only. Indicates whether this admin has a pending invitation for the specified resource. @@ -121,7 +121,7 @@

Method Details

An object of the form: { # An administrator of an Account or a location. - "account": "A String", # Immutable. The name of the Account resource that this Admin refers to. Used when calling CreateAccountAdmin or CreateLocationAdmin to invite UserGroups or LocationGroups as admins, respectively. If both this field and `admin` are set on `CREATE` requests, this field takes precedence and the email address in `admin` will be ignored. Format: `accounts/{account}`. + "account": "A String", # Immutable. The name of the Account resource that this Admin refers to. Used when calling locations.admins.create to invite a LocationGroup as an admin. If both this field and `admin` are set on `CREATE` requests, this field takes precedence and the email address in `admin` will be ignored. Format: `accounts/{account}`. "admin": "A String", # Optional. The name of the admin. When making the initial invitation, this is the invitee's email address. On `GET` calls, the user's email address is returned if the invitation is still pending. Otherwise, it contains the user's first and last names. This field is only needed to be set during admin creation. "name": "A String", # Immutable. The resource name. For account admins, this is in the form: `accounts/{account_id}/admins/{admin_id}` For location admins, this is in the form: `locations/{location_id}/admins/{admin_id}` This field will be ignored if set during admin creation. "pendingInvitation": True or False, # Output only. Indicates whether this admin has a pending invitation for the specified resource. @@ -164,7 +164,7 @@

Method Details

{ # Response message for AccessControl.ListLocationAdmins. "admins": [ # A collection of Admins. { # An administrator of an Account or a location. - "account": "A String", # Immutable. The name of the Account resource that this Admin refers to. Used when calling CreateAccountAdmin or CreateLocationAdmin to invite UserGroups or LocationGroups as admins, respectively. If both this field and `admin` are set on `CREATE` requests, this field takes precedence and the email address in `admin` will be ignored. Format: `accounts/{account}`. + "account": "A String", # Immutable. The name of the Account resource that this Admin refers to. Used when calling locations.admins.create to invite a LocationGroup as an admin. If both this field and `admin` are set on `CREATE` requests, this field takes precedence and the email address in `admin` will be ignored. Format: `accounts/{account}`. "admin": "A String", # Optional. The name of the admin. When making the initial invitation, this is the invitee's email address. On `GET` calls, the user's email address is returned if the invitation is still pending. Otherwise, it contains the user's first and last names. This field is only needed to be set during admin creation. "name": "A String", # Immutable. The resource name. For account admins, this is in the form: `accounts/{account_id}/admins/{admin_id}` For location admins, this is in the form: `locations/{location_id}/admins/{admin_id}` This field will be ignored if set during admin creation. "pendingInvitation": True or False, # Output only. Indicates whether this admin has a pending invitation for the specified resource. @@ -184,7 +184,7 @@

Method Details

The object takes the form of: { # An administrator of an Account or a location. - "account": "A String", # Immutable. The name of the Account resource that this Admin refers to. Used when calling CreateAccountAdmin or CreateLocationAdmin to invite UserGroups or LocationGroups as admins, respectively. If both this field and `admin` are set on `CREATE` requests, this field takes precedence and the email address in `admin` will be ignored. Format: `accounts/{account}`. + "account": "A String", # Immutable. The name of the Account resource that this Admin refers to. Used when calling locations.admins.create to invite a LocationGroup as an admin. If both this field and `admin` are set on `CREATE` requests, this field takes precedence and the email address in `admin` will be ignored. Format: `accounts/{account}`. "admin": "A String", # Optional. The name of the admin. When making the initial invitation, this is the invitee's email address. On `GET` calls, the user's email address is returned if the invitation is still pending. Otherwise, it contains the user's first and last names. This field is only needed to be set during admin creation. "name": "A String", # Immutable. The resource name. For account admins, this is in the form: `accounts/{account_id}/admins/{admin_id}` For location admins, this is in the form: `locations/{location_id}/admins/{admin_id}` This field will be ignored if set during admin creation. "pendingInvitation": True or False, # Output only. Indicates whether this admin has a pending invitation for the specified resource. @@ -201,7 +201,7 @@

Method Details

An object of the form: { # An administrator of an Account or a location. - "account": "A String", # Immutable. The name of the Account resource that this Admin refers to. Used when calling CreateAccountAdmin or CreateLocationAdmin to invite UserGroups or LocationGroups as admins, respectively. If both this field and `admin` are set on `CREATE` requests, this field takes precedence and the email address in `admin` will be ignored. Format: `accounts/{account}`. + "account": "A String", # Immutable. The name of the Account resource that this Admin refers to. Used when calling locations.admins.create to invite a LocationGroup as an admin. If both this field and `admin` are set on `CREATE` requests, this field takes precedence and the email address in `admin` will be ignored. Format: `accounts/{account}`. "admin": "A String", # Optional. The name of the admin. When making the initial invitation, this is the invitee's email address. On `GET` calls, the user's email address is returned if the invitation is still pending. Otherwise, it contains the user's first and last names. This field is only needed to be set during admin creation. "name": "A String", # Immutable. The resource name. For account admins, this is in the form: `accounts/{account_id}/admins/{admin_id}` For location admins, this is in the form: `locations/{location_id}/admins/{admin_id}` This field will be ignored if set during admin creation. "pendingInvitation": True or False, # Output only. Indicates whether this admin has a pending invitation for the specified resource. diff --git a/docs/dyn/notebooks_v1.projects.locations.runtimes.html b/docs/dyn/notebooks_v1.projects.locations.runtimes.html index 3f0a9d07c88..5b28de7dde9 100644 --- a/docs/dyn/notebooks_v1.projects.locations.runtimes.html +++ b/docs/dyn/notebooks_v1.projects.locations.runtimes.html @@ -153,6 +153,7 @@

Method Details

"name": "A String", # Output only. The resource name of the runtime. Format: `projects/{project}/locations/{location}/runtimes/{runtimeId}` "softwareConfig": { # Specifies the selection and configuration of software inside the runtime. The properties to set on runtime. Properties keys are specified in `key:value` format, for example: * `idle_shutdown: true` * `idle_shutdown_timeout: 180` * `enable_health_monitoring: true` # The config settings for software inside the runtime. "customGpuDriverPath": "A String", # Specify a custom Cloud Storage path where the GPU driver is stored. If not specified, we'll automatically choose from official GPU drivers. + "disableTerminal": True or False, # Bool indicating whether JupyterLab terminal will be available or not. Default: False "enableHealthMonitoring": True or False, # Verifies core internal services are running. Default: True "idleShutdown": True or False, # Runtime will automatically shutdown after idle_shutdown_time. Default: True "idleShutdownTimeout": 42, # Time in minutes to wait before shutting down runtime. Default: 180 minutes @@ -228,7 +229,7 @@

Method Details

"metadata": { # Optional. The Compute Engine metadata entries to add to virtual machine. (see [Project and instance metadata](https://cloud.google.com/compute/docs/storing-retrieving-metadata#project_and_instance_metadata)). "a_key": "A String", }, - "network": "A String", # Optional. The Compute Engine network to be used for machine communications. Cannot be specified with subnetwork. If neither `network` nor `subnet` is specified, the "default" network of the project is used, if it exists. A full URL or partial URI. Examples: * `https://www.googleapis.com/compute/v1/projects/[project_id]/regions/global/default` * `projects/[project_id]/regions/global/default` Runtimes are managed resources inside Google Infrastructure. Runtimes support the following network configurations: * Google Managed Network (Network & subnet are empty) * Consumer Project VPC (network & subnet are required). Requires configuring Private Service Access. * Shared VPC (network & subnet are required). Requires configuring Private Service Access. + "network": "A String", # Optional. The Compute Engine network to be used for machine communications. Cannot be specified with subnetwork. If neither `network` nor `subnet` is specified, the "default" network of the project is used, if it exists. A full URL or partial URI. Examples: * `https://www.googleapis.com/compute/v1/projects/[project_id]/global/networks/default` * `projects/[project_id]/global/networks/default` Runtimes are managed resources inside Google Infrastructure. Runtimes support the following network configurations: * Google Managed Network (Network & subnet are empty) * Consumer Project VPC (network & subnet are required). Requires configuring Private Service Access. * Shared VPC (network & subnet are required). Requires configuring Private Service Access. "nicType": "A String", # Optional. The type of vNIC to be used on this interface. This may be gVNIC or VirtioNet. "reservedIpRange": "A String", # Optional. Reserved IP Range name is used for VPC Peering. The subnetwork allocation will use the range *name* if it's assigned. Example: managed-notebooks-range-c PEERING_RANGE_NAME_3=managed-notebooks-range-c gcloud compute addresses create $PEERING_RANGE_NAME_3 \ --global \ --prefix-length=24 \ --description="Google Cloud Managed Notebooks Range 24 c" \ --network=$NETWORK \ --addresses=192.168.0.0 \ --purpose=VPC_PEERING Field value will be: `managed-notebooks-range-c` "shieldedInstanceConfig": { # A set of Shielded Instance options. Check [Images using supported Shielded VM features](https://cloud.google.com/compute/docs/instances/modifying-shielded-vm). Not all combinations are valid. # Optional. Shielded VM Instance configuration settings. @@ -342,6 +343,7 @@

Method Details

"name": "A String", # Output only. The resource name of the runtime. Format: `projects/{project}/locations/{location}/runtimes/{runtimeId}` "softwareConfig": { # Specifies the selection and configuration of software inside the runtime. The properties to set on runtime. Properties keys are specified in `key:value` format, for example: * `idle_shutdown: true` * `idle_shutdown_timeout: 180` * `enable_health_monitoring: true` # The config settings for software inside the runtime. "customGpuDriverPath": "A String", # Specify a custom Cloud Storage path where the GPU driver is stored. If not specified, we'll automatically choose from official GPU drivers. + "disableTerminal": True or False, # Bool indicating whether JupyterLab terminal will be available or not. Default: False "enableHealthMonitoring": True or False, # Verifies core internal services are running. Default: True "idleShutdown": True or False, # Runtime will automatically shutdown after idle_shutdown_time. Default: True "idleShutdownTimeout": 42, # Time in minutes to wait before shutting down runtime. Default: 180 minutes @@ -417,7 +419,7 @@

Method Details

"metadata": { # Optional. The Compute Engine metadata entries to add to virtual machine. (see [Project and instance metadata](https://cloud.google.com/compute/docs/storing-retrieving-metadata#project_and_instance_metadata)). "a_key": "A String", }, - "network": "A String", # Optional. The Compute Engine network to be used for machine communications. Cannot be specified with subnetwork. If neither `network` nor `subnet` is specified, the "default" network of the project is used, if it exists. A full URL or partial URI. Examples: * `https://www.googleapis.com/compute/v1/projects/[project_id]/regions/global/default` * `projects/[project_id]/regions/global/default` Runtimes are managed resources inside Google Infrastructure. Runtimes support the following network configurations: * Google Managed Network (Network & subnet are empty) * Consumer Project VPC (network & subnet are required). Requires configuring Private Service Access. * Shared VPC (network & subnet are required). Requires configuring Private Service Access. + "network": "A String", # Optional. The Compute Engine network to be used for machine communications. Cannot be specified with subnetwork. If neither `network` nor `subnet` is specified, the "default" network of the project is used, if it exists. A full URL or partial URI. Examples: * `https://www.googleapis.com/compute/v1/projects/[project_id]/global/networks/default` * `projects/[project_id]/global/networks/default` Runtimes are managed resources inside Google Infrastructure. Runtimes support the following network configurations: * Google Managed Network (Network & subnet are empty) * Consumer Project VPC (network & subnet are required). Requires configuring Private Service Access. * Shared VPC (network & subnet are required). Requires configuring Private Service Access. "nicType": "A String", # Optional. The type of vNIC to be used on this interface. This may be gVNIC or VirtioNet. "reservedIpRange": "A String", # Optional. Reserved IP Range name is used for VPC Peering. The subnetwork allocation will use the range *name* if it's assigned. Example: managed-notebooks-range-c PEERING_RANGE_NAME_3=managed-notebooks-range-c gcloud compute addresses create $PEERING_RANGE_NAME_3 \ --global \ --prefix-length=24 \ --description="Google Cloud Managed Notebooks Range 24 c" \ --network=$NETWORK \ --addresses=192.168.0.0 \ --purpose=VPC_PEERING Field value will be: `managed-notebooks-range-c` "shieldedInstanceConfig": { # A set of Shielded Instance options. Check [Images using supported Shielded VM features](https://cloud.google.com/compute/docs/instances/modifying-shielded-vm). Not all combinations are valid. # Optional. Shielded VM Instance configuration settings. @@ -505,6 +507,7 @@

Method Details

"name": "A String", # Output only. The resource name of the runtime. Format: `projects/{project}/locations/{location}/runtimes/{runtimeId}` "softwareConfig": { # Specifies the selection and configuration of software inside the runtime. The properties to set on runtime. Properties keys are specified in `key:value` format, for example: * `idle_shutdown: true` * `idle_shutdown_timeout: 180` * `enable_health_monitoring: true` # The config settings for software inside the runtime. "customGpuDriverPath": "A String", # Specify a custom Cloud Storage path where the GPU driver is stored. If not specified, we'll automatically choose from official GPU drivers. + "disableTerminal": True or False, # Bool indicating whether JupyterLab terminal will be available or not. Default: False "enableHealthMonitoring": True or False, # Verifies core internal services are running. Default: True "idleShutdown": True or False, # Runtime will automatically shutdown after idle_shutdown_time. Default: True "idleShutdownTimeout": 42, # Time in minutes to wait before shutting down runtime. Default: 180 minutes @@ -580,7 +583,7 @@

Method Details

"metadata": { # Optional. The Compute Engine metadata entries to add to virtual machine. (see [Project and instance metadata](https://cloud.google.com/compute/docs/storing-retrieving-metadata#project_and_instance_metadata)). "a_key": "A String", }, - "network": "A String", # Optional. The Compute Engine network to be used for machine communications. Cannot be specified with subnetwork. If neither `network` nor `subnet` is specified, the "default" network of the project is used, if it exists. A full URL or partial URI. Examples: * `https://www.googleapis.com/compute/v1/projects/[project_id]/regions/global/default` * `projects/[project_id]/regions/global/default` Runtimes are managed resources inside Google Infrastructure. Runtimes support the following network configurations: * Google Managed Network (Network & subnet are empty) * Consumer Project VPC (network & subnet are required). Requires configuring Private Service Access. * Shared VPC (network & subnet are required). Requires configuring Private Service Access. + "network": "A String", # Optional. The Compute Engine network to be used for machine communications. Cannot be specified with subnetwork. If neither `network` nor `subnet` is specified, the "default" network of the project is used, if it exists. A full URL or partial URI. Examples: * `https://www.googleapis.com/compute/v1/projects/[project_id]/global/networks/default` * `projects/[project_id]/global/networks/default` Runtimes are managed resources inside Google Infrastructure. Runtimes support the following network configurations: * Google Managed Network (Network & subnet are empty) * Consumer Project VPC (network & subnet are required). Requires configuring Private Service Access. * Shared VPC (network & subnet are required). Requires configuring Private Service Access. "nicType": "A String", # Optional. The type of vNIC to be used on this interface. This may be gVNIC or VirtioNet. "reservedIpRange": "A String", # Optional. Reserved IP Range name is used for VPC Peering. The subnetwork allocation will use the range *name* if it's assigned. Example: managed-notebooks-range-c PEERING_RANGE_NAME_3=managed-notebooks-range-c gcloud compute addresses create $PEERING_RANGE_NAME_3 \ --global \ --prefix-length=24 \ --description="Google Cloud Managed Notebooks Range 24 c" \ --network=$NETWORK \ --addresses=192.168.0.0 \ --purpose=VPC_PEERING Field value will be: `managed-notebooks-range-c` "shieldedInstanceConfig": { # A set of Shielded Instance options. Check [Images using supported Shielded VM features](https://cloud.google.com/compute/docs/instances/modifying-shielded-vm). Not all combinations are valid. # Optional. Shielded VM Instance configuration settings. @@ -642,6 +645,7 @@

Method Details

"name": "A String", # Output only. The resource name of the runtime. Format: `projects/{project}/locations/{location}/runtimes/{runtimeId}` "softwareConfig": { # Specifies the selection and configuration of software inside the runtime. The properties to set on runtime. Properties keys are specified in `key:value` format, for example: * `idle_shutdown: true` * `idle_shutdown_timeout: 180` * `enable_health_monitoring: true` # The config settings for software inside the runtime. "customGpuDriverPath": "A String", # Specify a custom Cloud Storage path where the GPU driver is stored. If not specified, we'll automatically choose from official GPU drivers. + "disableTerminal": True or False, # Bool indicating whether JupyterLab terminal will be available or not. Default: False "enableHealthMonitoring": True or False, # Verifies core internal services are running. Default: True "idleShutdown": True or False, # Runtime will automatically shutdown after idle_shutdown_time. Default: True "idleShutdownTimeout": 42, # Time in minutes to wait before shutting down runtime. Default: 180 minutes @@ -717,7 +721,7 @@

Method Details

"metadata": { # Optional. The Compute Engine metadata entries to add to virtual machine. (see [Project and instance metadata](https://cloud.google.com/compute/docs/storing-retrieving-metadata#project_and_instance_metadata)). "a_key": "A String", }, - "network": "A String", # Optional. The Compute Engine network to be used for machine communications. Cannot be specified with subnetwork. If neither `network` nor `subnet` is specified, the "default" network of the project is used, if it exists. A full URL or partial URI. Examples: * `https://www.googleapis.com/compute/v1/projects/[project_id]/regions/global/default` * `projects/[project_id]/regions/global/default` Runtimes are managed resources inside Google Infrastructure. Runtimes support the following network configurations: * Google Managed Network (Network & subnet are empty) * Consumer Project VPC (network & subnet are required). Requires configuring Private Service Access. * Shared VPC (network & subnet are required). Requires configuring Private Service Access. + "network": "A String", # Optional. The Compute Engine network to be used for machine communications. Cannot be specified with subnetwork. If neither `network` nor `subnet` is specified, the "default" network of the project is used, if it exists. A full URL or partial URI. Examples: * `https://www.googleapis.com/compute/v1/projects/[project_id]/global/networks/default` * `projects/[project_id]/global/networks/default` Runtimes are managed resources inside Google Infrastructure. Runtimes support the following network configurations: * Google Managed Network (Network & subnet are empty) * Consumer Project VPC (network & subnet are required). Requires configuring Private Service Access. * Shared VPC (network & subnet are required). Requires configuring Private Service Access. "nicType": "A String", # Optional. The type of vNIC to be used on this interface. This may be gVNIC or VirtioNet. "reservedIpRange": "A String", # Optional. Reserved IP Range name is used for VPC Peering. The subnetwork allocation will use the range *name* if it's assigned. Example: managed-notebooks-range-c PEERING_RANGE_NAME_3=managed-notebooks-range-c gcloud compute addresses create $PEERING_RANGE_NAME_3 \ --global \ --prefix-length=24 \ --description="Google Cloud Managed Notebooks Range 24 c" \ --network=$NETWORK \ --addresses=192.168.0.0 \ --purpose=VPC_PEERING Field value will be: `managed-notebooks-range-c` "shieldedInstanceConfig": { # A set of Shielded Instance options. Check [Images using supported Shielded VM features](https://cloud.google.com/compute/docs/instances/modifying-shielded-vm). Not all combinations are valid. # Optional. Shielded VM Instance configuration settings. @@ -735,7 +739,7 @@

Method Details

} requestId: string, Idempotent request UUID. - updateMask: string, Required. Specifies the path, relative to `Runtime`, of the field to update. For example, to change the software configuration kernels, the `update_mask` parameter would be specified as `software_config.kernels`, and the `PATCH` request body would specify the new value, as follows: { "software_config":{ "kernels": [{ 'repository': 'gcr.io/deeplearning-platform-release/pytorch-gpu', 'tag': 'latest' }], } } Currently, only the following fields can be updated: - software_config.kernels - software_config.post_startup_script - software_config.custom_gpu_driver_path - software_config.idle_shutdown - software_config.idle_shutdown_timeout + updateMask: string, Required. Specifies the path, relative to `Runtime`, of the field to update. For example, to change the software configuration kernels, the `update_mask` parameter would be specified as `software_config.kernels`, and the `PATCH` request body would specify the new value, as follows: { "software_config":{ "kernels": [{ 'repository': 'gcr.io/deeplearning-platform-release/pytorch-gpu', 'tag': 'latest' }], } } Currently, only the following fields can be updated: - software_config.kernels - software_config.post_startup_script - software_config.custom_gpu_driver_path - software_config.idle_shutdown - software_config.idle_shutdown_timeout - software_config.disable_terminal x__xgafv: string, V1 error format. Allowed values 1 - v1 error format diff --git a/docs/dyn/playdeveloperreporting_v1alpha1.vitals.anrrate.html b/docs/dyn/playdeveloperreporting_v1alpha1.vitals.anrrate.html index e3a93767cac..32356183f89 100644 --- a/docs/dyn/playdeveloperreporting_v1alpha1.vitals.anrrate.html +++ b/docs/dyn/playdeveloperreporting_v1alpha1.vitals.anrrate.html @@ -106,7 +106,7 @@

Method Details

Returns: An object of the form: - { # Singleton resource representing the set of ANR (Application not responding) metrics. This metric set contains ANRs data combined with usage data to produce a normalized metric independent of user counts. **Supported aggregation periods:** * DAILY: metrics are aggregated in calendar date intervals. Due to historical constraints, the only supported timezone is `America/Los_Angeles`. **Supported metrics:** * `anrRate` (`google.type.Decimal`): Percentage of distinct users in the aggregation period that experienced at least one ANR. If your app exhibits an ANR rate equal to or higher than the threshold, it's in the bottom 25% of the top 1,000 apps on Google Play (by number of installs). * `anrRate7dUserWeighted` (`google.type.Decimal`): Rolling average value of `anrRate` in the last 7 days. The daily values are weighted by the count of distinct users for the day. * `anrRate28dUserWeighted` (`google.type.Decimal`): Rolling average value of `anrRate` in the last 28 days. The daily values are weighted by the count of distinct users for the day. * `distinctUsers` (`google.type.Decimal`): Count of distinct users in the aggregation period that were used as normalization value for the `anrRate` metric. A user is counted in this metric if they used the app in the foreground during the aggregation period. Care must be taken not to aggregate this count further, as it may result in users being counted multiple times. **Supported dimensions:** * `apiLevel` (string): the API level of Android that was running on the user's device. * `versionCode` (int64): version of the app that was running on the user's device. * `deviceModel` (string): unique identifier of the user's device model. * `deviceType` (string): the type (also known as form factor) of the user's device. * `countryCode` (string): the country or region of the user's device based on their IP address, represented as a 2-letter ISO-3166 code (e.g. US for the United States). **Required permissions**: to access this resource, the calling user needs the _View app information (read-only)_ permission for the app. **Related metric sets:** * vitals.errors contains unnormalized version (absolute counts) of crashes. * vitals.errors contains normalized metrics about crashes, another stability metric. + { # Singleton resource representing the set of ANR (Application not responding) metrics. This metric set contains ANRs data combined with usage data to produce a normalized metric independent of user counts. **Supported aggregation periods:** * DAILY: metrics are aggregated in calendar date intervals. Due to historical constraints, the only supported timezone is `America/Los_Angeles`. **Supported metrics:** * `anrRate` (`google.type.Decimal`): Percentage of distinct users in the aggregation period that experienced at least one ANR. If your app exhibits an ANR rate equal to or higher than the threshold, it's in the bottom 25% of the top 1,000 apps on Google Play (by number of installs). * `anrRate7dUserWeighted` (`google.type.Decimal`): Rolling average value of `anrRate` in the last 7 days. The daily values are weighted by the count of distinct users for the day. * `anrRate28dUserWeighted` (`google.type.Decimal`): Rolling average value of `anrRate` in the last 28 days. The daily values are weighted by the count of distinct users for the day. * `distinctUsers` (`google.type.Decimal`): Count of distinct users in the aggregation period that were used as normalization value for the `anrRate` metric. A user is counted in this metric if they used the app in the foreground during the aggregation period. Care must be taken not to aggregate this count further, as it may result in users being counted multiple times. **Supported dimensions:** * `apiLevel` (string): the API level of Android that was running on the user's device. * `versionCode` (int64): version of the app that was running on the user's device. * `deviceModel` (string): unique identifier of the user's device model. * `deviceType` (string): the type (also known as form factor) of the user's device. * `countryCode` (string): the country or region of the user's device based on their IP address, represented as a 2-letter ISO-3166 code (e.g. US for the United States). * `deviceRamBucket` (int64): RAM of the device, in MB, in buckets (3GB, 4GB, etc.). * `deviceSocMake` (string): Make of the device's primary system-on-chip, e.g., Samsung. [Reference](https://developer.android.com/reference/android/os/Build#SOC_MANUFACTURER) * `deviceSocModel` (string): Model of the device's primary system-on-chip, e.g., "Exynos 2100". [Reference](https://developer.android.com/reference/android/os/Build#SOC_MODEL) * `deviceCpuMake` (string): Make of the device's CPU, e.g., Qualcomm. * `deviceCpuModel` (string): Model of the device's CPU, e.g., "Kryo 240". * `deviceGpuMake` (string): Make of the device's GPU, e.g., ARM. * `deviceGpuModel` (string): Model of the device's GPU, e.g., Mali. * `deviceGpuVersion` (string): Version of the device's GPU, e.g., T750. * `deviceVulkanVersion` (string): Vulkan version of the device, e.g., "4198400". * `deviceGlEsVersion` (string): OpenGL ES version of the device, e.g., "196610". * `deviceScreenSize` (string): Screen size of the device, e.g., NORMAL, LARGE. * `deviceScreenDpi` (string): Screen density of the device, e.g., mdpi, hdpi. **Required permissions**: to access this resource, the calling user needs the _View app information (read-only)_ permission for the app. **Related metric sets:** * vitals.errors contains unnormalized version (absolute counts) of crashes. * vitals.errors contains normalized metrics about crashes, another stability metric. "freshnessInfo": { # Represents the latest available time that can be requested in a TimelineSpec. Different aggregation periods have different freshness. For example, `DAILY` aggregation may lag behind `HOURLY` in cases where such aggregation is computed only once at the end of the day. # Summary about data freshness in this resource. "freshnesses": [ # Information about data freshness for every supported aggregation period. This field has set semantics, keyed by the `aggregation_period` field. { # Information about data freshness for a single aggregation period. @@ -142,7 +142,7 @@

Method Details

The object takes the form of: { # Request message for QueryAnrRateMetricSet. - "dimensions": [ # Dimensions to slice the metrics by. **Supported dimensions:** * `apiLevel` (string): the API level of Android that was running on the user's device. * `versionCode` (int64): version of the app that was running on the user's device. * `deviceModel` (string): unique identifier of the user's device model. * `deviceType` (string): the type (also known as form factor) of the user's device. * `countryCode` (string): the country or region of the user's device based on their IP address, represented as a 2-letter ISO-3166 code (e.g. US for the United States). + "dimensions": [ # Dimensions to slice the metrics by. **Supported dimensions:** * `apiLevel` (string): the API level of Android that was running on the user's device. * `versionCode` (int64): version of the app that was running on the user's device. * `deviceModel` (string): unique identifier of the user's device model. * `deviceType` (string): the type (also known as form factor) of the user's device. * `countryCode` (string): the country or region of the user's device based on their IP address, represented as a 2-letter ISO-3166 code (e.g. US for the United States). * `deviceRamBucket` (int64): RAM of the device, in MB, in buckets (3GB, 4GB, etc.). * `deviceSocMake` (string): Make of the device's primary system-on-chip, e.g., Samsung. [Reference](https://developer.android.com/reference/android/os/Build#SOC_MANUFACTURER) * `deviceSocModel` (string): Model of the device's primary system-on-chip, e.g., "Exynos 2100". [Reference](https://developer.android.com/reference/android/os/Build#SOC_MODEL) * `deviceCpuMake` (string): Make of the device's CPU, e.g., Qualcomm. * `deviceCpuModel` (string): Model of the device's CPU, e.g., "Kryo 240". * `deviceGpuMake` (string): Make of the device's GPU, e.g., ARM. * `deviceGpuModel` (string): Model of the device's GPU, e.g., Mali. * `deviceGpuVersion` (string): Version of the device's GPU, e.g., T750. * `deviceVulkanVersion` (string): Vulkan version of the device, e.g., "4198400". * `deviceGlEsVersion` (string): OpenGL ES version of the device, e.g., "196610". * `deviceScreenSize` (string): Screen size of the device, e.g., NORMAL, LARGE. * `deviceScreenDpi` (string): Screen density of the device, e.g., mdpi, hdpi. "A String", ], "filter": "A String", # Filters to apply to data. The filtering expression follows [AIP-160](https://google.aip.dev/160) standard and supports filtering by equality of all breakdown dimensions. diff --git a/docs/dyn/playdeveloperreporting_v1alpha1.vitals.crashrate.html b/docs/dyn/playdeveloperreporting_v1alpha1.vitals.crashrate.html index ae2427b04d8..61a5fa4a4e4 100644 --- a/docs/dyn/playdeveloperreporting_v1alpha1.vitals.crashrate.html +++ b/docs/dyn/playdeveloperreporting_v1alpha1.vitals.crashrate.html @@ -106,7 +106,7 @@

Method Details

Returns: An object of the form: - { # Singleton resource representing the set of crashrate metrics. This metric set contains crashes data combined with usage data to produce a normalized metric independent of user counts. **Supported aggregation periods:** * DAILY: metrics are aggregated in calendar date intervals. Due to historical constraints, the only supported timezone is `America/Los_Angeles`. **Supported metrics:** * `crashRate` (`google.type.Decimal`): Percentage of distinct users in the aggregation period that experienced at least one crash. If your app exhibits a crash rate equal to or higher than the threshold, it's in the bottom 25% of the top 1,000 apps on Google Play (by number of installs). * `crashRate7dUserWeighted` (`google.type.Decimal`): Rolling average value of `crashRate` in the last 7 days. The daily values are weighted by the count of distinct users for the day. * `crashRate28dUserWeighted` (`google.type.Decimal`): Rolling average value of `crashRate` in the last 28 days. The daily values are weighted by the count of distinct users for the day. * `distinctUsers` (`google.type.Decimal`): Count of distinct users in the aggregation period that were used as normalization value for the `crashRate` metric. A user is counted in this metric if they used the app in the foreground during the aggregation period. Care must be taken not to aggregate this count further, as it may result in users being counted multiple times. **Supported dimensions:** * `apiLevel` (string): the API level of Android that was running on the user's device. * `versionCode` (int64): version of the app that was running on the user's device. * `deviceModel` (string): unique identifier of the user's device model. * `deviceType` (string): the type (also known as form factor) of the user's device. * `countryCode` (string): the country or region of the user's device based on their IP address, represented as a 2-letter ISO-3166 code (e.g. US for the United States). **Required permissions**: to access this resource, the calling user needs the _View app information (read-only)_ permission for the app. **Related metric sets:** * vitals.errors contains unnormalized version (absolute counts) of crashes. * vitals.errors contains normalized metrics about ANRs, another stability metric. + { # Singleton resource representing the set of crashrate metrics. This metric set contains crashes data combined with usage data to produce a normalized metric independent of user counts. **Supported aggregation periods:** * DAILY: metrics are aggregated in calendar date intervals. Due to historical constraints, the only supported timezone is `America/Los_Angeles`. **Supported metrics:** * `crashRate` (`google.type.Decimal`): Percentage of distinct users in the aggregation period that experienced at least one crash. If your app exhibits a crash rate equal to or higher than the threshold, it's in the bottom 25% of the top 1,000 apps on Google Play (by number of installs). * `crashRate7dUserWeighted` (`google.type.Decimal`): Rolling average value of `crashRate` in the last 7 days. The daily values are weighted by the count of distinct users for the day. * `crashRate28dUserWeighted` (`google.type.Decimal`): Rolling average value of `crashRate` in the last 28 days. The daily values are weighted by the count of distinct users for the day. * `distinctUsers` (`google.type.Decimal`): Count of distinct users in the aggregation period that were used as normalization value for the `crashRate` metric. A user is counted in this metric if they used the app in the foreground during the aggregation period. Care must be taken not to aggregate this count further, as it may result in users being counted multiple times. **Supported dimensions:** * `apiLevel` (string): the API level of Android that was running on the user's device. * `versionCode` (int64): version of the app that was running on the user's device. * `deviceModel` (string): unique identifier of the user's device model. * `deviceType` (string): the type (also known as form factor) of the user's device. * `countryCode` (string): the country or region of the user's device based on their IP address, represented as a 2-letter ISO-3166 code (e.g. US for the United States). * `deviceRamBucket` (int64): RAM of the device, in MB, in buckets (3GB, 4GB, etc.). * `deviceSocMake` (string): Make of the device's primary system-on-chip, e.g., Samsung. [Reference](https://developer.android.com/reference/android/os/Build#SOC_MANUFACTURER) * `deviceSocModel` (string): Model of the device's primary system-on-chip, e.g., "Exynos 2100". [Reference](https://developer.android.com/reference/android/os/Build#SOC_MODEL) * `deviceCpuMake` (string): Make of the device's CPU, e.g., Qualcomm. * `deviceCpuModel` (string): Model of the device's CPU, e.g., "Kryo 240". * `deviceGpuMake` (string): Make of the device's GPU, e.g., ARM. * `deviceGpuModel` (string): Model of the device's GPU, e.g., Mali. * `deviceGpuVersion` (string): Version of the device's GPU, e.g., T750. * `deviceVulkanVersion` (string): Vulkan version of the device, e.g., "4198400". * `deviceGlEsVersion` (string): OpenGL ES version of the device, e.g., "196610". * `deviceScreenSize` (string): Screen size of the device, e.g., NORMAL, LARGE. * `deviceScreenDpi` (string): Screen density of the device, e.g., mdpi, hdpi. **Required permissions**: to access this resource, the calling user needs the _View app information (read-only)_ permission for the app. **Related metric sets:** * vitals.errors contains unnormalized version (absolute counts) of crashes. * vitals.errors contains normalized metrics about ANRs, another stability metric. "freshnessInfo": { # Represents the latest available time that can be requested in a TimelineSpec. Different aggregation periods have different freshness. For example, `DAILY` aggregation may lag behind `HOURLY` in cases where such aggregation is computed only once at the end of the day. # Summary about data freshness in this resource. "freshnesses": [ # Information about data freshness for every supported aggregation period. This field has set semantics, keyed by the `aggregation_period` field. { # Information about data freshness for a single aggregation period. @@ -142,7 +142,7 @@

Method Details

The object takes the form of: { # Request message for QueryCrashRateMetricSet. - "dimensions": [ # Dimensions to slice the metrics by. **Supported dimensions:** * `apiLevel` (string): the API level of Android that was running on the user's device. * `versionCode` (int64): version of the app that was running on the user's device. * `deviceModel` (string): unique identifier of the user's device model. * `deviceType` (string): the type (also known as form factor) of the user's device. * `countryCode` (string): the country or region of the user's device based on their IP address, represented as a 2-letter ISO-3166 code (e.g. US for the United States). + "dimensions": [ # Dimensions to slice the metrics by. **Supported dimensions:** * `apiLevel` (string): the API level of Android that was running on the user's device. * `versionCode` (int64): version of the app that was running on the user's device. * `deviceModel` (string): unique identifier of the user's device model. * `deviceType` (string): the type (also known as form factor) of the user's device. * `countryCode` (string): the country or region of the user's device based on their IP address, represented as a 2-letter ISO-3166 code (e.g. US for the United States). * `deviceRamBucket` (int64): RAM of the device, in MB, in buckets (3GB, 4GB, etc.). * `deviceSocMake` (string): Make of the device's primary system-on-chip, e.g., Samsung. [Reference](https://developer.android.com/reference/android/os/Build#SOC_MANUFACTURER) * `deviceSocModel` (string): Model of the device's primary system-on-chip, e.g., "Exynos 2100". [Reference](https://developer.android.com/reference/android/os/Build#SOC_MODEL) * `deviceCpuMake` (string): Make of the device's CPU, e.g., Qualcomm. * `deviceCpuModel` (string): Model of the device's CPU, e.g., "Kryo 240". * `deviceGpuMake` (string): Make of the device's GPU, e.g., ARM. * `deviceGpuModel` (string): Model of the device's GPU, e.g., Mali. * `deviceGpuVersion` (string): Version of the device's GPU, e.g., T750. * `deviceVulkanVersion` (string): Vulkan version of the device, e.g., "4198400". * `deviceGlEsVersion` (string): OpenGL ES version of the device, e.g., "196610". * `deviceScreenSize` (string): Screen size of the device, e.g., NORMAL, LARGE. * `deviceScreenDpi` (string): Screen density of the device, e.g., mdpi, hdpi. "A String", ], "filter": "A String", # Filters to apply to data. The filtering expression follows [AIP-160](https://google.aip.dev/160) standard and supports filtering by equality of all breakdown dimensions. diff --git a/docs/dyn/playdeveloperreporting_v1alpha1.vitals.errors.counts.html b/docs/dyn/playdeveloperreporting_v1alpha1.vitals.errors.counts.html index a9b271798ae..b35ce223c3c 100644 --- a/docs/dyn/playdeveloperreporting_v1alpha1.vitals.errors.counts.html +++ b/docs/dyn/playdeveloperreporting_v1alpha1.vitals.errors.counts.html @@ -106,7 +106,7 @@

Method Details

Returns: An object of the form: - { # Singleton resource representing the set of error report metrics. This metric set contains un-normalized error report counts. **Supported aggregation periods:** * DAILY: metrics are aggregated in calendar date intervals. The default and only supported timezone is `America/Los_Angeles`. **Supported metrics:** * `errorReportCount` (`google.type.Decimal`): Absolute count of individual error reports that have been received for an app. * `distinctUsers` (`google.type.Decimal`): Count of distinct users for which reports have been received. Care must be taken not to aggregate this count further, as it may result in users being counted multiple times. **Required dimension:** This dimension must be always specified in all requests in the `dimensions` field in query requests. * `reportType` (string): the type of error. The value should correspond to one of the possible values in ErrorType. **Supported dimensions:** * `apiLevel` (string): the API level of Android that was running on the user's device. * `versionCode` (int64): version of the app that was running on the user's device. * `deviceModel` (string): unique identifier of the user's device model. * `deviceType` (string): identifier of the device's form factor, e.g., PHONE. * `issueId` (string): the id an error was assigned to. The value should correspond to the `{issue}` component of the issue name. **Required permissions**: to access this resource, the calling user needs the _View app information (read-only)_ permission for the app. **Related metric sets:** * vitals.errors.counts contains normalized metrics about Crashes, another stability metric. * vitals.errors.counts contains normalized metrics about ANRs, another stability metric. + { # Singleton resource representing the set of error report metrics. This metric set contains un-normalized error report counts. **Supported aggregation periods:** * DAILY: metrics are aggregated in calendar date intervals. The default and only supported timezone is `America/Los_Angeles`. **Supported metrics:** * `errorReportCount` (`google.type.Decimal`): Absolute count of individual error reports that have been received for an app. * `distinctUsers` (`google.type.Decimal`): Count of distinct users for which reports have been received. Care must be taken not to aggregate this count further, as it may result in users being counted multiple times. **Required dimension:** This dimension must be always specified in all requests in the `dimensions` field in query requests. * `reportType` (string): the type of error. The value should correspond to one of the possible values in ErrorType. **Supported dimensions:** * `apiLevel` (string): the API level of Android that was running on the user's device. * `versionCode` (int64): version of the app that was running on the user's device. * `deviceModel` (string): unique identifier of the user's device model. * `deviceType` (string): identifier of the device's form factor, e.g., PHONE. * `issueId` (string): the id an error was assigned to. The value should correspond to the `{issue}` component of the issue name. * `deviceRamBucket` (int64): RAM of the device, in MB, in buckets (3GB, 4GB, etc.). * `deviceSocMake` (string): Make of the device's primary system-on-chip, e.g., Samsung. [Reference](https://developer.android.com/reference/android/os/Build#SOC_MANUFACTURER) * `deviceSocModel` (string): Model of the device's primary system-on-chip, e.g., "Exynos 2100". [Reference](https://developer.android.com/reference/android/os/Build#SOC_MODEL) * `deviceCpuMake` (string): Make of the device's CPU, e.g., Qualcomm. * `deviceCpuModel` (string): Model of the device's CPU, e.g., "Kryo 240". * `deviceGpuMake` (string): Make of the device's GPU, e.g., ARM. * `deviceGpuModel` (string): Model of the device's GPU, e.g., Mali. * `deviceGpuVersion` (string): Version of the device's GPU, e.g., T750. * `deviceVulkanVersion` (string): Vulkan version of the device, e.g., "4198400". * `deviceGlEsVersion` (string): OpenGL ES version of the device, e.g., "196610". * `deviceScreenSize` (string): Screen size of the device, e.g., NORMAL, LARGE. * `deviceScreenDpi` (string): Screen density of the device, e.g., mdpi, hdpi. **Required permissions**: to access this resource, the calling user needs the _View app information (read-only)_ permission for the app. **Related metric sets:** * vitals.errors.counts contains normalized metrics about Crashes, another stability metric. * vitals.errors.counts contains normalized metrics about ANRs, another stability metric. "freshnessInfo": { # Represents the latest available time that can be requested in a TimelineSpec. Different aggregation periods have different freshness. For example, `DAILY` aggregation may lag behind `HOURLY` in cases where such aggregation is computed only once at the end of the day. # Summary about data freshness in this resource. "freshnesses": [ # Information about data freshness for every supported aggregation period. This field has set semantics, keyed by the `aggregation_period` field. { # Information about data freshness for a single aggregation period. @@ -142,7 +142,7 @@

Method Details

The object takes the form of: { # Request message for QueryErrorCountMetricSet. - "dimensions": [ # Dimensions to slice the data by. **Supported dimensions:** * `apiLevel` (string): the API level of Android that was running on the user's device. * `versionCode` (int64): version of the app that was running on the user's device. * `deviceModel` (string): unique identifier of the user's device model. * `deviceType` (string): identifier of the device's form factor, e.g., PHONE. * `reportType` (string): the type of error. The value should correspond to one of the possible values in ErrorType. * `issueId` (string): the id an error was assigned to. The value should correspond to the `{issue}` component of the issue name. + "dimensions": [ # Dimensions to slice the data by. **Supported dimensions:** * `apiLevel` (string): the API level of Android that was running on the user's device. * `versionCode` (int64): version of the app that was running on the user's device. * `deviceModel` (string): unique identifier of the user's device model. * `deviceType` (string): identifier of the device's form factor, e.g., PHONE. * `reportType` (string): the type of error. The value should correspond to one of the possible values in ErrorType. * `issueId` (string): the id an error was assigned to. The value should correspond to the `{issue}` component of the issue name. * `deviceRamBucket` (int64): RAM of the device, in MB, in buckets (3GB, 4GB, etc.). * `deviceSocMake` (string): Make of the device's primary system-on-chip, e.g., Samsung. [Reference](https://developer.android.com/reference/android/os/Build#SOC_MANUFACTURER) * `deviceSocModel` (string): Model of the device's primary system-on-chip, e.g., "Exynos 2100". [Reference](https://developer.android.com/reference/android/os/Build#SOC_MODEL) * `deviceCpuMake` (string): Make of the device's CPU, e.g., Qualcomm. * `deviceCpuModel` (string): Model of the device's CPU, e.g., "Kryo 240". * `deviceGpuMake` (string): Make of the device's GPU, e.g., ARM. * `deviceGpuModel` (string): Model of the device's GPU, e.g., Mali. * `deviceGpuVersion` (string): Version of the device's GPU, e.g., T750. * `deviceVulkanVersion` (string): Vulkan version of the device, e.g., "4198400". * `deviceGlEsVersion` (string): OpenGL ES version of the device, e.g., "196610". * `deviceScreenSize` (string): Screen size of the device, e.g., NORMAL, LARGE. * `deviceScreenDpi` (string): Screen density of the device, e.g., mdpi, hdpi. "A String", ], "filter": "A String", # Filters to apply to data. The filtering expression follows [AIP-160](https://google.aip.dev/160) standard and supports filtering by equality of all breakdown dimensions. diff --git a/docs/dyn/playdeveloperreporting_v1alpha1.vitals.excessivewakeuprate.html b/docs/dyn/playdeveloperreporting_v1alpha1.vitals.excessivewakeuprate.html index ccc67698d2b..13bbe984c97 100644 --- a/docs/dyn/playdeveloperreporting_v1alpha1.vitals.excessivewakeuprate.html +++ b/docs/dyn/playdeveloperreporting_v1alpha1.vitals.excessivewakeuprate.html @@ -106,7 +106,7 @@

Method Details

Returns: An object of the form: - { # Singleton resource representing the set of Excessive Weakeups metrics. This metric set contains AlarmManager wakeup counts data combined with process state data to produce a normalized metric independent of user counts. **Supported aggregation periods:** * DAILY: metrics are aggregated in calendar date intervals. Due to historical constraints, the only supported timezone is `America/Los_Angeles`. **Supported metrics:** * `excessiveWakeupRate` (`google.type.Decimal`): Percentage of distinct users in the aggregation period that had more than 10 wakeups per hour. If your app exhibits an excessive wakeup rate equal to or higher than the threshold, it's in the bottom 25% of the top 1,000 apps on Google Play (by number of installs). * `excessiveWakeupRate7dUserWeighted` (`google.type.Decimal`): Rolling average value of `excessiveWakeupRate` in the last 7 days. The daily values are weighted by the count of distinct users for the day. * `excessiveWakeupRate28dUserWeighted` (`google.type.Decimal`): Rolling average value of `excessiveWakeupRate` in the last 28 days. The daily values are weighted by the count of distinct users for the day. * `distinctUsers` (`google.type.Decimal`): Count of distinct users in the aggregation period that were used as normalization value for the `excessiveWakeupRate` metric. A user is counted in this metric if they app was doing any work on the device, i.e., not just active foreground usage but also background work. Care must be taken not to aggregate this count further, as it may result in users being counted multiple times. **Supported dimensions:** * `apiLevel` (string): the API level of Android that was running on the user's device. * `versionCode` (int64): version of the app that was running on the user's device. * `deviceModel` (string): unique identifier of the user's device model. * `deviceType` (string): the type (also known as form factor) of the user's device. * `countryCode` (string): the country or region of the user's device based on their IP address, represented as a 2-letter ISO-3166 code (e.g. US for the United States). **Required permissions**: to access this resource, the calling user needs the _View app information (read-only)_ permission for the app. + { # Singleton resource representing the set of Excessive Weakeups metrics. This metric set contains AlarmManager wakeup counts data combined with process state data to produce a normalized metric independent of user counts. **Supported aggregation periods:** * DAILY: metrics are aggregated in calendar date intervals. Due to historical constraints, the only supported timezone is `America/Los_Angeles`. **Supported metrics:** * `excessiveWakeupRate` (`google.type.Decimal`): Percentage of distinct users in the aggregation period that had more than 10 wakeups per hour. If your app exhibits an excessive wakeup rate equal to or higher than the threshold, it's in the bottom 25% of the top 1,000 apps on Google Play (by number of installs). * `excessiveWakeupRate7dUserWeighted` (`google.type.Decimal`): Rolling average value of `excessiveWakeupRate` in the last 7 days. The daily values are weighted by the count of distinct users for the day. * `excessiveWakeupRate28dUserWeighted` (`google.type.Decimal`): Rolling average value of `excessiveWakeupRate` in the last 28 days. The daily values are weighted by the count of distinct users for the day. * `distinctUsers` (`google.type.Decimal`): Count of distinct users in the aggregation period that were used as normalization value for the `excessiveWakeupRate` metric. A user is counted in this metric if they app was doing any work on the device, i.e., not just active foreground usage but also background work. Care must be taken not to aggregate this count further, as it may result in users being counted multiple times. **Supported dimensions:** * `apiLevel` (string): the API level of Android that was running on the user's device. * `versionCode` (int64): version of the app that was running on the user's device. * `deviceModel` (string): unique identifier of the user's device model. * `deviceType` (string): the type (also known as form factor) of the user's device. * `countryCode` (string): the country or region of the user's device based on their IP address, represented as a 2-letter ISO-3166 code (e.g. US for the United States). * `deviceRamBucket` (int64): RAM of the device, in MB, in buckets (3GB, 4GB, etc.). * `deviceSocMake` (string): Make of the device's primary system-on-chip, e.g., Samsung. [Reference](https://developer.android.com/reference/android/os/Build#SOC_MANUFACTURER) * `deviceSocModel` (string): Model of the device's primary system-on-chip, e.g., "Exynos 2100". [Reference](https://developer.android.com/reference/android/os/Build#SOC_MODEL) * `deviceCpuMake` (string): Make of the device's CPU, e.g., Qualcomm. * `deviceCpuModel` (string): Model of the device's CPU, e.g., "Kryo 240". * `deviceGpuMake` (string): Make of the device's GPU, e.g., ARM. * `deviceGpuModel` (string): Model of the device's GPU, e.g., Mali. * `deviceGpuVersion` (string): Version of the device's GPU, e.g., T750. * `deviceVulkanVersion` (string): Vulkan version of the device, e.g., "4198400". * `deviceGlEsVersion` (string): OpenGL ES version of the device, e.g., "196610". * `deviceScreenSize` (string): Screen size of the device, e.g., NORMAL, LARGE. * `deviceScreenDpi` (string): Screen density of the device, e.g., mdpi, hdpi. **Required permissions**: to access this resource, the calling user needs the _View app information (read-only)_ permission for the app. "freshnessInfo": { # Represents the latest available time that can be requested in a TimelineSpec. Different aggregation periods have different freshness. For example, `DAILY` aggregation may lag behind `HOURLY` in cases where such aggregation is computed only once at the end of the day. # Summary about data freshness in this resource. "freshnesses": [ # Information about data freshness for every supported aggregation period. This field has set semantics, keyed by the `aggregation_period` field. { # Information about data freshness for a single aggregation period. @@ -142,7 +142,7 @@

Method Details

The object takes the form of: { # Request message for QueryExcessiveWakeupRateMetricSet. - "dimensions": [ # Dimensions to slice the data by. **Supported dimensions:** * `apiLevel` (string): the API level of Android that was running on the user's device. * `versionCode` (int64): version of the app that was running on the user's device. * `deviceModel` (string): unique identifier of the user's device model. * `deviceType` (string): the type (also known as form factor) of the user's device. * `countryCode` (string): the country or region of the user's device based on their IP address, represented as a 2-letter ISO-3166 code (e.g. US for the United States). + "dimensions": [ # Dimensions to slice the data by. **Supported dimensions:** * `apiLevel` (string): the API level of Android that was running on the user's device. * `versionCode` (int64): version of the app that was running on the user's device. * `deviceModel` (string): unique identifier of the user's device model. * `deviceType` (string): the type (also known as form factor) of the user's device. * `countryCode` (string): the country or region of the user's device based on their IP address, represented as a 2-letter ISO-3166 code (e.g. US for the United States). * `deviceRamBucket` (int64): RAM of the device, in MB, in buckets (3GB, 4GB, etc.). * `deviceSocMake` (string): Make of the device's primary system-on-chip, e.g., Samsung. [Reference](https://developer.android.com/reference/android/os/Build#SOC_MANUFACTURER) * `deviceSocModel` (string): Model of the device's primary system-on-chip, e.g., "Exynos 2100". [Reference](https://developer.android.com/reference/android/os/Build#SOC_MODEL) * `deviceCpuMake` (string): Make of the device's CPU, e.g., Qualcomm. * `deviceCpuModel` (string): Model of the device's CPU, e.g., "Kryo 240". * `deviceGpuMake` (string): Make of the device's GPU, e.g., ARM. * `deviceGpuModel` (string): Model of the device's GPU, e.g., Mali. * `deviceGpuVersion` (string): Version of the device's GPU, e.g., T750. * `deviceVulkanVersion` (string): Vulkan version of the device, e.g., "4198400". * `deviceGlEsVersion` (string): OpenGL ES version of the device, e.g., "196610". * `deviceScreenSize` (string): Screen size of the device, e.g., NORMAL, LARGE. * `deviceScreenDpi` (string): Screen density of the device, e.g., mdpi, hdpi. "A String", ], "filter": "A String", # Filters to apply to data. The filtering expression follows [AIP-160](https://google.aip.dev/160) standard and supports filtering by equality of all breakdown dimensions. diff --git a/docs/dyn/playdeveloperreporting_v1alpha1.vitals.stuckbackgroundwakelockrate.html b/docs/dyn/playdeveloperreporting_v1alpha1.vitals.stuckbackgroundwakelockrate.html index 9dbc779b978..da4a5c36d65 100644 --- a/docs/dyn/playdeveloperreporting_v1alpha1.vitals.stuckbackgroundwakelockrate.html +++ b/docs/dyn/playdeveloperreporting_v1alpha1.vitals.stuckbackgroundwakelockrate.html @@ -106,7 +106,7 @@

Method Details

Returns: An object of the form: - { # Singleton resource representing the set of Stuck Background Wakelocks metrics. This metric set contains PowerManager wakelock duration data combined with process state data to produce a normalized metric independent of user counts. **Supported aggregation periods:** * DAILY: metrics are aggregated in calendar date intervals. Due to historical constraints, the only supported timezone is `America/Los_Angeles`. **Supported metrics:** * `stuckBgWakelockRate` (`google.type.Decimal`): Percentage of distinct users in the aggregation period that had a wakelock held in the background for longer than 1 hour. If your app exhibits a stuck background wakelocks rate equal to or higher than the threshold, it's in the bottom 25% of the top 1,000 apps on Google Play (by number of installs). * `stuckBgWakelockRate7dUserWeighted` (`google.type.Decimal`): Rolling average value of `stuckBgWakelockRate` in the last 7 days. The daily values are weighted by the count of distinct users for the day. * `stuckBgWakelockRate28dUserWeighted` (`google.type.Decimal`): Rolling average value of `stuckBgWakelockRate` in the last 28 days. The daily values are weighted by the count of distinct users for the day. * `distinctUsers` (`google.type.Decimal`): Count of distinct users in the aggregation period that were used as normalization value for the `stuckBgWakelockRate` metric. A user is counted in this metric if their app was doing any work on the device, i.e., not just active foreground usage but also background work. Care must be taken not to aggregate this count further, as it may result in users being counted multiple times. **Supported dimensions:** * `apiLevel` (string): the API level of Android that was running on the user's device. * `versionCode` (int64): version of the app that was running on the user's device. * `deviceModel` (string): unique identifier of the user's device model. * `deviceType` (string): the type (also known as form factor) of the user's device. * `countryCode` (string): the country or region of the user's device based on their IP address, represented as a 2-letter ISO-3166 code (e.g. US for the United States). **Required permissions**: to access this resource, the calling user needs the _View app information (read-only)_ permission for the app. + { # Singleton resource representing the set of Stuck Background Wakelocks metrics. This metric set contains PowerManager wakelock duration data combined with process state data to produce a normalized metric independent of user counts. **Supported aggregation periods:** * DAILY: metrics are aggregated in calendar date intervals. Due to historical constraints, the only supported timezone is `America/Los_Angeles`. **Supported metrics:** * `stuckBgWakelockRate` (`google.type.Decimal`): Percentage of distinct users in the aggregation period that had a wakelock held in the background for longer than 1 hour. If your app exhibits a stuck background wakelocks rate equal to or higher than the threshold, it's in the bottom 25% of the top 1,000 apps on Google Play (by number of installs). * `stuckBgWakelockRate7dUserWeighted` (`google.type.Decimal`): Rolling average value of `stuckBgWakelockRate` in the last 7 days. The daily values are weighted by the count of distinct users for the day. * `stuckBgWakelockRate28dUserWeighted` (`google.type.Decimal`): Rolling average value of `stuckBgWakelockRate` in the last 28 days. The daily values are weighted by the count of distinct users for the day. * `distinctUsers` (`google.type.Decimal`): Count of distinct users in the aggregation period that were used as normalization value for the `stuckBgWakelockRate` metric. A user is counted in this metric if their app was doing any work on the device, i.e., not just active foreground usage but also background work. Care must be taken not to aggregate this count further, as it may result in users being counted multiple times. **Supported dimensions:** * `apiLevel` (string): the API level of Android that was running on the user's device. * `versionCode` (int64): version of the app that was running on the user's device. * `deviceModel` (string): unique identifier of the user's device model. * `deviceType` (string): the type (also known as form factor) of the user's device. * `countryCode` (string): the country or region of the user's device based on their IP address, represented as a 2-letter ISO-3166 code (e.g. US for the United States). * `deviceRamBucket` (int64): RAM of the device, in MB, in buckets (3GB, 4GB, etc.). * `deviceSocMake` (string): Make of the device's primary system-on-chip, e.g., Samsung. [Reference](https://developer.android.com/reference/android/os/Build#SOC_MANUFACTURER) * `deviceSocModel` (string): Model of the device's primary system-on-chip, e.g., "Exynos 2100". [Reference](https://developer.android.com/reference/android/os/Build#SOC_MODEL) * `deviceCpuMake` (string): Make of the device's CPU, e.g., Qualcomm. * `deviceCpuModel` (string): Model of the device's CPU, e.g., "Kryo 240". * `deviceGpuMake` (string): Make of the device's GPU, e.g., ARM. * `deviceGpuModel` (string): Model of the device's GPU, e.g., Mali. * `deviceGpuVersion` (string): Version of the device's GPU, e.g., T750. * `deviceVulkanVersion` (string): Vulkan version of the device, e.g., "4198400". * `deviceGlEsVersion` (string): OpenGL ES version of the device, e.g., "196610". * `deviceScreenSize` (string): Screen size of the device, e.g., NORMAL, LARGE. * `deviceScreenDpi` (string): Screen density of the device, e.g., mdpi, hdpi. **Required permissions**: to access this resource, the calling user needs the _View app information (read-only)_ permission for the app. "freshnessInfo": { # Represents the latest available time that can be requested in a TimelineSpec. Different aggregation periods have different freshness. For example, `DAILY` aggregation may lag behind `HOURLY` in cases where such aggregation is computed only once at the end of the day. # Summary about data freshness in this resource. "freshnesses": [ # Information about data freshness for every supported aggregation period. This field has set semantics, keyed by the `aggregation_period` field. { # Information about data freshness for a single aggregation period. @@ -142,7 +142,7 @@

Method Details

The object takes the form of: { # Request message for QueryStuckBackgroundWakelockRateMetricSet. - "dimensions": [ # Dimensions to slice the data by. **Supported dimensions:** * `apiLevel` (string): the API level of Android that was running on the user's device. * `versionCode` (int64): version of the app that was running on the user's device. * `deviceModel` (string): unique identifier of the user's device model. * `deviceType` (string): the type (also known as form factor) of the user's device. * `countryCode` (string): the country or region of the user's device based on their IP address, represented as a 2-letter ISO-3166 code (e.g. US for the United States). + "dimensions": [ # Dimensions to slice the data by. **Supported dimensions:** * `apiLevel` (string): the API level of Android that was running on the user's device. * `versionCode` (int64): version of the app that was running on the user's device. * `deviceModel` (string): unique identifier of the user's device model. * `deviceType` (string): the type (also known as form factor) of the user's device. * `countryCode` (string): the country or region of the user's device based on their IP address, represented as a 2-letter ISO-3166 code (e.g. US for the United States). * `deviceRamBucket` (int64): RAM of the device, in MB, in buckets (3GB, 4GB, etc.). * `deviceSocMake` (string): Make of the device's primary system-on-chip, e.g., Samsung. [Reference](https://developer.android.com/reference/android/os/Build#SOC_MANUFACTURER) * `deviceSocModel` (string): Model of the device's primary system-on-chip, e.g., "Exynos 2100". [Reference](https://developer.android.com/reference/android/os/Build#SOC_MODEL) * `deviceCpuMake` (string): Make of the device's CPU, e.g., Qualcomm. * `deviceCpuModel` (string): Model of the device's CPU, e.g., "Kryo 240". * `deviceGpuMake` (string): Make of the device's GPU, e.g., ARM. * `deviceGpuModel` (string): Model of the device's GPU, e.g., Mali. * `deviceGpuVersion` (string): Version of the device's GPU, e.g., T750. * `deviceVulkanVersion` (string): Vulkan version of the device, e.g., "4198400". * `deviceGlEsVersion` (string): OpenGL ES version of the device, e.g., "196610". * `deviceScreenSize` (string): Screen size of the device, e.g., NORMAL, LARGE. * `deviceScreenDpi` (string): Screen density of the device, e.g., mdpi, hdpi. "A String", ], "filter": "A String", # Filters to apply to data. The filtering expression follows [AIP-160](https://google.aip.dev/160) standard and supports filtering by equality of all breakdown dimensions. diff --git a/docs/dyn/playdeveloperreporting_v1beta1.vitals.anrrate.html b/docs/dyn/playdeveloperreporting_v1beta1.vitals.anrrate.html index f7249c2cfdc..d9b601b3f85 100644 --- a/docs/dyn/playdeveloperreporting_v1beta1.vitals.anrrate.html +++ b/docs/dyn/playdeveloperreporting_v1beta1.vitals.anrrate.html @@ -106,7 +106,7 @@

Method Details

Returns: An object of the form: - { # Singleton resource representing the set of ANR (Application not responding) metrics. This metric set contains ANRs data combined with usage data to produce a normalized metric independent of user counts. **Supported aggregation periods:** * DAILY: metrics are aggregated in calendar date intervals. Due to historical constraints, the only supported timezone is `America/Los_Angeles`. **Supported metrics:** * `anrRate` (`google.type.Decimal`): Percentage of distinct users in the aggregation period that experienced at least one ANR. If your app exhibits an ANR rate equal to or higher than the threshold, it's in the bottom 25% of the top 1,000 apps on Google Play (by number of installs). * `anrRate7dUserWeighted` (`google.type.Decimal`): Rolling average value of `anrRate` in the last 7 days. The daily values are weighted by the count of distinct users for the day. * `anrRate28dUserWeighted` (`google.type.Decimal`): Rolling average value of `anrRate` in the last 28 days. The daily values are weighted by the count of distinct users for the day. * `distinctUsers` (`google.type.Decimal`): Count of distinct users in the aggregation period that were used as normalization value for the `anrRate` metric. A user is counted in this metric if they used the app in the foreground during the aggregation period. Care must be taken not to aggregate this count further, as it may result in users being counted multiple times. **Supported dimensions:** * `apiLevel` (string): the API level of Android that was running on the user's device. * `versionCode` (int64): version of the app that was running on the user's device. * `deviceModel` (string): unique identifier of the user's device model. * `deviceType` (string): the type (also known as form factor) of the user's device. * `countryCode` (string): the country or region of the user's device based on their IP address, represented as a 2-letter ISO-3166 code (e.g. US for the United States). **Required permissions**: to access this resource, the calling user needs the _View app information (read-only)_ permission for the app. **Related metric sets:** * vitals.errors contains unnormalized version (absolute counts) of crashes. * vitals.errors contains normalized metrics about crashes, another stability metric. + { # Singleton resource representing the set of ANR (Application not responding) metrics. This metric set contains ANRs data combined with usage data to produce a normalized metric independent of user counts. **Supported aggregation periods:** * DAILY: metrics are aggregated in calendar date intervals. Due to historical constraints, the only supported timezone is `America/Los_Angeles`. **Supported metrics:** * `anrRate` (`google.type.Decimal`): Percentage of distinct users in the aggregation period that experienced at least one ANR. If your app exhibits an ANR rate equal to or higher than the threshold, it's in the bottom 25% of the top 1,000 apps on Google Play (by number of installs). * `anrRate7dUserWeighted` (`google.type.Decimal`): Rolling average value of `anrRate` in the last 7 days. The daily values are weighted by the count of distinct users for the day. * `anrRate28dUserWeighted` (`google.type.Decimal`): Rolling average value of `anrRate` in the last 28 days. The daily values are weighted by the count of distinct users for the day. * `distinctUsers` (`google.type.Decimal`): Count of distinct users in the aggregation period that were used as normalization value for the `anrRate` metric. A user is counted in this metric if they used the app in the foreground during the aggregation period. Care must be taken not to aggregate this count further, as it may result in users being counted multiple times. **Supported dimensions:** * `apiLevel` (string): the API level of Android that was running on the user's device. * `versionCode` (int64): version of the app that was running on the user's device. * `deviceModel` (string): unique identifier of the user's device model. * `deviceType` (string): the type (also known as form factor) of the user's device. * `countryCode` (string): the country or region of the user's device based on their IP address, represented as a 2-letter ISO-3166 code (e.g. US for the United States). * `deviceRamBucket` (int64): RAM of the device, in MB, in buckets (3GB, 4GB, etc.). * `deviceSocMake` (string): Make of the device's primary system-on-chip, e.g., Samsung. [Reference](https://developer.android.com/reference/android/os/Build#SOC_MANUFACTURER) * `deviceSocModel` (string): Model of the device's primary system-on-chip, e.g., "Exynos 2100". [Reference](https://developer.android.com/reference/android/os/Build#SOC_MODEL) * `deviceCpuMake` (string): Make of the device's CPU, e.g., Qualcomm. * `deviceCpuModel` (string): Model of the device's CPU, e.g., "Kryo 240". * `deviceGpuMake` (string): Make of the device's GPU, e.g., ARM. * `deviceGpuModel` (string): Model of the device's GPU, e.g., Mali. * `deviceGpuVersion` (string): Version of the device's GPU, e.g., T750. * `deviceVulkanVersion` (string): Vulkan version of the device, e.g., "4198400". * `deviceGlEsVersion` (string): OpenGL ES version of the device, e.g., "196610". * `deviceScreenSize` (string): Screen size of the device, e.g., NORMAL, LARGE. * `deviceScreenDpi` (string): Screen density of the device, e.g., mdpi, hdpi. **Required permissions**: to access this resource, the calling user needs the _View app information (read-only)_ permission for the app. **Related metric sets:** * vitals.errors contains unnormalized version (absolute counts) of crashes. * vitals.errors contains normalized metrics about crashes, another stability metric. "freshnessInfo": { # Represents the latest available time that can be requested in a TimelineSpec. Different aggregation periods have different freshness. For example, `DAILY` aggregation may lag behind `HOURLY` in cases where such aggregation is computed only once at the end of the day. # Summary about data freshness in this resource. "freshnesses": [ # Information about data freshness for every supported aggregation period. This field has set semantics, keyed by the `aggregation_period` field. { # Information about data freshness for a single aggregation period. @@ -142,7 +142,7 @@

Method Details

The object takes the form of: { # Request message for QueryAnrRateMetricSet. - "dimensions": [ # Dimensions to slice the metrics by. **Supported dimensions:** * `apiLevel` (string): the API level of Android that was running on the user's device. * `versionCode` (int64): version of the app that was running on the user's device. * `deviceModel` (string): unique identifier of the user's device model. * `deviceType` (string): the type (also known as form factor) of the user's device. * `countryCode` (string): the country or region of the user's device based on their IP address, represented as a 2-letter ISO-3166 code (e.g. US for the United States). + "dimensions": [ # Dimensions to slice the metrics by. **Supported dimensions:** * `apiLevel` (string): the API level of Android that was running on the user's device. * `versionCode` (int64): version of the app that was running on the user's device. * `deviceModel` (string): unique identifier of the user's device model. * `deviceType` (string): the type (also known as form factor) of the user's device. * `countryCode` (string): the country or region of the user's device based on their IP address, represented as a 2-letter ISO-3166 code (e.g. US for the United States). * `deviceRamBucket` (int64): RAM of the device, in MB, in buckets (3GB, 4GB, etc.). * `deviceSocMake` (string): Make of the device's primary system-on-chip, e.g., Samsung. [Reference](https://developer.android.com/reference/android/os/Build#SOC_MANUFACTURER) * `deviceSocModel` (string): Model of the device's primary system-on-chip, e.g., "Exynos 2100". [Reference](https://developer.android.com/reference/android/os/Build#SOC_MODEL) * `deviceCpuMake` (string): Make of the device's CPU, e.g., Qualcomm. * `deviceCpuModel` (string): Model of the device's CPU, e.g., "Kryo 240". * `deviceGpuMake` (string): Make of the device's GPU, e.g., ARM. * `deviceGpuModel` (string): Model of the device's GPU, e.g., Mali. * `deviceGpuVersion` (string): Version of the device's GPU, e.g., T750. * `deviceVulkanVersion` (string): Vulkan version of the device, e.g., "4198400". * `deviceGlEsVersion` (string): OpenGL ES version of the device, e.g., "196610". * `deviceScreenSize` (string): Screen size of the device, e.g., NORMAL, LARGE. * `deviceScreenDpi` (string): Screen density of the device, e.g., mdpi, hdpi. "A String", ], "filter": "A String", # Filters to apply to data. The filtering expression follows [AIP-160](https://google.aip.dev/160) standard and supports filtering by equality of all breakdown dimensions. diff --git a/docs/dyn/playdeveloperreporting_v1beta1.vitals.crashrate.html b/docs/dyn/playdeveloperreporting_v1beta1.vitals.crashrate.html index d1fa03713d9..7dc208b3871 100644 --- a/docs/dyn/playdeveloperreporting_v1beta1.vitals.crashrate.html +++ b/docs/dyn/playdeveloperreporting_v1beta1.vitals.crashrate.html @@ -106,7 +106,7 @@

Method Details

Returns: An object of the form: - { # Singleton resource representing the set of crashrate metrics. This metric set contains crashes data combined with usage data to produce a normalized metric independent of user counts. **Supported aggregation periods:** * DAILY: metrics are aggregated in calendar date intervals. Due to historical constraints, the only supported timezone is `America/Los_Angeles`. **Supported metrics:** * `crashRate` (`google.type.Decimal`): Percentage of distinct users in the aggregation period that experienced at least one crash. If your app exhibits a crash rate equal to or higher than the threshold, it's in the bottom 25% of the top 1,000 apps on Google Play (by number of installs). * `crashRate7dUserWeighted` (`google.type.Decimal`): Rolling average value of `crashRate` in the last 7 days. The daily values are weighted by the count of distinct users for the day. * `crashRate28dUserWeighted` (`google.type.Decimal`): Rolling average value of `crashRate` in the last 28 days. The daily values are weighted by the count of distinct users for the day. * `distinctUsers` (`google.type.Decimal`): Count of distinct users in the aggregation period that were used as normalization value for the `crashRate` metric. A user is counted in this metric if they used the app in the foreground during the aggregation period. Care must be taken not to aggregate this count further, as it may result in users being counted multiple times. **Supported dimensions:** * `apiLevel` (string): the API level of Android that was running on the user's device. * `versionCode` (int64): version of the app that was running on the user's device. * `deviceModel` (string): unique identifier of the user's device model. * `deviceType` (string): the type (also known as form factor) of the user's device. * `countryCode` (string): the country or region of the user's device based on their IP address, represented as a 2-letter ISO-3166 code (e.g. US for the United States). **Required permissions**: to access this resource, the calling user needs the _View app information (read-only)_ permission for the app. **Related metric sets:** * vitals.errors contains unnormalized version (absolute counts) of crashes. * vitals.errors contains normalized metrics about ANRs, another stability metric. + { # Singleton resource representing the set of crashrate metrics. This metric set contains crashes data combined with usage data to produce a normalized metric independent of user counts. **Supported aggregation periods:** * DAILY: metrics are aggregated in calendar date intervals. Due to historical constraints, the only supported timezone is `America/Los_Angeles`. **Supported metrics:** * `crashRate` (`google.type.Decimal`): Percentage of distinct users in the aggregation period that experienced at least one crash. If your app exhibits a crash rate equal to or higher than the threshold, it's in the bottom 25% of the top 1,000 apps on Google Play (by number of installs). * `crashRate7dUserWeighted` (`google.type.Decimal`): Rolling average value of `crashRate` in the last 7 days. The daily values are weighted by the count of distinct users for the day. * `crashRate28dUserWeighted` (`google.type.Decimal`): Rolling average value of `crashRate` in the last 28 days. The daily values are weighted by the count of distinct users for the day. * `distinctUsers` (`google.type.Decimal`): Count of distinct users in the aggregation period that were used as normalization value for the `crashRate` metric. A user is counted in this metric if they used the app in the foreground during the aggregation period. Care must be taken not to aggregate this count further, as it may result in users being counted multiple times. **Supported dimensions:** * `apiLevel` (string): the API level of Android that was running on the user's device. * `versionCode` (int64): version of the app that was running on the user's device. * `deviceModel` (string): unique identifier of the user's device model. * `deviceType` (string): the type (also known as form factor) of the user's device. * `countryCode` (string): the country or region of the user's device based on their IP address, represented as a 2-letter ISO-3166 code (e.g. US for the United States). * `deviceRamBucket` (int64): RAM of the device, in MB, in buckets (3GB, 4GB, etc.). * `deviceSocMake` (string): Make of the device's primary system-on-chip, e.g., Samsung. [Reference](https://developer.android.com/reference/android/os/Build#SOC_MANUFACTURER) * `deviceSocModel` (string): Model of the device's primary system-on-chip, e.g., "Exynos 2100". [Reference](https://developer.android.com/reference/android/os/Build#SOC_MODEL) * `deviceCpuMake` (string): Make of the device's CPU, e.g., Qualcomm. * `deviceCpuModel` (string): Model of the device's CPU, e.g., "Kryo 240". * `deviceGpuMake` (string): Make of the device's GPU, e.g., ARM. * `deviceGpuModel` (string): Model of the device's GPU, e.g., Mali. * `deviceGpuVersion` (string): Version of the device's GPU, e.g., T750. * `deviceVulkanVersion` (string): Vulkan version of the device, e.g., "4198400". * `deviceGlEsVersion` (string): OpenGL ES version of the device, e.g., "196610". * `deviceScreenSize` (string): Screen size of the device, e.g., NORMAL, LARGE. * `deviceScreenDpi` (string): Screen density of the device, e.g., mdpi, hdpi. **Required permissions**: to access this resource, the calling user needs the _View app information (read-only)_ permission for the app. **Related metric sets:** * vitals.errors contains unnormalized version (absolute counts) of crashes. * vitals.errors contains normalized metrics about ANRs, another stability metric. "freshnessInfo": { # Represents the latest available time that can be requested in a TimelineSpec. Different aggregation periods have different freshness. For example, `DAILY` aggregation may lag behind `HOURLY` in cases where such aggregation is computed only once at the end of the day. # Summary about data freshness in this resource. "freshnesses": [ # Information about data freshness for every supported aggregation period. This field has set semantics, keyed by the `aggregation_period` field. { # Information about data freshness for a single aggregation period. @@ -142,7 +142,7 @@

Method Details

The object takes the form of: { # Request message for QueryCrashRateMetricSet. - "dimensions": [ # Dimensions to slice the metrics by. **Supported dimensions:** * `apiLevel` (string): the API level of Android that was running on the user's device. * `versionCode` (int64): version of the app that was running on the user's device. * `deviceModel` (string): unique identifier of the user's device model. * `deviceType` (string): the type (also known as form factor) of the user's device. * `countryCode` (string): the country or region of the user's device based on their IP address, represented as a 2-letter ISO-3166 code (e.g. US for the United States). + "dimensions": [ # Dimensions to slice the metrics by. **Supported dimensions:** * `apiLevel` (string): the API level of Android that was running on the user's device. * `versionCode` (int64): version of the app that was running on the user's device. * `deviceModel` (string): unique identifier of the user's device model. * `deviceType` (string): the type (also known as form factor) of the user's device. * `countryCode` (string): the country or region of the user's device based on their IP address, represented as a 2-letter ISO-3166 code (e.g. US for the United States). * `deviceRamBucket` (int64): RAM of the device, in MB, in buckets (3GB, 4GB, etc.). * `deviceSocMake` (string): Make of the device's primary system-on-chip, e.g., Samsung. [Reference](https://developer.android.com/reference/android/os/Build#SOC_MANUFACTURER) * `deviceSocModel` (string): Model of the device's primary system-on-chip, e.g., "Exynos 2100". [Reference](https://developer.android.com/reference/android/os/Build#SOC_MODEL) * `deviceCpuMake` (string): Make of the device's CPU, e.g., Qualcomm. * `deviceCpuModel` (string): Model of the device's CPU, e.g., "Kryo 240". * `deviceGpuMake` (string): Make of the device's GPU, e.g., ARM. * `deviceGpuModel` (string): Model of the device's GPU, e.g., Mali. * `deviceGpuVersion` (string): Version of the device's GPU, e.g., T750. * `deviceVulkanVersion` (string): Vulkan version of the device, e.g., "4198400". * `deviceGlEsVersion` (string): OpenGL ES version of the device, e.g., "196610". * `deviceScreenSize` (string): Screen size of the device, e.g., NORMAL, LARGE. * `deviceScreenDpi` (string): Screen density of the device, e.g., mdpi, hdpi. "A String", ], "filter": "A String", # Filters to apply to data. The filtering expression follows [AIP-160](https://google.aip.dev/160) standard and supports filtering by equality of all breakdown dimensions. diff --git a/docs/dyn/playdeveloperreporting_v1beta1.vitals.excessivewakeuprate.html b/docs/dyn/playdeveloperreporting_v1beta1.vitals.excessivewakeuprate.html index 6e54e5bfd75..ac7b4ca33a2 100644 --- a/docs/dyn/playdeveloperreporting_v1beta1.vitals.excessivewakeuprate.html +++ b/docs/dyn/playdeveloperreporting_v1beta1.vitals.excessivewakeuprate.html @@ -106,7 +106,7 @@

Method Details

Returns: An object of the form: - { # Singleton resource representing the set of Excessive Weakeups metrics. This metric set contains AlarmManager wakeup counts data combined with process state data to produce a normalized metric independent of user counts. **Supported aggregation periods:** * DAILY: metrics are aggregated in calendar date intervals. Due to historical constraints, the only supported timezone is `America/Los_Angeles`. **Supported metrics:** * `excessiveWakeupRate` (`google.type.Decimal`): Percentage of distinct users in the aggregation period that had more than 10 wakeups per hour. If your app exhibits an excessive wakeup rate equal to or higher than the threshold, it's in the bottom 25% of the top 1,000 apps on Google Play (by number of installs). * `excessiveWakeupRate7dUserWeighted` (`google.type.Decimal`): Rolling average value of `excessiveWakeupRate` in the last 7 days. The daily values are weighted by the count of distinct users for the day. * `excessiveWakeupRate28dUserWeighted` (`google.type.Decimal`): Rolling average value of `excessiveWakeupRate` in the last 28 days. The daily values are weighted by the count of distinct users for the day. * `distinctUsers` (`google.type.Decimal`): Count of distinct users in the aggregation period that were used as normalization value for the `excessiveWakeupRate` metric. A user is counted in this metric if they app was doing any work on the device, i.e., not just active foreground usage but also background work. Care must be taken not to aggregate this count further, as it may result in users being counted multiple times. **Supported dimensions:** * `apiLevel` (string): the API level of Android that was running on the user's device. * `versionCode` (int64): version of the app that was running on the user's device. * `deviceModel` (string): unique identifier of the user's device model. * `deviceType` (string): the type (also known as form factor) of the user's device. * `countryCode` (string): the country or region of the user's device based on their IP address, represented as a 2-letter ISO-3166 code (e.g. US for the United States). **Required permissions**: to access this resource, the calling user needs the _View app information (read-only)_ permission for the app. + { # Singleton resource representing the set of Excessive Weakeups metrics. This metric set contains AlarmManager wakeup counts data combined with process state data to produce a normalized metric independent of user counts. **Supported aggregation periods:** * DAILY: metrics are aggregated in calendar date intervals. Due to historical constraints, the only supported timezone is `America/Los_Angeles`. **Supported metrics:** * `excessiveWakeupRate` (`google.type.Decimal`): Percentage of distinct users in the aggregation period that had more than 10 wakeups per hour. If your app exhibits an excessive wakeup rate equal to or higher than the threshold, it's in the bottom 25% of the top 1,000 apps on Google Play (by number of installs). * `excessiveWakeupRate7dUserWeighted` (`google.type.Decimal`): Rolling average value of `excessiveWakeupRate` in the last 7 days. The daily values are weighted by the count of distinct users for the day. * `excessiveWakeupRate28dUserWeighted` (`google.type.Decimal`): Rolling average value of `excessiveWakeupRate` in the last 28 days. The daily values are weighted by the count of distinct users for the day. * `distinctUsers` (`google.type.Decimal`): Count of distinct users in the aggregation period that were used as normalization value for the `excessiveWakeupRate` metric. A user is counted in this metric if they app was doing any work on the device, i.e., not just active foreground usage but also background work. Care must be taken not to aggregate this count further, as it may result in users being counted multiple times. **Supported dimensions:** * `apiLevel` (string): the API level of Android that was running on the user's device. * `versionCode` (int64): version of the app that was running on the user's device. * `deviceModel` (string): unique identifier of the user's device model. * `deviceType` (string): the type (also known as form factor) of the user's device. * `countryCode` (string): the country or region of the user's device based on their IP address, represented as a 2-letter ISO-3166 code (e.g. US for the United States). * `deviceRamBucket` (int64): RAM of the device, in MB, in buckets (3GB, 4GB, etc.). * `deviceSocMake` (string): Make of the device's primary system-on-chip, e.g., Samsung. [Reference](https://developer.android.com/reference/android/os/Build#SOC_MANUFACTURER) * `deviceSocModel` (string): Model of the device's primary system-on-chip, e.g., "Exynos 2100". [Reference](https://developer.android.com/reference/android/os/Build#SOC_MODEL) * `deviceCpuMake` (string): Make of the device's CPU, e.g., Qualcomm. * `deviceCpuModel` (string): Model of the device's CPU, e.g., "Kryo 240". * `deviceGpuMake` (string): Make of the device's GPU, e.g., ARM. * `deviceGpuModel` (string): Model of the device's GPU, e.g., Mali. * `deviceGpuVersion` (string): Version of the device's GPU, e.g., T750. * `deviceVulkanVersion` (string): Vulkan version of the device, e.g., "4198400". * `deviceGlEsVersion` (string): OpenGL ES version of the device, e.g., "196610". * `deviceScreenSize` (string): Screen size of the device, e.g., NORMAL, LARGE. * `deviceScreenDpi` (string): Screen density of the device, e.g., mdpi, hdpi. **Required permissions**: to access this resource, the calling user needs the _View app information (read-only)_ permission for the app. "freshnessInfo": { # Represents the latest available time that can be requested in a TimelineSpec. Different aggregation periods have different freshness. For example, `DAILY` aggregation may lag behind `HOURLY` in cases where such aggregation is computed only once at the end of the day. # Summary about data freshness in this resource. "freshnesses": [ # Information about data freshness for every supported aggregation period. This field has set semantics, keyed by the `aggregation_period` field. { # Information about data freshness for a single aggregation period. @@ -142,7 +142,7 @@

Method Details

The object takes the form of: { # Request message for QueryExcessiveWakeupRateMetricSet. - "dimensions": [ # Dimensions to slice the data by. **Supported dimensions:** * `apiLevel` (string): the API level of Android that was running on the user's device. * `versionCode` (int64): version of the app that was running on the user's device. * `deviceModel` (string): unique identifier of the user's device model. * `deviceType` (string): the type (also known as form factor) of the user's device. * `countryCode` (string): the country or region of the user's device based on their IP address, represented as a 2-letter ISO-3166 code (e.g. US for the United States). + "dimensions": [ # Dimensions to slice the data by. **Supported dimensions:** * `apiLevel` (string): the API level of Android that was running on the user's device. * `versionCode` (int64): version of the app that was running on the user's device. * `deviceModel` (string): unique identifier of the user's device model. * `deviceType` (string): the type (also known as form factor) of the user's device. * `countryCode` (string): the country or region of the user's device based on their IP address, represented as a 2-letter ISO-3166 code (e.g. US for the United States). * `deviceRamBucket` (int64): RAM of the device, in MB, in buckets (3GB, 4GB, etc.). * `deviceSocMake` (string): Make of the device's primary system-on-chip, e.g., Samsung. [Reference](https://developer.android.com/reference/android/os/Build#SOC_MANUFACTURER) * `deviceSocModel` (string): Model of the device's primary system-on-chip, e.g., "Exynos 2100". [Reference](https://developer.android.com/reference/android/os/Build#SOC_MODEL) * `deviceCpuMake` (string): Make of the device's CPU, e.g., Qualcomm. * `deviceCpuModel` (string): Model of the device's CPU, e.g., "Kryo 240". * `deviceGpuMake` (string): Make of the device's GPU, e.g., ARM. * `deviceGpuModel` (string): Model of the device's GPU, e.g., Mali. * `deviceGpuVersion` (string): Version of the device's GPU, e.g., T750. * `deviceVulkanVersion` (string): Vulkan version of the device, e.g., "4198400". * `deviceGlEsVersion` (string): OpenGL ES version of the device, e.g., "196610". * `deviceScreenSize` (string): Screen size of the device, e.g., NORMAL, LARGE. * `deviceScreenDpi` (string): Screen density of the device, e.g., mdpi, hdpi. "A String", ], "filter": "A String", # Filters to apply to data. The filtering expression follows [AIP-160](https://google.aip.dev/160) standard and supports filtering by equality of all breakdown dimensions. diff --git a/docs/dyn/playdeveloperreporting_v1beta1.vitals.stuckbackgroundwakelockrate.html b/docs/dyn/playdeveloperreporting_v1beta1.vitals.stuckbackgroundwakelockrate.html index 9631964fccf..41da11139ec 100644 --- a/docs/dyn/playdeveloperreporting_v1beta1.vitals.stuckbackgroundwakelockrate.html +++ b/docs/dyn/playdeveloperreporting_v1beta1.vitals.stuckbackgroundwakelockrate.html @@ -106,7 +106,7 @@

Method Details

Returns: An object of the form: - { # Singleton resource representing the set of Stuck Background Wakelocks metrics. This metric set contains PowerManager wakelock duration data combined with process state data to produce a normalized metric independent of user counts. **Supported aggregation periods:** * DAILY: metrics are aggregated in calendar date intervals. Due to historical constraints, the only supported timezone is `America/Los_Angeles`. **Supported metrics:** * `stuckBgWakelockRate` (`google.type.Decimal`): Percentage of distinct users in the aggregation period that had a wakelock held in the background for longer than 1 hour. If your app exhibits a stuck background wakelocks rate equal to or higher than the threshold, it's in the bottom 25% of the top 1,000 apps on Google Play (by number of installs). * `stuckBgWakelockRate7dUserWeighted` (`google.type.Decimal`): Rolling average value of `stuckBgWakelockRate` in the last 7 days. The daily values are weighted by the count of distinct users for the day. * `stuckBgWakelockRate28dUserWeighted` (`google.type.Decimal`): Rolling average value of `stuckBgWakelockRate` in the last 28 days. The daily values are weighted by the count of distinct users for the day. * `distinctUsers` (`google.type.Decimal`): Count of distinct users in the aggregation period that were used as normalization value for the `stuckBgWakelockRate` metric. A user is counted in this metric if their app was doing any work on the device, i.e., not just active foreground usage but also background work. Care must be taken not to aggregate this count further, as it may result in users being counted multiple times. **Supported dimensions:** * `apiLevel` (string): the API level of Android that was running on the user's device. * `versionCode` (int64): version of the app that was running on the user's device. * `deviceModel` (string): unique identifier of the user's device model. * `deviceType` (string): the type (also known as form factor) of the user's device. * `countryCode` (string): the country or region of the user's device based on their IP address, represented as a 2-letter ISO-3166 code (e.g. US for the United States). **Required permissions**: to access this resource, the calling user needs the _View app information (read-only)_ permission for the app. + { # Singleton resource representing the set of Stuck Background Wakelocks metrics. This metric set contains PowerManager wakelock duration data combined with process state data to produce a normalized metric independent of user counts. **Supported aggregation periods:** * DAILY: metrics are aggregated in calendar date intervals. Due to historical constraints, the only supported timezone is `America/Los_Angeles`. **Supported metrics:** * `stuckBgWakelockRate` (`google.type.Decimal`): Percentage of distinct users in the aggregation period that had a wakelock held in the background for longer than 1 hour. If your app exhibits a stuck background wakelocks rate equal to or higher than the threshold, it's in the bottom 25% of the top 1,000 apps on Google Play (by number of installs). * `stuckBgWakelockRate7dUserWeighted` (`google.type.Decimal`): Rolling average value of `stuckBgWakelockRate` in the last 7 days. The daily values are weighted by the count of distinct users for the day. * `stuckBgWakelockRate28dUserWeighted` (`google.type.Decimal`): Rolling average value of `stuckBgWakelockRate` in the last 28 days. The daily values are weighted by the count of distinct users for the day. * `distinctUsers` (`google.type.Decimal`): Count of distinct users in the aggregation period that were used as normalization value for the `stuckBgWakelockRate` metric. A user is counted in this metric if their app was doing any work on the device, i.e., not just active foreground usage but also background work. Care must be taken not to aggregate this count further, as it may result in users being counted multiple times. **Supported dimensions:** * `apiLevel` (string): the API level of Android that was running on the user's device. * `versionCode` (int64): version of the app that was running on the user's device. * `deviceModel` (string): unique identifier of the user's device model. * `deviceType` (string): the type (also known as form factor) of the user's device. * `countryCode` (string): the country or region of the user's device based on their IP address, represented as a 2-letter ISO-3166 code (e.g. US for the United States). * `deviceRamBucket` (int64): RAM of the device, in MB, in buckets (3GB, 4GB, etc.). * `deviceSocMake` (string): Make of the device's primary system-on-chip, e.g., Samsung. [Reference](https://developer.android.com/reference/android/os/Build#SOC_MANUFACTURER) * `deviceSocModel` (string): Model of the device's primary system-on-chip, e.g., "Exynos 2100". [Reference](https://developer.android.com/reference/android/os/Build#SOC_MODEL) * `deviceCpuMake` (string): Make of the device's CPU, e.g., Qualcomm. * `deviceCpuModel` (string): Model of the device's CPU, e.g., "Kryo 240". * `deviceGpuMake` (string): Make of the device's GPU, e.g., ARM. * `deviceGpuModel` (string): Model of the device's GPU, e.g., Mali. * `deviceGpuVersion` (string): Version of the device's GPU, e.g., T750. * `deviceVulkanVersion` (string): Vulkan version of the device, e.g., "4198400". * `deviceGlEsVersion` (string): OpenGL ES version of the device, e.g., "196610". * `deviceScreenSize` (string): Screen size of the device, e.g., NORMAL, LARGE. * `deviceScreenDpi` (string): Screen density of the device, e.g., mdpi, hdpi. **Required permissions**: to access this resource, the calling user needs the _View app information (read-only)_ permission for the app. "freshnessInfo": { # Represents the latest available time that can be requested in a TimelineSpec. Different aggregation periods have different freshness. For example, `DAILY` aggregation may lag behind `HOURLY` in cases where such aggregation is computed only once at the end of the day. # Summary about data freshness in this resource. "freshnesses": [ # Information about data freshness for every supported aggregation period. This field has set semantics, keyed by the `aggregation_period` field. { # Information about data freshness for a single aggregation period. @@ -142,7 +142,7 @@

Method Details

The object takes the form of: { # Request message for QueryStuckBackgroundWakelockRateMetricSet. - "dimensions": [ # Dimensions to slice the data by. **Supported dimensions:** * `apiLevel` (string): the API level of Android that was running on the user's device. * `versionCode` (int64): version of the app that was running on the user's device. * `deviceModel` (string): unique identifier of the user's device model. * `deviceType` (string): the type (also known as form factor) of the user's device. * `countryCode` (string): the country or region of the user's device based on their IP address, represented as a 2-letter ISO-3166 code (e.g. US for the United States). + "dimensions": [ # Dimensions to slice the data by. **Supported dimensions:** * `apiLevel` (string): the API level of Android that was running on the user's device. * `versionCode` (int64): version of the app that was running on the user's device. * `deviceModel` (string): unique identifier of the user's device model. * `deviceType` (string): the type (also known as form factor) of the user's device. * `countryCode` (string): the country or region of the user's device based on their IP address, represented as a 2-letter ISO-3166 code (e.g. US for the United States). * `deviceRamBucket` (int64): RAM of the device, in MB, in buckets (3GB, 4GB, etc.). * `deviceSocMake` (string): Make of the device's primary system-on-chip, e.g., Samsung. [Reference](https://developer.android.com/reference/android/os/Build#SOC_MANUFACTURER) * `deviceSocModel` (string): Model of the device's primary system-on-chip, e.g., "Exynos 2100". [Reference](https://developer.android.com/reference/android/os/Build#SOC_MODEL) * `deviceCpuMake` (string): Make of the device's CPU, e.g., Qualcomm. * `deviceCpuModel` (string): Model of the device's CPU, e.g., "Kryo 240". * `deviceGpuMake` (string): Make of the device's GPU, e.g., ARM. * `deviceGpuModel` (string): Model of the device's GPU, e.g., Mali. * `deviceGpuVersion` (string): Version of the device's GPU, e.g., T750. * `deviceVulkanVersion` (string): Vulkan version of the device, e.g., "4198400". * `deviceGlEsVersion` (string): OpenGL ES version of the device, e.g., "196610". * `deviceScreenSize` (string): Screen size of the device, e.g., NORMAL, LARGE. * `deviceScreenDpi` (string): Screen density of the device, e.g., mdpi, hdpi. "A String", ], "filter": "A String", # Filters to apply to data. The filtering expression follows [AIP-160](https://google.aip.dev/160) standard and supports filtering by equality of all breakdown dimensions. diff --git a/docs/dyn/policytroubleshooter_v1.iam.html b/docs/dyn/policytroubleshooter_v1.iam.html index e2c691b6d4a..d2ff094909b 100644 --- a/docs/dyn/policytroubleshooter_v1.iam.html +++ b/docs/dyn/policytroubleshooter_v1.iam.html @@ -170,7 +170,7 @@

Method Details

"location": "A String", # Optional. String indicating the location of the expression for error reporting, e.g. a file name and a position in the file. "title": "A String", # Optional. Title for the expression, i.e. a short string describing its purpose. This can be used e.g. in UIs which allow to enter the expression. }, - "members": [ # Specifies the principals requesting access for a Google Cloud resource. `members` can have the following values: * `allUsers`: A special identifier that represents anyone who is on the internet; with or without a Google account. * `allAuthenticatedUsers`: A special identifier that represents anyone who is authenticated with a Google account or a service account. * `user:{emailid}`: An email address that represents a specific Google account. For example, `alice@example.com` . * `serviceAccount:{emailid}`: An email address that represents a service account. For example, `my-other-app@appspot.gserviceaccount.com`. * `group:{emailid}`: An email address that represents a Google group. For example, `admins@example.com`. * `deleted:user:{emailid}?uid={uniqueid}`: An email address (plus unique identifier) representing a user that has been recently deleted. For example, `alice@example.com?uid=123456789012345678901`. If the user is recovered, this value reverts to `user:{emailid}` and the recovered user retains the role in the binding. * `deleted:serviceAccount:{emailid}?uid={uniqueid}`: An email address (plus unique identifier) representing a service account that has been recently deleted. For example, `my-other-app@appspot.gserviceaccount.com?uid=123456789012345678901`. If the service account is undeleted, this value reverts to `serviceAccount:{emailid}` and the undeleted service account retains the role in the binding. * `deleted:group:{emailid}?uid={uniqueid}`: An email address (plus unique identifier) representing a Google group that has been recently deleted. For example, `admins@example.com?uid=123456789012345678901`. If the group is recovered, this value reverts to `group:{emailid}` and the recovered group retains the role in the binding. * `domain:{domain}`: The G Suite domain (primary) that represents all the users of that domain. For example, `google.com` or `example.com`. + "members": [ # Specifies the principals requesting access for a Google Cloud resource. `members` can have the following values: * `allUsers`: A special identifier that represents anyone who is on the internet; with or without a Google account. * `allAuthenticatedUsers`: A special identifier that represents anyone who is authenticated with a Google account or a service account. * `user:{emailid}`: An email address that represents a specific Google account. For example, `alice@example.com` . * `serviceAccount:{emailid}`: An email address that represents a Google service account. For example, `my-other-app@appspot.gserviceaccount.com`. * `serviceAccount:{projectid}.svc.id.goog[{namespace}/{kubernetes-sa}]`: An identifier for a [Kubernetes service account](https://cloud.google.com/kubernetes-engine/docs/how-to/kubernetes-service-accounts). For example, `my-project.svc.id.goog[my-namespace/my-kubernetes-sa]`. * `group:{emailid}`: An email address that represents a Google group. For example, `admins@example.com`. * `deleted:user:{emailid}?uid={uniqueid}`: An email address (plus unique identifier) representing a user that has been recently deleted. For example, `alice@example.com?uid=123456789012345678901`. If the user is recovered, this value reverts to `user:{emailid}` and the recovered user retains the role in the binding. * `deleted:serviceAccount:{emailid}?uid={uniqueid}`: An email address (plus unique identifier) representing a service account that has been recently deleted. For example, `my-other-app@appspot.gserviceaccount.com?uid=123456789012345678901`. If the service account is undeleted, this value reverts to `serviceAccount:{emailid}` and the undeleted service account retains the role in the binding. * `deleted:group:{emailid}?uid={uniqueid}`: An email address (plus unique identifier) representing a Google group that has been recently deleted. For example, `admins@example.com?uid=123456789012345678901`. If the group is recovered, this value reverts to `group:{emailid}` and the recovered group retains the role in the binding. * `domain:{domain}`: The G Suite domain (primary) that represents all the users of that domain. For example, `google.com` or `example.com`. "A String", ], "role": "A String", # Role that is assigned to the list of `members`, or principals. For example, `roles/viewer`, `roles/editor`, or `roles/owner`. diff --git a/docs/dyn/policytroubleshooter_v1beta.iam.html b/docs/dyn/policytroubleshooter_v1beta.iam.html index 485d254e6e8..54cc18d61e8 100644 --- a/docs/dyn/policytroubleshooter_v1beta.iam.html +++ b/docs/dyn/policytroubleshooter_v1beta.iam.html @@ -159,7 +159,7 @@

Method Details

"location": "A String", # Optional. String indicating the location of the expression for error reporting, e.g. a file name and a position in the file. "title": "A String", # Optional. Title for the expression, i.e. a short string describing its purpose. This can be used e.g. in UIs which allow to enter the expression. }, - "members": [ # Specifies the principals requesting access for a Google Cloud resource. `members` can have the following values: * `allUsers`: A special identifier that represents anyone who is on the internet; with or without a Google account. * `allAuthenticatedUsers`: A special identifier that represents anyone who is authenticated with a Google account or a service account. * `user:{emailid}`: An email address that represents a specific Google account. For example, `alice@example.com` . * `serviceAccount:{emailid}`: An email address that represents a service account. For example, `my-other-app@appspot.gserviceaccount.com`. * `group:{emailid}`: An email address that represents a Google group. For example, `admins@example.com`. * `deleted:user:{emailid}?uid={uniqueid}`: An email address (plus unique identifier) representing a user that has been recently deleted. For example, `alice@example.com?uid=123456789012345678901`. If the user is recovered, this value reverts to `user:{emailid}` and the recovered user retains the role in the binding. * `deleted:serviceAccount:{emailid}?uid={uniqueid}`: An email address (plus unique identifier) representing a service account that has been recently deleted. For example, `my-other-app@appspot.gserviceaccount.com?uid=123456789012345678901`. If the service account is undeleted, this value reverts to `serviceAccount:{emailid}` and the undeleted service account retains the role in the binding. * `deleted:group:{emailid}?uid={uniqueid}`: An email address (plus unique identifier) representing a Google group that has been recently deleted. For example, `admins@example.com?uid=123456789012345678901`. If the group is recovered, this value reverts to `group:{emailid}` and the recovered group retains the role in the binding. * `domain:{domain}`: The G Suite domain (primary) that represents all the users of that domain. For example, `google.com` or `example.com`. + "members": [ # Specifies the principals requesting access for a Google Cloud resource. `members` can have the following values: * `allUsers`: A special identifier that represents anyone who is on the internet; with or without a Google account. * `allAuthenticatedUsers`: A special identifier that represents anyone who is authenticated with a Google account or a service account. * `user:{emailid}`: An email address that represents a specific Google account. For example, `alice@example.com` . * `serviceAccount:{emailid}`: An email address that represents a Google service account. For example, `my-other-app@appspot.gserviceaccount.com`. * `serviceAccount:{projectid}.svc.id.goog[{namespace}/{kubernetes-sa}]`: An identifier for a [Kubernetes service account](https://cloud.google.com/kubernetes-engine/docs/how-to/kubernetes-service-accounts). For example, `my-project.svc.id.goog[my-namespace/my-kubernetes-sa]`. * `group:{emailid}`: An email address that represents a Google group. For example, `admins@example.com`. * `deleted:user:{emailid}?uid={uniqueid}`: An email address (plus unique identifier) representing a user that has been recently deleted. For example, `alice@example.com?uid=123456789012345678901`. If the user is recovered, this value reverts to `user:{emailid}` and the recovered user retains the role in the binding. * `deleted:serviceAccount:{emailid}?uid={uniqueid}`: An email address (plus unique identifier) representing a service account that has been recently deleted. For example, `my-other-app@appspot.gserviceaccount.com?uid=123456789012345678901`. If the service account is undeleted, this value reverts to `serviceAccount:{emailid}` and the undeleted service account retains the role in the binding. * `deleted:group:{emailid}?uid={uniqueid}`: An email address (plus unique identifier) representing a Google group that has been recently deleted. For example, `admins@example.com?uid=123456789012345678901`. If the group is recovered, this value reverts to `group:{emailid}` and the recovered group retains the role in the binding. * `domain:{domain}`: The G Suite domain (primary) that represents all the users of that domain. For example, `google.com` or `example.com`. "A String", ], "role": "A String", # Role that is assigned to the list of `members`, or principals. For example, `roles/viewer`, `roles/editor`, or `roles/owner`. diff --git a/docs/dyn/pubsub_v1.projects.subscriptions.html b/docs/dyn/pubsub_v1.projects.subscriptions.html index a6a8ad273cf..6fcb61d2009 100644 --- a/docs/dyn/pubsub_v1.projects.subscriptions.html +++ b/docs/dyn/pubsub_v1.projects.subscriptions.html @@ -164,9 +164,9 @@

Method Details

body: object, The request body. The object takes the form of: -{ # A subscription resource. +{ # A subscription resource. If none of `push_config` or `bigquery_config` is set, then the subscriber will pull and ack messages using API methods. At most one of these fields may be set. "ackDeadlineSeconds": 42, # The approximate amount of time (on a best-effort basis) Pub/Sub waits for the subscriber to acknowledge receipt before resending the message. In the interval after the message is delivered and before it is acknowledged, it is considered to be *outstanding*. During that time period, the message will not be redelivered (on a best-effort basis). For pull subscriptions, this value is used as the initial value for the ack deadline. To override this value for a given message, call `ModifyAckDeadline` with the corresponding `ack_id` if using non-streaming pull or send the `ack_id` in a `StreamingModifyAckDeadlineRequest` if using streaming pull. The minimum custom deadline you can specify is 10 seconds. The maximum custom deadline you can specify is 600 seconds (10 minutes). If this parameter is 0, a default value of 10 seconds is used. For push delivery, this value is also used to set the request timeout for the call to the push endpoint. If the subscriber never acknowledges the message, the Pub/Sub system will eventually redeliver the message. - "bigqueryConfig": { # Configuration for a BigQuery subscription. # If delivery to BigQuery is used with this subscription, this field is used to configure it. Either `pushConfig` or `bigQueryConfig` can be set, but not both. If both are empty, then the subscriber will pull and ack messages using API methods. + "bigqueryConfig": { # Configuration for a BigQuery subscription. # If delivery to BigQuery is used with this subscription, this field is used to configure it. "dropUnknownFields": True or False, # When true and use_topic_schema is true, any fields that are a part of the topic schema that are not part of the BigQuery table schema are dropped when writing to BigQuery. Otherwise, the schemas must be kept in sync and any messages with extra fields are not written and remain in the subscription's backlog. "state": "A String", # Output only. An output-only field that indicates whether or not the subscription can receive messages. "table": "A String", # The name of the table to which to write data, of the form {projectId}.{datasetId}.{tableId} @@ -189,7 +189,7 @@

Method Details

}, "messageRetentionDuration": "A String", # How long to retain unacknowledged messages in the subscription's backlog, from the moment a message is published. If `retain_acked_messages` is true, then this also configures the retention of acknowledged messages, and thus configures how far back in time a `Seek` can be done. Defaults to 7 days. Cannot be more than 7 days or less than 10 minutes. "name": "A String", # Required. The name of the subscription. It must have the format `"projects/{project}/subscriptions/{subscription}"`. `{subscription}` must start with a letter, and contain only letters (`[A-Za-z]`), numbers (`[0-9]`), dashes (`-`), underscores (`_`), periods (`.`), tildes (`~`), plus (`+`) or percent signs (`%`). It must be between 3 and 255 characters in length, and it must not start with `"goog"`. - "pushConfig": { # Configuration for a push delivery endpoint. # If push delivery is used with this subscription, this field is used to configure it. Either `pushConfig` or `bigQueryConfig` can be set, but not both. If both are empty, then the subscriber will pull and ack messages using API methods. + "pushConfig": { # Configuration for a push delivery endpoint. # If push delivery is used with this subscription, this field is used to configure it. "attributes": { # Endpoint configuration attributes that can be used to control different aspects of the message delivery. The only currently supported attribute is `x-goog-version`, which you can use to change the format of the pushed message. This attribute indicates the version of the data expected by the endpoint. This controls the shape of the pushed message (i.e., its fields and metadata). If not present during the `CreateSubscription` call, it will default to the version of the Pub/Sub API used to make such call. If not present in a `ModifyPushConfig` call, its value will not be changed. `GetSubscription` calls will always return a valid version, even if the subscription was created without this attribute. The only supported values for the `x-goog-version` attribute are: * `v1beta1`: uses the push format defined in the v1beta1 Pub/Sub API. * `v1` or `v1beta2`: uses the push format defined in the v1 Pub/Sub API. For example: attributes { "x-goog-version": "v1" } "a_key": "A String", }, @@ -217,9 +217,9 @@

Method Details

Returns: An object of the form: - { # A subscription resource. + { # A subscription resource. If none of `push_config` or `bigquery_config` is set, then the subscriber will pull and ack messages using API methods. At most one of these fields may be set. "ackDeadlineSeconds": 42, # The approximate amount of time (on a best-effort basis) Pub/Sub waits for the subscriber to acknowledge receipt before resending the message. In the interval after the message is delivered and before it is acknowledged, it is considered to be *outstanding*. During that time period, the message will not be redelivered (on a best-effort basis). For pull subscriptions, this value is used as the initial value for the ack deadline. To override this value for a given message, call `ModifyAckDeadline` with the corresponding `ack_id` if using non-streaming pull or send the `ack_id` in a `StreamingModifyAckDeadlineRequest` if using streaming pull. The minimum custom deadline you can specify is 10 seconds. The maximum custom deadline you can specify is 600 seconds (10 minutes). If this parameter is 0, a default value of 10 seconds is used. For push delivery, this value is also used to set the request timeout for the call to the push endpoint. If the subscriber never acknowledges the message, the Pub/Sub system will eventually redeliver the message. - "bigqueryConfig": { # Configuration for a BigQuery subscription. # If delivery to BigQuery is used with this subscription, this field is used to configure it. Either `pushConfig` or `bigQueryConfig` can be set, but not both. If both are empty, then the subscriber will pull and ack messages using API methods. + "bigqueryConfig": { # Configuration for a BigQuery subscription. # If delivery to BigQuery is used with this subscription, this field is used to configure it. "dropUnknownFields": True or False, # When true and use_topic_schema is true, any fields that are a part of the topic schema that are not part of the BigQuery table schema are dropped when writing to BigQuery. Otherwise, the schemas must be kept in sync and any messages with extra fields are not written and remain in the subscription's backlog. "state": "A String", # Output only. An output-only field that indicates whether or not the subscription can receive messages. "table": "A String", # The name of the table to which to write data, of the form {projectId}.{datasetId}.{tableId} @@ -242,7 +242,7 @@

Method Details

}, "messageRetentionDuration": "A String", # How long to retain unacknowledged messages in the subscription's backlog, from the moment a message is published. If `retain_acked_messages` is true, then this also configures the retention of acknowledged messages, and thus configures how far back in time a `Seek` can be done. Defaults to 7 days. Cannot be more than 7 days or less than 10 minutes. "name": "A String", # Required. The name of the subscription. It must have the format `"projects/{project}/subscriptions/{subscription}"`. `{subscription}` must start with a letter, and contain only letters (`[A-Za-z]`), numbers (`[0-9]`), dashes (`-`), underscores (`_`), periods (`.`), tildes (`~`), plus (`+`) or percent signs (`%`). It must be between 3 and 255 characters in length, and it must not start with `"goog"`. - "pushConfig": { # Configuration for a push delivery endpoint. # If push delivery is used with this subscription, this field is used to configure it. Either `pushConfig` or `bigQueryConfig` can be set, but not both. If both are empty, then the subscriber will pull and ack messages using API methods. + "pushConfig": { # Configuration for a push delivery endpoint. # If push delivery is used with this subscription, this field is used to configure it. "attributes": { # Endpoint configuration attributes that can be used to control different aspects of the message delivery. The only currently supported attribute is `x-goog-version`, which you can use to change the format of the pushed message. This attribute indicates the version of the data expected by the endpoint. This controls the shape of the pushed message (i.e., its fields and metadata). If not present during the `CreateSubscription` call, it will default to the version of the Pub/Sub API used to make such call. If not present in a `ModifyPushConfig` call, its value will not be changed. `GetSubscription` calls will always return a valid version, even if the subscription was created without this attribute. The only supported values for the `x-goog-version` attribute are: * `v1beta1`: uses the push format defined in the v1beta1 Pub/Sub API. * `v1` or `v1beta2`: uses the push format defined in the v1 Pub/Sub API. For example: attributes { "x-goog-version": "v1" } "a_key": "A String", }, @@ -313,9 +313,9 @@

Method Details

Returns: An object of the form: - { # A subscription resource. + { # A subscription resource. If none of `push_config` or `bigquery_config` is set, then the subscriber will pull and ack messages using API methods. At most one of these fields may be set. "ackDeadlineSeconds": 42, # The approximate amount of time (on a best-effort basis) Pub/Sub waits for the subscriber to acknowledge receipt before resending the message. In the interval after the message is delivered and before it is acknowledged, it is considered to be *outstanding*. During that time period, the message will not be redelivered (on a best-effort basis). For pull subscriptions, this value is used as the initial value for the ack deadline. To override this value for a given message, call `ModifyAckDeadline` with the corresponding `ack_id` if using non-streaming pull or send the `ack_id` in a `StreamingModifyAckDeadlineRequest` if using streaming pull. The minimum custom deadline you can specify is 10 seconds. The maximum custom deadline you can specify is 600 seconds (10 minutes). If this parameter is 0, a default value of 10 seconds is used. For push delivery, this value is also used to set the request timeout for the call to the push endpoint. If the subscriber never acknowledges the message, the Pub/Sub system will eventually redeliver the message. - "bigqueryConfig": { # Configuration for a BigQuery subscription. # If delivery to BigQuery is used with this subscription, this field is used to configure it. Either `pushConfig` or `bigQueryConfig` can be set, but not both. If both are empty, then the subscriber will pull and ack messages using API methods. + "bigqueryConfig": { # Configuration for a BigQuery subscription. # If delivery to BigQuery is used with this subscription, this field is used to configure it. "dropUnknownFields": True or False, # When true and use_topic_schema is true, any fields that are a part of the topic schema that are not part of the BigQuery table schema are dropped when writing to BigQuery. Otherwise, the schemas must be kept in sync and any messages with extra fields are not written and remain in the subscription's backlog. "state": "A String", # Output only. An output-only field that indicates whether or not the subscription can receive messages. "table": "A String", # The name of the table to which to write data, of the form {projectId}.{datasetId}.{tableId} @@ -338,7 +338,7 @@

Method Details

}, "messageRetentionDuration": "A String", # How long to retain unacknowledged messages in the subscription's backlog, from the moment a message is published. If `retain_acked_messages` is true, then this also configures the retention of acknowledged messages, and thus configures how far back in time a `Seek` can be done. Defaults to 7 days. Cannot be more than 7 days or less than 10 minutes. "name": "A String", # Required. The name of the subscription. It must have the format `"projects/{project}/subscriptions/{subscription}"`. `{subscription}` must start with a letter, and contain only letters (`[A-Za-z]`), numbers (`[0-9]`), dashes (`-`), underscores (`_`), periods (`.`), tildes (`~`), plus (`+`) or percent signs (`%`). It must be between 3 and 255 characters in length, and it must not start with `"goog"`. - "pushConfig": { # Configuration for a push delivery endpoint. # If push delivery is used with this subscription, this field is used to configure it. Either `pushConfig` or `bigQueryConfig` can be set, but not both. If both are empty, then the subscriber will pull and ack messages using API methods. + "pushConfig": { # Configuration for a push delivery endpoint. # If push delivery is used with this subscription, this field is used to configure it. "attributes": { # Endpoint configuration attributes that can be used to control different aspects of the message delivery. The only currently supported attribute is `x-goog-version`, which you can use to change the format of the pushed message. This attribute indicates the version of the data expected by the endpoint. This controls the shape of the pushed message (i.e., its fields and metadata). If not present during the `CreateSubscription` call, it will default to the version of the Pub/Sub API used to make such call. If not present in a `ModifyPushConfig` call, its value will not be changed. `GetSubscription` calls will always return a valid version, even if the subscription was created without this attribute. The only supported values for the `x-goog-version` attribute are: * `v1beta1`: uses the push format defined in the v1beta1 Pub/Sub API. * `v1` or `v1beta2`: uses the push format defined in the v1 Pub/Sub API. For example: attributes { "x-goog-version": "v1" } "a_key": "A String", }, @@ -413,9 +413,9 @@

Method Details

{ # Response for the `ListSubscriptions` method. "nextPageToken": "A String", # If not empty, indicates that there may be more subscriptions that match the request; this value should be passed in a new `ListSubscriptionsRequest` to get more subscriptions. "subscriptions": [ # The subscriptions that match the request. - { # A subscription resource. + { # A subscription resource. If none of `push_config` or `bigquery_config` is set, then the subscriber will pull and ack messages using API methods. At most one of these fields may be set. "ackDeadlineSeconds": 42, # The approximate amount of time (on a best-effort basis) Pub/Sub waits for the subscriber to acknowledge receipt before resending the message. In the interval after the message is delivered and before it is acknowledged, it is considered to be *outstanding*. During that time period, the message will not be redelivered (on a best-effort basis). For pull subscriptions, this value is used as the initial value for the ack deadline. To override this value for a given message, call `ModifyAckDeadline` with the corresponding `ack_id` if using non-streaming pull or send the `ack_id` in a `StreamingModifyAckDeadlineRequest` if using streaming pull. The minimum custom deadline you can specify is 10 seconds. The maximum custom deadline you can specify is 600 seconds (10 minutes). If this parameter is 0, a default value of 10 seconds is used. For push delivery, this value is also used to set the request timeout for the call to the push endpoint. If the subscriber never acknowledges the message, the Pub/Sub system will eventually redeliver the message. - "bigqueryConfig": { # Configuration for a BigQuery subscription. # If delivery to BigQuery is used with this subscription, this field is used to configure it. Either `pushConfig` or `bigQueryConfig` can be set, but not both. If both are empty, then the subscriber will pull and ack messages using API methods. + "bigqueryConfig": { # Configuration for a BigQuery subscription. # If delivery to BigQuery is used with this subscription, this field is used to configure it. "dropUnknownFields": True or False, # When true and use_topic_schema is true, any fields that are a part of the topic schema that are not part of the BigQuery table schema are dropped when writing to BigQuery. Otherwise, the schemas must be kept in sync and any messages with extra fields are not written and remain in the subscription's backlog. "state": "A String", # Output only. An output-only field that indicates whether or not the subscription can receive messages. "table": "A String", # The name of the table to which to write data, of the form {projectId}.{datasetId}.{tableId} @@ -438,7 +438,7 @@

Method Details

}, "messageRetentionDuration": "A String", # How long to retain unacknowledged messages in the subscription's backlog, from the moment a message is published. If `retain_acked_messages` is true, then this also configures the retention of acknowledged messages, and thus configures how far back in time a `Seek` can be done. Defaults to 7 days. Cannot be more than 7 days or less than 10 minutes. "name": "A String", # Required. The name of the subscription. It must have the format `"projects/{project}/subscriptions/{subscription}"`. `{subscription}` must start with a letter, and contain only letters (`[A-Za-z]`), numbers (`[0-9]`), dashes (`-`), underscores (`_`), periods (`.`), tildes (`~`), plus (`+`) or percent signs (`%`). It must be between 3 and 255 characters in length, and it must not start with `"goog"`. - "pushConfig": { # Configuration for a push delivery endpoint. # If push delivery is used with this subscription, this field is used to configure it. Either `pushConfig` or `bigQueryConfig` can be set, but not both. If both are empty, then the subscriber will pull and ack messages using API methods. + "pushConfig": { # Configuration for a push delivery endpoint. # If push delivery is used with this subscription, this field is used to configure it. "attributes": { # Endpoint configuration attributes that can be used to control different aspects of the message delivery. The only currently supported attribute is `x-goog-version`, which you can use to change the format of the pushed message. This attribute indicates the version of the data expected by the endpoint. This controls the shape of the pushed message (i.e., its fields and metadata). If not present during the `CreateSubscription` call, it will default to the version of the Pub/Sub API used to make such call. If not present in a `ModifyPushConfig` call, its value will not be changed. `GetSubscription` calls will always return a valid version, even if the subscription was created without this attribute. The only supported values for the `x-goog-version` attribute are: * `v1beta1`: uses the push format defined in the v1beta1 Pub/Sub API. * `v1` or `v1beta2`: uses the push format defined in the v1 Pub/Sub API. For example: attributes { "x-goog-version": "v1" } "a_key": "A String", }, @@ -547,9 +547,9 @@

Method Details

The object takes the form of: { # Request for the UpdateSubscription method. - "subscription": { # A subscription resource. # Required. The updated subscription object. + "subscription": { # A subscription resource. If none of `push_config` or `bigquery_config` is set, then the subscriber will pull and ack messages using API methods. At most one of these fields may be set. # Required. The updated subscription object. "ackDeadlineSeconds": 42, # The approximate amount of time (on a best-effort basis) Pub/Sub waits for the subscriber to acknowledge receipt before resending the message. In the interval after the message is delivered and before it is acknowledged, it is considered to be *outstanding*. During that time period, the message will not be redelivered (on a best-effort basis). For pull subscriptions, this value is used as the initial value for the ack deadline. To override this value for a given message, call `ModifyAckDeadline` with the corresponding `ack_id` if using non-streaming pull or send the `ack_id` in a `StreamingModifyAckDeadlineRequest` if using streaming pull. The minimum custom deadline you can specify is 10 seconds. The maximum custom deadline you can specify is 600 seconds (10 minutes). If this parameter is 0, a default value of 10 seconds is used. For push delivery, this value is also used to set the request timeout for the call to the push endpoint. If the subscriber never acknowledges the message, the Pub/Sub system will eventually redeliver the message. - "bigqueryConfig": { # Configuration for a BigQuery subscription. # If delivery to BigQuery is used with this subscription, this field is used to configure it. Either `pushConfig` or `bigQueryConfig` can be set, but not both. If both are empty, then the subscriber will pull and ack messages using API methods. + "bigqueryConfig": { # Configuration for a BigQuery subscription. # If delivery to BigQuery is used with this subscription, this field is used to configure it. "dropUnknownFields": True or False, # When true and use_topic_schema is true, any fields that are a part of the topic schema that are not part of the BigQuery table schema are dropped when writing to BigQuery. Otherwise, the schemas must be kept in sync and any messages with extra fields are not written and remain in the subscription's backlog. "state": "A String", # Output only. An output-only field that indicates whether or not the subscription can receive messages. "table": "A String", # The name of the table to which to write data, of the form {projectId}.{datasetId}.{tableId} @@ -572,7 +572,7 @@

Method Details

}, "messageRetentionDuration": "A String", # How long to retain unacknowledged messages in the subscription's backlog, from the moment a message is published. If `retain_acked_messages` is true, then this also configures the retention of acknowledged messages, and thus configures how far back in time a `Seek` can be done. Defaults to 7 days. Cannot be more than 7 days or less than 10 minutes. "name": "A String", # Required. The name of the subscription. It must have the format `"projects/{project}/subscriptions/{subscription}"`. `{subscription}` must start with a letter, and contain only letters (`[A-Za-z]`), numbers (`[0-9]`), dashes (`-`), underscores (`_`), periods (`.`), tildes (`~`), plus (`+`) or percent signs (`%`). It must be between 3 and 255 characters in length, and it must not start with `"goog"`. - "pushConfig": { # Configuration for a push delivery endpoint. # If push delivery is used with this subscription, this field is used to configure it. Either `pushConfig` or `bigQueryConfig` can be set, but not both. If both are empty, then the subscriber will pull and ack messages using API methods. + "pushConfig": { # Configuration for a push delivery endpoint. # If push delivery is used with this subscription, this field is used to configure it. "attributes": { # Endpoint configuration attributes that can be used to control different aspects of the message delivery. The only currently supported attribute is `x-goog-version`, which you can use to change the format of the pushed message. This attribute indicates the version of the data expected by the endpoint. This controls the shape of the pushed message (i.e., its fields and metadata). If not present during the `CreateSubscription` call, it will default to the version of the Pub/Sub API used to make such call. If not present in a `ModifyPushConfig` call, its value will not be changed. `GetSubscription` calls will always return a valid version, even if the subscription was created without this attribute. The only supported values for the `x-goog-version` attribute are: * `v1beta1`: uses the push format defined in the v1beta1 Pub/Sub API. * `v1` or `v1beta2`: uses the push format defined in the v1 Pub/Sub API. For example: attributes { "x-goog-version": "v1" } "a_key": "A String", }, @@ -602,9 +602,9 @@

Method Details

Returns: An object of the form: - { # A subscription resource. + { # A subscription resource. If none of `push_config` or `bigquery_config` is set, then the subscriber will pull and ack messages using API methods. At most one of these fields may be set. "ackDeadlineSeconds": 42, # The approximate amount of time (on a best-effort basis) Pub/Sub waits for the subscriber to acknowledge receipt before resending the message. In the interval after the message is delivered and before it is acknowledged, it is considered to be *outstanding*. During that time period, the message will not be redelivered (on a best-effort basis). For pull subscriptions, this value is used as the initial value for the ack deadline. To override this value for a given message, call `ModifyAckDeadline` with the corresponding `ack_id` if using non-streaming pull or send the `ack_id` in a `StreamingModifyAckDeadlineRequest` if using streaming pull. The minimum custom deadline you can specify is 10 seconds. The maximum custom deadline you can specify is 600 seconds (10 minutes). If this parameter is 0, a default value of 10 seconds is used. For push delivery, this value is also used to set the request timeout for the call to the push endpoint. If the subscriber never acknowledges the message, the Pub/Sub system will eventually redeliver the message. - "bigqueryConfig": { # Configuration for a BigQuery subscription. # If delivery to BigQuery is used with this subscription, this field is used to configure it. Either `pushConfig` or `bigQueryConfig` can be set, but not both. If both are empty, then the subscriber will pull and ack messages using API methods. + "bigqueryConfig": { # Configuration for a BigQuery subscription. # If delivery to BigQuery is used with this subscription, this field is used to configure it. "dropUnknownFields": True or False, # When true and use_topic_schema is true, any fields that are a part of the topic schema that are not part of the BigQuery table schema are dropped when writing to BigQuery. Otherwise, the schemas must be kept in sync and any messages with extra fields are not written and remain in the subscription's backlog. "state": "A String", # Output only. An output-only field that indicates whether or not the subscription can receive messages. "table": "A String", # The name of the table to which to write data, of the form {projectId}.{datasetId}.{tableId} @@ -627,7 +627,7 @@

Method Details

}, "messageRetentionDuration": "A String", # How long to retain unacknowledged messages in the subscription's backlog, from the moment a message is published. If `retain_acked_messages` is true, then this also configures the retention of acknowledged messages, and thus configures how far back in time a `Seek` can be done. Defaults to 7 days. Cannot be more than 7 days or less than 10 minutes. "name": "A String", # Required. The name of the subscription. It must have the format `"projects/{project}/subscriptions/{subscription}"`. `{subscription}` must start with a letter, and contain only letters (`[A-Za-z]`), numbers (`[0-9]`), dashes (`-`), underscores (`_`), periods (`.`), tildes (`~`), plus (`+`) or percent signs (`%`). It must be between 3 and 255 characters in length, and it must not start with `"goog"`. - "pushConfig": { # Configuration for a push delivery endpoint. # If push delivery is used with this subscription, this field is used to configure it. Either `pushConfig` or `bigQueryConfig` can be set, but not both. If both are empty, then the subscriber will pull and ack messages using API methods. + "pushConfig": { # Configuration for a push delivery endpoint. # If push delivery is used with this subscription, this field is used to configure it. "attributes": { # Endpoint configuration attributes that can be used to control different aspects of the message delivery. The only currently supported attribute is `x-goog-version`, which you can use to change the format of the pushed message. This attribute indicates the version of the data expected by the endpoint. This controls the shape of the pushed message (i.e., its fields and metadata). If not present during the `CreateSubscription` call, it will default to the version of the Pub/Sub API used to make such call. If not present in a `ModifyPushConfig` call, its value will not be changed. `GetSubscription` calls will always return a valid version, even if the subscription was created without this attribute. The only supported values for the `x-goog-version` attribute are: * `v1beta1`: uses the push format defined in the v1beta1 Pub/Sub API. * `v1` or `v1beta2`: uses the push format defined in the v1 Pub/Sub API. For example: attributes { "x-goog-version": "v1" } "a_key": "A String", }, diff --git a/docs/dyn/realtimebidding_v1.bidders.creatives.html b/docs/dyn/realtimebidding_v1.bidders.creatives.html index 07e8c0259cd..694ed20f9d9 100644 --- a/docs/dyn/realtimebidding_v1.bidders.creatives.html +++ b/docs/dyn/realtimebidding_v1.bidders.creatives.html @@ -521,7 +521,7 @@

Method Details

"restrictedCategories": [ # All restricted categories for the ads that may be shown from this creative. "A String", ], - "version": 42, # Output only. The version of this creative. Version for a new creative is 1 and it increments during subsequent creative updates. + "version": 42, # Output only. The version of the creative. Version for a new creative is 1 and it increments during subsequent creative updates. "video": { # Video content for a creative. # A video creative. "videoMetadata": { # Video metadata for a creative. # Output only. Video metadata. "duration": "A String", # The duration of the ad. Can be used to filter the response of the creatives.list method. diff --git a/docs/dyn/realtimebidding_v1.buyers.creatives.html b/docs/dyn/realtimebidding_v1.buyers.creatives.html index ea2c5c98830..41c6ed004b6 100644 --- a/docs/dyn/realtimebidding_v1.buyers.creatives.html +++ b/docs/dyn/realtimebidding_v1.buyers.creatives.html @@ -512,7 +512,7 @@

Method Details

"restrictedCategories": [ # All restricted categories for the ads that may be shown from this creative. "A String", ], - "version": 42, # Output only. The version of this creative. Version for a new creative is 1 and it increments during subsequent creative updates. + "version": 42, # Output only. The version of the creative. Version for a new creative is 1 and it increments during subsequent creative updates. "video": { # Video content for a creative. # A video creative. "videoMetadata": { # Video metadata for a creative. # Output only. Video metadata. "duration": "A String", # The duration of the ad. Can be used to filter the response of the creatives.list method. @@ -945,7 +945,7 @@

Method Details

"restrictedCategories": [ # All restricted categories for the ads that may be shown from this creative. "A String", ], - "version": 42, # Output only. The version of this creative. Version for a new creative is 1 and it increments during subsequent creative updates. + "version": 42, # Output only. The version of the creative. Version for a new creative is 1 and it increments during subsequent creative updates. "video": { # Video content for a creative. # A video creative. "videoMetadata": { # Video metadata for a creative. # Output only. Video metadata. "duration": "A String", # The duration of the ad. Can be used to filter the response of the creatives.list method. @@ -1390,7 +1390,7 @@

Method Details

"restrictedCategories": [ # All restricted categories for the ads that may be shown from this creative. "A String", ], - "version": 42, # Output only. The version of this creative. Version for a new creative is 1 and it increments during subsequent creative updates. + "version": 42, # Output only. The version of the creative. Version for a new creative is 1 and it increments during subsequent creative updates. "video": { # Video content for a creative. # A video creative. "videoMetadata": { # Video metadata for a creative. # Output only. Video metadata. "duration": "A String", # The duration of the ad. Can be used to filter the response of the creatives.list method. @@ -1840,7 +1840,7 @@

Method Details

"restrictedCategories": [ # All restricted categories for the ads that may be shown from this creative. "A String", ], - "version": 42, # Output only. The version of this creative. Version for a new creative is 1 and it increments during subsequent creative updates. + "version": 42, # Output only. The version of the creative. Version for a new creative is 1 and it increments during subsequent creative updates. "video": { # Video content for a creative. # A video creative. "videoMetadata": { # Video metadata for a creative. # Output only. Video metadata. "duration": "A String", # The duration of the ad. Can be used to filter the response of the creatives.list method. @@ -2292,7 +2292,7 @@

Method Details

"restrictedCategories": [ # All restricted categories for the ads that may be shown from this creative. "A String", ], - "version": 42, # Output only. The version of this creative. Version for a new creative is 1 and it increments during subsequent creative updates. + "version": 42, # Output only. The version of the creative. Version for a new creative is 1 and it increments during subsequent creative updates. "video": { # Video content for a creative. # A video creative. "videoMetadata": { # Video metadata for a creative. # Output only. Video metadata. "duration": "A String", # The duration of the ad. Can be used to filter the response of the creatives.list method. @@ -2726,7 +2726,7 @@

Method Details

"restrictedCategories": [ # All restricted categories for the ads that may be shown from this creative. "A String", ], - "version": 42, # Output only. The version of this creative. Version for a new creative is 1 and it increments during subsequent creative updates. + "version": 42, # Output only. The version of the creative. Version for a new creative is 1 and it increments during subsequent creative updates. "video": { # Video content for a creative. # A video creative. "videoMetadata": { # Video metadata for a creative. # Output only. Video metadata. "duration": "A String", # The duration of the ad. Can be used to filter the response of the creatives.list method. diff --git a/docs/dyn/recaptchaenterprise_v1.projects.assessments.html b/docs/dyn/recaptchaenterprise_v1.projects.assessments.html index 349c2ade364..cc1758c4a6b 100644 --- a/docs/dyn/recaptchaenterprise_v1.projects.assessments.html +++ b/docs/dyn/recaptchaenterprise_v1.projects.assessments.html @@ -95,7 +95,7 @@

Method Details

{ # The request message to annotate an Assessment. "annotation": "A String", # Optional. The annotation that will be assigned to the Event. This field can be left empty to provide reasons that apply to an event without concluding whether the event is legitimate or fraudulent. - "hashedAccountId": "A String", # Optional. Optional unique stable hashed user identifier to apply to the assessment. This is an alternative to setting the hashed_account_id in CreateAssessment, for example when the account identifier is not yet known in the initial request. It is recommended that the identifier is hashed using hmac-sha256 with stable secret. + "hashedAccountId": "A String", # Optional. Unique stable hashed user identifier to apply to the assessment. This is an alternative to setting the hashed_account_id in CreateAssessment, for example when the account identifier is not yet known in the initial request. It is recommended that the identifier is hashed using hmac-sha256 with stable secret. "reasons": [ # Optional. Optional reasons for the annotation that will be assigned to the Event. "A String", ], @@ -128,27 +128,27 @@

Method Details

The object takes the form of: { # A recaptcha assessment resource. - "accountDefenderAssessment": { # Account Defender risk assessment. # Assessment returned by Account Defender when a hashed_account_id is provided. + "accountDefenderAssessment": { # Account defender risk assessment. # Assessment returned by account defender when a hashed_account_id is provided. "labels": [ # Labels for this request. "A String", ], }, "event": { # The event being assessed. "expectedAction": "A String", # Optional. The expected action for this type of event. This should be the same action provided at token generation time on client-side platforms already integrated with recaptcha enterprise. - "hashedAccountId": "A String", # Optional. Optional unique stable hashed user identifier for the request. The identifier should ideally be hashed using sha256 with stable secret. + "hashedAccountId": "A String", # Optional. Unique stable hashed user identifier for the request. The identifier must be hashed using hmac-sha256 with stable secret. "siteKey": "A String", # Optional. The site key that was used to invoke reCAPTCHA on your site and generate the token. "token": "A String", # Optional. The user response token provided by the reCAPTCHA client-side integration on your site. "userAgent": "A String", # Optional. The user agent present in the request from the user's device related to this event. "userIpAddress": "A String", # Optional. The IP address in the request from the user's device related to this event. }, "name": "A String", # Output only. The resource name for the Assessment in the format "projects/{project}/assessments/{assessment}". - "privatePasswordLeakVerification": { # Private password leak verification info. # The private password leak verification field contains the parameters used to check for leaks privately without sharing user credentials. - "encryptedLeakMatchPrefixes": [ # Output only. List of prefixes of the encrypted potential password leaks that matched the given parameters. They should be compared with the client-side decryption prefix of `reencrypted_user_credentials_hash` + "privatePasswordLeakVerification": { # Private password leak verification info. # The private password leak verification field contains the parameters that are used to to check for leaks privately without sharing user credentials. + "encryptedLeakMatchPrefixes": [ # Output only. List of prefixes of the encrypted potential password leaks that matched the given parameters. They must be compared with the client-side decryption prefix of `reencrypted_user_credentials_hash` "A String", ], "encryptedUserCredentialsHash": "A String", # Optional. Encrypted Scrypt hash of the canonicalized username+password. It is re-encrypted by the server and returned through `reencrypted_user_credentials_hash`. "lookupHashPrefix": "A String", # Optional. Exactly 26-bit prefix of the SHA-256 hash of the canonicalized username. It is used to look up password leaks associated with that hash prefix. - "reencryptedUserCredentialsHash": "A String", # Output only. Corresponds to the re-encryption of the `encrypted_user_credentials_hash` field. Used to match potential password leaks within `encrypted_leak_match_prefixes`. + "reencryptedUserCredentialsHash": "A String", # Output only. Corresponds to the re-encryption of the `encrypted_user_credentials_hash` field. It is used to match potential password leaks within `encrypted_leak_match_prefixes`. }, "riskAnalysis": { # Risk analysis result for an event. # Output only. The risk analysis result for the event being assessed. "reasons": [ # Reasons contributing to the risk analysis verdict. @@ -174,27 +174,27 @@

Method Details

An object of the form: { # A recaptcha assessment resource. - "accountDefenderAssessment": { # Account Defender risk assessment. # Assessment returned by Account Defender when a hashed_account_id is provided. + "accountDefenderAssessment": { # Account defender risk assessment. # Assessment returned by account defender when a hashed_account_id is provided. "labels": [ # Labels for this request. "A String", ], }, "event": { # The event being assessed. "expectedAction": "A String", # Optional. The expected action for this type of event. This should be the same action provided at token generation time on client-side platforms already integrated with recaptcha enterprise. - "hashedAccountId": "A String", # Optional. Optional unique stable hashed user identifier for the request. The identifier should ideally be hashed using sha256 with stable secret. + "hashedAccountId": "A String", # Optional. Unique stable hashed user identifier for the request. The identifier must be hashed using hmac-sha256 with stable secret. "siteKey": "A String", # Optional. The site key that was used to invoke reCAPTCHA on your site and generate the token. "token": "A String", # Optional. The user response token provided by the reCAPTCHA client-side integration on your site. "userAgent": "A String", # Optional. The user agent present in the request from the user's device related to this event. "userIpAddress": "A String", # Optional. The IP address in the request from the user's device related to this event. }, "name": "A String", # Output only. The resource name for the Assessment in the format "projects/{project}/assessments/{assessment}". - "privatePasswordLeakVerification": { # Private password leak verification info. # The private password leak verification field contains the parameters used to check for leaks privately without sharing user credentials. - "encryptedLeakMatchPrefixes": [ # Output only. List of prefixes of the encrypted potential password leaks that matched the given parameters. They should be compared with the client-side decryption prefix of `reencrypted_user_credentials_hash` + "privatePasswordLeakVerification": { # Private password leak verification info. # The private password leak verification field contains the parameters that are used to to check for leaks privately without sharing user credentials. + "encryptedLeakMatchPrefixes": [ # Output only. List of prefixes of the encrypted potential password leaks that matched the given parameters. They must be compared with the client-side decryption prefix of `reencrypted_user_credentials_hash` "A String", ], "encryptedUserCredentialsHash": "A String", # Optional. Encrypted Scrypt hash of the canonicalized username+password. It is re-encrypted by the server and returned through `reencrypted_user_credentials_hash`. "lookupHashPrefix": "A String", # Optional. Exactly 26-bit prefix of the SHA-256 hash of the canonicalized username. It is used to look up password leaks associated with that hash prefix. - "reencryptedUserCredentialsHash": "A String", # Output only. Corresponds to the re-encryption of the `encrypted_user_credentials_hash` field. Used to match potential password leaks within `encrypted_leak_match_prefixes`. + "reencryptedUserCredentialsHash": "A String", # Output only. Corresponds to the re-encryption of the `encrypted_user_credentials_hash` field. It is used to match potential password leaks within `encrypted_leak_match_prefixes`. }, "riskAnalysis": { # Risk analysis result for an event. # Output only. The risk analysis result for the event being assessed. "reasons": [ # Reasons contributing to the risk analysis verdict. diff --git a/docs/dyn/recaptchaenterprise_v1.projects.keys.html b/docs/dyn/recaptchaenterprise_v1.projects.keys.html index 92e2ec7b731..6cae2bdc901 100644 --- a/docs/dyn/recaptchaenterprise_v1.projects.keys.html +++ b/docs/dyn/recaptchaenterprise_v1.projects.keys.html @@ -103,7 +103,7 @@

Instance Methods

Updates the specified key.

retrieveLegacySecretKey(x__xgafv=None)

-

Returns the secret key related to the specified public key. You should use the legacy secret key only if you are integrating with a 3rd party using the legacy reCAPTCHA instead of reCAPTCHA Enterprise.

+

Returns the secret key related to the specified public key. You must use the legacy secret key only in a 3rd party integration with legacy reCAPTCHA.

Method Details

close() @@ -549,7 +549,7 @@

Method Details

retrieveLegacySecretKey(x__xgafv=None) -
Returns the secret key related to the specified public key. You should use the legacy secret key only if you are integrating with a 3rd party using the legacy reCAPTCHA instead of reCAPTCHA Enterprise.
+  
Returns the secret key related to the specified public key. You must use the legacy secret key only in a 3rd party integration with legacy reCAPTCHA.
 
 Args:
   x__xgafv: string, V1 error format.
@@ -560,7 +560,7 @@ 

Method Details

Returns: An object of the form: - { # Secret key used in legacy reCAPTCHA only. Should be used when integrating with a 3rd party which is still using legacy reCAPTCHA. + { # Secret key is used only in legacy reCAPTCHA. It must be used in a 3rd party integration with legacy reCAPTCHA. "legacySecretKey": "A String", # The secret key (also known as shared secret) authorizes communication between your application backend and the reCAPTCHA Enterprise server to create an assessment. The secret key needs to be kept safe for security purposes. }
diff --git a/docs/dyn/recaptchaenterprise_v1.projects.relatedaccountgroupmemberships.html b/docs/dyn/recaptchaenterprise_v1.projects.relatedaccountgroupmemberships.html index 262e6aba755..5a2fcbc6b9d 100644 --- a/docs/dyn/recaptchaenterprise_v1.projects.relatedaccountgroupmemberships.html +++ b/docs/dyn/recaptchaenterprise_v1.projects.relatedaccountgroupmemberships.html @@ -94,13 +94,13 @@

Method Details

Search group memberships related to a given account.
 
 Args:
-  project: string, Required. The name of the project to search related account group memberships from, in the format "projects/{project}". (required)
+  project: string, Required. The name of the project to search related account group memberships from. Specify the project name in the following format: "projects/{project}". (required)
   body: object, The request body.
     The object takes the form of:
 
 { # The request message to search related account group memberships.
-  "hashedAccountId": "A String", # Optional. The unique stable hashed user identifier we should search connections to. The identifier should correspond to a `hashed_account_id` provided in a previous CreateAssessment or AnnotateAssessment call.
-  "pageSize": 42, # Optional. The maximum number of groups to return. The service may return fewer than this value. If unspecified, at most 50 groups will be returned. The maximum value is 1000; values above 1000 will be coerced to 1000.
+  "hashedAccountId": "A String", # Optional. The unique stable hashed user identifier we should search connections to. The identifier should correspond to a `hashed_account_id` provided in a previous `CreateAssessment` or `AnnotateAssessment` call.
+  "pageSize": 42, # Optional. The maximum number of groups to return. The service might return fewer than this value. If unspecified, at most 50 groups are returned. The maximum value is 1000; values above 1000 are coerced to 1000.
   "pageToken": "A String", # Optional. A page token, received from a previous `SearchRelatedAccountGroupMemberships` call. Provide this to retrieve the subsequent page. When paginating, all other parameters provided to `SearchRelatedAccountGroupMemberships` must match the call that provided the page token.
 }
 
@@ -116,7 +116,7 @@ 

Method Details

"nextPageToken": "A String", # A token, which can be sent as `page_token` to retrieve the next page. If this field is omitted, there are no subsequent pages. "relatedAccountGroupMemberships": [ # The queried memberships. { # A membership in a group of related accounts. - "hashedAccountId": "A String", # The unique stable hashed user identifier of the member. The identifier corresponds to a `hashed_account_id` provided in a previous CreateAssessment or AnnotateAssessment call. + "hashedAccountId": "A String", # The unique stable hashed user identifier of the member. The identifier corresponds to a `hashed_account_id` provided in a previous `CreateAssessment` or `AnnotateAssessment` call. "name": "A String", # Required. The resource name for this membership in the format `projects/{project}/relatedaccountgroups/{relatedaccountgroup}/memberships/{membership}`. }, ], diff --git a/docs/dyn/recaptchaenterprise_v1.projects.relatedaccountgroups.html b/docs/dyn/recaptchaenterprise_v1.projects.relatedaccountgroups.html index 641277c1090..640d9beb157 100644 --- a/docs/dyn/recaptchaenterprise_v1.projects.relatedaccountgroups.html +++ b/docs/dyn/recaptchaenterprise_v1.projects.relatedaccountgroups.html @@ -100,7 +100,7 @@

Method Details

Args: parent: string, Required. The name of the project to list related account groups from, in the format "projects/{project}". (required) - pageSize: integer, Optional. The maximum number of groups to return. The service may return fewer than this value. If unspecified, at most 50 groups will be returned. The maximum value is 1000; values above 1000 will be coerced to 1000. + pageSize: integer, Optional. The maximum number of groups to return. The service might return fewer than this value. If unspecified, at most 50 groups are returned. The maximum value is 1000; values above 1000 are coerced to 1000. pageToken: string, Optional. A page token, received from a previous `ListRelatedAccountGroups` call. Provide this to retrieve the subsequent page. When paginating, all other parameters provided to `ListRelatedAccountGroups` must match the call that provided the page token. x__xgafv: string, V1 error format. Allowed values diff --git a/docs/dyn/recaptchaenterprise_v1.projects.relatedaccountgroups.memberships.html b/docs/dyn/recaptchaenterprise_v1.projects.relatedaccountgroups.memberships.html index f9b473d1cea..11710752d8c 100644 --- a/docs/dyn/recaptchaenterprise_v1.projects.relatedaccountgroups.memberships.html +++ b/docs/dyn/recaptchaenterprise_v1.projects.relatedaccountgroups.memberships.html @@ -79,7 +79,7 @@

Instance Methods

Close httplib2 connections.

list(parent, pageSize=None, pageToken=None, x__xgafv=None)

-

Get the memberships in a group of related accounts.

+

Get memberships in a group of related accounts.

list_next()

Retrieves the next page of results.

@@ -91,11 +91,11 @@

Method Details

list(parent, pageSize=None, pageToken=None, x__xgafv=None) -
Get the memberships in a group of related accounts.
+  
Get memberships in a group of related accounts.
 
 Args:
   parent: string, Required. The resource name for the related account group in the format `projects/{project}/relatedaccountgroups/{relatedaccountgroup}`. (required)
-  pageSize: integer, Optional. The maximum number of accounts to return. The service may return fewer than this value. If unspecified, at most 50 accounts will be returned. The maximum value is 1000; values above 1000 will be coerced to 1000.
+  pageSize: integer, Optional. The maximum number of accounts to return. The service might return fewer than this value. If unspecified, at most 50 accounts are returned. The maximum value is 1000; values above 1000 are coerced to 1000.
   pageToken: string, Optional. A page token, received from a previous `ListRelatedAccountGroupMemberships` call. When paginating, all other parameters provided to `ListRelatedAccountGroupMemberships` must match the call that provided the page token.
   x__xgafv: string, V1 error format.
     Allowed values
@@ -109,7 +109,7 @@ 

Method Details

"nextPageToken": "A String", # A token, which can be sent as `page_token` to retrieve the next page. If this field is omitted, there are no subsequent pages. "relatedAccountGroupMemberships": [ # The memberships listed by the query. { # A membership in a group of related accounts. - "hashedAccountId": "A String", # The unique stable hashed user identifier of the member. The identifier corresponds to a `hashed_account_id` provided in a previous CreateAssessment or AnnotateAssessment call. + "hashedAccountId": "A String", # The unique stable hashed user identifier of the member. The identifier corresponds to a `hashed_account_id` provided in a previous `CreateAssessment` or `AnnotateAssessment` call. "name": "A String", # Required. The resource name for this membership in the format `projects/{project}/relatedaccountgroups/{relatedaccountgroup}/memberships/{membership}`. }, ], diff --git a/docs/dyn/retail_v2.projects.locations.catalogs.attributesConfig.html b/docs/dyn/retail_v2.projects.locations.catalogs.attributesConfig.html new file mode 100644 index 00000000000..f7f3cc1ba63 --- /dev/null +++ b/docs/dyn/retail_v2.projects.locations.catalogs.attributesConfig.html @@ -0,0 +1,173 @@ + + + +

Retail API . projects . locations . catalogs . attributesConfig

+

Instance Methods

+

+ addCatalogAttribute(attributesConfig, body=None, x__xgafv=None)

+

Adds the specified CatalogAttribute to the AttributesConfig. If the CatalogAttribute to add already exists, an ALREADY_EXISTS error is returned.

+

+ close()

+

Close httplib2 connections.

+

+ removeCatalogAttribute(attributesConfig, body=None, x__xgafv=None)

+

Removes the specified CatalogAttribute from the AttributesConfig. If the CatalogAttribute to remove does not exist, a NOT_FOUND error is returned.

+

Method Details

+
+ addCatalogAttribute(attributesConfig, body=None, x__xgafv=None) +
Adds the specified CatalogAttribute to the AttributesConfig. If the CatalogAttribute to add already exists, an ALREADY_EXISTS error is returned.
+
+Args:
+  attributesConfig: string, Required. Full AttributesConfig resource name. Format: `projects/{project_number}/locations/{location_id}/catalogs/{catalog_id}/attributesConfig` (required)
+  body: object, The request body.
+    The object takes the form of:
+
+{ # Request for CatalogService.AddCatalogAttribute method.
+  "catalogAttribute": { # Catalog level attribute config for an attribute. For example, if customers want to enable/disable facet for a specific attribute. # Required. The CatalogAttribute to add.
+    "dynamicFacetableOption": "A String", # If DYNAMIC_FACETABLE_ENABLED, attribute values are available for dynamic facet. Could only be DYNAMIC_FACETABLE_DISABLED if CatalogAttribute.indexable_option is INDEXABLE_DISABLED. Otherwise, an INVALID_ARGUMENT error is returned.
+    "inUse": True or False, # Output only. Indicates whether this attribute has been used by any products. `True` if at least one Product is using this attribute in Product.attributes. Otherwise, this field is `False`. CatalogAttribute can be pre-loaded by using CatalogService.AddCatalogAttribute, CatalogService.ImportCatalogAttributes, or CatalogService.UpdateAttributesConfig APIs. This field is `False` for pre-loaded CatalogAttributes. Only pre-loaded CatalogAttributes that are neither in use by products nor predefined can be deleted. CatalogAttributes that are either in use by products or are predefined cannot be deleted; however, their configuration properties will reset to default values upon removal request. After catalog changes, it takes about 10 minutes for this field to update.
+    "indexableOption": "A String", # When AttributesConfig.attribute_config_level is CATALOG_LEVEL_ATTRIBUTE_CONFIG, if INDEXABLE_ENABLED attribute values are indexed so that it can be filtered, faceted, or boosted in SearchService.Search.
+    "key": "A String", # Required. Attribute name. For example: `color`, `brands`, `attributes.custom_attribute`, such as `attributes.xyz`. To be indexable, the attribute name can contain only alpha-numeric characters and underscores. For example, an attribute named `attributes.abc_xyz` can be indexed, but an attribute named `attributes.abc-xyz` cannot be indexed.
+    "searchableOption": "A String", # When AttributesConfig.attribute_config_level is CATALOG_LEVEL_ATTRIBUTE_CONFIG, if SEARCHABLE_ENABLED, attribute values are searchable by text queries in SearchService.Search. If SEARCHABLE_ENABLED but attribute type is numerical, attribute values will not be searchable by text queries in SearchService.Search, as there are no text values associated to numerical attributes.
+    "type": "A String", # Output only. The type of this attribute. This is derived from the attribute in Product.attributes.
+  },
+}
+
+  x__xgafv: string, V1 error format.
+    Allowed values
+      1 - v1 error format
+      2 - v2 error format
+
+Returns:
+  An object of the form:
+
+    { # Catalog level attribute config.
+  "attributeConfigLevel": "A String", # Output only. The AttributeConfigLevel used for this catalog.
+  "catalogAttributes": { # Enable attribute(s) config at catalog level. For example, indexable, dynamic_facetable, or searchable for each attribute. The key is catalog attribute's name. For example: `color`, `brands`, `attributes.custom_attribute`, such as `attributes.xyz`. The maximum number of catalog attributes allowed in a request is 1000.
+    "a_key": { # Catalog level attribute config for an attribute. For example, if customers want to enable/disable facet for a specific attribute.
+      "dynamicFacetableOption": "A String", # If DYNAMIC_FACETABLE_ENABLED, attribute values are available for dynamic facet. Could only be DYNAMIC_FACETABLE_DISABLED if CatalogAttribute.indexable_option is INDEXABLE_DISABLED. Otherwise, an INVALID_ARGUMENT error is returned.
+      "inUse": True or False, # Output only. Indicates whether this attribute has been used by any products. `True` if at least one Product is using this attribute in Product.attributes. Otherwise, this field is `False`. CatalogAttribute can be pre-loaded by using CatalogService.AddCatalogAttribute, CatalogService.ImportCatalogAttributes, or CatalogService.UpdateAttributesConfig APIs. This field is `False` for pre-loaded CatalogAttributes. Only pre-loaded CatalogAttributes that are neither in use by products nor predefined can be deleted. CatalogAttributes that are either in use by products or are predefined cannot be deleted; however, their configuration properties will reset to default values upon removal request. After catalog changes, it takes about 10 minutes for this field to update.
+      "indexableOption": "A String", # When AttributesConfig.attribute_config_level is CATALOG_LEVEL_ATTRIBUTE_CONFIG, if INDEXABLE_ENABLED attribute values are indexed so that it can be filtered, faceted, or boosted in SearchService.Search.
+      "key": "A String", # Required. Attribute name. For example: `color`, `brands`, `attributes.custom_attribute`, such as `attributes.xyz`. To be indexable, the attribute name can contain only alpha-numeric characters and underscores. For example, an attribute named `attributes.abc_xyz` can be indexed, but an attribute named `attributes.abc-xyz` cannot be indexed.
+      "searchableOption": "A String", # When AttributesConfig.attribute_config_level is CATALOG_LEVEL_ATTRIBUTE_CONFIG, if SEARCHABLE_ENABLED, attribute values are searchable by text queries in SearchService.Search. If SEARCHABLE_ENABLED but attribute type is numerical, attribute values will not be searchable by text queries in SearchService.Search, as there are no text values associated to numerical attributes.
+      "type": "A String", # Output only. The type of this attribute. This is derived from the attribute in Product.attributes.
+    },
+  },
+  "name": "A String", # Required. Immutable. The fully qualified resource name of the attribute config. Format: `projects/*/locations/*/catalogs/*/attributesConfig`
+}
+
+ +
+ close() +
Close httplib2 connections.
+
+ +
+ removeCatalogAttribute(attributesConfig, body=None, x__xgafv=None) +
Removes the specified CatalogAttribute from the AttributesConfig. If the CatalogAttribute to remove does not exist, a NOT_FOUND error is returned.
+
+Args:
+  attributesConfig: string, Required. Full AttributesConfig resource name. Format: `projects/{project_number}/locations/{location_id}/catalogs/{catalog_id}/attributesConfig` (required)
+  body: object, The request body.
+    The object takes the form of:
+
+{ # Request for CatalogService.RemoveCatalogAttribute method.
+  "key": "A String", # Required. The attribute name key of the CatalogAttribute to remove.
+}
+
+  x__xgafv: string, V1 error format.
+    Allowed values
+      1 - v1 error format
+      2 - v2 error format
+
+Returns:
+  An object of the form:
+
+    { # Catalog level attribute config.
+  "attributeConfigLevel": "A String", # Output only. The AttributeConfigLevel used for this catalog.
+  "catalogAttributes": { # Enable attribute(s) config at catalog level. For example, indexable, dynamic_facetable, or searchable for each attribute. The key is catalog attribute's name. For example: `color`, `brands`, `attributes.custom_attribute`, such as `attributes.xyz`. The maximum number of catalog attributes allowed in a request is 1000.
+    "a_key": { # Catalog level attribute config for an attribute. For example, if customers want to enable/disable facet for a specific attribute.
+      "dynamicFacetableOption": "A String", # If DYNAMIC_FACETABLE_ENABLED, attribute values are available for dynamic facet. Could only be DYNAMIC_FACETABLE_DISABLED if CatalogAttribute.indexable_option is INDEXABLE_DISABLED. Otherwise, an INVALID_ARGUMENT error is returned.
+      "inUse": True or False, # Output only. Indicates whether this attribute has been used by any products. `True` if at least one Product is using this attribute in Product.attributes. Otherwise, this field is `False`. CatalogAttribute can be pre-loaded by using CatalogService.AddCatalogAttribute, CatalogService.ImportCatalogAttributes, or CatalogService.UpdateAttributesConfig APIs. This field is `False` for pre-loaded CatalogAttributes. Only pre-loaded CatalogAttributes that are neither in use by products nor predefined can be deleted. CatalogAttributes that are either in use by products or are predefined cannot be deleted; however, their configuration properties will reset to default values upon removal request. After catalog changes, it takes about 10 minutes for this field to update.
+      "indexableOption": "A String", # When AttributesConfig.attribute_config_level is CATALOG_LEVEL_ATTRIBUTE_CONFIG, if INDEXABLE_ENABLED attribute values are indexed so that it can be filtered, faceted, or boosted in SearchService.Search.
+      "key": "A String", # Required. Attribute name. For example: `color`, `brands`, `attributes.custom_attribute`, such as `attributes.xyz`. To be indexable, the attribute name can contain only alpha-numeric characters and underscores. For example, an attribute named `attributes.abc_xyz` can be indexed, but an attribute named `attributes.abc-xyz` cannot be indexed.
+      "searchableOption": "A String", # When AttributesConfig.attribute_config_level is CATALOG_LEVEL_ATTRIBUTE_CONFIG, if SEARCHABLE_ENABLED, attribute values are searchable by text queries in SearchService.Search. If SEARCHABLE_ENABLED but attribute type is numerical, attribute values will not be searchable by text queries in SearchService.Search, as there are no text values associated to numerical attributes.
+      "type": "A String", # Output only. The type of this attribute. This is derived from the attribute in Product.attributes.
+    },
+  },
+  "name": "A String", # Required. Immutable. The fully qualified resource name of the attribute config. Format: `projects/*/locations/*/catalogs/*/attributesConfig`
+}
+
+ + \ No newline at end of file diff --git a/docs/dyn/retail_v2.projects.locations.catalogs.branches.products.html b/docs/dyn/retail_v2.projects.locations.catalogs.branches.products.html index 295a0c22a1b..c220e41cca9 100644 --- a/docs/dyn/retail_v2.projects.locations.catalogs.branches.products.html +++ b/docs/dyn/retail_v2.projects.locations.catalogs.branches.products.html @@ -291,7 +291,7 @@

Method Details

"categories": [ # Product categories. This field is repeated for supporting one product belonging to several parallel categories. Strongly recommended using the full path for better search / recommendation quality. To represent full path of category, use '>' sign to separate different hierarchies. If '>' is part of the category name, please replace it with other character(s). For example, if a shoes product belongs to both ["Shoes & Accessories" -> "Shoes"] and ["Sports & Fitness" -> "Athletic Clothing" -> "Shoes"], it could be represented as: "categories": [ "Shoes & Accessories > Shoes", "Sports & Fitness > Athletic Clothing > Shoes" ] Must be set for Type.PRIMARY Product otherwise an INVALID_ARGUMENT error is returned. At most 250 values are allowed per Product. Empty values are not allowed. Each value must be a UTF-8 encoded string with a length limit of 5,000 characters. Otherwise, an INVALID_ARGUMENT error is returned. Corresponding properties: Google Merchant Center property google_product_category. Schema.org property [Product.category] (https://schema.org/category). [mc_google_product_category]: https://support.google.com/merchants/answer/6324436 "A String", ], - "collectionMemberIds": [ # The id of the collection members when type is Type.COLLECTION. Non-existent product ids are allowed. The type of the members must be either Type.PRIMARY or Type.VARIANT otherwise and INVALID_ARGUMENT error is thrown. Should not set it for other types. A maximum of 1000 values are allowed. Otherwise, an INVALID_ARGUMENT error is return. + "collectionMemberIds": [ # The id of the collection members when type is Type.COLLECTION. Non-existent product ids are allowed. The type of the members must be either Type.PRIMARY or Type.VARIANT otherwise an INVALID_ARGUMENT error is thrown. Should not set it for other types. A maximum of 1000 values are allowed. Otherwise, an INVALID_ARGUMENT error is return. "A String", ], "colorInfo": { # The color information of a Product. # The color of the product. Corresponding properties: Google Merchant Center property [color](https://support.google.com/merchants/answer/6324487). Schema.org property [Product.color](https://schema.org/color). @@ -423,7 +423,7 @@

Method Details

"categories": [ # Product categories. This field is repeated for supporting one product belonging to several parallel categories. Strongly recommended using the full path for better search / recommendation quality. To represent full path of category, use '>' sign to separate different hierarchies. If '>' is part of the category name, please replace it with other character(s). For example, if a shoes product belongs to both ["Shoes & Accessories" -> "Shoes"] and ["Sports & Fitness" -> "Athletic Clothing" -> "Shoes"], it could be represented as: "categories": [ "Shoes & Accessories > Shoes", "Sports & Fitness > Athletic Clothing > Shoes" ] Must be set for Type.PRIMARY Product otherwise an INVALID_ARGUMENT error is returned. At most 250 values are allowed per Product. Empty values are not allowed. Each value must be a UTF-8 encoded string with a length limit of 5,000 characters. Otherwise, an INVALID_ARGUMENT error is returned. Corresponding properties: Google Merchant Center property google_product_category. Schema.org property [Product.category] (https://schema.org/category). [mc_google_product_category]: https://support.google.com/merchants/answer/6324436 "A String", ], - "collectionMemberIds": [ # The id of the collection members when type is Type.COLLECTION. Non-existent product ids are allowed. The type of the members must be either Type.PRIMARY or Type.VARIANT otherwise and INVALID_ARGUMENT error is thrown. Should not set it for other types. A maximum of 1000 values are allowed. Otherwise, an INVALID_ARGUMENT error is return. + "collectionMemberIds": [ # The id of the collection members when type is Type.COLLECTION. Non-existent product ids are allowed. The type of the members must be either Type.PRIMARY or Type.VARIANT otherwise an INVALID_ARGUMENT error is thrown. Should not set it for other types. A maximum of 1000 values are allowed. Otherwise, an INVALID_ARGUMENT error is return. "A String", ], "colorInfo": { # The color information of a Product. # The color of the product. Corresponding properties: Google Merchant Center property [color](https://support.google.com/merchants/answer/6324487). Schema.org property [Product.color](https://schema.org/color). @@ -579,7 +579,7 @@

Method Details

"categories": [ # Product categories. This field is repeated for supporting one product belonging to several parallel categories. Strongly recommended using the full path for better search / recommendation quality. To represent full path of category, use '>' sign to separate different hierarchies. If '>' is part of the category name, please replace it with other character(s). For example, if a shoes product belongs to both ["Shoes & Accessories" -> "Shoes"] and ["Sports & Fitness" -> "Athletic Clothing" -> "Shoes"], it could be represented as: "categories": [ "Shoes & Accessories > Shoes", "Sports & Fitness > Athletic Clothing > Shoes" ] Must be set for Type.PRIMARY Product otherwise an INVALID_ARGUMENT error is returned. At most 250 values are allowed per Product. Empty values are not allowed. Each value must be a UTF-8 encoded string with a length limit of 5,000 characters. Otherwise, an INVALID_ARGUMENT error is returned. Corresponding properties: Google Merchant Center property google_product_category. Schema.org property [Product.category] (https://schema.org/category). [mc_google_product_category]: https://support.google.com/merchants/answer/6324436 "A String", ], - "collectionMemberIds": [ # The id of the collection members when type is Type.COLLECTION. Non-existent product ids are allowed. The type of the members must be either Type.PRIMARY or Type.VARIANT otherwise and INVALID_ARGUMENT error is thrown. Should not set it for other types. A maximum of 1000 values are allowed. Otherwise, an INVALID_ARGUMENT error is return. + "collectionMemberIds": [ # The id of the collection members when type is Type.COLLECTION. Non-existent product ids are allowed. The type of the members must be either Type.PRIMARY or Type.VARIANT otherwise an INVALID_ARGUMENT error is thrown. Should not set it for other types. A maximum of 1000 values are allowed. Otherwise, an INVALID_ARGUMENT error is return. "A String", ], "colorInfo": { # The color information of a Product. # The color of the product. Corresponding properties: Google Merchant Center property [color](https://support.google.com/merchants/answer/6324487). Schema.org property [Product.color](https://schema.org/color). @@ -688,10 +688,10 @@

Method Details

}, "inputConfig": { # The input config source for products. # Required. The desired input location of the data. "bigQuerySource": { # BigQuery source import data from. # BigQuery input source. - "dataSchema": "A String", # The schema to use when parsing the data from the source. Supported values for product imports: * `product` (default): One JSON Product per line. Each product must have a valid Product.id. * `product_merchant_center`: See [Importing catalog data from Merchant Center](https://cloud.google.com/retail/recommendations-ai/docs/upload-catalog#mc). Supported values for user events imports: * `user_event` (default): One JSON UserEvent per line. * `user_event_ga360`: The schema is available here: https://support.google.com/analytics/answer/3437719. * `user_event_ga4`: This feature is in private preview. Please contact the support team for importing Google Analytics 4 events. The schema is available here: https://support.google.com/analytics/answer/7029846. Supported values for auto-completion imports: * `suggestions` (default): One JSON completion suggestion per line. * `denylist`: One JSON deny suggestion per line. * `allowlist`: One JSON allow suggestion per line. + "dataSchema": "A String", # The schema to use when parsing the data from the source. Supported values for product imports: * `product` (default): One JSON Product per line. Each product must have a valid Product.id. * `product_merchant_center`: See [Importing catalog data from Merchant Center](https://cloud.google.com/retail/recommendations-ai/docs/upload-catalog#mc). Supported values for user events imports: * `user_event` (default): One JSON UserEvent per line. * `user_event_ga360`: The schema is available here: https://support.google.com/analytics/answer/3437719. * `user_event_ga4`: The schema is available here: https://support.google.com/analytics/answer/7029846. Supported values for auto-completion imports: * `suggestions` (default): One JSON completion suggestion per line. * `denylist`: One JSON deny suggestion per line. * `allowlist`: One JSON allow suggestion per line. "datasetId": "A String", # Required. The BigQuery data set to copy the data from with a length limit of 1,024 characters. "gcsStagingDir": "A String", # Intermediate Cloud Storage directory used for the import with a length limit of 2,000 characters. Can be specified if one wants to have the BigQuery export to a specific Cloud Storage directory. - "partitionDate": { # Represents a whole or partial calendar date, such as a birthday. The time of day and time zone are either specified elsewhere or are insignificant. The date is relative to the Gregorian Calendar. This can represent one of the following: * A full date, with non-zero year, month, and day values. * A month and day, with a zero year (for example, an anniversary). * A year on its own, with a zero month and a zero day. * A year and month, with a zero day (for example, a credit card expiration date). Related types: * google.type.TimeOfDay * google.type.DateTime * google.protobuf.Timestamp # BigQuery time partitioned table's _PARTITIONDATE in YYYY-MM-DD format. Only supported when ImportProductsRequest.reconciliation_mode is set to `FULL`. + "partitionDate": { # Represents a whole or partial calendar date, such as a birthday. The time of day and time zone are either specified elsewhere or are insignificant. The date is relative to the Gregorian Calendar. This can represent one of the following: * A full date, with non-zero year, month, and day values. * A month and day, with a zero year (for example, an anniversary). * A year on its own, with a zero month and a zero day. * A year and month, with a zero day (for example, a credit card expiration date). Related types: * google.type.TimeOfDay * google.type.DateTime * google.protobuf.Timestamp # BigQuery time partitioned table's _PARTITIONDATE in YYYY-MM-DD format. Only supported in ImportProductsRequest. "day": 42, # Day of a month. Must be from 1 to 31 and valid for the year and month, or 0 to specify a year by itself or a year and month where the day isn't significant. "month": 42, # Month of a year. Must be from 1 to 12, or 0 to specify a year without a month and day. "year": 42, # Year of the date. Must be from 1 to 9999, or 0 to specify a date without a year. @@ -737,7 +737,7 @@

Method Details

"categories": [ # Product categories. This field is repeated for supporting one product belonging to several parallel categories. Strongly recommended using the full path for better search / recommendation quality. To represent full path of category, use '>' sign to separate different hierarchies. If '>' is part of the category name, please replace it with other character(s). For example, if a shoes product belongs to both ["Shoes & Accessories" -> "Shoes"] and ["Sports & Fitness" -> "Athletic Clothing" -> "Shoes"], it could be represented as: "categories": [ "Shoes & Accessories > Shoes", "Sports & Fitness > Athletic Clothing > Shoes" ] Must be set for Type.PRIMARY Product otherwise an INVALID_ARGUMENT error is returned. At most 250 values are allowed per Product. Empty values are not allowed. Each value must be a UTF-8 encoded string with a length limit of 5,000 characters. Otherwise, an INVALID_ARGUMENT error is returned. Corresponding properties: Google Merchant Center property google_product_category. Schema.org property [Product.category] (https://schema.org/category). [mc_google_product_category]: https://support.google.com/merchants/answer/6324436 "A String", ], - "collectionMemberIds": [ # The id of the collection members when type is Type.COLLECTION. Non-existent product ids are allowed. The type of the members must be either Type.PRIMARY or Type.VARIANT otherwise and INVALID_ARGUMENT error is thrown. Should not set it for other types. A maximum of 1000 values are allowed. Otherwise, an INVALID_ARGUMENT error is return. + "collectionMemberIds": [ # The id of the collection members when type is Type.COLLECTION. Non-existent product ids are allowed. The type of the members must be either Type.PRIMARY or Type.VARIANT otherwise an INVALID_ARGUMENT error is thrown. Should not set it for other types. A maximum of 1000 values are allowed. Otherwise, an INVALID_ARGUMENT error is return. "A String", ], "colorInfo": { # The color information of a Product. # The color of the product. Corresponding properties: Google Merchant Center property [color](https://support.google.com/merchants/answer/6324487). Schema.org property [Product.color](https://schema.org/color). @@ -832,7 +832,7 @@

Method Details

], }, }, - "notificationPubsubTopic": "A String", # Full Pub/Sub topic name for receiving notification. If this field is set, when the import is finished, a notification will be sent to specified Pub/Sub topic. The message data will be JSON string of a Operation. Format of the Pub/Sub topic is `projects/{project}/topics/{topic}`. It has to be within the same project as ImportProductsRequest.parent. Make sure that both `cloud-retail-customer-data-access@system.gserviceaccount.com` and `service-@gcp-sa-retail.iam.gserviceaccount.com` have the `pubsub.topics.publish` IAM permission on the topic. Only supported when ImportProductsRequest.reconciliation_mode is set to `FULL`. + "notificationPubsubTopic": "A String", # Full Pub/Sub topic name for receiving notification. If this field is set, when the import is finished, a notification will be sent to specified Pub/Sub topic. The message data will be JSON string of a Operation. Format of the Pub/Sub topic is `projects/{project}/topics/{topic}`. It has to be within the same project as ImportProductsRequest.parent. Make sure that `service-@gcp-sa-retail.iam.gserviceaccount.com` has the `pubsub.topics.publish` IAM permission on the topic. "reconciliationMode": "A String", # The mode of reconciliation between existing products and the products to be imported. Defaults to ReconciliationMode.INCREMENTAL. "requestId": "A String", # Deprecated. This field has no effect. "updateMask": "A String", # Indicates which fields in the provided imported 'products' to update. If not set, will by default update all fields. @@ -918,7 +918,7 @@

Method Details

"categories": [ # Product categories. This field is repeated for supporting one product belonging to several parallel categories. Strongly recommended using the full path for better search / recommendation quality. To represent full path of category, use '>' sign to separate different hierarchies. If '>' is part of the category name, please replace it with other character(s). For example, if a shoes product belongs to both ["Shoes & Accessories" -> "Shoes"] and ["Sports & Fitness" -> "Athletic Clothing" -> "Shoes"], it could be represented as: "categories": [ "Shoes & Accessories > Shoes", "Sports & Fitness > Athletic Clothing > Shoes" ] Must be set for Type.PRIMARY Product otherwise an INVALID_ARGUMENT error is returned. At most 250 values are allowed per Product. Empty values are not allowed. Each value must be a UTF-8 encoded string with a length limit of 5,000 characters. Otherwise, an INVALID_ARGUMENT error is returned. Corresponding properties: Google Merchant Center property google_product_category. Schema.org property [Product.category] (https://schema.org/category). [mc_google_product_category]: https://support.google.com/merchants/answer/6324436 "A String", ], - "collectionMemberIds": [ # The id of the collection members when type is Type.COLLECTION. Non-existent product ids are allowed. The type of the members must be either Type.PRIMARY or Type.VARIANT otherwise and INVALID_ARGUMENT error is thrown. Should not set it for other types. A maximum of 1000 values are allowed. Otherwise, an INVALID_ARGUMENT error is return. + "collectionMemberIds": [ # The id of the collection members when type is Type.COLLECTION. Non-existent product ids are allowed. The type of the members must be either Type.PRIMARY or Type.VARIANT otherwise an INVALID_ARGUMENT error is thrown. Should not set it for other types. A maximum of 1000 values are allowed. Otherwise, an INVALID_ARGUMENT error is return. "A String", ], "colorInfo": { # The color information of a Product. # The color of the product. Corresponding properties: Google Merchant Center property [color](https://support.google.com/merchants/answer/6324487). Schema.org property [Product.color](https://schema.org/color). @@ -1067,7 +1067,7 @@

Method Details

"categories": [ # Product categories. This field is repeated for supporting one product belonging to several parallel categories. Strongly recommended using the full path for better search / recommendation quality. To represent full path of category, use '>' sign to separate different hierarchies. If '>' is part of the category name, please replace it with other character(s). For example, if a shoes product belongs to both ["Shoes & Accessories" -> "Shoes"] and ["Sports & Fitness" -> "Athletic Clothing" -> "Shoes"], it could be represented as: "categories": [ "Shoes & Accessories > Shoes", "Sports & Fitness > Athletic Clothing > Shoes" ] Must be set for Type.PRIMARY Product otherwise an INVALID_ARGUMENT error is returned. At most 250 values are allowed per Product. Empty values are not allowed. Each value must be a UTF-8 encoded string with a length limit of 5,000 characters. Otherwise, an INVALID_ARGUMENT error is returned. Corresponding properties: Google Merchant Center property google_product_category. Schema.org property [Product.category] (https://schema.org/category). [mc_google_product_category]: https://support.google.com/merchants/answer/6324436 "A String", ], - "collectionMemberIds": [ # The id of the collection members when type is Type.COLLECTION. Non-existent product ids are allowed. The type of the members must be either Type.PRIMARY or Type.VARIANT otherwise and INVALID_ARGUMENT error is thrown. Should not set it for other types. A maximum of 1000 values are allowed. Otherwise, an INVALID_ARGUMENT error is return. + "collectionMemberIds": [ # The id of the collection members when type is Type.COLLECTION. Non-existent product ids are allowed. The type of the members must be either Type.PRIMARY or Type.VARIANT otherwise an INVALID_ARGUMENT error is thrown. Should not set it for other types. A maximum of 1000 values are allowed. Otherwise, an INVALID_ARGUMENT error is return. "A String", ], "colorInfo": { # The color information of a Product. # The color of the product. Corresponding properties: Google Merchant Center property [color](https://support.google.com/merchants/answer/6324487). Schema.org property [Product.color](https://schema.org/color). @@ -1200,7 +1200,7 @@

Method Details

"categories": [ # Product categories. This field is repeated for supporting one product belonging to several parallel categories. Strongly recommended using the full path for better search / recommendation quality. To represent full path of category, use '>' sign to separate different hierarchies. If '>' is part of the category name, please replace it with other character(s). For example, if a shoes product belongs to both ["Shoes & Accessories" -> "Shoes"] and ["Sports & Fitness" -> "Athletic Clothing" -> "Shoes"], it could be represented as: "categories": [ "Shoes & Accessories > Shoes", "Sports & Fitness > Athletic Clothing > Shoes" ] Must be set for Type.PRIMARY Product otherwise an INVALID_ARGUMENT error is returned. At most 250 values are allowed per Product. Empty values are not allowed. Each value must be a UTF-8 encoded string with a length limit of 5,000 characters. Otherwise, an INVALID_ARGUMENT error is returned. Corresponding properties: Google Merchant Center property google_product_category. Schema.org property [Product.category] (https://schema.org/category). [mc_google_product_category]: https://support.google.com/merchants/answer/6324436 "A String", ], - "collectionMemberIds": [ # The id of the collection members when type is Type.COLLECTION. Non-existent product ids are allowed. The type of the members must be either Type.PRIMARY or Type.VARIANT otherwise and INVALID_ARGUMENT error is thrown. Should not set it for other types. A maximum of 1000 values are allowed. Otherwise, an INVALID_ARGUMENT error is return. + "collectionMemberIds": [ # The id of the collection members when type is Type.COLLECTION. Non-existent product ids are allowed. The type of the members must be either Type.PRIMARY or Type.VARIANT otherwise an INVALID_ARGUMENT error is thrown. Should not set it for other types. A maximum of 1000 values are allowed. Otherwise, an INVALID_ARGUMENT error is return. "A String", ], "colorInfo": { # The color information of a Product. # The color of the product. Corresponding properties: Google Merchant Center property [color](https://support.google.com/merchants/answer/6324487). Schema.org property [Product.color](https://schema.org/color). @@ -1428,7 +1428,7 @@

Method Details

"categories": [ # Product categories. This field is repeated for supporting one product belonging to several parallel categories. Strongly recommended using the full path for better search / recommendation quality. To represent full path of category, use '>' sign to separate different hierarchies. If '>' is part of the category name, please replace it with other character(s). For example, if a shoes product belongs to both ["Shoes & Accessories" -> "Shoes"] and ["Sports & Fitness" -> "Athletic Clothing" -> "Shoes"], it could be represented as: "categories": [ "Shoes & Accessories > Shoes", "Sports & Fitness > Athletic Clothing > Shoes" ] Must be set for Type.PRIMARY Product otherwise an INVALID_ARGUMENT error is returned. At most 250 values are allowed per Product. Empty values are not allowed. Each value must be a UTF-8 encoded string with a length limit of 5,000 characters. Otherwise, an INVALID_ARGUMENT error is returned. Corresponding properties: Google Merchant Center property google_product_category. Schema.org property [Product.category] (https://schema.org/category). [mc_google_product_category]: https://support.google.com/merchants/answer/6324436 "A String", ], - "collectionMemberIds": [ # The id of the collection members when type is Type.COLLECTION. Non-existent product ids are allowed. The type of the members must be either Type.PRIMARY or Type.VARIANT otherwise and INVALID_ARGUMENT error is thrown. Should not set it for other types. A maximum of 1000 values are allowed. Otherwise, an INVALID_ARGUMENT error is return. + "collectionMemberIds": [ # The id of the collection members when type is Type.COLLECTION. Non-existent product ids are allowed. The type of the members must be either Type.PRIMARY or Type.VARIANT otherwise an INVALID_ARGUMENT error is thrown. Should not set it for other types. A maximum of 1000 values are allowed. Otherwise, an INVALID_ARGUMENT error is return. "A String", ], "colorInfo": { # The color information of a Product. # The color of the product. Corresponding properties: Google Merchant Center property [color](https://support.google.com/merchants/answer/6324487). Schema.org property [Product.color](https://schema.org/color). diff --git a/docs/dyn/retail_v2.projects.locations.catalogs.completionData.html b/docs/dyn/retail_v2.projects.locations.catalogs.completionData.html index 3956e5952c7..cc977c77130 100644 --- a/docs/dyn/retail_v2.projects.locations.catalogs.completionData.html +++ b/docs/dyn/retail_v2.projects.locations.catalogs.completionData.html @@ -98,10 +98,10 @@

Method Details

{ # Request message for ImportCompletionData methods. "inputConfig": { # The input config source for completion data. # Required. The desired input location of the data. "bigQuerySource": { # BigQuery source import data from. # Required. BigQuery input source. Add the IAM permission "BigQuery Data Viewer" for cloud-retail-customer-data-access@system.gserviceaccount.com before using this feature otherwise an error is thrown. - "dataSchema": "A String", # The schema to use when parsing the data from the source. Supported values for product imports: * `product` (default): One JSON Product per line. Each product must have a valid Product.id. * `product_merchant_center`: See [Importing catalog data from Merchant Center](https://cloud.google.com/retail/recommendations-ai/docs/upload-catalog#mc). Supported values for user events imports: * `user_event` (default): One JSON UserEvent per line. * `user_event_ga360`: The schema is available here: https://support.google.com/analytics/answer/3437719. * `user_event_ga4`: This feature is in private preview. Please contact the support team for importing Google Analytics 4 events. The schema is available here: https://support.google.com/analytics/answer/7029846. Supported values for auto-completion imports: * `suggestions` (default): One JSON completion suggestion per line. * `denylist`: One JSON deny suggestion per line. * `allowlist`: One JSON allow suggestion per line. + "dataSchema": "A String", # The schema to use when parsing the data from the source. Supported values for product imports: * `product` (default): One JSON Product per line. Each product must have a valid Product.id. * `product_merchant_center`: See [Importing catalog data from Merchant Center](https://cloud.google.com/retail/recommendations-ai/docs/upload-catalog#mc). Supported values for user events imports: * `user_event` (default): One JSON UserEvent per line. * `user_event_ga360`: The schema is available here: https://support.google.com/analytics/answer/3437719. * `user_event_ga4`: The schema is available here: https://support.google.com/analytics/answer/7029846. Supported values for auto-completion imports: * `suggestions` (default): One JSON completion suggestion per line. * `denylist`: One JSON deny suggestion per line. * `allowlist`: One JSON allow suggestion per line. "datasetId": "A String", # Required. The BigQuery data set to copy the data from with a length limit of 1,024 characters. "gcsStagingDir": "A String", # Intermediate Cloud Storage directory used for the import with a length limit of 2,000 characters. Can be specified if one wants to have the BigQuery export to a specific Cloud Storage directory. - "partitionDate": { # Represents a whole or partial calendar date, such as a birthday. The time of day and time zone are either specified elsewhere or are insignificant. The date is relative to the Gregorian Calendar. This can represent one of the following: * A full date, with non-zero year, month, and day values. * A month and day, with a zero year (for example, an anniversary). * A year on its own, with a zero month and a zero day. * A year and month, with a zero day (for example, a credit card expiration date). Related types: * google.type.TimeOfDay * google.type.DateTime * google.protobuf.Timestamp # BigQuery time partitioned table's _PARTITIONDATE in YYYY-MM-DD format. Only supported when ImportProductsRequest.reconciliation_mode is set to `FULL`. + "partitionDate": { # Represents a whole or partial calendar date, such as a birthday. The time of day and time zone are either specified elsewhere or are insignificant. The date is relative to the Gregorian Calendar. This can represent one of the following: * A full date, with non-zero year, month, and day values. * A month and day, with a zero year (for example, an anniversary). * A year on its own, with a zero month and a zero day. * A year and month, with a zero day (for example, a credit card expiration date). Related types: * google.type.TimeOfDay * google.type.DateTime * google.protobuf.Timestamp # BigQuery time partitioned table's _PARTITIONDATE in YYYY-MM-DD format. Only supported in ImportProductsRequest. "day": 42, # Day of a month. Must be from 1 to 31 and valid for the year and month, or 0 to specify a year by itself or a year and month where the day isn't significant. "month": 42, # Month of a year. Must be from 1 to 12, or 0 to specify a year without a month and day. "year": 42, # Year of the date. Must be from 1 to 9999, or 0 to specify a date without a year. diff --git a/docs/dyn/retail_v2.projects.locations.catalogs.html b/docs/dyn/retail_v2.projects.locations.catalogs.html index 59474a7168d..1338db569de 100644 --- a/docs/dyn/retail_v2.projects.locations.catalogs.html +++ b/docs/dyn/retail_v2.projects.locations.catalogs.html @@ -74,6 +74,11 @@

Retail API . projects . locations . catalogs

Instance Methods

+

+ attributesConfig() +

+

Returns the attributesConfig Resource.

+

branches()

@@ -110,6 +115,12 @@

Instance Methods

completeQuery(catalog, dataset=None, deviceType=None, languageCodes=None, maxSuggestions=None, query=None, visitorId=None, x__xgafv=None)

Completes the specified prefix with keyword suggestions. This feature is only available for users who have Retail Search enabled. Please enable Retail Search on Cloud Console before using this feature.

+

+ getAttributesConfig(name, x__xgafv=None)

+

Gets an AttributesConfig.

+

+ getCompletionConfig(name, x__xgafv=None)

+

Gets a CompletionConfig.

getDefaultBranch(catalog, x__xgafv=None)

Get which branch is currently default branch set by CatalogService.SetDefaultBranch method under a specified parent catalog.

@@ -125,6 +136,12 @@

Instance Methods

setDefaultBranch(catalog, body=None, x__xgafv=None)

Set a specified branch id as default branch. API methods such as SearchService.Search, ProductService.GetProduct, ProductService.ListProducts will treat requests using "default_branch" to the actual branch id set as default. For example, if `projects/*/locations/*/catalogs/*/branches/1` is set as default, setting SearchRequest.branch to `projects/*/locations/*/catalogs/*/branches/default_branch` is equivalent to setting SearchRequest.branch to `projects/*/locations/*/catalogs/*/branches/1`. Using multiple branches can be useful when developers would like to have a staging branch to test and verify for future usage. When it becomes ready, developers switch on the staging branch using this API while keeping using `projects/*/locations/*/catalogs/*/branches/default_branch` as SearchRequest.branch to route the traffic to this staging branch. CAUTION: If you have live predict/search traffic, switching the default branch could potentially cause outages if the ID space of the new branch is very different from the old one. More specifically: * PredictionService will only return product IDs from branch {newBranch}. * SearchService will only return product IDs from branch {newBranch} (if branch is not explicitly set). * UserEventService will only join events with products from branch {newBranch}.

+

+ updateAttributesConfig(name, body=None, updateMask=None, x__xgafv=None)

+

Updates the AttributesConfig. The catalog attributes in the request will be updated in the catalog, or inserted if they do not exist. Existing catalog attributes not included in the request will remain unchanged. Attributes that are assigned to products, but do not exist at the catalog level, are always included in the response. The product attribute is assigned default values for missing catalog attribute fields, e.g., searchable and dynamic facetable options.

+

+ updateCompletionConfig(name, body=None, updateMask=None, x__xgafv=None)

+

Updates the CompletionConfigs.

Method Details

close() @@ -178,6 +195,104 @@

Method Details

}
+
+ getAttributesConfig(name, x__xgafv=None) +
Gets an AttributesConfig.
+
+Args:
+  name: string, Required. Full AttributesConfig resource name. Format: `projects/{project_number}/locations/{location_id}/catalogs/{catalog_id}/attributesConfig` (required)
+  x__xgafv: string, V1 error format.
+    Allowed values
+      1 - v1 error format
+      2 - v2 error format
+
+Returns:
+  An object of the form:
+
+    { # Catalog level attribute config.
+  "attributeConfigLevel": "A String", # Output only. The AttributeConfigLevel used for this catalog.
+  "catalogAttributes": { # Enable attribute(s) config at catalog level. For example, indexable, dynamic_facetable, or searchable for each attribute. The key is catalog attribute's name. For example: `color`, `brands`, `attributes.custom_attribute`, such as `attributes.xyz`. The maximum number of catalog attributes allowed in a request is 1000.
+    "a_key": { # Catalog level attribute config for an attribute. For example, if customers want to enable/disable facet for a specific attribute.
+      "dynamicFacetableOption": "A String", # If DYNAMIC_FACETABLE_ENABLED, attribute values are available for dynamic facet. Could only be DYNAMIC_FACETABLE_DISABLED if CatalogAttribute.indexable_option is INDEXABLE_DISABLED. Otherwise, an INVALID_ARGUMENT error is returned.
+      "inUse": True or False, # Output only. Indicates whether this attribute has been used by any products. `True` if at least one Product is using this attribute in Product.attributes. Otherwise, this field is `False`. CatalogAttribute can be pre-loaded by using CatalogService.AddCatalogAttribute, CatalogService.ImportCatalogAttributes, or CatalogService.UpdateAttributesConfig APIs. This field is `False` for pre-loaded CatalogAttributes. Only pre-loaded CatalogAttributes that are neither in use by products nor predefined can be deleted. CatalogAttributes that are either in use by products or are predefined cannot be deleted; however, their configuration properties will reset to default values upon removal request. After catalog changes, it takes about 10 minutes for this field to update.
+      "indexableOption": "A String", # When AttributesConfig.attribute_config_level is CATALOG_LEVEL_ATTRIBUTE_CONFIG, if INDEXABLE_ENABLED attribute values are indexed so that it can be filtered, faceted, or boosted in SearchService.Search.
+      "key": "A String", # Required. Attribute name. For example: `color`, `brands`, `attributes.custom_attribute`, such as `attributes.xyz`. To be indexable, the attribute name can contain only alpha-numeric characters and underscores. For example, an attribute named `attributes.abc_xyz` can be indexed, but an attribute named `attributes.abc-xyz` cannot be indexed.
+      "searchableOption": "A String", # When AttributesConfig.attribute_config_level is CATALOG_LEVEL_ATTRIBUTE_CONFIG, if SEARCHABLE_ENABLED, attribute values are searchable by text queries in SearchService.Search. If SEARCHABLE_ENABLED but attribute type is numerical, attribute values will not be searchable by text queries in SearchService.Search, as there are no text values associated to numerical attributes.
+      "type": "A String", # Output only. The type of this attribute. This is derived from the attribute in Product.attributes.
+    },
+  },
+  "name": "A String", # Required. Immutable. The fully qualified resource name of the attribute config. Format: `projects/*/locations/*/catalogs/*/attributesConfig`
+}
+
+ +
+ getCompletionConfig(name, x__xgafv=None) +
Gets a CompletionConfig.
+
+Args:
+  name: string, Required. Full CompletionConfig resource name. Format: projects/{project_number}/locations/{location_id}/catalogs/{catalog_id}/completionConfig (required)
+  x__xgafv: string, V1 error format.
+    Allowed values
+      1 - v1 error format
+      2 - v2 error format
+
+Returns:
+  An object of the form:
+
+    { # Catalog level autocomplete config for customers to customize autocomplete feature's settings.
+  "allowlistInputConfig": { # The input config source for completion data. # Output only. The source data for the latest import of the autocomplete allowlist phrases.
+    "bigQuerySource": { # BigQuery source import data from. # Required. BigQuery input source. Add the IAM permission "BigQuery Data Viewer" for cloud-retail-customer-data-access@system.gserviceaccount.com before using this feature otherwise an error is thrown.
+      "dataSchema": "A String", # The schema to use when parsing the data from the source. Supported values for product imports: * `product` (default): One JSON Product per line. Each product must have a valid Product.id. * `product_merchant_center`: See [Importing catalog data from Merchant Center](https://cloud.google.com/retail/recommendations-ai/docs/upload-catalog#mc). Supported values for user events imports: * `user_event` (default): One JSON UserEvent per line. * `user_event_ga360`: The schema is available here: https://support.google.com/analytics/answer/3437719. * `user_event_ga4`: The schema is available here: https://support.google.com/analytics/answer/7029846. Supported values for auto-completion imports: * `suggestions` (default): One JSON completion suggestion per line. * `denylist`: One JSON deny suggestion per line. * `allowlist`: One JSON allow suggestion per line.
+      "datasetId": "A String", # Required. The BigQuery data set to copy the data from with a length limit of 1,024 characters.
+      "gcsStagingDir": "A String", # Intermediate Cloud Storage directory used for the import with a length limit of 2,000 characters. Can be specified if one wants to have the BigQuery export to a specific Cloud Storage directory.
+      "partitionDate": { # Represents a whole or partial calendar date, such as a birthday. The time of day and time zone are either specified elsewhere or are insignificant. The date is relative to the Gregorian Calendar. This can represent one of the following: * A full date, with non-zero year, month, and day values. * A month and day, with a zero year (for example, an anniversary). * A year on its own, with a zero month and a zero day. * A year and month, with a zero day (for example, a credit card expiration date). Related types: * google.type.TimeOfDay * google.type.DateTime * google.protobuf.Timestamp # BigQuery time partitioned table's _PARTITIONDATE in YYYY-MM-DD format. Only supported in ImportProductsRequest.
+        "day": 42, # Day of a month. Must be from 1 to 31 and valid for the year and month, or 0 to specify a year by itself or a year and month where the day isn't significant.
+        "month": 42, # Month of a year. Must be from 1 to 12, or 0 to specify a year without a month and day.
+        "year": 42, # Year of the date. Must be from 1 to 9999, or 0 to specify a date without a year.
+      },
+      "projectId": "A String", # The project ID (can be project # or ID) that the BigQuery source is in with a length limit of 128 characters. If not specified, inherits the project ID from the parent request.
+      "tableId": "A String", # Required. The BigQuery table to copy the data from with a length limit of 1,024 characters.
+    },
+  },
+  "autoLearning": True or False, # If set to true, the auto learning function is enabled. Auto learning uses user data to generate suggestions using ML techniques. Default value is false. Only after enabling auto learning can users use `cloud-retail` data in CompleteQueryRequest.
+  "denylistInputConfig": { # The input config source for completion data. # Output only. The source data for the latest import of the autocomplete denylist phrases.
+    "bigQuerySource": { # BigQuery source import data from. # Required. BigQuery input source. Add the IAM permission "BigQuery Data Viewer" for cloud-retail-customer-data-access@system.gserviceaccount.com before using this feature otherwise an error is thrown.
+      "dataSchema": "A String", # The schema to use when parsing the data from the source. Supported values for product imports: * `product` (default): One JSON Product per line. Each product must have a valid Product.id. * `product_merchant_center`: See [Importing catalog data from Merchant Center](https://cloud.google.com/retail/recommendations-ai/docs/upload-catalog#mc). Supported values for user events imports: * `user_event` (default): One JSON UserEvent per line. * `user_event_ga360`: The schema is available here: https://support.google.com/analytics/answer/3437719. * `user_event_ga4`: The schema is available here: https://support.google.com/analytics/answer/7029846. Supported values for auto-completion imports: * `suggestions` (default): One JSON completion suggestion per line. * `denylist`: One JSON deny suggestion per line. * `allowlist`: One JSON allow suggestion per line.
+      "datasetId": "A String", # Required. The BigQuery data set to copy the data from with a length limit of 1,024 characters.
+      "gcsStagingDir": "A String", # Intermediate Cloud Storage directory used for the import with a length limit of 2,000 characters. Can be specified if one wants to have the BigQuery export to a specific Cloud Storage directory.
+      "partitionDate": { # Represents a whole or partial calendar date, such as a birthday. The time of day and time zone are either specified elsewhere or are insignificant. The date is relative to the Gregorian Calendar. This can represent one of the following: * A full date, with non-zero year, month, and day values. * A month and day, with a zero year (for example, an anniversary). * A year on its own, with a zero month and a zero day. * A year and month, with a zero day (for example, a credit card expiration date). Related types: * google.type.TimeOfDay * google.type.DateTime * google.protobuf.Timestamp # BigQuery time partitioned table's _PARTITIONDATE in YYYY-MM-DD format. Only supported in ImportProductsRequest.
+        "day": 42, # Day of a month. Must be from 1 to 31 and valid for the year and month, or 0 to specify a year by itself or a year and month where the day isn't significant.
+        "month": 42, # Month of a year. Must be from 1 to 12, or 0 to specify a year without a month and day.
+        "year": 42, # Year of the date. Must be from 1 to 9999, or 0 to specify a date without a year.
+      },
+      "projectId": "A String", # The project ID (can be project # or ID) that the BigQuery source is in with a length limit of 128 characters. If not specified, inherits the project ID from the parent request.
+      "tableId": "A String", # Required. The BigQuery table to copy the data from with a length limit of 1,024 characters.
+    },
+  },
+  "lastAllowlistImportOperation": "A String", # Output only. Name of the LRO corresponding to the latest allowlist import. Can use GetOperation API to retrieve the latest state of the Long Running Operation.
+  "lastDenylistImportOperation": "A String", # Output only. Name of the LRO corresponding to the latest denylist import. Can use GetOperation API to retrieve the latest state of the Long Running Operation.
+  "lastSuggestionsImportOperation": "A String", # Output only. Name of the LRO corresponding to the latest suggestion terms list import. Can use GetOperation API to retrieve the latest state of the Long Running Operation.
+  "matchingOrder": "A String", # Specifies the matching order for autocomplete suggestions, e.g., a query consisting of 'sh' with 'out-of-order' specified would suggest "women's shoes", whereas a query of 'red s' with 'exact-prefix' specified would suggest "red shoes". Currently supported values: * 'out-of-order' * 'exact-prefix' Default value: 'exact-prefix'.
+  "maxSuggestions": 42, # The maximum number of autocomplete suggestions returned per term. Default value is 20. If left unset or set to 0, then will fallback to default value. Value range is 1 to 20.
+  "minPrefixLength": 42, # The minimum number of characters needed to be typed in order to get suggestions. Default value is 2. If left unset or set to 0, then will fallback to default value. Value range is 1 to 20.
+  "name": "A String", # Required. Immutable. Fully qualified name `projects/*/locations/*/catalogs/*/completionConfig`
+  "suggestionsInputConfig": { # The input config source for completion data. # Output only. The source data for the latest import of the autocomplete suggestion phrases.
+    "bigQuerySource": { # BigQuery source import data from. # Required. BigQuery input source. Add the IAM permission "BigQuery Data Viewer" for cloud-retail-customer-data-access@system.gserviceaccount.com before using this feature otherwise an error is thrown.
+      "dataSchema": "A String", # The schema to use when parsing the data from the source. Supported values for product imports: * `product` (default): One JSON Product per line. Each product must have a valid Product.id. * `product_merchant_center`: See [Importing catalog data from Merchant Center](https://cloud.google.com/retail/recommendations-ai/docs/upload-catalog#mc). Supported values for user events imports: * `user_event` (default): One JSON UserEvent per line. * `user_event_ga360`: The schema is available here: https://support.google.com/analytics/answer/3437719. * `user_event_ga4`: The schema is available here: https://support.google.com/analytics/answer/7029846. Supported values for auto-completion imports: * `suggestions` (default): One JSON completion suggestion per line. * `denylist`: One JSON deny suggestion per line. * `allowlist`: One JSON allow suggestion per line.
+      "datasetId": "A String", # Required. The BigQuery data set to copy the data from with a length limit of 1,024 characters.
+      "gcsStagingDir": "A String", # Intermediate Cloud Storage directory used for the import with a length limit of 2,000 characters. Can be specified if one wants to have the BigQuery export to a specific Cloud Storage directory.
+      "partitionDate": { # Represents a whole or partial calendar date, such as a birthday. The time of day and time zone are either specified elsewhere or are insignificant. The date is relative to the Gregorian Calendar. This can represent one of the following: * A full date, with non-zero year, month, and day values. * A month and day, with a zero year (for example, an anniversary). * A year on its own, with a zero month and a zero day. * A year and month, with a zero day (for example, a credit card expiration date). Related types: * google.type.TimeOfDay * google.type.DateTime * google.protobuf.Timestamp # BigQuery time partitioned table's _PARTITIONDATE in YYYY-MM-DD format. Only supported in ImportProductsRequest.
+        "day": 42, # Day of a month. Must be from 1 to 31 and valid for the year and month, or 0 to specify a year by itself or a year and month where the day isn't significant.
+        "month": 42, # Month of a year. Must be from 1 to 12, or 0 to specify a year without a month and day.
+        "year": 42, # Year of the date. Must be from 1 to 9999, or 0 to specify a date without a year.
+      },
+      "projectId": "A String", # The project ID (can be project # or ID) that the BigQuery source is in with a length limit of 128 characters. If not specified, inherits the project ID from the parent request.
+      "tableId": "A String", # Required. The BigQuery table to copy the data from with a length limit of 1,024 characters.
+    },
+  },
+}
+
+
getDefaultBranch(catalog, x__xgafv=None)
Get which branch is currently default branch set by CatalogService.SetDefaultBranch method under a specified parent catalog.
@@ -308,4 +423,178 @@ 

Method Details

}
+
+ updateAttributesConfig(name, body=None, updateMask=None, x__xgafv=None) +
Updates the AttributesConfig. The catalog attributes in the request will be updated in the catalog, or inserted if they do not exist. Existing catalog attributes not included in the request will remain unchanged. Attributes that are assigned to products, but do not exist at the catalog level, are always included in the response. The product attribute is assigned default values for missing catalog attribute fields, e.g., searchable and dynamic facetable options.
+
+Args:
+  name: string, Required. Immutable. The fully qualified resource name of the attribute config. Format: `projects/*/locations/*/catalogs/*/attributesConfig` (required)
+  body: object, The request body.
+    The object takes the form of:
+
+{ # Catalog level attribute config.
+  "attributeConfigLevel": "A String", # Output only. The AttributeConfigLevel used for this catalog.
+  "catalogAttributes": { # Enable attribute(s) config at catalog level. For example, indexable, dynamic_facetable, or searchable for each attribute. The key is catalog attribute's name. For example: `color`, `brands`, `attributes.custom_attribute`, such as `attributes.xyz`. The maximum number of catalog attributes allowed in a request is 1000.
+    "a_key": { # Catalog level attribute config for an attribute. For example, if customers want to enable/disable facet for a specific attribute.
+      "dynamicFacetableOption": "A String", # If DYNAMIC_FACETABLE_ENABLED, attribute values are available for dynamic facet. Could only be DYNAMIC_FACETABLE_DISABLED if CatalogAttribute.indexable_option is INDEXABLE_DISABLED. Otherwise, an INVALID_ARGUMENT error is returned.
+      "inUse": True or False, # Output only. Indicates whether this attribute has been used by any products. `True` if at least one Product is using this attribute in Product.attributes. Otherwise, this field is `False`. CatalogAttribute can be pre-loaded by using CatalogService.AddCatalogAttribute, CatalogService.ImportCatalogAttributes, or CatalogService.UpdateAttributesConfig APIs. This field is `False` for pre-loaded CatalogAttributes. Only pre-loaded CatalogAttributes that are neither in use by products nor predefined can be deleted. CatalogAttributes that are either in use by products or are predefined cannot be deleted; however, their configuration properties will reset to default values upon removal request. After catalog changes, it takes about 10 minutes for this field to update.
+      "indexableOption": "A String", # When AttributesConfig.attribute_config_level is CATALOG_LEVEL_ATTRIBUTE_CONFIG, if INDEXABLE_ENABLED attribute values are indexed so that it can be filtered, faceted, or boosted in SearchService.Search.
+      "key": "A String", # Required. Attribute name. For example: `color`, `brands`, `attributes.custom_attribute`, such as `attributes.xyz`. To be indexable, the attribute name can contain only alpha-numeric characters and underscores. For example, an attribute named `attributes.abc_xyz` can be indexed, but an attribute named `attributes.abc-xyz` cannot be indexed.
+      "searchableOption": "A String", # When AttributesConfig.attribute_config_level is CATALOG_LEVEL_ATTRIBUTE_CONFIG, if SEARCHABLE_ENABLED, attribute values are searchable by text queries in SearchService.Search. If SEARCHABLE_ENABLED but attribute type is numerical, attribute values will not be searchable by text queries in SearchService.Search, as there are no text values associated to numerical attributes.
+      "type": "A String", # Output only. The type of this attribute. This is derived from the attribute in Product.attributes.
+    },
+  },
+  "name": "A String", # Required. Immutable. The fully qualified resource name of the attribute config. Format: `projects/*/locations/*/catalogs/*/attributesConfig`
+}
+
+  updateMask: string, Indicates which fields in the provided AttributesConfig to update. The following is the only supported field: * AttributesConfig.catalog_attributes If not set, all supported fields are updated.
+  x__xgafv: string, V1 error format.
+    Allowed values
+      1 - v1 error format
+      2 - v2 error format
+
+Returns:
+  An object of the form:
+
+    { # Catalog level attribute config.
+  "attributeConfigLevel": "A String", # Output only. The AttributeConfigLevel used for this catalog.
+  "catalogAttributes": { # Enable attribute(s) config at catalog level. For example, indexable, dynamic_facetable, or searchable for each attribute. The key is catalog attribute's name. For example: `color`, `brands`, `attributes.custom_attribute`, such as `attributes.xyz`. The maximum number of catalog attributes allowed in a request is 1000.
+    "a_key": { # Catalog level attribute config for an attribute. For example, if customers want to enable/disable facet for a specific attribute.
+      "dynamicFacetableOption": "A String", # If DYNAMIC_FACETABLE_ENABLED, attribute values are available for dynamic facet. Could only be DYNAMIC_FACETABLE_DISABLED if CatalogAttribute.indexable_option is INDEXABLE_DISABLED. Otherwise, an INVALID_ARGUMENT error is returned.
+      "inUse": True or False, # Output only. Indicates whether this attribute has been used by any products. `True` if at least one Product is using this attribute in Product.attributes. Otherwise, this field is `False`. CatalogAttribute can be pre-loaded by using CatalogService.AddCatalogAttribute, CatalogService.ImportCatalogAttributes, or CatalogService.UpdateAttributesConfig APIs. This field is `False` for pre-loaded CatalogAttributes. Only pre-loaded CatalogAttributes that are neither in use by products nor predefined can be deleted. CatalogAttributes that are either in use by products or are predefined cannot be deleted; however, their configuration properties will reset to default values upon removal request. After catalog changes, it takes about 10 minutes for this field to update.
+      "indexableOption": "A String", # When AttributesConfig.attribute_config_level is CATALOG_LEVEL_ATTRIBUTE_CONFIG, if INDEXABLE_ENABLED attribute values are indexed so that it can be filtered, faceted, or boosted in SearchService.Search.
+      "key": "A String", # Required. Attribute name. For example: `color`, `brands`, `attributes.custom_attribute`, such as `attributes.xyz`. To be indexable, the attribute name can contain only alpha-numeric characters and underscores. For example, an attribute named `attributes.abc_xyz` can be indexed, but an attribute named `attributes.abc-xyz` cannot be indexed.
+      "searchableOption": "A String", # When AttributesConfig.attribute_config_level is CATALOG_LEVEL_ATTRIBUTE_CONFIG, if SEARCHABLE_ENABLED, attribute values are searchable by text queries in SearchService.Search. If SEARCHABLE_ENABLED but attribute type is numerical, attribute values will not be searchable by text queries in SearchService.Search, as there are no text values associated to numerical attributes.
+      "type": "A String", # Output only. The type of this attribute. This is derived from the attribute in Product.attributes.
+    },
+  },
+  "name": "A String", # Required. Immutable. The fully qualified resource name of the attribute config. Format: `projects/*/locations/*/catalogs/*/attributesConfig`
+}
+
+ +
+ updateCompletionConfig(name, body=None, updateMask=None, x__xgafv=None) +
Updates the CompletionConfigs.
+
+Args:
+  name: string, Required. Immutable. Fully qualified name `projects/*/locations/*/catalogs/*/completionConfig` (required)
+  body: object, The request body.
+    The object takes the form of:
+
+{ # Catalog level autocomplete config for customers to customize autocomplete feature's settings.
+  "allowlistInputConfig": { # The input config source for completion data. # Output only. The source data for the latest import of the autocomplete allowlist phrases.
+    "bigQuerySource": { # BigQuery source import data from. # Required. BigQuery input source. Add the IAM permission "BigQuery Data Viewer" for cloud-retail-customer-data-access@system.gserviceaccount.com before using this feature otherwise an error is thrown.
+      "dataSchema": "A String", # The schema to use when parsing the data from the source. Supported values for product imports: * `product` (default): One JSON Product per line. Each product must have a valid Product.id. * `product_merchant_center`: See [Importing catalog data from Merchant Center](https://cloud.google.com/retail/recommendations-ai/docs/upload-catalog#mc). Supported values for user events imports: * `user_event` (default): One JSON UserEvent per line. * `user_event_ga360`: The schema is available here: https://support.google.com/analytics/answer/3437719. * `user_event_ga4`: The schema is available here: https://support.google.com/analytics/answer/7029846. Supported values for auto-completion imports: * `suggestions` (default): One JSON completion suggestion per line. * `denylist`: One JSON deny suggestion per line. * `allowlist`: One JSON allow suggestion per line.
+      "datasetId": "A String", # Required. The BigQuery data set to copy the data from with a length limit of 1,024 characters.
+      "gcsStagingDir": "A String", # Intermediate Cloud Storage directory used for the import with a length limit of 2,000 characters. Can be specified if one wants to have the BigQuery export to a specific Cloud Storage directory.
+      "partitionDate": { # Represents a whole or partial calendar date, such as a birthday. The time of day and time zone are either specified elsewhere or are insignificant. The date is relative to the Gregorian Calendar. This can represent one of the following: * A full date, with non-zero year, month, and day values. * A month and day, with a zero year (for example, an anniversary). * A year on its own, with a zero month and a zero day. * A year and month, with a zero day (for example, a credit card expiration date). Related types: * google.type.TimeOfDay * google.type.DateTime * google.protobuf.Timestamp # BigQuery time partitioned table's _PARTITIONDATE in YYYY-MM-DD format. Only supported in ImportProductsRequest.
+        "day": 42, # Day of a month. Must be from 1 to 31 and valid for the year and month, or 0 to specify a year by itself or a year and month where the day isn't significant.
+        "month": 42, # Month of a year. Must be from 1 to 12, or 0 to specify a year without a month and day.
+        "year": 42, # Year of the date. Must be from 1 to 9999, or 0 to specify a date without a year.
+      },
+      "projectId": "A String", # The project ID (can be project # or ID) that the BigQuery source is in with a length limit of 128 characters. If not specified, inherits the project ID from the parent request.
+      "tableId": "A String", # Required. The BigQuery table to copy the data from with a length limit of 1,024 characters.
+    },
+  },
+  "autoLearning": True or False, # If set to true, the auto learning function is enabled. Auto learning uses user data to generate suggestions using ML techniques. Default value is false. Only after enabling auto learning can users use `cloud-retail` data in CompleteQueryRequest.
+  "denylistInputConfig": { # The input config source for completion data. # Output only. The source data for the latest import of the autocomplete denylist phrases.
+    "bigQuerySource": { # BigQuery source import data from. # Required. BigQuery input source. Add the IAM permission "BigQuery Data Viewer" for cloud-retail-customer-data-access@system.gserviceaccount.com before using this feature otherwise an error is thrown.
+      "dataSchema": "A String", # The schema to use when parsing the data from the source. Supported values for product imports: * `product` (default): One JSON Product per line. Each product must have a valid Product.id. * `product_merchant_center`: See [Importing catalog data from Merchant Center](https://cloud.google.com/retail/recommendations-ai/docs/upload-catalog#mc). Supported values for user events imports: * `user_event` (default): One JSON UserEvent per line. * `user_event_ga360`: The schema is available here: https://support.google.com/analytics/answer/3437719. * `user_event_ga4`: The schema is available here: https://support.google.com/analytics/answer/7029846. Supported values for auto-completion imports: * `suggestions` (default): One JSON completion suggestion per line. * `denylist`: One JSON deny suggestion per line. * `allowlist`: One JSON allow suggestion per line.
+      "datasetId": "A String", # Required. The BigQuery data set to copy the data from with a length limit of 1,024 characters.
+      "gcsStagingDir": "A String", # Intermediate Cloud Storage directory used for the import with a length limit of 2,000 characters. Can be specified if one wants to have the BigQuery export to a specific Cloud Storage directory.
+      "partitionDate": { # Represents a whole or partial calendar date, such as a birthday. The time of day and time zone are either specified elsewhere or are insignificant. The date is relative to the Gregorian Calendar. This can represent one of the following: * A full date, with non-zero year, month, and day values. * A month and day, with a zero year (for example, an anniversary). * A year on its own, with a zero month and a zero day. * A year and month, with a zero day (for example, a credit card expiration date). Related types: * google.type.TimeOfDay * google.type.DateTime * google.protobuf.Timestamp # BigQuery time partitioned table's _PARTITIONDATE in YYYY-MM-DD format. Only supported in ImportProductsRequest.
+        "day": 42, # Day of a month. Must be from 1 to 31 and valid for the year and month, or 0 to specify a year by itself or a year and month where the day isn't significant.
+        "month": 42, # Month of a year. Must be from 1 to 12, or 0 to specify a year without a month and day.
+        "year": 42, # Year of the date. Must be from 1 to 9999, or 0 to specify a date without a year.
+      },
+      "projectId": "A String", # The project ID (can be project # or ID) that the BigQuery source is in with a length limit of 128 characters. If not specified, inherits the project ID from the parent request.
+      "tableId": "A String", # Required. The BigQuery table to copy the data from with a length limit of 1,024 characters.
+    },
+  },
+  "lastAllowlistImportOperation": "A String", # Output only. Name of the LRO corresponding to the latest allowlist import. Can use GetOperation API to retrieve the latest state of the Long Running Operation.
+  "lastDenylistImportOperation": "A String", # Output only. Name of the LRO corresponding to the latest denylist import. Can use GetOperation API to retrieve the latest state of the Long Running Operation.
+  "lastSuggestionsImportOperation": "A String", # Output only. Name of the LRO corresponding to the latest suggestion terms list import. Can use GetOperation API to retrieve the latest state of the Long Running Operation.
+  "matchingOrder": "A String", # Specifies the matching order for autocomplete suggestions, e.g., a query consisting of 'sh' with 'out-of-order' specified would suggest "women's shoes", whereas a query of 'red s' with 'exact-prefix' specified would suggest "red shoes". Currently supported values: * 'out-of-order' * 'exact-prefix' Default value: 'exact-prefix'.
+  "maxSuggestions": 42, # The maximum number of autocomplete suggestions returned per term. Default value is 20. If left unset or set to 0, then will fallback to default value. Value range is 1 to 20.
+  "minPrefixLength": 42, # The minimum number of characters needed to be typed in order to get suggestions. Default value is 2. If left unset or set to 0, then will fallback to default value. Value range is 1 to 20.
+  "name": "A String", # Required. Immutable. Fully qualified name `projects/*/locations/*/catalogs/*/completionConfig`
+  "suggestionsInputConfig": { # The input config source for completion data. # Output only. The source data for the latest import of the autocomplete suggestion phrases.
+    "bigQuerySource": { # BigQuery source import data from. # Required. BigQuery input source. Add the IAM permission "BigQuery Data Viewer" for cloud-retail-customer-data-access@system.gserviceaccount.com before using this feature otherwise an error is thrown.
+      "dataSchema": "A String", # The schema to use when parsing the data from the source. Supported values for product imports: * `product` (default): One JSON Product per line. Each product must have a valid Product.id. * `product_merchant_center`: See [Importing catalog data from Merchant Center](https://cloud.google.com/retail/recommendations-ai/docs/upload-catalog#mc). Supported values for user events imports: * `user_event` (default): One JSON UserEvent per line. * `user_event_ga360`: The schema is available here: https://support.google.com/analytics/answer/3437719. * `user_event_ga4`: The schema is available here: https://support.google.com/analytics/answer/7029846. Supported values for auto-completion imports: * `suggestions` (default): One JSON completion suggestion per line. * `denylist`: One JSON deny suggestion per line. * `allowlist`: One JSON allow suggestion per line.
+      "datasetId": "A String", # Required. The BigQuery data set to copy the data from with a length limit of 1,024 characters.
+      "gcsStagingDir": "A String", # Intermediate Cloud Storage directory used for the import with a length limit of 2,000 characters. Can be specified if one wants to have the BigQuery export to a specific Cloud Storage directory.
+      "partitionDate": { # Represents a whole or partial calendar date, such as a birthday. The time of day and time zone are either specified elsewhere or are insignificant. The date is relative to the Gregorian Calendar. This can represent one of the following: * A full date, with non-zero year, month, and day values. * A month and day, with a zero year (for example, an anniversary). * A year on its own, with a zero month and a zero day. * A year and month, with a zero day (for example, a credit card expiration date). Related types: * google.type.TimeOfDay * google.type.DateTime * google.protobuf.Timestamp # BigQuery time partitioned table's _PARTITIONDATE in YYYY-MM-DD format. Only supported in ImportProductsRequest.
+        "day": 42, # Day of a month. Must be from 1 to 31 and valid for the year and month, or 0 to specify a year by itself or a year and month where the day isn't significant.
+        "month": 42, # Month of a year. Must be from 1 to 12, or 0 to specify a year without a month and day.
+        "year": 42, # Year of the date. Must be from 1 to 9999, or 0 to specify a date without a year.
+      },
+      "projectId": "A String", # The project ID (can be project # or ID) that the BigQuery source is in with a length limit of 128 characters. If not specified, inherits the project ID from the parent request.
+      "tableId": "A String", # Required. The BigQuery table to copy the data from with a length limit of 1,024 characters.
+    },
+  },
+}
+
+  updateMask: string, Indicates which fields in the provided CompletionConfig to update. The following are the only supported fields: * CompletionConfig.matching_order * CompletionConfig.max_suggestions * CompletionConfig.min_prefix_length * CompletionConfig.auto_learning If not set, all supported fields are updated.
+  x__xgafv: string, V1 error format.
+    Allowed values
+      1 - v1 error format
+      2 - v2 error format
+
+Returns:
+  An object of the form:
+
+    { # Catalog level autocomplete config for customers to customize autocomplete feature's settings.
+  "allowlistInputConfig": { # The input config source for completion data. # Output only. The source data for the latest import of the autocomplete allowlist phrases.
+    "bigQuerySource": { # BigQuery source import data from. # Required. BigQuery input source. Add the IAM permission "BigQuery Data Viewer" for cloud-retail-customer-data-access@system.gserviceaccount.com before using this feature otherwise an error is thrown.
+      "dataSchema": "A String", # The schema to use when parsing the data from the source. Supported values for product imports: * `product` (default): One JSON Product per line. Each product must have a valid Product.id. * `product_merchant_center`: See [Importing catalog data from Merchant Center](https://cloud.google.com/retail/recommendations-ai/docs/upload-catalog#mc). Supported values for user events imports: * `user_event` (default): One JSON UserEvent per line. * `user_event_ga360`: The schema is available here: https://support.google.com/analytics/answer/3437719. * `user_event_ga4`: The schema is available here: https://support.google.com/analytics/answer/7029846. Supported values for auto-completion imports: * `suggestions` (default): One JSON completion suggestion per line. * `denylist`: One JSON deny suggestion per line. * `allowlist`: One JSON allow suggestion per line.
+      "datasetId": "A String", # Required. The BigQuery data set to copy the data from with a length limit of 1,024 characters.
+      "gcsStagingDir": "A String", # Intermediate Cloud Storage directory used for the import with a length limit of 2,000 characters. Can be specified if one wants to have the BigQuery export to a specific Cloud Storage directory.
+      "partitionDate": { # Represents a whole or partial calendar date, such as a birthday. The time of day and time zone are either specified elsewhere or are insignificant. The date is relative to the Gregorian Calendar. This can represent one of the following: * A full date, with non-zero year, month, and day values. * A month and day, with a zero year (for example, an anniversary). * A year on its own, with a zero month and a zero day. * A year and month, with a zero day (for example, a credit card expiration date). Related types: * google.type.TimeOfDay * google.type.DateTime * google.protobuf.Timestamp # BigQuery time partitioned table's _PARTITIONDATE in YYYY-MM-DD format. Only supported in ImportProductsRequest.
+        "day": 42, # Day of a month. Must be from 1 to 31 and valid for the year and month, or 0 to specify a year by itself or a year and month where the day isn't significant.
+        "month": 42, # Month of a year. Must be from 1 to 12, or 0 to specify a year without a month and day.
+        "year": 42, # Year of the date. Must be from 1 to 9999, or 0 to specify a date without a year.
+      },
+      "projectId": "A String", # The project ID (can be project # or ID) that the BigQuery source is in with a length limit of 128 characters. If not specified, inherits the project ID from the parent request.
+      "tableId": "A String", # Required. The BigQuery table to copy the data from with a length limit of 1,024 characters.
+    },
+  },
+  "autoLearning": True or False, # If set to true, the auto learning function is enabled. Auto learning uses user data to generate suggestions using ML techniques. Default value is false. Only after enabling auto learning can users use `cloud-retail` data in CompleteQueryRequest.
+  "denylistInputConfig": { # The input config source for completion data. # Output only. The source data for the latest import of the autocomplete denylist phrases.
+    "bigQuerySource": { # BigQuery source import data from. # Required. BigQuery input source. Add the IAM permission "BigQuery Data Viewer" for cloud-retail-customer-data-access@system.gserviceaccount.com before using this feature otherwise an error is thrown.
+      "dataSchema": "A String", # The schema to use when parsing the data from the source. Supported values for product imports: * `product` (default): One JSON Product per line. Each product must have a valid Product.id. * `product_merchant_center`: See [Importing catalog data from Merchant Center](https://cloud.google.com/retail/recommendations-ai/docs/upload-catalog#mc). Supported values for user events imports: * `user_event` (default): One JSON UserEvent per line. * `user_event_ga360`: The schema is available here: https://support.google.com/analytics/answer/3437719. * `user_event_ga4`: The schema is available here: https://support.google.com/analytics/answer/7029846. Supported values for auto-completion imports: * `suggestions` (default): One JSON completion suggestion per line. * `denylist`: One JSON deny suggestion per line. * `allowlist`: One JSON allow suggestion per line.
+      "datasetId": "A String", # Required. The BigQuery data set to copy the data from with a length limit of 1,024 characters.
+      "gcsStagingDir": "A String", # Intermediate Cloud Storage directory used for the import with a length limit of 2,000 characters. Can be specified if one wants to have the BigQuery export to a specific Cloud Storage directory.
+      "partitionDate": { # Represents a whole or partial calendar date, such as a birthday. The time of day and time zone are either specified elsewhere or are insignificant. The date is relative to the Gregorian Calendar. This can represent one of the following: * A full date, with non-zero year, month, and day values. * A month and day, with a zero year (for example, an anniversary). * A year on its own, with a zero month and a zero day. * A year and month, with a zero day (for example, a credit card expiration date). Related types: * google.type.TimeOfDay * google.type.DateTime * google.protobuf.Timestamp # BigQuery time partitioned table's _PARTITIONDATE in YYYY-MM-DD format. Only supported in ImportProductsRequest.
+        "day": 42, # Day of a month. Must be from 1 to 31 and valid for the year and month, or 0 to specify a year by itself or a year and month where the day isn't significant.
+        "month": 42, # Month of a year. Must be from 1 to 12, or 0 to specify a year without a month and day.
+        "year": 42, # Year of the date. Must be from 1 to 9999, or 0 to specify a date without a year.
+      },
+      "projectId": "A String", # The project ID (can be project # or ID) that the BigQuery source is in with a length limit of 128 characters. If not specified, inherits the project ID from the parent request.
+      "tableId": "A String", # Required. The BigQuery table to copy the data from with a length limit of 1,024 characters.
+    },
+  },
+  "lastAllowlistImportOperation": "A String", # Output only. Name of the LRO corresponding to the latest allowlist import. Can use GetOperation API to retrieve the latest state of the Long Running Operation.
+  "lastDenylistImportOperation": "A String", # Output only. Name of the LRO corresponding to the latest denylist import. Can use GetOperation API to retrieve the latest state of the Long Running Operation.
+  "lastSuggestionsImportOperation": "A String", # Output only. Name of the LRO corresponding to the latest suggestion terms list import. Can use GetOperation API to retrieve the latest state of the Long Running Operation.
+  "matchingOrder": "A String", # Specifies the matching order for autocomplete suggestions, e.g., a query consisting of 'sh' with 'out-of-order' specified would suggest "women's shoes", whereas a query of 'red s' with 'exact-prefix' specified would suggest "red shoes". Currently supported values: * 'out-of-order' * 'exact-prefix' Default value: 'exact-prefix'.
+  "maxSuggestions": 42, # The maximum number of autocomplete suggestions returned per term. Default value is 20. If left unset or set to 0, then will fallback to default value. Value range is 1 to 20.
+  "minPrefixLength": 42, # The minimum number of characters needed to be typed in order to get suggestions. Default value is 2. If left unset or set to 0, then will fallback to default value. Value range is 1 to 20.
+  "name": "A String", # Required. Immutable. Fully qualified name `projects/*/locations/*/catalogs/*/completionConfig`
+  "suggestionsInputConfig": { # The input config source for completion data. # Output only. The source data for the latest import of the autocomplete suggestion phrases.
+    "bigQuerySource": { # BigQuery source import data from. # Required. BigQuery input source. Add the IAM permission "BigQuery Data Viewer" for cloud-retail-customer-data-access@system.gserviceaccount.com before using this feature otherwise an error is thrown.
+      "dataSchema": "A String", # The schema to use when parsing the data from the source. Supported values for product imports: * `product` (default): One JSON Product per line. Each product must have a valid Product.id. * `product_merchant_center`: See [Importing catalog data from Merchant Center](https://cloud.google.com/retail/recommendations-ai/docs/upload-catalog#mc). Supported values for user events imports: * `user_event` (default): One JSON UserEvent per line. * `user_event_ga360`: The schema is available here: https://support.google.com/analytics/answer/3437719. * `user_event_ga4`: The schema is available here: https://support.google.com/analytics/answer/7029846. Supported values for auto-completion imports: * `suggestions` (default): One JSON completion suggestion per line. * `denylist`: One JSON deny suggestion per line. * `allowlist`: One JSON allow suggestion per line.
+      "datasetId": "A String", # Required. The BigQuery data set to copy the data from with a length limit of 1,024 characters.
+      "gcsStagingDir": "A String", # Intermediate Cloud Storage directory used for the import with a length limit of 2,000 characters. Can be specified if one wants to have the BigQuery export to a specific Cloud Storage directory.
+      "partitionDate": { # Represents a whole or partial calendar date, such as a birthday. The time of day and time zone are either specified elsewhere or are insignificant. The date is relative to the Gregorian Calendar. This can represent one of the following: * A full date, with non-zero year, month, and day values. * A month and day, with a zero year (for example, an anniversary). * A year on its own, with a zero month and a zero day. * A year and month, with a zero day (for example, a credit card expiration date). Related types: * google.type.TimeOfDay * google.type.DateTime * google.protobuf.Timestamp # BigQuery time partitioned table's _PARTITIONDATE in YYYY-MM-DD format. Only supported in ImportProductsRequest.
+        "day": 42, # Day of a month. Must be from 1 to 31 and valid for the year and month, or 0 to specify a year by itself or a year and month where the day isn't significant.
+        "month": 42, # Month of a year. Must be from 1 to 12, or 0 to specify a year without a month and day.
+        "year": 42, # Year of the date. Must be from 1 to 9999, or 0 to specify a date without a year.
+      },
+      "projectId": "A String", # The project ID (can be project # or ID) that the BigQuery source is in with a length limit of 128 characters. If not specified, inherits the project ID from the parent request.
+      "tableId": "A String", # Required. The BigQuery table to copy the data from with a length limit of 1,024 characters.
+    },
+  },
+}
+
+ \ No newline at end of file diff --git a/docs/dyn/retail_v2.projects.locations.catalogs.placements.html b/docs/dyn/retail_v2.projects.locations.catalogs.placements.html index 0f663663a76..4fc4ed3a3db 100644 --- a/docs/dyn/retail_v2.projects.locations.catalogs.placements.html +++ b/docs/dyn/retail_v2.projects.locations.catalogs.placements.html @@ -175,7 +175,7 @@

Method Details

"categories": [ # Product categories. This field is repeated for supporting one product belonging to several parallel categories. Strongly recommended using the full path for better search / recommendation quality. To represent full path of category, use '>' sign to separate different hierarchies. If '>' is part of the category name, please replace it with other character(s). For example, if a shoes product belongs to both ["Shoes & Accessories" -> "Shoes"] and ["Sports & Fitness" -> "Athletic Clothing" -> "Shoes"], it could be represented as: "categories": [ "Shoes & Accessories > Shoes", "Sports & Fitness > Athletic Clothing > Shoes" ] Must be set for Type.PRIMARY Product otherwise an INVALID_ARGUMENT error is returned. At most 250 values are allowed per Product. Empty values are not allowed. Each value must be a UTF-8 encoded string with a length limit of 5,000 characters. Otherwise, an INVALID_ARGUMENT error is returned. Corresponding properties: Google Merchant Center property google_product_category. Schema.org property [Product.category] (https://schema.org/category). [mc_google_product_category]: https://support.google.com/merchants/answer/6324436 "A String", ], - "collectionMemberIds": [ # The id of the collection members when type is Type.COLLECTION. Non-existent product ids are allowed. The type of the members must be either Type.PRIMARY or Type.VARIANT otherwise and INVALID_ARGUMENT error is thrown. Should not set it for other types. A maximum of 1000 values are allowed. Otherwise, an INVALID_ARGUMENT error is return. + "collectionMemberIds": [ # The id of the collection members when type is Type.COLLECTION. Non-existent product ids are allowed. The type of the members must be either Type.PRIMARY or Type.VARIANT otherwise an INVALID_ARGUMENT error is thrown. Should not set it for other types. A maximum of 1000 values are allowed. Otherwise, an INVALID_ARGUMENT error is return. "A String", ], "colorInfo": { # The color information of a Product. # The color of the product. Corresponding properties: Google Merchant Center property [color](https://support.google.com/merchants/answer/6324487). Schema.org property [Product.color](https://schema.org/color). @@ -369,6 +369,7 @@

Method Details

"restrictedValues": [ # Only get facet for the given restricted values. For example, when using "pickupInStore" as key and set restricted values to ["store123", "store456"], only facets for "store123" and "store456" are returned. Only supported on predefined textual fields, custom textual attributes and fulfillments. Maximum is 20. Must be set for the fulfillment facet keys: * pickupInStore * shipToStore * sameDayDelivery * nextDayDelivery * customFulfillment1 * customFulfillment2 * customFulfillment3 * customFulfillment4 * customFulfillment5 "A String", ], + "returnMinMax": True or False, # Returns the min and max value for each numerical facet intervals. Ignored for textual facets. }, "limit": 42, # Maximum of facet values that should be returned for this facet. If unspecified, defaults to 20. The maximum allowed value is 300. Values above 300 will be coerced to 300. If this field is negative, an INVALID_ARGUMENT is returned. }, @@ -435,6 +436,8 @@

Method Details

"maximum": 3.14, # Inclusive upper bound. "minimum": 3.14, # Inclusive lower bound. }, + "maxValue": 3.14, # The maximum value in the FacetValue.interval. Only supported on numerical facets and returned if SearchRequest.FacetSpec.FacetKey.return_min_max is true. + "minValue": 3.14, # The minimum value in the FacetValue.interval. Only supported on numerical facets and returned if SearchRequest.FacetSpec.FacetKey.return_min_max is true. "value": "A String", # Text value of a facet, such as "Black" for facet "colorFamilies". }, ], @@ -459,6 +462,9 @@

Method Details

"matchingVariantFields": { # If a variant Product matches the search query, this map indicates which Product fields are matched. The key is the Product.name, the value is a field mask of the matched Product fields. If matched attributes cannot be determined, this map will be empty. For example, a key "sku1" with field mask "products.color_info" indicates there is a match between "sku1" ColorInfo and the query. "a_key": "A String", }, + "personalLabels": [ # Specifies previous events related to this product for this user based on UserEvent with same SearchRequest.visitor_id or UserInfo.user_id. This is set only when SearchRequest.PersonalizationSpec.mode is SearchRequest.PersonalizationSpec.Mode.AUTO. Possible values: * `purchased`: Indicates that this product has been purchased before. + "A String", + ], "product": { # Product captures all metadata information of items to be recommended or searched. # The product data snippet in the search response. Only Product.name is guaranteed to be populated. Product.variants contains the product variants that match the search query. If there are multiple product variants matching the query, top 5 most relevant product variants are returned and ordered by relevancy. If relevancy can be deternmined, use matching_variant_fields to look up matched product variants fields. If relevancy cannot be determined, e.g. when searching "shoe" all products in a shoe product can be a match, 5 product variants are returned but order is meaningless. "attributes": { # Highly encouraged. Extra product attributes to be included. For example, for products, this could include the store name, vendor, style, color, etc. These are very strong signals for recommendation model, thus we highly recommend providing the attributes here. Features that can take on one of a limited number of possible values. Two types of features can be set are: Textual features. some examples would be the brand/maker of a product, or country of a customer. Numerical features. Some examples would be the height/weight of a product, or age of a customer. For example: `{ "vendor": {"text": ["vendor123", "vendor456"]}, "lengths_cm": {"numbers":[2.3, 15.4]}, "heights_cm": {"numbers":[8.1, 6.4]} }`. This field needs to pass all below criteria, otherwise an INVALID_ARGUMENT error is returned: * Max entries count: 200. * The key must be a UTF-8 encoded string with a length limit of 128 characters. * For indexable attribute, the key must match the pattern: `a-zA-Z0-9*`. For example, `key0LikeThis` or `KEY_1_LIKE_THIS`. * For text attributes, at most 400 values are allowed. Empty values are not allowed. Each value must be a non-empty UTF-8 encoded string with a length limit of 256 characters. * For number attributes, at most 400 values are allowed. "a_key": { # A custom attribute that is not explicitly modeled in Product. @@ -489,7 +495,7 @@

Method Details

"categories": [ # Product categories. This field is repeated for supporting one product belonging to several parallel categories. Strongly recommended using the full path for better search / recommendation quality. To represent full path of category, use '>' sign to separate different hierarchies. If '>' is part of the category name, please replace it with other character(s). For example, if a shoes product belongs to both ["Shoes & Accessories" -> "Shoes"] and ["Sports & Fitness" -> "Athletic Clothing" -> "Shoes"], it could be represented as: "categories": [ "Shoes & Accessories > Shoes", "Sports & Fitness > Athletic Clothing > Shoes" ] Must be set for Type.PRIMARY Product otherwise an INVALID_ARGUMENT error is returned. At most 250 values are allowed per Product. Empty values are not allowed. Each value must be a UTF-8 encoded string with a length limit of 5,000 characters. Otherwise, an INVALID_ARGUMENT error is returned. Corresponding properties: Google Merchant Center property google_product_category. Schema.org property [Product.category] (https://schema.org/category). [mc_google_product_category]: https://support.google.com/merchants/answer/6324436 "A String", ], - "collectionMemberIds": [ # The id of the collection members when type is Type.COLLECTION. Non-existent product ids are allowed. The type of the members must be either Type.PRIMARY or Type.VARIANT otherwise and INVALID_ARGUMENT error is thrown. Should not set it for other types. A maximum of 1000 values are allowed. Otherwise, an INVALID_ARGUMENT error is return. + "collectionMemberIds": [ # The id of the collection members when type is Type.COLLECTION. Non-existent product ids are allowed. The type of the members must be either Type.PRIMARY or Type.VARIANT otherwise an INVALID_ARGUMENT error is thrown. Should not set it for other types. A maximum of 1000 values are allowed. Otherwise, an INVALID_ARGUMENT error is return. "A String", ], "colorInfo": { # The color information of a Product. # The color of the product. Corresponding properties: Google Merchant Center property [color](https://support.google.com/merchants/answer/6324487). Schema.org property [Product.color](https://schema.org/color). diff --git a/docs/dyn/retail_v2.projects.locations.catalogs.servingConfigs.html b/docs/dyn/retail_v2.projects.locations.catalogs.servingConfigs.html index c90253b332e..74374b67935 100644 --- a/docs/dyn/retail_v2.projects.locations.catalogs.servingConfigs.html +++ b/docs/dyn/retail_v2.projects.locations.catalogs.servingConfigs.html @@ -175,7 +175,7 @@

Method Details

"categories": [ # Product categories. This field is repeated for supporting one product belonging to several parallel categories. Strongly recommended using the full path for better search / recommendation quality. To represent full path of category, use '>' sign to separate different hierarchies. If '>' is part of the category name, please replace it with other character(s). For example, if a shoes product belongs to both ["Shoes & Accessories" -> "Shoes"] and ["Sports & Fitness" -> "Athletic Clothing" -> "Shoes"], it could be represented as: "categories": [ "Shoes & Accessories > Shoes", "Sports & Fitness > Athletic Clothing > Shoes" ] Must be set for Type.PRIMARY Product otherwise an INVALID_ARGUMENT error is returned. At most 250 values are allowed per Product. Empty values are not allowed. Each value must be a UTF-8 encoded string with a length limit of 5,000 characters. Otherwise, an INVALID_ARGUMENT error is returned. Corresponding properties: Google Merchant Center property google_product_category. Schema.org property [Product.category] (https://schema.org/category). [mc_google_product_category]: https://support.google.com/merchants/answer/6324436 "A String", ], - "collectionMemberIds": [ # The id of the collection members when type is Type.COLLECTION. Non-existent product ids are allowed. The type of the members must be either Type.PRIMARY or Type.VARIANT otherwise and INVALID_ARGUMENT error is thrown. Should not set it for other types. A maximum of 1000 values are allowed. Otherwise, an INVALID_ARGUMENT error is return. + "collectionMemberIds": [ # The id of the collection members when type is Type.COLLECTION. Non-existent product ids are allowed. The type of the members must be either Type.PRIMARY or Type.VARIANT otherwise an INVALID_ARGUMENT error is thrown. Should not set it for other types. A maximum of 1000 values are allowed. Otherwise, an INVALID_ARGUMENT error is return. "A String", ], "colorInfo": { # The color information of a Product. # The color of the product. Corresponding properties: Google Merchant Center property [color](https://support.google.com/merchants/answer/6324487). Schema.org property [Product.color](https://schema.org/color). @@ -369,6 +369,7 @@

Method Details

"restrictedValues": [ # Only get facet for the given restricted values. For example, when using "pickupInStore" as key and set restricted values to ["store123", "store456"], only facets for "store123" and "store456" are returned. Only supported on predefined textual fields, custom textual attributes and fulfillments. Maximum is 20. Must be set for the fulfillment facet keys: * pickupInStore * shipToStore * sameDayDelivery * nextDayDelivery * customFulfillment1 * customFulfillment2 * customFulfillment3 * customFulfillment4 * customFulfillment5 "A String", ], + "returnMinMax": True or False, # Returns the min and max value for each numerical facet intervals. Ignored for textual facets. }, "limit": 42, # Maximum of facet values that should be returned for this facet. If unspecified, defaults to 20. The maximum allowed value is 300. Values above 300 will be coerced to 300. If this field is negative, an INVALID_ARGUMENT is returned. }, @@ -435,6 +436,8 @@

Method Details

"maximum": 3.14, # Inclusive upper bound. "minimum": 3.14, # Inclusive lower bound. }, + "maxValue": 3.14, # The maximum value in the FacetValue.interval. Only supported on numerical facets and returned if SearchRequest.FacetSpec.FacetKey.return_min_max is true. + "minValue": 3.14, # The minimum value in the FacetValue.interval. Only supported on numerical facets and returned if SearchRequest.FacetSpec.FacetKey.return_min_max is true. "value": "A String", # Text value of a facet, such as "Black" for facet "colorFamilies". }, ], @@ -459,6 +462,9 @@

Method Details

"matchingVariantFields": { # If a variant Product matches the search query, this map indicates which Product fields are matched. The key is the Product.name, the value is a field mask of the matched Product fields. If matched attributes cannot be determined, this map will be empty. For example, a key "sku1" with field mask "products.color_info" indicates there is a match between "sku1" ColorInfo and the query. "a_key": "A String", }, + "personalLabels": [ # Specifies previous events related to this product for this user based on UserEvent with same SearchRequest.visitor_id or UserInfo.user_id. This is set only when SearchRequest.PersonalizationSpec.mode is SearchRequest.PersonalizationSpec.Mode.AUTO. Possible values: * `purchased`: Indicates that this product has been purchased before. + "A String", + ], "product": { # Product captures all metadata information of items to be recommended or searched. # The product data snippet in the search response. Only Product.name is guaranteed to be populated. Product.variants contains the product variants that match the search query. If there are multiple product variants matching the query, top 5 most relevant product variants are returned and ordered by relevancy. If relevancy can be deternmined, use matching_variant_fields to look up matched product variants fields. If relevancy cannot be determined, e.g. when searching "shoe" all products in a shoe product can be a match, 5 product variants are returned but order is meaningless. "attributes": { # Highly encouraged. Extra product attributes to be included. For example, for products, this could include the store name, vendor, style, color, etc. These are very strong signals for recommendation model, thus we highly recommend providing the attributes here. Features that can take on one of a limited number of possible values. Two types of features can be set are: Textual features. some examples would be the brand/maker of a product, or country of a customer. Numerical features. Some examples would be the height/weight of a product, or age of a customer. For example: `{ "vendor": {"text": ["vendor123", "vendor456"]}, "lengths_cm": {"numbers":[2.3, 15.4]}, "heights_cm": {"numbers":[8.1, 6.4]} }`. This field needs to pass all below criteria, otherwise an INVALID_ARGUMENT error is returned: * Max entries count: 200. * The key must be a UTF-8 encoded string with a length limit of 128 characters. * For indexable attribute, the key must match the pattern: `a-zA-Z0-9*`. For example, `key0LikeThis` or `KEY_1_LIKE_THIS`. * For text attributes, at most 400 values are allowed. Empty values are not allowed. Each value must be a non-empty UTF-8 encoded string with a length limit of 256 characters. * For number attributes, at most 400 values are allowed. "a_key": { # A custom attribute that is not explicitly modeled in Product. @@ -489,7 +495,7 @@

Method Details

"categories": [ # Product categories. This field is repeated for supporting one product belonging to several parallel categories. Strongly recommended using the full path for better search / recommendation quality. To represent full path of category, use '>' sign to separate different hierarchies. If '>' is part of the category name, please replace it with other character(s). For example, if a shoes product belongs to both ["Shoes & Accessories" -> "Shoes"] and ["Sports & Fitness" -> "Athletic Clothing" -> "Shoes"], it could be represented as: "categories": [ "Shoes & Accessories > Shoes", "Sports & Fitness > Athletic Clothing > Shoes" ] Must be set for Type.PRIMARY Product otherwise an INVALID_ARGUMENT error is returned. At most 250 values are allowed per Product. Empty values are not allowed. Each value must be a UTF-8 encoded string with a length limit of 5,000 characters. Otherwise, an INVALID_ARGUMENT error is returned. Corresponding properties: Google Merchant Center property google_product_category. Schema.org property [Product.category] (https://schema.org/category). [mc_google_product_category]: https://support.google.com/merchants/answer/6324436 "A String", ], - "collectionMemberIds": [ # The id of the collection members when type is Type.COLLECTION. Non-existent product ids are allowed. The type of the members must be either Type.PRIMARY or Type.VARIANT otherwise and INVALID_ARGUMENT error is thrown. Should not set it for other types. A maximum of 1000 values are allowed. Otherwise, an INVALID_ARGUMENT error is return. + "collectionMemberIds": [ # The id of the collection members when type is Type.COLLECTION. Non-existent product ids are allowed. The type of the members must be either Type.PRIMARY or Type.VARIANT otherwise an INVALID_ARGUMENT error is thrown. Should not set it for other types. A maximum of 1000 values are allowed. Otherwise, an INVALID_ARGUMENT error is return. "A String", ], "colorInfo": { # The color information of a Product. # The color of the product. Corresponding properties: Google Merchant Center property [color](https://support.google.com/merchants/answer/6324487). Schema.org property [Product.color](https://schema.org/color). diff --git a/docs/dyn/retail_v2.projects.locations.catalogs.userEvents.html b/docs/dyn/retail_v2.projects.locations.catalogs.userEvents.html index 39b310fa863..f823eb5e7b1 100644 --- a/docs/dyn/retail_v2.projects.locations.catalogs.userEvents.html +++ b/docs/dyn/retail_v2.projects.locations.catalogs.userEvents.html @@ -141,10 +141,10 @@

Method Details

}, "inputConfig": { # The input config source for user events. # Required. The desired input location of the data. "bigQuerySource": { # BigQuery source import data from. # Required. BigQuery input source. - "dataSchema": "A String", # The schema to use when parsing the data from the source. Supported values for product imports: * `product` (default): One JSON Product per line. Each product must have a valid Product.id. * `product_merchant_center`: See [Importing catalog data from Merchant Center](https://cloud.google.com/retail/recommendations-ai/docs/upload-catalog#mc). Supported values for user events imports: * `user_event` (default): One JSON UserEvent per line. * `user_event_ga360`: The schema is available here: https://support.google.com/analytics/answer/3437719. * `user_event_ga4`: This feature is in private preview. Please contact the support team for importing Google Analytics 4 events. The schema is available here: https://support.google.com/analytics/answer/7029846. Supported values for auto-completion imports: * `suggestions` (default): One JSON completion suggestion per line. * `denylist`: One JSON deny suggestion per line. * `allowlist`: One JSON allow suggestion per line. + "dataSchema": "A String", # The schema to use when parsing the data from the source. Supported values for product imports: * `product` (default): One JSON Product per line. Each product must have a valid Product.id. * `product_merchant_center`: See [Importing catalog data from Merchant Center](https://cloud.google.com/retail/recommendations-ai/docs/upload-catalog#mc). Supported values for user events imports: * `user_event` (default): One JSON UserEvent per line. * `user_event_ga360`: The schema is available here: https://support.google.com/analytics/answer/3437719. * `user_event_ga4`: The schema is available here: https://support.google.com/analytics/answer/7029846. Supported values for auto-completion imports: * `suggestions` (default): One JSON completion suggestion per line. * `denylist`: One JSON deny suggestion per line. * `allowlist`: One JSON allow suggestion per line. "datasetId": "A String", # Required. The BigQuery data set to copy the data from with a length limit of 1,024 characters. "gcsStagingDir": "A String", # Intermediate Cloud Storage directory used for the import with a length limit of 2,000 characters. Can be specified if one wants to have the BigQuery export to a specific Cloud Storage directory. - "partitionDate": { # Represents a whole or partial calendar date, such as a birthday. The time of day and time zone are either specified elsewhere or are insignificant. The date is relative to the Gregorian Calendar. This can represent one of the following: * A full date, with non-zero year, month, and day values. * A month and day, with a zero year (for example, an anniversary). * A year on its own, with a zero month and a zero day. * A year and month, with a zero day (for example, a credit card expiration date). Related types: * google.type.TimeOfDay * google.type.DateTime * google.protobuf.Timestamp # BigQuery time partitioned table's _PARTITIONDATE in YYYY-MM-DD format. Only supported when ImportProductsRequest.reconciliation_mode is set to `FULL`. + "partitionDate": { # Represents a whole or partial calendar date, such as a birthday. The time of day and time zone are either specified elsewhere or are insignificant. The date is relative to the Gregorian Calendar. This can represent one of the following: * A full date, with non-zero year, month, and day values. * A month and day, with a zero year (for example, an anniversary). * A year on its own, with a zero month and a zero day. * A year and month, with a zero day (for example, a credit card expiration date). Related types: * google.type.TimeOfDay * google.type.DateTime * google.protobuf.Timestamp # BigQuery time partitioned table's _PARTITIONDATE in YYYY-MM-DD format. Only supported in ImportProductsRequest. "day": 42, # Day of a month. Must be from 1 to 31 and valid for the year and month, or 0 to specify a year by itself or a year and month where the day isn't significant. "month": 42, # Month of a year. Must be from 1 to 12, or 0 to specify a year without a month and day. "year": 42, # Year of the date. Must be from 1 to 9999, or 0 to specify a date without a year. @@ -224,7 +224,7 @@

Method Details

"categories": [ # Product categories. This field is repeated for supporting one product belonging to several parallel categories. Strongly recommended using the full path for better search / recommendation quality. To represent full path of category, use '>' sign to separate different hierarchies. If '>' is part of the category name, please replace it with other character(s). For example, if a shoes product belongs to both ["Shoes & Accessories" -> "Shoes"] and ["Sports & Fitness" -> "Athletic Clothing" -> "Shoes"], it could be represented as: "categories": [ "Shoes & Accessories > Shoes", "Sports & Fitness > Athletic Clothing > Shoes" ] Must be set for Type.PRIMARY Product otherwise an INVALID_ARGUMENT error is returned. At most 250 values are allowed per Product. Empty values are not allowed. Each value must be a UTF-8 encoded string with a length limit of 5,000 characters. Otherwise, an INVALID_ARGUMENT error is returned. Corresponding properties: Google Merchant Center property google_product_category. Schema.org property [Product.category] (https://schema.org/category). [mc_google_product_category]: https://support.google.com/merchants/answer/6324436 "A String", ], - "collectionMemberIds": [ # The id of the collection members when type is Type.COLLECTION. Non-existent product ids are allowed. The type of the members must be either Type.PRIMARY or Type.VARIANT otherwise and INVALID_ARGUMENT error is thrown. Should not set it for other types. A maximum of 1000 values are allowed. Otherwise, an INVALID_ARGUMENT error is return. + "collectionMemberIds": [ # The id of the collection members when type is Type.COLLECTION. Non-existent product ids are allowed. The type of the members must be either Type.PRIMARY or Type.VARIANT otherwise an INVALID_ARGUMENT error is thrown. Should not set it for other types. A maximum of 1000 values are allowed. Otherwise, an INVALID_ARGUMENT error is return. "A String", ], "colorInfo": { # The color information of a Product. # The color of the product. Corresponding properties: Google Merchant Center property [color](https://support.google.com/merchants/answer/6324487). Schema.org property [Product.color](https://schema.org/color). @@ -530,7 +530,7 @@

Method Details

"categories": [ # Product categories. This field is repeated for supporting one product belonging to several parallel categories. Strongly recommended using the full path for better search / recommendation quality. To represent full path of category, use '>' sign to separate different hierarchies. If '>' is part of the category name, please replace it with other character(s). For example, if a shoes product belongs to both ["Shoes & Accessories" -> "Shoes"] and ["Sports & Fitness" -> "Athletic Clothing" -> "Shoes"], it could be represented as: "categories": [ "Shoes & Accessories > Shoes", "Sports & Fitness > Athletic Clothing > Shoes" ] Must be set for Type.PRIMARY Product otherwise an INVALID_ARGUMENT error is returned. At most 250 values are allowed per Product. Empty values are not allowed. Each value must be a UTF-8 encoded string with a length limit of 5,000 characters. Otherwise, an INVALID_ARGUMENT error is returned. Corresponding properties: Google Merchant Center property google_product_category. Schema.org property [Product.category] (https://schema.org/category). [mc_google_product_category]: https://support.google.com/merchants/answer/6324436 "A String", ], - "collectionMemberIds": [ # The id of the collection members when type is Type.COLLECTION. Non-existent product ids are allowed. The type of the members must be either Type.PRIMARY or Type.VARIANT otherwise and INVALID_ARGUMENT error is thrown. Should not set it for other types. A maximum of 1000 values are allowed. Otherwise, an INVALID_ARGUMENT error is return. + "collectionMemberIds": [ # The id of the collection members when type is Type.COLLECTION. Non-existent product ids are allowed. The type of the members must be either Type.PRIMARY or Type.VARIANT otherwise an INVALID_ARGUMENT error is thrown. Should not set it for other types. A maximum of 1000 values are allowed. Otherwise, an INVALID_ARGUMENT error is return. "A String", ], "colorInfo": { # The color information of a Product. # The color of the product. Corresponding properties: Google Merchant Center property [color](https://support.google.com/merchants/answer/6324487). Schema.org property [Product.color](https://schema.org/color). @@ -717,7 +717,7 @@

Method Details

"categories": [ # Product categories. This field is repeated for supporting one product belonging to several parallel categories. Strongly recommended using the full path for better search / recommendation quality. To represent full path of category, use '>' sign to separate different hierarchies. If '>' is part of the category name, please replace it with other character(s). For example, if a shoes product belongs to both ["Shoes & Accessories" -> "Shoes"] and ["Sports & Fitness" -> "Athletic Clothing" -> "Shoes"], it could be represented as: "categories": [ "Shoes & Accessories > Shoes", "Sports & Fitness > Athletic Clothing > Shoes" ] Must be set for Type.PRIMARY Product otherwise an INVALID_ARGUMENT error is returned. At most 250 values are allowed per Product. Empty values are not allowed. Each value must be a UTF-8 encoded string with a length limit of 5,000 characters. Otherwise, an INVALID_ARGUMENT error is returned. Corresponding properties: Google Merchant Center property google_product_category. Schema.org property [Product.category] (https://schema.org/category). [mc_google_product_category]: https://support.google.com/merchants/answer/6324436 "A String", ], - "collectionMemberIds": [ # The id of the collection members when type is Type.COLLECTION. Non-existent product ids are allowed. The type of the members must be either Type.PRIMARY or Type.VARIANT otherwise and INVALID_ARGUMENT error is thrown. Should not set it for other types. A maximum of 1000 values are allowed. Otherwise, an INVALID_ARGUMENT error is return. + "collectionMemberIds": [ # The id of the collection members when type is Type.COLLECTION. Non-existent product ids are allowed. The type of the members must be either Type.PRIMARY or Type.VARIANT otherwise an INVALID_ARGUMENT error is thrown. Should not set it for other types. A maximum of 1000 values are allowed. Otherwise, an INVALID_ARGUMENT error is return. "A String", ], "colorInfo": { # The color information of a Product. # The color of the product. Corresponding properties: Google Merchant Center property [color](https://support.google.com/merchants/answer/6324487). Schema.org property [Product.color](https://schema.org/color). diff --git a/docs/dyn/retail_v2alpha.projects.locations.catalogs.attributesConfig.html b/docs/dyn/retail_v2alpha.projects.locations.catalogs.attributesConfig.html index d25d793ace2..23e41d05286 100644 --- a/docs/dyn/retail_v2alpha.projects.locations.catalogs.attributesConfig.html +++ b/docs/dyn/retail_v2alpha.projects.locations.catalogs.attributesConfig.html @@ -77,6 +77,9 @@

Instance Methods

addCatalogAttribute(attributesConfig, body=None, x__xgafv=None)

Adds the specified CatalogAttribute to the AttributesConfig. If the CatalogAttribute to add already exists, an ALREADY_EXISTS error is returned.

+

+ batchRemoveCatalogAttributes(attributesConfig, body=None, x__xgafv=None)

+

Removes all specified CatalogAttributes from the AttributesConfig.

close()

Close httplib2 connections.

@@ -99,6 +102,7 @@

Method Details

{ # Request for CatalogService.AddCatalogAttribute method. "catalogAttribute": { # Catalog level attribute config for an attribute. For example, if customers want to enable/disable facet for a specific attribute. # Required. The CatalogAttribute to add. "dynamicFacetableOption": "A String", # If DYNAMIC_FACETABLE_ENABLED, attribute values are available for dynamic facet. Could only be DYNAMIC_FACETABLE_DISABLED if CatalogAttribute.indexable_option is INDEXABLE_DISABLED. Otherwise, an INVALID_ARGUMENT error is returned. + "exactSearchableOption": "A String", # If EXACT_SEARCHABLE_ENABLED, attribute values will be exact searchable. This property only applies to textual custom attributes and requires indexable set to enabled to enable exact-searchable. "inUse": True or False, # Output only. Indicates whether this attribute has been used by any products. `True` if at least one Product is using this attribute in Product.attributes. Otherwise, this field is `False`. CatalogAttribute can be pre-loaded by using CatalogService.AddCatalogAttribute, CatalogService.ImportCatalogAttributes, or CatalogService.UpdateAttributesConfig APIs. This field is `False` for pre-loaded CatalogAttributes. Only pre-loaded CatalogAttributes that are neither in use by products nor predefined can be deleted. CatalogAttributes that are either in use by products or are predefined cannot be deleted; however, their configuration properties will reset to default values upon removal request. After catalog changes, it takes about 10 minutes for this field to update. "indexableOption": "A String", # When AttributesConfig.attribute_config_level is CATALOG_LEVEL_ATTRIBUTE_CONFIG, if INDEXABLE_ENABLED attribute values are indexed so that it can be filtered, faceted, or boosted in SearchService.Search. "key": "A String", # Required. Attribute name. For example: `color`, `brands`, `attributes.custom_attribute`, such as `attributes.xyz`. To be indexable, the attribute name can contain only alpha-numeric characters and underscores. For example, an attribute named `attributes.abc_xyz` can be indexed, but an attribute named `attributes.abc-xyz` cannot be indexed. @@ -121,6 +125,7 @@

Method Details

"catalogAttributes": { # Enable attribute(s) config at catalog level. For example, indexable, dynamic_facetable, or searchable for each attribute. The key is catalog attribute's name. For example: `color`, `brands`, `attributes.custom_attribute`, such as `attributes.xyz`. The maximum number of catalog attributes allowed in a request is 1000. "a_key": { # Catalog level attribute config for an attribute. For example, if customers want to enable/disable facet for a specific attribute. "dynamicFacetableOption": "A String", # If DYNAMIC_FACETABLE_ENABLED, attribute values are available for dynamic facet. Could only be DYNAMIC_FACETABLE_DISABLED if CatalogAttribute.indexable_option is INDEXABLE_DISABLED. Otherwise, an INVALID_ARGUMENT error is returned. + "exactSearchableOption": "A String", # If EXACT_SEARCHABLE_ENABLED, attribute values will be exact searchable. This property only applies to textual custom attributes and requires indexable set to enabled to enable exact-searchable. "inUse": True or False, # Output only. Indicates whether this attribute has been used by any products. `True` if at least one Product is using this attribute in Product.attributes. Otherwise, this field is `False`. CatalogAttribute can be pre-loaded by using CatalogService.AddCatalogAttribute, CatalogService.ImportCatalogAttributes, or CatalogService.UpdateAttributesConfig APIs. This field is `False` for pre-loaded CatalogAttributes. Only pre-loaded CatalogAttributes that are neither in use by products nor predefined can be deleted. CatalogAttributes that are either in use by products or are predefined cannot be deleted; however, their configuration properties will reset to default values upon removal request. After catalog changes, it takes about 10 minutes for this field to update. "indexableOption": "A String", # When AttributesConfig.attribute_config_level is CATALOG_LEVEL_ATTRIBUTE_CONFIG, if INDEXABLE_ENABLED attribute values are indexed so that it can be filtered, faceted, or boosted in SearchService.Search. "key": "A String", # Required. Attribute name. For example: `color`, `brands`, `attributes.custom_attribute`, such as `attributes.xyz`. To be indexable, the attribute name can contain only alpha-numeric characters and underscores. For example, an attribute named `attributes.abc_xyz` can be indexed, but an attribute named `attributes.abc-xyz` cannot be indexed. @@ -133,6 +138,39 @@

Method Details

}
+
+ batchRemoveCatalogAttributes(attributesConfig, body=None, x__xgafv=None) +
Removes all specified CatalogAttributes from the AttributesConfig.
+
+Args:
+  attributesConfig: string, Required. The attributes config resource shared by all catalog attributes being deleted. Format: `projects/{project_number}/locations/{location_id}/catalogs/{catalog_id}/attributesConfig` (required)
+  body: object, The request body.
+    The object takes the form of:
+
+{ # Request for CatalogService.BatchRemoveCatalogAttributes method.
+  "attributeKeys": [ # Required. The attribute name keys of the CatalogAttributes to delete. A maximum of 1000 catalog attributes can be deleted in a batch.
+    "A String",
+  ],
+}
+
+  x__xgafv: string, V1 error format.
+    Allowed values
+      1 - v1 error format
+      2 - v2 error format
+
+Returns:
+  An object of the form:
+
+    { # Response of the CatalogService.BatchRemoveCatalogAttributes.
+  "deletedCatalogAttributes": [ # Catalog attributes that were deleted. Only attributes that are not in use by products can be deleted.
+    "A String",
+  ],
+  "resetCatalogAttributes": [ # Catalog attributes that were reset. Attributes that are in use by products cannot be deleted, however their configuration properties will reset to default values upon removal request.
+    "A String",
+  ],
+}
+
+
close()
Close httplib2 connections.
@@ -164,6 +202,7 @@

Method Details

"catalogAttributes": { # Enable attribute(s) config at catalog level. For example, indexable, dynamic_facetable, or searchable for each attribute. The key is catalog attribute's name. For example: `color`, `brands`, `attributes.custom_attribute`, such as `attributes.xyz`. The maximum number of catalog attributes allowed in a request is 1000. "a_key": { # Catalog level attribute config for an attribute. For example, if customers want to enable/disable facet for a specific attribute. "dynamicFacetableOption": "A String", # If DYNAMIC_FACETABLE_ENABLED, attribute values are available for dynamic facet. Could only be DYNAMIC_FACETABLE_DISABLED if CatalogAttribute.indexable_option is INDEXABLE_DISABLED. Otherwise, an INVALID_ARGUMENT error is returned. + "exactSearchableOption": "A String", # If EXACT_SEARCHABLE_ENABLED, attribute values will be exact searchable. This property only applies to textual custom attributes and requires indexable set to enabled to enable exact-searchable. "inUse": True or False, # Output only. Indicates whether this attribute has been used by any products. `True` if at least one Product is using this attribute in Product.attributes. Otherwise, this field is `False`. CatalogAttribute can be pre-loaded by using CatalogService.AddCatalogAttribute, CatalogService.ImportCatalogAttributes, or CatalogService.UpdateAttributesConfig APIs. This field is `False` for pre-loaded CatalogAttributes. Only pre-loaded CatalogAttributes that are neither in use by products nor predefined can be deleted. CatalogAttributes that are either in use by products or are predefined cannot be deleted; however, their configuration properties will reset to default values upon removal request. After catalog changes, it takes about 10 minutes for this field to update. "indexableOption": "A String", # When AttributesConfig.attribute_config_level is CATALOG_LEVEL_ATTRIBUTE_CONFIG, if INDEXABLE_ENABLED attribute values are indexed so that it can be filtered, faceted, or boosted in SearchService.Search. "key": "A String", # Required. Attribute name. For example: `color`, `brands`, `attributes.custom_attribute`, such as `attributes.xyz`. To be indexable, the attribute name can contain only alpha-numeric characters and underscores. For example, an attribute named `attributes.abc_xyz` can be indexed, but an attribute named `attributes.abc-xyz` cannot be indexed. @@ -188,6 +227,7 @@

Method Details

{ # Request for CatalogService.ReplaceCatalogAttribute method. "catalogAttribute": { # Catalog level attribute config for an attribute. For example, if customers want to enable/disable facet for a specific attribute. # Required. The updated CatalogAttribute. "dynamicFacetableOption": "A String", # If DYNAMIC_FACETABLE_ENABLED, attribute values are available for dynamic facet. Could only be DYNAMIC_FACETABLE_DISABLED if CatalogAttribute.indexable_option is INDEXABLE_DISABLED. Otherwise, an INVALID_ARGUMENT error is returned. + "exactSearchableOption": "A String", # If EXACT_SEARCHABLE_ENABLED, attribute values will be exact searchable. This property only applies to textual custom attributes and requires indexable set to enabled to enable exact-searchable. "inUse": True or False, # Output only. Indicates whether this attribute has been used by any products. `True` if at least one Product is using this attribute in Product.attributes. Otherwise, this field is `False`. CatalogAttribute can be pre-loaded by using CatalogService.AddCatalogAttribute, CatalogService.ImportCatalogAttributes, or CatalogService.UpdateAttributesConfig APIs. This field is `False` for pre-loaded CatalogAttributes. Only pre-loaded CatalogAttributes that are neither in use by products nor predefined can be deleted. CatalogAttributes that are either in use by products or are predefined cannot be deleted; however, their configuration properties will reset to default values upon removal request. After catalog changes, it takes about 10 minutes for this field to update. "indexableOption": "A String", # When AttributesConfig.attribute_config_level is CATALOG_LEVEL_ATTRIBUTE_CONFIG, if INDEXABLE_ENABLED attribute values are indexed so that it can be filtered, faceted, or boosted in SearchService.Search. "key": "A String", # Required. Attribute name. For example: `color`, `brands`, `attributes.custom_attribute`, such as `attributes.xyz`. To be indexable, the attribute name can contain only alpha-numeric characters and underscores. For example, an attribute named `attributes.abc_xyz` can be indexed, but an attribute named `attributes.abc-xyz` cannot be indexed. @@ -211,6 +251,7 @@

Method Details

"catalogAttributes": { # Enable attribute(s) config at catalog level. For example, indexable, dynamic_facetable, or searchable for each attribute. The key is catalog attribute's name. For example: `color`, `brands`, `attributes.custom_attribute`, such as `attributes.xyz`. The maximum number of catalog attributes allowed in a request is 1000. "a_key": { # Catalog level attribute config for an attribute. For example, if customers want to enable/disable facet for a specific attribute. "dynamicFacetableOption": "A String", # If DYNAMIC_FACETABLE_ENABLED, attribute values are available for dynamic facet. Could only be DYNAMIC_FACETABLE_DISABLED if CatalogAttribute.indexable_option is INDEXABLE_DISABLED. Otherwise, an INVALID_ARGUMENT error is returned. + "exactSearchableOption": "A String", # If EXACT_SEARCHABLE_ENABLED, attribute values will be exact searchable. This property only applies to textual custom attributes and requires indexable set to enabled to enable exact-searchable. "inUse": True or False, # Output only. Indicates whether this attribute has been used by any products. `True` if at least one Product is using this attribute in Product.attributes. Otherwise, this field is `False`. CatalogAttribute can be pre-loaded by using CatalogService.AddCatalogAttribute, CatalogService.ImportCatalogAttributes, or CatalogService.UpdateAttributesConfig APIs. This field is `False` for pre-loaded CatalogAttributes. Only pre-loaded CatalogAttributes that are neither in use by products nor predefined can be deleted. CatalogAttributes that are either in use by products or are predefined cannot be deleted; however, their configuration properties will reset to default values upon removal request. After catalog changes, it takes about 10 minutes for this field to update. "indexableOption": "A String", # When AttributesConfig.attribute_config_level is CATALOG_LEVEL_ATTRIBUTE_CONFIG, if INDEXABLE_ENABLED attribute values are indexed so that it can be filtered, faceted, or boosted in SearchService.Search. "key": "A String", # Required. Attribute name. For example: `color`, `brands`, `attributes.custom_attribute`, such as `attributes.xyz`. To be indexable, the attribute name can contain only alpha-numeric characters and underscores. For example, an attribute named `attributes.abc_xyz` can be indexed, but an attribute named `attributes.abc-xyz` cannot be indexed. diff --git a/docs/dyn/retail_v2alpha.projects.locations.catalogs.branches.products.html b/docs/dyn/retail_v2alpha.projects.locations.catalogs.branches.products.html index 659b6c22991..11159f1ccb3 100644 --- a/docs/dyn/retail_v2alpha.projects.locations.catalogs.branches.products.html +++ b/docs/dyn/retail_v2alpha.projects.locations.catalogs.branches.products.html @@ -294,7 +294,7 @@

Method Details

"categories": [ # Product categories. This field is repeated for supporting one product belonging to several parallel categories. Strongly recommended using the full path for better search / recommendation quality. To represent full path of category, use '>' sign to separate different hierarchies. If '>' is part of the category name, please replace it with other character(s). For example, if a shoes product belongs to both ["Shoes & Accessories" -> "Shoes"] and ["Sports & Fitness" -> "Athletic Clothing" -> "Shoes"], it could be represented as: "categories": [ "Shoes & Accessories > Shoes", "Sports & Fitness > Athletic Clothing > Shoes" ] Must be set for Type.PRIMARY Product otherwise an INVALID_ARGUMENT error is returned. At most 250 values are allowed per Product. Empty values are not allowed. Each value must be a UTF-8 encoded string with a length limit of 5,000 characters. Otherwise, an INVALID_ARGUMENT error is returned. Corresponding properties: Google Merchant Center property google_product_category. Schema.org property [Product.category] (https://schema.org/category). [mc_google_product_category]: https://support.google.com/merchants/answer/6324436 "A String", ], - "collectionMemberIds": [ # The id of the collection members when type is Type.COLLECTION. Non-existent product ids are allowed. The type of the members must be either Type.PRIMARY or Type.VARIANT otherwise and INVALID_ARGUMENT error is thrown. Should not set it for other types. A maximum of 1000 values are allowed. Otherwise, an INVALID_ARGUMENT error is return. + "collectionMemberIds": [ # The id of the collection members when type is Type.COLLECTION. Non-existent product ids are allowed. The type of the members must be either Type.PRIMARY or Type.VARIANT otherwise an INVALID_ARGUMENT error is thrown. Should not set it for other types. A maximum of 1000 values are allowed. Otherwise, an INVALID_ARGUMENT error is return. "A String", ], "colorInfo": { # The color information of a Product. # The color of the product. Corresponding properties: Google Merchant Center property [color](https://support.google.com/merchants/answer/6324487). Schema.org property [Product.color](https://schema.org/color). @@ -426,7 +426,7 @@

Method Details

"categories": [ # Product categories. This field is repeated for supporting one product belonging to several parallel categories. Strongly recommended using the full path for better search / recommendation quality. To represent full path of category, use '>' sign to separate different hierarchies. If '>' is part of the category name, please replace it with other character(s). For example, if a shoes product belongs to both ["Shoes & Accessories" -> "Shoes"] and ["Sports & Fitness" -> "Athletic Clothing" -> "Shoes"], it could be represented as: "categories": [ "Shoes & Accessories > Shoes", "Sports & Fitness > Athletic Clothing > Shoes" ] Must be set for Type.PRIMARY Product otherwise an INVALID_ARGUMENT error is returned. At most 250 values are allowed per Product. Empty values are not allowed. Each value must be a UTF-8 encoded string with a length limit of 5,000 characters. Otherwise, an INVALID_ARGUMENT error is returned. Corresponding properties: Google Merchant Center property google_product_category. Schema.org property [Product.category] (https://schema.org/category). [mc_google_product_category]: https://support.google.com/merchants/answer/6324436 "A String", ], - "collectionMemberIds": [ # The id of the collection members when type is Type.COLLECTION. Non-existent product ids are allowed. The type of the members must be either Type.PRIMARY or Type.VARIANT otherwise and INVALID_ARGUMENT error is thrown. Should not set it for other types. A maximum of 1000 values are allowed. Otherwise, an INVALID_ARGUMENT error is return. + "collectionMemberIds": [ # The id of the collection members when type is Type.COLLECTION. Non-existent product ids are allowed. The type of the members must be either Type.PRIMARY or Type.VARIANT otherwise an INVALID_ARGUMENT error is thrown. Should not set it for other types. A maximum of 1000 values are allowed. Otherwise, an INVALID_ARGUMENT error is return. "A String", ], "colorInfo": { # The color information of a Product. # The color of the product. Corresponding properties: Google Merchant Center property [color](https://support.google.com/merchants/answer/6324487). Schema.org property [Product.color](https://schema.org/color). @@ -582,7 +582,7 @@

Method Details

"categories": [ # Product categories. This field is repeated for supporting one product belonging to several parallel categories. Strongly recommended using the full path for better search / recommendation quality. To represent full path of category, use '>' sign to separate different hierarchies. If '>' is part of the category name, please replace it with other character(s). For example, if a shoes product belongs to both ["Shoes & Accessories" -> "Shoes"] and ["Sports & Fitness" -> "Athletic Clothing" -> "Shoes"], it could be represented as: "categories": [ "Shoes & Accessories > Shoes", "Sports & Fitness > Athletic Clothing > Shoes" ] Must be set for Type.PRIMARY Product otherwise an INVALID_ARGUMENT error is returned. At most 250 values are allowed per Product. Empty values are not allowed. Each value must be a UTF-8 encoded string with a length limit of 5,000 characters. Otherwise, an INVALID_ARGUMENT error is returned. Corresponding properties: Google Merchant Center property google_product_category. Schema.org property [Product.category] (https://schema.org/category). [mc_google_product_category]: https://support.google.com/merchants/answer/6324436 "A String", ], - "collectionMemberIds": [ # The id of the collection members when type is Type.COLLECTION. Non-existent product ids are allowed. The type of the members must be either Type.PRIMARY or Type.VARIANT otherwise and INVALID_ARGUMENT error is thrown. Should not set it for other types. A maximum of 1000 values are allowed. Otherwise, an INVALID_ARGUMENT error is return. + "collectionMemberIds": [ # The id of the collection members when type is Type.COLLECTION. Non-existent product ids are allowed. The type of the members must be either Type.PRIMARY or Type.VARIANT otherwise an INVALID_ARGUMENT error is thrown. Should not set it for other types. A maximum of 1000 values are allowed. Otherwise, an INVALID_ARGUMENT error is return. "A String", ], "colorInfo": { # The color information of a Product. # The color of the product. Corresponding properties: Google Merchant Center property [color](https://support.google.com/merchants/answer/6324487). Schema.org property [Product.color](https://schema.org/color). @@ -691,10 +691,10 @@

Method Details

}, "inputConfig": { # The input config source for products. # Required. The desired input location of the data. "bigQuerySource": { # BigQuery source import data from. # BigQuery input source. - "dataSchema": "A String", # The schema to use when parsing the data from the source. Supported values for product imports: * `product` (default): One JSON Product per line. Each product must have a valid Product.id. * `product_merchant_center`: See [Importing catalog data from Merchant Center](https://cloud.google.com/retail/recommendations-ai/docs/upload-catalog#mc). Supported values for user events imports: * `user_event` (default): One JSON UserEvent per line. * `user_event_ga360`: The schema is available here: https://support.google.com/analytics/answer/3437719. * `user_event_ga4`: This feature is in private preview. Please contact the support team for importing Google Analytics 4 events. The schema is available here: https://support.google.com/analytics/answer/7029846. Supported values for auto-completion imports: * `suggestions` (default): One JSON completion suggestion per line. * `denylist`: One JSON deny suggestion per line. * `allowlist`: One JSON allow suggestion per line. + "dataSchema": "A String", # The schema to use when parsing the data from the source. Supported values for product imports: * `product` (default): One JSON Product per line. Each product must have a valid Product.id. * `product_merchant_center`: See [Importing catalog data from Merchant Center](https://cloud.google.com/retail/recommendations-ai/docs/upload-catalog#mc). Supported values for user events imports: * `user_event` (default): One JSON UserEvent per line. * `user_event_ga360`: The schema is available here: https://support.google.com/analytics/answer/3437719. * `user_event_ga4`: The schema is available here: https://support.google.com/analytics/answer/7029846. Supported values for auto-completion imports: * `suggestions` (default): One JSON completion suggestion per line. * `denylist`: One JSON deny suggestion per line. * `allowlist`: One JSON allow suggestion per line. "datasetId": "A String", # Required. The BigQuery data set to copy the data from with a length limit of 1,024 characters. "gcsStagingDir": "A String", # Intermediate Cloud Storage directory used for the import with a length limit of 2,000 characters. Can be specified if one wants to have the BigQuery export to a specific Cloud Storage directory. - "partitionDate": { # Represents a whole or partial calendar date, such as a birthday. The time of day and time zone are either specified elsewhere or are insignificant. The date is relative to the Gregorian Calendar. This can represent one of the following: * A full date, with non-zero year, month, and day values. * A month and day, with a zero year (for example, an anniversary). * A year on its own, with a zero month and a zero day. * A year and month, with a zero day (for example, a credit card expiration date). Related types: * google.type.TimeOfDay * google.type.DateTime * google.protobuf.Timestamp # BigQuery time partitioned table's _PARTITIONDATE in YYYY-MM-DD format. Only supported when ImportProductsRequest.reconciliation_mode is set to `FULL`. + "partitionDate": { # Represents a whole or partial calendar date, such as a birthday. The time of day and time zone are either specified elsewhere or are insignificant. The date is relative to the Gregorian Calendar. This can represent one of the following: * A full date, with non-zero year, month, and day values. * A month and day, with a zero year (for example, an anniversary). * A year on its own, with a zero month and a zero day. * A year and month, with a zero day (for example, a credit card expiration date). Related types: * google.type.TimeOfDay * google.type.DateTime * google.protobuf.Timestamp # BigQuery time partitioned table's _PARTITIONDATE in YYYY-MM-DD format. Only supported in ImportProductsRequest. "day": 42, # Day of a month. Must be from 1 to 31 and valid for the year and month, or 0 to specify a year by itself or a year and month where the day isn't significant. "month": 42, # Month of a year. Must be from 1 to 12, or 0 to specify a year without a month and day. "year": 42, # Year of the date. Must be from 1 to 9999, or 0 to specify a date without a year. @@ -740,7 +740,7 @@

Method Details

"categories": [ # Product categories. This field is repeated for supporting one product belonging to several parallel categories. Strongly recommended using the full path for better search / recommendation quality. To represent full path of category, use '>' sign to separate different hierarchies. If '>' is part of the category name, please replace it with other character(s). For example, if a shoes product belongs to both ["Shoes & Accessories" -> "Shoes"] and ["Sports & Fitness" -> "Athletic Clothing" -> "Shoes"], it could be represented as: "categories": [ "Shoes & Accessories > Shoes", "Sports & Fitness > Athletic Clothing > Shoes" ] Must be set for Type.PRIMARY Product otherwise an INVALID_ARGUMENT error is returned. At most 250 values are allowed per Product. Empty values are not allowed. Each value must be a UTF-8 encoded string with a length limit of 5,000 characters. Otherwise, an INVALID_ARGUMENT error is returned. Corresponding properties: Google Merchant Center property google_product_category. Schema.org property [Product.category] (https://schema.org/category). [mc_google_product_category]: https://support.google.com/merchants/answer/6324436 "A String", ], - "collectionMemberIds": [ # The id of the collection members when type is Type.COLLECTION. Non-existent product ids are allowed. The type of the members must be either Type.PRIMARY or Type.VARIANT otherwise and INVALID_ARGUMENT error is thrown. Should not set it for other types. A maximum of 1000 values are allowed. Otherwise, an INVALID_ARGUMENT error is return. + "collectionMemberIds": [ # The id of the collection members when type is Type.COLLECTION. Non-existent product ids are allowed. The type of the members must be either Type.PRIMARY or Type.VARIANT otherwise an INVALID_ARGUMENT error is thrown. Should not set it for other types. A maximum of 1000 values are allowed. Otherwise, an INVALID_ARGUMENT error is return. "A String", ], "colorInfo": { # The color information of a Product. # The color of the product. Corresponding properties: Google Merchant Center property [color](https://support.google.com/merchants/answer/6324487). Schema.org property [Product.color](https://schema.org/color). @@ -835,7 +835,7 @@

Method Details

], }, }, - "notificationPubsubTopic": "A String", # Full Pub/Sub topic name for receiving notification. If this field is set, when the import is finished, a notification will be sent to specified Pub/Sub topic. The message data will be JSON string of a Operation. Format of the Pub/Sub topic is `projects/{project}/topics/{topic}`. It has to be within the same project as ImportProductsRequest.parent. Make sure that both `cloud-retail-customer-data-access@system.gserviceaccount.com` and `service-@gcp-sa-retail.iam.gserviceaccount.com` have the `pubsub.topics.publish` IAM permission on the topic. Only supported when ImportProductsRequest.reconciliation_mode is set to `FULL`. + "notificationPubsubTopic": "A String", # Full Pub/Sub topic name for receiving notification. If this field is set, when the import is finished, a notification will be sent to specified Pub/Sub topic. The message data will be JSON string of a Operation. Format of the Pub/Sub topic is `projects/{project}/topics/{topic}`. It has to be within the same project as ImportProductsRequest.parent. Make sure that `service-@gcp-sa-retail.iam.gserviceaccount.com` has the `pubsub.topics.publish` IAM permission on the topic. "reconciliationMode": "A String", # The mode of reconciliation between existing products and the products to be imported. Defaults to ReconciliationMode.INCREMENTAL. "requestId": "A String", # Deprecated. This field has no effect. "skipDefaultBranchProtection": True or False, # If true, will perform the FULL import even if it would delete a large proportion of the products in the default branch, which could potentially cause outages if you have live predict/search traffic. Only supported when ImportProductsRequest.reconciliation_mode is set to `FULL`. @@ -923,7 +923,7 @@

Method Details

"categories": [ # Product categories. This field is repeated for supporting one product belonging to several parallel categories. Strongly recommended using the full path for better search / recommendation quality. To represent full path of category, use '>' sign to separate different hierarchies. If '>' is part of the category name, please replace it with other character(s). For example, if a shoes product belongs to both ["Shoes & Accessories" -> "Shoes"] and ["Sports & Fitness" -> "Athletic Clothing" -> "Shoes"], it could be represented as: "categories": [ "Shoes & Accessories > Shoes", "Sports & Fitness > Athletic Clothing > Shoes" ] Must be set for Type.PRIMARY Product otherwise an INVALID_ARGUMENT error is returned. At most 250 values are allowed per Product. Empty values are not allowed. Each value must be a UTF-8 encoded string with a length limit of 5,000 characters. Otherwise, an INVALID_ARGUMENT error is returned. Corresponding properties: Google Merchant Center property google_product_category. Schema.org property [Product.category] (https://schema.org/category). [mc_google_product_category]: https://support.google.com/merchants/answer/6324436 "A String", ], - "collectionMemberIds": [ # The id of the collection members when type is Type.COLLECTION. Non-existent product ids are allowed. The type of the members must be either Type.PRIMARY or Type.VARIANT otherwise and INVALID_ARGUMENT error is thrown. Should not set it for other types. A maximum of 1000 values are allowed. Otherwise, an INVALID_ARGUMENT error is return. + "collectionMemberIds": [ # The id of the collection members when type is Type.COLLECTION. Non-existent product ids are allowed. The type of the members must be either Type.PRIMARY or Type.VARIANT otherwise an INVALID_ARGUMENT error is thrown. Should not set it for other types. A maximum of 1000 values are allowed. Otherwise, an INVALID_ARGUMENT error is return. "A String", ], "colorInfo": { # The color information of a Product. # The color of the product. Corresponding properties: Google Merchant Center property [color](https://support.google.com/merchants/answer/6324487). Schema.org property [Product.color](https://schema.org/color). @@ -1073,7 +1073,7 @@

Method Details

"categories": [ # Product categories. This field is repeated for supporting one product belonging to several parallel categories. Strongly recommended using the full path for better search / recommendation quality. To represent full path of category, use '>' sign to separate different hierarchies. If '>' is part of the category name, please replace it with other character(s). For example, if a shoes product belongs to both ["Shoes & Accessories" -> "Shoes"] and ["Sports & Fitness" -> "Athletic Clothing" -> "Shoes"], it could be represented as: "categories": [ "Shoes & Accessories > Shoes", "Sports & Fitness > Athletic Clothing > Shoes" ] Must be set for Type.PRIMARY Product otherwise an INVALID_ARGUMENT error is returned. At most 250 values are allowed per Product. Empty values are not allowed. Each value must be a UTF-8 encoded string with a length limit of 5,000 characters. Otherwise, an INVALID_ARGUMENT error is returned. Corresponding properties: Google Merchant Center property google_product_category. Schema.org property [Product.category] (https://schema.org/category). [mc_google_product_category]: https://support.google.com/merchants/answer/6324436 "A String", ], - "collectionMemberIds": [ # The id of the collection members when type is Type.COLLECTION. Non-existent product ids are allowed. The type of the members must be either Type.PRIMARY or Type.VARIANT otherwise and INVALID_ARGUMENT error is thrown. Should not set it for other types. A maximum of 1000 values are allowed. Otherwise, an INVALID_ARGUMENT error is return. + "collectionMemberIds": [ # The id of the collection members when type is Type.COLLECTION. Non-existent product ids are allowed. The type of the members must be either Type.PRIMARY or Type.VARIANT otherwise an INVALID_ARGUMENT error is thrown. Should not set it for other types. A maximum of 1000 values are allowed. Otherwise, an INVALID_ARGUMENT error is return. "A String", ], "colorInfo": { # The color information of a Product. # The color of the product. Corresponding properties: Google Merchant Center property [color](https://support.google.com/merchants/answer/6324487). Schema.org property [Product.color](https://schema.org/color). @@ -1206,7 +1206,7 @@

Method Details

"categories": [ # Product categories. This field is repeated for supporting one product belonging to several parallel categories. Strongly recommended using the full path for better search / recommendation quality. To represent full path of category, use '>' sign to separate different hierarchies. If '>' is part of the category name, please replace it with other character(s). For example, if a shoes product belongs to both ["Shoes & Accessories" -> "Shoes"] and ["Sports & Fitness" -> "Athletic Clothing" -> "Shoes"], it could be represented as: "categories": [ "Shoes & Accessories > Shoes", "Sports & Fitness > Athletic Clothing > Shoes" ] Must be set for Type.PRIMARY Product otherwise an INVALID_ARGUMENT error is returned. At most 250 values are allowed per Product. Empty values are not allowed. Each value must be a UTF-8 encoded string with a length limit of 5,000 characters. Otherwise, an INVALID_ARGUMENT error is returned. Corresponding properties: Google Merchant Center property google_product_category. Schema.org property [Product.category] (https://schema.org/category). [mc_google_product_category]: https://support.google.com/merchants/answer/6324436 "A String", ], - "collectionMemberIds": [ # The id of the collection members when type is Type.COLLECTION. Non-existent product ids are allowed. The type of the members must be either Type.PRIMARY or Type.VARIANT otherwise and INVALID_ARGUMENT error is thrown. Should not set it for other types. A maximum of 1000 values are allowed. Otherwise, an INVALID_ARGUMENT error is return. + "collectionMemberIds": [ # The id of the collection members when type is Type.COLLECTION. Non-existent product ids are allowed. The type of the members must be either Type.PRIMARY or Type.VARIANT otherwise an INVALID_ARGUMENT error is thrown. Should not set it for other types. A maximum of 1000 values are allowed. Otherwise, an INVALID_ARGUMENT error is return. "A String", ], "colorInfo": { # The color information of a Product. # The color of the product. Corresponding properties: Google Merchant Center property [color](https://support.google.com/merchants/answer/6324487). Schema.org property [Product.color](https://schema.org/color). @@ -1477,7 +1477,7 @@

Method Details

"categories": [ # Product categories. This field is repeated for supporting one product belonging to several parallel categories. Strongly recommended using the full path for better search / recommendation quality. To represent full path of category, use '>' sign to separate different hierarchies. If '>' is part of the category name, please replace it with other character(s). For example, if a shoes product belongs to both ["Shoes & Accessories" -> "Shoes"] and ["Sports & Fitness" -> "Athletic Clothing" -> "Shoes"], it could be represented as: "categories": [ "Shoes & Accessories > Shoes", "Sports & Fitness > Athletic Clothing > Shoes" ] Must be set for Type.PRIMARY Product otherwise an INVALID_ARGUMENT error is returned. At most 250 values are allowed per Product. Empty values are not allowed. Each value must be a UTF-8 encoded string with a length limit of 5,000 characters. Otherwise, an INVALID_ARGUMENT error is returned. Corresponding properties: Google Merchant Center property google_product_category. Schema.org property [Product.category] (https://schema.org/category). [mc_google_product_category]: https://support.google.com/merchants/answer/6324436 "A String", ], - "collectionMemberIds": [ # The id of the collection members when type is Type.COLLECTION. Non-existent product ids are allowed. The type of the members must be either Type.PRIMARY or Type.VARIANT otherwise and INVALID_ARGUMENT error is thrown. Should not set it for other types. A maximum of 1000 values are allowed. Otherwise, an INVALID_ARGUMENT error is return. + "collectionMemberIds": [ # The id of the collection members when type is Type.COLLECTION. Non-existent product ids are allowed. The type of the members must be either Type.PRIMARY or Type.VARIANT otherwise an INVALID_ARGUMENT error is thrown. Should not set it for other types. A maximum of 1000 values are allowed. Otherwise, an INVALID_ARGUMENT error is return. "A String", ], "colorInfo": { # The color information of a Product. # The color of the product. Corresponding properties: Google Merchant Center property [color](https://support.google.com/merchants/answer/6324487). Schema.org property [Product.color](https://schema.org/color). diff --git a/docs/dyn/retail_v2alpha.projects.locations.catalogs.completionData.html b/docs/dyn/retail_v2alpha.projects.locations.catalogs.completionData.html index c4a379888fb..f1f77c7779a 100644 --- a/docs/dyn/retail_v2alpha.projects.locations.catalogs.completionData.html +++ b/docs/dyn/retail_v2alpha.projects.locations.catalogs.completionData.html @@ -98,10 +98,10 @@

Method Details

{ # Request message for ImportCompletionData methods. "inputConfig": { # The input config source for completion data. # Required. The desired input location of the data. "bigQuerySource": { # BigQuery source import data from. # Required. BigQuery input source. Add the IAM permission "BigQuery Data Viewer" for cloud-retail-customer-data-access@system.gserviceaccount.com before using this feature otherwise an error is thrown. - "dataSchema": "A String", # The schema to use when parsing the data from the source. Supported values for product imports: * `product` (default): One JSON Product per line. Each product must have a valid Product.id. * `product_merchant_center`: See [Importing catalog data from Merchant Center](https://cloud.google.com/retail/recommendations-ai/docs/upload-catalog#mc). Supported values for user events imports: * `user_event` (default): One JSON UserEvent per line. * `user_event_ga360`: The schema is available here: https://support.google.com/analytics/answer/3437719. * `user_event_ga4`: This feature is in private preview. Please contact the support team for importing Google Analytics 4 events. The schema is available here: https://support.google.com/analytics/answer/7029846. Supported values for auto-completion imports: * `suggestions` (default): One JSON completion suggestion per line. * `denylist`: One JSON deny suggestion per line. * `allowlist`: One JSON allow suggestion per line. + "dataSchema": "A String", # The schema to use when parsing the data from the source. Supported values for product imports: * `product` (default): One JSON Product per line. Each product must have a valid Product.id. * `product_merchant_center`: See [Importing catalog data from Merchant Center](https://cloud.google.com/retail/recommendations-ai/docs/upload-catalog#mc). Supported values for user events imports: * `user_event` (default): One JSON UserEvent per line. * `user_event_ga360`: The schema is available here: https://support.google.com/analytics/answer/3437719. * `user_event_ga4`: The schema is available here: https://support.google.com/analytics/answer/7029846. Supported values for auto-completion imports: * `suggestions` (default): One JSON completion suggestion per line. * `denylist`: One JSON deny suggestion per line. * `allowlist`: One JSON allow suggestion per line. "datasetId": "A String", # Required. The BigQuery data set to copy the data from with a length limit of 1,024 characters. "gcsStagingDir": "A String", # Intermediate Cloud Storage directory used for the import with a length limit of 2,000 characters. Can be specified if one wants to have the BigQuery export to a specific Cloud Storage directory. - "partitionDate": { # Represents a whole or partial calendar date, such as a birthday. The time of day and time zone are either specified elsewhere or are insignificant. The date is relative to the Gregorian Calendar. This can represent one of the following: * A full date, with non-zero year, month, and day values. * A month and day, with a zero year (for example, an anniversary). * A year on its own, with a zero month and a zero day. * A year and month, with a zero day (for example, a credit card expiration date). Related types: * google.type.TimeOfDay * google.type.DateTime * google.protobuf.Timestamp # BigQuery time partitioned table's _PARTITIONDATE in YYYY-MM-DD format. Only supported when ImportProductsRequest.reconciliation_mode is set to `FULL`. + "partitionDate": { # Represents a whole or partial calendar date, such as a birthday. The time of day and time zone are either specified elsewhere or are insignificant. The date is relative to the Gregorian Calendar. This can represent one of the following: * A full date, with non-zero year, month, and day values. * A month and day, with a zero year (for example, an anniversary). * A year on its own, with a zero month and a zero day. * A year and month, with a zero day (for example, a credit card expiration date). Related types: * google.type.TimeOfDay * google.type.DateTime * google.protobuf.Timestamp # BigQuery time partitioned table's _PARTITIONDATE in YYYY-MM-DD format. Only supported in ImportProductsRequest. "day": 42, # Day of a month. Must be from 1 to 31 and valid for the year and month, or 0 to specify a year by itself or a year and month where the day isn't significant. "month": 42, # Month of a year. Must be from 1 to 12, or 0 to specify a year without a month and day. "year": 42, # Year of the date. Must be from 1 to 9999, or 0 to specify a date without a year. diff --git a/docs/dyn/retail_v2alpha.projects.locations.catalogs.controls.html b/docs/dyn/retail_v2alpha.projects.locations.catalogs.controls.html index f135ee432ed..c65e7aaeb8d 100644 --- a/docs/dyn/retail_v2alpha.projects.locations.catalogs.controls.html +++ b/docs/dyn/retail_v2alpha.projects.locations.catalogs.controls.html @@ -142,6 +142,7 @@

Method Details

"restrictedValues": [ # Only get facet for the given restricted values. For example, when using "pickupInStore" as key and set restricted values to ["store123", "store456"], only facets for "store123" and "store456" are returned. Only supported on predefined textual fields, custom textual attributes and fulfillments. Maximum is 20. Must be set for the fulfillment facet keys: * pickupInStore * shipToStore * sameDayDelivery * nextDayDelivery * customFulfillment1 * customFulfillment2 * customFulfillment3 * customFulfillment4 * customFulfillment5 "A String", ], + "returnMinMax": True or False, # Returns the min and max value for each numerical facet intervals. Ignored for textual facets. }, "limit": 42, # Maximum of facet values that should be returned for this facet. If unspecified, defaults to 20. The maximum allowed value is 300. Values above 300 will be coerced to 300. If this field is negative, an INVALID_ARGUMENT is returned. }, @@ -257,6 +258,7 @@

Method Details

"restrictedValues": [ # Only get facet for the given restricted values. For example, when using "pickupInStore" as key and set restricted values to ["store123", "store456"], only facets for "store123" and "store456" are returned. Only supported on predefined textual fields, custom textual attributes and fulfillments. Maximum is 20. Must be set for the fulfillment facet keys: * pickupInStore * shipToStore * sameDayDelivery * nextDayDelivery * customFulfillment1 * customFulfillment2 * customFulfillment3 * customFulfillment4 * customFulfillment5 "A String", ], + "returnMinMax": True or False, # Returns the min and max value for each numerical facet intervals. Ignored for textual facets. }, "limit": 42, # Maximum of facet values that should be returned for this facet. If unspecified, defaults to 20. The maximum allowed value is 300. Values above 300 will be coerced to 300. If this field is negative, an INVALID_ARGUMENT is returned. }, @@ -396,6 +398,7 @@

Method Details

"restrictedValues": [ # Only get facet for the given restricted values. For example, when using "pickupInStore" as key and set restricted values to ["store123", "store456"], only facets for "store123" and "store456" are returned. Only supported on predefined textual fields, custom textual attributes and fulfillments. Maximum is 20. Must be set for the fulfillment facet keys: * pickupInStore * shipToStore * sameDayDelivery * nextDayDelivery * customFulfillment1 * customFulfillment2 * customFulfillment3 * customFulfillment4 * customFulfillment5 "A String", ], + "returnMinMax": True or False, # Returns the min and max value for each numerical facet intervals. Ignored for textual facets. }, "limit": 42, # Maximum of facet values that should be returned for this facet. If unspecified, defaults to 20. The maximum allowed value is 300. Values above 300 will be coerced to 300. If this field is negative, an INVALID_ARGUMENT is returned. }, @@ -522,6 +525,7 @@

Method Details

"restrictedValues": [ # Only get facet for the given restricted values. For example, when using "pickupInStore" as key and set restricted values to ["store123", "store456"], only facets for "store123" and "store456" are returned. Only supported on predefined textual fields, custom textual attributes and fulfillments. Maximum is 20. Must be set for the fulfillment facet keys: * pickupInStore * shipToStore * sameDayDelivery * nextDayDelivery * customFulfillment1 * customFulfillment2 * customFulfillment3 * customFulfillment4 * customFulfillment5 "A String", ], + "returnMinMax": True or False, # Returns the min and max value for each numerical facet intervals. Ignored for textual facets. }, "limit": 42, # Maximum of facet values that should be returned for this facet. If unspecified, defaults to 20. The maximum allowed value is 300. Values above 300 will be coerced to 300. If this field is negative, an INVALID_ARGUMENT is returned. }, @@ -655,6 +659,7 @@

Method Details

"restrictedValues": [ # Only get facet for the given restricted values. For example, when using "pickupInStore" as key and set restricted values to ["store123", "store456"], only facets for "store123" and "store456" are returned. Only supported on predefined textual fields, custom textual attributes and fulfillments. Maximum is 20. Must be set for the fulfillment facet keys: * pickupInStore * shipToStore * sameDayDelivery * nextDayDelivery * customFulfillment1 * customFulfillment2 * customFulfillment3 * customFulfillment4 * customFulfillment5 "A String", ], + "returnMinMax": True or False, # Returns the min and max value for each numerical facet intervals. Ignored for textual facets. }, "limit": 42, # Maximum of facet values that should be returned for this facet. If unspecified, defaults to 20. The maximum allowed value is 300. Values above 300 will be coerced to 300. If this field is negative, an INVALID_ARGUMENT is returned. }, @@ -770,6 +775,7 @@

Method Details

"restrictedValues": [ # Only get facet for the given restricted values. For example, when using "pickupInStore" as key and set restricted values to ["store123", "store456"], only facets for "store123" and "store456" are returned. Only supported on predefined textual fields, custom textual attributes and fulfillments. Maximum is 20. Must be set for the fulfillment facet keys: * pickupInStore * shipToStore * sameDayDelivery * nextDayDelivery * customFulfillment1 * customFulfillment2 * customFulfillment3 * customFulfillment4 * customFulfillment5 "A String", ], + "returnMinMax": True or False, # Returns the min and max value for each numerical facet intervals. Ignored for textual facets. }, "limit": 42, # Maximum of facet values that should be returned for this facet. If unspecified, defaults to 20. The maximum allowed value is 300. Values above 300 will be coerced to 300. If this field is negative, an INVALID_ARGUMENT is returned. }, diff --git a/docs/dyn/retail_v2alpha.projects.locations.catalogs.html b/docs/dyn/retail_v2alpha.projects.locations.catalogs.html index 6808b9813e6..ca179920b7a 100644 --- a/docs/dyn/retail_v2alpha.projects.locations.catalogs.html +++ b/docs/dyn/retail_v2alpha.projects.locations.catalogs.html @@ -224,6 +224,7 @@

Method Details

"catalogAttributes": { # Enable attribute(s) config at catalog level. For example, indexable, dynamic_facetable, or searchable for each attribute. The key is catalog attribute's name. For example: `color`, `brands`, `attributes.custom_attribute`, such as `attributes.xyz`. The maximum number of catalog attributes allowed in a request is 1000. "a_key": { # Catalog level attribute config for an attribute. For example, if customers want to enable/disable facet for a specific attribute. "dynamicFacetableOption": "A String", # If DYNAMIC_FACETABLE_ENABLED, attribute values are available for dynamic facet. Could only be DYNAMIC_FACETABLE_DISABLED if CatalogAttribute.indexable_option is INDEXABLE_DISABLED. Otherwise, an INVALID_ARGUMENT error is returned. + "exactSearchableOption": "A String", # If EXACT_SEARCHABLE_ENABLED, attribute values will be exact searchable. This property only applies to textual custom attributes and requires indexable set to enabled to enable exact-searchable. "inUse": True or False, # Output only. Indicates whether this attribute has been used by any products. `True` if at least one Product is using this attribute in Product.attributes. Otherwise, this field is `False`. CatalogAttribute can be pre-loaded by using CatalogService.AddCatalogAttribute, CatalogService.ImportCatalogAttributes, or CatalogService.UpdateAttributesConfig APIs. This field is `False` for pre-loaded CatalogAttributes. Only pre-loaded CatalogAttributes that are neither in use by products nor predefined can be deleted. CatalogAttributes that are either in use by products or are predefined cannot be deleted; however, their configuration properties will reset to default values upon removal request. After catalog changes, it takes about 10 minutes for this field to update. "indexableOption": "A String", # When AttributesConfig.attribute_config_level is CATALOG_LEVEL_ATTRIBUTE_CONFIG, if INDEXABLE_ENABLED attribute values are indexed so that it can be filtered, faceted, or boosted in SearchService.Search. "key": "A String", # Required. Attribute name. For example: `color`, `brands`, `attributes.custom_attribute`, such as `attributes.xyz`. To be indexable, the attribute name can contain only alpha-numeric characters and underscores. For example, an attribute named `attributes.abc_xyz` can be indexed, but an attribute named `attributes.abc-xyz` cannot be indexed. @@ -253,10 +254,10 @@

Method Details

{ # Catalog level autocomplete config for customers to customize autocomplete feature's settings. "allowlistInputConfig": { # The input config source for completion data. # Output only. The source data for the latest import of the autocomplete allowlist phrases. "bigQuerySource": { # BigQuery source import data from. # Required. BigQuery input source. Add the IAM permission "BigQuery Data Viewer" for cloud-retail-customer-data-access@system.gserviceaccount.com before using this feature otherwise an error is thrown. - "dataSchema": "A String", # The schema to use when parsing the data from the source. Supported values for product imports: * `product` (default): One JSON Product per line. Each product must have a valid Product.id. * `product_merchant_center`: See [Importing catalog data from Merchant Center](https://cloud.google.com/retail/recommendations-ai/docs/upload-catalog#mc). Supported values for user events imports: * `user_event` (default): One JSON UserEvent per line. * `user_event_ga360`: The schema is available here: https://support.google.com/analytics/answer/3437719. * `user_event_ga4`: This feature is in private preview. Please contact the support team for importing Google Analytics 4 events. The schema is available here: https://support.google.com/analytics/answer/7029846. Supported values for auto-completion imports: * `suggestions` (default): One JSON completion suggestion per line. * `denylist`: One JSON deny suggestion per line. * `allowlist`: One JSON allow suggestion per line. + "dataSchema": "A String", # The schema to use when parsing the data from the source. Supported values for product imports: * `product` (default): One JSON Product per line. Each product must have a valid Product.id. * `product_merchant_center`: See [Importing catalog data from Merchant Center](https://cloud.google.com/retail/recommendations-ai/docs/upload-catalog#mc). Supported values for user events imports: * `user_event` (default): One JSON UserEvent per line. * `user_event_ga360`: The schema is available here: https://support.google.com/analytics/answer/3437719. * `user_event_ga4`: The schema is available here: https://support.google.com/analytics/answer/7029846. Supported values for auto-completion imports: * `suggestions` (default): One JSON completion suggestion per line. * `denylist`: One JSON deny suggestion per line. * `allowlist`: One JSON allow suggestion per line. "datasetId": "A String", # Required. The BigQuery data set to copy the data from with a length limit of 1,024 characters. "gcsStagingDir": "A String", # Intermediate Cloud Storage directory used for the import with a length limit of 2,000 characters. Can be specified if one wants to have the BigQuery export to a specific Cloud Storage directory. - "partitionDate": { # Represents a whole or partial calendar date, such as a birthday. The time of day and time zone are either specified elsewhere or are insignificant. The date is relative to the Gregorian Calendar. This can represent one of the following: * A full date, with non-zero year, month, and day values. * A month and day, with a zero year (for example, an anniversary). * A year on its own, with a zero month and a zero day. * A year and month, with a zero day (for example, a credit card expiration date). Related types: * google.type.TimeOfDay * google.type.DateTime * google.protobuf.Timestamp # BigQuery time partitioned table's _PARTITIONDATE in YYYY-MM-DD format. Only supported when ImportProductsRequest.reconciliation_mode is set to `FULL`. + "partitionDate": { # Represents a whole or partial calendar date, such as a birthday. The time of day and time zone are either specified elsewhere or are insignificant. The date is relative to the Gregorian Calendar. This can represent one of the following: * A full date, with non-zero year, month, and day values. * A month and day, with a zero year (for example, an anniversary). * A year on its own, with a zero month and a zero day. * A year and month, with a zero day (for example, a credit card expiration date). Related types: * google.type.TimeOfDay * google.type.DateTime * google.protobuf.Timestamp # BigQuery time partitioned table's _PARTITIONDATE in YYYY-MM-DD format. Only supported in ImportProductsRequest. "day": 42, # Day of a month. Must be from 1 to 31 and valid for the year and month, or 0 to specify a year by itself or a year and month where the day isn't significant. "month": 42, # Month of a year. Must be from 1 to 12, or 0 to specify a year without a month and day. "year": 42, # Year of the date. Must be from 1 to 9999, or 0 to specify a date without a year. @@ -268,10 +269,10 @@

Method Details

"autoLearning": True or False, # If set to true, the auto learning function is enabled. Auto learning uses user data to generate suggestions using ML techniques. Default value is false. Only after enabling auto learning can users use `cloud-retail` data in CompleteQueryRequest. "denylistInputConfig": { # The input config source for completion data. # Output only. The source data for the latest import of the autocomplete denylist phrases. "bigQuerySource": { # BigQuery source import data from. # Required. BigQuery input source. Add the IAM permission "BigQuery Data Viewer" for cloud-retail-customer-data-access@system.gserviceaccount.com before using this feature otherwise an error is thrown. - "dataSchema": "A String", # The schema to use when parsing the data from the source. Supported values for product imports: * `product` (default): One JSON Product per line. Each product must have a valid Product.id. * `product_merchant_center`: See [Importing catalog data from Merchant Center](https://cloud.google.com/retail/recommendations-ai/docs/upload-catalog#mc). Supported values for user events imports: * `user_event` (default): One JSON UserEvent per line. * `user_event_ga360`: The schema is available here: https://support.google.com/analytics/answer/3437719. * `user_event_ga4`: This feature is in private preview. Please contact the support team for importing Google Analytics 4 events. The schema is available here: https://support.google.com/analytics/answer/7029846. Supported values for auto-completion imports: * `suggestions` (default): One JSON completion suggestion per line. * `denylist`: One JSON deny suggestion per line. * `allowlist`: One JSON allow suggestion per line. + "dataSchema": "A String", # The schema to use when parsing the data from the source. Supported values for product imports: * `product` (default): One JSON Product per line. Each product must have a valid Product.id. * `product_merchant_center`: See [Importing catalog data from Merchant Center](https://cloud.google.com/retail/recommendations-ai/docs/upload-catalog#mc). Supported values for user events imports: * `user_event` (default): One JSON UserEvent per line. * `user_event_ga360`: The schema is available here: https://support.google.com/analytics/answer/3437719. * `user_event_ga4`: The schema is available here: https://support.google.com/analytics/answer/7029846. Supported values for auto-completion imports: * `suggestions` (default): One JSON completion suggestion per line. * `denylist`: One JSON deny suggestion per line. * `allowlist`: One JSON allow suggestion per line. "datasetId": "A String", # Required. The BigQuery data set to copy the data from with a length limit of 1,024 characters. "gcsStagingDir": "A String", # Intermediate Cloud Storage directory used for the import with a length limit of 2,000 characters. Can be specified if one wants to have the BigQuery export to a specific Cloud Storage directory. - "partitionDate": { # Represents a whole or partial calendar date, such as a birthday. The time of day and time zone are either specified elsewhere or are insignificant. The date is relative to the Gregorian Calendar. This can represent one of the following: * A full date, with non-zero year, month, and day values. * A month and day, with a zero year (for example, an anniversary). * A year on its own, with a zero month and a zero day. * A year and month, with a zero day (for example, a credit card expiration date). Related types: * google.type.TimeOfDay * google.type.DateTime * google.protobuf.Timestamp # BigQuery time partitioned table's _PARTITIONDATE in YYYY-MM-DD format. Only supported when ImportProductsRequest.reconciliation_mode is set to `FULL`. + "partitionDate": { # Represents a whole or partial calendar date, such as a birthday. The time of day and time zone are either specified elsewhere or are insignificant. The date is relative to the Gregorian Calendar. This can represent one of the following: * A full date, with non-zero year, month, and day values. * A month and day, with a zero year (for example, an anniversary). * A year on its own, with a zero month and a zero day. * A year and month, with a zero day (for example, a credit card expiration date). Related types: * google.type.TimeOfDay * google.type.DateTime * google.protobuf.Timestamp # BigQuery time partitioned table's _PARTITIONDATE in YYYY-MM-DD format. Only supported in ImportProductsRequest. "day": 42, # Day of a month. Must be from 1 to 31 and valid for the year and month, or 0 to specify a year by itself or a year and month where the day isn't significant. "month": 42, # Month of a year. Must be from 1 to 12, or 0 to specify a year without a month and day. "year": 42, # Year of the date. Must be from 1 to 9999, or 0 to specify a date without a year. @@ -284,15 +285,15 @@

Method Details

"lastDenylistImportOperation": "A String", # Output only. Name of the LRO corresponding to the latest denylist import. Can use GetOperation API to retrieve the latest state of the Long Running Operation. "lastSuggestionsImportOperation": "A String", # Output only. Name of the LRO corresponding to the latest suggestion terms list import. Can use GetOperation API to retrieve the latest state of the Long Running Operation. "matchingOrder": "A String", # Specifies the matching order for autocomplete suggestions, e.g., a query consisting of 'sh' with 'out-of-order' specified would suggest "women's shoes", whereas a query of 'red s' with 'exact-prefix' specified would suggest "red shoes". Currently supported values: * 'out-of-order' * 'exact-prefix' Default value: 'exact-prefix'. - "maxSuggestions": 42, # The maximum number of autocomplete suggestions returned per term. The maximum allowed max suggestions is 20. Default value is 20. If left unset or set to 0, then will fallback to default value. - "minPrefixLength": 42, # The minimum number of characters needed to be typed in order to get suggestions. Default value is 2. If left unset or set to 0, then will fallback to default value. + "maxSuggestions": 42, # The maximum number of autocomplete suggestions returned per term. Default value is 20. If left unset or set to 0, then will fallback to default value. Value range is 1 to 20. + "minPrefixLength": 42, # The minimum number of characters needed to be typed in order to get suggestions. Default value is 2. If left unset or set to 0, then will fallback to default value. Value range is 1 to 20. "name": "A String", # Required. Immutable. Fully qualified name `projects/*/locations/*/catalogs/*/completionConfig` "suggestionsInputConfig": { # The input config source for completion data. # Output only. The source data for the latest import of the autocomplete suggestion phrases. "bigQuerySource": { # BigQuery source import data from. # Required. BigQuery input source. Add the IAM permission "BigQuery Data Viewer" for cloud-retail-customer-data-access@system.gserviceaccount.com before using this feature otherwise an error is thrown. - "dataSchema": "A String", # The schema to use when parsing the data from the source. Supported values for product imports: * `product` (default): One JSON Product per line. Each product must have a valid Product.id. * `product_merchant_center`: See [Importing catalog data from Merchant Center](https://cloud.google.com/retail/recommendations-ai/docs/upload-catalog#mc). Supported values for user events imports: * `user_event` (default): One JSON UserEvent per line. * `user_event_ga360`: The schema is available here: https://support.google.com/analytics/answer/3437719. * `user_event_ga4`: This feature is in private preview. Please contact the support team for importing Google Analytics 4 events. The schema is available here: https://support.google.com/analytics/answer/7029846. Supported values for auto-completion imports: * `suggestions` (default): One JSON completion suggestion per line. * `denylist`: One JSON deny suggestion per line. * `allowlist`: One JSON allow suggestion per line. + "dataSchema": "A String", # The schema to use when parsing the data from the source. Supported values for product imports: * `product` (default): One JSON Product per line. Each product must have a valid Product.id. * `product_merchant_center`: See [Importing catalog data from Merchant Center](https://cloud.google.com/retail/recommendations-ai/docs/upload-catalog#mc). Supported values for user events imports: * `user_event` (default): One JSON UserEvent per line. * `user_event_ga360`: The schema is available here: https://support.google.com/analytics/answer/3437719. * `user_event_ga4`: The schema is available here: https://support.google.com/analytics/answer/7029846. Supported values for auto-completion imports: * `suggestions` (default): One JSON completion suggestion per line. * `denylist`: One JSON deny suggestion per line. * `allowlist`: One JSON allow suggestion per line. "datasetId": "A String", # Required. The BigQuery data set to copy the data from with a length limit of 1,024 characters. "gcsStagingDir": "A String", # Intermediate Cloud Storage directory used for the import with a length limit of 2,000 characters. Can be specified if one wants to have the BigQuery export to a specific Cloud Storage directory. - "partitionDate": { # Represents a whole or partial calendar date, such as a birthday. The time of day and time zone are either specified elsewhere or are insignificant. The date is relative to the Gregorian Calendar. This can represent one of the following: * A full date, with non-zero year, month, and day values. * A month and day, with a zero year (for example, an anniversary). * A year on its own, with a zero month and a zero day. * A year and month, with a zero day (for example, a credit card expiration date). Related types: * google.type.TimeOfDay * google.type.DateTime * google.protobuf.Timestamp # BigQuery time partitioned table's _PARTITIONDATE in YYYY-MM-DD format. Only supported when ImportProductsRequest.reconciliation_mode is set to `FULL`. + "partitionDate": { # Represents a whole or partial calendar date, such as a birthday. The time of day and time zone are either specified elsewhere or are insignificant. The date is relative to the Gregorian Calendar. This can represent one of the following: * A full date, with non-zero year, month, and day values. * A month and day, with a zero year (for example, an anniversary). * A year on its own, with a zero month and a zero day. * A year and month, with a zero day (for example, a credit card expiration date). Related types: * google.type.TimeOfDay * google.type.DateTime * google.protobuf.Timestamp # BigQuery time partitioned table's _PARTITIONDATE in YYYY-MM-DD format. Only supported in ImportProductsRequest. "day": 42, # Day of a month. Must be from 1 to 31 and valid for the year and month, or 0 to specify a year by itself or a year and month where the day isn't significant. "month": 42, # Month of a year. Must be from 1 to 12, or 0 to specify a year without a month and day. "year": 42, # Year of the date. Must be from 1 to 9999, or 0 to specify a date without a year. @@ -487,6 +488,7 @@

Method Details

"catalogAttributes": { # Enable attribute(s) config at catalog level. For example, indexable, dynamic_facetable, or searchable for each attribute. The key is catalog attribute's name. For example: `color`, `brands`, `attributes.custom_attribute`, such as `attributes.xyz`. The maximum number of catalog attributes allowed in a request is 1000. "a_key": { # Catalog level attribute config for an attribute. For example, if customers want to enable/disable facet for a specific attribute. "dynamicFacetableOption": "A String", # If DYNAMIC_FACETABLE_ENABLED, attribute values are available for dynamic facet. Could only be DYNAMIC_FACETABLE_DISABLED if CatalogAttribute.indexable_option is INDEXABLE_DISABLED. Otherwise, an INVALID_ARGUMENT error is returned. + "exactSearchableOption": "A String", # If EXACT_SEARCHABLE_ENABLED, attribute values will be exact searchable. This property only applies to textual custom attributes and requires indexable set to enabled to enable exact-searchable. "inUse": True or False, # Output only. Indicates whether this attribute has been used by any products. `True` if at least one Product is using this attribute in Product.attributes. Otherwise, this field is `False`. CatalogAttribute can be pre-loaded by using CatalogService.AddCatalogAttribute, CatalogService.ImportCatalogAttributes, or CatalogService.UpdateAttributesConfig APIs. This field is `False` for pre-loaded CatalogAttributes. Only pre-loaded CatalogAttributes that are neither in use by products nor predefined can be deleted. CatalogAttributes that are either in use by products or are predefined cannot be deleted; however, their configuration properties will reset to default values upon removal request. After catalog changes, it takes about 10 minutes for this field to update. "indexableOption": "A String", # When AttributesConfig.attribute_config_level is CATALOG_LEVEL_ATTRIBUTE_CONFIG, if INDEXABLE_ENABLED attribute values are indexed so that it can be filtered, faceted, or boosted in SearchService.Search. "key": "A String", # Required. Attribute name. For example: `color`, `brands`, `attributes.custom_attribute`, such as `attributes.xyz`. To be indexable, the attribute name can contain only alpha-numeric characters and underscores. For example, an attribute named `attributes.abc_xyz` can be indexed, but an attribute named `attributes.abc-xyz` cannot be indexed. @@ -512,6 +514,7 @@

Method Details

"catalogAttributes": { # Enable attribute(s) config at catalog level. For example, indexable, dynamic_facetable, or searchable for each attribute. The key is catalog attribute's name. For example: `color`, `brands`, `attributes.custom_attribute`, such as `attributes.xyz`. The maximum number of catalog attributes allowed in a request is 1000. "a_key": { # Catalog level attribute config for an attribute. For example, if customers want to enable/disable facet for a specific attribute. "dynamicFacetableOption": "A String", # If DYNAMIC_FACETABLE_ENABLED, attribute values are available for dynamic facet. Could only be DYNAMIC_FACETABLE_DISABLED if CatalogAttribute.indexable_option is INDEXABLE_DISABLED. Otherwise, an INVALID_ARGUMENT error is returned. + "exactSearchableOption": "A String", # If EXACT_SEARCHABLE_ENABLED, attribute values will be exact searchable. This property only applies to textual custom attributes and requires indexable set to enabled to enable exact-searchable. "inUse": True or False, # Output only. Indicates whether this attribute has been used by any products. `True` if at least one Product is using this attribute in Product.attributes. Otherwise, this field is `False`. CatalogAttribute can be pre-loaded by using CatalogService.AddCatalogAttribute, CatalogService.ImportCatalogAttributes, or CatalogService.UpdateAttributesConfig APIs. This field is `False` for pre-loaded CatalogAttributes. Only pre-loaded CatalogAttributes that are neither in use by products nor predefined can be deleted. CatalogAttributes that are either in use by products or are predefined cannot be deleted; however, their configuration properties will reset to default values upon removal request. After catalog changes, it takes about 10 minutes for this field to update. "indexableOption": "A String", # When AttributesConfig.attribute_config_level is CATALOG_LEVEL_ATTRIBUTE_CONFIG, if INDEXABLE_ENABLED attribute values are indexed so that it can be filtered, faceted, or boosted in SearchService.Search. "key": "A String", # Required. Attribute name. For example: `color`, `brands`, `attributes.custom_attribute`, such as `attributes.xyz`. To be indexable, the attribute name can contain only alpha-numeric characters and underscores. For example, an attribute named `attributes.abc_xyz` can be indexed, but an attribute named `attributes.abc-xyz` cannot be indexed. @@ -536,10 +539,10 @@

Method Details

{ # Catalog level autocomplete config for customers to customize autocomplete feature's settings. "allowlistInputConfig": { # The input config source for completion data. # Output only. The source data for the latest import of the autocomplete allowlist phrases. "bigQuerySource": { # BigQuery source import data from. # Required. BigQuery input source. Add the IAM permission "BigQuery Data Viewer" for cloud-retail-customer-data-access@system.gserviceaccount.com before using this feature otherwise an error is thrown. - "dataSchema": "A String", # The schema to use when parsing the data from the source. Supported values for product imports: * `product` (default): One JSON Product per line. Each product must have a valid Product.id. * `product_merchant_center`: See [Importing catalog data from Merchant Center](https://cloud.google.com/retail/recommendations-ai/docs/upload-catalog#mc). Supported values for user events imports: * `user_event` (default): One JSON UserEvent per line. * `user_event_ga360`: The schema is available here: https://support.google.com/analytics/answer/3437719. * `user_event_ga4`: This feature is in private preview. Please contact the support team for importing Google Analytics 4 events. The schema is available here: https://support.google.com/analytics/answer/7029846. Supported values for auto-completion imports: * `suggestions` (default): One JSON completion suggestion per line. * `denylist`: One JSON deny suggestion per line. * `allowlist`: One JSON allow suggestion per line. + "dataSchema": "A String", # The schema to use when parsing the data from the source. Supported values for product imports: * `product` (default): One JSON Product per line. Each product must have a valid Product.id. * `product_merchant_center`: See [Importing catalog data from Merchant Center](https://cloud.google.com/retail/recommendations-ai/docs/upload-catalog#mc). Supported values for user events imports: * `user_event` (default): One JSON UserEvent per line. * `user_event_ga360`: The schema is available here: https://support.google.com/analytics/answer/3437719. * `user_event_ga4`: The schema is available here: https://support.google.com/analytics/answer/7029846. Supported values for auto-completion imports: * `suggestions` (default): One JSON completion suggestion per line. * `denylist`: One JSON deny suggestion per line. * `allowlist`: One JSON allow suggestion per line. "datasetId": "A String", # Required. The BigQuery data set to copy the data from with a length limit of 1,024 characters. "gcsStagingDir": "A String", # Intermediate Cloud Storage directory used for the import with a length limit of 2,000 characters. Can be specified if one wants to have the BigQuery export to a specific Cloud Storage directory. - "partitionDate": { # Represents a whole or partial calendar date, such as a birthday. The time of day and time zone are either specified elsewhere or are insignificant. The date is relative to the Gregorian Calendar. This can represent one of the following: * A full date, with non-zero year, month, and day values. * A month and day, with a zero year (for example, an anniversary). * A year on its own, with a zero month and a zero day. * A year and month, with a zero day (for example, a credit card expiration date). Related types: * google.type.TimeOfDay * google.type.DateTime * google.protobuf.Timestamp # BigQuery time partitioned table's _PARTITIONDATE in YYYY-MM-DD format. Only supported when ImportProductsRequest.reconciliation_mode is set to `FULL`. + "partitionDate": { # Represents a whole or partial calendar date, such as a birthday. The time of day and time zone are either specified elsewhere or are insignificant. The date is relative to the Gregorian Calendar. This can represent one of the following: * A full date, with non-zero year, month, and day values. * A month and day, with a zero year (for example, an anniversary). * A year on its own, with a zero month and a zero day. * A year and month, with a zero day (for example, a credit card expiration date). Related types: * google.type.TimeOfDay * google.type.DateTime * google.protobuf.Timestamp # BigQuery time partitioned table's _PARTITIONDATE in YYYY-MM-DD format. Only supported in ImportProductsRequest. "day": 42, # Day of a month. Must be from 1 to 31 and valid for the year and month, or 0 to specify a year by itself or a year and month where the day isn't significant. "month": 42, # Month of a year. Must be from 1 to 12, or 0 to specify a year without a month and day. "year": 42, # Year of the date. Must be from 1 to 9999, or 0 to specify a date without a year. @@ -551,10 +554,10 @@

Method Details

"autoLearning": True or False, # If set to true, the auto learning function is enabled. Auto learning uses user data to generate suggestions using ML techniques. Default value is false. Only after enabling auto learning can users use `cloud-retail` data in CompleteQueryRequest. "denylistInputConfig": { # The input config source for completion data. # Output only. The source data for the latest import of the autocomplete denylist phrases. "bigQuerySource": { # BigQuery source import data from. # Required. BigQuery input source. Add the IAM permission "BigQuery Data Viewer" for cloud-retail-customer-data-access@system.gserviceaccount.com before using this feature otherwise an error is thrown. - "dataSchema": "A String", # The schema to use when parsing the data from the source. Supported values for product imports: * `product` (default): One JSON Product per line. Each product must have a valid Product.id. * `product_merchant_center`: See [Importing catalog data from Merchant Center](https://cloud.google.com/retail/recommendations-ai/docs/upload-catalog#mc). Supported values for user events imports: * `user_event` (default): One JSON UserEvent per line. * `user_event_ga360`: The schema is available here: https://support.google.com/analytics/answer/3437719. * `user_event_ga4`: This feature is in private preview. Please contact the support team for importing Google Analytics 4 events. The schema is available here: https://support.google.com/analytics/answer/7029846. Supported values for auto-completion imports: * `suggestions` (default): One JSON completion suggestion per line. * `denylist`: One JSON deny suggestion per line. * `allowlist`: One JSON allow suggestion per line. + "dataSchema": "A String", # The schema to use when parsing the data from the source. Supported values for product imports: * `product` (default): One JSON Product per line. Each product must have a valid Product.id. * `product_merchant_center`: See [Importing catalog data from Merchant Center](https://cloud.google.com/retail/recommendations-ai/docs/upload-catalog#mc). Supported values for user events imports: * `user_event` (default): One JSON UserEvent per line. * `user_event_ga360`: The schema is available here: https://support.google.com/analytics/answer/3437719. * `user_event_ga4`: The schema is available here: https://support.google.com/analytics/answer/7029846. Supported values for auto-completion imports: * `suggestions` (default): One JSON completion suggestion per line. * `denylist`: One JSON deny suggestion per line. * `allowlist`: One JSON allow suggestion per line. "datasetId": "A String", # Required. The BigQuery data set to copy the data from with a length limit of 1,024 characters. "gcsStagingDir": "A String", # Intermediate Cloud Storage directory used for the import with a length limit of 2,000 characters. Can be specified if one wants to have the BigQuery export to a specific Cloud Storage directory. - "partitionDate": { # Represents a whole or partial calendar date, such as a birthday. The time of day and time zone are either specified elsewhere or are insignificant. The date is relative to the Gregorian Calendar. This can represent one of the following: * A full date, with non-zero year, month, and day values. * A month and day, with a zero year (for example, an anniversary). * A year on its own, with a zero month and a zero day. * A year and month, with a zero day (for example, a credit card expiration date). Related types: * google.type.TimeOfDay * google.type.DateTime * google.protobuf.Timestamp # BigQuery time partitioned table's _PARTITIONDATE in YYYY-MM-DD format. Only supported when ImportProductsRequest.reconciliation_mode is set to `FULL`. + "partitionDate": { # Represents a whole or partial calendar date, such as a birthday. The time of day and time zone are either specified elsewhere or are insignificant. The date is relative to the Gregorian Calendar. This can represent one of the following: * A full date, with non-zero year, month, and day values. * A month and day, with a zero year (for example, an anniversary). * A year on its own, with a zero month and a zero day. * A year and month, with a zero day (for example, a credit card expiration date). Related types: * google.type.TimeOfDay * google.type.DateTime * google.protobuf.Timestamp # BigQuery time partitioned table's _PARTITIONDATE in YYYY-MM-DD format. Only supported in ImportProductsRequest. "day": 42, # Day of a month. Must be from 1 to 31 and valid for the year and month, or 0 to specify a year by itself or a year and month where the day isn't significant. "month": 42, # Month of a year. Must be from 1 to 12, or 0 to specify a year without a month and day. "year": 42, # Year of the date. Must be from 1 to 9999, or 0 to specify a date without a year. @@ -567,15 +570,15 @@

Method Details

"lastDenylistImportOperation": "A String", # Output only. Name of the LRO corresponding to the latest denylist import. Can use GetOperation API to retrieve the latest state of the Long Running Operation. "lastSuggestionsImportOperation": "A String", # Output only. Name of the LRO corresponding to the latest suggestion terms list import. Can use GetOperation API to retrieve the latest state of the Long Running Operation. "matchingOrder": "A String", # Specifies the matching order for autocomplete suggestions, e.g., a query consisting of 'sh' with 'out-of-order' specified would suggest "women's shoes", whereas a query of 'red s' with 'exact-prefix' specified would suggest "red shoes". Currently supported values: * 'out-of-order' * 'exact-prefix' Default value: 'exact-prefix'. - "maxSuggestions": 42, # The maximum number of autocomplete suggestions returned per term. The maximum allowed max suggestions is 20. Default value is 20. If left unset or set to 0, then will fallback to default value. - "minPrefixLength": 42, # The minimum number of characters needed to be typed in order to get suggestions. Default value is 2. If left unset or set to 0, then will fallback to default value. + "maxSuggestions": 42, # The maximum number of autocomplete suggestions returned per term. Default value is 20. If left unset or set to 0, then will fallback to default value. Value range is 1 to 20. + "minPrefixLength": 42, # The minimum number of characters needed to be typed in order to get suggestions. Default value is 2. If left unset or set to 0, then will fallback to default value. Value range is 1 to 20. "name": "A String", # Required. Immutable. Fully qualified name `projects/*/locations/*/catalogs/*/completionConfig` "suggestionsInputConfig": { # The input config source for completion data. # Output only. The source data for the latest import of the autocomplete suggestion phrases. "bigQuerySource": { # BigQuery source import data from. # Required. BigQuery input source. Add the IAM permission "BigQuery Data Viewer" for cloud-retail-customer-data-access@system.gserviceaccount.com before using this feature otherwise an error is thrown. - "dataSchema": "A String", # The schema to use when parsing the data from the source. Supported values for product imports: * `product` (default): One JSON Product per line. Each product must have a valid Product.id. * `product_merchant_center`: See [Importing catalog data from Merchant Center](https://cloud.google.com/retail/recommendations-ai/docs/upload-catalog#mc). Supported values for user events imports: * `user_event` (default): One JSON UserEvent per line. * `user_event_ga360`: The schema is available here: https://support.google.com/analytics/answer/3437719. * `user_event_ga4`: This feature is in private preview. Please contact the support team for importing Google Analytics 4 events. The schema is available here: https://support.google.com/analytics/answer/7029846. Supported values for auto-completion imports: * `suggestions` (default): One JSON completion suggestion per line. * `denylist`: One JSON deny suggestion per line. * `allowlist`: One JSON allow suggestion per line. + "dataSchema": "A String", # The schema to use when parsing the data from the source. Supported values for product imports: * `product` (default): One JSON Product per line. Each product must have a valid Product.id. * `product_merchant_center`: See [Importing catalog data from Merchant Center](https://cloud.google.com/retail/recommendations-ai/docs/upload-catalog#mc). Supported values for user events imports: * `user_event` (default): One JSON UserEvent per line. * `user_event_ga360`: The schema is available here: https://support.google.com/analytics/answer/3437719. * `user_event_ga4`: The schema is available here: https://support.google.com/analytics/answer/7029846. Supported values for auto-completion imports: * `suggestions` (default): One JSON completion suggestion per line. * `denylist`: One JSON deny suggestion per line. * `allowlist`: One JSON allow suggestion per line. "datasetId": "A String", # Required. The BigQuery data set to copy the data from with a length limit of 1,024 characters. "gcsStagingDir": "A String", # Intermediate Cloud Storage directory used for the import with a length limit of 2,000 characters. Can be specified if one wants to have the BigQuery export to a specific Cloud Storage directory. - "partitionDate": { # Represents a whole or partial calendar date, such as a birthday. The time of day and time zone are either specified elsewhere or are insignificant. The date is relative to the Gregorian Calendar. This can represent one of the following: * A full date, with non-zero year, month, and day values. * A month and day, with a zero year (for example, an anniversary). * A year on its own, with a zero month and a zero day. * A year and month, with a zero day (for example, a credit card expiration date). Related types: * google.type.TimeOfDay * google.type.DateTime * google.protobuf.Timestamp # BigQuery time partitioned table's _PARTITIONDATE in YYYY-MM-DD format. Only supported when ImportProductsRequest.reconciliation_mode is set to `FULL`. + "partitionDate": { # Represents a whole or partial calendar date, such as a birthday. The time of day and time zone are either specified elsewhere or are insignificant. The date is relative to the Gregorian Calendar. This can represent one of the following: * A full date, with non-zero year, month, and day values. * A month and day, with a zero year (for example, an anniversary). * A year on its own, with a zero month and a zero day. * A year and month, with a zero day (for example, a credit card expiration date). Related types: * google.type.TimeOfDay * google.type.DateTime * google.protobuf.Timestamp # BigQuery time partitioned table's _PARTITIONDATE in YYYY-MM-DD format. Only supported in ImportProductsRequest. "day": 42, # Day of a month. Must be from 1 to 31 and valid for the year and month, or 0 to specify a year by itself or a year and month where the day isn't significant. "month": 42, # Month of a year. Must be from 1 to 12, or 0 to specify a year without a month and day. "year": 42, # Year of the date. Must be from 1 to 9999, or 0 to specify a date without a year. @@ -598,10 +601,10 @@

Method Details

{ # Catalog level autocomplete config for customers to customize autocomplete feature's settings. "allowlistInputConfig": { # The input config source for completion data. # Output only. The source data for the latest import of the autocomplete allowlist phrases. "bigQuerySource": { # BigQuery source import data from. # Required. BigQuery input source. Add the IAM permission "BigQuery Data Viewer" for cloud-retail-customer-data-access@system.gserviceaccount.com before using this feature otherwise an error is thrown. - "dataSchema": "A String", # The schema to use when parsing the data from the source. Supported values for product imports: * `product` (default): One JSON Product per line. Each product must have a valid Product.id. * `product_merchant_center`: See [Importing catalog data from Merchant Center](https://cloud.google.com/retail/recommendations-ai/docs/upload-catalog#mc). Supported values for user events imports: * `user_event` (default): One JSON UserEvent per line. * `user_event_ga360`: The schema is available here: https://support.google.com/analytics/answer/3437719. * `user_event_ga4`: This feature is in private preview. Please contact the support team for importing Google Analytics 4 events. The schema is available here: https://support.google.com/analytics/answer/7029846. Supported values for auto-completion imports: * `suggestions` (default): One JSON completion suggestion per line. * `denylist`: One JSON deny suggestion per line. * `allowlist`: One JSON allow suggestion per line. + "dataSchema": "A String", # The schema to use when parsing the data from the source. Supported values for product imports: * `product` (default): One JSON Product per line. Each product must have a valid Product.id. * `product_merchant_center`: See [Importing catalog data from Merchant Center](https://cloud.google.com/retail/recommendations-ai/docs/upload-catalog#mc). Supported values for user events imports: * `user_event` (default): One JSON UserEvent per line. * `user_event_ga360`: The schema is available here: https://support.google.com/analytics/answer/3437719. * `user_event_ga4`: The schema is available here: https://support.google.com/analytics/answer/7029846. Supported values for auto-completion imports: * `suggestions` (default): One JSON completion suggestion per line. * `denylist`: One JSON deny suggestion per line. * `allowlist`: One JSON allow suggestion per line. "datasetId": "A String", # Required. The BigQuery data set to copy the data from with a length limit of 1,024 characters. "gcsStagingDir": "A String", # Intermediate Cloud Storage directory used for the import with a length limit of 2,000 characters. Can be specified if one wants to have the BigQuery export to a specific Cloud Storage directory. - "partitionDate": { # Represents a whole or partial calendar date, such as a birthday. The time of day and time zone are either specified elsewhere or are insignificant. The date is relative to the Gregorian Calendar. This can represent one of the following: * A full date, with non-zero year, month, and day values. * A month and day, with a zero year (for example, an anniversary). * A year on its own, with a zero month and a zero day. * A year and month, with a zero day (for example, a credit card expiration date). Related types: * google.type.TimeOfDay * google.type.DateTime * google.protobuf.Timestamp # BigQuery time partitioned table's _PARTITIONDATE in YYYY-MM-DD format. Only supported when ImportProductsRequest.reconciliation_mode is set to `FULL`. + "partitionDate": { # Represents a whole or partial calendar date, such as a birthday. The time of day and time zone are either specified elsewhere or are insignificant. The date is relative to the Gregorian Calendar. This can represent one of the following: * A full date, with non-zero year, month, and day values. * A month and day, with a zero year (for example, an anniversary). * A year on its own, with a zero month and a zero day. * A year and month, with a zero day (for example, a credit card expiration date). Related types: * google.type.TimeOfDay * google.type.DateTime * google.protobuf.Timestamp # BigQuery time partitioned table's _PARTITIONDATE in YYYY-MM-DD format. Only supported in ImportProductsRequest. "day": 42, # Day of a month. Must be from 1 to 31 and valid for the year and month, or 0 to specify a year by itself or a year and month where the day isn't significant. "month": 42, # Month of a year. Must be from 1 to 12, or 0 to specify a year without a month and day. "year": 42, # Year of the date. Must be from 1 to 9999, or 0 to specify a date without a year. @@ -613,10 +616,10 @@

Method Details

"autoLearning": True or False, # If set to true, the auto learning function is enabled. Auto learning uses user data to generate suggestions using ML techniques. Default value is false. Only after enabling auto learning can users use `cloud-retail` data in CompleteQueryRequest. "denylistInputConfig": { # The input config source for completion data. # Output only. The source data for the latest import of the autocomplete denylist phrases. "bigQuerySource": { # BigQuery source import data from. # Required. BigQuery input source. Add the IAM permission "BigQuery Data Viewer" for cloud-retail-customer-data-access@system.gserviceaccount.com before using this feature otherwise an error is thrown. - "dataSchema": "A String", # The schema to use when parsing the data from the source. Supported values for product imports: * `product` (default): One JSON Product per line. Each product must have a valid Product.id. * `product_merchant_center`: See [Importing catalog data from Merchant Center](https://cloud.google.com/retail/recommendations-ai/docs/upload-catalog#mc). Supported values for user events imports: * `user_event` (default): One JSON UserEvent per line. * `user_event_ga360`: The schema is available here: https://support.google.com/analytics/answer/3437719. * `user_event_ga4`: This feature is in private preview. Please contact the support team for importing Google Analytics 4 events. The schema is available here: https://support.google.com/analytics/answer/7029846. Supported values for auto-completion imports: * `suggestions` (default): One JSON completion suggestion per line. * `denylist`: One JSON deny suggestion per line. * `allowlist`: One JSON allow suggestion per line. + "dataSchema": "A String", # The schema to use when parsing the data from the source. Supported values for product imports: * `product` (default): One JSON Product per line. Each product must have a valid Product.id. * `product_merchant_center`: See [Importing catalog data from Merchant Center](https://cloud.google.com/retail/recommendations-ai/docs/upload-catalog#mc). Supported values for user events imports: * `user_event` (default): One JSON UserEvent per line. * `user_event_ga360`: The schema is available here: https://support.google.com/analytics/answer/3437719. * `user_event_ga4`: The schema is available here: https://support.google.com/analytics/answer/7029846. Supported values for auto-completion imports: * `suggestions` (default): One JSON completion suggestion per line. * `denylist`: One JSON deny suggestion per line. * `allowlist`: One JSON allow suggestion per line. "datasetId": "A String", # Required. The BigQuery data set to copy the data from with a length limit of 1,024 characters. "gcsStagingDir": "A String", # Intermediate Cloud Storage directory used for the import with a length limit of 2,000 characters. Can be specified if one wants to have the BigQuery export to a specific Cloud Storage directory. - "partitionDate": { # Represents a whole or partial calendar date, such as a birthday. The time of day and time zone are either specified elsewhere or are insignificant. The date is relative to the Gregorian Calendar. This can represent one of the following: * A full date, with non-zero year, month, and day values. * A month and day, with a zero year (for example, an anniversary). * A year on its own, with a zero month and a zero day. * A year and month, with a zero day (for example, a credit card expiration date). Related types: * google.type.TimeOfDay * google.type.DateTime * google.protobuf.Timestamp # BigQuery time partitioned table's _PARTITIONDATE in YYYY-MM-DD format. Only supported when ImportProductsRequest.reconciliation_mode is set to `FULL`. + "partitionDate": { # Represents a whole or partial calendar date, such as a birthday. The time of day and time zone are either specified elsewhere or are insignificant. The date is relative to the Gregorian Calendar. This can represent one of the following: * A full date, with non-zero year, month, and day values. * A month and day, with a zero year (for example, an anniversary). * A year on its own, with a zero month and a zero day. * A year and month, with a zero day (for example, a credit card expiration date). Related types: * google.type.TimeOfDay * google.type.DateTime * google.protobuf.Timestamp # BigQuery time partitioned table's _PARTITIONDATE in YYYY-MM-DD format. Only supported in ImportProductsRequest. "day": 42, # Day of a month. Must be from 1 to 31 and valid for the year and month, or 0 to specify a year by itself or a year and month where the day isn't significant. "month": 42, # Month of a year. Must be from 1 to 12, or 0 to specify a year without a month and day. "year": 42, # Year of the date. Must be from 1 to 9999, or 0 to specify a date without a year. @@ -629,15 +632,15 @@

Method Details

"lastDenylistImportOperation": "A String", # Output only. Name of the LRO corresponding to the latest denylist import. Can use GetOperation API to retrieve the latest state of the Long Running Operation. "lastSuggestionsImportOperation": "A String", # Output only. Name of the LRO corresponding to the latest suggestion terms list import. Can use GetOperation API to retrieve the latest state of the Long Running Operation. "matchingOrder": "A String", # Specifies the matching order for autocomplete suggestions, e.g., a query consisting of 'sh' with 'out-of-order' specified would suggest "women's shoes", whereas a query of 'red s' with 'exact-prefix' specified would suggest "red shoes". Currently supported values: * 'out-of-order' * 'exact-prefix' Default value: 'exact-prefix'. - "maxSuggestions": 42, # The maximum number of autocomplete suggestions returned per term. The maximum allowed max suggestions is 20. Default value is 20. If left unset or set to 0, then will fallback to default value. - "minPrefixLength": 42, # The minimum number of characters needed to be typed in order to get suggestions. Default value is 2. If left unset or set to 0, then will fallback to default value. + "maxSuggestions": 42, # The maximum number of autocomplete suggestions returned per term. Default value is 20. If left unset or set to 0, then will fallback to default value. Value range is 1 to 20. + "minPrefixLength": 42, # The minimum number of characters needed to be typed in order to get suggestions. Default value is 2. If left unset or set to 0, then will fallback to default value. Value range is 1 to 20. "name": "A String", # Required. Immutable. Fully qualified name `projects/*/locations/*/catalogs/*/completionConfig` "suggestionsInputConfig": { # The input config source for completion data. # Output only. The source data for the latest import of the autocomplete suggestion phrases. "bigQuerySource": { # BigQuery source import data from. # Required. BigQuery input source. Add the IAM permission "BigQuery Data Viewer" for cloud-retail-customer-data-access@system.gserviceaccount.com before using this feature otherwise an error is thrown. - "dataSchema": "A String", # The schema to use when parsing the data from the source. Supported values for product imports: * `product` (default): One JSON Product per line. Each product must have a valid Product.id. * `product_merchant_center`: See [Importing catalog data from Merchant Center](https://cloud.google.com/retail/recommendations-ai/docs/upload-catalog#mc). Supported values for user events imports: * `user_event` (default): One JSON UserEvent per line. * `user_event_ga360`: The schema is available here: https://support.google.com/analytics/answer/3437719. * `user_event_ga4`: This feature is in private preview. Please contact the support team for importing Google Analytics 4 events. The schema is available here: https://support.google.com/analytics/answer/7029846. Supported values for auto-completion imports: * `suggestions` (default): One JSON completion suggestion per line. * `denylist`: One JSON deny suggestion per line. * `allowlist`: One JSON allow suggestion per line. + "dataSchema": "A String", # The schema to use when parsing the data from the source. Supported values for product imports: * `product` (default): One JSON Product per line. Each product must have a valid Product.id. * `product_merchant_center`: See [Importing catalog data from Merchant Center](https://cloud.google.com/retail/recommendations-ai/docs/upload-catalog#mc). Supported values for user events imports: * `user_event` (default): One JSON UserEvent per line. * `user_event_ga360`: The schema is available here: https://support.google.com/analytics/answer/3437719. * `user_event_ga4`: The schema is available here: https://support.google.com/analytics/answer/7029846. Supported values for auto-completion imports: * `suggestions` (default): One JSON completion suggestion per line. * `denylist`: One JSON deny suggestion per line. * `allowlist`: One JSON allow suggestion per line. "datasetId": "A String", # Required. The BigQuery data set to copy the data from with a length limit of 1,024 characters. "gcsStagingDir": "A String", # Intermediate Cloud Storage directory used for the import with a length limit of 2,000 characters. Can be specified if one wants to have the BigQuery export to a specific Cloud Storage directory. - "partitionDate": { # Represents a whole or partial calendar date, such as a birthday. The time of day and time zone are either specified elsewhere or are insignificant. The date is relative to the Gregorian Calendar. This can represent one of the following: * A full date, with non-zero year, month, and day values. * A month and day, with a zero year (for example, an anniversary). * A year on its own, with a zero month and a zero day. * A year and month, with a zero day (for example, a credit card expiration date). Related types: * google.type.TimeOfDay * google.type.DateTime * google.protobuf.Timestamp # BigQuery time partitioned table's _PARTITIONDATE in YYYY-MM-DD format. Only supported when ImportProductsRequest.reconciliation_mode is set to `FULL`. + "partitionDate": { # Represents a whole or partial calendar date, such as a birthday. The time of day and time zone are either specified elsewhere or are insignificant. The date is relative to the Gregorian Calendar. This can represent one of the following: * A full date, with non-zero year, month, and day values. * A month and day, with a zero year (for example, an anniversary). * A year on its own, with a zero month and a zero day. * A year and month, with a zero day (for example, a credit card expiration date). Related types: * google.type.TimeOfDay * google.type.DateTime * google.protobuf.Timestamp # BigQuery time partitioned table's _PARTITIONDATE in YYYY-MM-DD format. Only supported in ImportProductsRequest. "day": 42, # Day of a month. Must be from 1 to 31 and valid for the year and month, or 0 to specify a year by itself or a year and month where the day isn't significant. "month": 42, # Month of a year. Must be from 1 to 12, or 0 to specify a year without a month and day. "year": 42, # Year of the date. Must be from 1 to 9999, or 0 to specify a date without a year. diff --git a/docs/dyn/retail_v2alpha.projects.locations.catalogs.models.html b/docs/dyn/retail_v2alpha.projects.locations.catalogs.models.html index 9bd28c9cea1..996bed9629e 100644 --- a/docs/dyn/retail_v2alpha.projects.locations.catalogs.models.html +++ b/docs/dyn/retail_v2alpha.projects.locations.catalogs.models.html @@ -119,7 +119,7 @@

Method Details

{ # Metadata that describes the training and serving parameters of a Model. A Model can be associated with a ServingConfig and then queried through the Predict api. "createTime": "A String", # Output only. Timestamp the Recommendation Model was created at. "dataState": "A String", # Output only. The state of data requirements for this model: DATA_OK and DATA_ERROR. Recommendation model cannot be trained if the data is in DATA_ERROR state. Recommendation model can have DATA_ERROR state even if serving state is ACTIVE: models were trained successfully before, but cannot be refreshed because model no longer has sufficient data for training. - "displayName": "A String", # Required. The display name of the model. Should be human readable, used to display Recommendation Models in the Retail Pantheon Dashboard. UTF-8 encoded string with limit of 1024 characters. + "displayName": "A String", # Required. The display name of the model. Should be human readable, used to display Recommendation Models in the Retail Cloud Cosole Dashboard. UTF-8 encoded string with limit of 1024 characters. "filteringOption": "A String", # Optional. If RECOMMENDATIONS_FILTERING_ENABLED, recommendation filtering by attributes is enabled for the model. "lastTuneTime": "A String", # Output only. The timestamp when the latest successful tune finished. "name": "A String", # Required. The fully qualified resource name of the model. Format: projects/{project_number}/locations/{location_id}/catalogs/{catalog_id}/models/{model_id} catalog_id has char limit of 50. recommendation_model_id has char limit of 40. @@ -142,6 +142,13 @@

Method Details

"restriction": "A String", # Optional. How to restrict results across panels e.g. can the same ServingConfig be shown on multiple panels at once. If unspecified, default to `UNIQUE_MODEL_RESTRICTION`. }, "periodicTuningState": "A String", # Optional. The state of periodic tuning. The period we use is 3 months - to do a one-off tune earlier use the TuneModel method. Default value is PERIODIC_TUNING_ENABLED. + "servingConfigLists": [ # Output only. The list of valid serving configs associated with the PageOptimizationConfig. + { # Represents an ordered combination of valid serving configs, which / may be used for PAGE_OPTIMIZATION recommendations. + "servingConfigIds": [ # Optional. A set of valid serving configs that may be used for PAGE_OPTIMIZATION. + "A String", + ], + }, + ], "servingState": "A String", # Output only. The serving state of the model: ACTIVE, NOT_ACTIVE. "trainingState": "A String", # Optional. The training state that the model is in (e.g. TRAINING or PAUSED). Since part of the cost of running the service is frequency of training - this can be used to determine when to train model in order to control cost. If not specified: the default value for CreateModel method is TRAINING. the default value for UpdateModel method is to keep the state the same as before. "tuningOperation": "A String", # Output only. The tune operation associated with the model. Can be used to determine if there is an ongoing tune for this recommendation. Empty field implies no tune is goig on. @@ -218,7 +225,7 @@

Method Details

{ # Metadata that describes the training and serving parameters of a Model. A Model can be associated with a ServingConfig and then queried through the Predict api. "createTime": "A String", # Output only. Timestamp the Recommendation Model was created at. "dataState": "A String", # Output only. The state of data requirements for this model: DATA_OK and DATA_ERROR. Recommendation model cannot be trained if the data is in DATA_ERROR state. Recommendation model can have DATA_ERROR state even if serving state is ACTIVE: models were trained successfully before, but cannot be refreshed because model no longer has sufficient data for training. - "displayName": "A String", # Required. The display name of the model. Should be human readable, used to display Recommendation Models in the Retail Pantheon Dashboard. UTF-8 encoded string with limit of 1024 characters. + "displayName": "A String", # Required. The display name of the model. Should be human readable, used to display Recommendation Models in the Retail Cloud Cosole Dashboard. UTF-8 encoded string with limit of 1024 characters. "filteringOption": "A String", # Optional. If RECOMMENDATIONS_FILTERING_ENABLED, recommendation filtering by attributes is enabled for the model. "lastTuneTime": "A String", # Output only. The timestamp when the latest successful tune finished. "name": "A String", # Required. The fully qualified resource name of the model. Format: projects/{project_number}/locations/{location_id}/catalogs/{catalog_id}/models/{model_id} catalog_id has char limit of 50. recommendation_model_id has char limit of 40. @@ -241,6 +248,13 @@

Method Details

"restriction": "A String", # Optional. How to restrict results across panels e.g. can the same ServingConfig be shown on multiple panels at once. If unspecified, default to `UNIQUE_MODEL_RESTRICTION`. }, "periodicTuningState": "A String", # Optional. The state of periodic tuning. The period we use is 3 months - to do a one-off tune earlier use the TuneModel method. Default value is PERIODIC_TUNING_ENABLED. + "servingConfigLists": [ # Output only. The list of valid serving configs associated with the PageOptimizationConfig. + { # Represents an ordered combination of valid serving configs, which / may be used for PAGE_OPTIMIZATION recommendations. + "servingConfigIds": [ # Optional. A set of valid serving configs that may be used for PAGE_OPTIMIZATION. + "A String", + ], + }, + ], "servingState": "A String", # Output only. The serving state of the model: ACTIVE, NOT_ACTIVE. "trainingState": "A String", # Optional. The training state that the model is in (e.g. TRAINING or PAUSED). Since part of the cost of running the service is frequency of training - this can be used to determine when to train model in order to control cost. If not specified: the default value for CreateModel method is TRAINING. the default value for UpdateModel method is to keep the state the same as before. "tuningOperation": "A String", # Output only. The tune operation associated with the model. Can be used to determine if there is an ongoing tune for this recommendation. Empty field implies no tune is goig on. @@ -278,7 +292,7 @@

Method Details

{ # Metadata that describes the training and serving parameters of a Model. A Model can be associated with a ServingConfig and then queried through the Predict api. "createTime": "A String", # Output only. Timestamp the Recommendation Model was created at. "dataState": "A String", # Output only. The state of data requirements for this model: DATA_OK and DATA_ERROR. Recommendation model cannot be trained if the data is in DATA_ERROR state. Recommendation model can have DATA_ERROR state even if serving state is ACTIVE: models were trained successfully before, but cannot be refreshed because model no longer has sufficient data for training. - "displayName": "A String", # Required. The display name of the model. Should be human readable, used to display Recommendation Models in the Retail Pantheon Dashboard. UTF-8 encoded string with limit of 1024 characters. + "displayName": "A String", # Required. The display name of the model. Should be human readable, used to display Recommendation Models in the Retail Cloud Cosole Dashboard. UTF-8 encoded string with limit of 1024 characters. "filteringOption": "A String", # Optional. If RECOMMENDATIONS_FILTERING_ENABLED, recommendation filtering by attributes is enabled for the model. "lastTuneTime": "A String", # Output only. The timestamp when the latest successful tune finished. "name": "A String", # Required. The fully qualified resource name of the model. Format: projects/{project_number}/locations/{location_id}/catalogs/{catalog_id}/models/{model_id} catalog_id has char limit of 50. recommendation_model_id has char limit of 40. @@ -301,6 +315,13 @@

Method Details

"restriction": "A String", # Optional. How to restrict results across panels e.g. can the same ServingConfig be shown on multiple panels at once. If unspecified, default to `UNIQUE_MODEL_RESTRICTION`. }, "periodicTuningState": "A String", # Optional. The state of periodic tuning. The period we use is 3 months - to do a one-off tune earlier use the TuneModel method. Default value is PERIODIC_TUNING_ENABLED. + "servingConfigLists": [ # Output only. The list of valid serving configs associated with the PageOptimizationConfig. + { # Represents an ordered combination of valid serving configs, which / may be used for PAGE_OPTIMIZATION recommendations. + "servingConfigIds": [ # Optional. A set of valid serving configs that may be used for PAGE_OPTIMIZATION. + "A String", + ], + }, + ], "servingState": "A String", # Output only. The serving state of the model: ACTIVE, NOT_ACTIVE. "trainingState": "A String", # Optional. The training state that the model is in (e.g. TRAINING or PAUSED). Since part of the cost of running the service is frequency of training - this can be used to determine when to train model in order to control cost. If not specified: the default value for CreateModel method is TRAINING. the default value for UpdateModel method is to keep the state the same as before. "tuningOperation": "A String", # Output only. The tune operation associated with the model. Can be used to determine if there is an ongoing tune for this recommendation. Empty field implies no tune is goig on. @@ -320,7 +341,7 @@

Method Details

{ # Metadata that describes the training and serving parameters of a Model. A Model can be associated with a ServingConfig and then queried through the Predict api. "createTime": "A String", # Output only. Timestamp the Recommendation Model was created at. "dataState": "A String", # Output only. The state of data requirements for this model: DATA_OK and DATA_ERROR. Recommendation model cannot be trained if the data is in DATA_ERROR state. Recommendation model can have DATA_ERROR state even if serving state is ACTIVE: models were trained successfully before, but cannot be refreshed because model no longer has sufficient data for training. - "displayName": "A String", # Required. The display name of the model. Should be human readable, used to display Recommendation Models in the Retail Pantheon Dashboard. UTF-8 encoded string with limit of 1024 characters. + "displayName": "A String", # Required. The display name of the model. Should be human readable, used to display Recommendation Models in the Retail Cloud Cosole Dashboard. UTF-8 encoded string with limit of 1024 characters. "filteringOption": "A String", # Optional. If RECOMMENDATIONS_FILTERING_ENABLED, recommendation filtering by attributes is enabled for the model. "lastTuneTime": "A String", # Output only. The timestamp when the latest successful tune finished. "name": "A String", # Required. The fully qualified resource name of the model. Format: projects/{project_number}/locations/{location_id}/catalogs/{catalog_id}/models/{model_id} catalog_id has char limit of 50. recommendation_model_id has char limit of 40. @@ -343,6 +364,13 @@

Method Details

"restriction": "A String", # Optional. How to restrict results across panels e.g. can the same ServingConfig be shown on multiple panels at once. If unspecified, default to `UNIQUE_MODEL_RESTRICTION`. }, "periodicTuningState": "A String", # Optional. The state of periodic tuning. The period we use is 3 months - to do a one-off tune earlier use the TuneModel method. Default value is PERIODIC_TUNING_ENABLED. + "servingConfigLists": [ # Output only. The list of valid serving configs associated with the PageOptimizationConfig. + { # Represents an ordered combination of valid serving configs, which / may be used for PAGE_OPTIMIZATION recommendations. + "servingConfigIds": [ # Optional. A set of valid serving configs that may be used for PAGE_OPTIMIZATION. + "A String", + ], + }, + ], "servingState": "A String", # Output only. The serving state of the model: ACTIVE, NOT_ACTIVE. "trainingState": "A String", # Optional. The training state that the model is in (e.g. TRAINING or PAUSED). Since part of the cost of running the service is frequency of training - this can be used to determine when to train model in order to control cost. If not specified: the default value for CreateModel method is TRAINING. the default value for UpdateModel method is to keep the state the same as before. "tuningOperation": "A String", # Output only. The tune operation associated with the model. Can be used to determine if there is an ongoing tune for this recommendation. Empty field implies no tune is goig on. @@ -374,7 +402,7 @@

Method Details

{ # Metadata that describes the training and serving parameters of a Model. A Model can be associated with a ServingConfig and then queried through the Predict api. "createTime": "A String", # Output only. Timestamp the Recommendation Model was created at. "dataState": "A String", # Output only. The state of data requirements for this model: DATA_OK and DATA_ERROR. Recommendation model cannot be trained if the data is in DATA_ERROR state. Recommendation model can have DATA_ERROR state even if serving state is ACTIVE: models were trained successfully before, but cannot be refreshed because model no longer has sufficient data for training. - "displayName": "A String", # Required. The display name of the model. Should be human readable, used to display Recommendation Models in the Retail Pantheon Dashboard. UTF-8 encoded string with limit of 1024 characters. + "displayName": "A String", # Required. The display name of the model. Should be human readable, used to display Recommendation Models in the Retail Cloud Cosole Dashboard. UTF-8 encoded string with limit of 1024 characters. "filteringOption": "A String", # Optional. If RECOMMENDATIONS_FILTERING_ENABLED, recommendation filtering by attributes is enabled for the model. "lastTuneTime": "A String", # Output only. The timestamp when the latest successful tune finished. "name": "A String", # Required. The fully qualified resource name of the model. Format: projects/{project_number}/locations/{location_id}/catalogs/{catalog_id}/models/{model_id} catalog_id has char limit of 50. recommendation_model_id has char limit of 40. @@ -397,6 +425,13 @@

Method Details

"restriction": "A String", # Optional. How to restrict results across panels e.g. can the same ServingConfig be shown on multiple panels at once. If unspecified, default to `UNIQUE_MODEL_RESTRICTION`. }, "periodicTuningState": "A String", # Optional. The state of periodic tuning. The period we use is 3 months - to do a one-off tune earlier use the TuneModel method. Default value is PERIODIC_TUNING_ENABLED. + "servingConfigLists": [ # Output only. The list of valid serving configs associated with the PageOptimizationConfig. + { # Represents an ordered combination of valid serving configs, which / may be used for PAGE_OPTIMIZATION recommendations. + "servingConfigIds": [ # Optional. A set of valid serving configs that may be used for PAGE_OPTIMIZATION. + "A String", + ], + }, + ], "servingState": "A String", # Output only. The serving state of the model: ACTIVE, NOT_ACTIVE. "trainingState": "A String", # Optional. The training state that the model is in (e.g. TRAINING or PAUSED). Since part of the cost of running the service is frequency of training - this can be used to determine when to train model in order to control cost. If not specified: the default value for CreateModel method is TRAINING. the default value for UpdateModel method is to keep the state the same as before. "tuningOperation": "A String", # Output only. The tune operation associated with the model. Can be used to determine if there is an ongoing tune for this recommendation. Empty field implies no tune is goig on. @@ -428,7 +463,7 @@

Method Details

{ # Metadata that describes the training and serving parameters of a Model. A Model can be associated with a ServingConfig and then queried through the Predict api. "createTime": "A String", # Output only. Timestamp the Recommendation Model was created at. "dataState": "A String", # Output only. The state of data requirements for this model: DATA_OK and DATA_ERROR. Recommendation model cannot be trained if the data is in DATA_ERROR state. Recommendation model can have DATA_ERROR state even if serving state is ACTIVE: models were trained successfully before, but cannot be refreshed because model no longer has sufficient data for training. - "displayName": "A String", # Required. The display name of the model. Should be human readable, used to display Recommendation Models in the Retail Pantheon Dashboard. UTF-8 encoded string with limit of 1024 characters. + "displayName": "A String", # Required. The display name of the model. Should be human readable, used to display Recommendation Models in the Retail Cloud Cosole Dashboard. UTF-8 encoded string with limit of 1024 characters. "filteringOption": "A String", # Optional. If RECOMMENDATIONS_FILTERING_ENABLED, recommendation filtering by attributes is enabled for the model. "lastTuneTime": "A String", # Output only. The timestamp when the latest successful tune finished. "name": "A String", # Required. The fully qualified resource name of the model. Format: projects/{project_number}/locations/{location_id}/catalogs/{catalog_id}/models/{model_id} catalog_id has char limit of 50. recommendation_model_id has char limit of 40. @@ -451,6 +486,13 @@

Method Details

"restriction": "A String", # Optional. How to restrict results across panels e.g. can the same ServingConfig be shown on multiple panels at once. If unspecified, default to `UNIQUE_MODEL_RESTRICTION`. }, "periodicTuningState": "A String", # Optional. The state of periodic tuning. The period we use is 3 months - to do a one-off tune earlier use the TuneModel method. Default value is PERIODIC_TUNING_ENABLED. + "servingConfigLists": [ # Output only. The list of valid serving configs associated with the PageOptimizationConfig. + { # Represents an ordered combination of valid serving configs, which / may be used for PAGE_OPTIMIZATION recommendations. + "servingConfigIds": [ # Optional. A set of valid serving configs that may be used for PAGE_OPTIMIZATION. + "A String", + ], + }, + ], "servingState": "A String", # Output only. The serving state of the model: ACTIVE, NOT_ACTIVE. "trainingState": "A String", # Optional. The training state that the model is in (e.g. TRAINING or PAUSED). Since part of the cost of running the service is frequency of training - this can be used to determine when to train model in order to control cost. If not specified: the default value for CreateModel method is TRAINING. the default value for UpdateModel method is to keep the state the same as before. "tuningOperation": "A String", # Output only. The tune operation associated with the model. Can be used to determine if there is an ongoing tune for this recommendation. Empty field implies no tune is goig on. diff --git a/docs/dyn/retail_v2alpha.projects.locations.catalogs.placements.html b/docs/dyn/retail_v2alpha.projects.locations.catalogs.placements.html index fe3f10d4a3f..57981a572c9 100644 --- a/docs/dyn/retail_v2alpha.projects.locations.catalogs.placements.html +++ b/docs/dyn/retail_v2alpha.projects.locations.catalogs.placements.html @@ -175,7 +175,7 @@

Method Details

"categories": [ # Product categories. This field is repeated for supporting one product belonging to several parallel categories. Strongly recommended using the full path for better search / recommendation quality. To represent full path of category, use '>' sign to separate different hierarchies. If '>' is part of the category name, please replace it with other character(s). For example, if a shoes product belongs to both ["Shoes & Accessories" -> "Shoes"] and ["Sports & Fitness" -> "Athletic Clothing" -> "Shoes"], it could be represented as: "categories": [ "Shoes & Accessories > Shoes", "Sports & Fitness > Athletic Clothing > Shoes" ] Must be set for Type.PRIMARY Product otherwise an INVALID_ARGUMENT error is returned. At most 250 values are allowed per Product. Empty values are not allowed. Each value must be a UTF-8 encoded string with a length limit of 5,000 characters. Otherwise, an INVALID_ARGUMENT error is returned. Corresponding properties: Google Merchant Center property google_product_category. Schema.org property [Product.category] (https://schema.org/category). [mc_google_product_category]: https://support.google.com/merchants/answer/6324436 "A String", ], - "collectionMemberIds": [ # The id of the collection members when type is Type.COLLECTION. Non-existent product ids are allowed. The type of the members must be either Type.PRIMARY or Type.VARIANT otherwise and INVALID_ARGUMENT error is thrown. Should not set it for other types. A maximum of 1000 values are allowed. Otherwise, an INVALID_ARGUMENT error is return. + "collectionMemberIds": [ # The id of the collection members when type is Type.COLLECTION. Non-existent product ids are allowed. The type of the members must be either Type.PRIMARY or Type.VARIANT otherwise an INVALID_ARGUMENT error is thrown. Should not set it for other types. A maximum of 1000 values are allowed. Otherwise, an INVALID_ARGUMENT error is return. "A String", ], "colorInfo": { # The color information of a Product. # The color of the product. Corresponding properties: Google Merchant Center property [color](https://support.google.com/merchants/answer/6324487). Schema.org property [Product.color](https://schema.org/color). @@ -369,6 +369,7 @@

Method Details

"restrictedValues": [ # Only get facet for the given restricted values. For example, when using "pickupInStore" as key and set restricted values to ["store123", "store456"], only facets for "store123" and "store456" are returned. Only supported on predefined textual fields, custom textual attributes and fulfillments. Maximum is 20. Must be set for the fulfillment facet keys: * pickupInStore * shipToStore * sameDayDelivery * nextDayDelivery * customFulfillment1 * customFulfillment2 * customFulfillment3 * customFulfillment4 * customFulfillment5 "A String", ], + "returnMinMax": True or False, # Returns the min and max value for each numerical facet intervals. Ignored for textual facets. }, "limit": 42, # Maximum of facet values that should be returned for this facet. If unspecified, defaults to 20. The maximum allowed value is 300. Values above 300 will be coerced to 300. If this field is negative, an INVALID_ARGUMENT is returned. }, @@ -436,6 +437,8 @@

Method Details

"maximum": 3.14, # Inclusive upper bound. "minimum": 3.14, # Inclusive lower bound. }, + "maxValue": 3.14, # The maximum value in the FacetValue.interval. Only supported on numerical facets and returned if SearchRequest.FacetSpec.FacetKey.return_min_max is true. + "minValue": 3.14, # The minimum value in the FacetValue.interval. Only supported on numerical facets and returned if SearchRequest.FacetSpec.FacetKey.return_min_max is true. "value": "A String", # Text value of a facet, such as "Black" for facet "colorFamilies". }, ], @@ -460,6 +463,9 @@

Method Details

"matchingVariantFields": { # If a variant Product matches the search query, this map indicates which Product fields are matched. The key is the Product.name, the value is a field mask of the matched Product fields. If matched attributes cannot be determined, this map will be empty. For example, a key "sku1" with field mask "products.color_info" indicates there is a match between "sku1" ColorInfo and the query. "a_key": "A String", }, + "personalLabels": [ # Specifies previous events related to this product for this user based on UserEvent with same SearchRequest.visitor_id or UserInfo.user_id. This is set only when SearchRequest.PersonalizationSpec.mode is SearchRequest.PersonalizationSpec.Mode.AUTO. Possible values: * `purchased`: Indicates that this product has been purchased before. + "A String", + ], "product": { # Product captures all metadata information of items to be recommended or searched. # The product data snippet in the search response. Only Product.name is guaranteed to be populated. Product.variants contains the product variants that match the search query. If there are multiple product variants matching the query, top 5 most relevant product variants are returned and ordered by relevancy. If relevancy can be deternmined, use matching_variant_fields to look up matched product variants fields. If relevancy cannot be determined, e.g. when searching "shoe" all products in a shoe product can be a match, 5 product variants are returned but order is meaningless. "attributes": { # Highly encouraged. Extra product attributes to be included. For example, for products, this could include the store name, vendor, style, color, etc. These are very strong signals for recommendation model, thus we highly recommend providing the attributes here. Features that can take on one of a limited number of possible values. Two types of features can be set are: Textual features. some examples would be the brand/maker of a product, or country of a customer. Numerical features. Some examples would be the height/weight of a product, or age of a customer. For example: `{ "vendor": {"text": ["vendor123", "vendor456"]}, "lengths_cm": {"numbers":[2.3, 15.4]}, "heights_cm": {"numbers":[8.1, 6.4]} }`. This field needs to pass all below criteria, otherwise an INVALID_ARGUMENT error is returned: * Max entries count: 200. * The key must be a UTF-8 encoded string with a length limit of 128 characters. * For indexable attribute, the key must match the pattern: `a-zA-Z0-9*`. For example, `key0LikeThis` or `KEY_1_LIKE_THIS`. * For text attributes, at most 400 values are allowed. Empty values are not allowed. Each value must be a non-empty UTF-8 encoded string with a length limit of 256 characters. * For number attributes, at most 400 values are allowed. "a_key": { # A custom attribute that is not explicitly modeled in Product. @@ -490,7 +496,7 @@

Method Details

"categories": [ # Product categories. This field is repeated for supporting one product belonging to several parallel categories. Strongly recommended using the full path for better search / recommendation quality. To represent full path of category, use '>' sign to separate different hierarchies. If '>' is part of the category name, please replace it with other character(s). For example, if a shoes product belongs to both ["Shoes & Accessories" -> "Shoes"] and ["Sports & Fitness" -> "Athletic Clothing" -> "Shoes"], it could be represented as: "categories": [ "Shoes & Accessories > Shoes", "Sports & Fitness > Athletic Clothing > Shoes" ] Must be set for Type.PRIMARY Product otherwise an INVALID_ARGUMENT error is returned. At most 250 values are allowed per Product. Empty values are not allowed. Each value must be a UTF-8 encoded string with a length limit of 5,000 characters. Otherwise, an INVALID_ARGUMENT error is returned. Corresponding properties: Google Merchant Center property google_product_category. Schema.org property [Product.category] (https://schema.org/category). [mc_google_product_category]: https://support.google.com/merchants/answer/6324436 "A String", ], - "collectionMemberIds": [ # The id of the collection members when type is Type.COLLECTION. Non-existent product ids are allowed. The type of the members must be either Type.PRIMARY or Type.VARIANT otherwise and INVALID_ARGUMENT error is thrown. Should not set it for other types. A maximum of 1000 values are allowed. Otherwise, an INVALID_ARGUMENT error is return. + "collectionMemberIds": [ # The id of the collection members when type is Type.COLLECTION. Non-existent product ids are allowed. The type of the members must be either Type.PRIMARY or Type.VARIANT otherwise an INVALID_ARGUMENT error is thrown. Should not set it for other types. A maximum of 1000 values are allowed. Otherwise, an INVALID_ARGUMENT error is return. "A String", ], "colorInfo": { # The color information of a Product. # The color of the product. Corresponding properties: Google Merchant Center property [color](https://support.google.com/merchants/answer/6324487). Schema.org property [Product.color](https://schema.org/color). diff --git a/docs/dyn/retail_v2alpha.projects.locations.catalogs.servingConfigs.html b/docs/dyn/retail_v2alpha.projects.locations.catalogs.servingConfigs.html index 3529955f892..878a80d4213 100644 --- a/docs/dyn/retail_v2alpha.projects.locations.catalogs.servingConfigs.html +++ b/docs/dyn/retail_v2alpha.projects.locations.catalogs.servingConfigs.html @@ -622,7 +622,7 @@

Method Details

"categories": [ # Product categories. This field is repeated for supporting one product belonging to several parallel categories. Strongly recommended using the full path for better search / recommendation quality. To represent full path of category, use '>' sign to separate different hierarchies. If '>' is part of the category name, please replace it with other character(s). For example, if a shoes product belongs to both ["Shoes & Accessories" -> "Shoes"] and ["Sports & Fitness" -> "Athletic Clothing" -> "Shoes"], it could be represented as: "categories": [ "Shoes & Accessories > Shoes", "Sports & Fitness > Athletic Clothing > Shoes" ] Must be set for Type.PRIMARY Product otherwise an INVALID_ARGUMENT error is returned. At most 250 values are allowed per Product. Empty values are not allowed. Each value must be a UTF-8 encoded string with a length limit of 5,000 characters. Otherwise, an INVALID_ARGUMENT error is returned. Corresponding properties: Google Merchant Center property google_product_category. Schema.org property [Product.category] (https://schema.org/category). [mc_google_product_category]: https://support.google.com/merchants/answer/6324436 "A String", ], - "collectionMemberIds": [ # The id of the collection members when type is Type.COLLECTION. Non-existent product ids are allowed. The type of the members must be either Type.PRIMARY or Type.VARIANT otherwise and INVALID_ARGUMENT error is thrown. Should not set it for other types. A maximum of 1000 values are allowed. Otherwise, an INVALID_ARGUMENT error is return. + "collectionMemberIds": [ # The id of the collection members when type is Type.COLLECTION. Non-existent product ids are allowed. The type of the members must be either Type.PRIMARY or Type.VARIANT otherwise an INVALID_ARGUMENT error is thrown. Should not set it for other types. A maximum of 1000 values are allowed. Otherwise, an INVALID_ARGUMENT error is return. "A String", ], "colorInfo": { # The color information of a Product. # The color of the product. Corresponding properties: Google Merchant Center property [color](https://support.google.com/merchants/answer/6324487). Schema.org property [Product.color](https://schema.org/color). @@ -880,6 +880,7 @@

Method Details

"restrictedValues": [ # Only get facet for the given restricted values. For example, when using "pickupInStore" as key and set restricted values to ["store123", "store456"], only facets for "store123" and "store456" are returned. Only supported on predefined textual fields, custom textual attributes and fulfillments. Maximum is 20. Must be set for the fulfillment facet keys: * pickupInStore * shipToStore * sameDayDelivery * nextDayDelivery * customFulfillment1 * customFulfillment2 * customFulfillment3 * customFulfillment4 * customFulfillment5 "A String", ], + "returnMinMax": True or False, # Returns the min and max value for each numerical facet intervals. Ignored for textual facets. }, "limit": 42, # Maximum of facet values that should be returned for this facet. If unspecified, defaults to 20. The maximum allowed value is 300. Values above 300 will be coerced to 300. If this field is negative, an INVALID_ARGUMENT is returned. }, @@ -947,6 +948,8 @@

Method Details

"maximum": 3.14, # Inclusive upper bound. "minimum": 3.14, # Inclusive lower bound. }, + "maxValue": 3.14, # The maximum value in the FacetValue.interval. Only supported on numerical facets and returned if SearchRequest.FacetSpec.FacetKey.return_min_max is true. + "minValue": 3.14, # The minimum value in the FacetValue.interval. Only supported on numerical facets and returned if SearchRequest.FacetSpec.FacetKey.return_min_max is true. "value": "A String", # Text value of a facet, such as "Black" for facet "colorFamilies". }, ], @@ -971,6 +974,9 @@

Method Details

"matchingVariantFields": { # If a variant Product matches the search query, this map indicates which Product fields are matched. The key is the Product.name, the value is a field mask of the matched Product fields. If matched attributes cannot be determined, this map will be empty. For example, a key "sku1" with field mask "products.color_info" indicates there is a match between "sku1" ColorInfo and the query. "a_key": "A String", }, + "personalLabels": [ # Specifies previous events related to this product for this user based on UserEvent with same SearchRequest.visitor_id or UserInfo.user_id. This is set only when SearchRequest.PersonalizationSpec.mode is SearchRequest.PersonalizationSpec.Mode.AUTO. Possible values: * `purchased`: Indicates that this product has been purchased before. + "A String", + ], "product": { # Product captures all metadata information of items to be recommended or searched. # The product data snippet in the search response. Only Product.name is guaranteed to be populated. Product.variants contains the product variants that match the search query. If there are multiple product variants matching the query, top 5 most relevant product variants are returned and ordered by relevancy. If relevancy can be deternmined, use matching_variant_fields to look up matched product variants fields. If relevancy cannot be determined, e.g. when searching "shoe" all products in a shoe product can be a match, 5 product variants are returned but order is meaningless. "attributes": { # Highly encouraged. Extra product attributes to be included. For example, for products, this could include the store name, vendor, style, color, etc. These are very strong signals for recommendation model, thus we highly recommend providing the attributes here. Features that can take on one of a limited number of possible values. Two types of features can be set are: Textual features. some examples would be the brand/maker of a product, or country of a customer. Numerical features. Some examples would be the height/weight of a product, or age of a customer. For example: `{ "vendor": {"text": ["vendor123", "vendor456"]}, "lengths_cm": {"numbers":[2.3, 15.4]}, "heights_cm": {"numbers":[8.1, 6.4]} }`. This field needs to pass all below criteria, otherwise an INVALID_ARGUMENT error is returned: * Max entries count: 200. * The key must be a UTF-8 encoded string with a length limit of 128 characters. * For indexable attribute, the key must match the pattern: `a-zA-Z0-9*`. For example, `key0LikeThis` or `KEY_1_LIKE_THIS`. * For text attributes, at most 400 values are allowed. Empty values are not allowed. Each value must be a non-empty UTF-8 encoded string with a length limit of 256 characters. * For number attributes, at most 400 values are allowed. "a_key": { # A custom attribute that is not explicitly modeled in Product. @@ -1001,7 +1007,7 @@

Method Details

"categories": [ # Product categories. This field is repeated for supporting one product belonging to several parallel categories. Strongly recommended using the full path for better search / recommendation quality. To represent full path of category, use '>' sign to separate different hierarchies. If '>' is part of the category name, please replace it with other character(s). For example, if a shoes product belongs to both ["Shoes & Accessories" -> "Shoes"] and ["Sports & Fitness" -> "Athletic Clothing" -> "Shoes"], it could be represented as: "categories": [ "Shoes & Accessories > Shoes", "Sports & Fitness > Athletic Clothing > Shoes" ] Must be set for Type.PRIMARY Product otherwise an INVALID_ARGUMENT error is returned. At most 250 values are allowed per Product. Empty values are not allowed. Each value must be a UTF-8 encoded string with a length limit of 5,000 characters. Otherwise, an INVALID_ARGUMENT error is returned. Corresponding properties: Google Merchant Center property google_product_category. Schema.org property [Product.category] (https://schema.org/category). [mc_google_product_category]: https://support.google.com/merchants/answer/6324436 "A String", ], - "collectionMemberIds": [ # The id of the collection members when type is Type.COLLECTION. Non-existent product ids are allowed. The type of the members must be either Type.PRIMARY or Type.VARIANT otherwise and INVALID_ARGUMENT error is thrown. Should not set it for other types. A maximum of 1000 values are allowed. Otherwise, an INVALID_ARGUMENT error is return. + "collectionMemberIds": [ # The id of the collection members when type is Type.COLLECTION. Non-existent product ids are allowed. The type of the members must be either Type.PRIMARY or Type.VARIANT otherwise an INVALID_ARGUMENT error is thrown. Should not set it for other types. A maximum of 1000 values are allowed. Otherwise, an INVALID_ARGUMENT error is return. "A String", ], "colorInfo": { # The color information of a Product. # The color of the product. Corresponding properties: Google Merchant Center property [color](https://support.google.com/merchants/answer/6324487). Schema.org property [Product.color](https://schema.org/color). diff --git a/docs/dyn/retail_v2alpha.projects.locations.catalogs.userEvents.html b/docs/dyn/retail_v2alpha.projects.locations.catalogs.userEvents.html index b2d66b871ba..051515e6915 100644 --- a/docs/dyn/retail_v2alpha.projects.locations.catalogs.userEvents.html +++ b/docs/dyn/retail_v2alpha.projects.locations.catalogs.userEvents.html @@ -141,10 +141,10 @@

Method Details

}, "inputConfig": { # The input config source for user events. # Required. The desired input location of the data. "bigQuerySource": { # BigQuery source import data from. # Required. BigQuery input source. - "dataSchema": "A String", # The schema to use when parsing the data from the source. Supported values for product imports: * `product` (default): One JSON Product per line. Each product must have a valid Product.id. * `product_merchant_center`: See [Importing catalog data from Merchant Center](https://cloud.google.com/retail/recommendations-ai/docs/upload-catalog#mc). Supported values for user events imports: * `user_event` (default): One JSON UserEvent per line. * `user_event_ga360`: The schema is available here: https://support.google.com/analytics/answer/3437719. * `user_event_ga4`: This feature is in private preview. Please contact the support team for importing Google Analytics 4 events. The schema is available here: https://support.google.com/analytics/answer/7029846. Supported values for auto-completion imports: * `suggestions` (default): One JSON completion suggestion per line. * `denylist`: One JSON deny suggestion per line. * `allowlist`: One JSON allow suggestion per line. + "dataSchema": "A String", # The schema to use when parsing the data from the source. Supported values for product imports: * `product` (default): One JSON Product per line. Each product must have a valid Product.id. * `product_merchant_center`: See [Importing catalog data from Merchant Center](https://cloud.google.com/retail/recommendations-ai/docs/upload-catalog#mc). Supported values for user events imports: * `user_event` (default): One JSON UserEvent per line. * `user_event_ga360`: The schema is available here: https://support.google.com/analytics/answer/3437719. * `user_event_ga4`: The schema is available here: https://support.google.com/analytics/answer/7029846. Supported values for auto-completion imports: * `suggestions` (default): One JSON completion suggestion per line. * `denylist`: One JSON deny suggestion per line. * `allowlist`: One JSON allow suggestion per line. "datasetId": "A String", # Required. The BigQuery data set to copy the data from with a length limit of 1,024 characters. "gcsStagingDir": "A String", # Intermediate Cloud Storage directory used for the import with a length limit of 2,000 characters. Can be specified if one wants to have the BigQuery export to a specific Cloud Storage directory. - "partitionDate": { # Represents a whole or partial calendar date, such as a birthday. The time of day and time zone are either specified elsewhere or are insignificant. The date is relative to the Gregorian Calendar. This can represent one of the following: * A full date, with non-zero year, month, and day values. * A month and day, with a zero year (for example, an anniversary). * A year on its own, with a zero month and a zero day. * A year and month, with a zero day (for example, a credit card expiration date). Related types: * google.type.TimeOfDay * google.type.DateTime * google.protobuf.Timestamp # BigQuery time partitioned table's _PARTITIONDATE in YYYY-MM-DD format. Only supported when ImportProductsRequest.reconciliation_mode is set to `FULL`. + "partitionDate": { # Represents a whole or partial calendar date, such as a birthday. The time of day and time zone are either specified elsewhere or are insignificant. The date is relative to the Gregorian Calendar. This can represent one of the following: * A full date, with non-zero year, month, and day values. * A month and day, with a zero year (for example, an anniversary). * A year on its own, with a zero month and a zero day. * A year and month, with a zero day (for example, a credit card expiration date). Related types: * google.type.TimeOfDay * google.type.DateTime * google.protobuf.Timestamp # BigQuery time partitioned table's _PARTITIONDATE in YYYY-MM-DD format. Only supported in ImportProductsRequest. "day": 42, # Day of a month. Must be from 1 to 31 and valid for the year and month, or 0 to specify a year by itself or a year and month where the day isn't significant. "month": 42, # Month of a year. Must be from 1 to 12, or 0 to specify a year without a month and day. "year": 42, # Year of the date. Must be from 1 to 9999, or 0 to specify a date without a year. @@ -224,7 +224,7 @@

Method Details

"categories": [ # Product categories. This field is repeated for supporting one product belonging to several parallel categories. Strongly recommended using the full path for better search / recommendation quality. To represent full path of category, use '>' sign to separate different hierarchies. If '>' is part of the category name, please replace it with other character(s). For example, if a shoes product belongs to both ["Shoes & Accessories" -> "Shoes"] and ["Sports & Fitness" -> "Athletic Clothing" -> "Shoes"], it could be represented as: "categories": [ "Shoes & Accessories > Shoes", "Sports & Fitness > Athletic Clothing > Shoes" ] Must be set for Type.PRIMARY Product otherwise an INVALID_ARGUMENT error is returned. At most 250 values are allowed per Product. Empty values are not allowed. Each value must be a UTF-8 encoded string with a length limit of 5,000 characters. Otherwise, an INVALID_ARGUMENT error is returned. Corresponding properties: Google Merchant Center property google_product_category. Schema.org property [Product.category] (https://schema.org/category). [mc_google_product_category]: https://support.google.com/merchants/answer/6324436 "A String", ], - "collectionMemberIds": [ # The id of the collection members when type is Type.COLLECTION. Non-existent product ids are allowed. The type of the members must be either Type.PRIMARY or Type.VARIANT otherwise and INVALID_ARGUMENT error is thrown. Should not set it for other types. A maximum of 1000 values are allowed. Otherwise, an INVALID_ARGUMENT error is return. + "collectionMemberIds": [ # The id of the collection members when type is Type.COLLECTION. Non-existent product ids are allowed. The type of the members must be either Type.PRIMARY or Type.VARIANT otherwise an INVALID_ARGUMENT error is thrown. Should not set it for other types. A maximum of 1000 values are allowed. Otherwise, an INVALID_ARGUMENT error is return. "A String", ], "colorInfo": { # The color information of a Product. # The color of the product. Corresponding properties: Google Merchant Center property [color](https://support.google.com/merchants/answer/6324487). Schema.org property [Product.color](https://schema.org/color). @@ -530,7 +530,7 @@

Method Details

"categories": [ # Product categories. This field is repeated for supporting one product belonging to several parallel categories. Strongly recommended using the full path for better search / recommendation quality. To represent full path of category, use '>' sign to separate different hierarchies. If '>' is part of the category name, please replace it with other character(s). For example, if a shoes product belongs to both ["Shoes & Accessories" -> "Shoes"] and ["Sports & Fitness" -> "Athletic Clothing" -> "Shoes"], it could be represented as: "categories": [ "Shoes & Accessories > Shoes", "Sports & Fitness > Athletic Clothing > Shoes" ] Must be set for Type.PRIMARY Product otherwise an INVALID_ARGUMENT error is returned. At most 250 values are allowed per Product. Empty values are not allowed. Each value must be a UTF-8 encoded string with a length limit of 5,000 characters. Otherwise, an INVALID_ARGUMENT error is returned. Corresponding properties: Google Merchant Center property google_product_category. Schema.org property [Product.category] (https://schema.org/category). [mc_google_product_category]: https://support.google.com/merchants/answer/6324436 "A String", ], - "collectionMemberIds": [ # The id of the collection members when type is Type.COLLECTION. Non-existent product ids are allowed. The type of the members must be either Type.PRIMARY or Type.VARIANT otherwise and INVALID_ARGUMENT error is thrown. Should not set it for other types. A maximum of 1000 values are allowed. Otherwise, an INVALID_ARGUMENT error is return. + "collectionMemberIds": [ # The id of the collection members when type is Type.COLLECTION. Non-existent product ids are allowed. The type of the members must be either Type.PRIMARY or Type.VARIANT otherwise an INVALID_ARGUMENT error is thrown. Should not set it for other types. A maximum of 1000 values are allowed. Otherwise, an INVALID_ARGUMENT error is return. "A String", ], "colorInfo": { # The color information of a Product. # The color of the product. Corresponding properties: Google Merchant Center property [color](https://support.google.com/merchants/answer/6324487). Schema.org property [Product.color](https://schema.org/color). @@ -717,7 +717,7 @@

Method Details

"categories": [ # Product categories. This field is repeated for supporting one product belonging to several parallel categories. Strongly recommended using the full path for better search / recommendation quality. To represent full path of category, use '>' sign to separate different hierarchies. If '>' is part of the category name, please replace it with other character(s). For example, if a shoes product belongs to both ["Shoes & Accessories" -> "Shoes"] and ["Sports & Fitness" -> "Athletic Clothing" -> "Shoes"], it could be represented as: "categories": [ "Shoes & Accessories > Shoes", "Sports & Fitness > Athletic Clothing > Shoes" ] Must be set for Type.PRIMARY Product otherwise an INVALID_ARGUMENT error is returned. At most 250 values are allowed per Product. Empty values are not allowed. Each value must be a UTF-8 encoded string with a length limit of 5,000 characters. Otherwise, an INVALID_ARGUMENT error is returned. Corresponding properties: Google Merchant Center property google_product_category. Schema.org property [Product.category] (https://schema.org/category). [mc_google_product_category]: https://support.google.com/merchants/answer/6324436 "A String", ], - "collectionMemberIds": [ # The id of the collection members when type is Type.COLLECTION. Non-existent product ids are allowed. The type of the members must be either Type.PRIMARY or Type.VARIANT otherwise and INVALID_ARGUMENT error is thrown. Should not set it for other types. A maximum of 1000 values are allowed. Otherwise, an INVALID_ARGUMENT error is return. + "collectionMemberIds": [ # The id of the collection members when type is Type.COLLECTION. Non-existent product ids are allowed. The type of the members must be either Type.PRIMARY or Type.VARIANT otherwise an INVALID_ARGUMENT error is thrown. Should not set it for other types. A maximum of 1000 values are allowed. Otherwise, an INVALID_ARGUMENT error is return. "A String", ], "colorInfo": { # The color information of a Product. # The color of the product. Corresponding properties: Google Merchant Center property [color](https://support.google.com/merchants/answer/6324487). Schema.org property [Product.color](https://schema.org/color). diff --git a/docs/dyn/retail_v2beta.projects.locations.catalogs.attributesConfig.html b/docs/dyn/retail_v2beta.projects.locations.catalogs.attributesConfig.html index 569b600a2f7..8f71c17b8d2 100644 --- a/docs/dyn/retail_v2beta.projects.locations.catalogs.attributesConfig.html +++ b/docs/dyn/retail_v2beta.projects.locations.catalogs.attributesConfig.html @@ -77,6 +77,9 @@

Instance Methods

addCatalogAttribute(attributesConfig, body=None, x__xgafv=None)

Adds the specified CatalogAttribute to the AttributesConfig. If the CatalogAttribute to add already exists, an ALREADY_EXISTS error is returned.

+

+ batchRemoveCatalogAttributes(attributesConfig, body=None, x__xgafv=None)

+

Removes all specified CatalogAttributes from the AttributesConfig.

close()

Close httplib2 connections.

@@ -99,6 +102,7 @@

Method Details

{ # Request for CatalogService.AddCatalogAttribute method. "catalogAttribute": { # Catalog level attribute config for an attribute. For example, if customers want to enable/disable facet for a specific attribute. # Required. The CatalogAttribute to add. "dynamicFacetableOption": "A String", # If DYNAMIC_FACETABLE_ENABLED, attribute values are available for dynamic facet. Could only be DYNAMIC_FACETABLE_DISABLED if CatalogAttribute.indexable_option is INDEXABLE_DISABLED. Otherwise, an INVALID_ARGUMENT error is returned. + "exactSearchableOption": "A String", # If EXACT_SEARCHABLE_ENABLED, attribute values will be exact searchable. This property only applies to textual custom attributes and requires indexable set to enabled to enable exact-searchable. "inUse": True or False, # Output only. Indicates whether this attribute has been used by any products. `True` if at least one Product is using this attribute in Product.attributes. Otherwise, this field is `False`. CatalogAttribute can be pre-loaded by using CatalogService.AddCatalogAttribute, CatalogService.ImportCatalogAttributes, or CatalogService.UpdateAttributesConfig APIs. This field is `False` for pre-loaded CatalogAttributes. Only pre-loaded CatalogAttributes that are neither in use by products nor predefined can be deleted. CatalogAttributes that are either in use by products or are predefined cannot be deleted; however, their configuration properties will reset to default values upon removal request. After catalog changes, it takes about 10 minutes for this field to update. "indexableOption": "A String", # When AttributesConfig.attribute_config_level is CATALOG_LEVEL_ATTRIBUTE_CONFIG, if INDEXABLE_ENABLED attribute values are indexed so that it can be filtered, faceted, or boosted in SearchService.Search. "key": "A String", # Required. Attribute name. For example: `color`, `brands`, `attributes.custom_attribute`, such as `attributes.xyz`. To be indexable, the attribute name can contain only alpha-numeric characters and underscores. For example, an attribute named `attributes.abc_xyz` can be indexed, but an attribute named `attributes.abc-xyz` cannot be indexed. @@ -121,6 +125,7 @@

Method Details

"catalogAttributes": { # Enable attribute(s) config at catalog level. For example, indexable, dynamic_facetable, or searchable for each attribute. The key is catalog attribute's name. For example: `color`, `brands`, `attributes.custom_attribute`, such as `attributes.xyz`. The maximum number of catalog attributes allowed in a request is 1000. "a_key": { # Catalog level attribute config for an attribute. For example, if customers want to enable/disable facet for a specific attribute. "dynamicFacetableOption": "A String", # If DYNAMIC_FACETABLE_ENABLED, attribute values are available for dynamic facet. Could only be DYNAMIC_FACETABLE_DISABLED if CatalogAttribute.indexable_option is INDEXABLE_DISABLED. Otherwise, an INVALID_ARGUMENT error is returned. + "exactSearchableOption": "A String", # If EXACT_SEARCHABLE_ENABLED, attribute values will be exact searchable. This property only applies to textual custom attributes and requires indexable set to enabled to enable exact-searchable. "inUse": True or False, # Output only. Indicates whether this attribute has been used by any products. `True` if at least one Product is using this attribute in Product.attributes. Otherwise, this field is `False`. CatalogAttribute can be pre-loaded by using CatalogService.AddCatalogAttribute, CatalogService.ImportCatalogAttributes, or CatalogService.UpdateAttributesConfig APIs. This field is `False` for pre-loaded CatalogAttributes. Only pre-loaded CatalogAttributes that are neither in use by products nor predefined can be deleted. CatalogAttributes that are either in use by products or are predefined cannot be deleted; however, their configuration properties will reset to default values upon removal request. After catalog changes, it takes about 10 minutes for this field to update. "indexableOption": "A String", # When AttributesConfig.attribute_config_level is CATALOG_LEVEL_ATTRIBUTE_CONFIG, if INDEXABLE_ENABLED attribute values are indexed so that it can be filtered, faceted, or boosted in SearchService.Search. "key": "A String", # Required. Attribute name. For example: `color`, `brands`, `attributes.custom_attribute`, such as `attributes.xyz`. To be indexable, the attribute name can contain only alpha-numeric characters and underscores. For example, an attribute named `attributes.abc_xyz` can be indexed, but an attribute named `attributes.abc-xyz` cannot be indexed. @@ -133,6 +138,39 @@

Method Details

}
+
+ batchRemoveCatalogAttributes(attributesConfig, body=None, x__xgafv=None) +
Removes all specified CatalogAttributes from the AttributesConfig.
+
+Args:
+  attributesConfig: string, Required. The attributes config resource shared by all catalog attributes being deleted. Format: `projects/{project_number}/locations/{location_id}/catalogs/{catalog_id}/attributesConfig` (required)
+  body: object, The request body.
+    The object takes the form of:
+
+{ # Request for CatalogService.BatchRemoveCatalogAttributes method.
+  "attributeKeys": [ # Required. The attribute name keys of the CatalogAttributes to delete. A maximum of 1000 catalog attributes can be deleted in a batch.
+    "A String",
+  ],
+}
+
+  x__xgafv: string, V1 error format.
+    Allowed values
+      1 - v1 error format
+      2 - v2 error format
+
+Returns:
+  An object of the form:
+
+    { # Response of the CatalogService.BatchRemoveCatalogAttributes.
+  "deletedCatalogAttributes": [ # Catalog attributes that were deleted. Only attributes that are not in use by products can be deleted.
+    "A String",
+  ],
+  "resetCatalogAttributes": [ # Catalog attributes that were reset. Attributes that are in use by products cannot be deleted, however their configuration properties will reset to default values upon removal request.
+    "A String",
+  ],
+}
+
+
close()
Close httplib2 connections.
@@ -164,6 +202,7 @@

Method Details

"catalogAttributes": { # Enable attribute(s) config at catalog level. For example, indexable, dynamic_facetable, or searchable for each attribute. The key is catalog attribute's name. For example: `color`, `brands`, `attributes.custom_attribute`, such as `attributes.xyz`. The maximum number of catalog attributes allowed in a request is 1000. "a_key": { # Catalog level attribute config for an attribute. For example, if customers want to enable/disable facet for a specific attribute. "dynamicFacetableOption": "A String", # If DYNAMIC_FACETABLE_ENABLED, attribute values are available for dynamic facet. Could only be DYNAMIC_FACETABLE_DISABLED if CatalogAttribute.indexable_option is INDEXABLE_DISABLED. Otherwise, an INVALID_ARGUMENT error is returned. + "exactSearchableOption": "A String", # If EXACT_SEARCHABLE_ENABLED, attribute values will be exact searchable. This property only applies to textual custom attributes and requires indexable set to enabled to enable exact-searchable. "inUse": True or False, # Output only. Indicates whether this attribute has been used by any products. `True` if at least one Product is using this attribute in Product.attributes. Otherwise, this field is `False`. CatalogAttribute can be pre-loaded by using CatalogService.AddCatalogAttribute, CatalogService.ImportCatalogAttributes, or CatalogService.UpdateAttributesConfig APIs. This field is `False` for pre-loaded CatalogAttributes. Only pre-loaded CatalogAttributes that are neither in use by products nor predefined can be deleted. CatalogAttributes that are either in use by products or are predefined cannot be deleted; however, their configuration properties will reset to default values upon removal request. After catalog changes, it takes about 10 minutes for this field to update. "indexableOption": "A String", # When AttributesConfig.attribute_config_level is CATALOG_LEVEL_ATTRIBUTE_CONFIG, if INDEXABLE_ENABLED attribute values are indexed so that it can be filtered, faceted, or boosted in SearchService.Search. "key": "A String", # Required. Attribute name. For example: `color`, `brands`, `attributes.custom_attribute`, such as `attributes.xyz`. To be indexable, the attribute name can contain only alpha-numeric characters and underscores. For example, an attribute named `attributes.abc_xyz` can be indexed, but an attribute named `attributes.abc-xyz` cannot be indexed. @@ -188,6 +227,7 @@

Method Details

{ # Request for CatalogService.ReplaceCatalogAttribute method. "catalogAttribute": { # Catalog level attribute config for an attribute. For example, if customers want to enable/disable facet for a specific attribute. # Required. The updated CatalogAttribute. "dynamicFacetableOption": "A String", # If DYNAMIC_FACETABLE_ENABLED, attribute values are available for dynamic facet. Could only be DYNAMIC_FACETABLE_DISABLED if CatalogAttribute.indexable_option is INDEXABLE_DISABLED. Otherwise, an INVALID_ARGUMENT error is returned. + "exactSearchableOption": "A String", # If EXACT_SEARCHABLE_ENABLED, attribute values will be exact searchable. This property only applies to textual custom attributes and requires indexable set to enabled to enable exact-searchable. "inUse": True or False, # Output only. Indicates whether this attribute has been used by any products. `True` if at least one Product is using this attribute in Product.attributes. Otherwise, this field is `False`. CatalogAttribute can be pre-loaded by using CatalogService.AddCatalogAttribute, CatalogService.ImportCatalogAttributes, or CatalogService.UpdateAttributesConfig APIs. This field is `False` for pre-loaded CatalogAttributes. Only pre-loaded CatalogAttributes that are neither in use by products nor predefined can be deleted. CatalogAttributes that are either in use by products or are predefined cannot be deleted; however, their configuration properties will reset to default values upon removal request. After catalog changes, it takes about 10 minutes for this field to update. "indexableOption": "A String", # When AttributesConfig.attribute_config_level is CATALOG_LEVEL_ATTRIBUTE_CONFIG, if INDEXABLE_ENABLED attribute values are indexed so that it can be filtered, faceted, or boosted in SearchService.Search. "key": "A String", # Required. Attribute name. For example: `color`, `brands`, `attributes.custom_attribute`, such as `attributes.xyz`. To be indexable, the attribute name can contain only alpha-numeric characters and underscores. For example, an attribute named `attributes.abc_xyz` can be indexed, but an attribute named `attributes.abc-xyz` cannot be indexed. @@ -211,6 +251,7 @@

Method Details

"catalogAttributes": { # Enable attribute(s) config at catalog level. For example, indexable, dynamic_facetable, or searchable for each attribute. The key is catalog attribute's name. For example: `color`, `brands`, `attributes.custom_attribute`, such as `attributes.xyz`. The maximum number of catalog attributes allowed in a request is 1000. "a_key": { # Catalog level attribute config for an attribute. For example, if customers want to enable/disable facet for a specific attribute. "dynamicFacetableOption": "A String", # If DYNAMIC_FACETABLE_ENABLED, attribute values are available for dynamic facet. Could only be DYNAMIC_FACETABLE_DISABLED if CatalogAttribute.indexable_option is INDEXABLE_DISABLED. Otherwise, an INVALID_ARGUMENT error is returned. + "exactSearchableOption": "A String", # If EXACT_SEARCHABLE_ENABLED, attribute values will be exact searchable. This property only applies to textual custom attributes and requires indexable set to enabled to enable exact-searchable. "inUse": True or False, # Output only. Indicates whether this attribute has been used by any products. `True` if at least one Product is using this attribute in Product.attributes. Otherwise, this field is `False`. CatalogAttribute can be pre-loaded by using CatalogService.AddCatalogAttribute, CatalogService.ImportCatalogAttributes, or CatalogService.UpdateAttributesConfig APIs. This field is `False` for pre-loaded CatalogAttributes. Only pre-loaded CatalogAttributes that are neither in use by products nor predefined can be deleted. CatalogAttributes that are either in use by products or are predefined cannot be deleted; however, their configuration properties will reset to default values upon removal request. After catalog changes, it takes about 10 minutes for this field to update. "indexableOption": "A String", # When AttributesConfig.attribute_config_level is CATALOG_LEVEL_ATTRIBUTE_CONFIG, if INDEXABLE_ENABLED attribute values are indexed so that it can be filtered, faceted, or boosted in SearchService.Search. "key": "A String", # Required. Attribute name. For example: `color`, `brands`, `attributes.custom_attribute`, such as `attributes.xyz`. To be indexable, the attribute name can contain only alpha-numeric characters and underscores. For example, an attribute named `attributes.abc_xyz` can be indexed, but an attribute named `attributes.abc-xyz` cannot be indexed. diff --git a/docs/dyn/retail_v2beta.projects.locations.catalogs.branches.products.html b/docs/dyn/retail_v2beta.projects.locations.catalogs.branches.products.html index 35fb9a950ff..8fb6f935dc3 100644 --- a/docs/dyn/retail_v2beta.projects.locations.catalogs.branches.products.html +++ b/docs/dyn/retail_v2beta.projects.locations.catalogs.branches.products.html @@ -291,7 +291,7 @@

Method Details

"categories": [ # Product categories. This field is repeated for supporting one product belonging to several parallel categories. Strongly recommended using the full path for better search / recommendation quality. To represent full path of category, use '>' sign to separate different hierarchies. If '>' is part of the category name, please replace it with other character(s). For example, if a shoes product belongs to both ["Shoes & Accessories" -> "Shoes"] and ["Sports & Fitness" -> "Athletic Clothing" -> "Shoes"], it could be represented as: "categories": [ "Shoes & Accessories > Shoes", "Sports & Fitness > Athletic Clothing > Shoes" ] Must be set for Type.PRIMARY Product otherwise an INVALID_ARGUMENT error is returned. At most 250 values are allowed per Product. Empty values are not allowed. Each value must be a UTF-8 encoded string with a length limit of 5,000 characters. Otherwise, an INVALID_ARGUMENT error is returned. Corresponding properties: Google Merchant Center property google_product_category. Schema.org property [Product.category] (https://schema.org/category). [mc_google_product_category]: https://support.google.com/merchants/answer/6324436 "A String", ], - "collectionMemberIds": [ # The id of the collection members when type is Type.COLLECTION. Non-existent product ids are allowed. The type of the members must be either Type.PRIMARY or Type.VARIANT otherwise and INVALID_ARGUMENT error is thrown. Should not set it for other types. A maximum of 1000 values are allowed. Otherwise, an INVALID_ARGUMENT error is return. + "collectionMemberIds": [ # The id of the collection members when type is Type.COLLECTION. Non-existent product ids are allowed. The type of the members must be either Type.PRIMARY or Type.VARIANT otherwise an INVALID_ARGUMENT error is thrown. Should not set it for other types. A maximum of 1000 values are allowed. Otherwise, an INVALID_ARGUMENT error is return. "A String", ], "colorInfo": { # The color information of a Product. # The color of the product. Corresponding properties: Google Merchant Center property [color](https://support.google.com/merchants/answer/6324487). Schema.org property [Product.color](https://schema.org/color). @@ -423,7 +423,7 @@

Method Details

"categories": [ # Product categories. This field is repeated for supporting one product belonging to several parallel categories. Strongly recommended using the full path for better search / recommendation quality. To represent full path of category, use '>' sign to separate different hierarchies. If '>' is part of the category name, please replace it with other character(s). For example, if a shoes product belongs to both ["Shoes & Accessories" -> "Shoes"] and ["Sports & Fitness" -> "Athletic Clothing" -> "Shoes"], it could be represented as: "categories": [ "Shoes & Accessories > Shoes", "Sports & Fitness > Athletic Clothing > Shoes" ] Must be set for Type.PRIMARY Product otherwise an INVALID_ARGUMENT error is returned. At most 250 values are allowed per Product. Empty values are not allowed. Each value must be a UTF-8 encoded string with a length limit of 5,000 characters. Otherwise, an INVALID_ARGUMENT error is returned. Corresponding properties: Google Merchant Center property google_product_category. Schema.org property [Product.category] (https://schema.org/category). [mc_google_product_category]: https://support.google.com/merchants/answer/6324436 "A String", ], - "collectionMemberIds": [ # The id of the collection members when type is Type.COLLECTION. Non-existent product ids are allowed. The type of the members must be either Type.PRIMARY or Type.VARIANT otherwise and INVALID_ARGUMENT error is thrown. Should not set it for other types. A maximum of 1000 values are allowed. Otherwise, an INVALID_ARGUMENT error is return. + "collectionMemberIds": [ # The id of the collection members when type is Type.COLLECTION. Non-existent product ids are allowed. The type of the members must be either Type.PRIMARY or Type.VARIANT otherwise an INVALID_ARGUMENT error is thrown. Should not set it for other types. A maximum of 1000 values are allowed. Otherwise, an INVALID_ARGUMENT error is return. "A String", ], "colorInfo": { # The color information of a Product. # The color of the product. Corresponding properties: Google Merchant Center property [color](https://support.google.com/merchants/answer/6324487). Schema.org property [Product.color](https://schema.org/color). @@ -579,7 +579,7 @@

Method Details

"categories": [ # Product categories. This field is repeated for supporting one product belonging to several parallel categories. Strongly recommended using the full path for better search / recommendation quality. To represent full path of category, use '>' sign to separate different hierarchies. If '>' is part of the category name, please replace it with other character(s). For example, if a shoes product belongs to both ["Shoes & Accessories" -> "Shoes"] and ["Sports & Fitness" -> "Athletic Clothing" -> "Shoes"], it could be represented as: "categories": [ "Shoes & Accessories > Shoes", "Sports & Fitness > Athletic Clothing > Shoes" ] Must be set for Type.PRIMARY Product otherwise an INVALID_ARGUMENT error is returned. At most 250 values are allowed per Product. Empty values are not allowed. Each value must be a UTF-8 encoded string with a length limit of 5,000 characters. Otherwise, an INVALID_ARGUMENT error is returned. Corresponding properties: Google Merchant Center property google_product_category. Schema.org property [Product.category] (https://schema.org/category). [mc_google_product_category]: https://support.google.com/merchants/answer/6324436 "A String", ], - "collectionMemberIds": [ # The id of the collection members when type is Type.COLLECTION. Non-existent product ids are allowed. The type of the members must be either Type.PRIMARY or Type.VARIANT otherwise and INVALID_ARGUMENT error is thrown. Should not set it for other types. A maximum of 1000 values are allowed. Otherwise, an INVALID_ARGUMENT error is return. + "collectionMemberIds": [ # The id of the collection members when type is Type.COLLECTION. Non-existent product ids are allowed. The type of the members must be either Type.PRIMARY or Type.VARIANT otherwise an INVALID_ARGUMENT error is thrown. Should not set it for other types. A maximum of 1000 values are allowed. Otherwise, an INVALID_ARGUMENT error is return. "A String", ], "colorInfo": { # The color information of a Product. # The color of the product. Corresponding properties: Google Merchant Center property [color](https://support.google.com/merchants/answer/6324487). Schema.org property [Product.color](https://schema.org/color). @@ -688,10 +688,10 @@

Method Details

}, "inputConfig": { # The input config source for products. # Required. The desired input location of the data. "bigQuerySource": { # BigQuery source import data from. # BigQuery input source. - "dataSchema": "A String", # The schema to use when parsing the data from the source. Supported values for product imports: * `product` (default): One JSON Product per line. Each product must have a valid Product.id. * `product_merchant_center`: See [Importing catalog data from Merchant Center](https://cloud.google.com/retail/recommendations-ai/docs/upload-catalog#mc). Supported values for user events imports: * `user_event` (default): One JSON UserEvent per line. * `user_event_ga360`: The schema is available here: https://support.google.com/analytics/answer/3437719. * `user_event_ga4`: This feature is in private preview. Please contact the support team for importing Google Analytics 4 events. The schema is available here: https://support.google.com/analytics/answer/7029846. Supported values for auto-completion imports: * `suggestions` (default): One JSON completion suggestion per line. * `denylist`: One JSON deny suggestion per line. * `allowlist`: One JSON allow suggestion per line. + "dataSchema": "A String", # The schema to use when parsing the data from the source. Supported values for product imports: * `product` (default): One JSON Product per line. Each product must have a valid Product.id. * `product_merchant_center`: See [Importing catalog data from Merchant Center](https://cloud.google.com/retail/recommendations-ai/docs/upload-catalog#mc). Supported values for user events imports: * `user_event` (default): One JSON UserEvent per line. * `user_event_ga360`: The schema is available here: https://support.google.com/analytics/answer/3437719. * `user_event_ga4`: The schema is available here: https://support.google.com/analytics/answer/7029846. Supported values for auto-completion imports: * `suggestions` (default): One JSON completion suggestion per line. * `denylist`: One JSON deny suggestion per line. * `allowlist`: One JSON allow suggestion per line. "datasetId": "A String", # Required. The BigQuery data set to copy the data from with a length limit of 1,024 characters. "gcsStagingDir": "A String", # Intermediate Cloud Storage directory used for the import with a length limit of 2,000 characters. Can be specified if one wants to have the BigQuery export to a specific Cloud Storage directory. - "partitionDate": { # Represents a whole or partial calendar date, such as a birthday. The time of day and time zone are either specified elsewhere or are insignificant. The date is relative to the Gregorian Calendar. This can represent one of the following: * A full date, with non-zero year, month, and day values. * A month and day, with a zero year (for example, an anniversary). * A year on its own, with a zero month and a zero day. * A year and month, with a zero day (for example, a credit card expiration date). Related types: * google.type.TimeOfDay * google.type.DateTime * google.protobuf.Timestamp # BigQuery time partitioned table's _PARTITIONDATE in YYYY-MM-DD format. Only supported when ImportProductsRequest.reconciliation_mode is set to `FULL`. + "partitionDate": { # Represents a whole or partial calendar date, such as a birthday. The time of day and time zone are either specified elsewhere or are insignificant. The date is relative to the Gregorian Calendar. This can represent one of the following: * A full date, with non-zero year, month, and day values. * A month and day, with a zero year (for example, an anniversary). * A year on its own, with a zero month and a zero day. * A year and month, with a zero day (for example, a credit card expiration date). Related types: * google.type.TimeOfDay * google.type.DateTime * google.protobuf.Timestamp # BigQuery time partitioned table's _PARTITIONDATE in YYYY-MM-DD format. Only supported in ImportProductsRequest. "day": 42, # Day of a month. Must be from 1 to 31 and valid for the year and month, or 0 to specify a year by itself or a year and month where the day isn't significant. "month": 42, # Month of a year. Must be from 1 to 12, or 0 to specify a year without a month and day. "year": 42, # Year of the date. Must be from 1 to 9999, or 0 to specify a date without a year. @@ -737,7 +737,7 @@

Method Details

"categories": [ # Product categories. This field is repeated for supporting one product belonging to several parallel categories. Strongly recommended using the full path for better search / recommendation quality. To represent full path of category, use '>' sign to separate different hierarchies. If '>' is part of the category name, please replace it with other character(s). For example, if a shoes product belongs to both ["Shoes & Accessories" -> "Shoes"] and ["Sports & Fitness" -> "Athletic Clothing" -> "Shoes"], it could be represented as: "categories": [ "Shoes & Accessories > Shoes", "Sports & Fitness > Athletic Clothing > Shoes" ] Must be set for Type.PRIMARY Product otherwise an INVALID_ARGUMENT error is returned. At most 250 values are allowed per Product. Empty values are not allowed. Each value must be a UTF-8 encoded string with a length limit of 5,000 characters. Otherwise, an INVALID_ARGUMENT error is returned. Corresponding properties: Google Merchant Center property google_product_category. Schema.org property [Product.category] (https://schema.org/category). [mc_google_product_category]: https://support.google.com/merchants/answer/6324436 "A String", ], - "collectionMemberIds": [ # The id of the collection members when type is Type.COLLECTION. Non-existent product ids are allowed. The type of the members must be either Type.PRIMARY or Type.VARIANT otherwise and INVALID_ARGUMENT error is thrown. Should not set it for other types. A maximum of 1000 values are allowed. Otherwise, an INVALID_ARGUMENT error is return. + "collectionMemberIds": [ # The id of the collection members when type is Type.COLLECTION. Non-existent product ids are allowed. The type of the members must be either Type.PRIMARY or Type.VARIANT otherwise an INVALID_ARGUMENT error is thrown. Should not set it for other types. A maximum of 1000 values are allowed. Otherwise, an INVALID_ARGUMENT error is return. "A String", ], "colorInfo": { # The color information of a Product. # The color of the product. Corresponding properties: Google Merchant Center property [color](https://support.google.com/merchants/answer/6324487). Schema.org property [Product.color](https://schema.org/color). @@ -832,7 +832,7 @@

Method Details

], }, }, - "notificationPubsubTopic": "A String", # Full Pub/Sub topic name for receiving notification. If this field is set, when the import is finished, a notification will be sent to specified Pub/Sub topic. The message data will be JSON string of a Operation. Format of the Pub/Sub topic is `projects/{project}/topics/{topic}`. It has to be within the same project as ImportProductsRequest.parent. Make sure that both `cloud-retail-customer-data-access@system.gserviceaccount.com` and `service-@gcp-sa-retail.iam.gserviceaccount.com` have the `pubsub.topics.publish` IAM permission on the topic. Only supported when ImportProductsRequest.reconciliation_mode is set to `FULL`. + "notificationPubsubTopic": "A String", # Full Pub/Sub topic name for receiving notification. If this field is set, when the import is finished, a notification will be sent to specified Pub/Sub topic. The message data will be JSON string of a Operation. Format of the Pub/Sub topic is `projects/{project}/topics/{topic}`. It has to be within the same project as ImportProductsRequest.parent. Make sure that `service-@gcp-sa-retail.iam.gserviceaccount.com` has the `pubsub.topics.publish` IAM permission on the topic. "reconciliationMode": "A String", # The mode of reconciliation between existing products and the products to be imported. Defaults to ReconciliationMode.INCREMENTAL. "requestId": "A String", # Deprecated. This field has no effect. "updateMask": "A String", # Indicates which fields in the provided imported 'products' to update. If not set, will by default update all fields. @@ -918,7 +918,7 @@

Method Details

"categories": [ # Product categories. This field is repeated for supporting one product belonging to several parallel categories. Strongly recommended using the full path for better search / recommendation quality. To represent full path of category, use '>' sign to separate different hierarchies. If '>' is part of the category name, please replace it with other character(s). For example, if a shoes product belongs to both ["Shoes & Accessories" -> "Shoes"] and ["Sports & Fitness" -> "Athletic Clothing" -> "Shoes"], it could be represented as: "categories": [ "Shoes & Accessories > Shoes", "Sports & Fitness > Athletic Clothing > Shoes" ] Must be set for Type.PRIMARY Product otherwise an INVALID_ARGUMENT error is returned. At most 250 values are allowed per Product. Empty values are not allowed. Each value must be a UTF-8 encoded string with a length limit of 5,000 characters. Otherwise, an INVALID_ARGUMENT error is returned. Corresponding properties: Google Merchant Center property google_product_category. Schema.org property [Product.category] (https://schema.org/category). [mc_google_product_category]: https://support.google.com/merchants/answer/6324436 "A String", ], - "collectionMemberIds": [ # The id of the collection members when type is Type.COLLECTION. Non-existent product ids are allowed. The type of the members must be either Type.PRIMARY or Type.VARIANT otherwise and INVALID_ARGUMENT error is thrown. Should not set it for other types. A maximum of 1000 values are allowed. Otherwise, an INVALID_ARGUMENT error is return. + "collectionMemberIds": [ # The id of the collection members when type is Type.COLLECTION. Non-existent product ids are allowed. The type of the members must be either Type.PRIMARY or Type.VARIANT otherwise an INVALID_ARGUMENT error is thrown. Should not set it for other types. A maximum of 1000 values are allowed. Otherwise, an INVALID_ARGUMENT error is return. "A String", ], "colorInfo": { # The color information of a Product. # The color of the product. Corresponding properties: Google Merchant Center property [color](https://support.google.com/merchants/answer/6324487). Schema.org property [Product.color](https://schema.org/color). @@ -1067,7 +1067,7 @@

Method Details

"categories": [ # Product categories. This field is repeated for supporting one product belonging to several parallel categories. Strongly recommended using the full path for better search / recommendation quality. To represent full path of category, use '>' sign to separate different hierarchies. If '>' is part of the category name, please replace it with other character(s). For example, if a shoes product belongs to both ["Shoes & Accessories" -> "Shoes"] and ["Sports & Fitness" -> "Athletic Clothing" -> "Shoes"], it could be represented as: "categories": [ "Shoes & Accessories > Shoes", "Sports & Fitness > Athletic Clothing > Shoes" ] Must be set for Type.PRIMARY Product otherwise an INVALID_ARGUMENT error is returned. At most 250 values are allowed per Product. Empty values are not allowed. Each value must be a UTF-8 encoded string with a length limit of 5,000 characters. Otherwise, an INVALID_ARGUMENT error is returned. Corresponding properties: Google Merchant Center property google_product_category. Schema.org property [Product.category] (https://schema.org/category). [mc_google_product_category]: https://support.google.com/merchants/answer/6324436 "A String", ], - "collectionMemberIds": [ # The id of the collection members when type is Type.COLLECTION. Non-existent product ids are allowed. The type of the members must be either Type.PRIMARY or Type.VARIANT otherwise and INVALID_ARGUMENT error is thrown. Should not set it for other types. A maximum of 1000 values are allowed. Otherwise, an INVALID_ARGUMENT error is return. + "collectionMemberIds": [ # The id of the collection members when type is Type.COLLECTION. Non-existent product ids are allowed. The type of the members must be either Type.PRIMARY or Type.VARIANT otherwise an INVALID_ARGUMENT error is thrown. Should not set it for other types. A maximum of 1000 values are allowed. Otherwise, an INVALID_ARGUMENT error is return. "A String", ], "colorInfo": { # The color information of a Product. # The color of the product. Corresponding properties: Google Merchant Center property [color](https://support.google.com/merchants/answer/6324487). Schema.org property [Product.color](https://schema.org/color). @@ -1200,7 +1200,7 @@

Method Details

"categories": [ # Product categories. This field is repeated for supporting one product belonging to several parallel categories. Strongly recommended using the full path for better search / recommendation quality. To represent full path of category, use '>' sign to separate different hierarchies. If '>' is part of the category name, please replace it with other character(s). For example, if a shoes product belongs to both ["Shoes & Accessories" -> "Shoes"] and ["Sports & Fitness" -> "Athletic Clothing" -> "Shoes"], it could be represented as: "categories": [ "Shoes & Accessories > Shoes", "Sports & Fitness > Athletic Clothing > Shoes" ] Must be set for Type.PRIMARY Product otherwise an INVALID_ARGUMENT error is returned. At most 250 values are allowed per Product. Empty values are not allowed. Each value must be a UTF-8 encoded string with a length limit of 5,000 characters. Otherwise, an INVALID_ARGUMENT error is returned. Corresponding properties: Google Merchant Center property google_product_category. Schema.org property [Product.category] (https://schema.org/category). [mc_google_product_category]: https://support.google.com/merchants/answer/6324436 "A String", ], - "collectionMemberIds": [ # The id of the collection members when type is Type.COLLECTION. Non-existent product ids are allowed. The type of the members must be either Type.PRIMARY or Type.VARIANT otherwise and INVALID_ARGUMENT error is thrown. Should not set it for other types. A maximum of 1000 values are allowed. Otherwise, an INVALID_ARGUMENT error is return. + "collectionMemberIds": [ # The id of the collection members when type is Type.COLLECTION. Non-existent product ids are allowed. The type of the members must be either Type.PRIMARY or Type.VARIANT otherwise an INVALID_ARGUMENT error is thrown. Should not set it for other types. A maximum of 1000 values are allowed. Otherwise, an INVALID_ARGUMENT error is return. "A String", ], "colorInfo": { # The color information of a Product. # The color of the product. Corresponding properties: Google Merchant Center property [color](https://support.google.com/merchants/answer/6324487). Schema.org property [Product.color](https://schema.org/color). @@ -1428,7 +1428,7 @@

Method Details

"categories": [ # Product categories. This field is repeated for supporting one product belonging to several parallel categories. Strongly recommended using the full path for better search / recommendation quality. To represent full path of category, use '>' sign to separate different hierarchies. If '>' is part of the category name, please replace it with other character(s). For example, if a shoes product belongs to both ["Shoes & Accessories" -> "Shoes"] and ["Sports & Fitness" -> "Athletic Clothing" -> "Shoes"], it could be represented as: "categories": [ "Shoes & Accessories > Shoes", "Sports & Fitness > Athletic Clothing > Shoes" ] Must be set for Type.PRIMARY Product otherwise an INVALID_ARGUMENT error is returned. At most 250 values are allowed per Product. Empty values are not allowed. Each value must be a UTF-8 encoded string with a length limit of 5,000 characters. Otherwise, an INVALID_ARGUMENT error is returned. Corresponding properties: Google Merchant Center property google_product_category. Schema.org property [Product.category] (https://schema.org/category). [mc_google_product_category]: https://support.google.com/merchants/answer/6324436 "A String", ], - "collectionMemberIds": [ # The id of the collection members when type is Type.COLLECTION. Non-existent product ids are allowed. The type of the members must be either Type.PRIMARY or Type.VARIANT otherwise and INVALID_ARGUMENT error is thrown. Should not set it for other types. A maximum of 1000 values are allowed. Otherwise, an INVALID_ARGUMENT error is return. + "collectionMemberIds": [ # The id of the collection members when type is Type.COLLECTION. Non-existent product ids are allowed. The type of the members must be either Type.PRIMARY or Type.VARIANT otherwise an INVALID_ARGUMENT error is thrown. Should not set it for other types. A maximum of 1000 values are allowed. Otherwise, an INVALID_ARGUMENT error is return. "A String", ], "colorInfo": { # The color information of a Product. # The color of the product. Corresponding properties: Google Merchant Center property [color](https://support.google.com/merchants/answer/6324487). Schema.org property [Product.color](https://schema.org/color). diff --git a/docs/dyn/retail_v2beta.projects.locations.catalogs.completionData.html b/docs/dyn/retail_v2beta.projects.locations.catalogs.completionData.html index ad259ad79b8..a429ef105e7 100644 --- a/docs/dyn/retail_v2beta.projects.locations.catalogs.completionData.html +++ b/docs/dyn/retail_v2beta.projects.locations.catalogs.completionData.html @@ -98,10 +98,10 @@

Method Details

{ # Request message for ImportCompletionData methods. "inputConfig": { # The input config source for completion data. # Required. The desired input location of the data. "bigQuerySource": { # BigQuery source import data from. # Required. BigQuery input source. Add the IAM permission "BigQuery Data Viewer" for cloud-retail-customer-data-access@system.gserviceaccount.com before using this feature otherwise an error is thrown. - "dataSchema": "A String", # The schema to use when parsing the data from the source. Supported values for product imports: * `product` (default): One JSON Product per line. Each product must have a valid Product.id. * `product_merchant_center`: See [Importing catalog data from Merchant Center](https://cloud.google.com/retail/recommendations-ai/docs/upload-catalog#mc). Supported values for user events imports: * `user_event` (default): One JSON UserEvent per line. * `user_event_ga360`: The schema is available here: https://support.google.com/analytics/answer/3437719. * `user_event_ga4`: This feature is in private preview. Please contact the support team for importing Google Analytics 4 events. The schema is available here: https://support.google.com/analytics/answer/7029846. Supported values for auto-completion imports: * `suggestions` (default): One JSON completion suggestion per line. * `denylist`: One JSON deny suggestion per line. * `allowlist`: One JSON allow suggestion per line. + "dataSchema": "A String", # The schema to use when parsing the data from the source. Supported values for product imports: * `product` (default): One JSON Product per line. Each product must have a valid Product.id. * `product_merchant_center`: See [Importing catalog data from Merchant Center](https://cloud.google.com/retail/recommendations-ai/docs/upload-catalog#mc). Supported values for user events imports: * `user_event` (default): One JSON UserEvent per line. * `user_event_ga360`: The schema is available here: https://support.google.com/analytics/answer/3437719. * `user_event_ga4`: The schema is available here: https://support.google.com/analytics/answer/7029846. Supported values for auto-completion imports: * `suggestions` (default): One JSON completion suggestion per line. * `denylist`: One JSON deny suggestion per line. * `allowlist`: One JSON allow suggestion per line. "datasetId": "A String", # Required. The BigQuery data set to copy the data from with a length limit of 1,024 characters. "gcsStagingDir": "A String", # Intermediate Cloud Storage directory used for the import with a length limit of 2,000 characters. Can be specified if one wants to have the BigQuery export to a specific Cloud Storage directory. - "partitionDate": { # Represents a whole or partial calendar date, such as a birthday. The time of day and time zone are either specified elsewhere or are insignificant. The date is relative to the Gregorian Calendar. This can represent one of the following: * A full date, with non-zero year, month, and day values. * A month and day, with a zero year (for example, an anniversary). * A year on its own, with a zero month and a zero day. * A year and month, with a zero day (for example, a credit card expiration date). Related types: * google.type.TimeOfDay * google.type.DateTime * google.protobuf.Timestamp # BigQuery time partitioned table's _PARTITIONDATE in YYYY-MM-DD format. Only supported when ImportProductsRequest.reconciliation_mode is set to `FULL`. + "partitionDate": { # Represents a whole or partial calendar date, such as a birthday. The time of day and time zone are either specified elsewhere or are insignificant. The date is relative to the Gregorian Calendar. This can represent one of the following: * A full date, with non-zero year, month, and day values. * A month and day, with a zero year (for example, an anniversary). * A year on its own, with a zero month and a zero day. * A year and month, with a zero day (for example, a credit card expiration date). Related types: * google.type.TimeOfDay * google.type.DateTime * google.protobuf.Timestamp # BigQuery time partitioned table's _PARTITIONDATE in YYYY-MM-DD format. Only supported in ImportProductsRequest. "day": 42, # Day of a month. Must be from 1 to 31 and valid for the year and month, or 0 to specify a year by itself or a year and month where the day isn't significant. "month": 42, # Month of a year. Must be from 1 to 12, or 0 to specify a year without a month and day. "year": 42, # Year of the date. Must be from 1 to 9999, or 0 to specify a date without a year. diff --git a/docs/dyn/retail_v2beta.projects.locations.catalogs.controls.html b/docs/dyn/retail_v2beta.projects.locations.catalogs.controls.html index 6e03b4fb30b..7384bcbebfe 100644 --- a/docs/dyn/retail_v2beta.projects.locations.catalogs.controls.html +++ b/docs/dyn/retail_v2beta.projects.locations.catalogs.controls.html @@ -142,6 +142,7 @@

Method Details

"restrictedValues": [ # Only get facet for the given restricted values. For example, when using "pickupInStore" as key and set restricted values to ["store123", "store456"], only facets for "store123" and "store456" are returned. Only supported on predefined textual fields, custom textual attributes and fulfillments. Maximum is 20. Must be set for the fulfillment facet keys: * pickupInStore * shipToStore * sameDayDelivery * nextDayDelivery * customFulfillment1 * customFulfillment2 * customFulfillment3 * customFulfillment4 * customFulfillment5 "A String", ], + "returnMinMax": True or False, # Returns the min and max value for each numerical facet intervals. Ignored for textual facets. }, "limit": 42, # Maximum of facet values that should be returned for this facet. If unspecified, defaults to 20. The maximum allowed value is 300. Values above 300 will be coerced to 300. If this field is negative, an INVALID_ARGUMENT is returned. }, @@ -257,6 +258,7 @@

Method Details

"restrictedValues": [ # Only get facet for the given restricted values. For example, when using "pickupInStore" as key and set restricted values to ["store123", "store456"], only facets for "store123" and "store456" are returned. Only supported on predefined textual fields, custom textual attributes and fulfillments. Maximum is 20. Must be set for the fulfillment facet keys: * pickupInStore * shipToStore * sameDayDelivery * nextDayDelivery * customFulfillment1 * customFulfillment2 * customFulfillment3 * customFulfillment4 * customFulfillment5 "A String", ], + "returnMinMax": True or False, # Returns the min and max value for each numerical facet intervals. Ignored for textual facets. }, "limit": 42, # Maximum of facet values that should be returned for this facet. If unspecified, defaults to 20. The maximum allowed value is 300. Values above 300 will be coerced to 300. If this field is negative, an INVALID_ARGUMENT is returned. }, @@ -396,6 +398,7 @@

Method Details

"restrictedValues": [ # Only get facet for the given restricted values. For example, when using "pickupInStore" as key and set restricted values to ["store123", "store456"], only facets for "store123" and "store456" are returned. Only supported on predefined textual fields, custom textual attributes and fulfillments. Maximum is 20. Must be set for the fulfillment facet keys: * pickupInStore * shipToStore * sameDayDelivery * nextDayDelivery * customFulfillment1 * customFulfillment2 * customFulfillment3 * customFulfillment4 * customFulfillment5 "A String", ], + "returnMinMax": True or False, # Returns the min and max value for each numerical facet intervals. Ignored for textual facets. }, "limit": 42, # Maximum of facet values that should be returned for this facet. If unspecified, defaults to 20. The maximum allowed value is 300. Values above 300 will be coerced to 300. If this field is negative, an INVALID_ARGUMENT is returned. }, @@ -522,6 +525,7 @@

Method Details

"restrictedValues": [ # Only get facet for the given restricted values. For example, when using "pickupInStore" as key and set restricted values to ["store123", "store456"], only facets for "store123" and "store456" are returned. Only supported on predefined textual fields, custom textual attributes and fulfillments. Maximum is 20. Must be set for the fulfillment facet keys: * pickupInStore * shipToStore * sameDayDelivery * nextDayDelivery * customFulfillment1 * customFulfillment2 * customFulfillment3 * customFulfillment4 * customFulfillment5 "A String", ], + "returnMinMax": True or False, # Returns the min and max value for each numerical facet intervals. Ignored for textual facets. }, "limit": 42, # Maximum of facet values that should be returned for this facet. If unspecified, defaults to 20. The maximum allowed value is 300. Values above 300 will be coerced to 300. If this field is negative, an INVALID_ARGUMENT is returned. }, @@ -655,6 +659,7 @@

Method Details

"restrictedValues": [ # Only get facet for the given restricted values. For example, when using "pickupInStore" as key and set restricted values to ["store123", "store456"], only facets for "store123" and "store456" are returned. Only supported on predefined textual fields, custom textual attributes and fulfillments. Maximum is 20. Must be set for the fulfillment facet keys: * pickupInStore * shipToStore * sameDayDelivery * nextDayDelivery * customFulfillment1 * customFulfillment2 * customFulfillment3 * customFulfillment4 * customFulfillment5 "A String", ], + "returnMinMax": True or False, # Returns the min and max value for each numerical facet intervals. Ignored for textual facets. }, "limit": 42, # Maximum of facet values that should be returned for this facet. If unspecified, defaults to 20. The maximum allowed value is 300. Values above 300 will be coerced to 300. If this field is negative, an INVALID_ARGUMENT is returned. }, @@ -770,6 +775,7 @@

Method Details

"restrictedValues": [ # Only get facet for the given restricted values. For example, when using "pickupInStore" as key and set restricted values to ["store123", "store456"], only facets for "store123" and "store456" are returned. Only supported on predefined textual fields, custom textual attributes and fulfillments. Maximum is 20. Must be set for the fulfillment facet keys: * pickupInStore * shipToStore * sameDayDelivery * nextDayDelivery * customFulfillment1 * customFulfillment2 * customFulfillment3 * customFulfillment4 * customFulfillment5 "A String", ], + "returnMinMax": True or False, # Returns the min and max value for each numerical facet intervals. Ignored for textual facets. }, "limit": 42, # Maximum of facet values that should be returned for this facet. If unspecified, defaults to 20. The maximum allowed value is 300. Values above 300 will be coerced to 300. If this field is negative, an INVALID_ARGUMENT is returned. }, diff --git a/docs/dyn/retail_v2beta.projects.locations.catalogs.html b/docs/dyn/retail_v2beta.projects.locations.catalogs.html index 1c8af77f008..f2c67e5cede 100644 --- a/docs/dyn/retail_v2beta.projects.locations.catalogs.html +++ b/docs/dyn/retail_v2beta.projects.locations.catalogs.html @@ -219,6 +219,7 @@

Method Details

"catalogAttributes": { # Enable attribute(s) config at catalog level. For example, indexable, dynamic_facetable, or searchable for each attribute. The key is catalog attribute's name. For example: `color`, `brands`, `attributes.custom_attribute`, such as `attributes.xyz`. The maximum number of catalog attributes allowed in a request is 1000. "a_key": { # Catalog level attribute config for an attribute. For example, if customers want to enable/disable facet for a specific attribute. "dynamicFacetableOption": "A String", # If DYNAMIC_FACETABLE_ENABLED, attribute values are available for dynamic facet. Could only be DYNAMIC_FACETABLE_DISABLED if CatalogAttribute.indexable_option is INDEXABLE_DISABLED. Otherwise, an INVALID_ARGUMENT error is returned. + "exactSearchableOption": "A String", # If EXACT_SEARCHABLE_ENABLED, attribute values will be exact searchable. This property only applies to textual custom attributes and requires indexable set to enabled to enable exact-searchable. "inUse": True or False, # Output only. Indicates whether this attribute has been used by any products. `True` if at least one Product is using this attribute in Product.attributes. Otherwise, this field is `False`. CatalogAttribute can be pre-loaded by using CatalogService.AddCatalogAttribute, CatalogService.ImportCatalogAttributes, or CatalogService.UpdateAttributesConfig APIs. This field is `False` for pre-loaded CatalogAttributes. Only pre-loaded CatalogAttributes that are neither in use by products nor predefined can be deleted. CatalogAttributes that are either in use by products or are predefined cannot be deleted; however, their configuration properties will reset to default values upon removal request. After catalog changes, it takes about 10 minutes for this field to update. "indexableOption": "A String", # When AttributesConfig.attribute_config_level is CATALOG_LEVEL_ATTRIBUTE_CONFIG, if INDEXABLE_ENABLED attribute values are indexed so that it can be filtered, faceted, or boosted in SearchService.Search. "key": "A String", # Required. Attribute name. For example: `color`, `brands`, `attributes.custom_attribute`, such as `attributes.xyz`. To be indexable, the attribute name can contain only alpha-numeric characters and underscores. For example, an attribute named `attributes.abc_xyz` can be indexed, but an attribute named `attributes.abc-xyz` cannot be indexed. @@ -248,10 +249,10 @@

Method Details

{ # Catalog level autocomplete config for customers to customize autocomplete feature's settings. "allowlistInputConfig": { # The input config source for completion data. # Output only. The source data for the latest import of the autocomplete allowlist phrases. "bigQuerySource": { # BigQuery source import data from. # Required. BigQuery input source. Add the IAM permission "BigQuery Data Viewer" for cloud-retail-customer-data-access@system.gserviceaccount.com before using this feature otherwise an error is thrown. - "dataSchema": "A String", # The schema to use when parsing the data from the source. Supported values for product imports: * `product` (default): One JSON Product per line. Each product must have a valid Product.id. * `product_merchant_center`: See [Importing catalog data from Merchant Center](https://cloud.google.com/retail/recommendations-ai/docs/upload-catalog#mc). Supported values for user events imports: * `user_event` (default): One JSON UserEvent per line. * `user_event_ga360`: The schema is available here: https://support.google.com/analytics/answer/3437719. * `user_event_ga4`: This feature is in private preview. Please contact the support team for importing Google Analytics 4 events. The schema is available here: https://support.google.com/analytics/answer/7029846. Supported values for auto-completion imports: * `suggestions` (default): One JSON completion suggestion per line. * `denylist`: One JSON deny suggestion per line. * `allowlist`: One JSON allow suggestion per line. + "dataSchema": "A String", # The schema to use when parsing the data from the source. Supported values for product imports: * `product` (default): One JSON Product per line. Each product must have a valid Product.id. * `product_merchant_center`: See [Importing catalog data from Merchant Center](https://cloud.google.com/retail/recommendations-ai/docs/upload-catalog#mc). Supported values for user events imports: * `user_event` (default): One JSON UserEvent per line. * `user_event_ga360`: The schema is available here: https://support.google.com/analytics/answer/3437719. * `user_event_ga4`: The schema is available here: https://support.google.com/analytics/answer/7029846. Supported values for auto-completion imports: * `suggestions` (default): One JSON completion suggestion per line. * `denylist`: One JSON deny suggestion per line. * `allowlist`: One JSON allow suggestion per line. "datasetId": "A String", # Required. The BigQuery data set to copy the data from with a length limit of 1,024 characters. "gcsStagingDir": "A String", # Intermediate Cloud Storage directory used for the import with a length limit of 2,000 characters. Can be specified if one wants to have the BigQuery export to a specific Cloud Storage directory. - "partitionDate": { # Represents a whole or partial calendar date, such as a birthday. The time of day and time zone are either specified elsewhere or are insignificant. The date is relative to the Gregorian Calendar. This can represent one of the following: * A full date, with non-zero year, month, and day values. * A month and day, with a zero year (for example, an anniversary). * A year on its own, with a zero month and a zero day. * A year and month, with a zero day (for example, a credit card expiration date). Related types: * google.type.TimeOfDay * google.type.DateTime * google.protobuf.Timestamp # BigQuery time partitioned table's _PARTITIONDATE in YYYY-MM-DD format. Only supported when ImportProductsRequest.reconciliation_mode is set to `FULL`. + "partitionDate": { # Represents a whole or partial calendar date, such as a birthday. The time of day and time zone are either specified elsewhere or are insignificant. The date is relative to the Gregorian Calendar. This can represent one of the following: * A full date, with non-zero year, month, and day values. * A month and day, with a zero year (for example, an anniversary). * A year on its own, with a zero month and a zero day. * A year and month, with a zero day (for example, a credit card expiration date). Related types: * google.type.TimeOfDay * google.type.DateTime * google.protobuf.Timestamp # BigQuery time partitioned table's _PARTITIONDATE in YYYY-MM-DD format. Only supported in ImportProductsRequest. "day": 42, # Day of a month. Must be from 1 to 31 and valid for the year and month, or 0 to specify a year by itself or a year and month where the day isn't significant. "month": 42, # Month of a year. Must be from 1 to 12, or 0 to specify a year without a month and day. "year": 42, # Year of the date. Must be from 1 to 9999, or 0 to specify a date without a year. @@ -263,10 +264,10 @@

Method Details

"autoLearning": True or False, # If set to true, the auto learning function is enabled. Auto learning uses user data to generate suggestions using ML techniques. Default value is false. Only after enabling auto learning can users use `cloud-retail` data in CompleteQueryRequest. "denylistInputConfig": { # The input config source for completion data. # Output only. The source data for the latest import of the autocomplete denylist phrases. "bigQuerySource": { # BigQuery source import data from. # Required. BigQuery input source. Add the IAM permission "BigQuery Data Viewer" for cloud-retail-customer-data-access@system.gserviceaccount.com before using this feature otherwise an error is thrown. - "dataSchema": "A String", # The schema to use when parsing the data from the source. Supported values for product imports: * `product` (default): One JSON Product per line. Each product must have a valid Product.id. * `product_merchant_center`: See [Importing catalog data from Merchant Center](https://cloud.google.com/retail/recommendations-ai/docs/upload-catalog#mc). Supported values for user events imports: * `user_event` (default): One JSON UserEvent per line. * `user_event_ga360`: The schema is available here: https://support.google.com/analytics/answer/3437719. * `user_event_ga4`: This feature is in private preview. Please contact the support team for importing Google Analytics 4 events. The schema is available here: https://support.google.com/analytics/answer/7029846. Supported values for auto-completion imports: * `suggestions` (default): One JSON completion suggestion per line. * `denylist`: One JSON deny suggestion per line. * `allowlist`: One JSON allow suggestion per line. + "dataSchema": "A String", # The schema to use when parsing the data from the source. Supported values for product imports: * `product` (default): One JSON Product per line. Each product must have a valid Product.id. * `product_merchant_center`: See [Importing catalog data from Merchant Center](https://cloud.google.com/retail/recommendations-ai/docs/upload-catalog#mc). Supported values for user events imports: * `user_event` (default): One JSON UserEvent per line. * `user_event_ga360`: The schema is available here: https://support.google.com/analytics/answer/3437719. * `user_event_ga4`: The schema is available here: https://support.google.com/analytics/answer/7029846. Supported values for auto-completion imports: * `suggestions` (default): One JSON completion suggestion per line. * `denylist`: One JSON deny suggestion per line. * `allowlist`: One JSON allow suggestion per line. "datasetId": "A String", # Required. The BigQuery data set to copy the data from with a length limit of 1,024 characters. "gcsStagingDir": "A String", # Intermediate Cloud Storage directory used for the import with a length limit of 2,000 characters. Can be specified if one wants to have the BigQuery export to a specific Cloud Storage directory. - "partitionDate": { # Represents a whole or partial calendar date, such as a birthday. The time of day and time zone are either specified elsewhere or are insignificant. The date is relative to the Gregorian Calendar. This can represent one of the following: * A full date, with non-zero year, month, and day values. * A month and day, with a zero year (for example, an anniversary). * A year on its own, with a zero month and a zero day. * A year and month, with a zero day (for example, a credit card expiration date). Related types: * google.type.TimeOfDay * google.type.DateTime * google.protobuf.Timestamp # BigQuery time partitioned table's _PARTITIONDATE in YYYY-MM-DD format. Only supported when ImportProductsRequest.reconciliation_mode is set to `FULL`. + "partitionDate": { # Represents a whole or partial calendar date, such as a birthday. The time of day and time zone are either specified elsewhere or are insignificant. The date is relative to the Gregorian Calendar. This can represent one of the following: * A full date, with non-zero year, month, and day values. * A month and day, with a zero year (for example, an anniversary). * A year on its own, with a zero month and a zero day. * A year and month, with a zero day (for example, a credit card expiration date). Related types: * google.type.TimeOfDay * google.type.DateTime * google.protobuf.Timestamp # BigQuery time partitioned table's _PARTITIONDATE in YYYY-MM-DD format. Only supported in ImportProductsRequest. "day": 42, # Day of a month. Must be from 1 to 31 and valid for the year and month, or 0 to specify a year by itself or a year and month where the day isn't significant. "month": 42, # Month of a year. Must be from 1 to 12, or 0 to specify a year without a month and day. "year": 42, # Year of the date. Must be from 1 to 9999, or 0 to specify a date without a year. @@ -279,15 +280,15 @@

Method Details

"lastDenylistImportOperation": "A String", # Output only. Name of the LRO corresponding to the latest denylist import. Can use GetOperation API to retrieve the latest state of the Long Running Operation. "lastSuggestionsImportOperation": "A String", # Output only. Name of the LRO corresponding to the latest suggestion terms list import. Can use GetOperation API to retrieve the latest state of the Long Running Operation. "matchingOrder": "A String", # Specifies the matching order for autocomplete suggestions, e.g., a query consisting of 'sh' with 'out-of-order' specified would suggest "women's shoes", whereas a query of 'red s' with 'exact-prefix' specified would suggest "red shoes". Currently supported values: * 'out-of-order' * 'exact-prefix' Default value: 'exact-prefix'. - "maxSuggestions": 42, # The maximum number of autocomplete suggestions returned per term. The maximum allowed max suggestions is 20. Default value is 20. If left unset or set to 0, then will fallback to default value. - "minPrefixLength": 42, # The minimum number of characters needed to be typed in order to get suggestions. Default value is 2. If left unset or set to 0, then will fallback to default value. + "maxSuggestions": 42, # The maximum number of autocomplete suggestions returned per term. Default value is 20. If left unset or set to 0, then will fallback to default value. Value range is 1 to 20. + "minPrefixLength": 42, # The minimum number of characters needed to be typed in order to get suggestions. Default value is 2. If left unset or set to 0, then will fallback to default value. Value range is 1 to 20. "name": "A String", # Required. Immutable. Fully qualified name `projects/*/locations/*/catalogs/*/completionConfig` "suggestionsInputConfig": { # The input config source for completion data. # Output only. The source data for the latest import of the autocomplete suggestion phrases. "bigQuerySource": { # BigQuery source import data from. # Required. BigQuery input source. Add the IAM permission "BigQuery Data Viewer" for cloud-retail-customer-data-access@system.gserviceaccount.com before using this feature otherwise an error is thrown. - "dataSchema": "A String", # The schema to use when parsing the data from the source. Supported values for product imports: * `product` (default): One JSON Product per line. Each product must have a valid Product.id. * `product_merchant_center`: See [Importing catalog data from Merchant Center](https://cloud.google.com/retail/recommendations-ai/docs/upload-catalog#mc). Supported values for user events imports: * `user_event` (default): One JSON UserEvent per line. * `user_event_ga360`: The schema is available here: https://support.google.com/analytics/answer/3437719. * `user_event_ga4`: This feature is in private preview. Please contact the support team for importing Google Analytics 4 events. The schema is available here: https://support.google.com/analytics/answer/7029846. Supported values for auto-completion imports: * `suggestions` (default): One JSON completion suggestion per line. * `denylist`: One JSON deny suggestion per line. * `allowlist`: One JSON allow suggestion per line. + "dataSchema": "A String", # The schema to use when parsing the data from the source. Supported values for product imports: * `product` (default): One JSON Product per line. Each product must have a valid Product.id. * `product_merchant_center`: See [Importing catalog data from Merchant Center](https://cloud.google.com/retail/recommendations-ai/docs/upload-catalog#mc). Supported values for user events imports: * `user_event` (default): One JSON UserEvent per line. * `user_event_ga360`: The schema is available here: https://support.google.com/analytics/answer/3437719. * `user_event_ga4`: The schema is available here: https://support.google.com/analytics/answer/7029846. Supported values for auto-completion imports: * `suggestions` (default): One JSON completion suggestion per line. * `denylist`: One JSON deny suggestion per line. * `allowlist`: One JSON allow suggestion per line. "datasetId": "A String", # Required. The BigQuery data set to copy the data from with a length limit of 1,024 characters. "gcsStagingDir": "A String", # Intermediate Cloud Storage directory used for the import with a length limit of 2,000 characters. Can be specified if one wants to have the BigQuery export to a specific Cloud Storage directory. - "partitionDate": { # Represents a whole or partial calendar date, such as a birthday. The time of day and time zone are either specified elsewhere or are insignificant. The date is relative to the Gregorian Calendar. This can represent one of the following: * A full date, with non-zero year, month, and day values. * A month and day, with a zero year (for example, an anniversary). * A year on its own, with a zero month and a zero day. * A year and month, with a zero day (for example, a credit card expiration date). Related types: * google.type.TimeOfDay * google.type.DateTime * google.protobuf.Timestamp # BigQuery time partitioned table's _PARTITIONDATE in YYYY-MM-DD format. Only supported when ImportProductsRequest.reconciliation_mode is set to `FULL`. + "partitionDate": { # Represents a whole or partial calendar date, such as a birthday. The time of day and time zone are either specified elsewhere or are insignificant. The date is relative to the Gregorian Calendar. This can represent one of the following: * A full date, with non-zero year, month, and day values. * A month and day, with a zero year (for example, an anniversary). * A year on its own, with a zero month and a zero day. * A year and month, with a zero day (for example, a credit card expiration date). Related types: * google.type.TimeOfDay * google.type.DateTime * google.protobuf.Timestamp # BigQuery time partitioned table's _PARTITIONDATE in YYYY-MM-DD format. Only supported in ImportProductsRequest. "day": 42, # Day of a month. Must be from 1 to 31 and valid for the year and month, or 0 to specify a year by itself or a year and month where the day isn't significant. "month": 42, # Month of a year. Must be from 1 to 12, or 0 to specify a year without a month and day. "year": 42, # Year of the date. Must be from 1 to 9999, or 0 to specify a date without a year. @@ -482,6 +483,7 @@

Method Details

"catalogAttributes": { # Enable attribute(s) config at catalog level. For example, indexable, dynamic_facetable, or searchable for each attribute. The key is catalog attribute's name. For example: `color`, `brands`, `attributes.custom_attribute`, such as `attributes.xyz`. The maximum number of catalog attributes allowed in a request is 1000. "a_key": { # Catalog level attribute config for an attribute. For example, if customers want to enable/disable facet for a specific attribute. "dynamicFacetableOption": "A String", # If DYNAMIC_FACETABLE_ENABLED, attribute values are available for dynamic facet. Could only be DYNAMIC_FACETABLE_DISABLED if CatalogAttribute.indexable_option is INDEXABLE_DISABLED. Otherwise, an INVALID_ARGUMENT error is returned. + "exactSearchableOption": "A String", # If EXACT_SEARCHABLE_ENABLED, attribute values will be exact searchable. This property only applies to textual custom attributes and requires indexable set to enabled to enable exact-searchable. "inUse": True or False, # Output only. Indicates whether this attribute has been used by any products. `True` if at least one Product is using this attribute in Product.attributes. Otherwise, this field is `False`. CatalogAttribute can be pre-loaded by using CatalogService.AddCatalogAttribute, CatalogService.ImportCatalogAttributes, or CatalogService.UpdateAttributesConfig APIs. This field is `False` for pre-loaded CatalogAttributes. Only pre-loaded CatalogAttributes that are neither in use by products nor predefined can be deleted. CatalogAttributes that are either in use by products or are predefined cannot be deleted; however, their configuration properties will reset to default values upon removal request. After catalog changes, it takes about 10 minutes for this field to update. "indexableOption": "A String", # When AttributesConfig.attribute_config_level is CATALOG_LEVEL_ATTRIBUTE_CONFIG, if INDEXABLE_ENABLED attribute values are indexed so that it can be filtered, faceted, or boosted in SearchService.Search. "key": "A String", # Required. Attribute name. For example: `color`, `brands`, `attributes.custom_attribute`, such as `attributes.xyz`. To be indexable, the attribute name can contain only alpha-numeric characters and underscores. For example, an attribute named `attributes.abc_xyz` can be indexed, but an attribute named `attributes.abc-xyz` cannot be indexed. @@ -507,6 +509,7 @@

Method Details

"catalogAttributes": { # Enable attribute(s) config at catalog level. For example, indexable, dynamic_facetable, or searchable for each attribute. The key is catalog attribute's name. For example: `color`, `brands`, `attributes.custom_attribute`, such as `attributes.xyz`. The maximum number of catalog attributes allowed in a request is 1000. "a_key": { # Catalog level attribute config for an attribute. For example, if customers want to enable/disable facet for a specific attribute. "dynamicFacetableOption": "A String", # If DYNAMIC_FACETABLE_ENABLED, attribute values are available for dynamic facet. Could only be DYNAMIC_FACETABLE_DISABLED if CatalogAttribute.indexable_option is INDEXABLE_DISABLED. Otherwise, an INVALID_ARGUMENT error is returned. + "exactSearchableOption": "A String", # If EXACT_SEARCHABLE_ENABLED, attribute values will be exact searchable. This property only applies to textual custom attributes and requires indexable set to enabled to enable exact-searchable. "inUse": True or False, # Output only. Indicates whether this attribute has been used by any products. `True` if at least one Product is using this attribute in Product.attributes. Otherwise, this field is `False`. CatalogAttribute can be pre-loaded by using CatalogService.AddCatalogAttribute, CatalogService.ImportCatalogAttributes, or CatalogService.UpdateAttributesConfig APIs. This field is `False` for pre-loaded CatalogAttributes. Only pre-loaded CatalogAttributes that are neither in use by products nor predefined can be deleted. CatalogAttributes that are either in use by products or are predefined cannot be deleted; however, their configuration properties will reset to default values upon removal request. After catalog changes, it takes about 10 minutes for this field to update. "indexableOption": "A String", # When AttributesConfig.attribute_config_level is CATALOG_LEVEL_ATTRIBUTE_CONFIG, if INDEXABLE_ENABLED attribute values are indexed so that it can be filtered, faceted, or boosted in SearchService.Search. "key": "A String", # Required. Attribute name. For example: `color`, `brands`, `attributes.custom_attribute`, such as `attributes.xyz`. To be indexable, the attribute name can contain only alpha-numeric characters and underscores. For example, an attribute named `attributes.abc_xyz` can be indexed, but an attribute named `attributes.abc-xyz` cannot be indexed. @@ -531,10 +534,10 @@

Method Details

{ # Catalog level autocomplete config for customers to customize autocomplete feature's settings. "allowlistInputConfig": { # The input config source for completion data. # Output only. The source data for the latest import of the autocomplete allowlist phrases. "bigQuerySource": { # BigQuery source import data from. # Required. BigQuery input source. Add the IAM permission "BigQuery Data Viewer" for cloud-retail-customer-data-access@system.gserviceaccount.com before using this feature otherwise an error is thrown. - "dataSchema": "A String", # The schema to use when parsing the data from the source. Supported values for product imports: * `product` (default): One JSON Product per line. Each product must have a valid Product.id. * `product_merchant_center`: See [Importing catalog data from Merchant Center](https://cloud.google.com/retail/recommendations-ai/docs/upload-catalog#mc). Supported values for user events imports: * `user_event` (default): One JSON UserEvent per line. * `user_event_ga360`: The schema is available here: https://support.google.com/analytics/answer/3437719. * `user_event_ga4`: This feature is in private preview. Please contact the support team for importing Google Analytics 4 events. The schema is available here: https://support.google.com/analytics/answer/7029846. Supported values for auto-completion imports: * `suggestions` (default): One JSON completion suggestion per line. * `denylist`: One JSON deny suggestion per line. * `allowlist`: One JSON allow suggestion per line. + "dataSchema": "A String", # The schema to use when parsing the data from the source. Supported values for product imports: * `product` (default): One JSON Product per line. Each product must have a valid Product.id. * `product_merchant_center`: See [Importing catalog data from Merchant Center](https://cloud.google.com/retail/recommendations-ai/docs/upload-catalog#mc). Supported values for user events imports: * `user_event` (default): One JSON UserEvent per line. * `user_event_ga360`: The schema is available here: https://support.google.com/analytics/answer/3437719. * `user_event_ga4`: The schema is available here: https://support.google.com/analytics/answer/7029846. Supported values for auto-completion imports: * `suggestions` (default): One JSON completion suggestion per line. * `denylist`: One JSON deny suggestion per line. * `allowlist`: One JSON allow suggestion per line. "datasetId": "A String", # Required. The BigQuery data set to copy the data from with a length limit of 1,024 characters. "gcsStagingDir": "A String", # Intermediate Cloud Storage directory used for the import with a length limit of 2,000 characters. Can be specified if one wants to have the BigQuery export to a specific Cloud Storage directory. - "partitionDate": { # Represents a whole or partial calendar date, such as a birthday. The time of day and time zone are either specified elsewhere or are insignificant. The date is relative to the Gregorian Calendar. This can represent one of the following: * A full date, with non-zero year, month, and day values. * A month and day, with a zero year (for example, an anniversary). * A year on its own, with a zero month and a zero day. * A year and month, with a zero day (for example, a credit card expiration date). Related types: * google.type.TimeOfDay * google.type.DateTime * google.protobuf.Timestamp # BigQuery time partitioned table's _PARTITIONDATE in YYYY-MM-DD format. Only supported when ImportProductsRequest.reconciliation_mode is set to `FULL`. + "partitionDate": { # Represents a whole or partial calendar date, such as a birthday. The time of day and time zone are either specified elsewhere or are insignificant. The date is relative to the Gregorian Calendar. This can represent one of the following: * A full date, with non-zero year, month, and day values. * A month and day, with a zero year (for example, an anniversary). * A year on its own, with a zero month and a zero day. * A year and month, with a zero day (for example, a credit card expiration date). Related types: * google.type.TimeOfDay * google.type.DateTime * google.protobuf.Timestamp # BigQuery time partitioned table's _PARTITIONDATE in YYYY-MM-DD format. Only supported in ImportProductsRequest. "day": 42, # Day of a month. Must be from 1 to 31 and valid for the year and month, or 0 to specify a year by itself or a year and month where the day isn't significant. "month": 42, # Month of a year. Must be from 1 to 12, or 0 to specify a year without a month and day. "year": 42, # Year of the date. Must be from 1 to 9999, or 0 to specify a date without a year. @@ -546,10 +549,10 @@

Method Details

"autoLearning": True or False, # If set to true, the auto learning function is enabled. Auto learning uses user data to generate suggestions using ML techniques. Default value is false. Only after enabling auto learning can users use `cloud-retail` data in CompleteQueryRequest. "denylistInputConfig": { # The input config source for completion data. # Output only. The source data for the latest import of the autocomplete denylist phrases. "bigQuerySource": { # BigQuery source import data from. # Required. BigQuery input source. Add the IAM permission "BigQuery Data Viewer" for cloud-retail-customer-data-access@system.gserviceaccount.com before using this feature otherwise an error is thrown. - "dataSchema": "A String", # The schema to use when parsing the data from the source. Supported values for product imports: * `product` (default): One JSON Product per line. Each product must have a valid Product.id. * `product_merchant_center`: See [Importing catalog data from Merchant Center](https://cloud.google.com/retail/recommendations-ai/docs/upload-catalog#mc). Supported values for user events imports: * `user_event` (default): One JSON UserEvent per line. * `user_event_ga360`: The schema is available here: https://support.google.com/analytics/answer/3437719. * `user_event_ga4`: This feature is in private preview. Please contact the support team for importing Google Analytics 4 events. The schema is available here: https://support.google.com/analytics/answer/7029846. Supported values for auto-completion imports: * `suggestions` (default): One JSON completion suggestion per line. * `denylist`: One JSON deny suggestion per line. * `allowlist`: One JSON allow suggestion per line. + "dataSchema": "A String", # The schema to use when parsing the data from the source. Supported values for product imports: * `product` (default): One JSON Product per line. Each product must have a valid Product.id. * `product_merchant_center`: See [Importing catalog data from Merchant Center](https://cloud.google.com/retail/recommendations-ai/docs/upload-catalog#mc). Supported values for user events imports: * `user_event` (default): One JSON UserEvent per line. * `user_event_ga360`: The schema is available here: https://support.google.com/analytics/answer/3437719. * `user_event_ga4`: The schema is available here: https://support.google.com/analytics/answer/7029846. Supported values for auto-completion imports: * `suggestions` (default): One JSON completion suggestion per line. * `denylist`: One JSON deny suggestion per line. * `allowlist`: One JSON allow suggestion per line. "datasetId": "A String", # Required. The BigQuery data set to copy the data from with a length limit of 1,024 characters. "gcsStagingDir": "A String", # Intermediate Cloud Storage directory used for the import with a length limit of 2,000 characters. Can be specified if one wants to have the BigQuery export to a specific Cloud Storage directory. - "partitionDate": { # Represents a whole or partial calendar date, such as a birthday. The time of day and time zone are either specified elsewhere or are insignificant. The date is relative to the Gregorian Calendar. This can represent one of the following: * A full date, with non-zero year, month, and day values. * A month and day, with a zero year (for example, an anniversary). * A year on its own, with a zero month and a zero day. * A year and month, with a zero day (for example, a credit card expiration date). Related types: * google.type.TimeOfDay * google.type.DateTime * google.protobuf.Timestamp # BigQuery time partitioned table's _PARTITIONDATE in YYYY-MM-DD format. Only supported when ImportProductsRequest.reconciliation_mode is set to `FULL`. + "partitionDate": { # Represents a whole or partial calendar date, such as a birthday. The time of day and time zone are either specified elsewhere or are insignificant. The date is relative to the Gregorian Calendar. This can represent one of the following: * A full date, with non-zero year, month, and day values. * A month and day, with a zero year (for example, an anniversary). * A year on its own, with a zero month and a zero day. * A year and month, with a zero day (for example, a credit card expiration date). Related types: * google.type.TimeOfDay * google.type.DateTime * google.protobuf.Timestamp # BigQuery time partitioned table's _PARTITIONDATE in YYYY-MM-DD format. Only supported in ImportProductsRequest. "day": 42, # Day of a month. Must be from 1 to 31 and valid for the year and month, or 0 to specify a year by itself or a year and month where the day isn't significant. "month": 42, # Month of a year. Must be from 1 to 12, or 0 to specify a year without a month and day. "year": 42, # Year of the date. Must be from 1 to 9999, or 0 to specify a date without a year. @@ -562,15 +565,15 @@

Method Details

"lastDenylistImportOperation": "A String", # Output only. Name of the LRO corresponding to the latest denylist import. Can use GetOperation API to retrieve the latest state of the Long Running Operation. "lastSuggestionsImportOperation": "A String", # Output only. Name of the LRO corresponding to the latest suggestion terms list import. Can use GetOperation API to retrieve the latest state of the Long Running Operation. "matchingOrder": "A String", # Specifies the matching order for autocomplete suggestions, e.g., a query consisting of 'sh' with 'out-of-order' specified would suggest "women's shoes", whereas a query of 'red s' with 'exact-prefix' specified would suggest "red shoes". Currently supported values: * 'out-of-order' * 'exact-prefix' Default value: 'exact-prefix'. - "maxSuggestions": 42, # The maximum number of autocomplete suggestions returned per term. The maximum allowed max suggestions is 20. Default value is 20. If left unset or set to 0, then will fallback to default value. - "minPrefixLength": 42, # The minimum number of characters needed to be typed in order to get suggestions. Default value is 2. If left unset or set to 0, then will fallback to default value. + "maxSuggestions": 42, # The maximum number of autocomplete suggestions returned per term. Default value is 20. If left unset or set to 0, then will fallback to default value. Value range is 1 to 20. + "minPrefixLength": 42, # The minimum number of characters needed to be typed in order to get suggestions. Default value is 2. If left unset or set to 0, then will fallback to default value. Value range is 1 to 20. "name": "A String", # Required. Immutable. Fully qualified name `projects/*/locations/*/catalogs/*/completionConfig` "suggestionsInputConfig": { # The input config source for completion data. # Output only. The source data for the latest import of the autocomplete suggestion phrases. "bigQuerySource": { # BigQuery source import data from. # Required. BigQuery input source. Add the IAM permission "BigQuery Data Viewer" for cloud-retail-customer-data-access@system.gserviceaccount.com before using this feature otherwise an error is thrown. - "dataSchema": "A String", # The schema to use when parsing the data from the source. Supported values for product imports: * `product` (default): One JSON Product per line. Each product must have a valid Product.id. * `product_merchant_center`: See [Importing catalog data from Merchant Center](https://cloud.google.com/retail/recommendations-ai/docs/upload-catalog#mc). Supported values for user events imports: * `user_event` (default): One JSON UserEvent per line. * `user_event_ga360`: The schema is available here: https://support.google.com/analytics/answer/3437719. * `user_event_ga4`: This feature is in private preview. Please contact the support team for importing Google Analytics 4 events. The schema is available here: https://support.google.com/analytics/answer/7029846. Supported values for auto-completion imports: * `suggestions` (default): One JSON completion suggestion per line. * `denylist`: One JSON deny suggestion per line. * `allowlist`: One JSON allow suggestion per line. + "dataSchema": "A String", # The schema to use when parsing the data from the source. Supported values for product imports: * `product` (default): One JSON Product per line. Each product must have a valid Product.id. * `product_merchant_center`: See [Importing catalog data from Merchant Center](https://cloud.google.com/retail/recommendations-ai/docs/upload-catalog#mc). Supported values for user events imports: * `user_event` (default): One JSON UserEvent per line. * `user_event_ga360`: The schema is available here: https://support.google.com/analytics/answer/3437719. * `user_event_ga4`: The schema is available here: https://support.google.com/analytics/answer/7029846. Supported values for auto-completion imports: * `suggestions` (default): One JSON completion suggestion per line. * `denylist`: One JSON deny suggestion per line. * `allowlist`: One JSON allow suggestion per line. "datasetId": "A String", # Required. The BigQuery data set to copy the data from with a length limit of 1,024 characters. "gcsStagingDir": "A String", # Intermediate Cloud Storage directory used for the import with a length limit of 2,000 characters. Can be specified if one wants to have the BigQuery export to a specific Cloud Storage directory. - "partitionDate": { # Represents a whole or partial calendar date, such as a birthday. The time of day and time zone are either specified elsewhere or are insignificant. The date is relative to the Gregorian Calendar. This can represent one of the following: * A full date, with non-zero year, month, and day values. * A month and day, with a zero year (for example, an anniversary). * A year on its own, with a zero month and a zero day. * A year and month, with a zero day (for example, a credit card expiration date). Related types: * google.type.TimeOfDay * google.type.DateTime * google.protobuf.Timestamp # BigQuery time partitioned table's _PARTITIONDATE in YYYY-MM-DD format. Only supported when ImportProductsRequest.reconciliation_mode is set to `FULL`. + "partitionDate": { # Represents a whole or partial calendar date, such as a birthday. The time of day and time zone are either specified elsewhere or are insignificant. The date is relative to the Gregorian Calendar. This can represent one of the following: * A full date, with non-zero year, month, and day values. * A month and day, with a zero year (for example, an anniversary). * A year on its own, with a zero month and a zero day. * A year and month, with a zero day (for example, a credit card expiration date). Related types: * google.type.TimeOfDay * google.type.DateTime * google.protobuf.Timestamp # BigQuery time partitioned table's _PARTITIONDATE in YYYY-MM-DD format. Only supported in ImportProductsRequest. "day": 42, # Day of a month. Must be from 1 to 31 and valid for the year and month, or 0 to specify a year by itself or a year and month where the day isn't significant. "month": 42, # Month of a year. Must be from 1 to 12, or 0 to specify a year without a month and day. "year": 42, # Year of the date. Must be from 1 to 9999, or 0 to specify a date without a year. @@ -593,10 +596,10 @@

Method Details

{ # Catalog level autocomplete config for customers to customize autocomplete feature's settings. "allowlistInputConfig": { # The input config source for completion data. # Output only. The source data for the latest import of the autocomplete allowlist phrases. "bigQuerySource": { # BigQuery source import data from. # Required. BigQuery input source. Add the IAM permission "BigQuery Data Viewer" for cloud-retail-customer-data-access@system.gserviceaccount.com before using this feature otherwise an error is thrown. - "dataSchema": "A String", # The schema to use when parsing the data from the source. Supported values for product imports: * `product` (default): One JSON Product per line. Each product must have a valid Product.id. * `product_merchant_center`: See [Importing catalog data from Merchant Center](https://cloud.google.com/retail/recommendations-ai/docs/upload-catalog#mc). Supported values for user events imports: * `user_event` (default): One JSON UserEvent per line. * `user_event_ga360`: The schema is available here: https://support.google.com/analytics/answer/3437719. * `user_event_ga4`: This feature is in private preview. Please contact the support team for importing Google Analytics 4 events. The schema is available here: https://support.google.com/analytics/answer/7029846. Supported values for auto-completion imports: * `suggestions` (default): One JSON completion suggestion per line. * `denylist`: One JSON deny suggestion per line. * `allowlist`: One JSON allow suggestion per line. + "dataSchema": "A String", # The schema to use when parsing the data from the source. Supported values for product imports: * `product` (default): One JSON Product per line. Each product must have a valid Product.id. * `product_merchant_center`: See [Importing catalog data from Merchant Center](https://cloud.google.com/retail/recommendations-ai/docs/upload-catalog#mc). Supported values for user events imports: * `user_event` (default): One JSON UserEvent per line. * `user_event_ga360`: The schema is available here: https://support.google.com/analytics/answer/3437719. * `user_event_ga4`: The schema is available here: https://support.google.com/analytics/answer/7029846. Supported values for auto-completion imports: * `suggestions` (default): One JSON completion suggestion per line. * `denylist`: One JSON deny suggestion per line. * `allowlist`: One JSON allow suggestion per line. "datasetId": "A String", # Required. The BigQuery data set to copy the data from with a length limit of 1,024 characters. "gcsStagingDir": "A String", # Intermediate Cloud Storage directory used for the import with a length limit of 2,000 characters. Can be specified if one wants to have the BigQuery export to a specific Cloud Storage directory. - "partitionDate": { # Represents a whole or partial calendar date, such as a birthday. The time of day and time zone are either specified elsewhere or are insignificant. The date is relative to the Gregorian Calendar. This can represent one of the following: * A full date, with non-zero year, month, and day values. * A month and day, with a zero year (for example, an anniversary). * A year on its own, with a zero month and a zero day. * A year and month, with a zero day (for example, a credit card expiration date). Related types: * google.type.TimeOfDay * google.type.DateTime * google.protobuf.Timestamp # BigQuery time partitioned table's _PARTITIONDATE in YYYY-MM-DD format. Only supported when ImportProductsRequest.reconciliation_mode is set to `FULL`. + "partitionDate": { # Represents a whole or partial calendar date, such as a birthday. The time of day and time zone are either specified elsewhere or are insignificant. The date is relative to the Gregorian Calendar. This can represent one of the following: * A full date, with non-zero year, month, and day values. * A month and day, with a zero year (for example, an anniversary). * A year on its own, with a zero month and a zero day. * A year and month, with a zero day (for example, a credit card expiration date). Related types: * google.type.TimeOfDay * google.type.DateTime * google.protobuf.Timestamp # BigQuery time partitioned table's _PARTITIONDATE in YYYY-MM-DD format. Only supported in ImportProductsRequest. "day": 42, # Day of a month. Must be from 1 to 31 and valid for the year and month, or 0 to specify a year by itself or a year and month where the day isn't significant. "month": 42, # Month of a year. Must be from 1 to 12, or 0 to specify a year without a month and day. "year": 42, # Year of the date. Must be from 1 to 9999, or 0 to specify a date without a year. @@ -608,10 +611,10 @@

Method Details

"autoLearning": True or False, # If set to true, the auto learning function is enabled. Auto learning uses user data to generate suggestions using ML techniques. Default value is false. Only after enabling auto learning can users use `cloud-retail` data in CompleteQueryRequest. "denylistInputConfig": { # The input config source for completion data. # Output only. The source data for the latest import of the autocomplete denylist phrases. "bigQuerySource": { # BigQuery source import data from. # Required. BigQuery input source. Add the IAM permission "BigQuery Data Viewer" for cloud-retail-customer-data-access@system.gserviceaccount.com before using this feature otherwise an error is thrown. - "dataSchema": "A String", # The schema to use when parsing the data from the source. Supported values for product imports: * `product` (default): One JSON Product per line. Each product must have a valid Product.id. * `product_merchant_center`: See [Importing catalog data from Merchant Center](https://cloud.google.com/retail/recommendations-ai/docs/upload-catalog#mc). Supported values for user events imports: * `user_event` (default): One JSON UserEvent per line. * `user_event_ga360`: The schema is available here: https://support.google.com/analytics/answer/3437719. * `user_event_ga4`: This feature is in private preview. Please contact the support team for importing Google Analytics 4 events. The schema is available here: https://support.google.com/analytics/answer/7029846. Supported values for auto-completion imports: * `suggestions` (default): One JSON completion suggestion per line. * `denylist`: One JSON deny suggestion per line. * `allowlist`: One JSON allow suggestion per line. + "dataSchema": "A String", # The schema to use when parsing the data from the source. Supported values for product imports: * `product` (default): One JSON Product per line. Each product must have a valid Product.id. * `product_merchant_center`: See [Importing catalog data from Merchant Center](https://cloud.google.com/retail/recommendations-ai/docs/upload-catalog#mc). Supported values for user events imports: * `user_event` (default): One JSON UserEvent per line. * `user_event_ga360`: The schema is available here: https://support.google.com/analytics/answer/3437719. * `user_event_ga4`: The schema is available here: https://support.google.com/analytics/answer/7029846. Supported values for auto-completion imports: * `suggestions` (default): One JSON completion suggestion per line. * `denylist`: One JSON deny suggestion per line. * `allowlist`: One JSON allow suggestion per line. "datasetId": "A String", # Required. The BigQuery data set to copy the data from with a length limit of 1,024 characters. "gcsStagingDir": "A String", # Intermediate Cloud Storage directory used for the import with a length limit of 2,000 characters. Can be specified if one wants to have the BigQuery export to a specific Cloud Storage directory. - "partitionDate": { # Represents a whole or partial calendar date, such as a birthday. The time of day and time zone are either specified elsewhere or are insignificant. The date is relative to the Gregorian Calendar. This can represent one of the following: * A full date, with non-zero year, month, and day values. * A month and day, with a zero year (for example, an anniversary). * A year on its own, with a zero month and a zero day. * A year and month, with a zero day (for example, a credit card expiration date). Related types: * google.type.TimeOfDay * google.type.DateTime * google.protobuf.Timestamp # BigQuery time partitioned table's _PARTITIONDATE in YYYY-MM-DD format. Only supported when ImportProductsRequest.reconciliation_mode is set to `FULL`. + "partitionDate": { # Represents a whole or partial calendar date, such as a birthday. The time of day and time zone are either specified elsewhere or are insignificant. The date is relative to the Gregorian Calendar. This can represent one of the following: * A full date, with non-zero year, month, and day values. * A month and day, with a zero year (for example, an anniversary). * A year on its own, with a zero month and a zero day. * A year and month, with a zero day (for example, a credit card expiration date). Related types: * google.type.TimeOfDay * google.type.DateTime * google.protobuf.Timestamp # BigQuery time partitioned table's _PARTITIONDATE in YYYY-MM-DD format. Only supported in ImportProductsRequest. "day": 42, # Day of a month. Must be from 1 to 31 and valid for the year and month, or 0 to specify a year by itself or a year and month where the day isn't significant. "month": 42, # Month of a year. Must be from 1 to 12, or 0 to specify a year without a month and day. "year": 42, # Year of the date. Must be from 1 to 9999, or 0 to specify a date without a year. @@ -624,15 +627,15 @@

Method Details

"lastDenylistImportOperation": "A String", # Output only. Name of the LRO corresponding to the latest denylist import. Can use GetOperation API to retrieve the latest state of the Long Running Operation. "lastSuggestionsImportOperation": "A String", # Output only. Name of the LRO corresponding to the latest suggestion terms list import. Can use GetOperation API to retrieve the latest state of the Long Running Operation. "matchingOrder": "A String", # Specifies the matching order for autocomplete suggestions, e.g., a query consisting of 'sh' with 'out-of-order' specified would suggest "women's shoes", whereas a query of 'red s' with 'exact-prefix' specified would suggest "red shoes". Currently supported values: * 'out-of-order' * 'exact-prefix' Default value: 'exact-prefix'. - "maxSuggestions": 42, # The maximum number of autocomplete suggestions returned per term. The maximum allowed max suggestions is 20. Default value is 20. If left unset or set to 0, then will fallback to default value. - "minPrefixLength": 42, # The minimum number of characters needed to be typed in order to get suggestions. Default value is 2. If left unset or set to 0, then will fallback to default value. + "maxSuggestions": 42, # The maximum number of autocomplete suggestions returned per term. Default value is 20. If left unset or set to 0, then will fallback to default value. Value range is 1 to 20. + "minPrefixLength": 42, # The minimum number of characters needed to be typed in order to get suggestions. Default value is 2. If left unset or set to 0, then will fallback to default value. Value range is 1 to 20. "name": "A String", # Required. Immutable. Fully qualified name `projects/*/locations/*/catalogs/*/completionConfig` "suggestionsInputConfig": { # The input config source for completion data. # Output only. The source data for the latest import of the autocomplete suggestion phrases. "bigQuerySource": { # BigQuery source import data from. # Required. BigQuery input source. Add the IAM permission "BigQuery Data Viewer" for cloud-retail-customer-data-access@system.gserviceaccount.com before using this feature otherwise an error is thrown. - "dataSchema": "A String", # The schema to use when parsing the data from the source. Supported values for product imports: * `product` (default): One JSON Product per line. Each product must have a valid Product.id. * `product_merchant_center`: See [Importing catalog data from Merchant Center](https://cloud.google.com/retail/recommendations-ai/docs/upload-catalog#mc). Supported values for user events imports: * `user_event` (default): One JSON UserEvent per line. * `user_event_ga360`: The schema is available here: https://support.google.com/analytics/answer/3437719. * `user_event_ga4`: This feature is in private preview. Please contact the support team for importing Google Analytics 4 events. The schema is available here: https://support.google.com/analytics/answer/7029846. Supported values for auto-completion imports: * `suggestions` (default): One JSON completion suggestion per line. * `denylist`: One JSON deny suggestion per line. * `allowlist`: One JSON allow suggestion per line. + "dataSchema": "A String", # The schema to use when parsing the data from the source. Supported values for product imports: * `product` (default): One JSON Product per line. Each product must have a valid Product.id. * `product_merchant_center`: See [Importing catalog data from Merchant Center](https://cloud.google.com/retail/recommendations-ai/docs/upload-catalog#mc). Supported values for user events imports: * `user_event` (default): One JSON UserEvent per line. * `user_event_ga360`: The schema is available here: https://support.google.com/analytics/answer/3437719. * `user_event_ga4`: The schema is available here: https://support.google.com/analytics/answer/7029846. Supported values for auto-completion imports: * `suggestions` (default): One JSON completion suggestion per line. * `denylist`: One JSON deny suggestion per line. * `allowlist`: One JSON allow suggestion per line. "datasetId": "A String", # Required. The BigQuery data set to copy the data from with a length limit of 1,024 characters. "gcsStagingDir": "A String", # Intermediate Cloud Storage directory used for the import with a length limit of 2,000 characters. Can be specified if one wants to have the BigQuery export to a specific Cloud Storage directory. - "partitionDate": { # Represents a whole or partial calendar date, such as a birthday. The time of day and time zone are either specified elsewhere or are insignificant. The date is relative to the Gregorian Calendar. This can represent one of the following: * A full date, with non-zero year, month, and day values. * A month and day, with a zero year (for example, an anniversary). * A year on its own, with a zero month and a zero day. * A year and month, with a zero day (for example, a credit card expiration date). Related types: * google.type.TimeOfDay * google.type.DateTime * google.protobuf.Timestamp # BigQuery time partitioned table's _PARTITIONDATE in YYYY-MM-DD format. Only supported when ImportProductsRequest.reconciliation_mode is set to `FULL`. + "partitionDate": { # Represents a whole or partial calendar date, such as a birthday. The time of day and time zone are either specified elsewhere or are insignificant. The date is relative to the Gregorian Calendar. This can represent one of the following: * A full date, with non-zero year, month, and day values. * A month and day, with a zero year (for example, an anniversary). * A year on its own, with a zero month and a zero day. * A year and month, with a zero day (for example, a credit card expiration date). Related types: * google.type.TimeOfDay * google.type.DateTime * google.protobuf.Timestamp # BigQuery time partitioned table's _PARTITIONDATE in YYYY-MM-DD format. Only supported in ImportProductsRequest. "day": 42, # Day of a month. Must be from 1 to 31 and valid for the year and month, or 0 to specify a year by itself or a year and month where the day isn't significant. "month": 42, # Month of a year. Must be from 1 to 12, or 0 to specify a year without a month and day. "year": 42, # Year of the date. Must be from 1 to 9999, or 0 to specify a date without a year. diff --git a/docs/dyn/retail_v2beta.projects.locations.catalogs.placements.html b/docs/dyn/retail_v2beta.projects.locations.catalogs.placements.html index e89873bbfa2..ea4056284ca 100644 --- a/docs/dyn/retail_v2beta.projects.locations.catalogs.placements.html +++ b/docs/dyn/retail_v2beta.projects.locations.catalogs.placements.html @@ -175,7 +175,7 @@

Method Details

"categories": [ # Product categories. This field is repeated for supporting one product belonging to several parallel categories. Strongly recommended using the full path for better search / recommendation quality. To represent full path of category, use '>' sign to separate different hierarchies. If '>' is part of the category name, please replace it with other character(s). For example, if a shoes product belongs to both ["Shoes & Accessories" -> "Shoes"] and ["Sports & Fitness" -> "Athletic Clothing" -> "Shoes"], it could be represented as: "categories": [ "Shoes & Accessories > Shoes", "Sports & Fitness > Athletic Clothing > Shoes" ] Must be set for Type.PRIMARY Product otherwise an INVALID_ARGUMENT error is returned. At most 250 values are allowed per Product. Empty values are not allowed. Each value must be a UTF-8 encoded string with a length limit of 5,000 characters. Otherwise, an INVALID_ARGUMENT error is returned. Corresponding properties: Google Merchant Center property google_product_category. Schema.org property [Product.category] (https://schema.org/category). [mc_google_product_category]: https://support.google.com/merchants/answer/6324436 "A String", ], - "collectionMemberIds": [ # The id of the collection members when type is Type.COLLECTION. Non-existent product ids are allowed. The type of the members must be either Type.PRIMARY or Type.VARIANT otherwise and INVALID_ARGUMENT error is thrown. Should not set it for other types. A maximum of 1000 values are allowed. Otherwise, an INVALID_ARGUMENT error is return. + "collectionMemberIds": [ # The id of the collection members when type is Type.COLLECTION. Non-existent product ids are allowed. The type of the members must be either Type.PRIMARY or Type.VARIANT otherwise an INVALID_ARGUMENT error is thrown. Should not set it for other types. A maximum of 1000 values are allowed. Otherwise, an INVALID_ARGUMENT error is return. "A String", ], "colorInfo": { # The color information of a Product. # The color of the product. Corresponding properties: Google Merchant Center property [color](https://support.google.com/merchants/answer/6324487). Schema.org property [Product.color](https://schema.org/color). @@ -369,6 +369,7 @@

Method Details

"restrictedValues": [ # Only get facet for the given restricted values. For example, when using "pickupInStore" as key and set restricted values to ["store123", "store456"], only facets for "store123" and "store456" are returned. Only supported on predefined textual fields, custom textual attributes and fulfillments. Maximum is 20. Must be set for the fulfillment facet keys: * pickupInStore * shipToStore * sameDayDelivery * nextDayDelivery * customFulfillment1 * customFulfillment2 * customFulfillment3 * customFulfillment4 * customFulfillment5 "A String", ], + "returnMinMax": True or False, # Returns the min and max value for each numerical facet intervals. Ignored for textual facets. }, "limit": 42, # Maximum of facet values that should be returned for this facet. If unspecified, defaults to 20. The maximum allowed value is 300. Values above 300 will be coerced to 300. If this field is negative, an INVALID_ARGUMENT is returned. }, @@ -435,6 +436,8 @@

Method Details

"maximum": 3.14, # Inclusive upper bound. "minimum": 3.14, # Inclusive lower bound. }, + "maxValue": 3.14, # The maximum value in the FacetValue.interval. Only supported on numerical facets and returned if SearchRequest.FacetSpec.FacetKey.return_min_max is true. + "minValue": 3.14, # The minimum value in the FacetValue.interval. Only supported on numerical facets and returned if SearchRequest.FacetSpec.FacetKey.return_min_max is true. "value": "A String", # Text value of a facet, such as "Black" for facet "colorFamilies". }, ], @@ -459,6 +462,9 @@

Method Details

"matchingVariantFields": { # If a variant Product matches the search query, this map indicates which Product fields are matched. The key is the Product.name, the value is a field mask of the matched Product fields. If matched attributes cannot be determined, this map will be empty. For example, a key "sku1" with field mask "products.color_info" indicates there is a match between "sku1" ColorInfo and the query. "a_key": "A String", }, + "personalLabels": [ # Specifies previous events related to this product for this user based on UserEvent with same SearchRequest.visitor_id or UserInfo.user_id. This is set only when SearchRequest.PersonalizationSpec.mode is SearchRequest.PersonalizationSpec.Mode.AUTO. Possible values: * `purchased`: Indicates that this product has been purchased before. + "A String", + ], "product": { # Product captures all metadata information of items to be recommended or searched. # The product data snippet in the search response. Only Product.name is guaranteed to be populated. Product.variants contains the product variants that match the search query. If there are multiple product variants matching the query, top 5 most relevant product variants are returned and ordered by relevancy. If relevancy can be deternmined, use matching_variant_fields to look up matched product variants fields. If relevancy cannot be determined, e.g. when searching "shoe" all products in a shoe product can be a match, 5 product variants are returned but order is meaningless. "attributes": { # Highly encouraged. Extra product attributes to be included. For example, for products, this could include the store name, vendor, style, color, etc. These are very strong signals for recommendation model, thus we highly recommend providing the attributes here. Features that can take on one of a limited number of possible values. Two types of features can be set are: Textual features. some examples would be the brand/maker of a product, or country of a customer. Numerical features. Some examples would be the height/weight of a product, or age of a customer. For example: `{ "vendor": {"text": ["vendor123", "vendor456"]}, "lengths_cm": {"numbers":[2.3, 15.4]}, "heights_cm": {"numbers":[8.1, 6.4]} }`. This field needs to pass all below criteria, otherwise an INVALID_ARGUMENT error is returned: * Max entries count: 200. * The key must be a UTF-8 encoded string with a length limit of 128 characters. * For indexable attribute, the key must match the pattern: `a-zA-Z0-9*`. For example, `key0LikeThis` or `KEY_1_LIKE_THIS`. * For text attributes, at most 400 values are allowed. Empty values are not allowed. Each value must be a non-empty UTF-8 encoded string with a length limit of 256 characters. * For number attributes, at most 400 values are allowed. "a_key": { # A custom attribute that is not explicitly modeled in Product. @@ -489,7 +495,7 @@

Method Details

"categories": [ # Product categories. This field is repeated for supporting one product belonging to several parallel categories. Strongly recommended using the full path for better search / recommendation quality. To represent full path of category, use '>' sign to separate different hierarchies. If '>' is part of the category name, please replace it with other character(s). For example, if a shoes product belongs to both ["Shoes & Accessories" -> "Shoes"] and ["Sports & Fitness" -> "Athletic Clothing" -> "Shoes"], it could be represented as: "categories": [ "Shoes & Accessories > Shoes", "Sports & Fitness > Athletic Clothing > Shoes" ] Must be set for Type.PRIMARY Product otherwise an INVALID_ARGUMENT error is returned. At most 250 values are allowed per Product. Empty values are not allowed. Each value must be a UTF-8 encoded string with a length limit of 5,000 characters. Otherwise, an INVALID_ARGUMENT error is returned. Corresponding properties: Google Merchant Center property google_product_category. Schema.org property [Product.category] (https://schema.org/category). [mc_google_product_category]: https://support.google.com/merchants/answer/6324436 "A String", ], - "collectionMemberIds": [ # The id of the collection members when type is Type.COLLECTION. Non-existent product ids are allowed. The type of the members must be either Type.PRIMARY or Type.VARIANT otherwise and INVALID_ARGUMENT error is thrown. Should not set it for other types. A maximum of 1000 values are allowed. Otherwise, an INVALID_ARGUMENT error is return. + "collectionMemberIds": [ # The id of the collection members when type is Type.COLLECTION. Non-existent product ids are allowed. The type of the members must be either Type.PRIMARY or Type.VARIANT otherwise an INVALID_ARGUMENT error is thrown. Should not set it for other types. A maximum of 1000 values are allowed. Otherwise, an INVALID_ARGUMENT error is return. "A String", ], "colorInfo": { # The color information of a Product. # The color of the product. Corresponding properties: Google Merchant Center property [color](https://support.google.com/merchants/answer/6324487). Schema.org property [Product.color](https://schema.org/color). diff --git a/docs/dyn/retail_v2beta.projects.locations.catalogs.servingConfigs.html b/docs/dyn/retail_v2beta.projects.locations.catalogs.servingConfigs.html index bcfefcd5ddc..16d8107f74c 100644 --- a/docs/dyn/retail_v2beta.projects.locations.catalogs.servingConfigs.html +++ b/docs/dyn/retail_v2beta.projects.locations.catalogs.servingConfigs.html @@ -622,7 +622,7 @@

Method Details

"categories": [ # Product categories. This field is repeated for supporting one product belonging to several parallel categories. Strongly recommended using the full path for better search / recommendation quality. To represent full path of category, use '>' sign to separate different hierarchies. If '>' is part of the category name, please replace it with other character(s). For example, if a shoes product belongs to both ["Shoes & Accessories" -> "Shoes"] and ["Sports & Fitness" -> "Athletic Clothing" -> "Shoes"], it could be represented as: "categories": [ "Shoes & Accessories > Shoes", "Sports & Fitness > Athletic Clothing > Shoes" ] Must be set for Type.PRIMARY Product otherwise an INVALID_ARGUMENT error is returned. At most 250 values are allowed per Product. Empty values are not allowed. Each value must be a UTF-8 encoded string with a length limit of 5,000 characters. Otherwise, an INVALID_ARGUMENT error is returned. Corresponding properties: Google Merchant Center property google_product_category. Schema.org property [Product.category] (https://schema.org/category). [mc_google_product_category]: https://support.google.com/merchants/answer/6324436 "A String", ], - "collectionMemberIds": [ # The id of the collection members when type is Type.COLLECTION. Non-existent product ids are allowed. The type of the members must be either Type.PRIMARY or Type.VARIANT otherwise and INVALID_ARGUMENT error is thrown. Should not set it for other types. A maximum of 1000 values are allowed. Otherwise, an INVALID_ARGUMENT error is return. + "collectionMemberIds": [ # The id of the collection members when type is Type.COLLECTION. Non-existent product ids are allowed. The type of the members must be either Type.PRIMARY or Type.VARIANT otherwise an INVALID_ARGUMENT error is thrown. Should not set it for other types. A maximum of 1000 values are allowed. Otherwise, an INVALID_ARGUMENT error is return. "A String", ], "colorInfo": { # The color information of a Product. # The color of the product. Corresponding properties: Google Merchant Center property [color](https://support.google.com/merchants/answer/6324487). Schema.org property [Product.color](https://schema.org/color). @@ -880,6 +880,7 @@

Method Details

"restrictedValues": [ # Only get facet for the given restricted values. For example, when using "pickupInStore" as key and set restricted values to ["store123", "store456"], only facets for "store123" and "store456" are returned. Only supported on predefined textual fields, custom textual attributes and fulfillments. Maximum is 20. Must be set for the fulfillment facet keys: * pickupInStore * shipToStore * sameDayDelivery * nextDayDelivery * customFulfillment1 * customFulfillment2 * customFulfillment3 * customFulfillment4 * customFulfillment5 "A String", ], + "returnMinMax": True or False, # Returns the min and max value for each numerical facet intervals. Ignored for textual facets. }, "limit": 42, # Maximum of facet values that should be returned for this facet. If unspecified, defaults to 20. The maximum allowed value is 300. Values above 300 will be coerced to 300. If this field is negative, an INVALID_ARGUMENT is returned. }, @@ -946,6 +947,8 @@

Method Details

"maximum": 3.14, # Inclusive upper bound. "minimum": 3.14, # Inclusive lower bound. }, + "maxValue": 3.14, # The maximum value in the FacetValue.interval. Only supported on numerical facets and returned if SearchRequest.FacetSpec.FacetKey.return_min_max is true. + "minValue": 3.14, # The minimum value in the FacetValue.interval. Only supported on numerical facets and returned if SearchRequest.FacetSpec.FacetKey.return_min_max is true. "value": "A String", # Text value of a facet, such as "Black" for facet "colorFamilies". }, ], @@ -970,6 +973,9 @@

Method Details

"matchingVariantFields": { # If a variant Product matches the search query, this map indicates which Product fields are matched. The key is the Product.name, the value is a field mask of the matched Product fields. If matched attributes cannot be determined, this map will be empty. For example, a key "sku1" with field mask "products.color_info" indicates there is a match between "sku1" ColorInfo and the query. "a_key": "A String", }, + "personalLabels": [ # Specifies previous events related to this product for this user based on UserEvent with same SearchRequest.visitor_id or UserInfo.user_id. This is set only when SearchRequest.PersonalizationSpec.mode is SearchRequest.PersonalizationSpec.Mode.AUTO. Possible values: * `purchased`: Indicates that this product has been purchased before. + "A String", + ], "product": { # Product captures all metadata information of items to be recommended or searched. # The product data snippet in the search response. Only Product.name is guaranteed to be populated. Product.variants contains the product variants that match the search query. If there are multiple product variants matching the query, top 5 most relevant product variants are returned and ordered by relevancy. If relevancy can be deternmined, use matching_variant_fields to look up matched product variants fields. If relevancy cannot be determined, e.g. when searching "shoe" all products in a shoe product can be a match, 5 product variants are returned but order is meaningless. "attributes": { # Highly encouraged. Extra product attributes to be included. For example, for products, this could include the store name, vendor, style, color, etc. These are very strong signals for recommendation model, thus we highly recommend providing the attributes here. Features that can take on one of a limited number of possible values. Two types of features can be set are: Textual features. some examples would be the brand/maker of a product, or country of a customer. Numerical features. Some examples would be the height/weight of a product, or age of a customer. For example: `{ "vendor": {"text": ["vendor123", "vendor456"]}, "lengths_cm": {"numbers":[2.3, 15.4]}, "heights_cm": {"numbers":[8.1, 6.4]} }`. This field needs to pass all below criteria, otherwise an INVALID_ARGUMENT error is returned: * Max entries count: 200. * The key must be a UTF-8 encoded string with a length limit of 128 characters. * For indexable attribute, the key must match the pattern: `a-zA-Z0-9*`. For example, `key0LikeThis` or `KEY_1_LIKE_THIS`. * For text attributes, at most 400 values are allowed. Empty values are not allowed. Each value must be a non-empty UTF-8 encoded string with a length limit of 256 characters. * For number attributes, at most 400 values are allowed. "a_key": { # A custom attribute that is not explicitly modeled in Product. @@ -1000,7 +1006,7 @@

Method Details

"categories": [ # Product categories. This field is repeated for supporting one product belonging to several parallel categories. Strongly recommended using the full path for better search / recommendation quality. To represent full path of category, use '>' sign to separate different hierarchies. If '>' is part of the category name, please replace it with other character(s). For example, if a shoes product belongs to both ["Shoes & Accessories" -> "Shoes"] and ["Sports & Fitness" -> "Athletic Clothing" -> "Shoes"], it could be represented as: "categories": [ "Shoes & Accessories > Shoes", "Sports & Fitness > Athletic Clothing > Shoes" ] Must be set for Type.PRIMARY Product otherwise an INVALID_ARGUMENT error is returned. At most 250 values are allowed per Product. Empty values are not allowed. Each value must be a UTF-8 encoded string with a length limit of 5,000 characters. Otherwise, an INVALID_ARGUMENT error is returned. Corresponding properties: Google Merchant Center property google_product_category. Schema.org property [Product.category] (https://schema.org/category). [mc_google_product_category]: https://support.google.com/merchants/answer/6324436 "A String", ], - "collectionMemberIds": [ # The id of the collection members when type is Type.COLLECTION. Non-existent product ids are allowed. The type of the members must be either Type.PRIMARY or Type.VARIANT otherwise and INVALID_ARGUMENT error is thrown. Should not set it for other types. A maximum of 1000 values are allowed. Otherwise, an INVALID_ARGUMENT error is return. + "collectionMemberIds": [ # The id of the collection members when type is Type.COLLECTION. Non-existent product ids are allowed. The type of the members must be either Type.PRIMARY or Type.VARIANT otherwise an INVALID_ARGUMENT error is thrown. Should not set it for other types. A maximum of 1000 values are allowed. Otherwise, an INVALID_ARGUMENT error is return. "A String", ], "colorInfo": { # The color information of a Product. # The color of the product. Corresponding properties: Google Merchant Center property [color](https://support.google.com/merchants/answer/6324487). Schema.org property [Product.color](https://schema.org/color). diff --git a/docs/dyn/retail_v2beta.projects.locations.catalogs.userEvents.html b/docs/dyn/retail_v2beta.projects.locations.catalogs.userEvents.html index 0a20d2e173f..f444cc4f2d9 100644 --- a/docs/dyn/retail_v2beta.projects.locations.catalogs.userEvents.html +++ b/docs/dyn/retail_v2beta.projects.locations.catalogs.userEvents.html @@ -141,10 +141,10 @@

Method Details

}, "inputConfig": { # The input config source for user events. # Required. The desired input location of the data. "bigQuerySource": { # BigQuery source import data from. # Required. BigQuery input source. - "dataSchema": "A String", # The schema to use when parsing the data from the source. Supported values for product imports: * `product` (default): One JSON Product per line. Each product must have a valid Product.id. * `product_merchant_center`: See [Importing catalog data from Merchant Center](https://cloud.google.com/retail/recommendations-ai/docs/upload-catalog#mc). Supported values for user events imports: * `user_event` (default): One JSON UserEvent per line. * `user_event_ga360`: The schema is available here: https://support.google.com/analytics/answer/3437719. * `user_event_ga4`: This feature is in private preview. Please contact the support team for importing Google Analytics 4 events. The schema is available here: https://support.google.com/analytics/answer/7029846. Supported values for auto-completion imports: * `suggestions` (default): One JSON completion suggestion per line. * `denylist`: One JSON deny suggestion per line. * `allowlist`: One JSON allow suggestion per line. + "dataSchema": "A String", # The schema to use when parsing the data from the source. Supported values for product imports: * `product` (default): One JSON Product per line. Each product must have a valid Product.id. * `product_merchant_center`: See [Importing catalog data from Merchant Center](https://cloud.google.com/retail/recommendations-ai/docs/upload-catalog#mc). Supported values for user events imports: * `user_event` (default): One JSON UserEvent per line. * `user_event_ga360`: The schema is available here: https://support.google.com/analytics/answer/3437719. * `user_event_ga4`: The schema is available here: https://support.google.com/analytics/answer/7029846. Supported values for auto-completion imports: * `suggestions` (default): One JSON completion suggestion per line. * `denylist`: One JSON deny suggestion per line. * `allowlist`: One JSON allow suggestion per line. "datasetId": "A String", # Required. The BigQuery data set to copy the data from with a length limit of 1,024 characters. "gcsStagingDir": "A String", # Intermediate Cloud Storage directory used for the import with a length limit of 2,000 characters. Can be specified if one wants to have the BigQuery export to a specific Cloud Storage directory. - "partitionDate": { # Represents a whole or partial calendar date, such as a birthday. The time of day and time zone are either specified elsewhere or are insignificant. The date is relative to the Gregorian Calendar. This can represent one of the following: * A full date, with non-zero year, month, and day values. * A month and day, with a zero year (for example, an anniversary). * A year on its own, with a zero month and a zero day. * A year and month, with a zero day (for example, a credit card expiration date). Related types: * google.type.TimeOfDay * google.type.DateTime * google.protobuf.Timestamp # BigQuery time partitioned table's _PARTITIONDATE in YYYY-MM-DD format. Only supported when ImportProductsRequest.reconciliation_mode is set to `FULL`. + "partitionDate": { # Represents a whole or partial calendar date, such as a birthday. The time of day and time zone are either specified elsewhere or are insignificant. The date is relative to the Gregorian Calendar. This can represent one of the following: * A full date, with non-zero year, month, and day values. * A month and day, with a zero year (for example, an anniversary). * A year on its own, with a zero month and a zero day. * A year and month, with a zero day (for example, a credit card expiration date). Related types: * google.type.TimeOfDay * google.type.DateTime * google.protobuf.Timestamp # BigQuery time partitioned table's _PARTITIONDATE in YYYY-MM-DD format. Only supported in ImportProductsRequest. "day": 42, # Day of a month. Must be from 1 to 31 and valid for the year and month, or 0 to specify a year by itself or a year and month where the day isn't significant. "month": 42, # Month of a year. Must be from 1 to 12, or 0 to specify a year without a month and day. "year": 42, # Year of the date. Must be from 1 to 9999, or 0 to specify a date without a year. @@ -224,7 +224,7 @@

Method Details

"categories": [ # Product categories. This field is repeated for supporting one product belonging to several parallel categories. Strongly recommended using the full path for better search / recommendation quality. To represent full path of category, use '>' sign to separate different hierarchies. If '>' is part of the category name, please replace it with other character(s). For example, if a shoes product belongs to both ["Shoes & Accessories" -> "Shoes"] and ["Sports & Fitness" -> "Athletic Clothing" -> "Shoes"], it could be represented as: "categories": [ "Shoes & Accessories > Shoes", "Sports & Fitness > Athletic Clothing > Shoes" ] Must be set for Type.PRIMARY Product otherwise an INVALID_ARGUMENT error is returned. At most 250 values are allowed per Product. Empty values are not allowed. Each value must be a UTF-8 encoded string with a length limit of 5,000 characters. Otherwise, an INVALID_ARGUMENT error is returned. Corresponding properties: Google Merchant Center property google_product_category. Schema.org property [Product.category] (https://schema.org/category). [mc_google_product_category]: https://support.google.com/merchants/answer/6324436 "A String", ], - "collectionMemberIds": [ # The id of the collection members when type is Type.COLLECTION. Non-existent product ids are allowed. The type of the members must be either Type.PRIMARY or Type.VARIANT otherwise and INVALID_ARGUMENT error is thrown. Should not set it for other types. A maximum of 1000 values are allowed. Otherwise, an INVALID_ARGUMENT error is return. + "collectionMemberIds": [ # The id of the collection members when type is Type.COLLECTION. Non-existent product ids are allowed. The type of the members must be either Type.PRIMARY or Type.VARIANT otherwise an INVALID_ARGUMENT error is thrown. Should not set it for other types. A maximum of 1000 values are allowed. Otherwise, an INVALID_ARGUMENT error is return. "A String", ], "colorInfo": { # The color information of a Product. # The color of the product. Corresponding properties: Google Merchant Center property [color](https://support.google.com/merchants/answer/6324487). Schema.org property [Product.color](https://schema.org/color). @@ -530,7 +530,7 @@

Method Details

"categories": [ # Product categories. This field is repeated for supporting one product belonging to several parallel categories. Strongly recommended using the full path for better search / recommendation quality. To represent full path of category, use '>' sign to separate different hierarchies. If '>' is part of the category name, please replace it with other character(s). For example, if a shoes product belongs to both ["Shoes & Accessories" -> "Shoes"] and ["Sports & Fitness" -> "Athletic Clothing" -> "Shoes"], it could be represented as: "categories": [ "Shoes & Accessories > Shoes", "Sports & Fitness > Athletic Clothing > Shoes" ] Must be set for Type.PRIMARY Product otherwise an INVALID_ARGUMENT error is returned. At most 250 values are allowed per Product. Empty values are not allowed. Each value must be a UTF-8 encoded string with a length limit of 5,000 characters. Otherwise, an INVALID_ARGUMENT error is returned. Corresponding properties: Google Merchant Center property google_product_category. Schema.org property [Product.category] (https://schema.org/category). [mc_google_product_category]: https://support.google.com/merchants/answer/6324436 "A String", ], - "collectionMemberIds": [ # The id of the collection members when type is Type.COLLECTION. Non-existent product ids are allowed. The type of the members must be either Type.PRIMARY or Type.VARIANT otherwise and INVALID_ARGUMENT error is thrown. Should not set it for other types. A maximum of 1000 values are allowed. Otherwise, an INVALID_ARGUMENT error is return. + "collectionMemberIds": [ # The id of the collection members when type is Type.COLLECTION. Non-existent product ids are allowed. The type of the members must be either Type.PRIMARY or Type.VARIANT otherwise an INVALID_ARGUMENT error is thrown. Should not set it for other types. A maximum of 1000 values are allowed. Otherwise, an INVALID_ARGUMENT error is return. "A String", ], "colorInfo": { # The color information of a Product. # The color of the product. Corresponding properties: Google Merchant Center property [color](https://support.google.com/merchants/answer/6324487). Schema.org property [Product.color](https://schema.org/color). @@ -717,7 +717,7 @@

Method Details

"categories": [ # Product categories. This field is repeated for supporting one product belonging to several parallel categories. Strongly recommended using the full path for better search / recommendation quality. To represent full path of category, use '>' sign to separate different hierarchies. If '>' is part of the category name, please replace it with other character(s). For example, if a shoes product belongs to both ["Shoes & Accessories" -> "Shoes"] and ["Sports & Fitness" -> "Athletic Clothing" -> "Shoes"], it could be represented as: "categories": [ "Shoes & Accessories > Shoes", "Sports & Fitness > Athletic Clothing > Shoes" ] Must be set for Type.PRIMARY Product otherwise an INVALID_ARGUMENT error is returned. At most 250 values are allowed per Product. Empty values are not allowed. Each value must be a UTF-8 encoded string with a length limit of 5,000 characters. Otherwise, an INVALID_ARGUMENT error is returned. Corresponding properties: Google Merchant Center property google_product_category. Schema.org property [Product.category] (https://schema.org/category). [mc_google_product_category]: https://support.google.com/merchants/answer/6324436 "A String", ], - "collectionMemberIds": [ # The id of the collection members when type is Type.COLLECTION. Non-existent product ids are allowed. The type of the members must be either Type.PRIMARY or Type.VARIANT otherwise and INVALID_ARGUMENT error is thrown. Should not set it for other types. A maximum of 1000 values are allowed. Otherwise, an INVALID_ARGUMENT error is return. + "collectionMemberIds": [ # The id of the collection members when type is Type.COLLECTION. Non-existent product ids are allowed. The type of the members must be either Type.PRIMARY or Type.VARIANT otherwise an INVALID_ARGUMENT error is thrown. Should not set it for other types. A maximum of 1000 values are allowed. Otherwise, an INVALID_ARGUMENT error is return. "A String", ], "colorInfo": { # The color information of a Product. # The color of the product. Corresponding properties: Google Merchant Center property [color](https://support.google.com/merchants/answer/6324487). Schema.org property [Product.color](https://schema.org/color). diff --git a/docs/dyn/run_v1.namespaces.configurations.html b/docs/dyn/run_v1.namespaces.configurations.html index 774e8a052ef..d6be1fe47eb 100644 --- a/docs/dyn/run_v1.namespaces.configurations.html +++ b/docs/dyn/run_v1.namespaces.configurations.html @@ -122,7 +122,7 @@

Method Details

"labels": { # (Optional) Map of string keys and values that can be used to organize and categorize (scope and select) objects. May match selectors of replication controllers and routes. More info: https://kubernetes.io/docs/user-guide/labels "a_key": "A String", }, - "name": "A String", # Name must be unique within a namespace, within a Cloud Run region. Is required when creating resources, although some resources may allow a client to request the generation of an appropriate name automatically. Name is primarily intended for creation idempotence and configuration definition. Cannot be updated. More info: https://kubernetes.io/docs/user-guide/identifiers#names +optional + "name": "A String", # Name must be unique within a namespace, within a Cloud Run region. Is required when creating resources, although some resources may allow a client to request the generation of an appropriate name automatically. Name is primarily intended for creation idempotence and configuration definition. Cannot be updated. More info: https://kubernetes.io/docs/user-guide/identifiers#names If ObjectMeta is part of a namespaces.services.create request, name must contain fewer than 50 characters. +optional "namespace": "A String", # Namespace defines the space within each name must be unique, within a Cloud Run region. In Cloud Run the namespace must be equal to either the project ID or project number. "ownerReferences": [ # (Optional) Not supported by Cloud Run List of objects that own this object. If ALL objects in the list have been deleted, this object will be garbage collected. { # OwnerReference contains enough information to let you identify an owning object. Currently, an owning object must be in the same namespace, so there is no namespace field. @@ -156,7 +156,7 @@

Method Details

"labels": { # (Optional) Map of string keys and values that can be used to organize and categorize (scope and select) objects. May match selectors of replication controllers and routes. More info: https://kubernetes.io/docs/user-guide/labels "a_key": "A String", }, - "name": "A String", # Name must be unique within a namespace, within a Cloud Run region. Is required when creating resources, although some resources may allow a client to request the generation of an appropriate name automatically. Name is primarily intended for creation idempotence and configuration definition. Cannot be updated. More info: https://kubernetes.io/docs/user-guide/identifiers#names +optional + "name": "A String", # Name must be unique within a namespace, within a Cloud Run region. Is required when creating resources, although some resources may allow a client to request the generation of an appropriate name automatically. Name is primarily intended for creation idempotence and configuration definition. Cannot be updated. More info: https://kubernetes.io/docs/user-guide/identifiers#names If ObjectMeta is part of a namespaces.services.create request, name must contain fewer than 50 characters. +optional "namespace": "A String", # Namespace defines the space within each name must be unique, within a Cloud Run region. In Cloud Run the namespace must be equal to either the project ID or project number. "ownerReferences": [ # (Optional) Not supported by Cloud Run List of objects that own this object. If ALL objects in the list have been deleted, this object will be garbage collected. { # OwnerReference contains enough information to let you identify an owning object. Currently, an owning object must be in the same namespace, so there is no namespace field. @@ -453,7 +453,7 @@

Method Details

"labels": { # (Optional) Map of string keys and values that can be used to organize and categorize (scope and select) objects. May match selectors of replication controllers and routes. More info: https://kubernetes.io/docs/user-guide/labels "a_key": "A String", }, - "name": "A String", # Name must be unique within a namespace, within a Cloud Run region. Is required when creating resources, although some resources may allow a client to request the generation of an appropriate name automatically. Name is primarily intended for creation idempotence and configuration definition. Cannot be updated. More info: https://kubernetes.io/docs/user-guide/identifiers#names +optional + "name": "A String", # Name must be unique within a namespace, within a Cloud Run region. Is required when creating resources, although some resources may allow a client to request the generation of an appropriate name automatically. Name is primarily intended for creation idempotence and configuration definition. Cannot be updated. More info: https://kubernetes.io/docs/user-guide/identifiers#names If ObjectMeta is part of a namespaces.services.create request, name must contain fewer than 50 characters. +optional "namespace": "A String", # Namespace defines the space within each name must be unique, within a Cloud Run region. In Cloud Run the namespace must be equal to either the project ID or project number. "ownerReferences": [ # (Optional) Not supported by Cloud Run List of objects that own this object. If ALL objects in the list have been deleted, this object will be garbage collected. { # OwnerReference contains enough information to let you identify an owning object. Currently, an owning object must be in the same namespace, so there is no namespace field. @@ -487,7 +487,7 @@

Method Details

"labels": { # (Optional) Map of string keys and values that can be used to organize and categorize (scope and select) objects. May match selectors of replication controllers and routes. More info: https://kubernetes.io/docs/user-guide/labels "a_key": "A String", }, - "name": "A String", # Name must be unique within a namespace, within a Cloud Run region. Is required when creating resources, although some resources may allow a client to request the generation of an appropriate name automatically. Name is primarily intended for creation idempotence and configuration definition. Cannot be updated. More info: https://kubernetes.io/docs/user-guide/identifiers#names +optional + "name": "A String", # Name must be unique within a namespace, within a Cloud Run region. Is required when creating resources, although some resources may allow a client to request the generation of an appropriate name automatically. Name is primarily intended for creation idempotence and configuration definition. Cannot be updated. More info: https://kubernetes.io/docs/user-guide/identifiers#names If ObjectMeta is part of a namespaces.services.create request, name must contain fewer than 50 characters. +optional "namespace": "A String", # Namespace defines the space within each name must be unique, within a Cloud Run region. In Cloud Run the namespace must be equal to either the project ID or project number. "ownerReferences": [ # (Optional) Not supported by Cloud Run List of objects that own this object. If ALL objects in the list have been deleted, this object will be garbage collected. { # OwnerReference contains enough information to let you identify an owning object. Currently, an owning object must be in the same namespace, so there is no namespace field. diff --git a/docs/dyn/run_v1.namespaces.domainmappings.html b/docs/dyn/run_v1.namespaces.domainmappings.html index 1a5aa8029d0..2e1009b2f2e 100644 --- a/docs/dyn/run_v1.namespaces.domainmappings.html +++ b/docs/dyn/run_v1.namespaces.domainmappings.html @@ -123,7 +123,7 @@

Method Details

"labels": { # (Optional) Map of string keys and values that can be used to organize and categorize (scope and select) objects. May match selectors of replication controllers and routes. More info: https://kubernetes.io/docs/user-guide/labels "a_key": "A String", }, - "name": "A String", # Name must be unique within a namespace, within a Cloud Run region. Is required when creating resources, although some resources may allow a client to request the generation of an appropriate name automatically. Name is primarily intended for creation idempotence and configuration definition. Cannot be updated. More info: https://kubernetes.io/docs/user-guide/identifiers#names +optional + "name": "A String", # Name must be unique within a namespace, within a Cloud Run region. Is required when creating resources, although some resources may allow a client to request the generation of an appropriate name automatically. Name is primarily intended for creation idempotence and configuration definition. Cannot be updated. More info: https://kubernetes.io/docs/user-guide/identifiers#names If ObjectMeta is part of a namespaces.services.create request, name must contain fewer than 50 characters. +optional "namespace": "A String", # Namespace defines the space within each name must be unique, within a Cloud Run region. In Cloud Run the namespace must be equal to either the project ID or project number. "ownerReferences": [ # (Optional) Not supported by Cloud Run List of objects that own this object. If ALL objects in the list have been deleted, this object will be garbage collected. { # OwnerReference contains enough information to let you identify an owning object. Currently, an owning object must be in the same namespace, so there is no namespace field. @@ -196,7 +196,7 @@

Method Details

"labels": { # (Optional) Map of string keys and values that can be used to organize and categorize (scope and select) objects. May match selectors of replication controllers and routes. More info: https://kubernetes.io/docs/user-guide/labels "a_key": "A String", }, - "name": "A String", # Name must be unique within a namespace, within a Cloud Run region. Is required when creating resources, although some resources may allow a client to request the generation of an appropriate name automatically. Name is primarily intended for creation idempotence and configuration definition. Cannot be updated. More info: https://kubernetes.io/docs/user-guide/identifiers#names +optional + "name": "A String", # Name must be unique within a namespace, within a Cloud Run region. Is required when creating resources, although some resources may allow a client to request the generation of an appropriate name automatically. Name is primarily intended for creation idempotence and configuration definition. Cannot be updated. More info: https://kubernetes.io/docs/user-guide/identifiers#names If ObjectMeta is part of a namespaces.services.create request, name must contain fewer than 50 characters. +optional "namespace": "A String", # Namespace defines the space within each name must be unique, within a Cloud Run region. In Cloud Run the namespace must be equal to either the project ID or project number. "ownerReferences": [ # (Optional) Not supported by Cloud Run List of objects that own this object. If ALL objects in the list have been deleted, this object will be garbage collected. { # OwnerReference contains enough information to let you identify an owning object. Currently, an owning object must be in the same namespace, so there is no namespace field. @@ -320,7 +320,7 @@

Method Details

"labels": { # (Optional) Map of string keys and values that can be used to organize and categorize (scope and select) objects. May match selectors of replication controllers and routes. More info: https://kubernetes.io/docs/user-guide/labels "a_key": "A String", }, - "name": "A String", # Name must be unique within a namespace, within a Cloud Run region. Is required when creating resources, although some resources may allow a client to request the generation of an appropriate name automatically. Name is primarily intended for creation idempotence and configuration definition. Cannot be updated. More info: https://kubernetes.io/docs/user-guide/identifiers#names +optional + "name": "A String", # Name must be unique within a namespace, within a Cloud Run region. Is required when creating resources, although some resources may allow a client to request the generation of an appropriate name automatically. Name is primarily intended for creation idempotence and configuration definition. Cannot be updated. More info: https://kubernetes.io/docs/user-guide/identifiers#names If ObjectMeta is part of a namespaces.services.create request, name must contain fewer than 50 characters. +optional "namespace": "A String", # Namespace defines the space within each name must be unique, within a Cloud Run region. In Cloud Run the namespace must be equal to either the project ID or project number. "ownerReferences": [ # (Optional) Not supported by Cloud Run List of objects that own this object. If ALL objects in the list have been deleted, this object will be garbage collected. { # OwnerReference contains enough information to let you identify an owning object. Currently, an owning object must be in the same namespace, so there is no namespace field. @@ -409,7 +409,7 @@

Method Details

"labels": { # (Optional) Map of string keys and values that can be used to organize and categorize (scope and select) objects. May match selectors of replication controllers and routes. More info: https://kubernetes.io/docs/user-guide/labels "a_key": "A String", }, - "name": "A String", # Name must be unique within a namespace, within a Cloud Run region. Is required when creating resources, although some resources may allow a client to request the generation of an appropriate name automatically. Name is primarily intended for creation idempotence and configuration definition. Cannot be updated. More info: https://kubernetes.io/docs/user-guide/identifiers#names +optional + "name": "A String", # Name must be unique within a namespace, within a Cloud Run region. Is required when creating resources, although some resources may allow a client to request the generation of an appropriate name automatically. Name is primarily intended for creation idempotence and configuration definition. Cannot be updated. More info: https://kubernetes.io/docs/user-guide/identifiers#names If ObjectMeta is part of a namespaces.services.create request, name must contain fewer than 50 characters. +optional "namespace": "A String", # Namespace defines the space within each name must be unique, within a Cloud Run region. In Cloud Run the namespace must be equal to either the project ID or project number. "ownerReferences": [ # (Optional) Not supported by Cloud Run List of objects that own this object. If ALL objects in the list have been deleted, this object will be garbage collected. { # OwnerReference contains enough information to let you identify an owning object. Currently, an owning object must be in the same namespace, so there is no namespace field. diff --git a/docs/dyn/run_v1.namespaces.executions.html b/docs/dyn/run_v1.namespaces.executions.html index 61eec1c31b2..393de128f91 100644 --- a/docs/dyn/run_v1.namespaces.executions.html +++ b/docs/dyn/run_v1.namespaces.executions.html @@ -169,7 +169,7 @@

Method Details

"labels": { # (Optional) Map of string keys and values that can be used to organize and categorize (scope and select) objects. May match selectors of replication controllers and routes. More info: https://kubernetes.io/docs/user-guide/labels "a_key": "A String", }, - "name": "A String", # Name must be unique within a namespace, within a Cloud Run region. Is required when creating resources, although some resources may allow a client to request the generation of an appropriate name automatically. Name is primarily intended for creation idempotence and configuration definition. Cannot be updated. More info: https://kubernetes.io/docs/user-guide/identifiers#names +optional + "name": "A String", # Name must be unique within a namespace, within a Cloud Run region. Is required when creating resources, although some resources may allow a client to request the generation of an appropriate name automatically. Name is primarily intended for creation idempotence and configuration definition. Cannot be updated. More info: https://kubernetes.io/docs/user-guide/identifiers#names If ObjectMeta is part of a namespaces.services.create request, name must contain fewer than 50 characters. +optional "namespace": "A String", # Namespace defines the space within each name must be unique, within a Cloud Run region. In Cloud Run the namespace must be equal to either the project ID or project number. "ownerReferences": [ # (Optional) Not supported by Cloud Run List of objects that own this object. If ALL objects in the list have been deleted, this object will be garbage collected. { # OwnerReference contains enough information to let you identify an owning object. Currently, an owning object must be in the same namespace, so there is no namespace field. @@ -470,7 +470,7 @@

Method Details

"labels": { # (Optional) Map of string keys and values that can be used to organize and categorize (scope and select) objects. May match selectors of replication controllers and routes. More info: https://kubernetes.io/docs/user-guide/labels "a_key": "A String", }, - "name": "A String", # Name must be unique within a namespace, within a Cloud Run region. Is required when creating resources, although some resources may allow a client to request the generation of an appropriate name automatically. Name is primarily intended for creation idempotence and configuration definition. Cannot be updated. More info: https://kubernetes.io/docs/user-guide/identifiers#names +optional + "name": "A String", # Name must be unique within a namespace, within a Cloud Run region. Is required when creating resources, although some resources may allow a client to request the generation of an appropriate name automatically. Name is primarily intended for creation idempotence and configuration definition. Cannot be updated. More info: https://kubernetes.io/docs/user-guide/identifiers#names If ObjectMeta is part of a namespaces.services.create request, name must contain fewer than 50 characters. +optional "namespace": "A String", # Namespace defines the space within each name must be unique, within a Cloud Run region. In Cloud Run the namespace must be equal to either the project ID or project number. "ownerReferences": [ # (Optional) Not supported by Cloud Run List of objects that own this object. If ALL objects in the list have been deleted, this object will be garbage collected. { # OwnerReference contains enough information to let you identify an owning object. Currently, an owning object must be in the same namespace, so there is no namespace field. diff --git a/docs/dyn/run_v1.namespaces.jobs.html b/docs/dyn/run_v1.namespaces.jobs.html index 2a603b3b25c..85e67c56a91 100644 --- a/docs/dyn/run_v1.namespaces.jobs.html +++ b/docs/dyn/run_v1.namespaces.jobs.html @@ -129,7 +129,7 @@

Method Details

"labels": { # (Optional) Map of string keys and values that can be used to organize and categorize (scope and select) objects. May match selectors of replication controllers and routes. More info: https://kubernetes.io/docs/user-guide/labels "a_key": "A String", }, - "name": "A String", # Name must be unique within a namespace, within a Cloud Run region. Is required when creating resources, although some resources may allow a client to request the generation of an appropriate name automatically. Name is primarily intended for creation idempotence and configuration definition. Cannot be updated. More info: https://kubernetes.io/docs/user-guide/identifiers#names +optional + "name": "A String", # Name must be unique within a namespace, within a Cloud Run region. Is required when creating resources, although some resources may allow a client to request the generation of an appropriate name automatically. Name is primarily intended for creation idempotence and configuration definition. Cannot be updated. More info: https://kubernetes.io/docs/user-guide/identifiers#names If ObjectMeta is part of a namespaces.services.create request, name must contain fewer than 50 characters. +optional "namespace": "A String", # Namespace defines the space within each name must be unique, within a Cloud Run region. In Cloud Run the namespace must be equal to either the project ID or project number. "ownerReferences": [ # (Optional) Not supported by Cloud Run List of objects that own this object. If ALL objects in the list have been deleted, this object will be garbage collected. { # OwnerReference contains enough information to let you identify an owning object. Currently, an owning object must be in the same namespace, so there is no namespace field. @@ -163,7 +163,7 @@

Method Details

"labels": { # (Optional) Map of string keys and values that can be used to organize and categorize (scope and select) objects. May match selectors of replication controllers and routes. More info: https://kubernetes.io/docs/user-guide/labels "a_key": "A String", }, - "name": "A String", # Name must be unique within a namespace, within a Cloud Run region. Is required when creating resources, although some resources may allow a client to request the generation of an appropriate name automatically. Name is primarily intended for creation idempotence and configuration definition. Cannot be updated. More info: https://kubernetes.io/docs/user-guide/identifiers#names +optional + "name": "A String", # Name must be unique within a namespace, within a Cloud Run region. Is required when creating resources, although some resources may allow a client to request the generation of an appropriate name automatically. Name is primarily intended for creation idempotence and configuration definition. Cannot be updated. More info: https://kubernetes.io/docs/user-guide/identifiers#names If ObjectMeta is part of a namespaces.services.create request, name must contain fewer than 50 characters. +optional "namespace": "A String", # Namespace defines the space within each name must be unique, within a Cloud Run region. In Cloud Run the namespace must be equal to either the project ID or project number. "ownerReferences": [ # (Optional) Not supported by Cloud Run List of objects that own this object. If ALL objects in the list have been deleted, this object will be garbage collected. { # OwnerReference contains enough information to let you identify an owning object. Currently, an owning object must be in the same namespace, so there is no namespace field. @@ -447,7 +447,7 @@

Method Details

"labels": { # (Optional) Map of string keys and values that can be used to organize and categorize (scope and select) objects. May match selectors of replication controllers and routes. More info: https://kubernetes.io/docs/user-guide/labels "a_key": "A String", }, - "name": "A String", # Name must be unique within a namespace, within a Cloud Run region. Is required when creating resources, although some resources may allow a client to request the generation of an appropriate name automatically. Name is primarily intended for creation idempotence and configuration definition. Cannot be updated. More info: https://kubernetes.io/docs/user-guide/identifiers#names +optional + "name": "A String", # Name must be unique within a namespace, within a Cloud Run region. Is required when creating resources, although some resources may allow a client to request the generation of an appropriate name automatically. Name is primarily intended for creation idempotence and configuration definition. Cannot be updated. More info: https://kubernetes.io/docs/user-guide/identifiers#names If ObjectMeta is part of a namespaces.services.create request, name must contain fewer than 50 characters. +optional "namespace": "A String", # Namespace defines the space within each name must be unique, within a Cloud Run region. In Cloud Run the namespace must be equal to either the project ID or project number. "ownerReferences": [ # (Optional) Not supported by Cloud Run List of objects that own this object. If ALL objects in the list have been deleted, this object will be garbage collected. { # OwnerReference contains enough information to let you identify an owning object. Currently, an owning object must be in the same namespace, so there is no namespace field. @@ -481,7 +481,7 @@

Method Details

"labels": { # (Optional) Map of string keys and values that can be used to organize and categorize (scope and select) objects. May match selectors of replication controllers and routes. More info: https://kubernetes.io/docs/user-guide/labels "a_key": "A String", }, - "name": "A String", # Name must be unique within a namespace, within a Cloud Run region. Is required when creating resources, although some resources may allow a client to request the generation of an appropriate name automatically. Name is primarily intended for creation idempotence and configuration definition. Cannot be updated. More info: https://kubernetes.io/docs/user-guide/identifiers#names +optional + "name": "A String", # Name must be unique within a namespace, within a Cloud Run region. Is required when creating resources, although some resources may allow a client to request the generation of an appropriate name automatically. Name is primarily intended for creation idempotence and configuration definition. Cannot be updated. More info: https://kubernetes.io/docs/user-guide/identifiers#names If ObjectMeta is part of a namespaces.services.create request, name must contain fewer than 50 characters. +optional "namespace": "A String", # Namespace defines the space within each name must be unique, within a Cloud Run region. In Cloud Run the namespace must be equal to either the project ID or project number. "ownerReferences": [ # (Optional) Not supported by Cloud Run List of objects that own this object. If ALL objects in the list have been deleted, this object will be garbage collected. { # OwnerReference contains enough information to let you identify an owning object. Currently, an owning object must be in the same namespace, so there is no namespace field. @@ -816,7 +816,7 @@

Method Details

"labels": { # (Optional) Map of string keys and values that can be used to organize and categorize (scope and select) objects. May match selectors of replication controllers and routes. More info: https://kubernetes.io/docs/user-guide/labels "a_key": "A String", }, - "name": "A String", # Name must be unique within a namespace, within a Cloud Run region. Is required when creating resources, although some resources may allow a client to request the generation of an appropriate name automatically. Name is primarily intended for creation idempotence and configuration definition. Cannot be updated. More info: https://kubernetes.io/docs/user-guide/identifiers#names +optional + "name": "A String", # Name must be unique within a namespace, within a Cloud Run region. Is required when creating resources, although some resources may allow a client to request the generation of an appropriate name automatically. Name is primarily intended for creation idempotence and configuration definition. Cannot be updated. More info: https://kubernetes.io/docs/user-guide/identifiers#names If ObjectMeta is part of a namespaces.services.create request, name must contain fewer than 50 characters. +optional "namespace": "A String", # Namespace defines the space within each name must be unique, within a Cloud Run region. In Cloud Run the namespace must be equal to either the project ID or project number. "ownerReferences": [ # (Optional) Not supported by Cloud Run List of objects that own this object. If ALL objects in the list have been deleted, this object will be garbage collected. { # OwnerReference contains enough information to let you identify an owning object. Currently, an owning object must be in the same namespace, so there is no namespace field. @@ -850,7 +850,7 @@

Method Details

"labels": { # (Optional) Map of string keys and values that can be used to organize and categorize (scope and select) objects. May match selectors of replication controllers and routes. More info: https://kubernetes.io/docs/user-guide/labels "a_key": "A String", }, - "name": "A String", # Name must be unique within a namespace, within a Cloud Run region. Is required when creating resources, although some resources may allow a client to request the generation of an appropriate name automatically. Name is primarily intended for creation idempotence and configuration definition. Cannot be updated. More info: https://kubernetes.io/docs/user-guide/identifiers#names +optional + "name": "A String", # Name must be unique within a namespace, within a Cloud Run region. Is required when creating resources, although some resources may allow a client to request the generation of an appropriate name automatically. Name is primarily intended for creation idempotence and configuration definition. Cannot be updated. More info: https://kubernetes.io/docs/user-guide/identifiers#names If ObjectMeta is part of a namespaces.services.create request, name must contain fewer than 50 characters. +optional "namespace": "A String", # Namespace defines the space within each name must be unique, within a Cloud Run region. In Cloud Run the namespace must be equal to either the project ID or project number. "ownerReferences": [ # (Optional) Not supported by Cloud Run List of objects that own this object. If ALL objects in the list have been deleted, this object will be garbage collected. { # OwnerReference contains enough information to let you identify an owning object. Currently, an owning object must be in the same namespace, so there is no namespace field. @@ -1151,7 +1151,7 @@

Method Details

"labels": { # (Optional) Map of string keys and values that can be used to organize and categorize (scope and select) objects. May match selectors of replication controllers and routes. More info: https://kubernetes.io/docs/user-guide/labels "a_key": "A String", }, - "name": "A String", # Name must be unique within a namespace, within a Cloud Run region. Is required when creating resources, although some resources may allow a client to request the generation of an appropriate name automatically. Name is primarily intended for creation idempotence and configuration definition. Cannot be updated. More info: https://kubernetes.io/docs/user-guide/identifiers#names +optional + "name": "A String", # Name must be unique within a namespace, within a Cloud Run region. Is required when creating resources, although some resources may allow a client to request the generation of an appropriate name automatically. Name is primarily intended for creation idempotence and configuration definition. Cannot be updated. More info: https://kubernetes.io/docs/user-guide/identifiers#names If ObjectMeta is part of a namespaces.services.create request, name must contain fewer than 50 characters. +optional "namespace": "A String", # Namespace defines the space within each name must be unique, within a Cloud Run region. In Cloud Run the namespace must be equal to either the project ID or project number. "ownerReferences": [ # (Optional) Not supported by Cloud Run List of objects that own this object. If ALL objects in the list have been deleted, this object will be garbage collected. { # OwnerReference contains enough information to let you identify an owning object. Currently, an owning object must be in the same namespace, so there is no namespace field. @@ -1185,7 +1185,7 @@

Method Details

"labels": { # (Optional) Map of string keys and values that can be used to organize and categorize (scope and select) objects. May match selectors of replication controllers and routes. More info: https://kubernetes.io/docs/user-guide/labels "a_key": "A String", }, - "name": "A String", # Name must be unique within a namespace, within a Cloud Run region. Is required when creating resources, although some resources may allow a client to request the generation of an appropriate name automatically. Name is primarily intended for creation idempotence and configuration definition. Cannot be updated. More info: https://kubernetes.io/docs/user-guide/identifiers#names +optional + "name": "A String", # Name must be unique within a namespace, within a Cloud Run region. Is required when creating resources, although some resources may allow a client to request the generation of an appropriate name automatically. Name is primarily intended for creation idempotence and configuration definition. Cannot be updated. More info: https://kubernetes.io/docs/user-guide/identifiers#names If ObjectMeta is part of a namespaces.services.create request, name must contain fewer than 50 characters. +optional "namespace": "A String", # Namespace defines the space within each name must be unique, within a Cloud Run region. In Cloud Run the namespace must be equal to either the project ID or project number. "ownerReferences": [ # (Optional) Not supported by Cloud Run List of objects that own this object. If ALL objects in the list have been deleted, this object will be garbage collected. { # OwnerReference contains enough information to let you identify an owning object. Currently, an owning object must be in the same namespace, so there is no namespace field. @@ -1482,7 +1482,7 @@

Method Details

"labels": { # (Optional) Map of string keys and values that can be used to organize and categorize (scope and select) objects. May match selectors of replication controllers and routes. More info: https://kubernetes.io/docs/user-guide/labels "a_key": "A String", }, - "name": "A String", # Name must be unique within a namespace, within a Cloud Run region. Is required when creating resources, although some resources may allow a client to request the generation of an appropriate name automatically. Name is primarily intended for creation idempotence and configuration definition. Cannot be updated. More info: https://kubernetes.io/docs/user-guide/identifiers#names +optional + "name": "A String", # Name must be unique within a namespace, within a Cloud Run region. Is required when creating resources, although some resources may allow a client to request the generation of an appropriate name automatically. Name is primarily intended for creation idempotence and configuration definition. Cannot be updated. More info: https://kubernetes.io/docs/user-guide/identifiers#names If ObjectMeta is part of a namespaces.services.create request, name must contain fewer than 50 characters. +optional "namespace": "A String", # Namespace defines the space within each name must be unique, within a Cloud Run region. In Cloud Run the namespace must be equal to either the project ID or project number. "ownerReferences": [ # (Optional) Not supported by Cloud Run List of objects that own this object. If ALL objects in the list have been deleted, this object will be garbage collected. { # OwnerReference contains enough information to let you identify an owning object. Currently, an owning object must be in the same namespace, so there is no namespace field. @@ -1516,7 +1516,7 @@

Method Details

"labels": { # (Optional) Map of string keys and values that can be used to organize and categorize (scope and select) objects. May match selectors of replication controllers and routes. More info: https://kubernetes.io/docs/user-guide/labels "a_key": "A String", }, - "name": "A String", # Name must be unique within a namespace, within a Cloud Run region. Is required when creating resources, although some resources may allow a client to request the generation of an appropriate name automatically. Name is primarily intended for creation idempotence and configuration definition. Cannot be updated. More info: https://kubernetes.io/docs/user-guide/identifiers#names +optional + "name": "A String", # Name must be unique within a namespace, within a Cloud Run region. Is required when creating resources, although some resources may allow a client to request the generation of an appropriate name automatically. Name is primarily intended for creation idempotence and configuration definition. Cannot be updated. More info: https://kubernetes.io/docs/user-guide/identifiers#names If ObjectMeta is part of a namespaces.services.create request, name must contain fewer than 50 characters. +optional "namespace": "A String", # Namespace defines the space within each name must be unique, within a Cloud Run region. In Cloud Run the namespace must be equal to either the project ID or project number. "ownerReferences": [ # (Optional) Not supported by Cloud Run List of objects that own this object. If ALL objects in the list have been deleted, this object will be garbage collected. { # OwnerReference contains enough information to let you identify an owning object. Currently, an owning object must be in the same namespace, so there is no namespace field. @@ -1800,7 +1800,7 @@

Method Details

"labels": { # (Optional) Map of string keys and values that can be used to organize and categorize (scope and select) objects. May match selectors of replication controllers and routes. More info: https://kubernetes.io/docs/user-guide/labels "a_key": "A String", }, - "name": "A String", # Name must be unique within a namespace, within a Cloud Run region. Is required when creating resources, although some resources may allow a client to request the generation of an appropriate name automatically. Name is primarily intended for creation idempotence and configuration definition. Cannot be updated. More info: https://kubernetes.io/docs/user-guide/identifiers#names +optional + "name": "A String", # Name must be unique within a namespace, within a Cloud Run region. Is required when creating resources, although some resources may allow a client to request the generation of an appropriate name automatically. Name is primarily intended for creation idempotence and configuration definition. Cannot be updated. More info: https://kubernetes.io/docs/user-guide/identifiers#names If ObjectMeta is part of a namespaces.services.create request, name must contain fewer than 50 characters. +optional "namespace": "A String", # Namespace defines the space within each name must be unique, within a Cloud Run region. In Cloud Run the namespace must be equal to either the project ID or project number. "ownerReferences": [ # (Optional) Not supported by Cloud Run List of objects that own this object. If ALL objects in the list have been deleted, this object will be garbage collected. { # OwnerReference contains enough information to let you identify an owning object. Currently, an owning object must be in the same namespace, so there is no namespace field. @@ -1834,7 +1834,7 @@

Method Details

"labels": { # (Optional) Map of string keys and values that can be used to organize and categorize (scope and select) objects. May match selectors of replication controllers and routes. More info: https://kubernetes.io/docs/user-guide/labels "a_key": "A String", }, - "name": "A String", # Name must be unique within a namespace, within a Cloud Run region. Is required when creating resources, although some resources may allow a client to request the generation of an appropriate name automatically. Name is primarily intended for creation idempotence and configuration definition. Cannot be updated. More info: https://kubernetes.io/docs/user-guide/identifiers#names +optional + "name": "A String", # Name must be unique within a namespace, within a Cloud Run region. Is required when creating resources, although some resources may allow a client to request the generation of an appropriate name automatically. Name is primarily intended for creation idempotence and configuration definition. Cannot be updated. More info: https://kubernetes.io/docs/user-guide/identifiers#names If ObjectMeta is part of a namespaces.services.create request, name must contain fewer than 50 characters. +optional "namespace": "A String", # Namespace defines the space within each name must be unique, within a Cloud Run region. In Cloud Run the namespace must be equal to either the project ID or project number. "ownerReferences": [ # (Optional) Not supported by Cloud Run List of objects that own this object. If ALL objects in the list have been deleted, this object will be garbage collected. { # OwnerReference contains enough information to let you identify an owning object. Currently, an owning object must be in the same namespace, so there is no namespace field. @@ -2131,7 +2131,7 @@

Method Details

"labels": { # (Optional) Map of string keys and values that can be used to organize and categorize (scope and select) objects. May match selectors of replication controllers and routes. More info: https://kubernetes.io/docs/user-guide/labels "a_key": "A String", }, - "name": "A String", # Name must be unique within a namespace, within a Cloud Run region. Is required when creating resources, although some resources may allow a client to request the generation of an appropriate name automatically. Name is primarily intended for creation idempotence and configuration definition. Cannot be updated. More info: https://kubernetes.io/docs/user-guide/identifiers#names +optional + "name": "A String", # Name must be unique within a namespace, within a Cloud Run region. Is required when creating resources, although some resources may allow a client to request the generation of an appropriate name automatically. Name is primarily intended for creation idempotence and configuration definition. Cannot be updated. More info: https://kubernetes.io/docs/user-guide/identifiers#names If ObjectMeta is part of a namespaces.services.create request, name must contain fewer than 50 characters. +optional "namespace": "A String", # Namespace defines the space within each name must be unique, within a Cloud Run region. In Cloud Run the namespace must be equal to either the project ID or project number. "ownerReferences": [ # (Optional) Not supported by Cloud Run List of objects that own this object. If ALL objects in the list have been deleted, this object will be garbage collected. { # OwnerReference contains enough information to let you identify an owning object. Currently, an owning object must be in the same namespace, so there is no namespace field. diff --git a/docs/dyn/run_v1.namespaces.revisions.html b/docs/dyn/run_v1.namespaces.revisions.html index 35fda00da66..55293f0cf27 100644 --- a/docs/dyn/run_v1.namespaces.revisions.html +++ b/docs/dyn/run_v1.namespaces.revisions.html @@ -170,7 +170,7 @@

Method Details

"labels": { # (Optional) Map of string keys and values that can be used to organize and categorize (scope and select) objects. May match selectors of replication controllers and routes. More info: https://kubernetes.io/docs/user-guide/labels "a_key": "A String", }, - "name": "A String", # Name must be unique within a namespace, within a Cloud Run region. Is required when creating resources, although some resources may allow a client to request the generation of an appropriate name automatically. Name is primarily intended for creation idempotence and configuration definition. Cannot be updated. More info: https://kubernetes.io/docs/user-guide/identifiers#names +optional + "name": "A String", # Name must be unique within a namespace, within a Cloud Run region. Is required when creating resources, although some resources may allow a client to request the generation of an appropriate name automatically. Name is primarily intended for creation idempotence and configuration definition. Cannot be updated. More info: https://kubernetes.io/docs/user-guide/identifiers#names If ObjectMeta is part of a namespaces.services.create request, name must contain fewer than 50 characters. +optional "namespace": "A String", # Namespace defines the space within each name must be unique, within a Cloud Run region. In Cloud Run the namespace must be equal to either the project ID or project number. "ownerReferences": [ # (Optional) Not supported by Cloud Run List of objects that own this object. If ALL objects in the list have been deleted, this object will be garbage collected. { # OwnerReference contains enough information to let you identify an owning object. Currently, an owning object must be in the same namespace, so there is no namespace field. @@ -466,7 +466,7 @@

Method Details

"labels": { # (Optional) Map of string keys and values that can be used to organize and categorize (scope and select) objects. May match selectors of replication controllers and routes. More info: https://kubernetes.io/docs/user-guide/labels "a_key": "A String", }, - "name": "A String", # Name must be unique within a namespace, within a Cloud Run region. Is required when creating resources, although some resources may allow a client to request the generation of an appropriate name automatically. Name is primarily intended for creation idempotence and configuration definition. Cannot be updated. More info: https://kubernetes.io/docs/user-guide/identifiers#names +optional + "name": "A String", # Name must be unique within a namespace, within a Cloud Run region. Is required when creating resources, although some resources may allow a client to request the generation of an appropriate name automatically. Name is primarily intended for creation idempotence and configuration definition. Cannot be updated. More info: https://kubernetes.io/docs/user-guide/identifiers#names If ObjectMeta is part of a namespaces.services.create request, name must contain fewer than 50 characters. +optional "namespace": "A String", # Namespace defines the space within each name must be unique, within a Cloud Run region. In Cloud Run the namespace must be equal to either the project ID or project number. "ownerReferences": [ # (Optional) Not supported by Cloud Run List of objects that own this object. If ALL objects in the list have been deleted, this object will be garbage collected. { # OwnerReference contains enough information to let you identify an owning object. Currently, an owning object must be in the same namespace, so there is no namespace field. diff --git a/docs/dyn/run_v1.namespaces.routes.html b/docs/dyn/run_v1.namespaces.routes.html index ad11feb4bda..7a5bed5c5c2 100644 --- a/docs/dyn/run_v1.namespaces.routes.html +++ b/docs/dyn/run_v1.namespaces.routes.html @@ -122,7 +122,7 @@

Method Details

"labels": { # (Optional) Map of string keys and values that can be used to organize and categorize (scope and select) objects. May match selectors of replication controllers and routes. More info: https://kubernetes.io/docs/user-guide/labels "a_key": "A String", }, - "name": "A String", # Name must be unique within a namespace, within a Cloud Run region. Is required when creating resources, although some resources may allow a client to request the generation of an appropriate name automatically. Name is primarily intended for creation idempotence and configuration definition. Cannot be updated. More info: https://kubernetes.io/docs/user-guide/identifiers#names +optional + "name": "A String", # Name must be unique within a namespace, within a Cloud Run region. Is required when creating resources, although some resources may allow a client to request the generation of an appropriate name automatically. Name is primarily intended for creation idempotence and configuration definition. Cannot be updated. More info: https://kubernetes.io/docs/user-guide/identifiers#names If ObjectMeta is part of a namespaces.services.create request, name must contain fewer than 50 characters. +optional "namespace": "A String", # Namespace defines the space within each name must be unique, within a Cloud Run region. In Cloud Run the namespace must be equal to either the project ID or project number. "ownerReferences": [ # (Optional) Not supported by Cloud Run List of objects that own this object. If ALL objects in the list have been deleted, this object will be garbage collected. { # OwnerReference contains enough information to let you identify an owning object. Currently, an owning object must be in the same namespace, so there is no namespace field. @@ -223,7 +223,7 @@

Method Details

"labels": { # (Optional) Map of string keys and values that can be used to organize and categorize (scope and select) objects. May match selectors of replication controllers and routes. More info: https://kubernetes.io/docs/user-guide/labels "a_key": "A String", }, - "name": "A String", # Name must be unique within a namespace, within a Cloud Run region. Is required when creating resources, although some resources may allow a client to request the generation of an appropriate name automatically. Name is primarily intended for creation idempotence and configuration definition. Cannot be updated. More info: https://kubernetes.io/docs/user-guide/identifiers#names +optional + "name": "A String", # Name must be unique within a namespace, within a Cloud Run region. Is required when creating resources, although some resources may allow a client to request the generation of an appropriate name automatically. Name is primarily intended for creation idempotence and configuration definition. Cannot be updated. More info: https://kubernetes.io/docs/user-guide/identifiers#names If ObjectMeta is part of a namespaces.services.create request, name must contain fewer than 50 characters. +optional "namespace": "A String", # Namespace defines the space within each name must be unique, within a Cloud Run region. In Cloud Run the namespace must be equal to either the project ID or project number. "ownerReferences": [ # (Optional) Not supported by Cloud Run List of objects that own this object. If ALL objects in the list have been deleted, this object will be garbage collected. { # OwnerReference contains enough information to let you identify an owning object. Currently, an owning object must be in the same namespace, so there is no namespace field. diff --git a/docs/dyn/run_v1.namespaces.services.html b/docs/dyn/run_v1.namespaces.services.html index b06f9a1d016..47f7078affb 100644 --- a/docs/dyn/run_v1.namespaces.services.html +++ b/docs/dyn/run_v1.namespaces.services.html @@ -126,7 +126,7 @@

Method Details

"labels": { # (Optional) Map of string keys and values that can be used to organize and categorize (scope and select) objects. May match selectors of replication controllers and routes. More info: https://kubernetes.io/docs/user-guide/labels "a_key": "A String", }, - "name": "A String", # Name must be unique within a namespace, within a Cloud Run region. Is required when creating resources, although some resources may allow a client to request the generation of an appropriate name automatically. Name is primarily intended for creation idempotence and configuration definition. Cannot be updated. More info: https://kubernetes.io/docs/user-guide/identifiers#names +optional + "name": "A String", # Name must be unique within a namespace, within a Cloud Run region. Is required when creating resources, although some resources may allow a client to request the generation of an appropriate name automatically. Name is primarily intended for creation idempotence and configuration definition. Cannot be updated. More info: https://kubernetes.io/docs/user-guide/identifiers#names If ObjectMeta is part of a namespaces.services.create request, name must contain fewer than 50 characters. +optional "namespace": "A String", # Namespace defines the space within each name must be unique, within a Cloud Run region. In Cloud Run the namespace must be equal to either the project ID or project number. "ownerReferences": [ # (Optional) Not supported by Cloud Run List of objects that own this object. If ALL objects in the list have been deleted, this object will be garbage collected. { # OwnerReference contains enough information to let you identify an owning object. Currently, an owning object must be in the same namespace, so there is no namespace field. @@ -160,7 +160,7 @@

Method Details

"labels": { # (Optional) Map of string keys and values that can be used to organize and categorize (scope and select) objects. May match selectors of replication controllers and routes. More info: https://kubernetes.io/docs/user-guide/labels "a_key": "A String", }, - "name": "A String", # Name must be unique within a namespace, within a Cloud Run region. Is required when creating resources, although some resources may allow a client to request the generation of an appropriate name automatically. Name is primarily intended for creation idempotence and configuration definition. Cannot be updated. More info: https://kubernetes.io/docs/user-guide/identifiers#names +optional + "name": "A String", # Name must be unique within a namespace, within a Cloud Run region. Is required when creating resources, although some resources may allow a client to request the generation of an appropriate name automatically. Name is primarily intended for creation idempotence and configuration definition. Cannot be updated. More info: https://kubernetes.io/docs/user-guide/identifiers#names If ObjectMeta is part of a namespaces.services.create request, name must contain fewer than 50 characters. +optional "namespace": "A String", # Namespace defines the space within each name must be unique, within a Cloud Run region. In Cloud Run the namespace must be equal to either the project ID or project number. "ownerReferences": [ # (Optional) Not supported by Cloud Run List of objects that own this object. If ALL objects in the list have been deleted, this object will be garbage collected. { # OwnerReference contains enough information to let you identify an owning object. Currently, an owning object must be in the same namespace, so there is no namespace field. @@ -465,7 +465,7 @@

Method Details

"labels": { # (Optional) Map of string keys and values that can be used to organize and categorize (scope and select) objects. May match selectors of replication controllers and routes. More info: https://kubernetes.io/docs/user-guide/labels "a_key": "A String", }, - "name": "A String", # Name must be unique within a namespace, within a Cloud Run region. Is required when creating resources, although some resources may allow a client to request the generation of an appropriate name automatically. Name is primarily intended for creation idempotence and configuration definition. Cannot be updated. More info: https://kubernetes.io/docs/user-guide/identifiers#names +optional + "name": "A String", # Name must be unique within a namespace, within a Cloud Run region. Is required when creating resources, although some resources may allow a client to request the generation of an appropriate name automatically. Name is primarily intended for creation idempotence and configuration definition. Cannot be updated. More info: https://kubernetes.io/docs/user-guide/identifiers#names If ObjectMeta is part of a namespaces.services.create request, name must contain fewer than 50 characters. +optional "namespace": "A String", # Namespace defines the space within each name must be unique, within a Cloud Run region. In Cloud Run the namespace must be equal to either the project ID or project number. "ownerReferences": [ # (Optional) Not supported by Cloud Run List of objects that own this object. If ALL objects in the list have been deleted, this object will be garbage collected. { # OwnerReference contains enough information to let you identify an owning object. Currently, an owning object must be in the same namespace, so there is no namespace field. @@ -499,7 +499,7 @@

Method Details

"labels": { # (Optional) Map of string keys and values that can be used to organize and categorize (scope and select) objects. May match selectors of replication controllers and routes. More info: https://kubernetes.io/docs/user-guide/labels "a_key": "A String", }, - "name": "A String", # Name must be unique within a namespace, within a Cloud Run region. Is required when creating resources, although some resources may allow a client to request the generation of an appropriate name automatically. Name is primarily intended for creation idempotence and configuration definition. Cannot be updated. More info: https://kubernetes.io/docs/user-guide/identifiers#names +optional + "name": "A String", # Name must be unique within a namespace, within a Cloud Run region. Is required when creating resources, although some resources may allow a client to request the generation of an appropriate name automatically. Name is primarily intended for creation idempotence and configuration definition. Cannot be updated. More info: https://kubernetes.io/docs/user-guide/identifiers#names If ObjectMeta is part of a namespaces.services.create request, name must contain fewer than 50 characters. +optional "namespace": "A String", # Namespace defines the space within each name must be unique, within a Cloud Run region. In Cloud Run the namespace must be equal to either the project ID or project number. "ownerReferences": [ # (Optional) Not supported by Cloud Run List of objects that own this object. If ALL objects in the list have been deleted, this object will be garbage collected. { # OwnerReference contains enough information to let you identify an owning object. Currently, an owning object must be in the same namespace, so there is no namespace field. @@ -855,7 +855,7 @@

Method Details

"labels": { # (Optional) Map of string keys and values that can be used to organize and categorize (scope and select) objects. May match selectors of replication controllers and routes. More info: https://kubernetes.io/docs/user-guide/labels "a_key": "A String", }, - "name": "A String", # Name must be unique within a namespace, within a Cloud Run region. Is required when creating resources, although some resources may allow a client to request the generation of an appropriate name automatically. Name is primarily intended for creation idempotence and configuration definition. Cannot be updated. More info: https://kubernetes.io/docs/user-guide/identifiers#names +optional + "name": "A String", # Name must be unique within a namespace, within a Cloud Run region. Is required when creating resources, although some resources may allow a client to request the generation of an appropriate name automatically. Name is primarily intended for creation idempotence and configuration definition. Cannot be updated. More info: https://kubernetes.io/docs/user-guide/identifiers#names If ObjectMeta is part of a namespaces.services.create request, name must contain fewer than 50 characters. +optional "namespace": "A String", # Namespace defines the space within each name must be unique, within a Cloud Run region. In Cloud Run the namespace must be equal to either the project ID or project number. "ownerReferences": [ # (Optional) Not supported by Cloud Run List of objects that own this object. If ALL objects in the list have been deleted, this object will be garbage collected. { # OwnerReference contains enough information to let you identify an owning object. Currently, an owning object must be in the same namespace, so there is no namespace field. @@ -889,7 +889,7 @@

Method Details

"labels": { # (Optional) Map of string keys and values that can be used to organize and categorize (scope and select) objects. May match selectors of replication controllers and routes. More info: https://kubernetes.io/docs/user-guide/labels "a_key": "A String", }, - "name": "A String", # Name must be unique within a namespace, within a Cloud Run region. Is required when creating resources, although some resources may allow a client to request the generation of an appropriate name automatically. Name is primarily intended for creation idempotence and configuration definition. Cannot be updated. More info: https://kubernetes.io/docs/user-guide/identifiers#names +optional + "name": "A String", # Name must be unique within a namespace, within a Cloud Run region. Is required when creating resources, although some resources may allow a client to request the generation of an appropriate name automatically. Name is primarily intended for creation idempotence and configuration definition. Cannot be updated. More info: https://kubernetes.io/docs/user-guide/identifiers#names If ObjectMeta is part of a namespaces.services.create request, name must contain fewer than 50 characters. +optional "namespace": "A String", # Namespace defines the space within each name must be unique, within a Cloud Run region. In Cloud Run the namespace must be equal to either the project ID or project number. "ownerReferences": [ # (Optional) Not supported by Cloud Run List of objects that own this object. If ALL objects in the list have been deleted, this object will be garbage collected. { # OwnerReference contains enough information to let you identify an owning object. Currently, an owning object must be in the same namespace, so there is no namespace field. @@ -1210,7 +1210,7 @@

Method Details

"labels": { # (Optional) Map of string keys and values that can be used to organize and categorize (scope and select) objects. May match selectors of replication controllers and routes. More info: https://kubernetes.io/docs/user-guide/labels "a_key": "A String", }, - "name": "A String", # Name must be unique within a namespace, within a Cloud Run region. Is required when creating resources, although some resources may allow a client to request the generation of an appropriate name automatically. Name is primarily intended for creation idempotence and configuration definition. Cannot be updated. More info: https://kubernetes.io/docs/user-guide/identifiers#names +optional + "name": "A String", # Name must be unique within a namespace, within a Cloud Run region. Is required when creating resources, although some resources may allow a client to request the generation of an appropriate name automatically. Name is primarily intended for creation idempotence and configuration definition. Cannot be updated. More info: https://kubernetes.io/docs/user-guide/identifiers#names If ObjectMeta is part of a namespaces.services.create request, name must contain fewer than 50 characters. +optional "namespace": "A String", # Namespace defines the space within each name must be unique, within a Cloud Run region. In Cloud Run the namespace must be equal to either the project ID or project number. "ownerReferences": [ # (Optional) Not supported by Cloud Run List of objects that own this object. If ALL objects in the list have been deleted, this object will be garbage collected. { # OwnerReference contains enough information to let you identify an owning object. Currently, an owning object must be in the same namespace, so there is no namespace field. @@ -1244,7 +1244,7 @@

Method Details

"labels": { # (Optional) Map of string keys and values that can be used to organize and categorize (scope and select) objects. May match selectors of replication controllers and routes. More info: https://kubernetes.io/docs/user-guide/labels "a_key": "A String", }, - "name": "A String", # Name must be unique within a namespace, within a Cloud Run region. Is required when creating resources, although some resources may allow a client to request the generation of an appropriate name automatically. Name is primarily intended for creation idempotence and configuration definition. Cannot be updated. More info: https://kubernetes.io/docs/user-guide/identifiers#names +optional + "name": "A String", # Name must be unique within a namespace, within a Cloud Run region. Is required when creating resources, although some resources may allow a client to request the generation of an appropriate name automatically. Name is primarily intended for creation idempotence and configuration definition. Cannot be updated. More info: https://kubernetes.io/docs/user-guide/identifiers#names If ObjectMeta is part of a namespaces.services.create request, name must contain fewer than 50 characters. +optional "namespace": "A String", # Namespace defines the space within each name must be unique, within a Cloud Run region. In Cloud Run the namespace must be equal to either the project ID or project number. "ownerReferences": [ # (Optional) Not supported by Cloud Run List of objects that own this object. If ALL objects in the list have been deleted, this object will be garbage collected. { # OwnerReference contains enough information to let you identify an owning object. Currently, an owning object must be in the same namespace, so there is no namespace field. @@ -1561,7 +1561,7 @@

Method Details

"labels": { # (Optional) Map of string keys and values that can be used to organize and categorize (scope and select) objects. May match selectors of replication controllers and routes. More info: https://kubernetes.io/docs/user-guide/labels "a_key": "A String", }, - "name": "A String", # Name must be unique within a namespace, within a Cloud Run region. Is required when creating resources, although some resources may allow a client to request the generation of an appropriate name automatically. Name is primarily intended for creation idempotence and configuration definition. Cannot be updated. More info: https://kubernetes.io/docs/user-guide/identifiers#names +optional + "name": "A String", # Name must be unique within a namespace, within a Cloud Run region. Is required when creating resources, although some resources may allow a client to request the generation of an appropriate name automatically. Name is primarily intended for creation idempotence and configuration definition. Cannot be updated. More info: https://kubernetes.io/docs/user-guide/identifiers#names If ObjectMeta is part of a namespaces.services.create request, name must contain fewer than 50 characters. +optional "namespace": "A String", # Namespace defines the space within each name must be unique, within a Cloud Run region. In Cloud Run the namespace must be equal to either the project ID or project number. "ownerReferences": [ # (Optional) Not supported by Cloud Run List of objects that own this object. If ALL objects in the list have been deleted, this object will be garbage collected. { # OwnerReference contains enough information to let you identify an owning object. Currently, an owning object must be in the same namespace, so there is no namespace field. @@ -1595,7 +1595,7 @@

Method Details

"labels": { # (Optional) Map of string keys and values that can be used to organize and categorize (scope and select) objects. May match selectors of replication controllers and routes. More info: https://kubernetes.io/docs/user-guide/labels "a_key": "A String", }, - "name": "A String", # Name must be unique within a namespace, within a Cloud Run region. Is required when creating resources, although some resources may allow a client to request the generation of an appropriate name automatically. Name is primarily intended for creation idempotence and configuration definition. Cannot be updated. More info: https://kubernetes.io/docs/user-guide/identifiers#names +optional + "name": "A String", # Name must be unique within a namespace, within a Cloud Run region. Is required when creating resources, although some resources may allow a client to request the generation of an appropriate name automatically. Name is primarily intended for creation idempotence and configuration definition. Cannot be updated. More info: https://kubernetes.io/docs/user-guide/identifiers#names If ObjectMeta is part of a namespaces.services.create request, name must contain fewer than 50 characters. +optional "namespace": "A String", # Namespace defines the space within each name must be unique, within a Cloud Run region. In Cloud Run the namespace must be equal to either the project ID or project number. "ownerReferences": [ # (Optional) Not supported by Cloud Run List of objects that own this object. If ALL objects in the list have been deleted, this object will be garbage collected. { # OwnerReference contains enough information to let you identify an owning object. Currently, an owning object must be in the same namespace, so there is no namespace field. @@ -1900,7 +1900,7 @@

Method Details

"labels": { # (Optional) Map of string keys and values that can be used to organize and categorize (scope and select) objects. May match selectors of replication controllers and routes. More info: https://kubernetes.io/docs/user-guide/labels "a_key": "A String", }, - "name": "A String", # Name must be unique within a namespace, within a Cloud Run region. Is required when creating resources, although some resources may allow a client to request the generation of an appropriate name automatically. Name is primarily intended for creation idempotence and configuration definition. Cannot be updated. More info: https://kubernetes.io/docs/user-guide/identifiers#names +optional + "name": "A String", # Name must be unique within a namespace, within a Cloud Run region. Is required when creating resources, although some resources may allow a client to request the generation of an appropriate name automatically. Name is primarily intended for creation idempotence and configuration definition. Cannot be updated. More info: https://kubernetes.io/docs/user-guide/identifiers#names If ObjectMeta is part of a namespaces.services.create request, name must contain fewer than 50 characters. +optional "namespace": "A String", # Namespace defines the space within each name must be unique, within a Cloud Run region. In Cloud Run the namespace must be equal to either the project ID or project number. "ownerReferences": [ # (Optional) Not supported by Cloud Run List of objects that own this object. If ALL objects in the list have been deleted, this object will be garbage collected. { # OwnerReference contains enough information to let you identify an owning object. Currently, an owning object must be in the same namespace, so there is no namespace field. @@ -1934,7 +1934,7 @@

Method Details

"labels": { # (Optional) Map of string keys and values that can be used to organize and categorize (scope and select) objects. May match selectors of replication controllers and routes. More info: https://kubernetes.io/docs/user-guide/labels "a_key": "A String", }, - "name": "A String", # Name must be unique within a namespace, within a Cloud Run region. Is required when creating resources, although some resources may allow a client to request the generation of an appropriate name automatically. Name is primarily intended for creation idempotence and configuration definition. Cannot be updated. More info: https://kubernetes.io/docs/user-guide/identifiers#names +optional + "name": "A String", # Name must be unique within a namespace, within a Cloud Run region. Is required when creating resources, although some resources may allow a client to request the generation of an appropriate name automatically. Name is primarily intended for creation idempotence and configuration definition. Cannot be updated. More info: https://kubernetes.io/docs/user-guide/identifiers#names If ObjectMeta is part of a namespaces.services.create request, name must contain fewer than 50 characters. +optional "namespace": "A String", # Namespace defines the space within each name must be unique, within a Cloud Run region. In Cloud Run the namespace must be equal to either the project ID or project number. "ownerReferences": [ # (Optional) Not supported by Cloud Run List of objects that own this object. If ALL objects in the list have been deleted, this object will be garbage collected. { # OwnerReference contains enough information to let you identify an owning object. Currently, an owning object must be in the same namespace, so there is no namespace field. diff --git a/docs/dyn/run_v1.namespaces.tasks.html b/docs/dyn/run_v1.namespaces.tasks.html index 6e3e955d8f1..b5bb9e9dc0f 100644 --- a/docs/dyn/run_v1.namespaces.tasks.html +++ b/docs/dyn/run_v1.namespaces.tasks.html @@ -122,7 +122,7 @@

Method Details

"labels": { # (Optional) Map of string keys and values that can be used to organize and categorize (scope and select) objects. May match selectors of replication controllers and routes. More info: https://kubernetes.io/docs/user-guide/labels "a_key": "A String", }, - "name": "A String", # Name must be unique within a namespace, within a Cloud Run region. Is required when creating resources, although some resources may allow a client to request the generation of an appropriate name automatically. Name is primarily intended for creation idempotence and configuration definition. Cannot be updated. More info: https://kubernetes.io/docs/user-guide/identifiers#names +optional + "name": "A String", # Name must be unique within a namespace, within a Cloud Run region. Is required when creating resources, although some resources may allow a client to request the generation of an appropriate name automatically. Name is primarily intended for creation idempotence and configuration definition. Cannot be updated. More info: https://kubernetes.io/docs/user-guide/identifiers#names If ObjectMeta is part of a namespaces.services.create request, name must contain fewer than 50 characters. +optional "namespace": "A String", # Namespace defines the space within each name must be unique, within a Cloud Run region. In Cloud Run the namespace must be equal to either the project ID or project number. "ownerReferences": [ # (Optional) Not supported by Cloud Run List of objects that own this object. If ALL objects in the list have been deleted, this object will be garbage collected. { # OwnerReference contains enough information to let you identify an owning object. Currently, an owning object must be in the same namespace, so there is no namespace field. @@ -426,7 +426,7 @@

Method Details

"labels": { # (Optional) Map of string keys and values that can be used to organize and categorize (scope and select) objects. May match selectors of replication controllers and routes. More info: https://kubernetes.io/docs/user-guide/labels "a_key": "A String", }, - "name": "A String", # Name must be unique within a namespace, within a Cloud Run region. Is required when creating resources, although some resources may allow a client to request the generation of an appropriate name automatically. Name is primarily intended for creation idempotence and configuration definition. Cannot be updated. More info: https://kubernetes.io/docs/user-guide/identifiers#names +optional + "name": "A String", # Name must be unique within a namespace, within a Cloud Run region. Is required when creating resources, although some resources may allow a client to request the generation of an appropriate name automatically. Name is primarily intended for creation idempotence and configuration definition. Cannot be updated. More info: https://kubernetes.io/docs/user-guide/identifiers#names If ObjectMeta is part of a namespaces.services.create request, name must contain fewer than 50 characters. +optional "namespace": "A String", # Namespace defines the space within each name must be unique, within a Cloud Run region. In Cloud Run the namespace must be equal to either the project ID or project number. "ownerReferences": [ # (Optional) Not supported by Cloud Run List of objects that own this object. If ALL objects in the list have been deleted, this object will be garbage collected. { # OwnerReference contains enough information to let you identify an owning object. Currently, an owning object must be in the same namespace, so there is no namespace field. diff --git a/docs/dyn/run_v1.projects.locations.configurations.html b/docs/dyn/run_v1.projects.locations.configurations.html index cdff53b9364..9995f177ac2 100644 --- a/docs/dyn/run_v1.projects.locations.configurations.html +++ b/docs/dyn/run_v1.projects.locations.configurations.html @@ -122,7 +122,7 @@

Method Details

"labels": { # (Optional) Map of string keys and values that can be used to organize and categorize (scope and select) objects. May match selectors of replication controllers and routes. More info: https://kubernetes.io/docs/user-guide/labels "a_key": "A String", }, - "name": "A String", # Name must be unique within a namespace, within a Cloud Run region. Is required when creating resources, although some resources may allow a client to request the generation of an appropriate name automatically. Name is primarily intended for creation idempotence and configuration definition. Cannot be updated. More info: https://kubernetes.io/docs/user-guide/identifiers#names +optional + "name": "A String", # Name must be unique within a namespace, within a Cloud Run region. Is required when creating resources, although some resources may allow a client to request the generation of an appropriate name automatically. Name is primarily intended for creation idempotence and configuration definition. Cannot be updated. More info: https://kubernetes.io/docs/user-guide/identifiers#names If ObjectMeta is part of a namespaces.services.create request, name must contain fewer than 50 characters. +optional "namespace": "A String", # Namespace defines the space within each name must be unique, within a Cloud Run region. In Cloud Run the namespace must be equal to either the project ID or project number. "ownerReferences": [ # (Optional) Not supported by Cloud Run List of objects that own this object. If ALL objects in the list have been deleted, this object will be garbage collected. { # OwnerReference contains enough information to let you identify an owning object. Currently, an owning object must be in the same namespace, so there is no namespace field. @@ -156,7 +156,7 @@

Method Details

"labels": { # (Optional) Map of string keys and values that can be used to organize and categorize (scope and select) objects. May match selectors of replication controllers and routes. More info: https://kubernetes.io/docs/user-guide/labels "a_key": "A String", }, - "name": "A String", # Name must be unique within a namespace, within a Cloud Run region. Is required when creating resources, although some resources may allow a client to request the generation of an appropriate name automatically. Name is primarily intended for creation idempotence and configuration definition. Cannot be updated. More info: https://kubernetes.io/docs/user-guide/identifiers#names +optional + "name": "A String", # Name must be unique within a namespace, within a Cloud Run region. Is required when creating resources, although some resources may allow a client to request the generation of an appropriate name automatically. Name is primarily intended for creation idempotence and configuration definition. Cannot be updated. More info: https://kubernetes.io/docs/user-guide/identifiers#names If ObjectMeta is part of a namespaces.services.create request, name must contain fewer than 50 characters. +optional "namespace": "A String", # Namespace defines the space within each name must be unique, within a Cloud Run region. In Cloud Run the namespace must be equal to either the project ID or project number. "ownerReferences": [ # (Optional) Not supported by Cloud Run List of objects that own this object. If ALL objects in the list have been deleted, this object will be garbage collected. { # OwnerReference contains enough information to let you identify an owning object. Currently, an owning object must be in the same namespace, so there is no namespace field. @@ -453,7 +453,7 @@

Method Details

"labels": { # (Optional) Map of string keys and values that can be used to organize and categorize (scope and select) objects. May match selectors of replication controllers and routes. More info: https://kubernetes.io/docs/user-guide/labels "a_key": "A String", }, - "name": "A String", # Name must be unique within a namespace, within a Cloud Run region. Is required when creating resources, although some resources may allow a client to request the generation of an appropriate name automatically. Name is primarily intended for creation idempotence and configuration definition. Cannot be updated. More info: https://kubernetes.io/docs/user-guide/identifiers#names +optional + "name": "A String", # Name must be unique within a namespace, within a Cloud Run region. Is required when creating resources, although some resources may allow a client to request the generation of an appropriate name automatically. Name is primarily intended for creation idempotence and configuration definition. Cannot be updated. More info: https://kubernetes.io/docs/user-guide/identifiers#names If ObjectMeta is part of a namespaces.services.create request, name must contain fewer than 50 characters. +optional "namespace": "A String", # Namespace defines the space within each name must be unique, within a Cloud Run region. In Cloud Run the namespace must be equal to either the project ID or project number. "ownerReferences": [ # (Optional) Not supported by Cloud Run List of objects that own this object. If ALL objects in the list have been deleted, this object will be garbage collected. { # OwnerReference contains enough information to let you identify an owning object. Currently, an owning object must be in the same namespace, so there is no namespace field. @@ -487,7 +487,7 @@

Method Details

"labels": { # (Optional) Map of string keys and values that can be used to organize and categorize (scope and select) objects. May match selectors of replication controllers and routes. More info: https://kubernetes.io/docs/user-guide/labels "a_key": "A String", }, - "name": "A String", # Name must be unique within a namespace, within a Cloud Run region. Is required when creating resources, although some resources may allow a client to request the generation of an appropriate name automatically. Name is primarily intended for creation idempotence and configuration definition. Cannot be updated. More info: https://kubernetes.io/docs/user-guide/identifiers#names +optional + "name": "A String", # Name must be unique within a namespace, within a Cloud Run region. Is required when creating resources, although some resources may allow a client to request the generation of an appropriate name automatically. Name is primarily intended for creation idempotence and configuration definition. Cannot be updated. More info: https://kubernetes.io/docs/user-guide/identifiers#names If ObjectMeta is part of a namespaces.services.create request, name must contain fewer than 50 characters. +optional "namespace": "A String", # Namespace defines the space within each name must be unique, within a Cloud Run region. In Cloud Run the namespace must be equal to either the project ID or project number. "ownerReferences": [ # (Optional) Not supported by Cloud Run List of objects that own this object. If ALL objects in the list have been deleted, this object will be garbage collected. { # OwnerReference contains enough information to let you identify an owning object. Currently, an owning object must be in the same namespace, so there is no namespace field. diff --git a/docs/dyn/run_v1.projects.locations.domainmappings.html b/docs/dyn/run_v1.projects.locations.domainmappings.html index 97a14051121..b20cfbd625b 100644 --- a/docs/dyn/run_v1.projects.locations.domainmappings.html +++ b/docs/dyn/run_v1.projects.locations.domainmappings.html @@ -123,7 +123,7 @@

Method Details

"labels": { # (Optional) Map of string keys and values that can be used to organize and categorize (scope and select) objects. May match selectors of replication controllers and routes. More info: https://kubernetes.io/docs/user-guide/labels "a_key": "A String", }, - "name": "A String", # Name must be unique within a namespace, within a Cloud Run region. Is required when creating resources, although some resources may allow a client to request the generation of an appropriate name automatically. Name is primarily intended for creation idempotence and configuration definition. Cannot be updated. More info: https://kubernetes.io/docs/user-guide/identifiers#names +optional + "name": "A String", # Name must be unique within a namespace, within a Cloud Run region. Is required when creating resources, although some resources may allow a client to request the generation of an appropriate name automatically. Name is primarily intended for creation idempotence and configuration definition. Cannot be updated. More info: https://kubernetes.io/docs/user-guide/identifiers#names If ObjectMeta is part of a namespaces.services.create request, name must contain fewer than 50 characters. +optional "namespace": "A String", # Namespace defines the space within each name must be unique, within a Cloud Run region. In Cloud Run the namespace must be equal to either the project ID or project number. "ownerReferences": [ # (Optional) Not supported by Cloud Run List of objects that own this object. If ALL objects in the list have been deleted, this object will be garbage collected. { # OwnerReference contains enough information to let you identify an owning object. Currently, an owning object must be in the same namespace, so there is no namespace field. @@ -196,7 +196,7 @@

Method Details

"labels": { # (Optional) Map of string keys and values that can be used to organize and categorize (scope and select) objects. May match selectors of replication controllers and routes. More info: https://kubernetes.io/docs/user-guide/labels "a_key": "A String", }, - "name": "A String", # Name must be unique within a namespace, within a Cloud Run region. Is required when creating resources, although some resources may allow a client to request the generation of an appropriate name automatically. Name is primarily intended for creation idempotence and configuration definition. Cannot be updated. More info: https://kubernetes.io/docs/user-guide/identifiers#names +optional + "name": "A String", # Name must be unique within a namespace, within a Cloud Run region. Is required when creating resources, although some resources may allow a client to request the generation of an appropriate name automatically. Name is primarily intended for creation idempotence and configuration definition. Cannot be updated. More info: https://kubernetes.io/docs/user-guide/identifiers#names If ObjectMeta is part of a namespaces.services.create request, name must contain fewer than 50 characters. +optional "namespace": "A String", # Namespace defines the space within each name must be unique, within a Cloud Run region. In Cloud Run the namespace must be equal to either the project ID or project number. "ownerReferences": [ # (Optional) Not supported by Cloud Run List of objects that own this object. If ALL objects in the list have been deleted, this object will be garbage collected. { # OwnerReference contains enough information to let you identify an owning object. Currently, an owning object must be in the same namespace, so there is no namespace field. @@ -320,7 +320,7 @@

Method Details

"labels": { # (Optional) Map of string keys and values that can be used to organize and categorize (scope and select) objects. May match selectors of replication controllers and routes. More info: https://kubernetes.io/docs/user-guide/labels "a_key": "A String", }, - "name": "A String", # Name must be unique within a namespace, within a Cloud Run region. Is required when creating resources, although some resources may allow a client to request the generation of an appropriate name automatically. Name is primarily intended for creation idempotence and configuration definition. Cannot be updated. More info: https://kubernetes.io/docs/user-guide/identifiers#names +optional + "name": "A String", # Name must be unique within a namespace, within a Cloud Run region. Is required when creating resources, although some resources may allow a client to request the generation of an appropriate name automatically. Name is primarily intended for creation idempotence and configuration definition. Cannot be updated. More info: https://kubernetes.io/docs/user-guide/identifiers#names If ObjectMeta is part of a namespaces.services.create request, name must contain fewer than 50 characters. +optional "namespace": "A String", # Namespace defines the space within each name must be unique, within a Cloud Run region. In Cloud Run the namespace must be equal to either the project ID or project number. "ownerReferences": [ # (Optional) Not supported by Cloud Run List of objects that own this object. If ALL objects in the list have been deleted, this object will be garbage collected. { # OwnerReference contains enough information to let you identify an owning object. Currently, an owning object must be in the same namespace, so there is no namespace field. @@ -409,7 +409,7 @@

Method Details

"labels": { # (Optional) Map of string keys and values that can be used to organize and categorize (scope and select) objects. May match selectors of replication controllers and routes. More info: https://kubernetes.io/docs/user-guide/labels "a_key": "A String", }, - "name": "A String", # Name must be unique within a namespace, within a Cloud Run region. Is required when creating resources, although some resources may allow a client to request the generation of an appropriate name automatically. Name is primarily intended for creation idempotence and configuration definition. Cannot be updated. More info: https://kubernetes.io/docs/user-guide/identifiers#names +optional + "name": "A String", # Name must be unique within a namespace, within a Cloud Run region. Is required when creating resources, although some resources may allow a client to request the generation of an appropriate name automatically. Name is primarily intended for creation idempotence and configuration definition. Cannot be updated. More info: https://kubernetes.io/docs/user-guide/identifiers#names If ObjectMeta is part of a namespaces.services.create request, name must contain fewer than 50 characters. +optional "namespace": "A String", # Namespace defines the space within each name must be unique, within a Cloud Run region. In Cloud Run the namespace must be equal to either the project ID or project number. "ownerReferences": [ # (Optional) Not supported by Cloud Run List of objects that own this object. If ALL objects in the list have been deleted, this object will be garbage collected. { # OwnerReference contains enough information to let you identify an owning object. Currently, an owning object must be in the same namespace, so there is no namespace field. diff --git a/docs/dyn/run_v1.projects.locations.revisions.html b/docs/dyn/run_v1.projects.locations.revisions.html index 275addbc680..2de232ad92c 100644 --- a/docs/dyn/run_v1.projects.locations.revisions.html +++ b/docs/dyn/run_v1.projects.locations.revisions.html @@ -170,7 +170,7 @@

Method Details

"labels": { # (Optional) Map of string keys and values that can be used to organize and categorize (scope and select) objects. May match selectors of replication controllers and routes. More info: https://kubernetes.io/docs/user-guide/labels "a_key": "A String", }, - "name": "A String", # Name must be unique within a namespace, within a Cloud Run region. Is required when creating resources, although some resources may allow a client to request the generation of an appropriate name automatically. Name is primarily intended for creation idempotence and configuration definition. Cannot be updated. More info: https://kubernetes.io/docs/user-guide/identifiers#names +optional + "name": "A String", # Name must be unique within a namespace, within a Cloud Run region. Is required when creating resources, although some resources may allow a client to request the generation of an appropriate name automatically. Name is primarily intended for creation idempotence and configuration definition. Cannot be updated. More info: https://kubernetes.io/docs/user-guide/identifiers#names If ObjectMeta is part of a namespaces.services.create request, name must contain fewer than 50 characters. +optional "namespace": "A String", # Namespace defines the space within each name must be unique, within a Cloud Run region. In Cloud Run the namespace must be equal to either the project ID or project number. "ownerReferences": [ # (Optional) Not supported by Cloud Run List of objects that own this object. If ALL objects in the list have been deleted, this object will be garbage collected. { # OwnerReference contains enough information to let you identify an owning object. Currently, an owning object must be in the same namespace, so there is no namespace field. @@ -466,7 +466,7 @@

Method Details

"labels": { # (Optional) Map of string keys and values that can be used to organize and categorize (scope and select) objects. May match selectors of replication controllers and routes. More info: https://kubernetes.io/docs/user-guide/labels "a_key": "A String", }, - "name": "A String", # Name must be unique within a namespace, within a Cloud Run region. Is required when creating resources, although some resources may allow a client to request the generation of an appropriate name automatically. Name is primarily intended for creation idempotence and configuration definition. Cannot be updated. More info: https://kubernetes.io/docs/user-guide/identifiers#names +optional + "name": "A String", # Name must be unique within a namespace, within a Cloud Run region. Is required when creating resources, although some resources may allow a client to request the generation of an appropriate name automatically. Name is primarily intended for creation idempotence and configuration definition. Cannot be updated. More info: https://kubernetes.io/docs/user-guide/identifiers#names If ObjectMeta is part of a namespaces.services.create request, name must contain fewer than 50 characters. +optional "namespace": "A String", # Namespace defines the space within each name must be unique, within a Cloud Run region. In Cloud Run the namespace must be equal to either the project ID or project number. "ownerReferences": [ # (Optional) Not supported by Cloud Run List of objects that own this object. If ALL objects in the list have been deleted, this object will be garbage collected. { # OwnerReference contains enough information to let you identify an owning object. Currently, an owning object must be in the same namespace, so there is no namespace field. diff --git a/docs/dyn/run_v1.projects.locations.routes.html b/docs/dyn/run_v1.projects.locations.routes.html index a867d553c0c..e9881bc6906 100644 --- a/docs/dyn/run_v1.projects.locations.routes.html +++ b/docs/dyn/run_v1.projects.locations.routes.html @@ -122,7 +122,7 @@

Method Details

"labels": { # (Optional) Map of string keys and values that can be used to organize and categorize (scope and select) objects. May match selectors of replication controllers and routes. More info: https://kubernetes.io/docs/user-guide/labels "a_key": "A String", }, - "name": "A String", # Name must be unique within a namespace, within a Cloud Run region. Is required when creating resources, although some resources may allow a client to request the generation of an appropriate name automatically. Name is primarily intended for creation idempotence and configuration definition. Cannot be updated. More info: https://kubernetes.io/docs/user-guide/identifiers#names +optional + "name": "A String", # Name must be unique within a namespace, within a Cloud Run region. Is required when creating resources, although some resources may allow a client to request the generation of an appropriate name automatically. Name is primarily intended for creation idempotence and configuration definition. Cannot be updated. More info: https://kubernetes.io/docs/user-guide/identifiers#names If ObjectMeta is part of a namespaces.services.create request, name must contain fewer than 50 characters. +optional "namespace": "A String", # Namespace defines the space within each name must be unique, within a Cloud Run region. In Cloud Run the namespace must be equal to either the project ID or project number. "ownerReferences": [ # (Optional) Not supported by Cloud Run List of objects that own this object. If ALL objects in the list have been deleted, this object will be garbage collected. { # OwnerReference contains enough information to let you identify an owning object. Currently, an owning object must be in the same namespace, so there is no namespace field. @@ -223,7 +223,7 @@

Method Details

"labels": { # (Optional) Map of string keys and values that can be used to organize and categorize (scope and select) objects. May match selectors of replication controllers and routes. More info: https://kubernetes.io/docs/user-guide/labels "a_key": "A String", }, - "name": "A String", # Name must be unique within a namespace, within a Cloud Run region. Is required when creating resources, although some resources may allow a client to request the generation of an appropriate name automatically. Name is primarily intended for creation idempotence and configuration definition. Cannot be updated. More info: https://kubernetes.io/docs/user-guide/identifiers#names +optional + "name": "A String", # Name must be unique within a namespace, within a Cloud Run region. Is required when creating resources, although some resources may allow a client to request the generation of an appropriate name automatically. Name is primarily intended for creation idempotence and configuration definition. Cannot be updated. More info: https://kubernetes.io/docs/user-guide/identifiers#names If ObjectMeta is part of a namespaces.services.create request, name must contain fewer than 50 characters. +optional "namespace": "A String", # Namespace defines the space within each name must be unique, within a Cloud Run region. In Cloud Run the namespace must be equal to either the project ID or project number. "ownerReferences": [ # (Optional) Not supported by Cloud Run List of objects that own this object. If ALL objects in the list have been deleted, this object will be garbage collected. { # OwnerReference contains enough information to let you identify an owning object. Currently, an owning object must be in the same namespace, so there is no namespace field. diff --git a/docs/dyn/run_v1.projects.locations.services.html b/docs/dyn/run_v1.projects.locations.services.html index 9f9ced5d5be..1dcbb3224ec 100644 --- a/docs/dyn/run_v1.projects.locations.services.html +++ b/docs/dyn/run_v1.projects.locations.services.html @@ -135,7 +135,7 @@

Method Details

"labels": { # (Optional) Map of string keys and values that can be used to organize and categorize (scope and select) objects. May match selectors of replication controllers and routes. More info: https://kubernetes.io/docs/user-guide/labels "a_key": "A String", }, - "name": "A String", # Name must be unique within a namespace, within a Cloud Run region. Is required when creating resources, although some resources may allow a client to request the generation of an appropriate name automatically. Name is primarily intended for creation idempotence and configuration definition. Cannot be updated. More info: https://kubernetes.io/docs/user-guide/identifiers#names +optional + "name": "A String", # Name must be unique within a namespace, within a Cloud Run region. Is required when creating resources, although some resources may allow a client to request the generation of an appropriate name automatically. Name is primarily intended for creation idempotence and configuration definition. Cannot be updated. More info: https://kubernetes.io/docs/user-guide/identifiers#names If ObjectMeta is part of a namespaces.services.create request, name must contain fewer than 50 characters. +optional "namespace": "A String", # Namespace defines the space within each name must be unique, within a Cloud Run region. In Cloud Run the namespace must be equal to either the project ID or project number. "ownerReferences": [ # (Optional) Not supported by Cloud Run List of objects that own this object. If ALL objects in the list have been deleted, this object will be garbage collected. { # OwnerReference contains enough information to let you identify an owning object. Currently, an owning object must be in the same namespace, so there is no namespace field. @@ -169,7 +169,7 @@

Method Details

"labels": { # (Optional) Map of string keys and values that can be used to organize and categorize (scope and select) objects. May match selectors of replication controllers and routes. More info: https://kubernetes.io/docs/user-guide/labels "a_key": "A String", }, - "name": "A String", # Name must be unique within a namespace, within a Cloud Run region. Is required when creating resources, although some resources may allow a client to request the generation of an appropriate name automatically. Name is primarily intended for creation idempotence and configuration definition. Cannot be updated. More info: https://kubernetes.io/docs/user-guide/identifiers#names +optional + "name": "A String", # Name must be unique within a namespace, within a Cloud Run region. Is required when creating resources, although some resources may allow a client to request the generation of an appropriate name automatically. Name is primarily intended for creation idempotence and configuration definition. Cannot be updated. More info: https://kubernetes.io/docs/user-guide/identifiers#names If ObjectMeta is part of a namespaces.services.create request, name must contain fewer than 50 characters. +optional "namespace": "A String", # Namespace defines the space within each name must be unique, within a Cloud Run region. In Cloud Run the namespace must be equal to either the project ID or project number. "ownerReferences": [ # (Optional) Not supported by Cloud Run List of objects that own this object. If ALL objects in the list have been deleted, this object will be garbage collected. { # OwnerReference contains enough information to let you identify an owning object. Currently, an owning object must be in the same namespace, so there is no namespace field. @@ -474,7 +474,7 @@

Method Details

"labels": { # (Optional) Map of string keys and values that can be used to organize and categorize (scope and select) objects. May match selectors of replication controllers and routes. More info: https://kubernetes.io/docs/user-guide/labels "a_key": "A String", }, - "name": "A String", # Name must be unique within a namespace, within a Cloud Run region. Is required when creating resources, although some resources may allow a client to request the generation of an appropriate name automatically. Name is primarily intended for creation idempotence and configuration definition. Cannot be updated. More info: https://kubernetes.io/docs/user-guide/identifiers#names +optional + "name": "A String", # Name must be unique within a namespace, within a Cloud Run region. Is required when creating resources, although some resources may allow a client to request the generation of an appropriate name automatically. Name is primarily intended for creation idempotence and configuration definition. Cannot be updated. More info: https://kubernetes.io/docs/user-guide/identifiers#names If ObjectMeta is part of a namespaces.services.create request, name must contain fewer than 50 characters. +optional "namespace": "A String", # Namespace defines the space within each name must be unique, within a Cloud Run region. In Cloud Run the namespace must be equal to either the project ID or project number. "ownerReferences": [ # (Optional) Not supported by Cloud Run List of objects that own this object. If ALL objects in the list have been deleted, this object will be garbage collected. { # OwnerReference contains enough information to let you identify an owning object. Currently, an owning object must be in the same namespace, so there is no namespace field. @@ -508,7 +508,7 @@

Method Details

"labels": { # (Optional) Map of string keys and values that can be used to organize and categorize (scope and select) objects. May match selectors of replication controllers and routes. More info: https://kubernetes.io/docs/user-guide/labels "a_key": "A String", }, - "name": "A String", # Name must be unique within a namespace, within a Cloud Run region. Is required when creating resources, although some resources may allow a client to request the generation of an appropriate name automatically. Name is primarily intended for creation idempotence and configuration definition. Cannot be updated. More info: https://kubernetes.io/docs/user-guide/identifiers#names +optional + "name": "A String", # Name must be unique within a namespace, within a Cloud Run region. Is required when creating resources, although some resources may allow a client to request the generation of an appropriate name automatically. Name is primarily intended for creation idempotence and configuration definition. Cannot be updated. More info: https://kubernetes.io/docs/user-guide/identifiers#names If ObjectMeta is part of a namespaces.services.create request, name must contain fewer than 50 characters. +optional "namespace": "A String", # Namespace defines the space within each name must be unique, within a Cloud Run region. In Cloud Run the namespace must be equal to either the project ID or project number. "ownerReferences": [ # (Optional) Not supported by Cloud Run List of objects that own this object. If ALL objects in the list have been deleted, this object will be garbage collected. { # OwnerReference contains enough information to let you identify an owning object. Currently, an owning object must be in the same namespace, so there is no namespace field. @@ -864,7 +864,7 @@

Method Details

"labels": { # (Optional) Map of string keys and values that can be used to organize and categorize (scope and select) objects. May match selectors of replication controllers and routes. More info: https://kubernetes.io/docs/user-guide/labels "a_key": "A String", }, - "name": "A String", # Name must be unique within a namespace, within a Cloud Run region. Is required when creating resources, although some resources may allow a client to request the generation of an appropriate name automatically. Name is primarily intended for creation idempotence and configuration definition. Cannot be updated. More info: https://kubernetes.io/docs/user-guide/identifiers#names +optional + "name": "A String", # Name must be unique within a namespace, within a Cloud Run region. Is required when creating resources, although some resources may allow a client to request the generation of an appropriate name automatically. Name is primarily intended for creation idempotence and configuration definition. Cannot be updated. More info: https://kubernetes.io/docs/user-guide/identifiers#names If ObjectMeta is part of a namespaces.services.create request, name must contain fewer than 50 characters. +optional "namespace": "A String", # Namespace defines the space within each name must be unique, within a Cloud Run region. In Cloud Run the namespace must be equal to either the project ID or project number. "ownerReferences": [ # (Optional) Not supported by Cloud Run List of objects that own this object. If ALL objects in the list have been deleted, this object will be garbage collected. { # OwnerReference contains enough information to let you identify an owning object. Currently, an owning object must be in the same namespace, so there is no namespace field. @@ -898,7 +898,7 @@

Method Details

"labels": { # (Optional) Map of string keys and values that can be used to organize and categorize (scope and select) objects. May match selectors of replication controllers and routes. More info: https://kubernetes.io/docs/user-guide/labels "a_key": "A String", }, - "name": "A String", # Name must be unique within a namespace, within a Cloud Run region. Is required when creating resources, although some resources may allow a client to request the generation of an appropriate name automatically. Name is primarily intended for creation idempotence and configuration definition. Cannot be updated. More info: https://kubernetes.io/docs/user-guide/identifiers#names +optional + "name": "A String", # Name must be unique within a namespace, within a Cloud Run region. Is required when creating resources, although some resources may allow a client to request the generation of an appropriate name automatically. Name is primarily intended for creation idempotence and configuration definition. Cannot be updated. More info: https://kubernetes.io/docs/user-guide/identifiers#names If ObjectMeta is part of a namespaces.services.create request, name must contain fewer than 50 characters. +optional "namespace": "A String", # Namespace defines the space within each name must be unique, within a Cloud Run region. In Cloud Run the namespace must be equal to either the project ID or project number. "ownerReferences": [ # (Optional) Not supported by Cloud Run List of objects that own this object. If ALL objects in the list have been deleted, this object will be garbage collected. { # OwnerReference contains enough information to let you identify an owning object. Currently, an owning object must be in the same namespace, so there is no namespace field. @@ -1267,7 +1267,7 @@

Method Details

"labels": { # (Optional) Map of string keys and values that can be used to organize and categorize (scope and select) objects. May match selectors of replication controllers and routes. More info: https://kubernetes.io/docs/user-guide/labels "a_key": "A String", }, - "name": "A String", # Name must be unique within a namespace, within a Cloud Run region. Is required when creating resources, although some resources may allow a client to request the generation of an appropriate name automatically. Name is primarily intended for creation idempotence and configuration definition. Cannot be updated. More info: https://kubernetes.io/docs/user-guide/identifiers#names +optional + "name": "A String", # Name must be unique within a namespace, within a Cloud Run region. Is required when creating resources, although some resources may allow a client to request the generation of an appropriate name automatically. Name is primarily intended for creation idempotence and configuration definition. Cannot be updated. More info: https://kubernetes.io/docs/user-guide/identifiers#names If ObjectMeta is part of a namespaces.services.create request, name must contain fewer than 50 characters. +optional "namespace": "A String", # Namespace defines the space within each name must be unique, within a Cloud Run region. In Cloud Run the namespace must be equal to either the project ID or project number. "ownerReferences": [ # (Optional) Not supported by Cloud Run List of objects that own this object. If ALL objects in the list have been deleted, this object will be garbage collected. { # OwnerReference contains enough information to let you identify an owning object. Currently, an owning object must be in the same namespace, so there is no namespace field. @@ -1301,7 +1301,7 @@

Method Details

"labels": { # (Optional) Map of string keys and values that can be used to organize and categorize (scope and select) objects. May match selectors of replication controllers and routes. More info: https://kubernetes.io/docs/user-guide/labels "a_key": "A String", }, - "name": "A String", # Name must be unique within a namespace, within a Cloud Run region. Is required when creating resources, although some resources may allow a client to request the generation of an appropriate name automatically. Name is primarily intended for creation idempotence and configuration definition. Cannot be updated. More info: https://kubernetes.io/docs/user-guide/identifiers#names +optional + "name": "A String", # Name must be unique within a namespace, within a Cloud Run region. Is required when creating resources, although some resources may allow a client to request the generation of an appropriate name automatically. Name is primarily intended for creation idempotence and configuration definition. Cannot be updated. More info: https://kubernetes.io/docs/user-guide/identifiers#names If ObjectMeta is part of a namespaces.services.create request, name must contain fewer than 50 characters. +optional "namespace": "A String", # Namespace defines the space within each name must be unique, within a Cloud Run region. In Cloud Run the namespace must be equal to either the project ID or project number. "ownerReferences": [ # (Optional) Not supported by Cloud Run List of objects that own this object. If ALL objects in the list have been deleted, this object will be garbage collected. { # OwnerReference contains enough information to let you identify an owning object. Currently, an owning object must be in the same namespace, so there is no namespace field. @@ -1618,7 +1618,7 @@

Method Details

"labels": { # (Optional) Map of string keys and values that can be used to organize and categorize (scope and select) objects. May match selectors of replication controllers and routes. More info: https://kubernetes.io/docs/user-guide/labels "a_key": "A String", }, - "name": "A String", # Name must be unique within a namespace, within a Cloud Run region. Is required when creating resources, although some resources may allow a client to request the generation of an appropriate name automatically. Name is primarily intended for creation idempotence and configuration definition. Cannot be updated. More info: https://kubernetes.io/docs/user-guide/identifiers#names +optional + "name": "A String", # Name must be unique within a namespace, within a Cloud Run region. Is required when creating resources, although some resources may allow a client to request the generation of an appropriate name automatically. Name is primarily intended for creation idempotence and configuration definition. Cannot be updated. More info: https://kubernetes.io/docs/user-guide/identifiers#names If ObjectMeta is part of a namespaces.services.create request, name must contain fewer than 50 characters. +optional "namespace": "A String", # Namespace defines the space within each name must be unique, within a Cloud Run region. In Cloud Run the namespace must be equal to either the project ID or project number. "ownerReferences": [ # (Optional) Not supported by Cloud Run List of objects that own this object. If ALL objects in the list have been deleted, this object will be garbage collected. { # OwnerReference contains enough information to let you identify an owning object. Currently, an owning object must be in the same namespace, so there is no namespace field. @@ -1652,7 +1652,7 @@

Method Details

"labels": { # (Optional) Map of string keys and values that can be used to organize and categorize (scope and select) objects. May match selectors of replication controllers and routes. More info: https://kubernetes.io/docs/user-guide/labels "a_key": "A String", }, - "name": "A String", # Name must be unique within a namespace, within a Cloud Run region. Is required when creating resources, although some resources may allow a client to request the generation of an appropriate name automatically. Name is primarily intended for creation idempotence and configuration definition. Cannot be updated. More info: https://kubernetes.io/docs/user-guide/identifiers#names +optional + "name": "A String", # Name must be unique within a namespace, within a Cloud Run region. Is required when creating resources, although some resources may allow a client to request the generation of an appropriate name automatically. Name is primarily intended for creation idempotence and configuration definition. Cannot be updated. More info: https://kubernetes.io/docs/user-guide/identifiers#names If ObjectMeta is part of a namespaces.services.create request, name must contain fewer than 50 characters. +optional "namespace": "A String", # Namespace defines the space within each name must be unique, within a Cloud Run region. In Cloud Run the namespace must be equal to either the project ID or project number. "ownerReferences": [ # (Optional) Not supported by Cloud Run List of objects that own this object. If ALL objects in the list have been deleted, this object will be garbage collected. { # OwnerReference contains enough information to let you identify an owning object. Currently, an owning object must be in the same namespace, so there is no namespace field. @@ -1957,7 +1957,7 @@

Method Details

"labels": { # (Optional) Map of string keys and values that can be used to organize and categorize (scope and select) objects. May match selectors of replication controllers and routes. More info: https://kubernetes.io/docs/user-guide/labels "a_key": "A String", }, - "name": "A String", # Name must be unique within a namespace, within a Cloud Run region. Is required when creating resources, although some resources may allow a client to request the generation of an appropriate name automatically. Name is primarily intended for creation idempotence and configuration definition. Cannot be updated. More info: https://kubernetes.io/docs/user-guide/identifiers#names +optional + "name": "A String", # Name must be unique within a namespace, within a Cloud Run region. Is required when creating resources, although some resources may allow a client to request the generation of an appropriate name automatically. Name is primarily intended for creation idempotence and configuration definition. Cannot be updated. More info: https://kubernetes.io/docs/user-guide/identifiers#names If ObjectMeta is part of a namespaces.services.create request, name must contain fewer than 50 characters. +optional "namespace": "A String", # Namespace defines the space within each name must be unique, within a Cloud Run region. In Cloud Run the namespace must be equal to either the project ID or project number. "ownerReferences": [ # (Optional) Not supported by Cloud Run List of objects that own this object. If ALL objects in the list have been deleted, this object will be garbage collected. { # OwnerReference contains enough information to let you identify an owning object. Currently, an owning object must be in the same namespace, so there is no namespace field. @@ -1991,7 +1991,7 @@

Method Details

"labels": { # (Optional) Map of string keys and values that can be used to organize and categorize (scope and select) objects. May match selectors of replication controllers and routes. More info: https://kubernetes.io/docs/user-guide/labels "a_key": "A String", }, - "name": "A String", # Name must be unique within a namespace, within a Cloud Run region. Is required when creating resources, although some resources may allow a client to request the generation of an appropriate name automatically. Name is primarily intended for creation idempotence and configuration definition. Cannot be updated. More info: https://kubernetes.io/docs/user-guide/identifiers#names +optional + "name": "A String", # Name must be unique within a namespace, within a Cloud Run region. Is required when creating resources, although some resources may allow a client to request the generation of an appropriate name automatically. Name is primarily intended for creation idempotence and configuration definition. Cannot be updated. More info: https://kubernetes.io/docs/user-guide/identifiers#names If ObjectMeta is part of a namespaces.services.create request, name must contain fewer than 50 characters. +optional "namespace": "A String", # Namespace defines the space within each name must be unique, within a Cloud Run region. In Cloud Run the namespace must be equal to either the project ID or project number. "ownerReferences": [ # (Optional) Not supported by Cloud Run List of objects that own this object. If ALL objects in the list have been deleted, this object will be garbage collected. { # OwnerReference contains enough information to let you identify an owning object. Currently, an owning object must be in the same namespace, so there is no namespace field. diff --git a/docs/dyn/run_v2.projects.locations.services.html b/docs/dyn/run_v2.projects.locations.services.html index a3c1a1173b4..5d6e67e88ed 100644 --- a/docs/dyn/run_v2.projects.locations.services.html +++ b/docs/dyn/run_v2.projects.locations.services.html @@ -120,7 +120,7 @@

Method Details

Creates a new Service in a given project and location.
 
 Args:
-  parent: string, Required. The location and project in which this service should be created. Format: projects/{projectnumber}/locations/{location} (required)
+  parent: string, Required. The location and project in which this service should be created. Format: projects/{projectnumber}/locations/{location} Only lowercase, digits, and hyphens; must begin with letter, and may not end with hyphen; must contain fewer than 50 characters. (required)
   body: object, The request body.
     The object takes the form of:
 
diff --git a/docs/dyn/securitycenter_v1.folders.sources.findings.html b/docs/dyn/securitycenter_v1.folders.sources.findings.html
index e00e5033c82..83f1373d237 100644
--- a/docs/dyn/securitycenter_v1.folders.sources.findings.html
+++ b/docs/dyn/securitycenter_v1.folders.sources.findings.html
@@ -198,7 +198,15 @@ 

Method Details

"regionCode": "A String", # A CLDR. }, "methodName": "A String", # The method that the service account called, e.g. "SetIamPolicy". - "principalEmail": "A String", # Associated email, such as "foo@google.com". + "principalEmail": "A String", # Associated email, such as "foo@google.com". The email address of the authenticated user (or service account on behalf of third party principal) making the request. For third party identity callers, the `principal_subject` field is populated instead of this field. For privacy reasons, the principal email address is sometimes redacted. For more information, see [Caller identities in audit logs](https://cloud.google.com/logging/docs/audit#user-id). + "principalSubject": "A String", # A string representing the principal_subject associated with the identity. As compared to `principal_email`, supports principals that aren't associated with email addresses, such as third party principals. For most identities, the format will be `principal://iam.googleapis.com/{identity pool name}/subject/{subject)` except for some GKE identities (GKE_WORKLOAD, FREEFORM, GKE_HUB_WORKLOAD) that are still in the legacy format `serviceAccount:{identity pool name}[{subject}]` + "serviceAccountDelegationInfo": [ # Identity delegation history of an authenticated service account that makes the request. It contains information on the real authorities that try to access GCP resources by delegating on a service account. When multiple authorities are present, they are guaranteed to be sorted based on the original ordering of the identity delegation events. + { # Identity delegation history of an authenticated service account. + "principalEmail": "A String", # The email address of a Google account. . + "principalSubject": "A String", # A string representing the principal_subject associated with the identity. As compared to `principal_email`, supports principals that aren't associated with email addresses, such as third party principals. For most identities, the format will be `principal://iam.googleapis.com/{identity pool name}/subject/{subject)` except for some GKE identities (GKE_WORKLOAD, FREEFORM, GKE_HUB_WORKLOAD) that are still in the legacy format `serviceAccount:{identity pool name}[{subject}]` + }, + ], + "serviceAccountKeyName": "A String", # The name of the service account key used to create or exchange credentials for authenticating the service account making the request. This is a scheme-less URI full resource name. For example: "//iam.googleapis.com/projects/{PROJECT_ID}/serviceAccounts/{ACCOUNT}/keys/{key}" "serviceName": "A String", # This is the API service that the service account made a call to, e.g. "iam.googleapis.com" "userAgentFamily": "A String", # What kind of user agent is associated, e.g. operating system shells, embedded or stand-alone applications, etc. }, @@ -544,7 +552,15 @@

Method Details

"regionCode": "A String", # A CLDR. }, "methodName": "A String", # The method that the service account called, e.g. "SetIamPolicy". - "principalEmail": "A String", # Associated email, such as "foo@google.com". + "principalEmail": "A String", # Associated email, such as "foo@google.com". The email address of the authenticated user (or service account on behalf of third party principal) making the request. For third party identity callers, the `principal_subject` field is populated instead of this field. For privacy reasons, the principal email address is sometimes redacted. For more information, see [Caller identities in audit logs](https://cloud.google.com/logging/docs/audit#user-id). + "principalSubject": "A String", # A string representing the principal_subject associated with the identity. As compared to `principal_email`, supports principals that aren't associated with email addresses, such as third party principals. For most identities, the format will be `principal://iam.googleapis.com/{identity pool name}/subject/{subject)` except for some GKE identities (GKE_WORKLOAD, FREEFORM, GKE_HUB_WORKLOAD) that are still in the legacy format `serviceAccount:{identity pool name}[{subject}]` + "serviceAccountDelegationInfo": [ # Identity delegation history of an authenticated service account that makes the request. It contains information on the real authorities that try to access GCP resources by delegating on a service account. When multiple authorities are present, they are guaranteed to be sorted based on the original ordering of the identity delegation events. + { # Identity delegation history of an authenticated service account. + "principalEmail": "A String", # The email address of a Google account. . + "principalSubject": "A String", # A string representing the principal_subject associated with the identity. As compared to `principal_email`, supports principals that aren't associated with email addresses, such as third party principals. For most identities, the format will be `principal://iam.googleapis.com/{identity pool name}/subject/{subject)` except for some GKE identities (GKE_WORKLOAD, FREEFORM, GKE_HUB_WORKLOAD) that are still in the legacy format `serviceAccount:{identity pool name}[{subject}]` + }, + ], + "serviceAccountKeyName": "A String", # The name of the service account key used to create or exchange credentials for authenticating the service account making the request. This is a scheme-less URI full resource name. For example: "//iam.googleapis.com/projects/{PROJECT_ID}/serviceAccounts/{ACCOUNT}/keys/{key}" "serviceName": "A String", # This is the API service that the service account made a call to, e.g. "iam.googleapis.com" "userAgentFamily": "A String", # What kind of user agent is associated, e.g. operating system shells, embedded or stand-alone applications, etc. }, @@ -853,7 +869,15 @@

Method Details

"regionCode": "A String", # A CLDR. }, "methodName": "A String", # The method that the service account called, e.g. "SetIamPolicy". - "principalEmail": "A String", # Associated email, such as "foo@google.com". + "principalEmail": "A String", # Associated email, such as "foo@google.com". The email address of the authenticated user (or service account on behalf of third party principal) making the request. For third party identity callers, the `principal_subject` field is populated instead of this field. For privacy reasons, the principal email address is sometimes redacted. For more information, see [Caller identities in audit logs](https://cloud.google.com/logging/docs/audit#user-id). + "principalSubject": "A String", # A string representing the principal_subject associated with the identity. As compared to `principal_email`, supports principals that aren't associated with email addresses, such as third party principals. For most identities, the format will be `principal://iam.googleapis.com/{identity pool name}/subject/{subject)` except for some GKE identities (GKE_WORKLOAD, FREEFORM, GKE_HUB_WORKLOAD) that are still in the legacy format `serviceAccount:{identity pool name}[{subject}]` + "serviceAccountDelegationInfo": [ # Identity delegation history of an authenticated service account that makes the request. It contains information on the real authorities that try to access GCP resources by delegating on a service account. When multiple authorities are present, they are guaranteed to be sorted based on the original ordering of the identity delegation events. + { # Identity delegation history of an authenticated service account. + "principalEmail": "A String", # The email address of a Google account. . + "principalSubject": "A String", # A string representing the principal_subject associated with the identity. As compared to `principal_email`, supports principals that aren't associated with email addresses, such as third party principals. For most identities, the format will be `principal://iam.googleapis.com/{identity pool name}/subject/{subject)` except for some GKE identities (GKE_WORKLOAD, FREEFORM, GKE_HUB_WORKLOAD) that are still in the legacy format `serviceAccount:{identity pool name}[{subject}]` + }, + ], + "serviceAccountKeyName": "A String", # The name of the service account key used to create or exchange credentials for authenticating the service account making the request. This is a scheme-less URI full resource name. For example: "//iam.googleapis.com/projects/{PROJECT_ID}/serviceAccounts/{ACCOUNT}/keys/{key}" "serviceName": "A String", # This is the API service that the service account made a call to, e.g. "iam.googleapis.com" "userAgentFamily": "A String", # What kind of user agent is associated, e.g. operating system shells, embedded or stand-alone applications, etc. }, @@ -1175,7 +1199,15 @@

Method Details

"regionCode": "A String", # A CLDR. }, "methodName": "A String", # The method that the service account called, e.g. "SetIamPolicy". - "principalEmail": "A String", # Associated email, such as "foo@google.com". + "principalEmail": "A String", # Associated email, such as "foo@google.com". The email address of the authenticated user (or service account on behalf of third party principal) making the request. For third party identity callers, the `principal_subject` field is populated instead of this field. For privacy reasons, the principal email address is sometimes redacted. For more information, see [Caller identities in audit logs](https://cloud.google.com/logging/docs/audit#user-id). + "principalSubject": "A String", # A string representing the principal_subject associated with the identity. As compared to `principal_email`, supports principals that aren't associated with email addresses, such as third party principals. For most identities, the format will be `principal://iam.googleapis.com/{identity pool name}/subject/{subject)` except for some GKE identities (GKE_WORKLOAD, FREEFORM, GKE_HUB_WORKLOAD) that are still in the legacy format `serviceAccount:{identity pool name}[{subject}]` + "serviceAccountDelegationInfo": [ # Identity delegation history of an authenticated service account that makes the request. It contains information on the real authorities that try to access GCP resources by delegating on a service account. When multiple authorities are present, they are guaranteed to be sorted based on the original ordering of the identity delegation events. + { # Identity delegation history of an authenticated service account. + "principalEmail": "A String", # The email address of a Google account. . + "principalSubject": "A String", # A string representing the principal_subject associated with the identity. As compared to `principal_email`, supports principals that aren't associated with email addresses, such as third party principals. For most identities, the format will be `principal://iam.googleapis.com/{identity pool name}/subject/{subject)` except for some GKE identities (GKE_WORKLOAD, FREEFORM, GKE_HUB_WORKLOAD) that are still in the legacy format `serviceAccount:{identity pool name}[{subject}]` + }, + ], + "serviceAccountKeyName": "A String", # The name of the service account key used to create or exchange credentials for authenticating the service account making the request. This is a scheme-less URI full resource name. For example: "//iam.googleapis.com/projects/{PROJECT_ID}/serviceAccounts/{ACCOUNT}/keys/{key}" "serviceName": "A String", # This is the API service that the service account made a call to, e.g. "iam.googleapis.com" "userAgentFamily": "A String", # What kind of user agent is associated, e.g. operating system shells, embedded or stand-alone applications, etc. }, @@ -1498,7 +1530,15 @@

Method Details

"regionCode": "A String", # A CLDR. }, "methodName": "A String", # The method that the service account called, e.g. "SetIamPolicy". - "principalEmail": "A String", # Associated email, such as "foo@google.com". + "principalEmail": "A String", # Associated email, such as "foo@google.com". The email address of the authenticated user (or service account on behalf of third party principal) making the request. For third party identity callers, the `principal_subject` field is populated instead of this field. For privacy reasons, the principal email address is sometimes redacted. For more information, see [Caller identities in audit logs](https://cloud.google.com/logging/docs/audit#user-id). + "principalSubject": "A String", # A string representing the principal_subject associated with the identity. As compared to `principal_email`, supports principals that aren't associated with email addresses, such as third party principals. For most identities, the format will be `principal://iam.googleapis.com/{identity pool name}/subject/{subject)` except for some GKE identities (GKE_WORKLOAD, FREEFORM, GKE_HUB_WORKLOAD) that are still in the legacy format `serviceAccount:{identity pool name}[{subject}]` + "serviceAccountDelegationInfo": [ # Identity delegation history of an authenticated service account that makes the request. It contains information on the real authorities that try to access GCP resources by delegating on a service account. When multiple authorities are present, they are guaranteed to be sorted based on the original ordering of the identity delegation events. + { # Identity delegation history of an authenticated service account. + "principalEmail": "A String", # The email address of a Google account. . + "principalSubject": "A String", # A string representing the principal_subject associated with the identity. As compared to `principal_email`, supports principals that aren't associated with email addresses, such as third party principals. For most identities, the format will be `principal://iam.googleapis.com/{identity pool name}/subject/{subject)` except for some GKE identities (GKE_WORKLOAD, FREEFORM, GKE_HUB_WORKLOAD) that are still in the legacy format `serviceAccount:{identity pool name}[{subject}]` + }, + ], + "serviceAccountKeyName": "A String", # The name of the service account key used to create or exchange credentials for authenticating the service account making the request. This is a scheme-less URI full resource name. For example: "//iam.googleapis.com/projects/{PROJECT_ID}/serviceAccounts/{ACCOUNT}/keys/{key}" "serviceName": "A String", # This is the API service that the service account made a call to, e.g. "iam.googleapis.com" "userAgentFamily": "A String", # What kind of user agent is associated, e.g. operating system shells, embedded or stand-alone applications, etc. }, diff --git a/docs/dyn/securitycenter_v1.organizations.sources.findings.html b/docs/dyn/securitycenter_v1.organizations.sources.findings.html index 21db81997e1..ff695ebdb29 100644 --- a/docs/dyn/securitycenter_v1.organizations.sources.findings.html +++ b/docs/dyn/securitycenter_v1.organizations.sources.findings.html @@ -131,7 +131,15 @@

Method Details

"regionCode": "A String", # A CLDR. }, "methodName": "A String", # The method that the service account called, e.g. "SetIamPolicy". - "principalEmail": "A String", # Associated email, such as "foo@google.com". + "principalEmail": "A String", # Associated email, such as "foo@google.com". The email address of the authenticated user (or service account on behalf of third party principal) making the request. For third party identity callers, the `principal_subject` field is populated instead of this field. For privacy reasons, the principal email address is sometimes redacted. For more information, see [Caller identities in audit logs](https://cloud.google.com/logging/docs/audit#user-id). + "principalSubject": "A String", # A string representing the principal_subject associated with the identity. As compared to `principal_email`, supports principals that aren't associated with email addresses, such as third party principals. For most identities, the format will be `principal://iam.googleapis.com/{identity pool name}/subject/{subject)` except for some GKE identities (GKE_WORKLOAD, FREEFORM, GKE_HUB_WORKLOAD) that are still in the legacy format `serviceAccount:{identity pool name}[{subject}]` + "serviceAccountDelegationInfo": [ # Identity delegation history of an authenticated service account that makes the request. It contains information on the real authorities that try to access GCP resources by delegating on a service account. When multiple authorities are present, they are guaranteed to be sorted based on the original ordering of the identity delegation events. + { # Identity delegation history of an authenticated service account. + "principalEmail": "A String", # The email address of a Google account. . + "principalSubject": "A String", # A string representing the principal_subject associated with the identity. As compared to `principal_email`, supports principals that aren't associated with email addresses, such as third party principals. For most identities, the format will be `principal://iam.googleapis.com/{identity pool name}/subject/{subject)` except for some GKE identities (GKE_WORKLOAD, FREEFORM, GKE_HUB_WORKLOAD) that are still in the legacy format `serviceAccount:{identity pool name}[{subject}]` + }, + ], + "serviceAccountKeyName": "A String", # The name of the service account key used to create or exchange credentials for authenticating the service account making the request. This is a scheme-less URI full resource name. For example: "//iam.googleapis.com/projects/{PROJECT_ID}/serviceAccounts/{ACCOUNT}/keys/{key}" "serviceName": "A String", # This is the API service that the service account made a call to, e.g. "iam.googleapis.com" "userAgentFamily": "A String", # What kind of user agent is associated, e.g. operating system shells, embedded or stand-alone applications, etc. }, @@ -440,7 +448,15 @@

Method Details

"regionCode": "A String", # A CLDR. }, "methodName": "A String", # The method that the service account called, e.g. "SetIamPolicy". - "principalEmail": "A String", # Associated email, such as "foo@google.com". + "principalEmail": "A String", # Associated email, such as "foo@google.com". The email address of the authenticated user (or service account on behalf of third party principal) making the request. For third party identity callers, the `principal_subject` field is populated instead of this field. For privacy reasons, the principal email address is sometimes redacted. For more information, see [Caller identities in audit logs](https://cloud.google.com/logging/docs/audit#user-id). + "principalSubject": "A String", # A string representing the principal_subject associated with the identity. As compared to `principal_email`, supports principals that aren't associated with email addresses, such as third party principals. For most identities, the format will be `principal://iam.googleapis.com/{identity pool name}/subject/{subject)` except for some GKE identities (GKE_WORKLOAD, FREEFORM, GKE_HUB_WORKLOAD) that are still in the legacy format `serviceAccount:{identity pool name}[{subject}]` + "serviceAccountDelegationInfo": [ # Identity delegation history of an authenticated service account that makes the request. It contains information on the real authorities that try to access GCP resources by delegating on a service account. When multiple authorities are present, they are guaranteed to be sorted based on the original ordering of the identity delegation events. + { # Identity delegation history of an authenticated service account. + "principalEmail": "A String", # The email address of a Google account. . + "principalSubject": "A String", # A string representing the principal_subject associated with the identity. As compared to `principal_email`, supports principals that aren't associated with email addresses, such as third party principals. For most identities, the format will be `principal://iam.googleapis.com/{identity pool name}/subject/{subject)` except for some GKE identities (GKE_WORKLOAD, FREEFORM, GKE_HUB_WORKLOAD) that are still in the legacy format `serviceAccount:{identity pool name}[{subject}]` + }, + ], + "serviceAccountKeyName": "A String", # The name of the service account key used to create or exchange credentials for authenticating the service account making the request. This is a scheme-less URI full resource name. For example: "//iam.googleapis.com/projects/{PROJECT_ID}/serviceAccounts/{ACCOUNT}/keys/{key}" "serviceName": "A String", # This is the API service that the service account made a call to, e.g. "iam.googleapis.com" "userAgentFamily": "A String", # What kind of user agent is associated, e.g. operating system shells, embedded or stand-alone applications, etc. }, @@ -820,7 +836,15 @@

Method Details

"regionCode": "A String", # A CLDR. }, "methodName": "A String", # The method that the service account called, e.g. "SetIamPolicy". - "principalEmail": "A String", # Associated email, such as "foo@google.com". + "principalEmail": "A String", # Associated email, such as "foo@google.com". The email address of the authenticated user (or service account on behalf of third party principal) making the request. For third party identity callers, the `principal_subject` field is populated instead of this field. For privacy reasons, the principal email address is sometimes redacted. For more information, see [Caller identities in audit logs](https://cloud.google.com/logging/docs/audit#user-id). + "principalSubject": "A String", # A string representing the principal_subject associated with the identity. As compared to `principal_email`, supports principals that aren't associated with email addresses, such as third party principals. For most identities, the format will be `principal://iam.googleapis.com/{identity pool name}/subject/{subject)` except for some GKE identities (GKE_WORKLOAD, FREEFORM, GKE_HUB_WORKLOAD) that are still in the legacy format `serviceAccount:{identity pool name}[{subject}]` + "serviceAccountDelegationInfo": [ # Identity delegation history of an authenticated service account that makes the request. It contains information on the real authorities that try to access GCP resources by delegating on a service account. When multiple authorities are present, they are guaranteed to be sorted based on the original ordering of the identity delegation events. + { # Identity delegation history of an authenticated service account. + "principalEmail": "A String", # The email address of a Google account. . + "principalSubject": "A String", # A string representing the principal_subject associated with the identity. As compared to `principal_email`, supports principals that aren't associated with email addresses, such as third party principals. For most identities, the format will be `principal://iam.googleapis.com/{identity pool name}/subject/{subject)` except for some GKE identities (GKE_WORKLOAD, FREEFORM, GKE_HUB_WORKLOAD) that are still in the legacy format `serviceAccount:{identity pool name}[{subject}]` + }, + ], + "serviceAccountKeyName": "A String", # The name of the service account key used to create or exchange credentials for authenticating the service account making the request. This is a scheme-less URI full resource name. For example: "//iam.googleapis.com/projects/{PROJECT_ID}/serviceAccounts/{ACCOUNT}/keys/{key}" "serviceName": "A String", # This is the API service that the service account made a call to, e.g. "iam.googleapis.com" "userAgentFamily": "A String", # What kind of user agent is associated, e.g. operating system shells, embedded or stand-alone applications, etc. }, @@ -1166,7 +1190,15 @@

Method Details

"regionCode": "A String", # A CLDR. }, "methodName": "A String", # The method that the service account called, e.g. "SetIamPolicy". - "principalEmail": "A String", # Associated email, such as "foo@google.com". + "principalEmail": "A String", # Associated email, such as "foo@google.com". The email address of the authenticated user (or service account on behalf of third party principal) making the request. For third party identity callers, the `principal_subject` field is populated instead of this field. For privacy reasons, the principal email address is sometimes redacted. For more information, see [Caller identities in audit logs](https://cloud.google.com/logging/docs/audit#user-id). + "principalSubject": "A String", # A string representing the principal_subject associated with the identity. As compared to `principal_email`, supports principals that aren't associated with email addresses, such as third party principals. For most identities, the format will be `principal://iam.googleapis.com/{identity pool name}/subject/{subject)` except for some GKE identities (GKE_WORKLOAD, FREEFORM, GKE_HUB_WORKLOAD) that are still in the legacy format `serviceAccount:{identity pool name}[{subject}]` + "serviceAccountDelegationInfo": [ # Identity delegation history of an authenticated service account that makes the request. It contains information on the real authorities that try to access GCP resources by delegating on a service account. When multiple authorities are present, they are guaranteed to be sorted based on the original ordering of the identity delegation events. + { # Identity delegation history of an authenticated service account. + "principalEmail": "A String", # The email address of a Google account. . + "principalSubject": "A String", # A string representing the principal_subject associated with the identity. As compared to `principal_email`, supports principals that aren't associated with email addresses, such as third party principals. For most identities, the format will be `principal://iam.googleapis.com/{identity pool name}/subject/{subject)` except for some GKE identities (GKE_WORKLOAD, FREEFORM, GKE_HUB_WORKLOAD) that are still in the legacy format `serviceAccount:{identity pool name}[{subject}]` + }, + ], + "serviceAccountKeyName": "A String", # The name of the service account key used to create or exchange credentials for authenticating the service account making the request. This is a scheme-less URI full resource name. For example: "//iam.googleapis.com/projects/{PROJECT_ID}/serviceAccounts/{ACCOUNT}/keys/{key}" "serviceName": "A String", # This is the API service that the service account made a call to, e.g. "iam.googleapis.com" "userAgentFamily": "A String", # What kind of user agent is associated, e.g. operating system shells, embedded or stand-alone applications, etc. }, @@ -1475,7 +1507,15 @@

Method Details

"regionCode": "A String", # A CLDR. }, "methodName": "A String", # The method that the service account called, e.g. "SetIamPolicy". - "principalEmail": "A String", # Associated email, such as "foo@google.com". + "principalEmail": "A String", # Associated email, such as "foo@google.com". The email address of the authenticated user (or service account on behalf of third party principal) making the request. For third party identity callers, the `principal_subject` field is populated instead of this field. For privacy reasons, the principal email address is sometimes redacted. For more information, see [Caller identities in audit logs](https://cloud.google.com/logging/docs/audit#user-id). + "principalSubject": "A String", # A string representing the principal_subject associated with the identity. As compared to `principal_email`, supports principals that aren't associated with email addresses, such as third party principals. For most identities, the format will be `principal://iam.googleapis.com/{identity pool name}/subject/{subject)` except for some GKE identities (GKE_WORKLOAD, FREEFORM, GKE_HUB_WORKLOAD) that are still in the legacy format `serviceAccount:{identity pool name}[{subject}]` + "serviceAccountDelegationInfo": [ # Identity delegation history of an authenticated service account that makes the request. It contains information on the real authorities that try to access GCP resources by delegating on a service account. When multiple authorities are present, they are guaranteed to be sorted based on the original ordering of the identity delegation events. + { # Identity delegation history of an authenticated service account. + "principalEmail": "A String", # The email address of a Google account. . + "principalSubject": "A String", # A string representing the principal_subject associated with the identity. As compared to `principal_email`, supports principals that aren't associated with email addresses, such as third party principals. For most identities, the format will be `principal://iam.googleapis.com/{identity pool name}/subject/{subject)` except for some GKE identities (GKE_WORKLOAD, FREEFORM, GKE_HUB_WORKLOAD) that are still in the legacy format `serviceAccount:{identity pool name}[{subject}]` + }, + ], + "serviceAccountKeyName": "A String", # The name of the service account key used to create or exchange credentials for authenticating the service account making the request. This is a scheme-less URI full resource name. For example: "//iam.googleapis.com/projects/{PROJECT_ID}/serviceAccounts/{ACCOUNT}/keys/{key}" "serviceName": "A String", # This is the API service that the service account made a call to, e.g. "iam.googleapis.com" "userAgentFamily": "A String", # What kind of user agent is associated, e.g. operating system shells, embedded or stand-alone applications, etc. }, @@ -1797,7 +1837,15 @@

Method Details

"regionCode": "A String", # A CLDR. }, "methodName": "A String", # The method that the service account called, e.g. "SetIamPolicy". - "principalEmail": "A String", # Associated email, such as "foo@google.com". + "principalEmail": "A String", # Associated email, such as "foo@google.com". The email address of the authenticated user (or service account on behalf of third party principal) making the request. For third party identity callers, the `principal_subject` field is populated instead of this field. For privacy reasons, the principal email address is sometimes redacted. For more information, see [Caller identities in audit logs](https://cloud.google.com/logging/docs/audit#user-id). + "principalSubject": "A String", # A string representing the principal_subject associated with the identity. As compared to `principal_email`, supports principals that aren't associated with email addresses, such as third party principals. For most identities, the format will be `principal://iam.googleapis.com/{identity pool name}/subject/{subject)` except for some GKE identities (GKE_WORKLOAD, FREEFORM, GKE_HUB_WORKLOAD) that are still in the legacy format `serviceAccount:{identity pool name}[{subject}]` + "serviceAccountDelegationInfo": [ # Identity delegation history of an authenticated service account that makes the request. It contains information on the real authorities that try to access GCP resources by delegating on a service account. When multiple authorities are present, they are guaranteed to be sorted based on the original ordering of the identity delegation events. + { # Identity delegation history of an authenticated service account. + "principalEmail": "A String", # The email address of a Google account. . + "principalSubject": "A String", # A string representing the principal_subject associated with the identity. As compared to `principal_email`, supports principals that aren't associated with email addresses, such as third party principals. For most identities, the format will be `principal://iam.googleapis.com/{identity pool name}/subject/{subject)` except for some GKE identities (GKE_WORKLOAD, FREEFORM, GKE_HUB_WORKLOAD) that are still in the legacy format `serviceAccount:{identity pool name}[{subject}]` + }, + ], + "serviceAccountKeyName": "A String", # The name of the service account key used to create or exchange credentials for authenticating the service account making the request. This is a scheme-less URI full resource name. For example: "//iam.googleapis.com/projects/{PROJECT_ID}/serviceAccounts/{ACCOUNT}/keys/{key}" "serviceName": "A String", # This is the API service that the service account made a call to, e.g. "iam.googleapis.com" "userAgentFamily": "A String", # What kind of user agent is associated, e.g. operating system shells, embedded or stand-alone applications, etc. }, @@ -2120,7 +2168,15 @@

Method Details

"regionCode": "A String", # A CLDR. }, "methodName": "A String", # The method that the service account called, e.g. "SetIamPolicy". - "principalEmail": "A String", # Associated email, such as "foo@google.com". + "principalEmail": "A String", # Associated email, such as "foo@google.com". The email address of the authenticated user (or service account on behalf of third party principal) making the request. For third party identity callers, the `principal_subject` field is populated instead of this field. For privacy reasons, the principal email address is sometimes redacted. For more information, see [Caller identities in audit logs](https://cloud.google.com/logging/docs/audit#user-id). + "principalSubject": "A String", # A string representing the principal_subject associated with the identity. As compared to `principal_email`, supports principals that aren't associated with email addresses, such as third party principals. For most identities, the format will be `principal://iam.googleapis.com/{identity pool name}/subject/{subject)` except for some GKE identities (GKE_WORKLOAD, FREEFORM, GKE_HUB_WORKLOAD) that are still in the legacy format `serviceAccount:{identity pool name}[{subject}]` + "serviceAccountDelegationInfo": [ # Identity delegation history of an authenticated service account that makes the request. It contains information on the real authorities that try to access GCP resources by delegating on a service account. When multiple authorities are present, they are guaranteed to be sorted based on the original ordering of the identity delegation events. + { # Identity delegation history of an authenticated service account. + "principalEmail": "A String", # The email address of a Google account. . + "principalSubject": "A String", # A string representing the principal_subject associated with the identity. As compared to `principal_email`, supports principals that aren't associated with email addresses, such as third party principals. For most identities, the format will be `principal://iam.googleapis.com/{identity pool name}/subject/{subject)` except for some GKE identities (GKE_WORKLOAD, FREEFORM, GKE_HUB_WORKLOAD) that are still in the legacy format `serviceAccount:{identity pool name}[{subject}]` + }, + ], + "serviceAccountKeyName": "A String", # The name of the service account key used to create or exchange credentials for authenticating the service account making the request. This is a scheme-less URI full resource name. For example: "//iam.googleapis.com/projects/{PROJECT_ID}/serviceAccounts/{ACCOUNT}/keys/{key}" "serviceName": "A String", # This is the API service that the service account made a call to, e.g. "iam.googleapis.com" "userAgentFamily": "A String", # What kind of user agent is associated, e.g. operating system shells, embedded or stand-alone applications, etc. }, diff --git a/docs/dyn/securitycenter_v1.projects.sources.findings.html b/docs/dyn/securitycenter_v1.projects.sources.findings.html index 7768d169c06..851ddbcd504 100644 --- a/docs/dyn/securitycenter_v1.projects.sources.findings.html +++ b/docs/dyn/securitycenter_v1.projects.sources.findings.html @@ -198,7 +198,15 @@

Method Details

"regionCode": "A String", # A CLDR. }, "methodName": "A String", # The method that the service account called, e.g. "SetIamPolicy". - "principalEmail": "A String", # Associated email, such as "foo@google.com". + "principalEmail": "A String", # Associated email, such as "foo@google.com". The email address of the authenticated user (or service account on behalf of third party principal) making the request. For third party identity callers, the `principal_subject` field is populated instead of this field. For privacy reasons, the principal email address is sometimes redacted. For more information, see [Caller identities in audit logs](https://cloud.google.com/logging/docs/audit#user-id). + "principalSubject": "A String", # A string representing the principal_subject associated with the identity. As compared to `principal_email`, supports principals that aren't associated with email addresses, such as third party principals. For most identities, the format will be `principal://iam.googleapis.com/{identity pool name}/subject/{subject)` except for some GKE identities (GKE_WORKLOAD, FREEFORM, GKE_HUB_WORKLOAD) that are still in the legacy format `serviceAccount:{identity pool name}[{subject}]` + "serviceAccountDelegationInfo": [ # Identity delegation history of an authenticated service account that makes the request. It contains information on the real authorities that try to access GCP resources by delegating on a service account. When multiple authorities are present, they are guaranteed to be sorted based on the original ordering of the identity delegation events. + { # Identity delegation history of an authenticated service account. + "principalEmail": "A String", # The email address of a Google account. . + "principalSubject": "A String", # A string representing the principal_subject associated with the identity. As compared to `principal_email`, supports principals that aren't associated with email addresses, such as third party principals. For most identities, the format will be `principal://iam.googleapis.com/{identity pool name}/subject/{subject)` except for some GKE identities (GKE_WORKLOAD, FREEFORM, GKE_HUB_WORKLOAD) that are still in the legacy format `serviceAccount:{identity pool name}[{subject}]` + }, + ], + "serviceAccountKeyName": "A String", # The name of the service account key used to create or exchange credentials for authenticating the service account making the request. This is a scheme-less URI full resource name. For example: "//iam.googleapis.com/projects/{PROJECT_ID}/serviceAccounts/{ACCOUNT}/keys/{key}" "serviceName": "A String", # This is the API service that the service account made a call to, e.g. "iam.googleapis.com" "userAgentFamily": "A String", # What kind of user agent is associated, e.g. operating system shells, embedded or stand-alone applications, etc. }, @@ -544,7 +552,15 @@

Method Details

"regionCode": "A String", # A CLDR. }, "methodName": "A String", # The method that the service account called, e.g. "SetIamPolicy". - "principalEmail": "A String", # Associated email, such as "foo@google.com". + "principalEmail": "A String", # Associated email, such as "foo@google.com". The email address of the authenticated user (or service account on behalf of third party principal) making the request. For third party identity callers, the `principal_subject` field is populated instead of this field. For privacy reasons, the principal email address is sometimes redacted. For more information, see [Caller identities in audit logs](https://cloud.google.com/logging/docs/audit#user-id). + "principalSubject": "A String", # A string representing the principal_subject associated with the identity. As compared to `principal_email`, supports principals that aren't associated with email addresses, such as third party principals. For most identities, the format will be `principal://iam.googleapis.com/{identity pool name}/subject/{subject)` except for some GKE identities (GKE_WORKLOAD, FREEFORM, GKE_HUB_WORKLOAD) that are still in the legacy format `serviceAccount:{identity pool name}[{subject}]` + "serviceAccountDelegationInfo": [ # Identity delegation history of an authenticated service account that makes the request. It contains information on the real authorities that try to access GCP resources by delegating on a service account. When multiple authorities are present, they are guaranteed to be sorted based on the original ordering of the identity delegation events. + { # Identity delegation history of an authenticated service account. + "principalEmail": "A String", # The email address of a Google account. . + "principalSubject": "A String", # A string representing the principal_subject associated with the identity. As compared to `principal_email`, supports principals that aren't associated with email addresses, such as third party principals. For most identities, the format will be `principal://iam.googleapis.com/{identity pool name}/subject/{subject)` except for some GKE identities (GKE_WORKLOAD, FREEFORM, GKE_HUB_WORKLOAD) that are still in the legacy format `serviceAccount:{identity pool name}[{subject}]` + }, + ], + "serviceAccountKeyName": "A String", # The name of the service account key used to create or exchange credentials for authenticating the service account making the request. This is a scheme-less URI full resource name. For example: "//iam.googleapis.com/projects/{PROJECT_ID}/serviceAccounts/{ACCOUNT}/keys/{key}" "serviceName": "A String", # This is the API service that the service account made a call to, e.g. "iam.googleapis.com" "userAgentFamily": "A String", # What kind of user agent is associated, e.g. operating system shells, embedded or stand-alone applications, etc. }, @@ -853,7 +869,15 @@

Method Details

"regionCode": "A String", # A CLDR. }, "methodName": "A String", # The method that the service account called, e.g. "SetIamPolicy". - "principalEmail": "A String", # Associated email, such as "foo@google.com". + "principalEmail": "A String", # Associated email, such as "foo@google.com". The email address of the authenticated user (or service account on behalf of third party principal) making the request. For third party identity callers, the `principal_subject` field is populated instead of this field. For privacy reasons, the principal email address is sometimes redacted. For more information, see [Caller identities in audit logs](https://cloud.google.com/logging/docs/audit#user-id). + "principalSubject": "A String", # A string representing the principal_subject associated with the identity. As compared to `principal_email`, supports principals that aren't associated with email addresses, such as third party principals. For most identities, the format will be `principal://iam.googleapis.com/{identity pool name}/subject/{subject)` except for some GKE identities (GKE_WORKLOAD, FREEFORM, GKE_HUB_WORKLOAD) that are still in the legacy format `serviceAccount:{identity pool name}[{subject}]` + "serviceAccountDelegationInfo": [ # Identity delegation history of an authenticated service account that makes the request. It contains information on the real authorities that try to access GCP resources by delegating on a service account. When multiple authorities are present, they are guaranteed to be sorted based on the original ordering of the identity delegation events. + { # Identity delegation history of an authenticated service account. + "principalEmail": "A String", # The email address of a Google account. . + "principalSubject": "A String", # A string representing the principal_subject associated with the identity. As compared to `principal_email`, supports principals that aren't associated with email addresses, such as third party principals. For most identities, the format will be `principal://iam.googleapis.com/{identity pool name}/subject/{subject)` except for some GKE identities (GKE_WORKLOAD, FREEFORM, GKE_HUB_WORKLOAD) that are still in the legacy format `serviceAccount:{identity pool name}[{subject}]` + }, + ], + "serviceAccountKeyName": "A String", # The name of the service account key used to create or exchange credentials for authenticating the service account making the request. This is a scheme-less URI full resource name. For example: "//iam.googleapis.com/projects/{PROJECT_ID}/serviceAccounts/{ACCOUNT}/keys/{key}" "serviceName": "A String", # This is the API service that the service account made a call to, e.g. "iam.googleapis.com" "userAgentFamily": "A String", # What kind of user agent is associated, e.g. operating system shells, embedded or stand-alone applications, etc. }, @@ -1175,7 +1199,15 @@

Method Details

"regionCode": "A String", # A CLDR. }, "methodName": "A String", # The method that the service account called, e.g. "SetIamPolicy". - "principalEmail": "A String", # Associated email, such as "foo@google.com". + "principalEmail": "A String", # Associated email, such as "foo@google.com". The email address of the authenticated user (or service account on behalf of third party principal) making the request. For third party identity callers, the `principal_subject` field is populated instead of this field. For privacy reasons, the principal email address is sometimes redacted. For more information, see [Caller identities in audit logs](https://cloud.google.com/logging/docs/audit#user-id). + "principalSubject": "A String", # A string representing the principal_subject associated with the identity. As compared to `principal_email`, supports principals that aren't associated with email addresses, such as third party principals. For most identities, the format will be `principal://iam.googleapis.com/{identity pool name}/subject/{subject)` except for some GKE identities (GKE_WORKLOAD, FREEFORM, GKE_HUB_WORKLOAD) that are still in the legacy format `serviceAccount:{identity pool name}[{subject}]` + "serviceAccountDelegationInfo": [ # Identity delegation history of an authenticated service account that makes the request. It contains information on the real authorities that try to access GCP resources by delegating on a service account. When multiple authorities are present, they are guaranteed to be sorted based on the original ordering of the identity delegation events. + { # Identity delegation history of an authenticated service account. + "principalEmail": "A String", # The email address of a Google account. . + "principalSubject": "A String", # A string representing the principal_subject associated with the identity. As compared to `principal_email`, supports principals that aren't associated with email addresses, such as third party principals. For most identities, the format will be `principal://iam.googleapis.com/{identity pool name}/subject/{subject)` except for some GKE identities (GKE_WORKLOAD, FREEFORM, GKE_HUB_WORKLOAD) that are still in the legacy format `serviceAccount:{identity pool name}[{subject}]` + }, + ], + "serviceAccountKeyName": "A String", # The name of the service account key used to create or exchange credentials for authenticating the service account making the request. This is a scheme-less URI full resource name. For example: "//iam.googleapis.com/projects/{PROJECT_ID}/serviceAccounts/{ACCOUNT}/keys/{key}" "serviceName": "A String", # This is the API service that the service account made a call to, e.g. "iam.googleapis.com" "userAgentFamily": "A String", # What kind of user agent is associated, e.g. operating system shells, embedded or stand-alone applications, etc. }, @@ -1498,7 +1530,15 @@

Method Details

"regionCode": "A String", # A CLDR. }, "methodName": "A String", # The method that the service account called, e.g. "SetIamPolicy". - "principalEmail": "A String", # Associated email, such as "foo@google.com". + "principalEmail": "A String", # Associated email, such as "foo@google.com". The email address of the authenticated user (or service account on behalf of third party principal) making the request. For third party identity callers, the `principal_subject` field is populated instead of this field. For privacy reasons, the principal email address is sometimes redacted. For more information, see [Caller identities in audit logs](https://cloud.google.com/logging/docs/audit#user-id). + "principalSubject": "A String", # A string representing the principal_subject associated with the identity. As compared to `principal_email`, supports principals that aren't associated with email addresses, such as third party principals. For most identities, the format will be `principal://iam.googleapis.com/{identity pool name}/subject/{subject)` except for some GKE identities (GKE_WORKLOAD, FREEFORM, GKE_HUB_WORKLOAD) that are still in the legacy format `serviceAccount:{identity pool name}[{subject}]` + "serviceAccountDelegationInfo": [ # Identity delegation history of an authenticated service account that makes the request. It contains information on the real authorities that try to access GCP resources by delegating on a service account. When multiple authorities are present, they are guaranteed to be sorted based on the original ordering of the identity delegation events. + { # Identity delegation history of an authenticated service account. + "principalEmail": "A String", # The email address of a Google account. . + "principalSubject": "A String", # A string representing the principal_subject associated with the identity. As compared to `principal_email`, supports principals that aren't associated with email addresses, such as third party principals. For most identities, the format will be `principal://iam.googleapis.com/{identity pool name}/subject/{subject)` except for some GKE identities (GKE_WORKLOAD, FREEFORM, GKE_HUB_WORKLOAD) that are still in the legacy format `serviceAccount:{identity pool name}[{subject}]` + }, + ], + "serviceAccountKeyName": "A String", # The name of the service account key used to create or exchange credentials for authenticating the service account making the request. This is a scheme-less URI full resource name. For example: "//iam.googleapis.com/projects/{PROJECT_ID}/serviceAccounts/{ACCOUNT}/keys/{key}" "serviceName": "A String", # This is the API service that the service account made a call to, e.g. "iam.googleapis.com" "userAgentFamily": "A String", # What kind of user agent is associated, e.g. operating system shells, embedded or stand-alone applications, etc. }, diff --git a/docs/dyn/servicedirectory_v1beta1.projects.locations.html b/docs/dyn/servicedirectory_v1beta1.projects.locations.html index 003a0a7a9ac..9733151ce89 100644 --- a/docs/dyn/servicedirectory_v1beta1.projects.locations.html +++ b/docs/dyn/servicedirectory_v1beta1.projects.locations.html @@ -79,6 +79,11 @@

Instance Methods

Returns the namespaces Resource.

+

+ registrationPolicies() +

+

Returns the registrationPolicies Resource.

+

close()

Close httplib2 connections.

diff --git a/docs/dyn/servicedirectory_v1beta1.projects.locations.namespaces.html b/docs/dyn/servicedirectory_v1beta1.projects.locations.namespaces.html index 5359167d8ca..89f7faa6838 100644 --- a/docs/dyn/servicedirectory_v1beta1.projects.locations.namespaces.html +++ b/docs/dyn/servicedirectory_v1beta1.projects.locations.namespaces.html @@ -98,7 +98,7 @@

Instance Methods

Gets a namespace.

getIamPolicy(resource, body=None, x__xgafv=None)

-

Gets the IAM Policy for a resource (namespace or service only).

+

Gets the IAM Policy for a resource

list(parent, filter=None, orderBy=None, pageSize=None, pageToken=None, x__xgafv=None)

Lists all namespaces.

@@ -110,7 +110,7 @@

Instance Methods

Updates a namespace.

setIamPolicy(resource, body=None, x__xgafv=None)

-

Sets the IAM Policy for a resource (namespace or service only).

+

Sets the IAM Policy for a resource

testIamPermissions(resource, body=None, x__xgafv=None)

Tests IAM permissions for a resource (namespace, service or service workload only).

@@ -201,7 +201,7 @@

Method Details

getIamPolicy(resource, body=None, x__xgafv=None) -
Gets the IAM Policy for a resource (namespace or service only).
+  
Gets the IAM Policy for a resource
 
 Args:
   resource: string, REQUIRED: The resource for which the policy is being requested. See [Resource names](https://cloud.google.com/apis/design/resource_names) for the appropriate value for this field. (required)
@@ -328,7 +328,7 @@ 

Method Details

setIamPolicy(resource, body=None, x__xgafv=None) -
Sets the IAM Policy for a resource (namespace or service only).
+  
Sets the IAM Policy for a resource
 
 Args:
   resource: string, REQUIRED: The resource for which the policy is being specified. See [Resource names](https://cloud.google.com/apis/design/resource_names) for the appropriate value for this field. (required)
diff --git a/docs/dyn/servicedirectory_v1beta1.projects.locations.namespaces.serviceWorkloads.html b/docs/dyn/servicedirectory_v1beta1.projects.locations.namespaces.serviceWorkloads.html
index 280ee3214e5..27140683027 100644
--- a/docs/dyn/servicedirectory_v1beta1.projects.locations.namespaces.serviceWorkloads.html
+++ b/docs/dyn/servicedirectory_v1beta1.projects.locations.namespaces.serviceWorkloads.html
@@ -79,10 +79,10 @@ 

Instance Methods

Close httplib2 connections.

getIamPolicy(resource, body=None, x__xgafv=None)

-

Gets the IAM Policy for a resource (namespace or service only).

+

Gets the IAM Policy for a resource

setIamPolicy(resource, body=None, x__xgafv=None)

-

Sets the IAM Policy for a resource (namespace or service only).

+

Sets the IAM Policy for a resource

testIamPermissions(resource, body=None, x__xgafv=None)

Tests IAM permissions for a resource (namespace, service or service workload only).

@@ -94,7 +94,7 @@

Method Details

getIamPolicy(resource, body=None, x__xgafv=None) -
Gets the IAM Policy for a resource (namespace or service only).
+  
Gets the IAM Policy for a resource
 
 Args:
   resource: string, REQUIRED: The resource for which the policy is being requested. See [Resource names](https://cloud.google.com/apis/design/resource_names) for the appropriate value for this field. (required)
@@ -137,7 +137,7 @@ 

Method Details

setIamPolicy(resource, body=None, x__xgafv=None) -
Sets the IAM Policy for a resource (namespace or service only).
+  
Sets the IAM Policy for a resource
 
 Args:
   resource: string, REQUIRED: The resource for which the policy is being specified. See [Resource names](https://cloud.google.com/apis/design/resource_names) for the appropriate value for this field. (required)
diff --git a/docs/dyn/servicedirectory_v1beta1.projects.locations.namespaces.services.html b/docs/dyn/servicedirectory_v1beta1.projects.locations.namespaces.services.html
index 1ef86ab7c36..63d253618ea 100644
--- a/docs/dyn/servicedirectory_v1beta1.projects.locations.namespaces.services.html
+++ b/docs/dyn/servicedirectory_v1beta1.projects.locations.namespaces.services.html
@@ -93,7 +93,7 @@ 

Instance Methods

Gets a service.

getIamPolicy(resource, body=None, x__xgafv=None)

-

Gets the IAM Policy for a resource (namespace or service only).

+

Gets the IAM Policy for a resource

list(parent, filter=None, orderBy=None, pageSize=None, pageToken=None, x__xgafv=None)

Lists all services belonging to a namespace.

@@ -108,7 +108,7 @@

Instance Methods

Returns a service and its associated endpoints. Resolving a service is not considered an active developer method.

setIamPolicy(resource, body=None, x__xgafv=None)

-

Sets the IAM Policy for a resource (namespace or service only).

+

Sets the IAM Policy for a resource

testIamPermissions(resource, body=None, x__xgafv=None)

Tests IAM permissions for a resource (namespace, service or service workload only).

@@ -238,7 +238,7 @@

Method Details

getIamPolicy(resource, body=None, x__xgafv=None) -
Gets the IAM Policy for a resource (namespace or service only).
+  
Gets the IAM Policy for a resource
 
 Args:
   resource: string, REQUIRED: The resource for which the policy is being requested. See [Resource names](https://cloud.google.com/apis/design/resource_names) for the appropriate value for this field. (required)
@@ -451,7 +451,7 @@ 

Method Details

setIamPolicy(resource, body=None, x__xgafv=None) -
Sets the IAM Policy for a resource (namespace or service only).
+  
Sets the IAM Policy for a resource
 
 Args:
   resource: string, REQUIRED: The resource for which the policy is being specified. See [Resource names](https://cloud.google.com/apis/design/resource_names) for the appropriate value for this field. (required)
diff --git a/docs/dyn/servicedirectory_v1beta1.projects.locations.registrationPolicies.html b/docs/dyn/servicedirectory_v1beta1.projects.locations.registrationPolicies.html
new file mode 100644
index 00000000000..af7da11957b
--- /dev/null
+++ b/docs/dyn/servicedirectory_v1beta1.projects.locations.registrationPolicies.html
@@ -0,0 +1,226 @@
+
+
+
+

Service Directory API . projects . locations . registrationPolicies

+

Instance Methods

+

+ close()

+

Close httplib2 connections.

+

+ getIamPolicy(resource, body=None, x__xgafv=None)

+

Gets the IAM Policy for a resource

+

+ setIamPolicy(resource, body=None, x__xgafv=None)

+

Sets the IAM Policy for a resource

+

+ testIamPermissions(resource, body=None, x__xgafv=None)

+

Tests IAM permissions for a resource (namespace, service or service workload only).

+

Method Details

+
+ close() +
Close httplib2 connections.
+
+ +
+ getIamPolicy(resource, body=None, x__xgafv=None) +
Gets the IAM Policy for a resource
+
+Args:
+  resource: string, REQUIRED: The resource for which the policy is being requested. See [Resource names](https://cloud.google.com/apis/design/resource_names) for the appropriate value for this field. (required)
+  body: object, The request body.
+    The object takes the form of:
+
+{ # Request message for `GetIamPolicy` method.
+  "options": { # Encapsulates settings provided to GetIamPolicy. # OPTIONAL: A `GetPolicyOptions` object for specifying options to `GetIamPolicy`.
+    "requestedPolicyVersion": 42, # Optional. The maximum policy version that will be used to format the policy. Valid values are 0, 1, and 3. Requests specifying an invalid value will be rejected. Requests for policies with any conditional role bindings must specify version 3. Policies with no conditional role bindings may specify any valid value or leave the field unset. The policy in the response might use the policy version that you specified, or it might use a lower policy version. For example, if you specify version 3, but the policy has no conditional role bindings, the response uses version 1. To learn which resources support conditions in their IAM policies, see the [IAM documentation](https://cloud.google.com/iam/help/conditions/resource-policies).
+  },
+}
+
+  x__xgafv: string, V1 error format.
+    Allowed values
+      1 - v1 error format
+      2 - v2 error format
+
+Returns:
+  An object of the form:
+
+    { # An Identity and Access Management (IAM) policy, which specifies access controls for Google Cloud resources. A `Policy` is a collection of `bindings`. A `binding` binds one or more `members`, or principals, to a single `role`. Principals can be user accounts, service accounts, Google groups, and domains (such as G Suite). A `role` is a named list of permissions; each `role` can be an IAM predefined role or a user-created custom role. For some types of Google Cloud resources, a `binding` can also specify a `condition`, which is a logical expression that allows access to a resource only if the expression evaluates to `true`. A condition can add constraints based on attributes of the request, the resource, or both. To learn which resources support conditions in their IAM policies, see the [IAM documentation](https://cloud.google.com/iam/help/conditions/resource-policies). **JSON example:** { "bindings": [ { "role": "roles/resourcemanager.organizationAdmin", "members": [ "user:mike@example.com", "group:admins@example.com", "domain:google.com", "serviceAccount:my-project-id@appspot.gserviceaccount.com" ] }, { "role": "roles/resourcemanager.organizationViewer", "members": [ "user:eve@example.com" ], "condition": { "title": "expirable access", "description": "Does not grant access after Sep 2020", "expression": "request.time < timestamp('2020-10-01T00:00:00.000Z')", } } ], "etag": "BwWWja0YfJA=", "version": 3 } **YAML example:** bindings: - members: - user:mike@example.com - group:admins@example.com - domain:google.com - serviceAccount:my-project-id@appspot.gserviceaccount.com role: roles/resourcemanager.organizationAdmin - members: - user:eve@example.com role: roles/resourcemanager.organizationViewer condition: title: expirable access description: Does not grant access after Sep 2020 expression: request.time < timestamp('2020-10-01T00:00:00.000Z') etag: BwWWja0YfJA= version: 3 For a description of IAM and its features, see the [IAM documentation](https://cloud.google.com/iam/docs/).
+  "bindings": [ # Associates a list of `members`, or principals, with a `role`. Optionally, may specify a `condition` that determines how and when the `bindings` are applied. Each of the `bindings` must contain at least one principal. The `bindings` in a `Policy` can refer to up to 1,500 principals; up to 250 of these principals can be Google groups. Each occurrence of a principal counts towards these limits. For example, if the `bindings` grant 50 different roles to `user:alice@example.com`, and not to any other principal, then you can add another 1,450 principals to the `bindings` in the `Policy`.
+    { # Associates `members`, or principals, with a `role`.
+      "condition": { # Represents a textual expression in the Common Expression Language (CEL) syntax. CEL is a C-like expression language. The syntax and semantics of CEL are documented at https://github.com/google/cel-spec. Example (Comparison): title: "Summary size limit" description: "Determines if a summary is less than 100 chars" expression: "document.summary.size() < 100" Example (Equality): title: "Requestor is owner" description: "Determines if requestor is the document owner" expression: "document.owner == request.auth.claims.email" Example (Logic): title: "Public documents" description: "Determine whether the document should be publicly visible" expression: "document.type != 'private' && document.type != 'internal'" Example (Data Manipulation): title: "Notification string" description: "Create a notification string with a timestamp." expression: "'New message received at ' + string(document.create_time)" The exact variables and functions that may be referenced within an expression are determined by the service that evaluates it. See the service documentation for additional information. # The condition that is associated with this binding. If the condition evaluates to `true`, then this binding applies to the current request. If the condition evaluates to `false`, then this binding does not apply to the current request. However, a different role binding might grant the same role to one or more of the principals in this binding. To learn which resources support conditions in their IAM policies, see the [IAM documentation](https://cloud.google.com/iam/help/conditions/resource-policies).
+        "description": "A String", # Optional. Description of the expression. This is a longer text which describes the expression, e.g. when hovered over it in a UI.
+        "expression": "A String", # Textual representation of an expression in Common Expression Language syntax.
+        "location": "A String", # Optional. String indicating the location of the expression for error reporting, e.g. a file name and a position in the file.
+        "title": "A String", # Optional. Title for the expression, i.e. a short string describing its purpose. This can be used e.g. in UIs which allow to enter the expression.
+      },
+      "members": [ # Specifies the principals requesting access for a Google Cloud resource. `members` can have the following values: * `allUsers`: A special identifier that represents anyone who is on the internet; with or without a Google account. * `allAuthenticatedUsers`: A special identifier that represents anyone who is authenticated with a Google account or a service account. * `user:{emailid}`: An email address that represents a specific Google account. For example, `alice@example.com` . * `serviceAccount:{emailid}`: An email address that represents a service account. For example, `my-other-app@appspot.gserviceaccount.com`. * `group:{emailid}`: An email address that represents a Google group. For example, `admins@example.com`. * `deleted:user:{emailid}?uid={uniqueid}`: An email address (plus unique identifier) representing a user that has been recently deleted. For example, `alice@example.com?uid=123456789012345678901`. If the user is recovered, this value reverts to `user:{emailid}` and the recovered user retains the role in the binding. * `deleted:serviceAccount:{emailid}?uid={uniqueid}`: An email address (plus unique identifier) representing a service account that has been recently deleted. For example, `my-other-app@appspot.gserviceaccount.com?uid=123456789012345678901`. If the service account is undeleted, this value reverts to `serviceAccount:{emailid}` and the undeleted service account retains the role in the binding. * `deleted:group:{emailid}?uid={uniqueid}`: An email address (plus unique identifier) representing a Google group that has been recently deleted. For example, `admins@example.com?uid=123456789012345678901`. If the group is recovered, this value reverts to `group:{emailid}` and the recovered group retains the role in the binding. * `domain:{domain}`: The G Suite domain (primary) that represents all the users of that domain. For example, `google.com` or `example.com`.
+        "A String",
+      ],
+      "role": "A String", # Role that is assigned to the list of `members`, or principals. For example, `roles/viewer`, `roles/editor`, or `roles/owner`.
+    },
+  ],
+  "etag": "A String", # `etag` is used for optimistic concurrency control as a way to help prevent simultaneous updates of a policy from overwriting each other. It is strongly suggested that systems make use of the `etag` in the read-modify-write cycle to perform policy updates in order to avoid race conditions: An `etag` is returned in the response to `getIamPolicy`, and systems are expected to put that etag in the request to `setIamPolicy` to ensure that their change will be applied to the same version of the policy. **Important:** If you use IAM Conditions, you must include the `etag` field whenever you call `setIamPolicy`. If you omit this field, then IAM allows you to overwrite a version `3` policy with a version `1` policy, and all of the conditions in the version `3` policy are lost.
+  "version": 42, # Specifies the format of the policy. Valid values are `0`, `1`, and `3`. Requests that specify an invalid value are rejected. Any operation that affects conditional role bindings must specify version `3`. This requirement applies to the following operations: * Getting a policy that includes a conditional role binding * Adding a conditional role binding to a policy * Changing a conditional role binding in a policy * Removing any role binding, with or without a condition, from a policy that includes conditions **Important:** If you use IAM Conditions, you must include the `etag` field whenever you call `setIamPolicy`. If you omit this field, then IAM allows you to overwrite a version `3` policy with a version `1` policy, and all of the conditions in the version `3` policy are lost. If a policy does not include any conditions, operations on that policy may specify any valid version or leave the field unset. To learn which resources support conditions in their IAM policies, see the [IAM documentation](https://cloud.google.com/iam/help/conditions/resource-policies).
+}
+
+ +
+ setIamPolicy(resource, body=None, x__xgafv=None) +
Sets the IAM Policy for a resource
+
+Args:
+  resource: string, REQUIRED: The resource for which the policy is being specified. See [Resource names](https://cloud.google.com/apis/design/resource_names) for the appropriate value for this field. (required)
+  body: object, The request body.
+    The object takes the form of:
+
+{ # Request message for `SetIamPolicy` method.
+  "policy": { # An Identity and Access Management (IAM) policy, which specifies access controls for Google Cloud resources. A `Policy` is a collection of `bindings`. A `binding` binds one or more `members`, or principals, to a single `role`. Principals can be user accounts, service accounts, Google groups, and domains (such as G Suite). A `role` is a named list of permissions; each `role` can be an IAM predefined role or a user-created custom role. For some types of Google Cloud resources, a `binding` can also specify a `condition`, which is a logical expression that allows access to a resource only if the expression evaluates to `true`. A condition can add constraints based on attributes of the request, the resource, or both. To learn which resources support conditions in their IAM policies, see the [IAM documentation](https://cloud.google.com/iam/help/conditions/resource-policies). **JSON example:** { "bindings": [ { "role": "roles/resourcemanager.organizationAdmin", "members": [ "user:mike@example.com", "group:admins@example.com", "domain:google.com", "serviceAccount:my-project-id@appspot.gserviceaccount.com" ] }, { "role": "roles/resourcemanager.organizationViewer", "members": [ "user:eve@example.com" ], "condition": { "title": "expirable access", "description": "Does not grant access after Sep 2020", "expression": "request.time < timestamp('2020-10-01T00:00:00.000Z')", } } ], "etag": "BwWWja0YfJA=", "version": 3 } **YAML example:** bindings: - members: - user:mike@example.com - group:admins@example.com - domain:google.com - serviceAccount:my-project-id@appspot.gserviceaccount.com role: roles/resourcemanager.organizationAdmin - members: - user:eve@example.com role: roles/resourcemanager.organizationViewer condition: title: expirable access description: Does not grant access after Sep 2020 expression: request.time < timestamp('2020-10-01T00:00:00.000Z') etag: BwWWja0YfJA= version: 3 For a description of IAM and its features, see the [IAM documentation](https://cloud.google.com/iam/docs/). # REQUIRED: The complete policy to be applied to the `resource`. The size of the policy is limited to a few 10s of KB. An empty policy is a valid policy but certain Google Cloud services (such as Projects) might reject them.
+    "bindings": [ # Associates a list of `members`, or principals, with a `role`. Optionally, may specify a `condition` that determines how and when the `bindings` are applied. Each of the `bindings` must contain at least one principal. The `bindings` in a `Policy` can refer to up to 1,500 principals; up to 250 of these principals can be Google groups. Each occurrence of a principal counts towards these limits. For example, if the `bindings` grant 50 different roles to `user:alice@example.com`, and not to any other principal, then you can add another 1,450 principals to the `bindings` in the `Policy`.
+      { # Associates `members`, or principals, with a `role`.
+        "condition": { # Represents a textual expression in the Common Expression Language (CEL) syntax. CEL is a C-like expression language. The syntax and semantics of CEL are documented at https://github.com/google/cel-spec. Example (Comparison): title: "Summary size limit" description: "Determines if a summary is less than 100 chars" expression: "document.summary.size() < 100" Example (Equality): title: "Requestor is owner" description: "Determines if requestor is the document owner" expression: "document.owner == request.auth.claims.email" Example (Logic): title: "Public documents" description: "Determine whether the document should be publicly visible" expression: "document.type != 'private' && document.type != 'internal'" Example (Data Manipulation): title: "Notification string" description: "Create a notification string with a timestamp." expression: "'New message received at ' + string(document.create_time)" The exact variables and functions that may be referenced within an expression are determined by the service that evaluates it. See the service documentation for additional information. # The condition that is associated with this binding. If the condition evaluates to `true`, then this binding applies to the current request. If the condition evaluates to `false`, then this binding does not apply to the current request. However, a different role binding might grant the same role to one or more of the principals in this binding. To learn which resources support conditions in their IAM policies, see the [IAM documentation](https://cloud.google.com/iam/help/conditions/resource-policies).
+          "description": "A String", # Optional. Description of the expression. This is a longer text which describes the expression, e.g. when hovered over it in a UI.
+          "expression": "A String", # Textual representation of an expression in Common Expression Language syntax.
+          "location": "A String", # Optional. String indicating the location of the expression for error reporting, e.g. a file name and a position in the file.
+          "title": "A String", # Optional. Title for the expression, i.e. a short string describing its purpose. This can be used e.g. in UIs which allow to enter the expression.
+        },
+        "members": [ # Specifies the principals requesting access for a Google Cloud resource. `members` can have the following values: * `allUsers`: A special identifier that represents anyone who is on the internet; with or without a Google account. * `allAuthenticatedUsers`: A special identifier that represents anyone who is authenticated with a Google account or a service account. * `user:{emailid}`: An email address that represents a specific Google account. For example, `alice@example.com` . * `serviceAccount:{emailid}`: An email address that represents a service account. For example, `my-other-app@appspot.gserviceaccount.com`. * `group:{emailid}`: An email address that represents a Google group. For example, `admins@example.com`. * `deleted:user:{emailid}?uid={uniqueid}`: An email address (plus unique identifier) representing a user that has been recently deleted. For example, `alice@example.com?uid=123456789012345678901`. If the user is recovered, this value reverts to `user:{emailid}` and the recovered user retains the role in the binding. * `deleted:serviceAccount:{emailid}?uid={uniqueid}`: An email address (plus unique identifier) representing a service account that has been recently deleted. For example, `my-other-app@appspot.gserviceaccount.com?uid=123456789012345678901`. If the service account is undeleted, this value reverts to `serviceAccount:{emailid}` and the undeleted service account retains the role in the binding. * `deleted:group:{emailid}?uid={uniqueid}`: An email address (plus unique identifier) representing a Google group that has been recently deleted. For example, `admins@example.com?uid=123456789012345678901`. If the group is recovered, this value reverts to `group:{emailid}` and the recovered group retains the role in the binding. * `domain:{domain}`: The G Suite domain (primary) that represents all the users of that domain. For example, `google.com` or `example.com`.
+          "A String",
+        ],
+        "role": "A String", # Role that is assigned to the list of `members`, or principals. For example, `roles/viewer`, `roles/editor`, or `roles/owner`.
+      },
+    ],
+    "etag": "A String", # `etag` is used for optimistic concurrency control as a way to help prevent simultaneous updates of a policy from overwriting each other. It is strongly suggested that systems make use of the `etag` in the read-modify-write cycle to perform policy updates in order to avoid race conditions: An `etag` is returned in the response to `getIamPolicy`, and systems are expected to put that etag in the request to `setIamPolicy` to ensure that their change will be applied to the same version of the policy. **Important:** If you use IAM Conditions, you must include the `etag` field whenever you call `setIamPolicy`. If you omit this field, then IAM allows you to overwrite a version `3` policy with a version `1` policy, and all of the conditions in the version `3` policy are lost.
+    "version": 42, # Specifies the format of the policy. Valid values are `0`, `1`, and `3`. Requests that specify an invalid value are rejected. Any operation that affects conditional role bindings must specify version `3`. This requirement applies to the following operations: * Getting a policy that includes a conditional role binding * Adding a conditional role binding to a policy * Changing a conditional role binding in a policy * Removing any role binding, with or without a condition, from a policy that includes conditions **Important:** If you use IAM Conditions, you must include the `etag` field whenever you call `setIamPolicy`. If you omit this field, then IAM allows you to overwrite a version `3` policy with a version `1` policy, and all of the conditions in the version `3` policy are lost. If a policy does not include any conditions, operations on that policy may specify any valid version or leave the field unset. To learn which resources support conditions in their IAM policies, see the [IAM documentation](https://cloud.google.com/iam/help/conditions/resource-policies).
+  },
+}
+
+  x__xgafv: string, V1 error format.
+    Allowed values
+      1 - v1 error format
+      2 - v2 error format
+
+Returns:
+  An object of the form:
+
+    { # An Identity and Access Management (IAM) policy, which specifies access controls for Google Cloud resources. A `Policy` is a collection of `bindings`. A `binding` binds one or more `members`, or principals, to a single `role`. Principals can be user accounts, service accounts, Google groups, and domains (such as G Suite). A `role` is a named list of permissions; each `role` can be an IAM predefined role or a user-created custom role. For some types of Google Cloud resources, a `binding` can also specify a `condition`, which is a logical expression that allows access to a resource only if the expression evaluates to `true`. A condition can add constraints based on attributes of the request, the resource, or both. To learn which resources support conditions in their IAM policies, see the [IAM documentation](https://cloud.google.com/iam/help/conditions/resource-policies). **JSON example:** { "bindings": [ { "role": "roles/resourcemanager.organizationAdmin", "members": [ "user:mike@example.com", "group:admins@example.com", "domain:google.com", "serviceAccount:my-project-id@appspot.gserviceaccount.com" ] }, { "role": "roles/resourcemanager.organizationViewer", "members": [ "user:eve@example.com" ], "condition": { "title": "expirable access", "description": "Does not grant access after Sep 2020", "expression": "request.time < timestamp('2020-10-01T00:00:00.000Z')", } } ], "etag": "BwWWja0YfJA=", "version": 3 } **YAML example:** bindings: - members: - user:mike@example.com - group:admins@example.com - domain:google.com - serviceAccount:my-project-id@appspot.gserviceaccount.com role: roles/resourcemanager.organizationAdmin - members: - user:eve@example.com role: roles/resourcemanager.organizationViewer condition: title: expirable access description: Does not grant access after Sep 2020 expression: request.time < timestamp('2020-10-01T00:00:00.000Z') etag: BwWWja0YfJA= version: 3 For a description of IAM and its features, see the [IAM documentation](https://cloud.google.com/iam/docs/).
+  "bindings": [ # Associates a list of `members`, or principals, with a `role`. Optionally, may specify a `condition` that determines how and when the `bindings` are applied. Each of the `bindings` must contain at least one principal. The `bindings` in a `Policy` can refer to up to 1,500 principals; up to 250 of these principals can be Google groups. Each occurrence of a principal counts towards these limits. For example, if the `bindings` grant 50 different roles to `user:alice@example.com`, and not to any other principal, then you can add another 1,450 principals to the `bindings` in the `Policy`.
+    { # Associates `members`, or principals, with a `role`.
+      "condition": { # Represents a textual expression in the Common Expression Language (CEL) syntax. CEL is a C-like expression language. The syntax and semantics of CEL are documented at https://github.com/google/cel-spec. Example (Comparison): title: "Summary size limit" description: "Determines if a summary is less than 100 chars" expression: "document.summary.size() < 100" Example (Equality): title: "Requestor is owner" description: "Determines if requestor is the document owner" expression: "document.owner == request.auth.claims.email" Example (Logic): title: "Public documents" description: "Determine whether the document should be publicly visible" expression: "document.type != 'private' && document.type != 'internal'" Example (Data Manipulation): title: "Notification string" description: "Create a notification string with a timestamp." expression: "'New message received at ' + string(document.create_time)" The exact variables and functions that may be referenced within an expression are determined by the service that evaluates it. See the service documentation for additional information. # The condition that is associated with this binding. If the condition evaluates to `true`, then this binding applies to the current request. If the condition evaluates to `false`, then this binding does not apply to the current request. However, a different role binding might grant the same role to one or more of the principals in this binding. To learn which resources support conditions in their IAM policies, see the [IAM documentation](https://cloud.google.com/iam/help/conditions/resource-policies).
+        "description": "A String", # Optional. Description of the expression. This is a longer text which describes the expression, e.g. when hovered over it in a UI.
+        "expression": "A String", # Textual representation of an expression in Common Expression Language syntax.
+        "location": "A String", # Optional. String indicating the location of the expression for error reporting, e.g. a file name and a position in the file.
+        "title": "A String", # Optional. Title for the expression, i.e. a short string describing its purpose. This can be used e.g. in UIs which allow to enter the expression.
+      },
+      "members": [ # Specifies the principals requesting access for a Google Cloud resource. `members` can have the following values: * `allUsers`: A special identifier that represents anyone who is on the internet; with or without a Google account. * `allAuthenticatedUsers`: A special identifier that represents anyone who is authenticated with a Google account or a service account. * `user:{emailid}`: An email address that represents a specific Google account. For example, `alice@example.com` . * `serviceAccount:{emailid}`: An email address that represents a service account. For example, `my-other-app@appspot.gserviceaccount.com`. * `group:{emailid}`: An email address that represents a Google group. For example, `admins@example.com`. * `deleted:user:{emailid}?uid={uniqueid}`: An email address (plus unique identifier) representing a user that has been recently deleted. For example, `alice@example.com?uid=123456789012345678901`. If the user is recovered, this value reverts to `user:{emailid}` and the recovered user retains the role in the binding. * `deleted:serviceAccount:{emailid}?uid={uniqueid}`: An email address (plus unique identifier) representing a service account that has been recently deleted. For example, `my-other-app@appspot.gserviceaccount.com?uid=123456789012345678901`. If the service account is undeleted, this value reverts to `serviceAccount:{emailid}` and the undeleted service account retains the role in the binding. * `deleted:group:{emailid}?uid={uniqueid}`: An email address (plus unique identifier) representing a Google group that has been recently deleted. For example, `admins@example.com?uid=123456789012345678901`. If the group is recovered, this value reverts to `group:{emailid}` and the recovered group retains the role in the binding. * `domain:{domain}`: The G Suite domain (primary) that represents all the users of that domain. For example, `google.com` or `example.com`.
+        "A String",
+      ],
+      "role": "A String", # Role that is assigned to the list of `members`, or principals. For example, `roles/viewer`, `roles/editor`, or `roles/owner`.
+    },
+  ],
+  "etag": "A String", # `etag` is used for optimistic concurrency control as a way to help prevent simultaneous updates of a policy from overwriting each other. It is strongly suggested that systems make use of the `etag` in the read-modify-write cycle to perform policy updates in order to avoid race conditions: An `etag` is returned in the response to `getIamPolicy`, and systems are expected to put that etag in the request to `setIamPolicy` to ensure that their change will be applied to the same version of the policy. **Important:** If you use IAM Conditions, you must include the `etag` field whenever you call `setIamPolicy`. If you omit this field, then IAM allows you to overwrite a version `3` policy with a version `1` policy, and all of the conditions in the version `3` policy are lost.
+  "version": 42, # Specifies the format of the policy. Valid values are `0`, `1`, and `3`. Requests that specify an invalid value are rejected. Any operation that affects conditional role bindings must specify version `3`. This requirement applies to the following operations: * Getting a policy that includes a conditional role binding * Adding a conditional role binding to a policy * Changing a conditional role binding in a policy * Removing any role binding, with or without a condition, from a policy that includes conditions **Important:** If you use IAM Conditions, you must include the `etag` field whenever you call `setIamPolicy`. If you omit this field, then IAM allows you to overwrite a version `3` policy with a version `1` policy, and all of the conditions in the version `3` policy are lost. If a policy does not include any conditions, operations on that policy may specify any valid version or leave the field unset. To learn which resources support conditions in their IAM policies, see the [IAM documentation](https://cloud.google.com/iam/help/conditions/resource-policies).
+}
+
+ +
+ testIamPermissions(resource, body=None, x__xgafv=None) +
Tests IAM permissions for a resource (namespace, service or service workload only).
+
+Args:
+  resource: string, REQUIRED: The resource for which the policy detail is being requested. See [Resource names](https://cloud.google.com/apis/design/resource_names) for the appropriate value for this field. (required)
+  body: object, The request body.
+    The object takes the form of:
+
+{ # Request message for `TestIamPermissions` method.
+  "permissions": [ # The set of permissions to check for the `resource`. Permissions with wildcards (such as `*` or `storage.*`) are not allowed. For more information see [IAM Overview](https://cloud.google.com/iam/docs/overview#permissions).
+    "A String",
+  ],
+}
+
+  x__xgafv: string, V1 error format.
+    Allowed values
+      1 - v1 error format
+      2 - v2 error format
+
+Returns:
+  An object of the form:
+
+    { # Response message for `TestIamPermissions` method.
+  "permissions": [ # A subset of `TestPermissionsRequest.permissions` that the caller is allowed.
+    "A String",
+  ],
+}
+
+ + \ No newline at end of file diff --git a/docs/dyn/slides_v1.presentations.html b/docs/dyn/slides_v1.presentations.html index f9bb4a16370..0847214e996 100644 --- a/docs/dyn/slides_v1.presentations.html +++ b/docs/dyn/slides_v1.presentations.html @@ -224,10 +224,10 @@

Method Details

"objectId": "A String", # A user-supplied object ID. If specified, the ID must be unique among all pages and page elements in the presentation. The ID should start with a word character [a-zA-Z0-9_] and then followed by any number of the following characters [a-zA-Z0-9_-:]. The length of the ID should not be less than 5 or greater than 50. If empty, a unique identifier will be generated. "spreadsheetId": "A String", # The ID of the Google Sheets spreadsheet that contains the chart. You might need to add a resource key to the HTTP header for a subset of old files. For more information, see [Access link-shared files using resource keys](https://developers.google.com/drive/api/v3/resource-keys). }, - "createSlide": { # Creates a new slide. # Creates a new slide. - "insertionIndex": 42, # The optional zero-based index indicating where to insert the slides. If you don't specify an index, the new slide is created at the end. - "objectId": "A String", # A user-supplied object ID. If you specify an ID, it must be unique among all pages and page elements in the presentation. The ID must start with an alphanumeric character or an underscore (matches regex `[a-zA-Z0-9_]`); remaining characters may include those as well as a hyphen or colon (matches regex `[a-zA-Z0-9_-:]`). The length of the ID must not be less than 5 or greater than 50. If you don't specify an ID, a unique one is generated. - "placeholderIdMappings": [ # An optional list of object ID mappings from the placeholder(s) on the layout to the placeholder(s) that will be created on the new slide from that specified layout. Can only be used when `slide_layout_reference` is specified. + "createSlide": { # Creates a slide. # Creates a new slide. + "insertionIndex": 42, # The optional zero-based index indicating where to insert the slides. If you don't specify an index, the slide is created at the end. + "objectId": "A String", # A user-supplied object ID. If you specify an ID, it must be unique among all pages and page elements in the presentation. The ID must start with an alphanumeric character or an underscore (matches regex `[a-zA-Z0-9_]`); remaining characters may include those as well as a hyphen or colon (matches regex `[a-zA-Z0-9_-:]`). The ID length must be between 5 and 50 characters, inclusive. If you don't specify an ID, a unique one is generated. + "placeholderIdMappings": [ # An optional list of object ID mappings from the placeholder(s) on the layout to the placeholders that are created on the slide from the specified layout. Can only be used when `slide_layout_reference` is specified. { # The user-specified ID mapping for a placeholder that will be created on a slide from a specified layout. "layoutPlaceholder": { # The placeholder information that uniquely identifies a placeholder shape. # The placeholder on a layout that will be applied to a slide. Only type and index are needed. For example, a predefined `TITLE_AND_BODY` layout may usually have a TITLE placeholder with index 0 and a BODY placeholder with index 0. "index": 42, # The index of the placeholder. If the same placeholder types are present in the same page, they would have different index values. @@ -238,7 +238,7 @@

Method Details

"objectId": "A String", # A user-supplied object ID for the placeholder identified above that to be created onto a slide. If you specify an ID, it must be unique among all pages and page elements in the presentation. The ID must start with an alphanumeric character or an underscore (matches regex `[a-zA-Z0-9_]`); remaining characters may include those as well as a hyphen or colon (matches regex `[a-zA-Z0-9_-:]`). The length of the ID must not be less than 5 or greater than 50. If you don't specify an ID, a unique one is generated. }, ], - "slideLayoutReference": { # Slide layout reference. This may reference either: - A predefined layout - One of the layouts in the presentation. # Layout reference of the slide to be inserted, based on the *current master*, which is one of the following: - The master of the previous slide index. - The master of the first slide, if the insertion_index is zero. - The first master in the presentation, if there are no slides. If the LayoutReference is not found in the current master, a 400 bad request error is returned. If you don't specify a layout reference, then the new slide will use the predefined layout `BLANK`. + "slideLayoutReference": { # Slide layout reference. This may reference either: - A predefined layout - One of the layouts in the presentation. # Layout reference of the slide to be inserted, based on the *current master*, which is one of the following: - The master of the previous slide index. - The master of the first slide, if the insertion_index is zero. - The first master in the presentation, if there are no slides. If the LayoutReference is not found in the current master, a 400 bad request error is returned. If you don't specify a layout reference, the slide uses the predefined `BLANK` layout. "layoutId": "A String", # Layout ID: the object ID of one of the layouts in the presentation. "predefinedLayout": "A String", # Predefined layout. }, @@ -617,169 +617,1176 @@

Method Details

"green": 3.14, # The green component of the color, from 0.0 to 1.0. "red": 3.14, # The red component of the color, from 0.0 to 1.0. }, - "type": "A String", # The type of the theme color. - }, - ], - }, - "pageBackgroundFill": { # The page background fill. # The background fill of the page. If unset, the background fill is inherited from a parent page if it exists. If the page has no parent, then the background fill defaults to the corresponding fill in the Slides editor. - "propertyState": "A String", # The background fill property state. Updating the fill on a page will implicitly update this field to `RENDERED`, unless another value is specified in the same request. To have no fill on a page, set this field to `NOT_RENDERED`. In this case, any other fill fields set in the same request will be ignored. - "solidFill": { # A solid color fill. The page or page element is filled entirely with the specified color value. If any field is unset, its value may be inherited from a parent placeholder if it exists. # Solid color fill. - "alpha": 3.14, # The fraction of this `color` that should be applied to the pixel. That is, the final pixel color is defined by the equation: pixel color = alpha * (color) + (1.0 - alpha) * (background color) This means that a value of 1.0 corresponds to a solid color, whereas a value of 0.0 corresponds to a completely transparent color. - "color": { # A themeable solid color value. # The color value of the solid fill. - "rgbColor": { # An RGB color. # An opaque RGB color. - "blue": 3.14, # The blue component of the color, from 0.0 to 1.0. - "green": 3.14, # The green component of the color, from 0.0 to 1.0. - "red": 3.14, # The red component of the color, from 0.0 to 1.0. + "type": "A String", # The type of the theme color. + }, + ], + }, + "pageBackgroundFill": { # The page background fill. # The background fill of the page. If unset, the background fill is inherited from a parent page if it exists. If the page has no parent, then the background fill defaults to the corresponding fill in the Slides editor. + "propertyState": "A String", # The background fill property state. Updating the fill on a page will implicitly update this field to `RENDERED`, unless another value is specified in the same request. To have no fill on a page, set this field to `NOT_RENDERED`. In this case, any other fill fields set in the same request will be ignored. + "solidFill": { # A solid color fill. The page or page element is filled entirely with the specified color value. If any field is unset, its value may be inherited from a parent placeholder if it exists. # Solid color fill. + "alpha": 3.14, # The fraction of this `color` that should be applied to the pixel. That is, the final pixel color is defined by the equation: pixel color = alpha * (color) + (1.0 - alpha) * (background color) This means that a value of 1.0 corresponds to a solid color, whereas a value of 0.0 corresponds to a completely transparent color. + "color": { # A themeable solid color value. # The color value of the solid fill. + "rgbColor": { # An RGB color. # An opaque RGB color. + "blue": 3.14, # The blue component of the color, from 0.0 to 1.0. + "green": 3.14, # The green component of the color, from 0.0 to 1.0. + "red": 3.14, # The red component of the color, from 0.0 to 1.0. + }, + "themeColor": "A String", # An opaque theme color. + }, + }, + "stretchedPictureFill": { # The stretched picture fill. The page or page element is filled entirely with the specified picture. The picture is stretched to fit its container. # Stretched picture fill. + "contentUrl": "A String", # Reading the content_url: An URL to a picture with a default lifetime of 30 minutes. This URL is tagged with the account of the requester. Anyone with the URL effectively accesses the picture as the original requester. Access to the picture may be lost if the presentation's sharing settings change. Writing the content_url: The picture is fetched once at insertion time and a copy is stored for display inside the presentation. Pictures must be less than 50MB in size, cannot exceed 25 megapixels, and must be in one of PNG, JPEG, or GIF format. The provided URL can be at most 2 kB in length. + "size": { # A width and height. # The original size of the picture fill. This field is read-only. + "height": { # A magnitude in a single direction in the specified units. # The height of the object. + "magnitude": 3.14, # The magnitude. + "unit": "A String", # The units for magnitude. + }, + "width": { # A magnitude in a single direction in the specified units. # The width of the object. + "magnitude": 3.14, # The magnitude. + "unit": "A String", # The units for magnitude. + }, + }, + }, + }, + }, + }, + "updateParagraphStyle": { # Updates the styling for all of the paragraphs within a Shape or Table that overlap with the given text index range. # Updates the styling of paragraphs within a Shape or Table. + "cellLocation": { # A location of a single table cell within a table. # The location of the cell in the table containing the paragraph(s) to style. If `object_id` refers to a table, `cell_location` must have a value. Otherwise, it must not. + "columnIndex": 42, # The 0-based column index. + "rowIndex": 42, # The 0-based row index. + }, + "fields": "A String", # The fields that should be updated. At least one field must be specified. The root `style` is implied and should not be specified. A single `"*"` can be used as short-hand for listing every field. For example, to update the paragraph alignment, set `fields` to `"alignment"`. To reset a property to its default value, include its field name in the field mask but leave the field itself unset. + "objectId": "A String", # The object ID of the shape or table with the text to be styled. + "style": { # Styles that apply to a whole paragraph. If this text is contained in a shape with a parent placeholder, then these paragraph styles may be inherited from the parent. Which paragraph styles are inherited depend on the nesting level of lists: * A paragraph not in a list will inherit its paragraph style from the paragraph at the 0 nesting level of the list inside the parent placeholder. * A paragraph in a list will inherit its paragraph style from the paragraph at its corresponding nesting level of the list inside the parent placeholder. Inherited paragraph styles are represented as unset fields in this message. # The paragraph's style. + "alignment": "A String", # The text alignment for this paragraph. + "direction": "A String", # The text direction of this paragraph. If unset, the value defaults to LEFT_TO_RIGHT since text direction is not inherited. + "indentEnd": { # A magnitude in a single direction in the specified units. # The amount indentation for the paragraph on the side that corresponds to the end of the text, based on the current text direction. If unset, the value is inherited from the parent. + "magnitude": 3.14, # The magnitude. + "unit": "A String", # The units for magnitude. + }, + "indentFirstLine": { # A magnitude in a single direction in the specified units. # The amount of indentation for the start of the first line of the paragraph. If unset, the value is inherited from the parent. + "magnitude": 3.14, # The magnitude. + "unit": "A String", # The units for magnitude. + }, + "indentStart": { # A magnitude in a single direction in the specified units. # The amount indentation for the paragraph on the side that corresponds to the start of the text, based on the current text direction. If unset, the value is inherited from the parent. + "magnitude": 3.14, # The magnitude. + "unit": "A String", # The units for magnitude. + }, + "lineSpacing": 3.14, # The amount of space between lines, as a percentage of normal, where normal is represented as 100.0. If unset, the value is inherited from the parent. + "spaceAbove": { # A magnitude in a single direction in the specified units. # The amount of extra space above the paragraph. If unset, the value is inherited from the parent. + "magnitude": 3.14, # The magnitude. + "unit": "A String", # The units for magnitude. + }, + "spaceBelow": { # A magnitude in a single direction in the specified units. # The amount of extra space below the paragraph. If unset, the value is inherited from the parent. + "magnitude": 3.14, # The magnitude. + "unit": "A String", # The units for magnitude. + }, + "spacingMode": "A String", # The spacing mode for the paragraph. + }, + "textRange": { # Specifies a contiguous range of an indexed collection, such as characters in text. # The range of text containing the paragraph(s) to style. + "endIndex": 42, # The optional zero-based index of the end of the collection. Required for `FIXED_RANGE` ranges. + "startIndex": 42, # The optional zero-based index of the beginning of the collection. Required for `FIXED_RANGE` and `FROM_START_INDEX` ranges. + "type": "A String", # The type of range. + }, + }, + "updateShapeProperties": { # Update the properties of a Shape. # Updates the properties of a Shape. + "fields": "A String", # The fields that should be updated. At least one field must be specified. The root `shapeProperties` is implied and should not be specified. A single `"*"` can be used as short-hand for listing every field. For example to update the shape background solid fill color, set `fields` to `"shapeBackgroundFill.solidFill.color"`. To reset a property to its default value, include its field name in the field mask but leave the field itself unset. + "objectId": "A String", # The object ID of the shape the updates are applied to. + "shapeProperties": { # The properties of a Shape. If the shape is a placeholder shape as determined by the placeholder field, then these properties may be inherited from a parent placeholder shape. Determining the rendered value of the property depends on the corresponding property_state field value. Any text autofit settings on the shape are automatically deactivated by requests that can impact how text fits in the shape. # The shape properties to update. + "autofit": { # The autofit properties of a Shape. # The autofit properties of the shape. This property is only set for shapes that allow text. + "autofitType": "A String", # The autofit type of the shape. If the autofit type is AUTOFIT_TYPE_UNSPECIFIED, the autofit type is inherited from a parent placeholder if it exists. The field is automatically set to NONE if a request is made that might affect text fitting within its bounding text box. In this case the font_scale is applied to the font_size and the line_spacing_reduction is applied to the line_spacing. Both properties are also reset to default values. + "fontScale": 3.14, # The font scale applied to the shape. For shapes with autofit_type NONE or SHAPE_AUTOFIT, this value is the default value of 1. For TEXT_AUTOFIT, this value multiplied by the font_size gives the font size that is rendered in the editor. This property is read-only. + "lineSpacingReduction": 3.14, # The line spacing reduction applied to the shape. For shapes with autofit_type NONE or SHAPE_AUTOFIT, this value is the default value of 0. For TEXT_AUTOFIT, this value subtracted from the line_spacing gives the line spacing that is rendered in the editor. This property is read-only. + }, + "contentAlignment": "A String", # The alignment of the content in the shape. If unspecified, the alignment is inherited from a parent placeholder if it exists. If the shape has no parent, the default alignment matches the alignment for new shapes created in the Slides editor. + "link": { # A hypertext link. # The hyperlink destination of the shape. If unset, there is no link. Links are not inherited from parent placeholders. + "pageObjectId": "A String", # If set, indicates this is a link to the specific page in this presentation with this ID. A page with this ID may not exist. + "relativeLink": "A String", # If set, indicates this is a link to a slide in this presentation, addressed by its position. + "slideIndex": 42, # If set, indicates this is a link to the slide at this zero-based index in the presentation. There may not be a slide at this index. + "url": "A String", # If set, indicates this is a link to the external web page at this URL. + }, + "outline": { # The outline of a PageElement. If these fields are unset, they may be inherited from a parent placeholder if it exists. If there is no parent, the fields will default to the value used for new page elements created in the Slides editor, which may depend on the page element kind. # The outline of the shape. If unset, the outline is inherited from a parent placeholder if it exists. If the shape has no parent, then the default outline depends on the shape type, matching the defaults for new shapes created in the Slides editor. + "dashStyle": "A String", # The dash style of the outline. + "outlineFill": { # The fill of the outline. # The fill of the outline. + "solidFill": { # A solid color fill. The page or page element is filled entirely with the specified color value. If any field is unset, its value may be inherited from a parent placeholder if it exists. # Solid color fill. + "alpha": 3.14, # The fraction of this `color` that should be applied to the pixel. That is, the final pixel color is defined by the equation: pixel color = alpha * (color) + (1.0 - alpha) * (background color) This means that a value of 1.0 corresponds to a solid color, whereas a value of 0.0 corresponds to a completely transparent color. + "color": { # A themeable solid color value. # The color value of the solid fill. + "rgbColor": { # An RGB color. # An opaque RGB color. + "blue": 3.14, # The blue component of the color, from 0.0 to 1.0. + "green": 3.14, # The green component of the color, from 0.0 to 1.0. + "red": 3.14, # The red component of the color, from 0.0 to 1.0. + }, + "themeColor": "A String", # An opaque theme color. + }, + }, + }, + "propertyState": "A String", # The outline property state. Updating the outline on a page element will implicitly update this field to `RENDERED`, unless another value is specified in the same request. To have no outline on a page element, set this field to `NOT_RENDERED`. In this case, any other outline fields set in the same request will be ignored. + "weight": { # A magnitude in a single direction in the specified units. # The thickness of the outline. + "magnitude": 3.14, # The magnitude. + "unit": "A String", # The units for magnitude. + }, + }, + "shadow": { # The shadow properties of a page element. If these fields are unset, they may be inherited from a parent placeholder if it exists. If there is no parent, the fields will default to the value used for new page elements created in the Slides editor, which may depend on the page element kind. # The shadow properties of the shape. If unset, the shadow is inherited from a parent placeholder if it exists. If the shape has no parent, then the default shadow matches the defaults for new shapes created in the Slides editor. This property is read-only. + "alignment": "A String", # The alignment point of the shadow, that sets the origin for translate, scale and skew of the shadow. This property is read-only. + "alpha": 3.14, # The alpha of the shadow's color, from 0.0 to 1.0. + "blurRadius": { # A magnitude in a single direction in the specified units. # The radius of the shadow blur. The larger the radius, the more diffuse the shadow becomes. + "magnitude": 3.14, # The magnitude. + "unit": "A String", # The units for magnitude. + }, + "color": { # A themeable solid color value. # The shadow color value. + "rgbColor": { # An RGB color. # An opaque RGB color. + "blue": 3.14, # The blue component of the color, from 0.0 to 1.0. + "green": 3.14, # The green component of the color, from 0.0 to 1.0. + "red": 3.14, # The red component of the color, from 0.0 to 1.0. + }, + "themeColor": "A String", # An opaque theme color. + }, + "propertyState": "A String", # The shadow property state. Updating the shadow on a page element will implicitly update this field to `RENDERED`, unless another value is specified in the same request. To have no shadow on a page element, set this field to `NOT_RENDERED`. In this case, any other shadow fields set in the same request will be ignored. + "rotateWithShape": True or False, # Whether the shadow should rotate with the shape. This property is read-only. + "transform": { # AffineTransform uses a 3x3 matrix with an implied last row of [ 0 0 1 ] to transform source coordinates (x,y) into destination coordinates (x', y') according to: x' x = shear_y scale_y translate_y 1 [ 1 ] After transformation, x' = scale_x * x + shear_x * y + translate_x; y' = scale_y * y + shear_y * x + translate_y; This message is therefore composed of these six matrix elements. # Transform that encodes the translate, scale, and skew of the shadow, relative to the alignment position. + "scaleX": 3.14, # The X coordinate scaling element. + "scaleY": 3.14, # The Y coordinate scaling element. + "shearX": 3.14, # The X coordinate shearing element. + "shearY": 3.14, # The Y coordinate shearing element. + "translateX": 3.14, # The X coordinate translation element. + "translateY": 3.14, # The Y coordinate translation element. + "unit": "A String", # The units for translate elements. + }, + "type": "A String", # The type of the shadow. This property is read-only. + }, + "shapeBackgroundFill": { # The shape background fill. # The background fill of the shape. If unset, the background fill is inherited from a parent placeholder if it exists. If the shape has no parent, then the default background fill depends on the shape type, matching the defaults for new shapes created in the Slides editor. + "propertyState": "A String", # The background fill property state. Updating the fill on a shape will implicitly update this field to `RENDERED`, unless another value is specified in the same request. To have no fill on a shape, set this field to `NOT_RENDERED`. In this case, any other fill fields set in the same request will be ignored. + "solidFill": { # A solid color fill. The page or page element is filled entirely with the specified color value. If any field is unset, its value may be inherited from a parent placeholder if it exists. # Solid color fill. + "alpha": 3.14, # The fraction of this `color` that should be applied to the pixel. That is, the final pixel color is defined by the equation: pixel color = alpha * (color) + (1.0 - alpha) * (background color) This means that a value of 1.0 corresponds to a solid color, whereas a value of 0.0 corresponds to a completely transparent color. + "color": { # A themeable solid color value. # The color value of the solid fill. + "rgbColor": { # An RGB color. # An opaque RGB color. + "blue": 3.14, # The blue component of the color, from 0.0 to 1.0. + "green": 3.14, # The green component of the color, from 0.0 to 1.0. + "red": 3.14, # The red component of the color, from 0.0 to 1.0. + }, + "themeColor": "A String", # An opaque theme color. + }, + }, + }, + }, + }, + "updateSlideProperties": { # Updates the properties of a Slide. # Updates the properties of a Slide + "fields": "A String", # The fields that should be updated. At least one field must be specified. The root 'slideProperties' is implied and should not be specified. A single `"*"` can be used as short-hand for listing every field. For example to update whether a slide is skipped, set `fields` to `"isSkipped"`. To reset a property to its default value, include its field name in the field mask but leave the field itself unset. + "objectId": "A String", # The object ID of the slide the update is applied to. + "slideProperties": { # The properties of Page that are only relevant for pages with page_type SLIDE. # The slide properties to update. + "isSkipped": True or False, # Whether the slide is skipped in the presentation mode. Defaults to false. + "layoutObjectId": "A String", # The object ID of the layout that this slide is based on. This property is read-only. + "masterObjectId": "A String", # The object ID of the master that this slide is based on. This property is read-only. + "notesPage": { # A page in a presentation. # The notes page that this slide is associated with. It defines the visual appearance of a notes page when printing or exporting slides with speaker notes. A notes page inherits properties from the notes master. The placeholder shape with type BODY on the notes page contains the speaker notes for this slide. The ID of this shape is identified by the speakerNotesObjectId field. The notes page is read-only except for the text content and styles of the speaker notes shape. This property is read-only. + "layoutProperties": { # The properties of Page are only relevant for pages with page_type LAYOUT. # Layout specific properties. Only set if page_type = LAYOUT. + "displayName": "A String", # The human-readable name of the layout. + "masterObjectId": "A String", # The object ID of the master that this layout is based on. + "name": "A String", # The name of the layout. + }, + "masterProperties": { # The properties of Page that are only relevant for pages with page_type MASTER. # Master specific properties. Only set if page_type = MASTER. + "displayName": "A String", # The human-readable name of the master. + }, + "notesProperties": { # The properties of Page that are only relevant for pages with page_type NOTES. # Notes specific properties. Only set if page_type = NOTES. + "speakerNotesObjectId": "A String", # The object ID of the shape on this notes page that contains the speaker notes for the corresponding slide. The actual shape may not always exist on the notes page. Inserting text using this object ID will automatically create the shape. In this case, the actual shape may have different object ID. The `GetPresentation` or `GetPage` action will always return the latest object ID. + }, + "objectId": "A String", # The object ID for this page. Object IDs used by Page and PageElement share the same namespace. + "pageElements": [ # The page elements rendered on the page. + { # A visual element rendered on a page. + "description": "A String", # The description of the page element. Combined with title to display alt text. The field is not supported for Group elements. + "elementGroup": { # A PageElement kind representing a joined collection of PageElements. # A collection of page elements joined as a single unit. + "children": [ # The collection of elements in the group. The minimum size of a group is 2. + # Object with schema name: PageElement + ], + }, + "image": { # A PageElement kind representing an image. # An image page element. + "contentUrl": "A String", # An URL to an image with a default lifetime of 30 minutes. This URL is tagged with the account of the requester. Anyone with the URL effectively accesses the image as the original requester. Access to the image may be lost if the presentation's sharing settings change. + "imageProperties": { # The properties of the Image. # The properties of the image. + "brightness": 3.14, # The brightness effect of the image. The value should be in the interval [-1.0, 1.0], where 0 means no effect. This property is read-only. + "contrast": 3.14, # The contrast effect of the image. The value should be in the interval [-1.0, 1.0], where 0 means no effect. This property is read-only. + "cropProperties": { # The crop properties of an object enclosed in a container. For example, an Image. The crop properties is represented by the offsets of four edges which define a crop rectangle. The offsets are measured in percentage from the corresponding edges of the object's original bounding rectangle towards inside, relative to the object's original dimensions. - If the offset is in the interval (0, 1), the corresponding edge of crop rectangle is positioned inside of the object's original bounding rectangle. - If the offset is negative or greater than 1, the corresponding edge of crop rectangle is positioned outside of the object's original bounding rectangle. - If the left edge of the crop rectangle is on the right side of its right edge, the object will be flipped horizontally. - If the top edge of the crop rectangle is below its bottom edge, the object will be flipped vertically. - If all offsets and rotation angle is 0, the object is not cropped. After cropping, the content in the crop rectangle will be stretched to fit its container. # The crop properties of the image. If not set, the image is not cropped. This property is read-only. + "angle": 3.14, # The rotation angle of the crop window around its center, in radians. Rotation angle is applied after the offset. + "bottomOffset": 3.14, # The offset specifies the bottom edge of the crop rectangle that is located above the original bounding rectangle bottom edge, relative to the object's original height. + "leftOffset": 3.14, # The offset specifies the left edge of the crop rectangle that is located to the right of the original bounding rectangle left edge, relative to the object's original width. + "rightOffset": 3.14, # The offset specifies the right edge of the crop rectangle that is located to the left of the original bounding rectangle right edge, relative to the object's original width. + "topOffset": 3.14, # The offset specifies the top edge of the crop rectangle that is located below the original bounding rectangle top edge, relative to the object's original height. + }, + "link": { # A hypertext link. # The hyperlink destination of the image. If unset, there is no link. + "pageObjectId": "A String", # If set, indicates this is a link to the specific page in this presentation with this ID. A page with this ID may not exist. + "relativeLink": "A String", # If set, indicates this is a link to a slide in this presentation, addressed by its position. + "slideIndex": 42, # If set, indicates this is a link to the slide at this zero-based index in the presentation. There may not be a slide at this index. + "url": "A String", # If set, indicates this is a link to the external web page at this URL. + }, + "outline": { # The outline of a PageElement. If these fields are unset, they may be inherited from a parent placeholder if it exists. If there is no parent, the fields will default to the value used for new page elements created in the Slides editor, which may depend on the page element kind. # The outline of the image. If not set, the image has no outline. + "dashStyle": "A String", # The dash style of the outline. + "outlineFill": { # The fill of the outline. # The fill of the outline. + "solidFill": { # A solid color fill. The page or page element is filled entirely with the specified color value. If any field is unset, its value may be inherited from a parent placeholder if it exists. # Solid color fill. + "alpha": 3.14, # The fraction of this `color` that should be applied to the pixel. That is, the final pixel color is defined by the equation: pixel color = alpha * (color) + (1.0 - alpha) * (background color) This means that a value of 1.0 corresponds to a solid color, whereas a value of 0.0 corresponds to a completely transparent color. + "color": { # A themeable solid color value. # The color value of the solid fill. + "rgbColor": { # An RGB color. # An opaque RGB color. + "blue": 3.14, # The blue component of the color, from 0.0 to 1.0. + "green": 3.14, # The green component of the color, from 0.0 to 1.0. + "red": 3.14, # The red component of the color, from 0.0 to 1.0. + }, + "themeColor": "A String", # An opaque theme color. + }, + }, + }, + "propertyState": "A String", # The outline property state. Updating the outline on a page element will implicitly update this field to `RENDERED`, unless another value is specified in the same request. To have no outline on a page element, set this field to `NOT_RENDERED`. In this case, any other outline fields set in the same request will be ignored. + "weight": { # A magnitude in a single direction in the specified units. # The thickness of the outline. + "magnitude": 3.14, # The magnitude. + "unit": "A String", # The units for magnitude. + }, + }, + "recolor": { # A recolor effect applied on an image. # The recolor effect of the image. If not set, the image is not recolored. This property is read-only. + "name": "A String", # The name of the recolor effect. The name is determined from the `recolor_stops` by matching the gradient against the colors in the page's current color scheme. This property is read-only. + "recolorStops": [ # The recolor effect is represented by a gradient, which is a list of color stops. The colors in the gradient will replace the corresponding colors at the same position in the color palette and apply to the image. This property is read-only. + { # A color and position in a gradient band. + "alpha": 3.14, # The alpha value of this color in the gradient band. Defaults to 1.0, fully opaque. + "color": { # A themeable solid color value. # The color of the gradient stop. + "rgbColor": { # An RGB color. # An opaque RGB color. + "blue": 3.14, # The blue component of the color, from 0.0 to 1.0. + "green": 3.14, # The green component of the color, from 0.0 to 1.0. + "red": 3.14, # The red component of the color, from 0.0 to 1.0. + }, + "themeColor": "A String", # An opaque theme color. + }, + "position": 3.14, # The relative position of the color stop in the gradient band measured in percentage. The value should be in the interval [0.0, 1.0]. + }, + ], + }, + "shadow": { # The shadow properties of a page element. If these fields are unset, they may be inherited from a parent placeholder if it exists. If there is no parent, the fields will default to the value used for new page elements created in the Slides editor, which may depend on the page element kind. # The shadow of the image. If not set, the image has no shadow. This property is read-only. + "alignment": "A String", # The alignment point of the shadow, that sets the origin for translate, scale and skew of the shadow. This property is read-only. + "alpha": 3.14, # The alpha of the shadow's color, from 0.0 to 1.0. + "blurRadius": { # A magnitude in a single direction in the specified units. # The radius of the shadow blur. The larger the radius, the more diffuse the shadow becomes. + "magnitude": 3.14, # The magnitude. + "unit": "A String", # The units for magnitude. + }, + "color": { # A themeable solid color value. # The shadow color value. + "rgbColor": { # An RGB color. # An opaque RGB color. + "blue": 3.14, # The blue component of the color, from 0.0 to 1.0. + "green": 3.14, # The green component of the color, from 0.0 to 1.0. + "red": 3.14, # The red component of the color, from 0.0 to 1.0. + }, + "themeColor": "A String", # An opaque theme color. + }, + "propertyState": "A String", # The shadow property state. Updating the shadow on a page element will implicitly update this field to `RENDERED`, unless another value is specified in the same request. To have no shadow on a page element, set this field to `NOT_RENDERED`. In this case, any other shadow fields set in the same request will be ignored. + "rotateWithShape": True or False, # Whether the shadow should rotate with the shape. This property is read-only. + "transform": { # AffineTransform uses a 3x3 matrix with an implied last row of [ 0 0 1 ] to transform source coordinates (x,y) into destination coordinates (x', y') according to: x' x = shear_y scale_y translate_y 1 [ 1 ] After transformation, x' = scale_x * x + shear_x * y + translate_x; y' = scale_y * y + shear_y * x + translate_y; This message is therefore composed of these six matrix elements. # Transform that encodes the translate, scale, and skew of the shadow, relative to the alignment position. + "scaleX": 3.14, # The X coordinate scaling element. + "scaleY": 3.14, # The Y coordinate scaling element. + "shearX": 3.14, # The X coordinate shearing element. + "shearY": 3.14, # The Y coordinate shearing element. + "translateX": 3.14, # The X coordinate translation element. + "translateY": 3.14, # The Y coordinate translation element. + "unit": "A String", # The units for translate elements. + }, + "type": "A String", # The type of the shadow. This property is read-only. + }, + "transparency": 3.14, # The transparency effect of the image. The value should be in the interval [0.0, 1.0], where 0 means no effect and 1 means completely transparent. This property is read-only. + }, + "placeholder": { # The placeholder information that uniquely identifies a placeholder shape. # Placeholders are page elements that inherit from corresponding placeholders on layouts and masters. If set, the image is a placeholder image and any inherited properties can be resolved by looking at the parent placeholder identified by the Placeholder.parent_object_id field. + "index": 42, # The index of the placeholder. If the same placeholder types are present in the same page, they would have different index values. + "parentObjectId": "A String", # The object ID of this shape's parent placeholder. If unset, the parent placeholder shape does not exist, so the shape does not inherit properties from any other shape. + "type": "A String", # The type of the placeholder. + }, + "sourceUrl": "A String", # The source URL is the URL used to insert the image. The source URL can be empty. + }, + "line": { # A PageElement kind representing a non-connector line, straight connector, curved connector, or bent connector. # A line page element. + "lineCategory": "A String", # The category of the line. It matches the `category` specified in CreateLineRequest, and can be updated with UpdateLineCategoryRequest. + "lineProperties": { # The properties of the Line. When unset, these fields default to values that match the appearance of new lines created in the Slides editor. # The properties of the line. + "dashStyle": "A String", # The dash style of the line. + "endArrow": "A String", # The style of the arrow at the end of the line. + "endConnection": { # The properties for one end of a Line connection. # The connection at the end of the line. If unset, there is no connection. Only lines with a Type indicating it is a "connector" can have an `end_connection`. + "connectedObjectId": "A String", # The object ID of the connected page element. Some page elements, such as groups, tables, and lines do not have connection sites and therefore cannot be connected to a connector line. + "connectionSiteIndex": 42, # The index of the connection site on the connected page element. In most cases, it corresponds to the predefined connection site index from the ECMA-376 standard. More information on those connection sites can be found in the description of the "cnx" attribute in section 20.1.9.9 and Annex H. "Predefined DrawingML Shape and Text Geometries" of "Office Open XML File Formats-Fundamentals and Markup Language Reference", part 1 of [ECMA-376 5th edition] (http://www.ecma-international.org/publications/standards/Ecma-376.htm). The position of each connection site can also be viewed from Slides editor. + }, + "lineFill": { # The fill of the line. # The fill of the line. The default line fill matches the defaults for new lines created in the Slides editor. + "solidFill": { # A solid color fill. The page or page element is filled entirely with the specified color value. If any field is unset, its value may be inherited from a parent placeholder if it exists. # Solid color fill. + "alpha": 3.14, # The fraction of this `color` that should be applied to the pixel. That is, the final pixel color is defined by the equation: pixel color = alpha * (color) + (1.0 - alpha) * (background color) This means that a value of 1.0 corresponds to a solid color, whereas a value of 0.0 corresponds to a completely transparent color. + "color": { # A themeable solid color value. # The color value of the solid fill. + "rgbColor": { # An RGB color. # An opaque RGB color. + "blue": 3.14, # The blue component of the color, from 0.0 to 1.0. + "green": 3.14, # The green component of the color, from 0.0 to 1.0. + "red": 3.14, # The red component of the color, from 0.0 to 1.0. + }, + "themeColor": "A String", # An opaque theme color. + }, + }, + }, + "link": { # A hypertext link. # The hyperlink destination of the line. If unset, there is no link. + "pageObjectId": "A String", # If set, indicates this is a link to the specific page in this presentation with this ID. A page with this ID may not exist. + "relativeLink": "A String", # If set, indicates this is a link to a slide in this presentation, addressed by its position. + "slideIndex": 42, # If set, indicates this is a link to the slide at this zero-based index in the presentation. There may not be a slide at this index. + "url": "A String", # If set, indicates this is a link to the external web page at this URL. + }, + "startArrow": "A String", # The style of the arrow at the beginning of the line. + "startConnection": { # The properties for one end of a Line connection. # The connection at the beginning of the line. If unset, there is no connection. Only lines with a Type indicating it is a "connector" can have a `start_connection`. + "connectedObjectId": "A String", # The object ID of the connected page element. Some page elements, such as groups, tables, and lines do not have connection sites and therefore cannot be connected to a connector line. + "connectionSiteIndex": 42, # The index of the connection site on the connected page element. In most cases, it corresponds to the predefined connection site index from the ECMA-376 standard. More information on those connection sites can be found in the description of the "cnx" attribute in section 20.1.9.9 and Annex H. "Predefined DrawingML Shape and Text Geometries" of "Office Open XML File Formats-Fundamentals and Markup Language Reference", part 1 of [ECMA-376 5th edition] (http://www.ecma-international.org/publications/standards/Ecma-376.htm). The position of each connection site can also be viewed from Slides editor. + }, + "weight": { # A magnitude in a single direction in the specified units. # The thickness of the line. + "magnitude": 3.14, # The magnitude. + "unit": "A String", # The units for magnitude. + }, + }, + "lineType": "A String", # The type of the line. + }, + "objectId": "A String", # The object ID for this page element. Object IDs used by google.apps.slides.v1.Page and google.apps.slides.v1.PageElement share the same namespace. + "shape": { # A PageElement kind representing a generic shape that does not have a more specific classification. # A generic shape. + "placeholder": { # The placeholder information that uniquely identifies a placeholder shape. # Placeholders are page elements that inherit from corresponding placeholders on layouts and masters. If set, the shape is a placeholder shape and any inherited properties can be resolved by looking at the parent placeholder identified by the Placeholder.parent_object_id field. + "index": 42, # The index of the placeholder. If the same placeholder types are present in the same page, they would have different index values. + "parentObjectId": "A String", # The object ID of this shape's parent placeholder. If unset, the parent placeholder shape does not exist, so the shape does not inherit properties from any other shape. + "type": "A String", # The type of the placeholder. + }, + "shapeProperties": { # The properties of a Shape. If the shape is a placeholder shape as determined by the placeholder field, then these properties may be inherited from a parent placeholder shape. Determining the rendered value of the property depends on the corresponding property_state field value. Any text autofit settings on the shape are automatically deactivated by requests that can impact how text fits in the shape. # The properties of the shape. + "autofit": { # The autofit properties of a Shape. # The autofit properties of the shape. This property is only set for shapes that allow text. + "autofitType": "A String", # The autofit type of the shape. If the autofit type is AUTOFIT_TYPE_UNSPECIFIED, the autofit type is inherited from a parent placeholder if it exists. The field is automatically set to NONE if a request is made that might affect text fitting within its bounding text box. In this case the font_scale is applied to the font_size and the line_spacing_reduction is applied to the line_spacing. Both properties are also reset to default values. + "fontScale": 3.14, # The font scale applied to the shape. For shapes with autofit_type NONE or SHAPE_AUTOFIT, this value is the default value of 1. For TEXT_AUTOFIT, this value multiplied by the font_size gives the font size that is rendered in the editor. This property is read-only. + "lineSpacingReduction": 3.14, # The line spacing reduction applied to the shape. For shapes with autofit_type NONE or SHAPE_AUTOFIT, this value is the default value of 0. For TEXT_AUTOFIT, this value subtracted from the line_spacing gives the line spacing that is rendered in the editor. This property is read-only. + }, + "contentAlignment": "A String", # The alignment of the content in the shape. If unspecified, the alignment is inherited from a parent placeholder if it exists. If the shape has no parent, the default alignment matches the alignment for new shapes created in the Slides editor. + "link": { # A hypertext link. # The hyperlink destination of the shape. If unset, there is no link. Links are not inherited from parent placeholders. + "pageObjectId": "A String", # If set, indicates this is a link to the specific page in this presentation with this ID. A page with this ID may not exist. + "relativeLink": "A String", # If set, indicates this is a link to a slide in this presentation, addressed by its position. + "slideIndex": 42, # If set, indicates this is a link to the slide at this zero-based index in the presentation. There may not be a slide at this index. + "url": "A String", # If set, indicates this is a link to the external web page at this URL. + }, + "outline": { # The outline of a PageElement. If these fields are unset, they may be inherited from a parent placeholder if it exists. If there is no parent, the fields will default to the value used for new page elements created in the Slides editor, which may depend on the page element kind. # The outline of the shape. If unset, the outline is inherited from a parent placeholder if it exists. If the shape has no parent, then the default outline depends on the shape type, matching the defaults for new shapes created in the Slides editor. + "dashStyle": "A String", # The dash style of the outline. + "outlineFill": { # The fill of the outline. # The fill of the outline. + "solidFill": { # A solid color fill. The page or page element is filled entirely with the specified color value. If any field is unset, its value may be inherited from a parent placeholder if it exists. # Solid color fill. + "alpha": 3.14, # The fraction of this `color` that should be applied to the pixel. That is, the final pixel color is defined by the equation: pixel color = alpha * (color) + (1.0 - alpha) * (background color) This means that a value of 1.0 corresponds to a solid color, whereas a value of 0.0 corresponds to a completely transparent color. + "color": { # A themeable solid color value. # The color value of the solid fill. + "rgbColor": { # An RGB color. # An opaque RGB color. + "blue": 3.14, # The blue component of the color, from 0.0 to 1.0. + "green": 3.14, # The green component of the color, from 0.0 to 1.0. + "red": 3.14, # The red component of the color, from 0.0 to 1.0. + }, + "themeColor": "A String", # An opaque theme color. + }, + }, + }, + "propertyState": "A String", # The outline property state. Updating the outline on a page element will implicitly update this field to `RENDERED`, unless another value is specified in the same request. To have no outline on a page element, set this field to `NOT_RENDERED`. In this case, any other outline fields set in the same request will be ignored. + "weight": { # A magnitude in a single direction in the specified units. # The thickness of the outline. + "magnitude": 3.14, # The magnitude. + "unit": "A String", # The units for magnitude. + }, + }, + "shadow": { # The shadow properties of a page element. If these fields are unset, they may be inherited from a parent placeholder if it exists. If there is no parent, the fields will default to the value used for new page elements created in the Slides editor, which may depend on the page element kind. # The shadow properties of the shape. If unset, the shadow is inherited from a parent placeholder if it exists. If the shape has no parent, then the default shadow matches the defaults for new shapes created in the Slides editor. This property is read-only. + "alignment": "A String", # The alignment point of the shadow, that sets the origin for translate, scale and skew of the shadow. This property is read-only. + "alpha": 3.14, # The alpha of the shadow's color, from 0.0 to 1.0. + "blurRadius": { # A magnitude in a single direction in the specified units. # The radius of the shadow blur. The larger the radius, the more diffuse the shadow becomes. + "magnitude": 3.14, # The magnitude. + "unit": "A String", # The units for magnitude. + }, + "color": { # A themeable solid color value. # The shadow color value. + "rgbColor": { # An RGB color. # An opaque RGB color. + "blue": 3.14, # The blue component of the color, from 0.0 to 1.0. + "green": 3.14, # The green component of the color, from 0.0 to 1.0. + "red": 3.14, # The red component of the color, from 0.0 to 1.0. + }, + "themeColor": "A String", # An opaque theme color. + }, + "propertyState": "A String", # The shadow property state. Updating the shadow on a page element will implicitly update this field to `RENDERED`, unless another value is specified in the same request. To have no shadow on a page element, set this field to `NOT_RENDERED`. In this case, any other shadow fields set in the same request will be ignored. + "rotateWithShape": True or False, # Whether the shadow should rotate with the shape. This property is read-only. + "transform": { # AffineTransform uses a 3x3 matrix with an implied last row of [ 0 0 1 ] to transform source coordinates (x,y) into destination coordinates (x', y') according to: x' x = shear_y scale_y translate_y 1 [ 1 ] After transformation, x' = scale_x * x + shear_x * y + translate_x; y' = scale_y * y + shear_y * x + translate_y; This message is therefore composed of these six matrix elements. # Transform that encodes the translate, scale, and skew of the shadow, relative to the alignment position. + "scaleX": 3.14, # The X coordinate scaling element. + "scaleY": 3.14, # The Y coordinate scaling element. + "shearX": 3.14, # The X coordinate shearing element. + "shearY": 3.14, # The Y coordinate shearing element. + "translateX": 3.14, # The X coordinate translation element. + "translateY": 3.14, # The Y coordinate translation element. + "unit": "A String", # The units for translate elements. + }, + "type": "A String", # The type of the shadow. This property is read-only. + }, + "shapeBackgroundFill": { # The shape background fill. # The background fill of the shape. If unset, the background fill is inherited from a parent placeholder if it exists. If the shape has no parent, then the default background fill depends on the shape type, matching the defaults for new shapes created in the Slides editor. + "propertyState": "A String", # The background fill property state. Updating the fill on a shape will implicitly update this field to `RENDERED`, unless another value is specified in the same request. To have no fill on a shape, set this field to `NOT_RENDERED`. In this case, any other fill fields set in the same request will be ignored. + "solidFill": { # A solid color fill. The page or page element is filled entirely with the specified color value. If any field is unset, its value may be inherited from a parent placeholder if it exists. # Solid color fill. + "alpha": 3.14, # The fraction of this `color` that should be applied to the pixel. That is, the final pixel color is defined by the equation: pixel color = alpha * (color) + (1.0 - alpha) * (background color) This means that a value of 1.0 corresponds to a solid color, whereas a value of 0.0 corresponds to a completely transparent color. + "color": { # A themeable solid color value. # The color value of the solid fill. + "rgbColor": { # An RGB color. # An opaque RGB color. + "blue": 3.14, # The blue component of the color, from 0.0 to 1.0. + "green": 3.14, # The green component of the color, from 0.0 to 1.0. + "red": 3.14, # The red component of the color, from 0.0 to 1.0. + }, + "themeColor": "A String", # An opaque theme color. + }, + }, + }, + }, + "shapeType": "A String", # The type of the shape. + "text": { # The general text content. The text must reside in a compatible shape (e.g. text box or rectangle) or a table cell in a page. # The text content of the shape. + "lists": { # The bulleted lists contained in this text, keyed by list ID. + "a_key": { # A List describes the look and feel of bullets belonging to paragraphs associated with a list. A paragraph that is part of a list has an implicit reference to that list's ID. + "listId": "A String", # The ID of the list. + "nestingLevel": { # A map of nesting levels to the properties of bullets at the associated level. A list has at most nine levels of nesting, so the possible values for the keys of this map are 0 through 8, inclusive. + "a_key": { # Contains properties describing the look and feel of a list bullet at a given level of nesting. + "bulletStyle": { # Represents the styling that can be applied to a TextRun. If this text is contained in a shape with a parent placeholder, then these text styles may be inherited from the parent. Which text styles are inherited depend on the nesting level of lists: * A text run in a paragraph that is not in a list will inherit its text style from the the newline character in the paragraph at the 0 nesting level of the list inside the parent placeholder. * A text run in a paragraph that is in a list will inherit its text style from the newline character in the paragraph at its corresponding nesting level of the list inside the parent placeholder. Inherited text styles are represented as unset fields in this message. If text is contained in a shape without a parent placeholder, unsetting these fields will revert the style to a value matching the defaults in the Slides editor. # The style of a bullet at this level of nesting. + "backgroundColor": { # A color that can either be fully opaque or fully transparent. # The background color of the text. If set, the color is either opaque or transparent, depending on if the `opaque_color` field in it is set. + "opaqueColor": { # A themeable solid color value. # If set, this will be used as an opaque color. If unset, this represents a transparent color. + "rgbColor": { # An RGB color. # An opaque RGB color. + "blue": 3.14, # The blue component of the color, from 0.0 to 1.0. + "green": 3.14, # The green component of the color, from 0.0 to 1.0. + "red": 3.14, # The red component of the color, from 0.0 to 1.0. + }, + "themeColor": "A String", # An opaque theme color. + }, + }, + "baselineOffset": "A String", # The text's vertical offset from its normal position. Text with `SUPERSCRIPT` or `SUBSCRIPT` baseline offsets is automatically rendered in a smaller font size, computed based on the `font_size` field. The `font_size` itself is not affected by changes in this field. + "bold": True or False, # Whether or not the text is rendered as bold. + "fontFamily": "A String", # The font family of the text. The font family can be any font from the Font menu in Slides or from [Google Fonts] (https://fonts.google.com/). If the font name is unrecognized, the text is rendered in `Arial`. Some fonts can affect the weight of the text. If an update request specifies values for both `font_family` and `bold`, the explicitly-set `bold` value is used. + "fontSize": { # A magnitude in a single direction in the specified units. # The size of the text's font. When read, the `font_size` will specified in points. + "magnitude": 3.14, # The magnitude. + "unit": "A String", # The units for magnitude. + }, + "foregroundColor": { # A color that can either be fully opaque or fully transparent. # The color of the text itself. If set, the color is either opaque or transparent, depending on if the `opaque_color` field in it is set. + "opaqueColor": { # A themeable solid color value. # If set, this will be used as an opaque color. If unset, this represents a transparent color. + "rgbColor": { # An RGB color. # An opaque RGB color. + "blue": 3.14, # The blue component of the color, from 0.0 to 1.0. + "green": 3.14, # The green component of the color, from 0.0 to 1.0. + "red": 3.14, # The red component of the color, from 0.0 to 1.0. + }, + "themeColor": "A String", # An opaque theme color. + }, + }, + "italic": True or False, # Whether or not the text is italicized. + "link": { # A hypertext link. # The hyperlink destination of the text. If unset, there is no link. Links are not inherited from parent text. Changing the link in an update request causes some other changes to the text style of the range: * When setting a link, the text foreground color will be set to ThemeColorType.HYPERLINK and the text will be underlined. If these fields are modified in the same request, those values will be used instead of the link defaults. * Setting a link on a text range that overlaps with an existing link will also update the existing link to point to the new URL. * Links are not settable on newline characters. As a result, setting a link on a text range that crosses a paragraph boundary, such as `"ABC\n123"`, will separate the newline character(s) into their own text runs. The link will be applied separately to the runs before and after the newline. * Removing a link will update the text style of the range to match the style of the preceding text (or the default text styles if the preceding text is another link) unless different styles are being set in the same request. + "pageObjectId": "A String", # If set, indicates this is a link to the specific page in this presentation with this ID. A page with this ID may not exist. + "relativeLink": "A String", # If set, indicates this is a link to a slide in this presentation, addressed by its position. + "slideIndex": 42, # If set, indicates this is a link to the slide at this zero-based index in the presentation. There may not be a slide at this index. + "url": "A String", # If set, indicates this is a link to the external web page at this URL. + }, + "smallCaps": True or False, # Whether or not the text is in small capital letters. + "strikethrough": True or False, # Whether or not the text is struck through. + "underline": True or False, # Whether or not the text is underlined. + "weightedFontFamily": { # Represents a font family and weight used to style a TextRun. # The font family and rendered weight of the text. This field is an extension of `font_family` meant to support explicit font weights without breaking backwards compatibility. As such, when reading the style of a range of text, the value of `weighted_font_family#font_family` will always be equal to that of `font_family`. However, when writing, if both fields are included in the field mask (either explicitly or through the wildcard `"*"`), their values are reconciled as follows: * If `font_family` is set and `weighted_font_family` is not, the value of `font_family` is applied with weight `400` ("normal"). * If both fields are set, the value of `font_family` must match that of `weighted_font_family#font_family`. If so, the font family and weight of `weighted_font_family` is applied. Otherwise, a 400 bad request error is returned. * If `weighted_font_family` is set and `font_family` is not, the font family and weight of `weighted_font_family` is applied. * If neither field is set, the font family and weight of the text inherit from the parent. Note that these properties cannot inherit separately from each other. If an update request specifies values for both `weighted_font_family` and `bold`, the `weighted_font_family` is applied first, then `bold`. If `weighted_font_family#weight` is not set, it defaults to `400`. If `weighted_font_family` is set, then `weighted_font_family#font_family` must also be set with a non-empty value. Otherwise, a 400 bad request error is returned. + "fontFamily": "A String", # The font family of the text. The font family can be any font from the Font menu in Slides or from [Google Fonts] (https://fonts.google.com/). If the font name is unrecognized, the text is rendered in `Arial`. + "weight": 42, # The rendered weight of the text. This field can have any value that is a multiple of `100` between `100` and `900`, inclusive. This range corresponds to the numerical values described in the CSS 2.1 Specification, [section 15.6](https://www.w3.org/TR/CSS21/fonts.html#font-boldness), with non-numerical values disallowed. Weights greater than or equal to `700` are considered bold, and weights less than `700`are not bold. The default value is `400` ("normal"). + }, + }, + }, + }, + }, + }, + "textElements": [ # The text contents broken down into its component parts, including styling information. This property is read-only. + { # A TextElement describes the content of a range of indices in the text content of a Shape or TableCell. + "autoText": { # A TextElement kind that represents auto text. # A TextElement representing a spot in the text that is dynamically replaced with content that can change over time. + "content": "A String", # The rendered content of this auto text, if available. + "style": { # Represents the styling that can be applied to a TextRun. If this text is contained in a shape with a parent placeholder, then these text styles may be inherited from the parent. Which text styles are inherited depend on the nesting level of lists: * A text run in a paragraph that is not in a list will inherit its text style from the the newline character in the paragraph at the 0 nesting level of the list inside the parent placeholder. * A text run in a paragraph that is in a list will inherit its text style from the newline character in the paragraph at its corresponding nesting level of the list inside the parent placeholder. Inherited text styles are represented as unset fields in this message. If text is contained in a shape without a parent placeholder, unsetting these fields will revert the style to a value matching the defaults in the Slides editor. # The styling applied to this auto text. + "backgroundColor": { # A color that can either be fully opaque or fully transparent. # The background color of the text. If set, the color is either opaque or transparent, depending on if the `opaque_color` field in it is set. + "opaqueColor": { # A themeable solid color value. # If set, this will be used as an opaque color. If unset, this represents a transparent color. + "rgbColor": { # An RGB color. # An opaque RGB color. + "blue": 3.14, # The blue component of the color, from 0.0 to 1.0. + "green": 3.14, # The green component of the color, from 0.0 to 1.0. + "red": 3.14, # The red component of the color, from 0.0 to 1.0. + }, + "themeColor": "A String", # An opaque theme color. + }, + }, + "baselineOffset": "A String", # The text's vertical offset from its normal position. Text with `SUPERSCRIPT` or `SUBSCRIPT` baseline offsets is automatically rendered in a smaller font size, computed based on the `font_size` field. The `font_size` itself is not affected by changes in this field. + "bold": True or False, # Whether or not the text is rendered as bold. + "fontFamily": "A String", # The font family of the text. The font family can be any font from the Font menu in Slides or from [Google Fonts] (https://fonts.google.com/). If the font name is unrecognized, the text is rendered in `Arial`. Some fonts can affect the weight of the text. If an update request specifies values for both `font_family` and `bold`, the explicitly-set `bold` value is used. + "fontSize": { # A magnitude in a single direction in the specified units. # The size of the text's font. When read, the `font_size` will specified in points. + "magnitude": 3.14, # The magnitude. + "unit": "A String", # The units for magnitude. + }, + "foregroundColor": { # A color that can either be fully opaque or fully transparent. # The color of the text itself. If set, the color is either opaque or transparent, depending on if the `opaque_color` field in it is set. + "opaqueColor": { # A themeable solid color value. # If set, this will be used as an opaque color. If unset, this represents a transparent color. + "rgbColor": { # An RGB color. # An opaque RGB color. + "blue": 3.14, # The blue component of the color, from 0.0 to 1.0. + "green": 3.14, # The green component of the color, from 0.0 to 1.0. + "red": 3.14, # The red component of the color, from 0.0 to 1.0. + }, + "themeColor": "A String", # An opaque theme color. + }, + }, + "italic": True or False, # Whether or not the text is italicized. + "link": { # A hypertext link. # The hyperlink destination of the text. If unset, there is no link. Links are not inherited from parent text. Changing the link in an update request causes some other changes to the text style of the range: * When setting a link, the text foreground color will be set to ThemeColorType.HYPERLINK and the text will be underlined. If these fields are modified in the same request, those values will be used instead of the link defaults. * Setting a link on a text range that overlaps with an existing link will also update the existing link to point to the new URL. * Links are not settable on newline characters. As a result, setting a link on a text range that crosses a paragraph boundary, such as `"ABC\n123"`, will separate the newline character(s) into their own text runs. The link will be applied separately to the runs before and after the newline. * Removing a link will update the text style of the range to match the style of the preceding text (or the default text styles if the preceding text is another link) unless different styles are being set in the same request. + "pageObjectId": "A String", # If set, indicates this is a link to the specific page in this presentation with this ID. A page with this ID may not exist. + "relativeLink": "A String", # If set, indicates this is a link to a slide in this presentation, addressed by its position. + "slideIndex": 42, # If set, indicates this is a link to the slide at this zero-based index in the presentation. There may not be a slide at this index. + "url": "A String", # If set, indicates this is a link to the external web page at this URL. + }, + "smallCaps": True or False, # Whether or not the text is in small capital letters. + "strikethrough": True or False, # Whether or not the text is struck through. + "underline": True or False, # Whether or not the text is underlined. + "weightedFontFamily": { # Represents a font family and weight used to style a TextRun. # The font family and rendered weight of the text. This field is an extension of `font_family` meant to support explicit font weights without breaking backwards compatibility. As such, when reading the style of a range of text, the value of `weighted_font_family#font_family` will always be equal to that of `font_family`. However, when writing, if both fields are included in the field mask (either explicitly or through the wildcard `"*"`), their values are reconciled as follows: * If `font_family` is set and `weighted_font_family` is not, the value of `font_family` is applied with weight `400` ("normal"). * If both fields are set, the value of `font_family` must match that of `weighted_font_family#font_family`. If so, the font family and weight of `weighted_font_family` is applied. Otherwise, a 400 bad request error is returned. * If `weighted_font_family` is set and `font_family` is not, the font family and weight of `weighted_font_family` is applied. * If neither field is set, the font family and weight of the text inherit from the parent. Note that these properties cannot inherit separately from each other. If an update request specifies values for both `weighted_font_family` and `bold`, the `weighted_font_family` is applied first, then `bold`. If `weighted_font_family#weight` is not set, it defaults to `400`. If `weighted_font_family` is set, then `weighted_font_family#font_family` must also be set with a non-empty value. Otherwise, a 400 bad request error is returned. + "fontFamily": "A String", # The font family of the text. The font family can be any font from the Font menu in Slides or from [Google Fonts] (https://fonts.google.com/). If the font name is unrecognized, the text is rendered in `Arial`. + "weight": 42, # The rendered weight of the text. This field can have any value that is a multiple of `100` between `100` and `900`, inclusive. This range corresponds to the numerical values described in the CSS 2.1 Specification, [section 15.6](https://www.w3.org/TR/CSS21/fonts.html#font-boldness), with non-numerical values disallowed. Weights greater than or equal to `700` are considered bold, and weights less than `700`are not bold. The default value is `400` ("normal"). + }, + }, + "type": "A String", # The type of this auto text. + }, + "endIndex": 42, # The zero-based end index of this text element, exclusive, in Unicode code units. + "paragraphMarker": { # A TextElement kind that represents the beginning of a new paragraph. # A marker representing the beginning of a new paragraph. The `start_index` and `end_index` of this TextElement represent the range of the paragraph. Other TextElements with an index range contained inside this paragraph's range are considered to be part of this paragraph. The range of indices of two separate paragraphs will never overlap. + "bullet": { # Describes the bullet of a paragraph. # The bullet for this paragraph. If not present, the paragraph does not belong to a list. + "bulletStyle": { # Represents the styling that can be applied to a TextRun. If this text is contained in a shape with a parent placeholder, then these text styles may be inherited from the parent. Which text styles are inherited depend on the nesting level of lists: * A text run in a paragraph that is not in a list will inherit its text style from the the newline character in the paragraph at the 0 nesting level of the list inside the parent placeholder. * A text run in a paragraph that is in a list will inherit its text style from the newline character in the paragraph at its corresponding nesting level of the list inside the parent placeholder. Inherited text styles are represented as unset fields in this message. If text is contained in a shape without a parent placeholder, unsetting these fields will revert the style to a value matching the defaults in the Slides editor. # The paragraph specific text style applied to this bullet. + "backgroundColor": { # A color that can either be fully opaque or fully transparent. # The background color of the text. If set, the color is either opaque or transparent, depending on if the `opaque_color` field in it is set. + "opaqueColor": { # A themeable solid color value. # If set, this will be used as an opaque color. If unset, this represents a transparent color. + "rgbColor": { # An RGB color. # An opaque RGB color. + "blue": 3.14, # The blue component of the color, from 0.0 to 1.0. + "green": 3.14, # The green component of the color, from 0.0 to 1.0. + "red": 3.14, # The red component of the color, from 0.0 to 1.0. + }, + "themeColor": "A String", # An opaque theme color. + }, + }, + "baselineOffset": "A String", # The text's vertical offset from its normal position. Text with `SUPERSCRIPT` or `SUBSCRIPT` baseline offsets is automatically rendered in a smaller font size, computed based on the `font_size` field. The `font_size` itself is not affected by changes in this field. + "bold": True or False, # Whether or not the text is rendered as bold. + "fontFamily": "A String", # The font family of the text. The font family can be any font from the Font menu in Slides or from [Google Fonts] (https://fonts.google.com/). If the font name is unrecognized, the text is rendered in `Arial`. Some fonts can affect the weight of the text. If an update request specifies values for both `font_family` and `bold`, the explicitly-set `bold` value is used. + "fontSize": { # A magnitude in a single direction in the specified units. # The size of the text's font. When read, the `font_size` will specified in points. + "magnitude": 3.14, # The magnitude. + "unit": "A String", # The units for magnitude. + }, + "foregroundColor": { # A color that can either be fully opaque or fully transparent. # The color of the text itself. If set, the color is either opaque or transparent, depending on if the `opaque_color` field in it is set. + "opaqueColor": { # A themeable solid color value. # If set, this will be used as an opaque color. If unset, this represents a transparent color. + "rgbColor": { # An RGB color. # An opaque RGB color. + "blue": 3.14, # The blue component of the color, from 0.0 to 1.0. + "green": 3.14, # The green component of the color, from 0.0 to 1.0. + "red": 3.14, # The red component of the color, from 0.0 to 1.0. + }, + "themeColor": "A String", # An opaque theme color. + }, + }, + "italic": True or False, # Whether or not the text is italicized. + "link": { # A hypertext link. # The hyperlink destination of the text. If unset, there is no link. Links are not inherited from parent text. Changing the link in an update request causes some other changes to the text style of the range: * When setting a link, the text foreground color will be set to ThemeColorType.HYPERLINK and the text will be underlined. If these fields are modified in the same request, those values will be used instead of the link defaults. * Setting a link on a text range that overlaps with an existing link will also update the existing link to point to the new URL. * Links are not settable on newline characters. As a result, setting a link on a text range that crosses a paragraph boundary, such as `"ABC\n123"`, will separate the newline character(s) into their own text runs. The link will be applied separately to the runs before and after the newline. * Removing a link will update the text style of the range to match the style of the preceding text (or the default text styles if the preceding text is another link) unless different styles are being set in the same request. + "pageObjectId": "A String", # If set, indicates this is a link to the specific page in this presentation with this ID. A page with this ID may not exist. + "relativeLink": "A String", # If set, indicates this is a link to a slide in this presentation, addressed by its position. + "slideIndex": 42, # If set, indicates this is a link to the slide at this zero-based index in the presentation. There may not be a slide at this index. + "url": "A String", # If set, indicates this is a link to the external web page at this URL. + }, + "smallCaps": True or False, # Whether or not the text is in small capital letters. + "strikethrough": True or False, # Whether or not the text is struck through. + "underline": True or False, # Whether or not the text is underlined. + "weightedFontFamily": { # Represents a font family and weight used to style a TextRun. # The font family and rendered weight of the text. This field is an extension of `font_family` meant to support explicit font weights without breaking backwards compatibility. As such, when reading the style of a range of text, the value of `weighted_font_family#font_family` will always be equal to that of `font_family`. However, when writing, if both fields are included in the field mask (either explicitly or through the wildcard `"*"`), their values are reconciled as follows: * If `font_family` is set and `weighted_font_family` is not, the value of `font_family` is applied with weight `400` ("normal"). * If both fields are set, the value of `font_family` must match that of `weighted_font_family#font_family`. If so, the font family and weight of `weighted_font_family` is applied. Otherwise, a 400 bad request error is returned. * If `weighted_font_family` is set and `font_family` is not, the font family and weight of `weighted_font_family` is applied. * If neither field is set, the font family and weight of the text inherit from the parent. Note that these properties cannot inherit separately from each other. If an update request specifies values for both `weighted_font_family` and `bold`, the `weighted_font_family` is applied first, then `bold`. If `weighted_font_family#weight` is not set, it defaults to `400`. If `weighted_font_family` is set, then `weighted_font_family#font_family` must also be set with a non-empty value. Otherwise, a 400 bad request error is returned. + "fontFamily": "A String", # The font family of the text. The font family can be any font from the Font menu in Slides or from [Google Fonts] (https://fonts.google.com/). If the font name is unrecognized, the text is rendered in `Arial`. + "weight": 42, # The rendered weight of the text. This field can have any value that is a multiple of `100` between `100` and `900`, inclusive. This range corresponds to the numerical values described in the CSS 2.1 Specification, [section 15.6](https://www.w3.org/TR/CSS21/fonts.html#font-boldness), with non-numerical values disallowed. Weights greater than or equal to `700` are considered bold, and weights less than `700`are not bold. The default value is `400` ("normal"). + }, + }, + "glyph": "A String", # The rendered bullet glyph for this paragraph. + "listId": "A String", # The ID of the list this paragraph belongs to. + "nestingLevel": 42, # The nesting level of this paragraph in the list. + }, + "style": { # Styles that apply to a whole paragraph. If this text is contained in a shape with a parent placeholder, then these paragraph styles may be inherited from the parent. Which paragraph styles are inherited depend on the nesting level of lists: * A paragraph not in a list will inherit its paragraph style from the paragraph at the 0 nesting level of the list inside the parent placeholder. * A paragraph in a list will inherit its paragraph style from the paragraph at its corresponding nesting level of the list inside the parent placeholder. Inherited paragraph styles are represented as unset fields in this message. # The paragraph's style + "alignment": "A String", # The text alignment for this paragraph. + "direction": "A String", # The text direction of this paragraph. If unset, the value defaults to LEFT_TO_RIGHT since text direction is not inherited. + "indentEnd": { # A magnitude in a single direction in the specified units. # The amount indentation for the paragraph on the side that corresponds to the end of the text, based on the current text direction. If unset, the value is inherited from the parent. + "magnitude": 3.14, # The magnitude. + "unit": "A String", # The units for magnitude. + }, + "indentFirstLine": { # A magnitude in a single direction in the specified units. # The amount of indentation for the start of the first line of the paragraph. If unset, the value is inherited from the parent. + "magnitude": 3.14, # The magnitude. + "unit": "A String", # The units for magnitude. + }, + "indentStart": { # A magnitude in a single direction in the specified units. # The amount indentation for the paragraph on the side that corresponds to the start of the text, based on the current text direction. If unset, the value is inherited from the parent. + "magnitude": 3.14, # The magnitude. + "unit": "A String", # The units for magnitude. + }, + "lineSpacing": 3.14, # The amount of space between lines, as a percentage of normal, where normal is represented as 100.0. If unset, the value is inherited from the parent. + "spaceAbove": { # A magnitude in a single direction in the specified units. # The amount of extra space above the paragraph. If unset, the value is inherited from the parent. + "magnitude": 3.14, # The magnitude. + "unit": "A String", # The units for magnitude. + }, + "spaceBelow": { # A magnitude in a single direction in the specified units. # The amount of extra space below the paragraph. If unset, the value is inherited from the parent. + "magnitude": 3.14, # The magnitude. + "unit": "A String", # The units for magnitude. + }, + "spacingMode": "A String", # The spacing mode for the paragraph. + }, + }, + "startIndex": 42, # The zero-based start index of this text element, in Unicode code units. + "textRun": { # A TextElement kind that represents a run of text that all has the same styling. # A TextElement representing a run of text where all of the characters in the run have the same TextStyle. The `start_index` and `end_index` of TextRuns will always be fully contained in the index range of a single `paragraph_marker` TextElement. In other words, a TextRun will never span multiple paragraphs. + "content": "A String", # The text of this run. + "style": { # Represents the styling that can be applied to a TextRun. If this text is contained in a shape with a parent placeholder, then these text styles may be inherited from the parent. Which text styles are inherited depend on the nesting level of lists: * A text run in a paragraph that is not in a list will inherit its text style from the the newline character in the paragraph at the 0 nesting level of the list inside the parent placeholder. * A text run in a paragraph that is in a list will inherit its text style from the newline character in the paragraph at its corresponding nesting level of the list inside the parent placeholder. Inherited text styles are represented as unset fields in this message. If text is contained in a shape without a parent placeholder, unsetting these fields will revert the style to a value matching the defaults in the Slides editor. # The styling applied to this run. + "backgroundColor": { # A color that can either be fully opaque or fully transparent. # The background color of the text. If set, the color is either opaque or transparent, depending on if the `opaque_color` field in it is set. + "opaqueColor": { # A themeable solid color value. # If set, this will be used as an opaque color. If unset, this represents a transparent color. + "rgbColor": { # An RGB color. # An opaque RGB color. + "blue": 3.14, # The blue component of the color, from 0.0 to 1.0. + "green": 3.14, # The green component of the color, from 0.0 to 1.0. + "red": 3.14, # The red component of the color, from 0.0 to 1.0. + }, + "themeColor": "A String", # An opaque theme color. + }, + }, + "baselineOffset": "A String", # The text's vertical offset from its normal position. Text with `SUPERSCRIPT` or `SUBSCRIPT` baseline offsets is automatically rendered in a smaller font size, computed based on the `font_size` field. The `font_size` itself is not affected by changes in this field. + "bold": True or False, # Whether or not the text is rendered as bold. + "fontFamily": "A String", # The font family of the text. The font family can be any font from the Font menu in Slides or from [Google Fonts] (https://fonts.google.com/). If the font name is unrecognized, the text is rendered in `Arial`. Some fonts can affect the weight of the text. If an update request specifies values for both `font_family` and `bold`, the explicitly-set `bold` value is used. + "fontSize": { # A magnitude in a single direction in the specified units. # The size of the text's font. When read, the `font_size` will specified in points. + "magnitude": 3.14, # The magnitude. + "unit": "A String", # The units for magnitude. + }, + "foregroundColor": { # A color that can either be fully opaque or fully transparent. # The color of the text itself. If set, the color is either opaque or transparent, depending on if the `opaque_color` field in it is set. + "opaqueColor": { # A themeable solid color value. # If set, this will be used as an opaque color. If unset, this represents a transparent color. + "rgbColor": { # An RGB color. # An opaque RGB color. + "blue": 3.14, # The blue component of the color, from 0.0 to 1.0. + "green": 3.14, # The green component of the color, from 0.0 to 1.0. + "red": 3.14, # The red component of the color, from 0.0 to 1.0. + }, + "themeColor": "A String", # An opaque theme color. + }, + }, + "italic": True or False, # Whether or not the text is italicized. + "link": { # A hypertext link. # The hyperlink destination of the text. If unset, there is no link. Links are not inherited from parent text. Changing the link in an update request causes some other changes to the text style of the range: * When setting a link, the text foreground color will be set to ThemeColorType.HYPERLINK and the text will be underlined. If these fields are modified in the same request, those values will be used instead of the link defaults. * Setting a link on a text range that overlaps with an existing link will also update the existing link to point to the new URL. * Links are not settable on newline characters. As a result, setting a link on a text range that crosses a paragraph boundary, such as `"ABC\n123"`, will separate the newline character(s) into their own text runs. The link will be applied separately to the runs before and after the newline. * Removing a link will update the text style of the range to match the style of the preceding text (or the default text styles if the preceding text is another link) unless different styles are being set in the same request. + "pageObjectId": "A String", # If set, indicates this is a link to the specific page in this presentation with this ID. A page with this ID may not exist. + "relativeLink": "A String", # If set, indicates this is a link to a slide in this presentation, addressed by its position. + "slideIndex": 42, # If set, indicates this is a link to the slide at this zero-based index in the presentation. There may not be a slide at this index. + "url": "A String", # If set, indicates this is a link to the external web page at this URL. + }, + "smallCaps": True or False, # Whether or not the text is in small capital letters. + "strikethrough": True or False, # Whether or not the text is struck through. + "underline": True or False, # Whether or not the text is underlined. + "weightedFontFamily": { # Represents a font family and weight used to style a TextRun. # The font family and rendered weight of the text. This field is an extension of `font_family` meant to support explicit font weights without breaking backwards compatibility. As such, when reading the style of a range of text, the value of `weighted_font_family#font_family` will always be equal to that of `font_family`. However, when writing, if both fields are included in the field mask (either explicitly or through the wildcard `"*"`), their values are reconciled as follows: * If `font_family` is set and `weighted_font_family` is not, the value of `font_family` is applied with weight `400` ("normal"). * If both fields are set, the value of `font_family` must match that of `weighted_font_family#font_family`. If so, the font family and weight of `weighted_font_family` is applied. Otherwise, a 400 bad request error is returned. * If `weighted_font_family` is set and `font_family` is not, the font family and weight of `weighted_font_family` is applied. * If neither field is set, the font family and weight of the text inherit from the parent. Note that these properties cannot inherit separately from each other. If an update request specifies values for both `weighted_font_family` and `bold`, the `weighted_font_family` is applied first, then `bold`. If `weighted_font_family#weight` is not set, it defaults to `400`. If `weighted_font_family` is set, then `weighted_font_family#font_family` must also be set with a non-empty value. Otherwise, a 400 bad request error is returned. + "fontFamily": "A String", # The font family of the text. The font family can be any font from the Font menu in Slides or from [Google Fonts] (https://fonts.google.com/). If the font name is unrecognized, the text is rendered in `Arial`. + "weight": 42, # The rendered weight of the text. This field can have any value that is a multiple of `100` between `100` and `900`, inclusive. This range corresponds to the numerical values described in the CSS 2.1 Specification, [section 15.6](https://www.w3.org/TR/CSS21/fonts.html#font-boldness), with non-numerical values disallowed. Weights greater than or equal to `700` are considered bold, and weights less than `700`are not bold. The default value is `400` ("normal"). + }, + }, + }, + }, + ], + }, + }, + "sheetsChart": { # A PageElement kind representing a linked chart embedded from Google Sheets. # A linked chart embedded from Google Sheets. Unlinked charts are represented as images. + "chartId": 42, # The ID of the specific chart in the Google Sheets spreadsheet that is embedded. + "contentUrl": "A String", # The URL of an image of the embedded chart, with a default lifetime of 30 minutes. This URL is tagged with the account of the requester. Anyone with the URL effectively accesses the image as the original requester. Access to the image may be lost if the presentation's sharing settings change. + "sheetsChartProperties": { # The properties of the SheetsChart. # The properties of the Sheets chart. + "chartImageProperties": { # The properties of the Image. # The properties of the embedded chart image. + "brightness": 3.14, # The brightness effect of the image. The value should be in the interval [-1.0, 1.0], where 0 means no effect. This property is read-only. + "contrast": 3.14, # The contrast effect of the image. The value should be in the interval [-1.0, 1.0], where 0 means no effect. This property is read-only. + "cropProperties": { # The crop properties of an object enclosed in a container. For example, an Image. The crop properties is represented by the offsets of four edges which define a crop rectangle. The offsets are measured in percentage from the corresponding edges of the object's original bounding rectangle towards inside, relative to the object's original dimensions. - If the offset is in the interval (0, 1), the corresponding edge of crop rectangle is positioned inside of the object's original bounding rectangle. - If the offset is negative or greater than 1, the corresponding edge of crop rectangle is positioned outside of the object's original bounding rectangle. - If the left edge of the crop rectangle is on the right side of its right edge, the object will be flipped horizontally. - If the top edge of the crop rectangle is below its bottom edge, the object will be flipped vertically. - If all offsets and rotation angle is 0, the object is not cropped. After cropping, the content in the crop rectangle will be stretched to fit its container. # The crop properties of the image. If not set, the image is not cropped. This property is read-only. + "angle": 3.14, # The rotation angle of the crop window around its center, in radians. Rotation angle is applied after the offset. + "bottomOffset": 3.14, # The offset specifies the bottom edge of the crop rectangle that is located above the original bounding rectangle bottom edge, relative to the object's original height. + "leftOffset": 3.14, # The offset specifies the left edge of the crop rectangle that is located to the right of the original bounding rectangle left edge, relative to the object's original width. + "rightOffset": 3.14, # The offset specifies the right edge of the crop rectangle that is located to the left of the original bounding rectangle right edge, relative to the object's original width. + "topOffset": 3.14, # The offset specifies the top edge of the crop rectangle that is located below the original bounding rectangle top edge, relative to the object's original height. + }, + "link": { # A hypertext link. # The hyperlink destination of the image. If unset, there is no link. + "pageObjectId": "A String", # If set, indicates this is a link to the specific page in this presentation with this ID. A page with this ID may not exist. + "relativeLink": "A String", # If set, indicates this is a link to a slide in this presentation, addressed by its position. + "slideIndex": 42, # If set, indicates this is a link to the slide at this zero-based index in the presentation. There may not be a slide at this index. + "url": "A String", # If set, indicates this is a link to the external web page at this URL. + }, + "outline": { # The outline of a PageElement. If these fields are unset, they may be inherited from a parent placeholder if it exists. If there is no parent, the fields will default to the value used for new page elements created in the Slides editor, which may depend on the page element kind. # The outline of the image. If not set, the image has no outline. + "dashStyle": "A String", # The dash style of the outline. + "outlineFill": { # The fill of the outline. # The fill of the outline. + "solidFill": { # A solid color fill. The page or page element is filled entirely with the specified color value. If any field is unset, its value may be inherited from a parent placeholder if it exists. # Solid color fill. + "alpha": 3.14, # The fraction of this `color` that should be applied to the pixel. That is, the final pixel color is defined by the equation: pixel color = alpha * (color) + (1.0 - alpha) * (background color) This means that a value of 1.0 corresponds to a solid color, whereas a value of 0.0 corresponds to a completely transparent color. + "color": { # A themeable solid color value. # The color value of the solid fill. + "rgbColor": { # An RGB color. # An opaque RGB color. + "blue": 3.14, # The blue component of the color, from 0.0 to 1.0. + "green": 3.14, # The green component of the color, from 0.0 to 1.0. + "red": 3.14, # The red component of the color, from 0.0 to 1.0. + }, + "themeColor": "A String", # An opaque theme color. + }, + }, + }, + "propertyState": "A String", # The outline property state. Updating the outline on a page element will implicitly update this field to `RENDERED`, unless another value is specified in the same request. To have no outline on a page element, set this field to `NOT_RENDERED`. In this case, any other outline fields set in the same request will be ignored. + "weight": { # A magnitude in a single direction in the specified units. # The thickness of the outline. + "magnitude": 3.14, # The magnitude. + "unit": "A String", # The units for magnitude. + }, + }, + "recolor": { # A recolor effect applied on an image. # The recolor effect of the image. If not set, the image is not recolored. This property is read-only. + "name": "A String", # The name of the recolor effect. The name is determined from the `recolor_stops` by matching the gradient against the colors in the page's current color scheme. This property is read-only. + "recolorStops": [ # The recolor effect is represented by a gradient, which is a list of color stops. The colors in the gradient will replace the corresponding colors at the same position in the color palette and apply to the image. This property is read-only. + { # A color and position in a gradient band. + "alpha": 3.14, # The alpha value of this color in the gradient band. Defaults to 1.0, fully opaque. + "color": { # A themeable solid color value. # The color of the gradient stop. + "rgbColor": { # An RGB color. # An opaque RGB color. + "blue": 3.14, # The blue component of the color, from 0.0 to 1.0. + "green": 3.14, # The green component of the color, from 0.0 to 1.0. + "red": 3.14, # The red component of the color, from 0.0 to 1.0. + }, + "themeColor": "A String", # An opaque theme color. + }, + "position": 3.14, # The relative position of the color stop in the gradient band measured in percentage. The value should be in the interval [0.0, 1.0]. + }, + ], + }, + "shadow": { # The shadow properties of a page element. If these fields are unset, they may be inherited from a parent placeholder if it exists. If there is no parent, the fields will default to the value used for new page elements created in the Slides editor, which may depend on the page element kind. # The shadow of the image. If not set, the image has no shadow. This property is read-only. + "alignment": "A String", # The alignment point of the shadow, that sets the origin for translate, scale and skew of the shadow. This property is read-only. + "alpha": 3.14, # The alpha of the shadow's color, from 0.0 to 1.0. + "blurRadius": { # A magnitude in a single direction in the specified units. # The radius of the shadow blur. The larger the radius, the more diffuse the shadow becomes. + "magnitude": 3.14, # The magnitude. + "unit": "A String", # The units for magnitude. + }, + "color": { # A themeable solid color value. # The shadow color value. + "rgbColor": { # An RGB color. # An opaque RGB color. + "blue": 3.14, # The blue component of the color, from 0.0 to 1.0. + "green": 3.14, # The green component of the color, from 0.0 to 1.0. + "red": 3.14, # The red component of the color, from 0.0 to 1.0. + }, + "themeColor": "A String", # An opaque theme color. + }, + "propertyState": "A String", # The shadow property state. Updating the shadow on a page element will implicitly update this field to `RENDERED`, unless another value is specified in the same request. To have no shadow on a page element, set this field to `NOT_RENDERED`. In this case, any other shadow fields set in the same request will be ignored. + "rotateWithShape": True or False, # Whether the shadow should rotate with the shape. This property is read-only. + "transform": { # AffineTransform uses a 3x3 matrix with an implied last row of [ 0 0 1 ] to transform source coordinates (x,y) into destination coordinates (x', y') according to: x' x = shear_y scale_y translate_y 1 [ 1 ] After transformation, x' = scale_x * x + shear_x * y + translate_x; y' = scale_y * y + shear_y * x + translate_y; This message is therefore composed of these six matrix elements. # Transform that encodes the translate, scale, and skew of the shadow, relative to the alignment position. + "scaleX": 3.14, # The X coordinate scaling element. + "scaleY": 3.14, # The Y coordinate scaling element. + "shearX": 3.14, # The X coordinate shearing element. + "shearY": 3.14, # The Y coordinate shearing element. + "translateX": 3.14, # The X coordinate translation element. + "translateY": 3.14, # The Y coordinate translation element. + "unit": "A String", # The units for translate elements. + }, + "type": "A String", # The type of the shadow. This property is read-only. + }, + "transparency": 3.14, # The transparency effect of the image. The value should be in the interval [0.0, 1.0], where 0 means no effect and 1 means completely transparent. This property is read-only. + }, + }, + "spreadsheetId": "A String", # The ID of the Google Sheets spreadsheet that contains the source chart. + }, + "size": { # A width and height. # The size of the page element. + "height": { # A magnitude in a single direction in the specified units. # The height of the object. + "magnitude": 3.14, # The magnitude. + "unit": "A String", # The units for magnitude. + }, + "width": { # A magnitude in a single direction in the specified units. # The width of the object. + "magnitude": 3.14, # The magnitude. + "unit": "A String", # The units for magnitude. + }, + }, + "table": { # A PageElement kind representing a table. # A table page element. + "columns": 42, # Number of columns in the table. + "horizontalBorderRows": [ # Properties of horizontal cell borders. A table's horizontal cell borders are represented as a grid. The grid has one more row than the number of rows in the table and the same number of columns as the table. For example, if the table is 3 x 3, its horizontal borders will be represented as a grid with 4 rows and 3 columns. + { # Contents of each border row in a table. + "tableBorderCells": [ # Properties of each border cell. When a border's adjacent table cells are merged, it is not included in the response. + { # The properties of each border cell. + "location": { # A location of a single table cell within a table. # The location of the border within the border table. + "columnIndex": 42, # The 0-based column index. + "rowIndex": 42, # The 0-based row index. + }, + "tableBorderProperties": { # The border styling properties of the TableBorderCell. # The border properties. + "dashStyle": "A String", # The dash style of the border. + "tableBorderFill": { # The fill of the border. # The fill of the table border. + "solidFill": { # A solid color fill. The page or page element is filled entirely with the specified color value. If any field is unset, its value may be inherited from a parent placeholder if it exists. # Solid fill. + "alpha": 3.14, # The fraction of this `color` that should be applied to the pixel. That is, the final pixel color is defined by the equation: pixel color = alpha * (color) + (1.0 - alpha) * (background color) This means that a value of 1.0 corresponds to a solid color, whereas a value of 0.0 corresponds to a completely transparent color. + "color": { # A themeable solid color value. # The color value of the solid fill. + "rgbColor": { # An RGB color. # An opaque RGB color. + "blue": 3.14, # The blue component of the color, from 0.0 to 1.0. + "green": 3.14, # The green component of the color, from 0.0 to 1.0. + "red": 3.14, # The red component of the color, from 0.0 to 1.0. + }, + "themeColor": "A String", # An opaque theme color. + }, + }, + }, + "weight": { # A magnitude in a single direction in the specified units. # The thickness of the border. + "magnitude": 3.14, # The magnitude. + "unit": "A String", # The units for magnitude. + }, + }, + }, + ], + }, + ], + "rows": 42, # Number of rows in the table. + "tableColumns": [ # Properties of each column. + { # Properties of each column in a table. + "columnWidth": { # A magnitude in a single direction in the specified units. # Width of a column. + "magnitude": 3.14, # The magnitude. + "unit": "A String", # The units for magnitude. + }, + }, + ], + "tableRows": [ # Properties and contents of each row. Cells that span multiple rows are contained in only one of these rows and have a row_span greater than 1. + { # Properties and contents of each row in a table. + "rowHeight": { # A magnitude in a single direction in the specified units. # Height of a row. + "magnitude": 3.14, # The magnitude. + "unit": "A String", # The units for magnitude. + }, + "tableCells": [ # Properties and contents of each cell. Cells that span multiple columns are represented only once with a column_span greater than 1. As a result, the length of this collection does not always match the number of columns of the entire table. + { # Properties and contents of each table cell. + "columnSpan": 42, # Column span of the cell. + "location": { # A location of a single table cell within a table. # The location of the cell within the table. + "columnIndex": 42, # The 0-based column index. + "rowIndex": 42, # The 0-based row index. + }, + "rowSpan": 42, # Row span of the cell. + "tableCellProperties": { # The properties of the TableCell. # The properties of the table cell. + "contentAlignment": "A String", # The alignment of the content in the table cell. The default alignment matches the alignment for newly created table cells in the Slides editor. + "tableCellBackgroundFill": { # The table cell background fill. # The background fill of the table cell. The default fill matches the fill for newly created table cells in the Slides editor. + "propertyState": "A String", # The background fill property state. Updating the fill on a table cell will implicitly update this field to `RENDERED`, unless another value is specified in the same request. To have no fill on a table cell, set this field to `NOT_RENDERED`. In this case, any other fill fields set in the same request will be ignored. + "solidFill": { # A solid color fill. The page or page element is filled entirely with the specified color value. If any field is unset, its value may be inherited from a parent placeholder if it exists. # Solid color fill. + "alpha": 3.14, # The fraction of this `color` that should be applied to the pixel. That is, the final pixel color is defined by the equation: pixel color = alpha * (color) + (1.0 - alpha) * (background color) This means that a value of 1.0 corresponds to a solid color, whereas a value of 0.0 corresponds to a completely transparent color. + "color": { # A themeable solid color value. # The color value of the solid fill. + "rgbColor": { # An RGB color. # An opaque RGB color. + "blue": 3.14, # The blue component of the color, from 0.0 to 1.0. + "green": 3.14, # The green component of the color, from 0.0 to 1.0. + "red": 3.14, # The red component of the color, from 0.0 to 1.0. + }, + "themeColor": "A String", # An opaque theme color. + }, + }, + }, + }, + "text": { # The general text content. The text must reside in a compatible shape (e.g. text box or rectangle) or a table cell in a page. # The text content of the cell. + "lists": { # The bulleted lists contained in this text, keyed by list ID. + "a_key": { # A List describes the look and feel of bullets belonging to paragraphs associated with a list. A paragraph that is part of a list has an implicit reference to that list's ID. + "listId": "A String", # The ID of the list. + "nestingLevel": { # A map of nesting levels to the properties of bullets at the associated level. A list has at most nine levels of nesting, so the possible values for the keys of this map are 0 through 8, inclusive. + "a_key": { # Contains properties describing the look and feel of a list bullet at a given level of nesting. + "bulletStyle": { # Represents the styling that can be applied to a TextRun. If this text is contained in a shape with a parent placeholder, then these text styles may be inherited from the parent. Which text styles are inherited depend on the nesting level of lists: * A text run in a paragraph that is not in a list will inherit its text style from the the newline character in the paragraph at the 0 nesting level of the list inside the parent placeholder. * A text run in a paragraph that is in a list will inherit its text style from the newline character in the paragraph at its corresponding nesting level of the list inside the parent placeholder. Inherited text styles are represented as unset fields in this message. If text is contained in a shape without a parent placeholder, unsetting these fields will revert the style to a value matching the defaults in the Slides editor. # The style of a bullet at this level of nesting. + "backgroundColor": { # A color that can either be fully opaque or fully transparent. # The background color of the text. If set, the color is either opaque or transparent, depending on if the `opaque_color` field in it is set. + "opaqueColor": { # A themeable solid color value. # If set, this will be used as an opaque color. If unset, this represents a transparent color. + "rgbColor": { # An RGB color. # An opaque RGB color. + "blue": 3.14, # The blue component of the color, from 0.0 to 1.0. + "green": 3.14, # The green component of the color, from 0.0 to 1.0. + "red": 3.14, # The red component of the color, from 0.0 to 1.0. + }, + "themeColor": "A String", # An opaque theme color. + }, + }, + "baselineOffset": "A String", # The text's vertical offset from its normal position. Text with `SUPERSCRIPT` or `SUBSCRIPT` baseline offsets is automatically rendered in a smaller font size, computed based on the `font_size` field. The `font_size` itself is not affected by changes in this field. + "bold": True or False, # Whether or not the text is rendered as bold. + "fontFamily": "A String", # The font family of the text. The font family can be any font from the Font menu in Slides or from [Google Fonts] (https://fonts.google.com/). If the font name is unrecognized, the text is rendered in `Arial`. Some fonts can affect the weight of the text. If an update request specifies values for both `font_family` and `bold`, the explicitly-set `bold` value is used. + "fontSize": { # A magnitude in a single direction in the specified units. # The size of the text's font. When read, the `font_size` will specified in points. + "magnitude": 3.14, # The magnitude. + "unit": "A String", # The units for magnitude. + }, + "foregroundColor": { # A color that can either be fully opaque or fully transparent. # The color of the text itself. If set, the color is either opaque or transparent, depending on if the `opaque_color` field in it is set. + "opaqueColor": { # A themeable solid color value. # If set, this will be used as an opaque color. If unset, this represents a transparent color. + "rgbColor": { # An RGB color. # An opaque RGB color. + "blue": 3.14, # The blue component of the color, from 0.0 to 1.0. + "green": 3.14, # The green component of the color, from 0.0 to 1.0. + "red": 3.14, # The red component of the color, from 0.0 to 1.0. + }, + "themeColor": "A String", # An opaque theme color. + }, + }, + "italic": True or False, # Whether or not the text is italicized. + "link": { # A hypertext link. # The hyperlink destination of the text. If unset, there is no link. Links are not inherited from parent text. Changing the link in an update request causes some other changes to the text style of the range: * When setting a link, the text foreground color will be set to ThemeColorType.HYPERLINK and the text will be underlined. If these fields are modified in the same request, those values will be used instead of the link defaults. * Setting a link on a text range that overlaps with an existing link will also update the existing link to point to the new URL. * Links are not settable on newline characters. As a result, setting a link on a text range that crosses a paragraph boundary, such as `"ABC\n123"`, will separate the newline character(s) into their own text runs. The link will be applied separately to the runs before and after the newline. * Removing a link will update the text style of the range to match the style of the preceding text (or the default text styles if the preceding text is another link) unless different styles are being set in the same request. + "pageObjectId": "A String", # If set, indicates this is a link to the specific page in this presentation with this ID. A page with this ID may not exist. + "relativeLink": "A String", # If set, indicates this is a link to a slide in this presentation, addressed by its position. + "slideIndex": 42, # If set, indicates this is a link to the slide at this zero-based index in the presentation. There may not be a slide at this index. + "url": "A String", # If set, indicates this is a link to the external web page at this URL. + }, + "smallCaps": True or False, # Whether or not the text is in small capital letters. + "strikethrough": True or False, # Whether or not the text is struck through. + "underline": True or False, # Whether or not the text is underlined. + "weightedFontFamily": { # Represents a font family and weight used to style a TextRun. # The font family and rendered weight of the text. This field is an extension of `font_family` meant to support explicit font weights without breaking backwards compatibility. As such, when reading the style of a range of text, the value of `weighted_font_family#font_family` will always be equal to that of `font_family`. However, when writing, if both fields are included in the field mask (either explicitly or through the wildcard `"*"`), their values are reconciled as follows: * If `font_family` is set and `weighted_font_family` is not, the value of `font_family` is applied with weight `400` ("normal"). * If both fields are set, the value of `font_family` must match that of `weighted_font_family#font_family`. If so, the font family and weight of `weighted_font_family` is applied. Otherwise, a 400 bad request error is returned. * If `weighted_font_family` is set and `font_family` is not, the font family and weight of `weighted_font_family` is applied. * If neither field is set, the font family and weight of the text inherit from the parent. Note that these properties cannot inherit separately from each other. If an update request specifies values for both `weighted_font_family` and `bold`, the `weighted_font_family` is applied first, then `bold`. If `weighted_font_family#weight` is not set, it defaults to `400`. If `weighted_font_family` is set, then `weighted_font_family#font_family` must also be set with a non-empty value. Otherwise, a 400 bad request error is returned. + "fontFamily": "A String", # The font family of the text. The font family can be any font from the Font menu in Slides or from [Google Fonts] (https://fonts.google.com/). If the font name is unrecognized, the text is rendered in `Arial`. + "weight": 42, # The rendered weight of the text. This field can have any value that is a multiple of `100` between `100` and `900`, inclusive. This range corresponds to the numerical values described in the CSS 2.1 Specification, [section 15.6](https://www.w3.org/TR/CSS21/fonts.html#font-boldness), with non-numerical values disallowed. Weights greater than or equal to `700` are considered bold, and weights less than `700`are not bold. The default value is `400` ("normal"). + }, + }, + }, + }, + }, + }, + "textElements": [ # The text contents broken down into its component parts, including styling information. This property is read-only. + { # A TextElement describes the content of a range of indices in the text content of a Shape or TableCell. + "autoText": { # A TextElement kind that represents auto text. # A TextElement representing a spot in the text that is dynamically replaced with content that can change over time. + "content": "A String", # The rendered content of this auto text, if available. + "style": { # Represents the styling that can be applied to a TextRun. If this text is contained in a shape with a parent placeholder, then these text styles may be inherited from the parent. Which text styles are inherited depend on the nesting level of lists: * A text run in a paragraph that is not in a list will inherit its text style from the the newline character in the paragraph at the 0 nesting level of the list inside the parent placeholder. * A text run in a paragraph that is in a list will inherit its text style from the newline character in the paragraph at its corresponding nesting level of the list inside the parent placeholder. Inherited text styles are represented as unset fields in this message. If text is contained in a shape without a parent placeholder, unsetting these fields will revert the style to a value matching the defaults in the Slides editor. # The styling applied to this auto text. + "backgroundColor": { # A color that can either be fully opaque or fully transparent. # The background color of the text. If set, the color is either opaque or transparent, depending on if the `opaque_color` field in it is set. + "opaqueColor": { # A themeable solid color value. # If set, this will be used as an opaque color. If unset, this represents a transparent color. + "rgbColor": { # An RGB color. # An opaque RGB color. + "blue": 3.14, # The blue component of the color, from 0.0 to 1.0. + "green": 3.14, # The green component of the color, from 0.0 to 1.0. + "red": 3.14, # The red component of the color, from 0.0 to 1.0. + }, + "themeColor": "A String", # An opaque theme color. + }, + }, + "baselineOffset": "A String", # The text's vertical offset from its normal position. Text with `SUPERSCRIPT` or `SUBSCRIPT` baseline offsets is automatically rendered in a smaller font size, computed based on the `font_size` field. The `font_size` itself is not affected by changes in this field. + "bold": True or False, # Whether or not the text is rendered as bold. + "fontFamily": "A String", # The font family of the text. The font family can be any font from the Font menu in Slides or from [Google Fonts] (https://fonts.google.com/). If the font name is unrecognized, the text is rendered in `Arial`. Some fonts can affect the weight of the text. If an update request specifies values for both `font_family` and `bold`, the explicitly-set `bold` value is used. + "fontSize": { # A magnitude in a single direction in the specified units. # The size of the text's font. When read, the `font_size` will specified in points. + "magnitude": 3.14, # The magnitude. + "unit": "A String", # The units for magnitude. + }, + "foregroundColor": { # A color that can either be fully opaque or fully transparent. # The color of the text itself. If set, the color is either opaque or transparent, depending on if the `opaque_color` field in it is set. + "opaqueColor": { # A themeable solid color value. # If set, this will be used as an opaque color. If unset, this represents a transparent color. + "rgbColor": { # An RGB color. # An opaque RGB color. + "blue": 3.14, # The blue component of the color, from 0.0 to 1.0. + "green": 3.14, # The green component of the color, from 0.0 to 1.0. + "red": 3.14, # The red component of the color, from 0.0 to 1.0. + }, + "themeColor": "A String", # An opaque theme color. + }, + }, + "italic": True or False, # Whether or not the text is italicized. + "link": { # A hypertext link. # The hyperlink destination of the text. If unset, there is no link. Links are not inherited from parent text. Changing the link in an update request causes some other changes to the text style of the range: * When setting a link, the text foreground color will be set to ThemeColorType.HYPERLINK and the text will be underlined. If these fields are modified in the same request, those values will be used instead of the link defaults. * Setting a link on a text range that overlaps with an existing link will also update the existing link to point to the new URL. * Links are not settable on newline characters. As a result, setting a link on a text range that crosses a paragraph boundary, such as `"ABC\n123"`, will separate the newline character(s) into their own text runs. The link will be applied separately to the runs before and after the newline. * Removing a link will update the text style of the range to match the style of the preceding text (or the default text styles if the preceding text is another link) unless different styles are being set in the same request. + "pageObjectId": "A String", # If set, indicates this is a link to the specific page in this presentation with this ID. A page with this ID may not exist. + "relativeLink": "A String", # If set, indicates this is a link to a slide in this presentation, addressed by its position. + "slideIndex": 42, # If set, indicates this is a link to the slide at this zero-based index in the presentation. There may not be a slide at this index. + "url": "A String", # If set, indicates this is a link to the external web page at this URL. + }, + "smallCaps": True or False, # Whether or not the text is in small capital letters. + "strikethrough": True or False, # Whether or not the text is struck through. + "underline": True or False, # Whether or not the text is underlined. + "weightedFontFamily": { # Represents a font family and weight used to style a TextRun. # The font family and rendered weight of the text. This field is an extension of `font_family` meant to support explicit font weights without breaking backwards compatibility. As such, when reading the style of a range of text, the value of `weighted_font_family#font_family` will always be equal to that of `font_family`. However, when writing, if both fields are included in the field mask (either explicitly or through the wildcard `"*"`), their values are reconciled as follows: * If `font_family` is set and `weighted_font_family` is not, the value of `font_family` is applied with weight `400` ("normal"). * If both fields are set, the value of `font_family` must match that of `weighted_font_family#font_family`. If so, the font family and weight of `weighted_font_family` is applied. Otherwise, a 400 bad request error is returned. * If `weighted_font_family` is set and `font_family` is not, the font family and weight of `weighted_font_family` is applied. * If neither field is set, the font family and weight of the text inherit from the parent. Note that these properties cannot inherit separately from each other. If an update request specifies values for both `weighted_font_family` and `bold`, the `weighted_font_family` is applied first, then `bold`. If `weighted_font_family#weight` is not set, it defaults to `400`. If `weighted_font_family` is set, then `weighted_font_family#font_family` must also be set with a non-empty value. Otherwise, a 400 bad request error is returned. + "fontFamily": "A String", # The font family of the text. The font family can be any font from the Font menu in Slides or from [Google Fonts] (https://fonts.google.com/). If the font name is unrecognized, the text is rendered in `Arial`. + "weight": 42, # The rendered weight of the text. This field can have any value that is a multiple of `100` between `100` and `900`, inclusive. This range corresponds to the numerical values described in the CSS 2.1 Specification, [section 15.6](https://www.w3.org/TR/CSS21/fonts.html#font-boldness), with non-numerical values disallowed. Weights greater than or equal to `700` are considered bold, and weights less than `700`are not bold. The default value is `400` ("normal"). + }, + }, + "type": "A String", # The type of this auto text. + }, + "endIndex": 42, # The zero-based end index of this text element, exclusive, in Unicode code units. + "paragraphMarker": { # A TextElement kind that represents the beginning of a new paragraph. # A marker representing the beginning of a new paragraph. The `start_index` and `end_index` of this TextElement represent the range of the paragraph. Other TextElements with an index range contained inside this paragraph's range are considered to be part of this paragraph. The range of indices of two separate paragraphs will never overlap. + "bullet": { # Describes the bullet of a paragraph. # The bullet for this paragraph. If not present, the paragraph does not belong to a list. + "bulletStyle": { # Represents the styling that can be applied to a TextRun. If this text is contained in a shape with a parent placeholder, then these text styles may be inherited from the parent. Which text styles are inherited depend on the nesting level of lists: * A text run in a paragraph that is not in a list will inherit its text style from the the newline character in the paragraph at the 0 nesting level of the list inside the parent placeholder. * A text run in a paragraph that is in a list will inherit its text style from the newline character in the paragraph at its corresponding nesting level of the list inside the parent placeholder. Inherited text styles are represented as unset fields in this message. If text is contained in a shape without a parent placeholder, unsetting these fields will revert the style to a value matching the defaults in the Slides editor. # The paragraph specific text style applied to this bullet. + "backgroundColor": { # A color that can either be fully opaque or fully transparent. # The background color of the text. If set, the color is either opaque or transparent, depending on if the `opaque_color` field in it is set. + "opaqueColor": { # A themeable solid color value. # If set, this will be used as an opaque color. If unset, this represents a transparent color. + "rgbColor": { # An RGB color. # An opaque RGB color. + "blue": 3.14, # The blue component of the color, from 0.0 to 1.0. + "green": 3.14, # The green component of the color, from 0.0 to 1.0. + "red": 3.14, # The red component of the color, from 0.0 to 1.0. + }, + "themeColor": "A String", # An opaque theme color. + }, + }, + "baselineOffset": "A String", # The text's vertical offset from its normal position. Text with `SUPERSCRIPT` or `SUBSCRIPT` baseline offsets is automatically rendered in a smaller font size, computed based on the `font_size` field. The `font_size` itself is not affected by changes in this field. + "bold": True or False, # Whether or not the text is rendered as bold. + "fontFamily": "A String", # The font family of the text. The font family can be any font from the Font menu in Slides or from [Google Fonts] (https://fonts.google.com/). If the font name is unrecognized, the text is rendered in `Arial`. Some fonts can affect the weight of the text. If an update request specifies values for both `font_family` and `bold`, the explicitly-set `bold` value is used. + "fontSize": { # A magnitude in a single direction in the specified units. # The size of the text's font. When read, the `font_size` will specified in points. + "magnitude": 3.14, # The magnitude. + "unit": "A String", # The units for magnitude. + }, + "foregroundColor": { # A color that can either be fully opaque or fully transparent. # The color of the text itself. If set, the color is either opaque or transparent, depending on if the `opaque_color` field in it is set. + "opaqueColor": { # A themeable solid color value. # If set, this will be used as an opaque color. If unset, this represents a transparent color. + "rgbColor": { # An RGB color. # An opaque RGB color. + "blue": 3.14, # The blue component of the color, from 0.0 to 1.0. + "green": 3.14, # The green component of the color, from 0.0 to 1.0. + "red": 3.14, # The red component of the color, from 0.0 to 1.0. + }, + "themeColor": "A String", # An opaque theme color. + }, + }, + "italic": True or False, # Whether or not the text is italicized. + "link": { # A hypertext link. # The hyperlink destination of the text. If unset, there is no link. Links are not inherited from parent text. Changing the link in an update request causes some other changes to the text style of the range: * When setting a link, the text foreground color will be set to ThemeColorType.HYPERLINK and the text will be underlined. If these fields are modified in the same request, those values will be used instead of the link defaults. * Setting a link on a text range that overlaps with an existing link will also update the existing link to point to the new URL. * Links are not settable on newline characters. As a result, setting a link on a text range that crosses a paragraph boundary, such as `"ABC\n123"`, will separate the newline character(s) into their own text runs. The link will be applied separately to the runs before and after the newline. * Removing a link will update the text style of the range to match the style of the preceding text (or the default text styles if the preceding text is another link) unless different styles are being set in the same request. + "pageObjectId": "A String", # If set, indicates this is a link to the specific page in this presentation with this ID. A page with this ID may not exist. + "relativeLink": "A String", # If set, indicates this is a link to a slide in this presentation, addressed by its position. + "slideIndex": 42, # If set, indicates this is a link to the slide at this zero-based index in the presentation. There may not be a slide at this index. + "url": "A String", # If set, indicates this is a link to the external web page at this URL. + }, + "smallCaps": True or False, # Whether or not the text is in small capital letters. + "strikethrough": True or False, # Whether or not the text is struck through. + "underline": True or False, # Whether or not the text is underlined. + "weightedFontFamily": { # Represents a font family and weight used to style a TextRun. # The font family and rendered weight of the text. This field is an extension of `font_family` meant to support explicit font weights without breaking backwards compatibility. As such, when reading the style of a range of text, the value of `weighted_font_family#font_family` will always be equal to that of `font_family`. However, when writing, if both fields are included in the field mask (either explicitly or through the wildcard `"*"`), their values are reconciled as follows: * If `font_family` is set and `weighted_font_family` is not, the value of `font_family` is applied with weight `400` ("normal"). * If both fields are set, the value of `font_family` must match that of `weighted_font_family#font_family`. If so, the font family and weight of `weighted_font_family` is applied. Otherwise, a 400 bad request error is returned. * If `weighted_font_family` is set and `font_family` is not, the font family and weight of `weighted_font_family` is applied. * If neither field is set, the font family and weight of the text inherit from the parent. Note that these properties cannot inherit separately from each other. If an update request specifies values for both `weighted_font_family` and `bold`, the `weighted_font_family` is applied first, then `bold`. If `weighted_font_family#weight` is not set, it defaults to `400`. If `weighted_font_family` is set, then `weighted_font_family#font_family` must also be set with a non-empty value. Otherwise, a 400 bad request error is returned. + "fontFamily": "A String", # The font family of the text. The font family can be any font from the Font menu in Slides or from [Google Fonts] (https://fonts.google.com/). If the font name is unrecognized, the text is rendered in `Arial`. + "weight": 42, # The rendered weight of the text. This field can have any value that is a multiple of `100` between `100` and `900`, inclusive. This range corresponds to the numerical values described in the CSS 2.1 Specification, [section 15.6](https://www.w3.org/TR/CSS21/fonts.html#font-boldness), with non-numerical values disallowed. Weights greater than or equal to `700` are considered bold, and weights less than `700`are not bold. The default value is `400` ("normal"). + }, + }, + "glyph": "A String", # The rendered bullet glyph for this paragraph. + "listId": "A String", # The ID of the list this paragraph belongs to. + "nestingLevel": 42, # The nesting level of this paragraph in the list. + }, + "style": { # Styles that apply to a whole paragraph. If this text is contained in a shape with a parent placeholder, then these paragraph styles may be inherited from the parent. Which paragraph styles are inherited depend on the nesting level of lists: * A paragraph not in a list will inherit its paragraph style from the paragraph at the 0 nesting level of the list inside the parent placeholder. * A paragraph in a list will inherit its paragraph style from the paragraph at its corresponding nesting level of the list inside the parent placeholder. Inherited paragraph styles are represented as unset fields in this message. # The paragraph's style + "alignment": "A String", # The text alignment for this paragraph. + "direction": "A String", # The text direction of this paragraph. If unset, the value defaults to LEFT_TO_RIGHT since text direction is not inherited. + "indentEnd": { # A magnitude in a single direction in the specified units. # The amount indentation for the paragraph on the side that corresponds to the end of the text, based on the current text direction. If unset, the value is inherited from the parent. + "magnitude": 3.14, # The magnitude. + "unit": "A String", # The units for magnitude. + }, + "indentFirstLine": { # A magnitude in a single direction in the specified units. # The amount of indentation for the start of the first line of the paragraph. If unset, the value is inherited from the parent. + "magnitude": 3.14, # The magnitude. + "unit": "A String", # The units for magnitude. + }, + "indentStart": { # A magnitude in a single direction in the specified units. # The amount indentation for the paragraph on the side that corresponds to the start of the text, based on the current text direction. If unset, the value is inherited from the parent. + "magnitude": 3.14, # The magnitude. + "unit": "A String", # The units for magnitude. + }, + "lineSpacing": 3.14, # The amount of space between lines, as a percentage of normal, where normal is represented as 100.0. If unset, the value is inherited from the parent. + "spaceAbove": { # A magnitude in a single direction in the specified units. # The amount of extra space above the paragraph. If unset, the value is inherited from the parent. + "magnitude": 3.14, # The magnitude. + "unit": "A String", # The units for magnitude. + }, + "spaceBelow": { # A magnitude in a single direction in the specified units. # The amount of extra space below the paragraph. If unset, the value is inherited from the parent. + "magnitude": 3.14, # The magnitude. + "unit": "A String", # The units for magnitude. + }, + "spacingMode": "A String", # The spacing mode for the paragraph. + }, + }, + "startIndex": 42, # The zero-based start index of this text element, in Unicode code units. + "textRun": { # A TextElement kind that represents a run of text that all has the same styling. # A TextElement representing a run of text where all of the characters in the run have the same TextStyle. The `start_index` and `end_index` of TextRuns will always be fully contained in the index range of a single `paragraph_marker` TextElement. In other words, a TextRun will never span multiple paragraphs. + "content": "A String", # The text of this run. + "style": { # Represents the styling that can be applied to a TextRun. If this text is contained in a shape with a parent placeholder, then these text styles may be inherited from the parent. Which text styles are inherited depend on the nesting level of lists: * A text run in a paragraph that is not in a list will inherit its text style from the the newline character in the paragraph at the 0 nesting level of the list inside the parent placeholder. * A text run in a paragraph that is in a list will inherit its text style from the newline character in the paragraph at its corresponding nesting level of the list inside the parent placeholder. Inherited text styles are represented as unset fields in this message. If text is contained in a shape without a parent placeholder, unsetting these fields will revert the style to a value matching the defaults in the Slides editor. # The styling applied to this run. + "backgroundColor": { # A color that can either be fully opaque or fully transparent. # The background color of the text. If set, the color is either opaque or transparent, depending on if the `opaque_color` field in it is set. + "opaqueColor": { # A themeable solid color value. # If set, this will be used as an opaque color. If unset, this represents a transparent color. + "rgbColor": { # An RGB color. # An opaque RGB color. + "blue": 3.14, # The blue component of the color, from 0.0 to 1.0. + "green": 3.14, # The green component of the color, from 0.0 to 1.0. + "red": 3.14, # The red component of the color, from 0.0 to 1.0. + }, + "themeColor": "A String", # An opaque theme color. + }, + }, + "baselineOffset": "A String", # The text's vertical offset from its normal position. Text with `SUPERSCRIPT` or `SUBSCRIPT` baseline offsets is automatically rendered in a smaller font size, computed based on the `font_size` field. The `font_size` itself is not affected by changes in this field. + "bold": True or False, # Whether or not the text is rendered as bold. + "fontFamily": "A String", # The font family of the text. The font family can be any font from the Font menu in Slides or from [Google Fonts] (https://fonts.google.com/). If the font name is unrecognized, the text is rendered in `Arial`. Some fonts can affect the weight of the text. If an update request specifies values for both `font_family` and `bold`, the explicitly-set `bold` value is used. + "fontSize": { # A magnitude in a single direction in the specified units. # The size of the text's font. When read, the `font_size` will specified in points. + "magnitude": 3.14, # The magnitude. + "unit": "A String", # The units for magnitude. + }, + "foregroundColor": { # A color that can either be fully opaque or fully transparent. # The color of the text itself. If set, the color is either opaque or transparent, depending on if the `opaque_color` field in it is set. + "opaqueColor": { # A themeable solid color value. # If set, this will be used as an opaque color. If unset, this represents a transparent color. + "rgbColor": { # An RGB color. # An opaque RGB color. + "blue": 3.14, # The blue component of the color, from 0.0 to 1.0. + "green": 3.14, # The green component of the color, from 0.0 to 1.0. + "red": 3.14, # The red component of the color, from 0.0 to 1.0. + }, + "themeColor": "A String", # An opaque theme color. + }, + }, + "italic": True or False, # Whether or not the text is italicized. + "link": { # A hypertext link. # The hyperlink destination of the text. If unset, there is no link. Links are not inherited from parent text. Changing the link in an update request causes some other changes to the text style of the range: * When setting a link, the text foreground color will be set to ThemeColorType.HYPERLINK and the text will be underlined. If these fields are modified in the same request, those values will be used instead of the link defaults. * Setting a link on a text range that overlaps with an existing link will also update the existing link to point to the new URL. * Links are not settable on newline characters. As a result, setting a link on a text range that crosses a paragraph boundary, such as `"ABC\n123"`, will separate the newline character(s) into their own text runs. The link will be applied separately to the runs before and after the newline. * Removing a link will update the text style of the range to match the style of the preceding text (or the default text styles if the preceding text is another link) unless different styles are being set in the same request. + "pageObjectId": "A String", # If set, indicates this is a link to the specific page in this presentation with this ID. A page with this ID may not exist. + "relativeLink": "A String", # If set, indicates this is a link to a slide in this presentation, addressed by its position. + "slideIndex": 42, # If set, indicates this is a link to the slide at this zero-based index in the presentation. There may not be a slide at this index. + "url": "A String", # If set, indicates this is a link to the external web page at this URL. + }, + "smallCaps": True or False, # Whether or not the text is in small capital letters. + "strikethrough": True or False, # Whether or not the text is struck through. + "underline": True or False, # Whether or not the text is underlined. + "weightedFontFamily": { # Represents a font family and weight used to style a TextRun. # The font family and rendered weight of the text. This field is an extension of `font_family` meant to support explicit font weights without breaking backwards compatibility. As such, when reading the style of a range of text, the value of `weighted_font_family#font_family` will always be equal to that of `font_family`. However, when writing, if both fields are included in the field mask (either explicitly or through the wildcard `"*"`), their values are reconciled as follows: * If `font_family` is set and `weighted_font_family` is not, the value of `font_family` is applied with weight `400` ("normal"). * If both fields are set, the value of `font_family` must match that of `weighted_font_family#font_family`. If so, the font family and weight of `weighted_font_family` is applied. Otherwise, a 400 bad request error is returned. * If `weighted_font_family` is set and `font_family` is not, the font family and weight of `weighted_font_family` is applied. * If neither field is set, the font family and weight of the text inherit from the parent. Note that these properties cannot inherit separately from each other. If an update request specifies values for both `weighted_font_family` and `bold`, the `weighted_font_family` is applied first, then `bold`. If `weighted_font_family#weight` is not set, it defaults to `400`. If `weighted_font_family` is set, then `weighted_font_family#font_family` must also be set with a non-empty value. Otherwise, a 400 bad request error is returned. + "fontFamily": "A String", # The font family of the text. The font family can be any font from the Font menu in Slides or from [Google Fonts] (https://fonts.google.com/). If the font name is unrecognized, the text is rendered in `Arial`. + "weight": 42, # The rendered weight of the text. This field can have any value that is a multiple of `100` between `100` and `900`, inclusive. This range corresponds to the numerical values described in the CSS 2.1 Specification, [section 15.6](https://www.w3.org/TR/CSS21/fonts.html#font-boldness), with non-numerical values disallowed. Weights greater than or equal to `700` are considered bold, and weights less than `700`are not bold. The default value is `400` ("normal"). + }, + }, + }, + }, + ], + }, + }, + ], + "tableRowProperties": { # Properties of each row in a table. # Properties of the row. + "minRowHeight": { # A magnitude in a single direction in the specified units. # Minimum height of the row. The row will be rendered in the Slides editor at a height equal to or greater than this value in order to show all the text in the row's cell(s). + "magnitude": 3.14, # The magnitude. + "unit": "A String", # The units for magnitude. + }, + }, + }, + ], + "verticalBorderRows": [ # Properties of vertical cell borders. A table's vertical cell borders are represented as a grid. The grid has the same number of rows as the table and one more column than the number of columns in the table. For example, if the table is 3 x 3, its vertical borders will be represented as a grid with 3 rows and 4 columns. + { # Contents of each border row in a table. + "tableBorderCells": [ # Properties of each border cell. When a border's adjacent table cells are merged, it is not included in the response. + { # The properties of each border cell. + "location": { # A location of a single table cell within a table. # The location of the border within the border table. + "columnIndex": 42, # The 0-based column index. + "rowIndex": 42, # The 0-based row index. + }, + "tableBorderProperties": { # The border styling properties of the TableBorderCell. # The border properties. + "dashStyle": "A String", # The dash style of the border. + "tableBorderFill": { # The fill of the border. # The fill of the table border. + "solidFill": { # A solid color fill. The page or page element is filled entirely with the specified color value. If any field is unset, its value may be inherited from a parent placeholder if it exists. # Solid fill. + "alpha": 3.14, # The fraction of this `color` that should be applied to the pixel. That is, the final pixel color is defined by the equation: pixel color = alpha * (color) + (1.0 - alpha) * (background color) This means that a value of 1.0 corresponds to a solid color, whereas a value of 0.0 corresponds to a completely transparent color. + "color": { # A themeable solid color value. # The color value of the solid fill. + "rgbColor": { # An RGB color. # An opaque RGB color. + "blue": 3.14, # The blue component of the color, from 0.0 to 1.0. + "green": 3.14, # The green component of the color, from 0.0 to 1.0. + "red": 3.14, # The red component of the color, from 0.0 to 1.0. + }, + "themeColor": "A String", # An opaque theme color. + }, + }, + }, + "weight": { # A magnitude in a single direction in the specified units. # The thickness of the border. + "magnitude": 3.14, # The magnitude. + "unit": "A String", # The units for magnitude. + }, + }, + }, + ], + }, + ], + }, + "title": "A String", # The title of the page element. Combined with description to display alt text. The field is not supported for Group elements. + "transform": { # AffineTransform uses a 3x3 matrix with an implied last row of [ 0 0 1 ] to transform source coordinates (x,y) into destination coordinates (x', y') according to: x' x = shear_y scale_y translate_y 1 [ 1 ] After transformation, x' = scale_x * x + shear_x * y + translate_x; y' = scale_y * y + shear_y * x + translate_y; This message is therefore composed of these six matrix elements. # The transform of the page element. The visual appearance of the page element is determined by its absolute transform. To compute the absolute transform, preconcatenate a page element's transform with the transforms of all of its parent groups. If the page element is not in a group, its absolute transform is the same as the value in this field. The initial transform for the newly created Group is always the identity transform. + "scaleX": 3.14, # The X coordinate scaling element. + "scaleY": 3.14, # The Y coordinate scaling element. + "shearX": 3.14, # The X coordinate shearing element. + "shearY": 3.14, # The Y coordinate shearing element. + "translateX": 3.14, # The X coordinate translation element. + "translateY": 3.14, # The Y coordinate translation element. + "unit": "A String", # The units for translate elements. }, - "themeColor": "A String", # An opaque theme color. - }, - }, - "stretchedPictureFill": { # The stretched picture fill. The page or page element is filled entirely with the specified picture. The picture is stretched to fit its container. # Stretched picture fill. - "contentUrl": "A String", # Reading the content_url: An URL to a picture with a default lifetime of 30 minutes. This URL is tagged with the account of the requester. Anyone with the URL effectively accesses the picture as the original requester. Access to the picture may be lost if the presentation's sharing settings change. Writing the content_url: The picture is fetched once at insertion time and a copy is stored for display inside the presentation. Pictures must be less than 50MB in size, cannot exceed 25 megapixels, and must be in one of PNG, JPEG, or GIF format. The provided URL can be at most 2 kB in length. - "size": { # A width and height. # The original size of the picture fill. This field is read-only. - "height": { # A magnitude in a single direction in the specified units. # The height of the object. - "magnitude": 3.14, # The magnitude. - "unit": "A String", # The units for magnitude. + "video": { # A PageElement kind representing a video. # A video page element. + "id": "A String", # The video source's unique identifier for this video. + "source": "A String", # The video source. + "url": "A String", # An URL to a video. The URL is valid as long as the source video exists and sharing settings do not change. + "videoProperties": { # The properties of the Video. # The properties of the video. + "autoPlay": True or False, # Whether to enable video autoplay when the page is displayed in present mode. Defaults to false. + "end": 42, # The time at which to end playback, measured in seconds from the beginning of the video. If set, the end time should be after the start time. If not set or if you set this to a value that exceeds the video's length, the video will be played until its end. + "mute": True or False, # Whether to mute the audio during video playback. Defaults to false. + "outline": { # The outline of a PageElement. If these fields are unset, they may be inherited from a parent placeholder if it exists. If there is no parent, the fields will default to the value used for new page elements created in the Slides editor, which may depend on the page element kind. # The outline of the video. The default outline matches the defaults for new videos created in the Slides editor. + "dashStyle": "A String", # The dash style of the outline. + "outlineFill": { # The fill of the outline. # The fill of the outline. + "solidFill": { # A solid color fill. The page or page element is filled entirely with the specified color value. If any field is unset, its value may be inherited from a parent placeholder if it exists. # Solid color fill. + "alpha": 3.14, # The fraction of this `color` that should be applied to the pixel. That is, the final pixel color is defined by the equation: pixel color = alpha * (color) + (1.0 - alpha) * (background color) This means that a value of 1.0 corresponds to a solid color, whereas a value of 0.0 corresponds to a completely transparent color. + "color": { # A themeable solid color value. # The color value of the solid fill. + "rgbColor": { # An RGB color. # An opaque RGB color. + "blue": 3.14, # The blue component of the color, from 0.0 to 1.0. + "green": 3.14, # The green component of the color, from 0.0 to 1.0. + "red": 3.14, # The red component of the color, from 0.0 to 1.0. + }, + "themeColor": "A String", # An opaque theme color. + }, + }, + }, + "propertyState": "A String", # The outline property state. Updating the outline on a page element will implicitly update this field to `RENDERED`, unless another value is specified in the same request. To have no outline on a page element, set this field to `NOT_RENDERED`. In this case, any other outline fields set in the same request will be ignored. + "weight": { # A magnitude in a single direction in the specified units. # The thickness of the outline. + "magnitude": 3.14, # The magnitude. + "unit": "A String", # The units for magnitude. + }, + }, + "start": 42, # The time at which to start playback, measured in seconds from the beginning of the video. If set, the start time should be before the end time. If you set this to a value that exceeds the video's length in seconds, the video will be played from the last second. If not set, the video will be played from the beginning. + }, }, - "width": { # A magnitude in a single direction in the specified units. # The width of the object. - "magnitude": 3.14, # The magnitude. - "unit": "A String", # The units for magnitude. + "wordArt": { # A PageElement kind representing word art. # A word art page element. + "renderedText": "A String", # The text rendered as word art. }, }, - }, - }, - }, - }, - "updateParagraphStyle": { # Updates the styling for all of the paragraphs within a Shape or Table that overlap with the given text index range. # Updates the styling of paragraphs within a Shape or Table. - "cellLocation": { # A location of a single table cell within a table. # The location of the cell in the table containing the paragraph(s) to style. If `object_id` refers to a table, `cell_location` must have a value. Otherwise, it must not. - "columnIndex": 42, # The 0-based column index. - "rowIndex": 42, # The 0-based row index. - }, - "fields": "A String", # The fields that should be updated. At least one field must be specified. The root `style` is implied and should not be specified. A single `"*"` can be used as short-hand for listing every field. For example, to update the paragraph alignment, set `fields` to `"alignment"`. To reset a property to its default value, include its field name in the field mask but leave the field itself unset. - "objectId": "A String", # The object ID of the shape or table with the text to be styled. - "style": { # Styles that apply to a whole paragraph. If this text is contained in a shape with a parent placeholder, then these paragraph styles may be inherited from the parent. Which paragraph styles are inherited depend on the nesting level of lists: * A paragraph not in a list will inherit its paragraph style from the paragraph at the 0 nesting level of the list inside the parent placeholder. * A paragraph in a list will inherit its paragraph style from the paragraph at its corresponding nesting level of the list inside the parent placeholder. Inherited paragraph styles are represented as unset fields in this message. # The paragraph's style. - "alignment": "A String", # The text alignment for this paragraph. - "direction": "A String", # The text direction of this paragraph. If unset, the value defaults to LEFT_TO_RIGHT since text direction is not inherited. - "indentEnd": { # A magnitude in a single direction in the specified units. # The amount indentation for the paragraph on the side that corresponds to the end of the text, based on the current text direction. If unset, the value is inherited from the parent. - "magnitude": 3.14, # The magnitude. - "unit": "A String", # The units for magnitude. - }, - "indentFirstLine": { # A magnitude in a single direction in the specified units. # The amount of indentation for the start of the first line of the paragraph. If unset, the value is inherited from the parent. - "magnitude": 3.14, # The magnitude. - "unit": "A String", # The units for magnitude. - }, - "indentStart": { # A magnitude in a single direction in the specified units. # The amount indentation for the paragraph on the side that corresponds to the start of the text, based on the current text direction. If unset, the value is inherited from the parent. - "magnitude": 3.14, # The magnitude. - "unit": "A String", # The units for magnitude. - }, - "lineSpacing": 3.14, # The amount of space between lines, as a percentage of normal, where normal is represented as 100.0. If unset, the value is inherited from the parent. - "spaceAbove": { # A magnitude in a single direction in the specified units. # The amount of extra space above the paragraph. If unset, the value is inherited from the parent. - "magnitude": 3.14, # The magnitude. - "unit": "A String", # The units for magnitude. - }, - "spaceBelow": { # A magnitude in a single direction in the specified units. # The amount of extra space below the paragraph. If unset, the value is inherited from the parent. - "magnitude": 3.14, # The magnitude. - "unit": "A String", # The units for magnitude. - }, - "spacingMode": "A String", # The spacing mode for the paragraph. - }, - "textRange": { # Specifies a contiguous range of an indexed collection, such as characters in text. # The range of text containing the paragraph(s) to style. - "endIndex": 42, # The optional zero-based index of the end of the collection. Required for `FIXED_RANGE` ranges. - "startIndex": 42, # The optional zero-based index of the beginning of the collection. Required for `FIXED_RANGE` and `FROM_START_INDEX` ranges. - "type": "A String", # The type of range. - }, - }, - "updateShapeProperties": { # Update the properties of a Shape. # Updates the properties of a Shape. - "fields": "A String", # The fields that should be updated. At least one field must be specified. The root `shapeProperties` is implied and should not be specified. A single `"*"` can be used as short-hand for listing every field. For example to update the shape background solid fill color, set `fields` to `"shapeBackgroundFill.solidFill.color"`. To reset a property to its default value, include its field name in the field mask but leave the field itself unset. - "objectId": "A String", # The object ID of the shape the updates are applied to. - "shapeProperties": { # The properties of a Shape. If the shape is a placeholder shape as determined by the placeholder field, then these properties may be inherited from a parent placeholder shape. Determining the rendered value of the property depends on the corresponding property_state field value. Any text autofit settings on the shape are automatically deactivated by requests that can impact how text fits in the shape. # The shape properties to update. - "autofit": { # The autofit properties of a Shape. # The autofit properties of the shape. This property is only set for shapes that allow text. - "autofitType": "A String", # The autofit type of the shape. If the autofit type is AUTOFIT_TYPE_UNSPECIFIED, the autofit type is inherited from a parent placeholder if it exists. The field is automatically set to NONE if a request is made that might affect text fitting within its bounding text box. In this case the font_scale is applied to the font_size and the line_spacing_reduction is applied to the line_spacing. Both properties are also reset to default values. - "fontScale": 3.14, # The font scale applied to the shape. For shapes with autofit_type NONE or SHAPE_AUTOFIT, this value is the default value of 1. For TEXT_AUTOFIT, this value multiplied by the font_size gives the font size that is rendered in the editor. This property is read-only. - "lineSpacingReduction": 3.14, # The line spacing reduction applied to the shape. For shapes with autofit_type NONE or SHAPE_AUTOFIT, this value is the default value of 0. For TEXT_AUTOFIT, this value subtracted from the line_spacing gives the line spacing that is rendered in the editor. This property is read-only. - }, - "contentAlignment": "A String", # The alignment of the content in the shape. If unspecified, the alignment is inherited from a parent placeholder if it exists. If the shape has no parent, the default alignment matches the alignment for new shapes created in the Slides editor. - "link": { # A hypertext link. # The hyperlink destination of the shape. If unset, there is no link. Links are not inherited from parent placeholders. - "pageObjectId": "A String", # If set, indicates this is a link to the specific page in this presentation with this ID. A page with this ID may not exist. - "relativeLink": "A String", # If set, indicates this is a link to a slide in this presentation, addressed by its position. - "slideIndex": 42, # If set, indicates this is a link to the slide at this zero-based index in the presentation. There may not be a slide at this index. - "url": "A String", # If set, indicates this is a link to the external web page at this URL. - }, - "outline": { # The outline of a PageElement. If these fields are unset, they may be inherited from a parent placeholder if it exists. If there is no parent, the fields will default to the value used for new page elements created in the Slides editor, which may depend on the page element kind. # The outline of the shape. If unset, the outline is inherited from a parent placeholder if it exists. If the shape has no parent, then the default outline depends on the shape type, matching the defaults for new shapes created in the Slides editor. - "dashStyle": "A String", # The dash style of the outline. - "outlineFill": { # The fill of the outline. # The fill of the outline. - "solidFill": { # A solid color fill. The page or page element is filled entirely with the specified color value. If any field is unset, its value may be inherited from a parent placeholder if it exists. # Solid color fill. - "alpha": 3.14, # The fraction of this `color` that should be applied to the pixel. That is, the final pixel color is defined by the equation: pixel color = alpha * (color) + (1.0 - alpha) * (background color) This means that a value of 1.0 corresponds to a solid color, whereas a value of 0.0 corresponds to a completely transparent color. - "color": { # A themeable solid color value. # The color value of the solid fill. - "rgbColor": { # An RGB color. # An opaque RGB color. - "blue": 3.14, # The blue component of the color, from 0.0 to 1.0. - "green": 3.14, # The green component of the color, from 0.0 to 1.0. - "red": 3.14, # The red component of the color, from 0.0 to 1.0. + ], + "pageProperties": { # The properties of the Page. The page will inherit properties from the parent page. Depending on the page type the hierarchy is defined in either SlideProperties or LayoutProperties. # The properties of the page. + "colorScheme": { # The palette of predefined colors for a page. # The color scheme of the page. If unset, the color scheme is inherited from a parent page. If the page has no parent, the color scheme uses a default Slides color scheme, matching the defaults in the Slides editor. Only the concrete colors of the first 12 ThemeColorTypes are editable. In addition, only the color scheme on `Master` pages can be updated. To update the field, a color scheme containing mappings from all the first 12 ThemeColorTypes to their concrete colors must be provided. Colors for the remaining ThemeColorTypes will be ignored. + "colors": [ # The ThemeColorType and corresponding concrete color pairs. + { # A pair mapping a theme color type to the concrete color it represents. + "color": { # An RGB color. # The concrete color corresponding to the theme color type above. + "blue": 3.14, # The blue component of the color, from 0.0 to 1.0. + "green": 3.14, # The green component of the color, from 0.0 to 1.0. + "red": 3.14, # The red component of the color, from 0.0 to 1.0. + }, + "type": "A String", # The type of the theme color. }, - "themeColor": "A String", # An opaque theme color. - }, - }, - }, - "propertyState": "A String", # The outline property state. Updating the outline on a page element will implicitly update this field to `RENDERED`, unless another value is specified in the same request. To have no outline on a page element, set this field to `NOT_RENDERED`. In this case, any other outline fields set in the same request will be ignored. - "weight": { # A magnitude in a single direction in the specified units. # The thickness of the outline. - "magnitude": 3.14, # The magnitude. - "unit": "A String", # The units for magnitude. - }, - }, - "shadow": { # The shadow properties of a page element. If these fields are unset, they may be inherited from a parent placeholder if it exists. If there is no parent, the fields will default to the value used for new page elements created in the Slides editor, which may depend on the page element kind. # The shadow properties of the shape. If unset, the shadow is inherited from a parent placeholder if it exists. If the shape has no parent, then the default shadow matches the defaults for new shapes created in the Slides editor. This property is read-only. - "alignment": "A String", # The alignment point of the shadow, that sets the origin for translate, scale and skew of the shadow. This property is read-only. - "alpha": 3.14, # The alpha of the shadow's color, from 0.0 to 1.0. - "blurRadius": { # A magnitude in a single direction in the specified units. # The radius of the shadow blur. The larger the radius, the more diffuse the shadow becomes. - "magnitude": 3.14, # The magnitude. - "unit": "A String", # The units for magnitude. - }, - "color": { # A themeable solid color value. # The shadow color value. - "rgbColor": { # An RGB color. # An opaque RGB color. - "blue": 3.14, # The blue component of the color, from 0.0 to 1.0. - "green": 3.14, # The green component of the color, from 0.0 to 1.0. - "red": 3.14, # The red component of the color, from 0.0 to 1.0. + ], }, - "themeColor": "A String", # An opaque theme color. - }, - "propertyState": "A String", # The shadow property state. Updating the shadow on a page element will implicitly update this field to `RENDERED`, unless another value is specified in the same request. To have no shadow on a page element, set this field to `NOT_RENDERED`. In this case, any other shadow fields set in the same request will be ignored. - "rotateWithShape": True or False, # Whether the shadow should rotate with the shape. This property is read-only. - "transform": { # AffineTransform uses a 3x3 matrix with an implied last row of [ 0 0 1 ] to transform source coordinates (x,y) into destination coordinates (x', y') according to: x' x = shear_y scale_y translate_y 1 [ 1 ] After transformation, x' = scale_x * x + shear_x * y + translate_x; y' = scale_y * y + shear_y * x + translate_y; This message is therefore composed of these six matrix elements. # Transform that encodes the translate, scale, and skew of the shadow, relative to the alignment position. - "scaleX": 3.14, # The X coordinate scaling element. - "scaleY": 3.14, # The Y coordinate scaling element. - "shearX": 3.14, # The X coordinate shearing element. - "shearY": 3.14, # The Y coordinate shearing element. - "translateX": 3.14, # The X coordinate translation element. - "translateY": 3.14, # The Y coordinate translation element. - "unit": "A String", # The units for translate elements. - }, - "type": "A String", # The type of the shadow. This property is read-only. - }, - "shapeBackgroundFill": { # The shape background fill. # The background fill of the shape. If unset, the background fill is inherited from a parent placeholder if it exists. If the shape has no parent, then the default background fill depends on the shape type, matching the defaults for new shapes created in the Slides editor. - "propertyState": "A String", # The background fill property state. Updating the fill on a shape will implicitly update this field to `RENDERED`, unless another value is specified in the same request. To have no fill on a shape, set this field to `NOT_RENDERED`. In this case, any other fill fields set in the same request will be ignored. - "solidFill": { # A solid color fill. The page or page element is filled entirely with the specified color value. If any field is unset, its value may be inherited from a parent placeholder if it exists. # Solid color fill. - "alpha": 3.14, # The fraction of this `color` that should be applied to the pixel. That is, the final pixel color is defined by the equation: pixel color = alpha * (color) + (1.0 - alpha) * (background color) This means that a value of 1.0 corresponds to a solid color, whereas a value of 0.0 corresponds to a completely transparent color. - "color": { # A themeable solid color value. # The color value of the solid fill. - "rgbColor": { # An RGB color. # An opaque RGB color. - "blue": 3.14, # The blue component of the color, from 0.0 to 1.0. - "green": 3.14, # The green component of the color, from 0.0 to 1.0. - "red": 3.14, # The red component of the color, from 0.0 to 1.0. + "pageBackgroundFill": { # The page background fill. # The background fill of the page. If unset, the background fill is inherited from a parent page if it exists. If the page has no parent, then the background fill defaults to the corresponding fill in the Slides editor. + "propertyState": "A String", # The background fill property state. Updating the fill on a page will implicitly update this field to `RENDERED`, unless another value is specified in the same request. To have no fill on a page, set this field to `NOT_RENDERED`. In this case, any other fill fields set in the same request will be ignored. + "solidFill": { # A solid color fill. The page or page element is filled entirely with the specified color value. If any field is unset, its value may be inherited from a parent placeholder if it exists. # Solid color fill. + "alpha": 3.14, # The fraction of this `color` that should be applied to the pixel. That is, the final pixel color is defined by the equation: pixel color = alpha * (color) + (1.0 - alpha) * (background color) This means that a value of 1.0 corresponds to a solid color, whereas a value of 0.0 corresponds to a completely transparent color. + "color": { # A themeable solid color value. # The color value of the solid fill. + "rgbColor": { # An RGB color. # An opaque RGB color. + "blue": 3.14, # The blue component of the color, from 0.0 to 1.0. + "green": 3.14, # The green component of the color, from 0.0 to 1.0. + "red": 3.14, # The red component of the color, from 0.0 to 1.0. + }, + "themeColor": "A String", # An opaque theme color. + }, + }, + "stretchedPictureFill": { # The stretched picture fill. The page or page element is filled entirely with the specified picture. The picture is stretched to fit its container. # Stretched picture fill. + "contentUrl": "A String", # Reading the content_url: An URL to a picture with a default lifetime of 30 minutes. This URL is tagged with the account of the requester. Anyone with the URL effectively accesses the picture as the original requester. Access to the picture may be lost if the presentation's sharing settings change. Writing the content_url: The picture is fetched once at insertion time and a copy is stored for display inside the presentation. Pictures must be less than 50MB in size, cannot exceed 25 megapixels, and must be in one of PNG, JPEG, or GIF format. The provided URL can be at most 2 kB in length. + "size": { # A width and height. # The original size of the picture fill. This field is read-only. + "height": { # A magnitude in a single direction in the specified units. # The height of the object. + "magnitude": 3.14, # The magnitude. + "unit": "A String", # The units for magnitude. + }, + "width": { # A magnitude in a single direction in the specified units. # The width of the object. + "magnitude": 3.14, # The magnitude. + "unit": "A String", # The units for magnitude. + }, + }, }, - "themeColor": "A String", # An opaque theme color. }, }, + "pageType": "A String", # The type of the page. + "revisionId": "A String", # Output only. The revision ID of the presentation. Can be used in update requests to assert the presentation revision hasn't changed since the last read operation. Only populated if the user has edit access to the presentation. The revision ID is not a sequential number but an opaque string. The format of the revision ID might change over time. A returned revision ID is only guaranteed to be valid for 24 hours after it has been returned and cannot be shared across users. If the revision ID is unchanged between calls, then the presentation has not changed. Conversely, a changed ID (for the same presentation and user) usually means the presentation has been updated. However, a changed ID can also be due to internal factors such as ID format changes. + "slideProperties": # Object with schema name: SlideProperties # Slide specific properties. Only set if page_type = SLIDE. }, }, }, - "updateSlideProperties": { # Updates the properties of a Slide. # Updates the properties of a Slide - "fields": "A String", # The fields that should be updated. At least one field must be specified. The root 'slideProperties' is implied and should not be specified. A single `"*"` can be used as short-hand for listing every field. For example to update whether a slide is skipped, set `fields` to `"isSkipped"`. To reset a property to its default value, include its field name in the field mask but leave the field itself unset. - "objectId": "A String", # The object ID of the slide the update is applied to. - "slideProperties": { # The properties of Page that are only relevant for pages with page_type SLIDE. # The slide properties to update. - "isSkipped": True or False, # Whether the slide is skipped in the presentation mode. Defaults to false. - "layoutObjectId": "A String", # The object ID of the layout that this slide is based on. This property is read-only. - "masterObjectId": "A String", # The object ID of the master that this slide is based on. This property is read-only. - "notesPage": # Object with schema name: Page # The notes page that this slide is associated with. It defines the visual appearance of a notes page when printing or exporting slides with speaker notes. A notes page inherits properties from the notes master. The placeholder shape with type BODY on the notes page contains the speaker notes for this slide. The ID of this shape is identified by the speakerNotesObjectId field. The notes page is read-only except for the text content and styles of the speaker notes shape. This property is read-only. - }, - }, "updateSlidesPosition": { # Updates the position of slides in the presentation. # Updates the position of a set of slides in the presentation. "insertionIndex": 42, # The index where the slides should be inserted, based on the slide arrangement before the move takes place. Must be between zero and the number of slides in the presentation, inclusive. "slideObjectIds": [ # The IDs of the slides in the presentation that should be moved. The slides in this list must be in existing presentation order, without duplicates. @@ -2045,12 +3052,7 @@

Method Details

}, "pageType": "A String", # The type of the page. "revisionId": "A String", # Output only. The revision ID of the presentation. Can be used in update requests to assert the presentation revision hasn't changed since the last read operation. Only populated if the user has edit access to the presentation. The revision ID is not a sequential number but an opaque string. The format of the revision ID might change over time. A returned revision ID is only guaranteed to be valid for 24 hours after it has been returned and cannot be shared across users. If the revision ID is unchanged between calls, then the presentation has not changed. Conversely, a changed ID (for the same presentation and user) usually means the presentation has been updated. However, a changed ID can also be due to internal factors such as ID format changes. - "slideProperties": { # The properties of Page that are only relevant for pages with page_type SLIDE. # Slide specific properties. Only set if page_type = SLIDE. - "isSkipped": True or False, # Whether the slide is skipped in the presentation mode. Defaults to false. - "layoutObjectId": "A String", # The object ID of the layout that this slide is based on. This property is read-only. - "masterObjectId": "A String", # The object ID of the master that this slide is based on. This property is read-only. - "notesPage": # Object with schema name: Page # The notes page that this slide is associated with. It defines the visual appearance of a notes page when printing or exporting slides with speaker notes. A notes page inherits properties from the notes master. The placeholder shape with type BODY on the notes page contains the speaker notes for this slide. The ID of this shape is identified by the speakerNotesObjectId field. The notes page is read-only except for the text content and styles of the speaker notes shape. This property is read-only. - }, + "slideProperties": # Object with schema name: SlideProperties # Slide specific properties. Only set if page_type = SLIDE. }, ], "locale": "A String", # The locale of the presentation, as an IETF BCP 47 language tag. @@ -3061,12 +4063,7 @@

Method Details

}, "pageType": "A String", # The type of the page. "revisionId": "A String", # Output only. The revision ID of the presentation. Can be used in update requests to assert the presentation revision hasn't changed since the last read operation. Only populated if the user has edit access to the presentation. The revision ID is not a sequential number but an opaque string. The format of the revision ID might change over time. A returned revision ID is only guaranteed to be valid for 24 hours after it has been returned and cannot be shared across users. If the revision ID is unchanged between calls, then the presentation has not changed. Conversely, a changed ID (for the same presentation and user) usually means the presentation has been updated. However, a changed ID can also be due to internal factors such as ID format changes. - "slideProperties": { # The properties of Page that are only relevant for pages with page_type SLIDE. # Slide specific properties. Only set if page_type = SLIDE. - "isSkipped": True or False, # Whether the slide is skipped in the presentation mode. Defaults to false. - "layoutObjectId": "A String", # The object ID of the layout that this slide is based on. This property is read-only. - "masterObjectId": "A String", # The object ID of the master that this slide is based on. This property is read-only. - "notesPage": # Object with schema name: Page # The notes page that this slide is associated with. It defines the visual appearance of a notes page when printing or exporting slides with speaker notes. A notes page inherits properties from the notes master. The placeholder shape with type BODY on the notes page contains the speaker notes for this slide. The ID of this shape is identified by the speakerNotesObjectId field. The notes page is read-only except for the text content and styles of the speaker notes shape. This property is read-only. - }, + "slideProperties": # Object with schema name: SlideProperties # Slide specific properties. Only set if page_type = SLIDE. }, ], "notesMaster": { # A page in a presentation. # The notes master in the presentation. It serves three purposes: - Placeholder shapes on a notes master contain the default text styles and shape properties of all placeholder shapes on notes pages. Specifically, a `SLIDE_IMAGE` placeholder shape contains the slide thumbnail, and a `BODY` placeholder shape contains the speaker notes. - The notes master page properties define the common page properties inherited by all notes pages. - Any other shapes on the notes master appear on all notes pages. The notes master is read-only. @@ -4075,12 +5072,7 @@

Method Details

}, "pageType": "A String", # The type of the page. "revisionId": "A String", # Output only. The revision ID of the presentation. Can be used in update requests to assert the presentation revision hasn't changed since the last read operation. Only populated if the user has edit access to the presentation. The revision ID is not a sequential number but an opaque string. The format of the revision ID might change over time. A returned revision ID is only guaranteed to be valid for 24 hours after it has been returned and cannot be shared across users. If the revision ID is unchanged between calls, then the presentation has not changed. Conversely, a changed ID (for the same presentation and user) usually means the presentation has been updated. However, a changed ID can also be due to internal factors such as ID format changes. - "slideProperties": { # The properties of Page that are only relevant for pages with page_type SLIDE. # Slide specific properties. Only set if page_type = SLIDE. - "isSkipped": True or False, # Whether the slide is skipped in the presentation mode. Defaults to false. - "layoutObjectId": "A String", # The object ID of the layout that this slide is based on. This property is read-only. - "masterObjectId": "A String", # The object ID of the master that this slide is based on. This property is read-only. - "notesPage": # Object with schema name: Page # The notes page that this slide is associated with. It defines the visual appearance of a notes page when printing or exporting slides with speaker notes. A notes page inherits properties from the notes master. The placeholder shape with type BODY on the notes page contains the speaker notes for this slide. The ID of this shape is identified by the speakerNotesObjectId field. The notes page is read-only except for the text content and styles of the speaker notes shape. This property is read-only. - }, + "slideProperties": # Object with schema name: SlideProperties # Slide specific properties. Only set if page_type = SLIDE. }, "pageSize": { # A width and height. # The size of pages in the presentation. "height": { # A magnitude in a single direction in the specified units. # The height of the object. @@ -5101,12 +6093,7 @@

Method Details

}, "pageType": "A String", # The type of the page. "revisionId": "A String", # Output only. The revision ID of the presentation. Can be used in update requests to assert the presentation revision hasn't changed since the last read operation. Only populated if the user has edit access to the presentation. The revision ID is not a sequential number but an opaque string. The format of the revision ID might change over time. A returned revision ID is only guaranteed to be valid for 24 hours after it has been returned and cannot be shared across users. If the revision ID is unchanged between calls, then the presentation has not changed. Conversely, a changed ID (for the same presentation and user) usually means the presentation has been updated. However, a changed ID can also be due to internal factors such as ID format changes. - "slideProperties": { # The properties of Page that are only relevant for pages with page_type SLIDE. # Slide specific properties. Only set if page_type = SLIDE. - "isSkipped": True or False, # Whether the slide is skipped in the presentation mode. Defaults to false. - "layoutObjectId": "A String", # The object ID of the layout that this slide is based on. This property is read-only. - "masterObjectId": "A String", # The object ID of the master that this slide is based on. This property is read-only. - "notesPage": # Object with schema name: Page # The notes page that this slide is associated with. It defines the visual appearance of a notes page when printing or exporting slides with speaker notes. A notes page inherits properties from the notes master. The placeholder shape with type BODY on the notes page contains the speaker notes for this slide. The ID of this shape is identified by the speakerNotesObjectId field. The notes page is read-only except for the text content and styles of the speaker notes shape. This property is read-only. - }, + "slideProperties": # Object with schema name: SlideProperties # Slide specific properties. Only set if page_type = SLIDE. }, ], "title": "A String", # The title of the presentation. @@ -6128,12 +7115,7 @@

Method Details

}, "pageType": "A String", # The type of the page. "revisionId": "A String", # Output only. The revision ID of the presentation. Can be used in update requests to assert the presentation revision hasn't changed since the last read operation. Only populated if the user has edit access to the presentation. The revision ID is not a sequential number but an opaque string. The format of the revision ID might change over time. A returned revision ID is only guaranteed to be valid for 24 hours after it has been returned and cannot be shared across users. If the revision ID is unchanged between calls, then the presentation has not changed. Conversely, a changed ID (for the same presentation and user) usually means the presentation has been updated. However, a changed ID can also be due to internal factors such as ID format changes. - "slideProperties": { # The properties of Page that are only relevant for pages with page_type SLIDE. # Slide specific properties. Only set if page_type = SLIDE. - "isSkipped": True or False, # Whether the slide is skipped in the presentation mode. Defaults to false. - "layoutObjectId": "A String", # The object ID of the layout that this slide is based on. This property is read-only. - "masterObjectId": "A String", # The object ID of the master that this slide is based on. This property is read-only. - "notesPage": # Object with schema name: Page # The notes page that this slide is associated with. It defines the visual appearance of a notes page when printing or exporting slides with speaker notes. A notes page inherits properties from the notes master. The placeholder shape with type BODY on the notes page contains the speaker notes for this slide. The ID of this shape is identified by the speakerNotesObjectId field. The notes page is read-only except for the text content and styles of the speaker notes shape. This property is read-only. - }, + "slideProperties": # Object with schema name: SlideProperties # Slide specific properties. Only set if page_type = SLIDE. }, ], "locale": "A String", # The locale of the presentation, as an IETF BCP 47 language tag. @@ -7144,12 +8126,7 @@

Method Details

}, "pageType": "A String", # The type of the page. "revisionId": "A String", # Output only. The revision ID of the presentation. Can be used in update requests to assert the presentation revision hasn't changed since the last read operation. Only populated if the user has edit access to the presentation. The revision ID is not a sequential number but an opaque string. The format of the revision ID might change over time. A returned revision ID is only guaranteed to be valid for 24 hours after it has been returned and cannot be shared across users. If the revision ID is unchanged between calls, then the presentation has not changed. Conversely, a changed ID (for the same presentation and user) usually means the presentation has been updated. However, a changed ID can also be due to internal factors such as ID format changes. - "slideProperties": { # The properties of Page that are only relevant for pages with page_type SLIDE. # Slide specific properties. Only set if page_type = SLIDE. - "isSkipped": True or False, # Whether the slide is skipped in the presentation mode. Defaults to false. - "layoutObjectId": "A String", # The object ID of the layout that this slide is based on. This property is read-only. - "masterObjectId": "A String", # The object ID of the master that this slide is based on. This property is read-only. - "notesPage": # Object with schema name: Page # The notes page that this slide is associated with. It defines the visual appearance of a notes page when printing or exporting slides with speaker notes. A notes page inherits properties from the notes master. The placeholder shape with type BODY on the notes page contains the speaker notes for this slide. The ID of this shape is identified by the speakerNotesObjectId field. The notes page is read-only except for the text content and styles of the speaker notes shape. This property is read-only. - }, + "slideProperties": # Object with schema name: SlideProperties # Slide specific properties. Only set if page_type = SLIDE. }, ], "notesMaster": { # A page in a presentation. # The notes master in the presentation. It serves three purposes: - Placeholder shapes on a notes master contain the default text styles and shape properties of all placeholder shapes on notes pages. Specifically, a `SLIDE_IMAGE` placeholder shape contains the slide thumbnail, and a `BODY` placeholder shape contains the speaker notes. - The notes master page properties define the common page properties inherited by all notes pages. - Any other shapes on the notes master appear on all notes pages. The notes master is read-only. @@ -8158,12 +9135,7 @@

Method Details

}, "pageType": "A String", # The type of the page. "revisionId": "A String", # Output only. The revision ID of the presentation. Can be used in update requests to assert the presentation revision hasn't changed since the last read operation. Only populated if the user has edit access to the presentation. The revision ID is not a sequential number but an opaque string. The format of the revision ID might change over time. A returned revision ID is only guaranteed to be valid for 24 hours after it has been returned and cannot be shared across users. If the revision ID is unchanged between calls, then the presentation has not changed. Conversely, a changed ID (for the same presentation and user) usually means the presentation has been updated. However, a changed ID can also be due to internal factors such as ID format changes. - "slideProperties": { # The properties of Page that are only relevant for pages with page_type SLIDE. # Slide specific properties. Only set if page_type = SLIDE. - "isSkipped": True or False, # Whether the slide is skipped in the presentation mode. Defaults to false. - "layoutObjectId": "A String", # The object ID of the layout that this slide is based on. This property is read-only. - "masterObjectId": "A String", # The object ID of the master that this slide is based on. This property is read-only. - "notesPage": # Object with schema name: Page # The notes page that this slide is associated with. It defines the visual appearance of a notes page when printing or exporting slides with speaker notes. A notes page inherits properties from the notes master. The placeholder shape with type BODY on the notes page contains the speaker notes for this slide. The ID of this shape is identified by the speakerNotesObjectId field. The notes page is read-only except for the text content and styles of the speaker notes shape. This property is read-only. - }, + "slideProperties": # Object with schema name: SlideProperties # Slide specific properties. Only set if page_type = SLIDE. }, "pageSize": { # A width and height. # The size of pages in the presentation. "height": { # A magnitude in a single direction in the specified units. # The height of the object. @@ -9184,12 +10156,7 @@

Method Details

}, "pageType": "A String", # The type of the page. "revisionId": "A String", # Output only. The revision ID of the presentation. Can be used in update requests to assert the presentation revision hasn't changed since the last read operation. Only populated if the user has edit access to the presentation. The revision ID is not a sequential number but an opaque string. The format of the revision ID might change over time. A returned revision ID is only guaranteed to be valid for 24 hours after it has been returned and cannot be shared across users. If the revision ID is unchanged between calls, then the presentation has not changed. Conversely, a changed ID (for the same presentation and user) usually means the presentation has been updated. However, a changed ID can also be due to internal factors such as ID format changes. - "slideProperties": { # The properties of Page that are only relevant for pages with page_type SLIDE. # Slide specific properties. Only set if page_type = SLIDE. - "isSkipped": True or False, # Whether the slide is skipped in the presentation mode. Defaults to false. - "layoutObjectId": "A String", # The object ID of the layout that this slide is based on. This property is read-only. - "masterObjectId": "A String", # The object ID of the master that this slide is based on. This property is read-only. - "notesPage": # Object with schema name: Page # The notes page that this slide is associated with. It defines the visual appearance of a notes page when printing or exporting slides with speaker notes. A notes page inherits properties from the notes master. The placeholder shape with type BODY on the notes page contains the speaker notes for this slide. The ID of this shape is identified by the speakerNotesObjectId field. The notes page is read-only except for the text content and styles of the speaker notes shape. This property is read-only. - }, + "slideProperties": # Object with schema name: SlideProperties # Slide specific properties. Only set if page_type = SLIDE. }, ], "title": "A String", # The title of the presentation. @@ -10218,12 +11185,7 @@

Method Details

}, "pageType": "A String", # The type of the page. "revisionId": "A String", # Output only. The revision ID of the presentation. Can be used in update requests to assert the presentation revision hasn't changed since the last read operation. Only populated if the user has edit access to the presentation. The revision ID is not a sequential number but an opaque string. The format of the revision ID might change over time. A returned revision ID is only guaranteed to be valid for 24 hours after it has been returned and cannot be shared across users. If the revision ID is unchanged between calls, then the presentation has not changed. Conversely, a changed ID (for the same presentation and user) usually means the presentation has been updated. However, a changed ID can also be due to internal factors such as ID format changes. - "slideProperties": { # The properties of Page that are only relevant for pages with page_type SLIDE. # Slide specific properties. Only set if page_type = SLIDE. - "isSkipped": True or False, # Whether the slide is skipped in the presentation mode. Defaults to false. - "layoutObjectId": "A String", # The object ID of the layout that this slide is based on. This property is read-only. - "masterObjectId": "A String", # The object ID of the master that this slide is based on. This property is read-only. - "notesPage": # Object with schema name: Page # The notes page that this slide is associated with. It defines the visual appearance of a notes page when printing or exporting slides with speaker notes. A notes page inherits properties from the notes master. The placeholder shape with type BODY on the notes page contains the speaker notes for this slide. The ID of this shape is identified by the speakerNotesObjectId field. The notes page is read-only except for the text content and styles of the speaker notes shape. This property is read-only. - }, + "slideProperties": # Object with schema name: SlideProperties # Slide specific properties. Only set if page_type = SLIDE. }, ], "locale": "A String", # The locale of the presentation, as an IETF BCP 47 language tag. @@ -11234,12 +12196,7 @@

Method Details

}, "pageType": "A String", # The type of the page. "revisionId": "A String", # Output only. The revision ID of the presentation. Can be used in update requests to assert the presentation revision hasn't changed since the last read operation. Only populated if the user has edit access to the presentation. The revision ID is not a sequential number but an opaque string. The format of the revision ID might change over time. A returned revision ID is only guaranteed to be valid for 24 hours after it has been returned and cannot be shared across users. If the revision ID is unchanged between calls, then the presentation has not changed. Conversely, a changed ID (for the same presentation and user) usually means the presentation has been updated. However, a changed ID can also be due to internal factors such as ID format changes. - "slideProperties": { # The properties of Page that are only relevant for pages with page_type SLIDE. # Slide specific properties. Only set if page_type = SLIDE. - "isSkipped": True or False, # Whether the slide is skipped in the presentation mode. Defaults to false. - "layoutObjectId": "A String", # The object ID of the layout that this slide is based on. This property is read-only. - "masterObjectId": "A String", # The object ID of the master that this slide is based on. This property is read-only. - "notesPage": # Object with schema name: Page # The notes page that this slide is associated with. It defines the visual appearance of a notes page when printing or exporting slides with speaker notes. A notes page inherits properties from the notes master. The placeholder shape with type BODY on the notes page contains the speaker notes for this slide. The ID of this shape is identified by the speakerNotesObjectId field. The notes page is read-only except for the text content and styles of the speaker notes shape. This property is read-only. - }, + "slideProperties": # Object with schema name: SlideProperties # Slide specific properties. Only set if page_type = SLIDE. }, ], "notesMaster": { # A page in a presentation. # The notes master in the presentation. It serves three purposes: - Placeholder shapes on a notes master contain the default text styles and shape properties of all placeholder shapes on notes pages. Specifically, a `SLIDE_IMAGE` placeholder shape contains the slide thumbnail, and a `BODY` placeholder shape contains the speaker notes. - The notes master page properties define the common page properties inherited by all notes pages. - Any other shapes on the notes master appear on all notes pages. The notes master is read-only. @@ -12248,12 +13205,7 @@

Method Details

}, "pageType": "A String", # The type of the page. "revisionId": "A String", # Output only. The revision ID of the presentation. Can be used in update requests to assert the presentation revision hasn't changed since the last read operation. Only populated if the user has edit access to the presentation. The revision ID is not a sequential number but an opaque string. The format of the revision ID might change over time. A returned revision ID is only guaranteed to be valid for 24 hours after it has been returned and cannot be shared across users. If the revision ID is unchanged between calls, then the presentation has not changed. Conversely, a changed ID (for the same presentation and user) usually means the presentation has been updated. However, a changed ID can also be due to internal factors such as ID format changes. - "slideProperties": { # The properties of Page that are only relevant for pages with page_type SLIDE. # Slide specific properties. Only set if page_type = SLIDE. - "isSkipped": True or False, # Whether the slide is skipped in the presentation mode. Defaults to false. - "layoutObjectId": "A String", # The object ID of the layout that this slide is based on. This property is read-only. - "masterObjectId": "A String", # The object ID of the master that this slide is based on. This property is read-only. - "notesPage": # Object with schema name: Page # The notes page that this slide is associated with. It defines the visual appearance of a notes page when printing or exporting slides with speaker notes. A notes page inherits properties from the notes master. The placeholder shape with type BODY on the notes page contains the speaker notes for this slide. The ID of this shape is identified by the speakerNotesObjectId field. The notes page is read-only except for the text content and styles of the speaker notes shape. This property is read-only. - }, + "slideProperties": # Object with schema name: SlideProperties # Slide specific properties. Only set if page_type = SLIDE. }, "pageSize": { # A width and height. # The size of pages in the presentation. "height": { # A magnitude in a single direction in the specified units. # The height of the object. @@ -13274,12 +14226,7 @@

Method Details

}, "pageType": "A String", # The type of the page. "revisionId": "A String", # Output only. The revision ID of the presentation. Can be used in update requests to assert the presentation revision hasn't changed since the last read operation. Only populated if the user has edit access to the presentation. The revision ID is not a sequential number but an opaque string. The format of the revision ID might change over time. A returned revision ID is only guaranteed to be valid for 24 hours after it has been returned and cannot be shared across users. If the revision ID is unchanged between calls, then the presentation has not changed. Conversely, a changed ID (for the same presentation and user) usually means the presentation has been updated. However, a changed ID can also be due to internal factors such as ID format changes. - "slideProperties": { # The properties of Page that are only relevant for pages with page_type SLIDE. # Slide specific properties. Only set if page_type = SLIDE. - "isSkipped": True or False, # Whether the slide is skipped in the presentation mode. Defaults to false. - "layoutObjectId": "A String", # The object ID of the layout that this slide is based on. This property is read-only. - "masterObjectId": "A String", # The object ID of the master that this slide is based on. This property is read-only. - "notesPage": # Object with schema name: Page # The notes page that this slide is associated with. It defines the visual appearance of a notes page when printing or exporting slides with speaker notes. A notes page inherits properties from the notes master. The placeholder shape with type BODY on the notes page contains the speaker notes for this slide. The ID of this shape is identified by the speakerNotesObjectId field. The notes page is read-only except for the text content and styles of the speaker notes shape. This property is read-only. - }, + "slideProperties": # Object with schema name: SlideProperties # Slide specific properties. Only set if page_type = SLIDE. }, ], "title": "A String", # The title of the presentation. diff --git a/docs/dyn/slides_v1.presentations.pages.html b/docs/dyn/slides_v1.presentations.pages.html index 7671a5028bb..d6c583bb80b 100644 --- a/docs/dyn/slides_v1.presentations.pages.html +++ b/docs/dyn/slides_v1.presentations.pages.html @@ -1110,12 +1110,7 @@

Method Details

}, "pageType": "A String", # The type of the page. "revisionId": "A String", # Output only. The revision ID of the presentation. Can be used in update requests to assert the presentation revision hasn't changed since the last read operation. Only populated if the user has edit access to the presentation. The revision ID is not a sequential number but an opaque string. The format of the revision ID might change over time. A returned revision ID is only guaranteed to be valid for 24 hours after it has been returned and cannot be shared across users. If the revision ID is unchanged between calls, then the presentation has not changed. Conversely, a changed ID (for the same presentation and user) usually means the presentation has been updated. However, a changed ID can also be due to internal factors such as ID format changes. - "slideProperties": { # The properties of Page that are only relevant for pages with page_type SLIDE. # Slide specific properties. Only set if page_type = SLIDE. - "isSkipped": True or False, # Whether the slide is skipped in the presentation mode. Defaults to false. - "layoutObjectId": "A String", # The object ID of the layout that this slide is based on. This property is read-only. - "masterObjectId": "A String", # The object ID of the master that this slide is based on. This property is read-only. - "notesPage": # Object with schema name: Page # The notes page that this slide is associated with. It defines the visual appearance of a notes page when printing or exporting slides with speaker notes. A notes page inherits properties from the notes master. The placeholder shape with type BODY on the notes page contains the speaker notes for this slide. The ID of this shape is identified by the speakerNotesObjectId field. The notes page is read-only except for the text content and styles of the speaker notes shape. This property is read-only. - }, + "slideProperties": # Object with schema name: SlideProperties # Slide specific properties. Only set if page_type = SLIDE. }
diff --git a/docs/dyn/spanner_v1.projects.instances.databases.databaseRoles.html b/docs/dyn/spanner_v1.projects.instances.databases.databaseRoles.html index 9fccfdf9c0d..ba0e590b817 100644 --- a/docs/dyn/spanner_v1.projects.instances.databases.databaseRoles.html +++ b/docs/dyn/spanner_v1.projects.instances.databases.databaseRoles.html @@ -97,7 +97,7 @@

Method Details

Lists Cloud Spanner database roles.
 
 Args:
-  parent: string, Required. The database whose roles should be listed. Values are of the form `projects//instances//databases//databaseRoles`. (required)
+  parent: string, Required. The database whose roles should be listed. Values are of the form `projects//instances//databases/`. (required)
   pageSize: integer, Number of database roles to be returned in the response. If 0 or less, defaults to the server's maximum allowed page size.
   pageToken: string, If non-empty, `page_token` should contain a next_page_token from a previous ListDatabaseRolesResponse.
   x__xgafv: string, V1 error format.
diff --git a/docs/dyn/spanner_v1.projects.instances.databases.sessions.html b/docs/dyn/spanner_v1.projects.instances.databases.sessions.html
index 615f5df113b..961ac25912f 100644
--- a/docs/dyn/spanner_v1.projects.instances.databases.sessions.html
+++ b/docs/dyn/spanner_v1.projects.instances.databases.sessions.html
@@ -425,7 +425,14 @@ 

Method Details

"a_key": { # `Type` indicates the type of a Cloud Spanner value, as might be stored in a table cell or returned from an SQL query. "arrayElementType": # Object with schema name: Type # If code == ARRAY, then `array_element_type` is the type of the array elements. "code": "A String", # Required. The TypeCode for this type. - "structType": # Object with schema name: StructType # If code == STRUCT, then `struct_type` provides type information for the struct's fields. + "structType": { # `StructType` defines the fields of a STRUCT type. # If code == STRUCT, then `struct_type` provides type information for the struct's fields. + "fields": [ # The list of fields that make up this struct. Order is significant, because values of this struct type are represented as lists, where the order of field values matches the order of fields in the StructType. In turn, the order of fields matches the order of columns in a read request, or the order of fields in the `SELECT` clause of a query. + { # Message representing a single field of a struct. + "name": "A String", # The name of the field. For reads, this is the column name. For SQL queries, it is the column alias (e.g., `"Word"` in the query `"SELECT 'hello' AS Word"`), or the column name (e.g., `"ColName"` in the query `"SELECT ColName FROM Table"`). Some columns might have an empty name (e.g., `"SELECT UPPER(ColName)"`). Note that a query result can contain multiple fields with the same name. + "type": # Object with schema name: Type # The type of the field. + }, + ], + }, "typeAnnotation": "A String", # The TypeAnnotationCode that disambiguates SQL type that Spanner will use to represent values of this type during query processing. This is necessary for some type codes because a single TypeCode can be mapped to different SQL types depending on the SQL dialect. type_annotation typically is not needed to process the content of a value (it doesn't affect serialization) and clients can ignore it on the read path. }, }, @@ -484,12 +491,7 @@

Method Details

"fields": [ # The list of fields that make up this struct. Order is significant, because values of this struct type are represented as lists, where the order of field values matches the order of fields in the StructType. In turn, the order of fields matches the order of columns in a read request, or the order of fields in the `SELECT` clause of a query. { # Message representing a single field of a struct. "name": "A String", # The name of the field. For reads, this is the column name. For SQL queries, it is the column alias (e.g., `"Word"` in the query `"SELECT 'hello' AS Word"`), or the column name (e.g., `"ColName"` in the query `"SELECT ColName FROM Table"`). Some columns might have an empty name (e.g., `"SELECT UPPER(ColName)"`). Note that a query result can contain multiple fields with the same name. - "type": { # `Type` indicates the type of a Cloud Spanner value, as might be stored in a table cell or returned from an SQL query. # The type of the field. - "arrayElementType": # Object with schema name: Type # If code == ARRAY, then `array_element_type` is the type of the array elements. - "code": "A String", # Required. The TypeCode for this type. - "structType": # Object with schema name: StructType # If code == STRUCT, then `struct_type` provides type information for the struct's fields. - "typeAnnotation": "A String", # The TypeAnnotationCode that disambiguates SQL type that Spanner will use to represent values of this type during query processing. This is necessary for some type codes because a single TypeCode can be mapped to different SQL types depending on the SQL dialect. type_annotation typically is not needed to process the content of a value (it doesn't affect serialization) and clients can ignore it on the read path. - }, + "type": # Object with schema name: Type # The type of the field. }, ], }, @@ -566,7 +568,14 @@

Method Details

"a_key": { # `Type` indicates the type of a Cloud Spanner value, as might be stored in a table cell or returned from an SQL query. "arrayElementType": # Object with schema name: Type # If code == ARRAY, then `array_element_type` is the type of the array elements. "code": "A String", # Required. The TypeCode for this type. - "structType": # Object with schema name: StructType # If code == STRUCT, then `struct_type` provides type information for the struct's fields. + "structType": { # `StructType` defines the fields of a STRUCT type. # If code == STRUCT, then `struct_type` provides type information for the struct's fields. + "fields": [ # The list of fields that make up this struct. Order is significant, because values of this struct type are represented as lists, where the order of field values matches the order of fields in the StructType. In turn, the order of fields matches the order of columns in a read request, or the order of fields in the `SELECT` clause of a query. + { # Message representing a single field of a struct. + "name": "A String", # The name of the field. For reads, this is the column name. For SQL queries, it is the column alias (e.g., `"Word"` in the query `"SELECT 'hello' AS Word"`), or the column name (e.g., `"ColName"` in the query `"SELECT ColName FROM Table"`). Some columns might have an empty name (e.g., `"SELECT UPPER(ColName)"`). Note that a query result can contain multiple fields with the same name. + "type": # Object with schema name: Type # The type of the field. + }, + ], + }, "typeAnnotation": "A String", # The TypeAnnotationCode that disambiguates SQL type that Spanner will use to represent values of this type during query processing. This is necessary for some type codes because a single TypeCode can be mapped to different SQL types depending on the SQL dialect. type_annotation typically is not needed to process the content of a value (it doesn't affect serialization) and clients can ignore it on the read path. }, }, @@ -634,12 +643,7 @@

Method Details

"fields": [ # The list of fields that make up this struct. Order is significant, because values of this struct type are represented as lists, where the order of field values matches the order of fields in the StructType. In turn, the order of fields matches the order of columns in a read request, or the order of fields in the `SELECT` clause of a query. { # Message representing a single field of a struct. "name": "A String", # The name of the field. For reads, this is the column name. For SQL queries, it is the column alias (e.g., `"Word"` in the query `"SELECT 'hello' AS Word"`), or the column name (e.g., `"ColName"` in the query `"SELECT ColName FROM Table"`). Some columns might have an empty name (e.g., `"SELECT UPPER(ColName)"`). Note that a query result can contain multiple fields with the same name. - "type": { # `Type` indicates the type of a Cloud Spanner value, as might be stored in a table cell or returned from an SQL query. # The type of the field. - "arrayElementType": # Object with schema name: Type # If code == ARRAY, then `array_element_type` is the type of the array elements. - "code": "A String", # Required. The TypeCode for this type. - "structType": # Object with schema name: StructType # If code == STRUCT, then `struct_type` provides type information for the struct's fields. - "typeAnnotation": "A String", # The TypeAnnotationCode that disambiguates SQL type that Spanner will use to represent values of this type during query processing. This is necessary for some type codes because a single TypeCode can be mapped to different SQL types depending on the SQL dialect. type_annotation typically is not needed to process the content of a value (it doesn't affect serialization) and clients can ignore it on the read path. - }, + "type": # Object with schema name: Type # The type of the field. }, ], }, @@ -705,7 +709,14 @@

Method Details

"a_key": { # `Type` indicates the type of a Cloud Spanner value, as might be stored in a table cell or returned from an SQL query. "arrayElementType": # Object with schema name: Type # If code == ARRAY, then `array_element_type` is the type of the array elements. "code": "A String", # Required. The TypeCode for this type. - "structType": # Object with schema name: StructType # If code == STRUCT, then `struct_type` provides type information for the struct's fields. + "structType": { # `StructType` defines the fields of a STRUCT type. # If code == STRUCT, then `struct_type` provides type information for the struct's fields. + "fields": [ # The list of fields that make up this struct. Order is significant, because values of this struct type are represented as lists, where the order of field values matches the order of fields in the StructType. In turn, the order of fields matches the order of columns in a read request, or the order of fields in the `SELECT` clause of a query. + { # Message representing a single field of a struct. + "name": "A String", # The name of the field. For reads, this is the column name. For SQL queries, it is the column alias (e.g., `"Word"` in the query `"SELECT 'hello' AS Word"`), or the column name (e.g., `"ColName"` in the query `"SELECT ColName FROM Table"`). Some columns might have an empty name (e.g., `"SELECT UPPER(ColName)"`). Note that a query result can contain multiple fields with the same name. + "type": # Object with schema name: Type # The type of the field. + }, + ], + }, "typeAnnotation": "A String", # The TypeAnnotationCode that disambiguates SQL type that Spanner will use to represent values of this type during query processing. This is necessary for some type codes because a single TypeCode can be mapped to different SQL types depending on the SQL dialect. type_annotation typically is not needed to process the content of a value (it doesn't affect serialization) and clients can ignore it on the read path. }, }, @@ -774,12 +785,7 @@

Method Details

"fields": [ # The list of fields that make up this struct. Order is significant, because values of this struct type are represented as lists, where the order of field values matches the order of fields in the StructType. In turn, the order of fields matches the order of columns in a read request, or the order of fields in the `SELECT` clause of a query. { # Message representing a single field of a struct. "name": "A String", # The name of the field. For reads, this is the column name. For SQL queries, it is the column alias (e.g., `"Word"` in the query `"SELECT 'hello' AS Word"`), or the column name (e.g., `"ColName"` in the query `"SELECT ColName FROM Table"`). Some columns might have an empty name (e.g., `"SELECT UPPER(ColName)"`). Note that a query result can contain multiple fields with the same name. - "type": { # `Type` indicates the type of a Cloud Spanner value, as might be stored in a table cell or returned from an SQL query. # The type of the field. - "arrayElementType": # Object with schema name: Type # If code == ARRAY, then `array_element_type` is the type of the array elements. - "code": "A String", # Required. The TypeCode for this type. - "structType": # Object with schema name: StructType # If code == STRUCT, then `struct_type` provides type information for the struct's fields. - "typeAnnotation": "A String", # The TypeAnnotationCode that disambiguates SQL type that Spanner will use to represent values of this type during query processing. This is necessary for some type codes because a single TypeCode can be mapped to different SQL types depending on the SQL dialect. type_annotation typically is not needed to process the content of a value (it doesn't affect serialization) and clients can ignore it on the read path. - }, + "type": # Object with schema name: Type # The type of the field. }, ], }, @@ -916,7 +922,14 @@

Method Details

"a_key": { # `Type` indicates the type of a Cloud Spanner value, as might be stored in a table cell or returned from an SQL query. "arrayElementType": # Object with schema name: Type # If code == ARRAY, then `array_element_type` is the type of the array elements. "code": "A String", # Required. The TypeCode for this type. - "structType": # Object with schema name: StructType # If code == STRUCT, then `struct_type` provides type information for the struct's fields. + "structType": { # `StructType` defines the fields of a STRUCT type. # If code == STRUCT, then `struct_type` provides type information for the struct's fields. + "fields": [ # The list of fields that make up this struct. Order is significant, because values of this struct type are represented as lists, where the order of field values matches the order of fields in the StructType. In turn, the order of fields matches the order of columns in a read request, or the order of fields in the `SELECT` clause of a query. + { # Message representing a single field of a struct. + "name": "A String", # The name of the field. For reads, this is the column name. For SQL queries, it is the column alias (e.g., `"Word"` in the query `"SELECT 'hello' AS Word"`), or the column name (e.g., `"ColName"` in the query `"SELECT ColName FROM Table"`). Some columns might have an empty name (e.g., `"SELECT UPPER(ColName)"`). Note that a query result can contain multiple fields with the same name. + "type": # Object with schema name: Type # The type of the field. + }, + ], + }, "typeAnnotation": "A String", # The TypeAnnotationCode that disambiguates SQL type that Spanner will use to represent values of this type during query processing. This is necessary for some type codes because a single TypeCode can be mapped to different SQL types depending on the SQL dialect. type_annotation typically is not needed to process the content of a value (it doesn't affect serialization) and clients can ignore it on the read path. }, }, @@ -1173,12 +1186,7 @@

Method Details

"fields": [ # The list of fields that make up this struct. Order is significant, because values of this struct type are represented as lists, where the order of field values matches the order of fields in the StructType. In turn, the order of fields matches the order of columns in a read request, or the order of fields in the `SELECT` clause of a query. { # Message representing a single field of a struct. "name": "A String", # The name of the field. For reads, this is the column name. For SQL queries, it is the column alias (e.g., `"Word"` in the query `"SELECT 'hello' AS Word"`), or the column name (e.g., `"ColName"` in the query `"SELECT ColName FROM Table"`). Some columns might have an empty name (e.g., `"SELECT UPPER(ColName)"`). Note that a query result can contain multiple fields with the same name. - "type": { # `Type` indicates the type of a Cloud Spanner value, as might be stored in a table cell or returned from an SQL query. # The type of the field. - "arrayElementType": # Object with schema name: Type # If code == ARRAY, then `array_element_type` is the type of the array elements. - "code": "A String", # Required. The TypeCode for this type. - "structType": # Object with schema name: StructType # If code == STRUCT, then `struct_type` provides type information for the struct's fields. - "typeAnnotation": "A String", # The TypeAnnotationCode that disambiguates SQL type that Spanner will use to represent values of this type during query processing. This is necessary for some type codes because a single TypeCode can be mapped to different SQL types depending on the SQL dialect. type_annotation typically is not needed to process the content of a value (it doesn't affect serialization) and clients can ignore it on the read path. - }, + "type": # Object with schema name: Type # The type of the field. }, ], }, @@ -1350,12 +1358,7 @@

Method Details

"fields": [ # The list of fields that make up this struct. Order is significant, because values of this struct type are represented as lists, where the order of field values matches the order of fields in the StructType. In turn, the order of fields matches the order of columns in a read request, or the order of fields in the `SELECT` clause of a query. { # Message representing a single field of a struct. "name": "A String", # The name of the field. For reads, this is the column name. For SQL queries, it is the column alias (e.g., `"Word"` in the query `"SELECT 'hello' AS Word"`), or the column name (e.g., `"ColName"` in the query `"SELECT ColName FROM Table"`). Some columns might have an empty name (e.g., `"SELECT UPPER(ColName)"`). Note that a query result can contain multiple fields with the same name. - "type": { # `Type` indicates the type of a Cloud Spanner value, as might be stored in a table cell or returned from an SQL query. # The type of the field. - "arrayElementType": # Object with schema name: Type # If code == ARRAY, then `array_element_type` is the type of the array elements. - "code": "A String", # Required. The TypeCode for this type. - "structType": # Object with schema name: StructType # If code == STRUCT, then `struct_type` provides type information for the struct's fields. - "typeAnnotation": "A String", # The TypeAnnotationCode that disambiguates SQL type that Spanner will use to represent values of this type during query processing. This is necessary for some type codes because a single TypeCode can be mapped to different SQL types depending on the SQL dialect. type_annotation typically is not needed to process the content of a value (it doesn't affect serialization) and clients can ignore it on the read path. - }, + "type": # Object with schema name: Type # The type of the field. }, ], }, diff --git a/docs/dyn/trafficdirector_v2.discovery.html b/docs/dyn/trafficdirector_v2.discovery.html index 9fc24b008fe..0f60d68be96 100644 --- a/docs/dyn/trafficdirector_v2.discovery.html +++ b/docs/dyn/trafficdirector_v2.discovery.html @@ -98,7 +98,7 @@

Method Details

"prefix": "A String", # The input string must have the prefix specified here. Note: empty prefix is not allowed, please use regex instead. Examples: * *abc* matches the value *abc.xyz* "regex": "A String", # The input string must match the regular expression specified here. The regex grammar is defined `here `_. Examples: * The regex ``\d{3}`` matches the value *123* * The regex ``\d{3}`` does not match the value *1234* * The regex ``\d{3}`` does not match the value *123.456* .. attention:: This field has been deprecated in favor of `safe_regex` as it is not safe for use with untrusted input in all cases. "safeRegex": { # A regex matcher designed for safety when used with untrusted input. # The input string must match the regular expression specified here. - "googleRe2": { # Google's `RE2 `_ regex engine. The regex string must adhere to the documented `syntax `_. The engine is designed to complete execution in linear time as well as limit the amount of memory used. Envoy supports program size checking via runtime. The runtime keys `re2.max_program_size.error_level` and `re2.max_program_size.warn_level` can be set to integers as the maximum program size or complexity that a compiled regex can have before an exception is thrown or a warning is logged, respectively. `re2.max_program_size.error_level` defaults to 100, and `re2.max_program_size.warn_level` has no default if unset (will not check/log a warning). Envoy emits two stats for tracking the program size of regexes: the histogram `re2.program_size`, which records the program size, and the counter `re2.exceeded_warn_level`, which is incremented each time the program size exceeds the warn level threshold. # Google's RE2 regex engine. + "googleRe2": { # Google's `RE2 `_ regex engine. The regex string must adhere to the documented `syntax `_. The engine is designed to complete execution in linear time as well as limit the amount of memory used. Envoy supports program size checking via runtime. The runtime keys ``re2.max_program_size.error_level`` and ``re2.max_program_size.warn_level`` can be set to integers as the maximum program size or complexity that a compiled regex can have before an exception is thrown or a warning is logged, respectively. ``re2.max_program_size.error_level`` defaults to 100, and ``re2.max_program_size.warn_level`` has no default if unset (will not check/log a warning). Envoy emits two stats for tracking the program size of regexes: the histogram `re2.program_size`, which records the program size, and the counter `re2.exceeded_warn_level`, which is incremented each time the program size exceeds the warn level threshold. # Google's RE2 regex engine. "maxProgramSize": 42, # This field controls the RE2 "program size" which is a rough estimate of how complex a compiled regex is to evaluate. A regex that has a program size greater than the configured value will fail to compile. In this case, the configured max program size can be increased or the regex can be simplified. If not specified, the default is 100. This field is deprecated; regexp validation should be performed on the management server instead of being done by each individual client. }, "regex": "A String", # The regex match string. The string must be supported by the configured engine. @@ -133,7 +133,7 @@

Method Details

"prefix": "A String", # The input string must have the prefix specified here. Note: empty prefix is not allowed, please use regex instead. Examples: * *abc* matches the value *abc.xyz* "regex": "A String", # The input string must match the regular expression specified here. The regex grammar is defined `here `_. Examples: * The regex ``\d{3}`` matches the value *123* * The regex ``\d{3}`` does not match the value *1234* * The regex ``\d{3}`` does not match the value *123.456* .. attention:: This field has been deprecated in favor of `safe_regex` as it is not safe for use with untrusted input in all cases. "safeRegex": { # A regex matcher designed for safety when used with untrusted input. # The input string must match the regular expression specified here. - "googleRe2": { # Google's `RE2 `_ regex engine. The regex string must adhere to the documented `syntax `_. The engine is designed to complete execution in linear time as well as limit the amount of memory used. Envoy supports program size checking via runtime. The runtime keys `re2.max_program_size.error_level` and `re2.max_program_size.warn_level` can be set to integers as the maximum program size or complexity that a compiled regex can have before an exception is thrown or a warning is logged, respectively. `re2.max_program_size.error_level` defaults to 100, and `re2.max_program_size.warn_level` has no default if unset (will not check/log a warning). Envoy emits two stats for tracking the program size of regexes: the histogram `re2.program_size`, which records the program size, and the counter `re2.exceeded_warn_level`, which is incremented each time the program size exceeds the warn level threshold. # Google's RE2 regex engine. + "googleRe2": { # Google's `RE2 `_ regex engine. The regex string must adhere to the documented `syntax `_. The engine is designed to complete execution in linear time as well as limit the amount of memory used. Envoy supports program size checking via runtime. The runtime keys ``re2.max_program_size.error_level`` and ``re2.max_program_size.warn_level`` can be set to integers as the maximum program size or complexity that a compiled regex can have before an exception is thrown or a warning is logged, respectively. ``re2.max_program_size.error_level`` defaults to 100, and ``re2.max_program_size.warn_level`` has no default if unset (will not check/log a warning). Envoy emits two stats for tracking the program size of regexes: the histogram `re2.program_size`, which records the program size, and the counter `re2.exceeded_warn_level`, which is incremented each time the program size exceeds the warn level threshold. # Google's RE2 regex engine. "maxProgramSize": 42, # This field controls the RE2 "program size" which is a rough estimate of how complex a compiled regex is to evaluate. A regex that has a program size greater than the configured value will fail to compile. In this case, the configured max program size can be increased or the regex can be simplified. If not specified, the default is 100. This field is deprecated; regexp validation should be performed on the management server instead of being done by each individual client. }, "regex": "A String", # The regex match string. The string must be supported by the configured engine. diff --git a/googleapiclient/discovery_cache/documents/acceleratedmobilepageurl.v1.json b/googleapiclient/discovery_cache/documents/acceleratedmobilepageurl.v1.json index 35a9d6054f0..10f3aa889b5 100644 --- a/googleapiclient/discovery_cache/documents/acceleratedmobilepageurl.v1.json +++ b/googleapiclient/discovery_cache/documents/acceleratedmobilepageurl.v1.json @@ -115,7 +115,7 @@ } } }, - "revision": "20220722", + "revision": "20220806", "rootUrl": "https://acceleratedmobilepageurl.googleapis.com/", "schemas": { "AmpUrl": { diff --git a/googleapiclient/discovery_cache/documents/accessapproval.v1.json b/googleapiclient/discovery_cache/documents/accessapproval.v1.json index 855558d2beb..22f3bdfe964 100644 --- a/googleapiclient/discovery_cache/documents/accessapproval.v1.json +++ b/googleapiclient/discovery_cache/documents/accessapproval.v1.json @@ -913,7 +913,7 @@ } } }, - "revision": "20220722", + "revision": "20220729", "rootUrl": "https://accessapproval.googleapis.com/", "schemas": { "AccessApprovalServiceAccount": { diff --git a/googleapiclient/discovery_cache/documents/accesscontextmanager.v1.json b/googleapiclient/discovery_cache/documents/accesscontextmanager.v1.json index 78d7faab920..1368e8314b4 100644 --- a/googleapiclient/discovery_cache/documents/accesscontextmanager.v1.json +++ b/googleapiclient/discovery_cache/documents/accesscontextmanager.v1.json @@ -1083,7 +1083,7 @@ } } }, - "revision": "20220715", + "revision": "20220730", "rootUrl": "https://accesscontextmanager.googleapis.com/", "schemas": { "AccessContextManagerOperationMetadata": { diff --git a/googleapiclient/discovery_cache/documents/accesscontextmanager.v1beta.json b/googleapiclient/discovery_cache/documents/accesscontextmanager.v1beta.json index b26a262f724..36c6b6e9008 100644 --- a/googleapiclient/discovery_cache/documents/accesscontextmanager.v1beta.json +++ b/googleapiclient/discovery_cache/documents/accesscontextmanager.v1beta.json @@ -609,7 +609,7 @@ } } }, - "revision": "20220715", + "revision": "20220806", "rootUrl": "https://accesscontextmanager.googleapis.com/", "schemas": { "AccessContextManagerOperationMetadata": { diff --git a/googleapiclient/discovery_cache/documents/adexchangebuyer2.v2beta1.json b/googleapiclient/discovery_cache/documents/adexchangebuyer2.v2beta1.json index 4aa38601b0c..1f9f41d50db 100644 --- a/googleapiclient/discovery_cache/documents/adexchangebuyer2.v2beta1.json +++ b/googleapiclient/discovery_cache/documents/adexchangebuyer2.v2beta1.json @@ -2568,7 +2568,7 @@ } } }, - "revision": "20220718", + "revision": "20220806", "rootUrl": "https://adexchangebuyer.googleapis.com/", "schemas": { "AbsoluteDateRange": { diff --git a/googleapiclient/discovery_cache/documents/admin.datatransfer_v1.json b/googleapiclient/discovery_cache/documents/admin.datatransfer_v1.json index 1b1afaa14a4..3b1e65ee485 100644 --- a/googleapiclient/discovery_cache/documents/admin.datatransfer_v1.json +++ b/googleapiclient/discovery_cache/documents/admin.datatransfer_v1.json @@ -272,7 +272,7 @@ } } }, - "revision": "20220718", + "revision": "20220802", "rootUrl": "https://admin.googleapis.com/", "schemas": { "Application": { diff --git a/googleapiclient/discovery_cache/documents/admin.directory_v1.json b/googleapiclient/discovery_cache/documents/admin.directory_v1.json index 6f57b0d3b62..034ab272210 100644 --- a/googleapiclient/discovery_cache/documents/admin.directory_v1.json +++ b/googleapiclient/discovery_cache/documents/admin.directory_v1.json @@ -4407,7 +4407,7 @@ } } }, - "revision": "20220718", + "revision": "20220802", "rootUrl": "https://admin.googleapis.com/", "schemas": { "Alias": { @@ -5131,6 +5131,10 @@ "description": "The Chrome device's firmware version.", "type": "string" }, + "firstEnrollmentTime": { + "description": "Date and time for the first time the device was enrolled.", + "type": "string" + }, "kind": { "default": "admin#directory#chromeosdevice", "description": "The type of resource. For the Chromeosdevices resource, the value is `admin#directory#chromeosdevice`.", @@ -5196,6 +5200,10 @@ "description": "The full parent path with the organizational unit's name associated with the device. Path names are case insensitive. If the parent organizational unit is the top-level organization, it is represented as a forward slash, `/`. This property can be [updated](/admin-sdk/directory/v1/guides/manage-chrome-devices#move_chrome_devices_to_ou) using the API. For more information about how to create an organizational structure for your device, see the [administration help center](https://support.google.com/a/answer/182433).", "type": "string" }, + "osUpdateStatus": { + "$ref": "OsUpdateStatus", + "description": "The status of the OS updates for the device." + }, "osVersion": { "description": "The Chrome device's operating system version.", "type": "string" @@ -5914,7 +5922,7 @@ "type": "boolean" }, "aliases": { - "description": "Read-only. A list of a group's alias email addresses.", + "description": "Read-only. A list of a group's alias email addresses. To add, update, or remove a group's aliases, use the `groups.aliases` methods. If edited in a group's POST or PUT request, the edit is ignored.", "items": { "type": "string" }, @@ -5956,7 +5964,7 @@ "type": "string" }, "nonEditableAliases": { - "description": "Read-only. A list of the group's non-editable alias email addresses that are outside of the account's primary domain or subdomains. These are functioning email addresses used by the group. This is a read-only property returned in the API's response for a group. If edited in a group's POST or PUT request, the edit is ignored by the API service.", + "description": "Read-only. A list of the group's non-editable alias email addresses that are outside of the account's primary domain or subdomains. These are functioning email addresses used by the group. This is a read-only property returned in the API's response for a group. If edited in a group's POST or PUT request, the edit is ignored.", "items": { "type": "string" }, @@ -6426,6 +6434,49 @@ }, "type": "object" }, + "OsUpdateStatus": { + "description": "Contains information regarding the current OS update status.", + "id": "OsUpdateStatus", + "properties": { + "rebootTime": { + "description": "Date and time of the last reboot.", + "type": "string" + }, + "state": { + "description": "The update state of an OS update.", + "enum": [ + "updateStateUnspecified", + "updateStateNotStarted", + "updateStateDownloadInProgress", + "updateStateNeedReboot" + ], + "enumDescriptions": [ + "The update state is unspecified.", + "There is an update pending but it hasn't started.", + "The pending update is being downloaded.", + "The device is ready to install the update, but it just needs to reboot." + ], + "type": "string" + }, + "targetKioskAppVersion": { + "description": "New required platform version from the pending updated kiosk app.", + "type": "string" + }, + "targetOsVersion": { + "description": "New platform version of the OS image being downloaded and applied. It is only set when update status is UPDATE_STATUS_DOWNLOAD_IN_PROGRESS or UPDATE_STATUS_NEED_REBOOT. Note this could be a dummy \"0.0.0.0\" for UPDATE_STATUS_NEED_REBOOT for some edge cases, e.g. update engine is restarted without a reboot.", + "type": "string" + }, + "updateCheckTime": { + "description": "Date and time of the last update check.", + "type": "string" + }, + "updateTime": { + "description": "Date and time of the last successful OS update.", + "type": "string" + } + }, + "type": "object" + }, "Printer": { "description": "Printer configuration.", "id": "Printer", diff --git a/googleapiclient/discovery_cache/documents/admin.reports_v1.json b/googleapiclient/discovery_cache/documents/admin.reports_v1.json index 1cd5a63de4f..3c8d500b2c8 100644 --- a/googleapiclient/discovery_cache/documents/admin.reports_v1.json +++ b/googleapiclient/discovery_cache/documents/admin.reports_v1.json @@ -623,7 +623,7 @@ } } }, - "revision": "20220718", + "revision": "20220802", "rootUrl": "https://admin.googleapis.com/", "schemas": { "Activities": { diff --git a/googleapiclient/discovery_cache/documents/admob.v1.json b/googleapiclient/discovery_cache/documents/admob.v1.json index 14b9551ea40..f709d85299a 100644 --- a/googleapiclient/discovery_cache/documents/admob.v1.json +++ b/googleapiclient/discovery_cache/documents/admob.v1.json @@ -321,7 +321,7 @@ } } }, - "revision": "20220725", + "revision": "20220806", "rootUrl": "https://admob.googleapis.com/", "schemas": { "AdUnit": { diff --git a/googleapiclient/discovery_cache/documents/admob.v1beta.json b/googleapiclient/discovery_cache/documents/admob.v1beta.json index 5b6dd74457b..3504968e276 100644 --- a/googleapiclient/discovery_cache/documents/admob.v1beta.json +++ b/googleapiclient/discovery_cache/documents/admob.v1beta.json @@ -359,7 +359,7 @@ } } }, - "revision": "20220725", + "revision": "20220806", "rootUrl": "https://admob.googleapis.com/", "schemas": { "AdSource": { diff --git a/googleapiclient/discovery_cache/documents/adsense.v2.json b/googleapiclient/discovery_cache/documents/adsense.v2.json index 08f0cf4a38b..ddf6a80f6db 100644 --- a/googleapiclient/discovery_cache/documents/adsense.v2.json +++ b/googleapiclient/discovery_cache/documents/adsense.v2.json @@ -1645,7 +1645,7 @@ } } }, - "revision": "20220725", + "revision": "20220806", "rootUrl": "https://adsense.googleapis.com/", "schemas": { "Account": { @@ -1664,7 +1664,8 @@ "type": "string" }, "name": { - "description": "Resource name of the account. Format: accounts/pub-[0-9]+", + "description": "Output only. Resource name of the account. Format: accounts/pub-[0-9]+", + "readOnly": true, "type": "string" }, "pendingTasks": { @@ -1709,7 +1710,8 @@ "id": "AdClient", "properties": { "name": { - "description": "Resource name of the ad client. Format: accounts/{account}/adclients/{adclient}", + "description": "Output only. Resource name of the ad client. Format: accounts/{account}/adclients/{adclient}", + "readOnly": true, "type": "string" }, "productCode": { @@ -1777,7 +1779,8 @@ "type": "string" }, "name": { - "description": "Resource name of the ad unit. Format: accounts/{account}/adclients/{adclient}/adunits/{adunit}", + "description": "Output only. Resource name of the ad unit. Format: accounts/{account}/adclients/{adclient}/adunits/{adunit}", + "readOnly": true, "type": "string" }, "reportingDimensionId": { @@ -1824,7 +1827,8 @@ "type": "string" }, "name": { - "description": "Resource name of the alert. Format: accounts/{account}/alerts/{alert}", + "description": "Output only. Resource name of the alert. Format: accounts/{account}/alerts/{alert}", + "readOnly": true, "type": "string" }, "severity": { @@ -1903,7 +1907,8 @@ "type": "string" }, "name": { - "description": "Resource name of the custom channel. Format: accounts/{account}/adclients/{adclient}/customchannels/{customchannel}", + "description": "Output only. Resource name of the custom channel. Format: accounts/{account}/adclients/{adclient}/customchannels/{customchannel}", + "readOnly": true, "type": "string" }, "reportingDimensionId": { @@ -2223,7 +2228,8 @@ "readOnly": true }, "name": { - "description": "Resource name of the payment. Format: - accounts/{account}/payments/unpaid for unpaid (current) AdSense earnings. - accounts/{account}/payments/youtube-unpaid for unpaid (current) YouTube earnings. - accounts/{account}/payments/yyyy-MM-dd for paid AdSense earnings. - accounts/{account}/payments/youtube-yyyy-MM-dd for paid YouTube earnings. ", + "description": "Output only. Resource name of the payment. Format: - accounts/{account}/payments/unpaid for unpaid (current) AdSense earnings. - accounts/{account}/payments/youtube-unpaid for unpaid (current) YouTube earnings. - accounts/{account}/payments/yyyy-MM-dd for paid AdSense earnings. - accounts/{account}/payments/youtube-yyyy-MM-dd for paid YouTube earnings.", + "readOnly": true, "type": "string" } }, @@ -2297,7 +2303,8 @@ "id": "SavedReport", "properties": { "name": { - "description": "Resource name of the report. Format: accounts/{account}/reports/{report}", + "description": "Output only. Resource name of the report. Format: accounts/{account}/reports/{report}", + "readOnly": true, "type": "string" }, "title": { @@ -2320,7 +2327,8 @@ "type": "string" }, "name": { - "description": "Resource name of a site. Format: accounts/{account}/sites/{site}", + "description": "Output only. Resource name of a site. Format: accounts/{account}/sites/{site}", + "readOnly": true, "type": "string" }, "reportingDimensionId": { @@ -2370,7 +2378,8 @@ "id": "UrlChannel", "properties": { "name": { - "description": "Resource name of the URL channel. Format: accounts/{account}/adclients/{adclient}/urlchannels/{urlchannel}", + "description": "Output only. Resource name of the URL channel. Format: accounts/{account}/adclients/{adclient}/urlchannels/{urlchannel}", + "readOnly": true, "type": "string" }, "reportingDimensionId": { diff --git a/googleapiclient/discovery_cache/documents/alertcenter.v1beta1.json b/googleapiclient/discovery_cache/documents/alertcenter.v1beta1.json index 52ae2509689..4dc62d181e1 100644 --- a/googleapiclient/discovery_cache/documents/alertcenter.v1beta1.json +++ b/googleapiclient/discovery_cache/documents/alertcenter.v1beta1.json @@ -423,7 +423,7 @@ } } }, - "revision": "20220718", + "revision": "20220801", "rootUrl": "https://alertcenter.googleapis.com/", "schemas": { "AccountSuspensionDetails": { diff --git a/googleapiclient/discovery_cache/documents/analyticsadmin.v1alpha.json b/googleapiclient/discovery_cache/documents/analyticsadmin.v1alpha.json index 3d6d5013fdd..05a9505f7d0 100644 --- a/googleapiclient/discovery_cache/documents/analyticsadmin.v1alpha.json +++ b/googleapiclient/discovery_cache/documents/analyticsadmin.v1alpha.json @@ -889,6 +889,35 @@ "https://www.googleapis.com/auth/analytics.edit" ] }, + "runAccessReport": { + "description": "Returns a customized report of data access records. The report provides records of each time a user reads Google Analytics reporting data. Access records are retained for up to 2 years. Data Access Reports can be requested for a property. The property must be in Google Analytics 360. This method is only available to Administrators. These data access records include GA4 UI Reporting, GA4 UI Explorations, GA4 Data API, and other products like Firebase & Admob that can retrieve data from Google Analytics through a linkage. These records don't include property configuration changes like adding a stream or changing a property's time zone. For configuration change history, see [searchChangeHistoryEvents](https://developers.google.com/analytics/devguides/config/admin/v1/rest/v1alpha/accounts/searchChangeHistoryEvents).", + "flatPath": "v1alpha/properties/{propertiesId}:runAccessReport", + "httpMethod": "POST", + "id": "analyticsadmin.properties.runAccessReport", + "parameterOrder": [ + "entity" + ], + "parameters": { + "entity": { + "description": "The Data Access Report is requested for this property. For example if \"123\" is your GA4 property ID, then entity should be \"properties/123\".", + "location": "path", + "pattern": "^properties/[^/]+$", + "required": true, + "type": "string" + } + }, + "path": "v1alpha/{+entity}:runAccessReport", + "request": { + "$ref": "GoogleAnalyticsAdminV1alphaRunAccessReportRequest" + }, + "response": { + "$ref": "GoogleAnalyticsAdminV1alphaRunAccessReportResponse" + }, + "scopes": [ + "https://www.googleapis.com/auth/analytics.edit", + "https://www.googleapis.com/auth/analytics.readonly" + ] + }, "updateAttributionSettings": { "description": "Updates attribution settings on a property.", "flatPath": "v1alpha/properties/{propertiesId}/attributionSettings", @@ -993,6 +1022,163 @@ } }, "resources": { + "audiences": { + "methods": { + "archive": { + "description": "Archives an Audience on a property.", + "flatPath": "v1alpha/properties/{propertiesId}/audiences/{audiencesId}:archive", + "httpMethod": "POST", + "id": "analyticsadmin.properties.audiences.archive", + "parameterOrder": [ + "name" + ], + "parameters": { + "name": { + "description": "Required. Example format: properties/1234/audiences/5678", + "location": "path", + "pattern": "^properties/[^/]+/audiences/[^/]+$", + "required": true, + "type": "string" + } + }, + "path": "v1alpha/{+name}:archive", + "request": { + "$ref": "GoogleAnalyticsAdminV1alphaArchiveAudienceRequest" + }, + "response": { + "$ref": "GoogleProtobufEmpty" + }, + "scopes": [ + "https://www.googleapis.com/auth/analytics.edit" + ] + }, + "create": { + "description": "Creates an Audience.", + "flatPath": "v1alpha/properties/{propertiesId}/audiences", + "httpMethod": "POST", + "id": "analyticsadmin.properties.audiences.create", + "parameterOrder": [ + "parent" + ], + "parameters": { + "parent": { + "description": "Required. Example format: properties/1234", + "location": "path", + "pattern": "^properties/[^/]+$", + "required": true, + "type": "string" + } + }, + "path": "v1alpha/{+parent}/audiences", + "request": { + "$ref": "GoogleAnalyticsAdminV1alphaAudience" + }, + "response": { + "$ref": "GoogleAnalyticsAdminV1alphaAudience" + }, + "scopes": [ + "https://www.googleapis.com/auth/analytics.edit" + ] + }, + "get": { + "description": "Lookup for a single Audience. Audiences created before 2020 may not be supported.", + "flatPath": "v1alpha/properties/{propertiesId}/audiences/{audiencesId}", + "httpMethod": "GET", + "id": "analyticsadmin.properties.audiences.get", + "parameterOrder": [ + "name" + ], + "parameters": { + "name": { + "description": "Required. The name of the Audience to get. Example format: properties/1234/audiences/5678", + "location": "path", + "pattern": "^properties/[^/]+/audiences/[^/]+$", + "required": true, + "type": "string" + } + }, + "path": "v1alpha/{+name}", + "response": { + "$ref": "GoogleAnalyticsAdminV1alphaAudience" + }, + "scopes": [ + "https://www.googleapis.com/auth/analytics.edit", + "https://www.googleapis.com/auth/analytics.readonly" + ] + }, + "list": { + "description": "Lists Audiences on a property. Audiences created before 2020 may not be supported.", + "flatPath": "v1alpha/properties/{propertiesId}/audiences", + "httpMethod": "GET", + "id": "analyticsadmin.properties.audiences.list", + "parameterOrder": [ + "parent" + ], + "parameters": { + "pageSize": { + "description": "The maximum number of resources to return. If unspecified, at most 50 resources will be returned. The maximum value is 200 (higher values will be coerced to the maximum).", + "format": "int32", + "location": "query", + "type": "integer" + }, + "pageToken": { + "description": "A page token, received from a previous `ListAudiences` call. Provide this to retrieve the subsequent page. When paginating, all other parameters provided to `ListAudiences` must match the call that provided the page token.", + "location": "query", + "type": "string" + }, + "parent": { + "description": "Required. Example format: properties/1234", + "location": "path", + "pattern": "^properties/[^/]+$", + "required": true, + "type": "string" + } + }, + "path": "v1alpha/{+parent}/audiences", + "response": { + "$ref": "GoogleAnalyticsAdminV1alphaListAudiencesResponse" + }, + "scopes": [ + "https://www.googleapis.com/auth/analytics.edit", + "https://www.googleapis.com/auth/analytics.readonly" + ] + }, + "patch": { + "description": "Updates an Audience on a property.", + "flatPath": "v1alpha/properties/{propertiesId}/audiences/{audiencesId}", + "httpMethod": "PATCH", + "id": "analyticsadmin.properties.audiences.patch", + "parameterOrder": [ + "name" + ], + "parameters": { + "name": { + "description": "Output only. The resource name for this Audience resource. Format: properties/{propertyId}/audiences/{audienceId}", + "location": "path", + "pattern": "^properties/[^/]+/audiences/[^/]+$", + "required": true, + "type": "string" + }, + "updateMask": { + "description": "Required. The list of fields to be updated. Field names must be in snake case (e.g., \"field_to_update\"). Omitted fields will not be updated. To replace the entire entity, use one path with the string \"*\" to match all fields.", + "format": "google-fieldmask", + "location": "query", + "type": "string" + } + }, + "path": "v1alpha/{+name}", + "request": { + "$ref": "GoogleAnalyticsAdminV1alphaAudience" + }, + "response": { + "$ref": "GoogleAnalyticsAdminV1alphaAudience" + }, + "scopes": [ + "https://www.googleapis.com/auth/analytics.edit" + ] + } + } + }, "conversionEvents": { "methods": { "create": { @@ -2616,110 +2802,480 @@ } } }, - "revision": "20220725", + "revision": "20220806", "rootUrl": "https://analyticsadmin.googleapis.com/", "schemas": { - "GoogleAnalyticsAdminV1alphaAccount": { - "description": "A resource message representing a Google Analytics account.", - "id": "GoogleAnalyticsAdminV1alphaAccount", + "GoogleAnalyticsAdminV1alphaAccessBetweenFilter": { + "description": "To express that the result needs to be between two numbers (inclusive).", + "id": "GoogleAnalyticsAdminV1alphaAccessBetweenFilter", "properties": { - "createTime": { - "description": "Output only. Time when this account was originally created.", - "format": "google-datetime", - "readOnly": true, - "type": "string" + "fromValue": { + "$ref": "GoogleAnalyticsAdminV1alphaNumericValue", + "description": "Begins with this number." }, - "deleted": { - "description": "Output only. Indicates whether this Account is soft-deleted or not. Deleted accounts are excluded from List results unless specifically requested.", - "readOnly": true, - "type": "boolean" - }, - "displayName": { - "description": "Required. Human-readable display name for this account.", + "toValue": { + "$ref": "GoogleAnalyticsAdminV1alphaNumericValue", + "description": "Ends with this number." + } + }, + "type": "object" + }, + "GoogleAnalyticsAdminV1alphaAccessDateRange": { + "description": "A contiguous range of days: startDate, startDate + 1, ..., endDate.", + "id": "GoogleAnalyticsAdminV1alphaAccessDateRange", + "properties": { + "endDate": { + "description": "The inclusive end date for the query in the format `YYYY-MM-DD`. Cannot be before `startDate`. The format `NdaysAgo`, `yesterday`, or `today` is also accepted, and in that case, the date is inferred based on the current time in the request's time zone.", "type": "string" }, - "name": { - "description": "Output only. Resource name of this account. Format: accounts/{account} Example: \"accounts/100\"", - "readOnly": true, + "startDate": { + "description": "The inclusive start date for the query in the format `YYYY-MM-DD`. Cannot be after `endDate`. The format `NdaysAgo`, `yesterday`, or `today` is also accepted, and in that case, the date is inferred based on the current time in the request's time zone.", "type": "string" - }, - "regionCode": { - "description": "Country of business. Must be a Unicode CLDR region code.", + } + }, + "type": "object" + }, + "GoogleAnalyticsAdminV1alphaAccessDimension": { + "description": "Dimensions are attributes of your data. For example, the dimension `userEmail` indicates the email of the user that accessed reporting data. Dimension values in report responses are strings.", + "id": "GoogleAnalyticsAdminV1alphaAccessDimension", + "properties": { + "dimensionName": { + "description": "The API name of the dimension. See [Data Access Schema](https://developers.google.com/analytics/devguides/config/admin/v1/access-api-schema) for the list of dimensions supported in this API. Dimensions are referenced by name in `dimensionFilter` and `orderBys`.", "type": "string" - }, - "updateTime": { - "description": "Output only. Time when account payload fields were last updated.", - "format": "google-datetime", - "readOnly": true, + } + }, + "type": "object" + }, + "GoogleAnalyticsAdminV1alphaAccessDimensionHeader": { + "description": "Describes a dimension column in the report. Dimensions requested in a report produce column entries within rows and DimensionHeaders. However, dimensions used exclusively within filters or expressions do not produce columns in a report; correspondingly, those dimensions do not produce headers.", + "id": "GoogleAnalyticsAdminV1alphaAccessDimensionHeader", + "properties": { + "dimensionName": { + "description": "The dimension's name; for example 'userEmail'.", "type": "string" } }, "type": "object" }, - "GoogleAnalyticsAdminV1alphaAccountSummary": { - "description": "A virtual resource representing an overview of an account and all its child GA4 properties.", - "id": "GoogleAnalyticsAdminV1alphaAccountSummary", + "GoogleAnalyticsAdminV1alphaAccessDimensionValue": { + "description": "The value of a dimension.", + "id": "GoogleAnalyticsAdminV1alphaAccessDimensionValue", "properties": { - "account": { - "description": "Resource name of account referred to by this account summary Format: accounts/{account_id} Example: \"accounts/1000\"", + "value": { + "description": "The dimension value. For example, this value may be 'France' for the 'country' dimension.", "type": "string" + } + }, + "type": "object" + }, + "GoogleAnalyticsAdminV1alphaAccessFilter": { + "description": "An expression to filter dimension or metric values.", + "id": "GoogleAnalyticsAdminV1alphaAccessFilter", + "properties": { + "betweenFilter": { + "$ref": "GoogleAnalyticsAdminV1alphaAccessBetweenFilter", + "description": "A filter for two values." }, - "displayName": { - "description": "Display name for the account referred to in this account summary.", + "fieldName": { + "description": "The dimension name or metric name.", "type": "string" }, - "name": { - "description": "Resource name for this account summary. Format: accountSummaries/{account_id} Example: \"accountSummaries/1000\"", - "type": "string" + "inListFilter": { + "$ref": "GoogleAnalyticsAdminV1alphaAccessInListFilter", + "description": "A filter for in list values." }, - "propertySummaries": { - "description": "List of summaries for child accounts of this account.", + "numericFilter": { + "$ref": "GoogleAnalyticsAdminV1alphaAccessNumericFilter", + "description": "A filter for numeric or date values." + }, + "stringFilter": { + "$ref": "GoogleAnalyticsAdminV1alphaAccessStringFilter", + "description": "Strings related filter." + } + }, + "type": "object" + }, + "GoogleAnalyticsAdminV1alphaAccessFilterExpression": { + "description": "Expresses dimension or metric filters. The fields in the same expression need to be either all dimensions or all metrics.", + "id": "GoogleAnalyticsAdminV1alphaAccessFilterExpression", + "properties": { + "accessFilter": { + "$ref": "GoogleAnalyticsAdminV1alphaAccessFilter", + "description": "A primitive filter. In the same FilterExpression, all of the filter's field names need to be either all dimensions or all metrics." + }, + "andGroup": { + "$ref": "GoogleAnalyticsAdminV1alphaAccessFilterExpressionList", + "description": "Each of the FilterExpressions in the and_group has an AND relationship." + }, + "notExpression": { + "$ref": "GoogleAnalyticsAdminV1alphaAccessFilterExpression", + "description": "The FilterExpression is NOT of not_expression." + }, + "orGroup": { + "$ref": "GoogleAnalyticsAdminV1alphaAccessFilterExpressionList", + "description": "Each of the FilterExpressions in the or_group has an OR relationship." + } + }, + "type": "object" + }, + "GoogleAnalyticsAdminV1alphaAccessFilterExpressionList": { + "description": "A list of filter expressions.", + "id": "GoogleAnalyticsAdminV1alphaAccessFilterExpressionList", + "properties": { + "expressions": { + "description": "A list of filter expressions.", "items": { - "$ref": "GoogleAnalyticsAdminV1alphaPropertySummary" + "$ref": "GoogleAnalyticsAdminV1alphaAccessFilterExpression" }, "type": "array" } }, "type": "object" }, - "GoogleAnalyticsAdminV1alphaAcknowledgeUserDataCollectionRequest": { - "description": "Request message for AcknowledgeUserDataCollection RPC.", - "id": "GoogleAnalyticsAdminV1alphaAcknowledgeUserDataCollectionRequest", + "GoogleAnalyticsAdminV1alphaAccessInListFilter": { + "description": "The result needs to be in a list of string values.", + "id": "GoogleAnalyticsAdminV1alphaAccessInListFilter", "properties": { - "acknowledgement": { - "description": "Required. An acknowledgement that the caller of this method understands the terms of user data collection. This field must contain the exact value: \"I acknowledge that I have the necessary privacy disclosures and rights from my end users for the collection and processing of their data, including the association of such data with the visitation information Google Analytics collects from my site and/or app property.\"", - "type": "string" + "caseSensitive": { + "description": "If true, the string value is case sensitive.", + "type": "boolean" + }, + "values": { + "description": "The list of string values. Must be non-empty.", + "items": { + "type": "string" + }, + "type": "array" } }, "type": "object" }, - "GoogleAnalyticsAdminV1alphaAcknowledgeUserDataCollectionResponse": { - "description": "Response message for AcknowledgeUserDataCollection RPC.", - "id": "GoogleAnalyticsAdminV1alphaAcknowledgeUserDataCollectionResponse", - "properties": {}, + "GoogleAnalyticsAdminV1alphaAccessMetric": { + "description": "The quantitative measurements of a report. For example, the metric `accessCount` is the total number of data access records.", + "id": "GoogleAnalyticsAdminV1alphaAccessMetric", + "properties": { + "metricName": { + "description": "The API name of the metric. See [Data Access Schema](https://developers.google.com/analytics/devguides/config/admin/v1/access-api-schema) for the list of metrics supported in this API. Metrics are referenced by name in `metricFilter` & `orderBys`.", + "type": "string" + } + }, "type": "object" }, - "GoogleAnalyticsAdminV1alphaApproveDisplayVideo360AdvertiserLinkProposalRequest": { - "description": "Request message for ApproveDisplayVideo360AdvertiserLinkProposal RPC.", - "id": "GoogleAnalyticsAdminV1alphaApproveDisplayVideo360AdvertiserLinkProposalRequest", - "properties": {}, + "GoogleAnalyticsAdminV1alphaAccessMetricHeader": { + "description": "Describes a metric column in the report. Visible metrics requested in a report produce column entries within rows and MetricHeaders. However, metrics used exclusively within filters or expressions do not produce columns in a report; correspondingly, those metrics do not produce headers.", + "id": "GoogleAnalyticsAdminV1alphaAccessMetricHeader", + "properties": { + "metricName": { + "description": "The metric's name; for example 'accessCount'.", + "type": "string" + } + }, "type": "object" }, - "GoogleAnalyticsAdminV1alphaApproveDisplayVideo360AdvertiserLinkProposalResponse": { - "description": "Response message for ApproveDisplayVideo360AdvertiserLinkProposal RPC.", - "id": "GoogleAnalyticsAdminV1alphaApproveDisplayVideo360AdvertiserLinkProposalResponse", + "GoogleAnalyticsAdminV1alphaAccessMetricValue": { + "description": "The value of a metric.", + "id": "GoogleAnalyticsAdminV1alphaAccessMetricValue", "properties": { - "displayVideo360AdvertiserLink": { - "$ref": "GoogleAnalyticsAdminV1alphaDisplayVideo360AdvertiserLink", - "description": "The DisplayVideo360AdvertiserLink created as a result of approving the proposal." + "value": { + "description": "The measurement value. For example, this value may be '13'.", + "type": "string" } }, "type": "object" }, - "GoogleAnalyticsAdminV1alphaArchiveCustomDimensionRequest": { - "description": "Request message for ArchiveCustomDimension RPC.", - "id": "GoogleAnalyticsAdminV1alphaArchiveCustomDimensionRequest", - "properties": {}, + "GoogleAnalyticsAdminV1alphaAccessNumericFilter": { + "description": "Filters for numeric or date values.", + "id": "GoogleAnalyticsAdminV1alphaAccessNumericFilter", + "properties": { + "operation": { + "description": "The operation type for this filter.", + "enum": [ + "OPERATION_UNSPECIFIED", + "EQUAL", + "LESS_THAN", + "LESS_THAN_OR_EQUAL", + "GREATER_THAN", + "GREATER_THAN_OR_EQUAL" + ], + "enumDescriptions": [ + "Unspecified.", + "Equal", + "Less than", + "Less than or equal", + "Greater than", + "Greater than or equal" + ], + "type": "string" + }, + "value": { + "$ref": "GoogleAnalyticsAdminV1alphaNumericValue", + "description": "A numeric value or a date value." + } + }, + "type": "object" + }, + "GoogleAnalyticsAdminV1alphaAccessOrderBy": { + "description": "Order bys define how rows will be sorted in the response. For example, ordering rows by descending access count is one ordering, and ordering rows by the country string is a different ordering.", + "id": "GoogleAnalyticsAdminV1alphaAccessOrderBy", + "properties": { + "desc": { + "description": "If true, sorts by descending order. If false or unspecified, sorts in ascending order.", + "type": "boolean" + }, + "dimension": { + "$ref": "GoogleAnalyticsAdminV1alphaAccessOrderByDimensionOrderBy", + "description": "Sorts results by a dimension's values." + }, + "metric": { + "$ref": "GoogleAnalyticsAdminV1alphaAccessOrderByMetricOrderBy", + "description": "Sorts results by a metric's values." + } + }, + "type": "object" + }, + "GoogleAnalyticsAdminV1alphaAccessOrderByDimensionOrderBy": { + "description": "Sorts by dimension values.", + "id": "GoogleAnalyticsAdminV1alphaAccessOrderByDimensionOrderBy", + "properties": { + "dimensionName": { + "description": "A dimension name in the request to order by.", + "type": "string" + }, + "orderType": { + "description": "Controls the rule for dimension value ordering.", + "enum": [ + "ORDER_TYPE_UNSPECIFIED", + "ALPHANUMERIC", + "CASE_INSENSITIVE_ALPHANUMERIC", + "NUMERIC" + ], + "enumDescriptions": [ + "Unspecified.", + "Alphanumeric sort by Unicode code point. For example, \"2\" < \"A\" < \"X\" < \"b\" < \"z\".", + "Case insensitive alphanumeric sort by lower case Unicode code point. For example, \"2\" < \"A\" < \"b\" < \"X\" < \"z\".", + "Dimension values are converted to numbers before sorting. For example in NUMERIC sort, \"25\" < \"100\", and in `ALPHANUMERIC` sort, \"100\" < \"25\". Non-numeric dimension values all have equal ordering value below all numeric values." + ], + "type": "string" + } + }, + "type": "object" + }, + "GoogleAnalyticsAdminV1alphaAccessOrderByMetricOrderBy": { + "description": "Sorts by metric values.", + "id": "GoogleAnalyticsAdminV1alphaAccessOrderByMetricOrderBy", + "properties": { + "metricName": { + "description": "A metric name in the request to order by.", + "type": "string" + } + }, + "type": "object" + }, + "GoogleAnalyticsAdminV1alphaAccessQuota": { + "description": "Current state of all quotas for this Analytics property. If any quota for a property is exhausted, all requests to that property will return Resource Exhausted errors.", + "id": "GoogleAnalyticsAdminV1alphaAccessQuota", + "properties": { + "concurrentRequests": { + "$ref": "GoogleAnalyticsAdminV1alphaAccessQuotaStatus", + "description": "Properties can use up to 50 concurrent requests." + }, + "serverErrorsPerProjectPerHour": { + "$ref": "GoogleAnalyticsAdminV1alphaAccessQuotaStatus", + "description": "Properties and cloud project pairs can have up to 50 server errors per hour." + }, + "tokensPerDay": { + "$ref": "GoogleAnalyticsAdminV1alphaAccessQuotaStatus", + "description": "Properties can use 250,000 tokens per day. Most requests consume fewer than 10 tokens." + }, + "tokensPerHour": { + "$ref": "GoogleAnalyticsAdminV1alphaAccessQuotaStatus", + "description": "Properties can use 50,000 tokens per hour. An API request consumes a single number of tokens, and that number is deducted from both the hourly and daily quotas." + } + }, + "type": "object" + }, + "GoogleAnalyticsAdminV1alphaAccessQuotaStatus": { + "description": "Current state for a particular quota group.", + "id": "GoogleAnalyticsAdminV1alphaAccessQuotaStatus", + "properties": { + "consumed": { + "description": "Quota consumed by this request.", + "format": "int32", + "type": "integer" + }, + "remaining": { + "description": "Quota remaining after this request.", + "format": "int32", + "type": "integer" + } + }, + "type": "object" + }, + "GoogleAnalyticsAdminV1alphaAccessRow": { + "description": "Access report data for each row.", + "id": "GoogleAnalyticsAdminV1alphaAccessRow", + "properties": { + "dimensionValues": { + "description": "List of dimension values. These values are in the same order as specified in the request.", + "items": { + "$ref": "GoogleAnalyticsAdminV1alphaAccessDimensionValue" + }, + "type": "array" + }, + "metricValues": { + "description": "List of metric values. These values are in the same order as specified in the request.", + "items": { + "$ref": "GoogleAnalyticsAdminV1alphaAccessMetricValue" + }, + "type": "array" + } + }, + "type": "object" + }, + "GoogleAnalyticsAdminV1alphaAccessStringFilter": { + "description": "The filter for strings.", + "id": "GoogleAnalyticsAdminV1alphaAccessStringFilter", + "properties": { + "caseSensitive": { + "description": "If true, the string value is case sensitive.", + "type": "boolean" + }, + "matchType": { + "description": "The match type for this filter.", + "enum": [ + "MATCH_TYPE_UNSPECIFIED", + "EXACT", + "BEGINS_WITH", + "ENDS_WITH", + "CONTAINS", + "FULL_REGEXP", + "PARTIAL_REGEXP" + ], + "enumDescriptions": [ + "Unspecified", + "Exact match of the string value.", + "Begins with the string value.", + "Ends with the string value.", + "Contains the string value.", + "Full match for the regular expression with the string value.", + "Partial match for the regular expression with the string value." + ], + "type": "string" + }, + "value": { + "description": "The string value used for the matching.", + "type": "string" + } + }, + "type": "object" + }, + "GoogleAnalyticsAdminV1alphaAccount": { + "description": "A resource message representing a Google Analytics account.", + "id": "GoogleAnalyticsAdminV1alphaAccount", + "properties": { + "createTime": { + "description": "Output only. Time when this account was originally created.", + "format": "google-datetime", + "readOnly": true, + "type": "string" + }, + "deleted": { + "description": "Output only. Indicates whether this Account is soft-deleted or not. Deleted accounts are excluded from List results unless specifically requested.", + "readOnly": true, + "type": "boolean" + }, + "displayName": { + "description": "Required. Human-readable display name for this account.", + "type": "string" + }, + "name": { + "description": "Output only. Resource name of this account. Format: accounts/{account} Example: \"accounts/100\"", + "readOnly": true, + "type": "string" + }, + "regionCode": { + "description": "Country of business. Must be a Unicode CLDR region code.", + "type": "string" + }, + "updateTime": { + "description": "Output only. Time when account payload fields were last updated.", + "format": "google-datetime", + "readOnly": true, + "type": "string" + } + }, + "type": "object" + }, + "GoogleAnalyticsAdminV1alphaAccountSummary": { + "description": "A virtual resource representing an overview of an account and all its child GA4 properties.", + "id": "GoogleAnalyticsAdminV1alphaAccountSummary", + "properties": { + "account": { + "description": "Resource name of account referred to by this account summary Format: accounts/{account_id} Example: \"accounts/1000\"", + "type": "string" + }, + "displayName": { + "description": "Display name for the account referred to in this account summary.", + "type": "string" + }, + "name": { + "description": "Resource name for this account summary. Format: accountSummaries/{account_id} Example: \"accountSummaries/1000\"", + "type": "string" + }, + "propertySummaries": { + "description": "List of summaries for child accounts of this account.", + "items": { + "$ref": "GoogleAnalyticsAdminV1alphaPropertySummary" + }, + "type": "array" + } + }, + "type": "object" + }, + "GoogleAnalyticsAdminV1alphaAcknowledgeUserDataCollectionRequest": { + "description": "Request message for AcknowledgeUserDataCollection RPC.", + "id": "GoogleAnalyticsAdminV1alphaAcknowledgeUserDataCollectionRequest", + "properties": { + "acknowledgement": { + "description": "Required. An acknowledgement that the caller of this method understands the terms of user data collection. This field must contain the exact value: \"I acknowledge that I have the necessary privacy disclosures and rights from my end users for the collection and processing of their data, including the association of such data with the visitation information Google Analytics collects from my site and/or app property.\"", + "type": "string" + } + }, + "type": "object" + }, + "GoogleAnalyticsAdminV1alphaAcknowledgeUserDataCollectionResponse": { + "description": "Response message for AcknowledgeUserDataCollection RPC.", + "id": "GoogleAnalyticsAdminV1alphaAcknowledgeUserDataCollectionResponse", + "properties": {}, + "type": "object" + }, + "GoogleAnalyticsAdminV1alphaApproveDisplayVideo360AdvertiserLinkProposalRequest": { + "description": "Request message for ApproveDisplayVideo360AdvertiserLinkProposal RPC.", + "id": "GoogleAnalyticsAdminV1alphaApproveDisplayVideo360AdvertiserLinkProposalRequest", + "properties": {}, + "type": "object" + }, + "GoogleAnalyticsAdminV1alphaApproveDisplayVideo360AdvertiserLinkProposalResponse": { + "description": "Response message for ApproveDisplayVideo360AdvertiserLinkProposal RPC.", + "id": "GoogleAnalyticsAdminV1alphaApproveDisplayVideo360AdvertiserLinkProposalResponse", + "properties": { + "displayVideo360AdvertiserLink": { + "$ref": "GoogleAnalyticsAdminV1alphaDisplayVideo360AdvertiserLink", + "description": "The DisplayVideo360AdvertiserLink created as a result of approving the proposal." + } + }, + "type": "object" + }, + "GoogleAnalyticsAdminV1alphaArchiveAudienceRequest": { + "description": "Request message for ArchiveAudience RPC.", + "id": "GoogleAnalyticsAdminV1alphaArchiveAudienceRequest", + "properties": {}, + "type": "object" + }, + "GoogleAnalyticsAdminV1alphaArchiveCustomDimensionRequest": { + "description": "Request message for ArchiveCustomDimension RPC.", + "id": "GoogleAnalyticsAdminV1alphaArchiveCustomDimensionRequest", + "properties": {}, "type": "object" }, "GoogleAnalyticsAdminV1alphaArchiveCustomMetricRequest": { @@ -2794,6 +3350,423 @@ }, "type": "object" }, + "GoogleAnalyticsAdminV1alphaAudience": { + "description": "A resource message representing a GA4 Audience.", + "id": "GoogleAnalyticsAdminV1alphaAudience", + "properties": { + "adsPersonalizationEnabled": { + "description": "Output only. It is automatically set by GA to false if this is an NPA Audience and is excluded from ads personalization.", + "readOnly": true, + "type": "boolean" + }, + "description": { + "description": "Required. The description of the Audience.", + "type": "string" + }, + "displayName": { + "description": "Required. The display name of the Audience.", + "type": "string" + }, + "eventTrigger": { + "$ref": "GoogleAnalyticsAdminV1alphaAudienceEventTrigger", + "description": "Optional. Specifies an event to log when a user joins the Audience. If not set, no event is logged when a user joins the Audience." + }, + "exclusionDurationMode": { + "description": "Immutable. Specifies how long an exclusion lasts for users that meet the exclusion filter. It is applied to all EXCLUDE filter clauses and is ignored when there is no EXCLUDE filter clause in the Audience.", + "enum": [ + "AUDIENCE_EXCLUSION_DURATION_MODE_UNSPECIFIED", + "EXCLUDE_TEMPORARILY", + "EXCLUDE_PERMANENTLY" + ], + "enumDescriptions": [ + "Not specified.", + "Exclude users from the Audience during periods when they meet the filter clause.", + "Exclude users from the Audience if they've ever met the filter clause." + ], + "type": "string" + }, + "filterClauses": { + "description": "Required. Immutable. null Filter clauses that define the Audience. All clauses will be AND\u2019ed together.", + "items": { + "$ref": "GoogleAnalyticsAdminV1alphaAudienceFilterClause" + }, + "type": "array" + }, + "membershipDurationDays": { + "description": "Required. Immutable. The duration a user should stay in an Audience. It cannot be set to more than 540 days.", + "format": "int32", + "type": "integer" + }, + "name": { + "description": "Output only. The resource name for this Audience resource. Format: properties/{propertyId}/audiences/{audienceId}", + "readOnly": true, + "type": "string" + } + }, + "type": "object" + }, + "GoogleAnalyticsAdminV1alphaAudienceDimensionOrMetricFilter": { + "description": "A specific filter for a single dimension or metric.", + "id": "GoogleAnalyticsAdminV1alphaAudienceDimensionOrMetricFilter", + "properties": { + "atAnyPointInTime": { + "description": "Optional. Indicates whether this filter needs dynamic evaluation or not. If set to true, users join the Audience if they ever met the condition (static evaluation). If unset or set to false, user evaluation for an Audience is dynamic; users are added to an Audience when they meet the conditions and then removed when they no longer meet them. This can only be set when Audience scope is ACROSS_ALL_SESSIONS.", + "type": "boolean" + }, + "betweenFilter": { + "$ref": "GoogleAnalyticsAdminV1alphaAudienceDimensionOrMetricFilterBetweenFilter", + "description": "A filter for numeric or date values between certain values on a dimension or metric." + }, + "fieldName": { + "description": "Required. Immutable. The dimension name or metric name to filter.", + "type": "string" + }, + "inAnyNDayPeriod": { + "description": "Optional. If set, specifies the time window for which to evaluate data in number of days. If not set, then audience data is evaluated against lifetime data (i.e., infinite time window). For example, if set to 1 day, only the current day's data is evaluated. The reference point is the current day when at_any_point_in_time is unset or false. It can only be set when Audience scope is ACROSS_ALL_SESSIONS and cannot be greater than 60 days.", + "format": "int32", + "type": "integer" + }, + "inListFilter": { + "$ref": "GoogleAnalyticsAdminV1alphaAudienceDimensionOrMetricFilterInListFilter", + "description": "A filter for a string dimension that matches a particular list of options." + }, + "numericFilter": { + "$ref": "GoogleAnalyticsAdminV1alphaAudienceDimensionOrMetricFilterNumericFilter", + "description": "A filter for numeric or date values on a dimension or metric." + }, + "stringFilter": { + "$ref": "GoogleAnalyticsAdminV1alphaAudienceDimensionOrMetricFilterStringFilter", + "description": "A filter for a string-type dimension that matches a particular pattern." + } + }, + "type": "object" + }, + "GoogleAnalyticsAdminV1alphaAudienceDimensionOrMetricFilterBetweenFilter": { + "description": "A filter for numeric or date values between certain values on a dimension or metric.", + "id": "GoogleAnalyticsAdminV1alphaAudienceDimensionOrMetricFilterBetweenFilter", + "properties": { + "fromValue": { + "$ref": "GoogleAnalyticsAdminV1alphaAudienceDimensionOrMetricFilterNumericValue", + "description": "Required. Begins with this number, inclusive." + }, + "toValue": { + "$ref": "GoogleAnalyticsAdminV1alphaAudienceDimensionOrMetricFilterNumericValue", + "description": "Required. Ends with this number, inclusive." + } + }, + "type": "object" + }, + "GoogleAnalyticsAdminV1alphaAudienceDimensionOrMetricFilterInListFilter": { + "description": "A filter for a string dimension that matches a particular list of options.", + "id": "GoogleAnalyticsAdminV1alphaAudienceDimensionOrMetricFilterInListFilter", + "properties": { + "caseSensitive": { + "description": "Optional. If true, the match is case-sensitive. If false, the match is case-insensitive.", + "type": "boolean" + }, + "values": { + "description": "Required. The list of possible string values to match against. Must be non-empty.", + "items": { + "type": "string" + }, + "type": "array" + } + }, + "type": "object" + }, + "GoogleAnalyticsAdminV1alphaAudienceDimensionOrMetricFilterNumericFilter": { + "description": "A filter for numeric or date values on a dimension or metric.", + "id": "GoogleAnalyticsAdminV1alphaAudienceDimensionOrMetricFilterNumericFilter", + "properties": { + "operation": { + "description": "Required. The operation applied to a numeric filter.", + "enum": [ + "OPERATION_UNSPECIFIED", + "EQUAL", + "LESS_THAN", + "LESS_THAN_OR_EQUAL", + "GREATER_THAN", + "GREATER_THAN_OR_EQUAL" + ], + "enumDescriptions": [ + "Unspecified.", + "Equal.", + "Less than.", + "Less than or equal.", + "Greater than.", + "Greater than or equal." + ], + "type": "string" + }, + "value": { + "$ref": "GoogleAnalyticsAdminV1alphaAudienceDimensionOrMetricFilterNumericValue", + "description": "Required. The numeric or date value to match against." + } + }, + "type": "object" + }, + "GoogleAnalyticsAdminV1alphaAudienceDimensionOrMetricFilterNumericValue": { + "description": "To represent a number.", + "id": "GoogleAnalyticsAdminV1alphaAudienceDimensionOrMetricFilterNumericValue", + "properties": { + "doubleValue": { + "description": "Double value.", + "format": "double", + "type": "number" + }, + "int64Value": { + "description": "Integer value.", + "format": "int64", + "type": "string" + } + }, + "type": "object" + }, + "GoogleAnalyticsAdminV1alphaAudienceDimensionOrMetricFilterStringFilter": { + "description": "A filter for a string-type dimension that matches a particular pattern.", + "id": "GoogleAnalyticsAdminV1alphaAudienceDimensionOrMetricFilterStringFilter", + "properties": { + "caseSensitive": { + "description": "Optional. If true, the match is case-sensitive. If false, the match is case-insensitive.", + "type": "boolean" + }, + "matchType": { + "description": "Required. The match type for the string filter.", + "enum": [ + "MATCH_TYPE_UNSPECIFIED", + "EXACT", + "BEGINS_WITH", + "ENDS_WITH", + "CONTAINS", + "FULL_REGEXP", + "PARTIAL_REGEXP" + ], + "enumDescriptions": [ + "Unspecified", + "Exact match of the string value.", + "Begins with the string value.", + "Ends with the string value.", + "Contains the string value.", + "Full regular expression matches with the string value.", + "Partial regular expression matches with the string value." + ], + "type": "string" + }, + "value": { + "description": "Required. The string value to be matched against.", + "type": "string" + } + }, + "type": "object" + }, + "GoogleAnalyticsAdminV1alphaAudienceEventFilter": { + "description": "A filter that matches events of a single event name. If an event parameter is specified, only the subset of events that match both the single event name and the parameter filter expressions match this event filter.", + "id": "GoogleAnalyticsAdminV1alphaAudienceEventFilter", + "properties": { + "eventName": { + "description": "Required. Immutable. The name of the event to match against.", + "type": "string" + }, + "eventParameterFilterExpression": { + "$ref": "GoogleAnalyticsAdminV1alphaAudienceFilterExpression", + "description": "Optional. If specified, this filter matches events that match both the single event name and the parameter filter expressions. AudienceEventFilter inside the parameter filter expression cannot be set (i.e., nested event filters are not supported). This should be a single and_group of dimension_or_metric_filter or not_expression; ANDs of ORs are not supported. Also, if it includes a filter for \"eventCount\", only that one will be considered; all the other filters will be ignored." + } + }, + "type": "object" + }, + "GoogleAnalyticsAdminV1alphaAudienceEventTrigger": { + "description": "Specifies an event to log when a user joins the Audience.", + "id": "GoogleAnalyticsAdminV1alphaAudienceEventTrigger", + "properties": { + "eventName": { + "description": "Required. The event name that will be logged.", + "type": "string" + }, + "logCondition": { + "description": "Required. When to log the event.", + "enum": [ + "LOG_CONDITION_UNSPECIFIED", + "AUDIENCE_JOINED", + "AUDIENCE_MEMBERSHIP_RENEWED" + ], + "enumDescriptions": [ + "Log condition is not specified.", + "The event should be logged only when a user is joined.", + "The event should be logged whenever the Audience condition is met, even if the user is already a member of the Audience." + ], + "type": "string" + } + }, + "type": "object" + }, + "GoogleAnalyticsAdminV1alphaAudienceFilterClause": { + "description": "A clause for defining either a simple or sequence filter. A filter can be inclusive (i.e., users satisfying the filter clause are included in the Audience) or exclusive (i.e., users satisfying the filter clause are excluded from the Audience).", + "id": "GoogleAnalyticsAdminV1alphaAudienceFilterClause", + "properties": { + "clauseType": { + "description": "Required. Specifies whether this is an include or exclude filter clause.", + "enum": [ + "AUDIENCE_CLAUSE_TYPE_UNSPECIFIED", + "INCLUDE", + "EXCLUDE" + ], + "enumDescriptions": [ + "Unspecified clause type.", + "Users will be included in the Audience if the filter clause is met.", + "Users will be excluded from the Audience if the filter clause is met." + ], + "type": "string" + }, + "sequenceFilter": { + "$ref": "GoogleAnalyticsAdminV1alphaAudienceSequenceFilter", + "description": "Filters that must occur in a specific order for the user to be a member of the Audience." + }, + "simpleFilter": { + "$ref": "GoogleAnalyticsAdminV1alphaAudienceSimpleFilter", + "description": "A simple filter that a user must satisfy to be a member of the Audience." + } + }, + "type": "object" + }, + "GoogleAnalyticsAdminV1alphaAudienceFilterExpression": { + "description": "A logical expression of Audience dimension, metric, or event filters.", + "id": "GoogleAnalyticsAdminV1alphaAudienceFilterExpression", + "properties": { + "andGroup": { + "$ref": "GoogleAnalyticsAdminV1alphaAudienceFilterExpressionList", + "description": "A list of expressions to be AND\u2019ed together. It can only contain AudienceFilterExpressions with or_group. This must be set for the top level AudienceFilterExpression." + }, + "dimensionOrMetricFilter": { + "$ref": "GoogleAnalyticsAdminV1alphaAudienceDimensionOrMetricFilter", + "description": "A filter on a single dimension or metric. This cannot be set on the top level AudienceFilterExpression." + }, + "eventFilter": { + "$ref": "GoogleAnalyticsAdminV1alphaAudienceEventFilter", + "description": "Creates a filter that matches a specific event. This cannot be set on the top level AudienceFilterExpression." + }, + "notExpression": { + "$ref": "GoogleAnalyticsAdminV1alphaAudienceFilterExpression", + "description": "A filter expression to be NOT'ed (i.e., inverted, complemented). It can only include a dimension_or_metric_filter. This cannot be set on the top level AudienceFilterExpression." + }, + "orGroup": { + "$ref": "GoogleAnalyticsAdminV1alphaAudienceFilterExpressionList", + "description": "A list of expressions to OR\u2019ed together. It cannot contain AudienceFilterExpressions with and_group or or_group." + } + }, + "type": "object" + }, + "GoogleAnalyticsAdminV1alphaAudienceFilterExpressionList": { + "description": "A list of Audience filter expressions.", + "id": "GoogleAnalyticsAdminV1alphaAudienceFilterExpressionList", + "properties": { + "filterExpressions": { + "description": "A list of Audience filter expressions.", + "items": { + "$ref": "GoogleAnalyticsAdminV1alphaAudienceFilterExpression" + }, + "type": "array" + } + }, + "type": "object" + }, + "GoogleAnalyticsAdminV1alphaAudienceSequenceFilter": { + "description": "Defines filters that must occur in a specific order for the user to be a member of the Audience.", + "id": "GoogleAnalyticsAdminV1alphaAudienceSequenceFilter", + "properties": { + "scope": { + "description": "Required. Immutable. Specifies the scope for this filter.", + "enum": [ + "AUDIENCE_FILTER_SCOPE_UNSPECIFIED", + "AUDIENCE_FILTER_SCOPE_WITHIN_SAME_EVENT", + "AUDIENCE_FILTER_SCOPE_WITHIN_SAME_SESSION", + "AUDIENCE_FILTER_SCOPE_ACROSS_ALL_SESSIONS" + ], + "enumDescriptions": [ + "Scope is not specified.", + "User joins the Audience if the filter condition is met within one event.", + "User joins the Audience if the filter condition is met within one session.", + "User joins the Audience if the filter condition is met by any event across any session." + ], + "type": "string" + }, + "sequenceMaximumDuration": { + "description": "Optional. Defines the time period in which the whole sequence must occur.", + "format": "google-duration", + "type": "string" + }, + "sequenceSteps": { + "description": "Required. An ordered sequence of steps. A user must complete each step in order to join the sequence filter.", + "items": { + "$ref": "GoogleAnalyticsAdminV1alphaAudienceSequenceFilterAudienceSequenceStep" + }, + "type": "array" + } + }, + "type": "object" + }, + "GoogleAnalyticsAdminV1alphaAudienceSequenceFilterAudienceSequenceStep": { + "description": "A condition that must occur in the specified step order for this user to match the sequence.", + "id": "GoogleAnalyticsAdminV1alphaAudienceSequenceFilterAudienceSequenceStep", + "properties": { + "constraintDuration": { + "description": "Optional. When set, this step must be satisfied within the constraint_duration of the previous step (i.e., t[i] - t[i-1] <= constraint_duration). If not set, there is no duration requirement (the duration is effectively unlimited). It is ignored for the first step.", + "format": "google-duration", + "type": "string" + }, + "filterExpression": { + "$ref": "GoogleAnalyticsAdminV1alphaAudienceFilterExpression", + "description": "Required. Immutable. A logical expression of Audience dimension, metric, or event filters in each step." + }, + "immediatelyFollows": { + "description": "Optional. If true, the event satisfying this step must be the very next event after the event satisfying the last step. If unset or false, this step indirectly follows the prior step; for example, there may be events between the prior step and this step. It is ignored for the first step.", + "type": "boolean" + }, + "scope": { + "description": "Required. Immutable. Specifies the scope for this step.", + "enum": [ + "AUDIENCE_FILTER_SCOPE_UNSPECIFIED", + "AUDIENCE_FILTER_SCOPE_WITHIN_SAME_EVENT", + "AUDIENCE_FILTER_SCOPE_WITHIN_SAME_SESSION", + "AUDIENCE_FILTER_SCOPE_ACROSS_ALL_SESSIONS" + ], + "enumDescriptions": [ + "Scope is not specified.", + "User joins the Audience if the filter condition is met within one event.", + "User joins the Audience if the filter condition is met within one session.", + "User joins the Audience if the filter condition is met by any event across any session." + ], + "type": "string" + } + }, + "type": "object" + }, + "GoogleAnalyticsAdminV1alphaAudienceSimpleFilter": { + "description": "Defines a simple filter that a user must satisfy to be a member of the Audience.", + "id": "GoogleAnalyticsAdminV1alphaAudienceSimpleFilter", + "properties": { + "filterExpression": { + "$ref": "GoogleAnalyticsAdminV1alphaAudienceFilterExpression", + "description": "Required. Immutable. A logical expression of Audience dimension, metric, or event filters." + }, + "scope": { + "description": "Required. Immutable. Specifies the scope for this filter.", + "enum": [ + "AUDIENCE_FILTER_SCOPE_UNSPECIFIED", + "AUDIENCE_FILTER_SCOPE_WITHIN_SAME_EVENT", + "AUDIENCE_FILTER_SCOPE_WITHIN_SAME_SESSION", + "AUDIENCE_FILTER_SCOPE_ACROSS_ALL_SESSIONS" + ], + "enumDescriptions": [ + "Scope is not specified.", + "User joins the Audience if the filter condition is met within one event.", + "User joins the Audience if the filter condition is met within one session.", + "User joins the Audience if the filter condition is met by any event across any session." + ], + "type": "string" + } + }, + "type": "object" + }, "GoogleAnalyticsAdminV1alphaAuditUserLink": { "description": "Read-only resource used to summarize a principal's effective roles.", "id": "GoogleAnalyticsAdminV1alphaAuditUserLink", @@ -3742,6 +4715,24 @@ }, "type": "object" }, + "GoogleAnalyticsAdminV1alphaListAudiencesResponse": { + "description": "Response message for ListAudiences RPC.", + "id": "GoogleAnalyticsAdminV1alphaListAudiencesResponse", + "properties": { + "audiences": { + "description": "List of Audiences.", + "items": { + "$ref": "GoogleAnalyticsAdminV1alphaAudience" + }, + "type": "array" + }, + "nextPageToken": { + "description": "A token, which can be sent as `page_token` to retrieve the next page. If this field is omitted, there are no subsequent pages.", + "type": "string" + } + }, + "type": "object" + }, "GoogleAnalyticsAdminV1alphaListConversionEventsResponse": { "description": "Response message for ListConversionEvents RPC.", "id": "GoogleAnalyticsAdminV1alphaListConversionEventsResponse", @@ -3961,6 +4952,23 @@ }, "type": "object" }, + "GoogleAnalyticsAdminV1alphaNumericValue": { + "description": "To represent a number.", + "id": "GoogleAnalyticsAdminV1alphaNumericValue", + "properties": { + "doubleValue": { + "description": "Double value", + "format": "double", + "type": "number" + }, + "int64Value": { + "description": "Integer value", + "format": "int64", + "type": "string" + } + }, + "type": "object" + }, "GoogleAnalyticsAdminV1alphaProperty": { "description": "A resource message representing a Google Analytics GA4 property.", "id": "GoogleAnalyticsAdminV1alphaProperty", @@ -4171,6 +5179,104 @@ }, "type": "object" }, + "GoogleAnalyticsAdminV1alphaRunAccessReportRequest": { + "description": "The request for a Data Access Record Report.", + "id": "GoogleAnalyticsAdminV1alphaRunAccessReportRequest", + "properties": { + "dateRanges": { + "description": "Date ranges of access records to read. If multiple date ranges are requested, each response row will contain a zero based date range index. If two date ranges overlap, the access records for the overlapping days is included in the response rows for both date ranges. Requests are allowed up to 2 date ranges.", + "items": { + "$ref": "GoogleAnalyticsAdminV1alphaAccessDateRange" + }, + "type": "array" + }, + "dimensionFilter": { + "$ref": "GoogleAnalyticsAdminV1alphaAccessFilterExpression", + "description": "Dimension filters allow you to restrict report response to specific dimension values which match the filter. For example, filtering on access records of a single user. To learn more, see [Fundamentals of Dimension Filters](https://developers.google.com/analytics/devguides/reporting/data/v1/basics#dimension_filters) for examples. Metrics cannot be used in this filter." + }, + "dimensions": { + "description": "The dimensions requested and displayed in the response. Requests are allowed up to 9 dimensions.", + "items": { + "$ref": "GoogleAnalyticsAdminV1alphaAccessDimension" + }, + "type": "array" + }, + "limit": { + "description": "The number of rows to return. If unspecified, 10,000 rows are returned. The API returns a maximum of 100,000 rows per request, no matter how many you ask for. `limit` must be positive. The API may return fewer rows than the requested `limit`, if there aren't as many remaining rows as the `limit`. For instance, there are fewer than 300 possible values for the dimension `country`, so when reporting on only `country`, you can't get more than 300 rows, even if you set `limit` to a higher value. To learn more about this pagination parameter, see [Pagination](https://developers.google.com/analytics/devguides/reporting/data/v1/basics#pagination).", + "format": "int64", + "type": "string" + }, + "metricFilter": { + "$ref": "GoogleAnalyticsAdminV1alphaAccessFilterExpression", + "description": "Metric filters allow you to restrict report response to specific metric values which match the filter. Metric filters are applied after aggregating the report's rows, similar to SQL having-clause. Dimensions cannot be used in this filter." + }, + "metrics": { + "description": "The metrics requested and displayed in the response. Requests are allowed up to 10 metrics.", + "items": { + "$ref": "GoogleAnalyticsAdminV1alphaAccessMetric" + }, + "type": "array" + }, + "offset": { + "description": "The row count of the start row. The first row is counted as row 0. If offset is unspecified, it is treated as 0. If offset is zero, then this method will return the first page of results with `limit` entries. To learn more about this pagination parameter, see [Pagination](https://developers.google.com/analytics/devguides/reporting/data/v1/basics#pagination).", + "format": "int64", + "type": "string" + }, + "orderBys": { + "description": "Specifies how rows are ordered in the response.", + "items": { + "$ref": "GoogleAnalyticsAdminV1alphaAccessOrderBy" + }, + "type": "array" + }, + "returnEntityQuota": { + "description": "Toggles whether to return the current state of this Analytics Property's quota. Quota is returned in [AccessQuota](#AccessQuota).", + "type": "boolean" + }, + "timeZone": { + "description": "This request's time zone if specified. If unspecified, the property's time zone is used. The request's time zone is used to interpret the start & end dates of the report. Formatted as strings from the IANA Time Zone database (https://www.iana.org/time-zones); for example \"America/New_York\" or \"Asia/Tokyo\".", + "type": "string" + } + }, + "type": "object" + }, + "GoogleAnalyticsAdminV1alphaRunAccessReportResponse": { + "description": "The customized Data Access Record Report response.", + "id": "GoogleAnalyticsAdminV1alphaRunAccessReportResponse", + "properties": { + "dimensionHeaders": { + "description": "The header for a column in the report that corresponds to a specific dimension. The number of DimensionHeaders and ordering of DimensionHeaders matches the dimensions present in rows.", + "items": { + "$ref": "GoogleAnalyticsAdminV1alphaAccessDimensionHeader" + }, + "type": "array" + }, + "metricHeaders": { + "description": "The header for a column in the report that corresponds to a specific metric. The number of MetricHeaders and ordering of MetricHeaders matches the metrics present in rows.", + "items": { + "$ref": "GoogleAnalyticsAdminV1alphaAccessMetricHeader" + }, + "type": "array" + }, + "quota": { + "$ref": "GoogleAnalyticsAdminV1alphaAccessQuota", + "description": "The quota state for this Analytics property including this request." + }, + "rowCount": { + "description": "The total number of rows in the query result. `rowCount` is independent of the number of rows returned in the response, the `limit` request parameter, and the `offset` request parameter. For example if a query returns 175 rows and includes `limit` of 50 in the API request, the response will contain `rowCount` of 175 but only 50 rows. To learn more about this pagination parameter, see [Pagination](https://developers.google.com/analytics/devguides/reporting/data/v1/basics#pagination).", + "format": "int32", + "type": "integer" + }, + "rows": { + "description": "Rows of dimension value combinations and metric values in the report.", + "items": { + "$ref": "GoogleAnalyticsAdminV1alphaAccessRow" + }, + "type": "array" + } + }, + "type": "object" + }, "GoogleAnalyticsAdminV1alphaSearchChangeHistoryEventsRequest": { "description": "Request message for SearchChangeHistoryEvents RPC.", "id": "GoogleAnalyticsAdminV1alphaSearchChangeHistoryEventsRequest", @@ -4241,6 +5347,7 @@ "DATA_RETENTION_SETTINGS", "DISPLAY_VIDEO_360_ADVERTISER_LINK", "DISPLAY_VIDEO_360_ADVERTISER_LINK_PROPOSAL", + "SEARCH_ADS_360_LINK", "DATA_STREAM", "ATTRIBUTION_SETTINGS" ], @@ -4258,6 +5365,7 @@ "DataRetentionSettings resource", "DisplayVideo360AdvertiserLink resource", "DisplayVideo360AdvertiserLinkProposal resource", + "SearchAds360Link resource", "DataStream resource", "AttributionSettings resource" ], diff --git a/googleapiclient/discovery_cache/documents/analyticsdata.v1beta.json b/googleapiclient/discovery_cache/documents/analyticsdata.v1beta.json index 78706b82aeb..f0560f1197d 100644 --- a/googleapiclient/discovery_cache/documents/analyticsdata.v1beta.json +++ b/googleapiclient/discovery_cache/documents/analyticsdata.v1beta.json @@ -313,7 +313,7 @@ } } }, - "revision": "20220722", + "revision": "20220803", "rootUrl": "https://analyticsdata.googleapis.com/", "schemas": { "ActiveMetricRestriction": { diff --git a/googleapiclient/discovery_cache/documents/analyticshub.v1beta1.json b/googleapiclient/discovery_cache/documents/analyticshub.v1beta1.json index 5d275e8d3de..25cd165ec12 100644 --- a/googleapiclient/discovery_cache/documents/analyticshub.v1beta1.json +++ b/googleapiclient/discovery_cache/documents/analyticshub.v1beta1.json @@ -765,7 +765,7 @@ } } }, - "revision": "20220715", + "revision": "20220729", "rootUrl": "https://analyticshub.googleapis.com/", "schemas": { "AuditConfig": { diff --git a/googleapiclient/discovery_cache/documents/androiddeviceprovisioning.v1.json b/googleapiclient/discovery_cache/documents/androiddeviceprovisioning.v1.json index b0170baea27..98c18748ad6 100644 --- a/googleapiclient/discovery_cache/documents/androiddeviceprovisioning.v1.json +++ b/googleapiclient/discovery_cache/documents/androiddeviceprovisioning.v1.json @@ -825,7 +825,7 @@ } } }, - "revision": "20220722", + "revision": "20220806", "rootUrl": "https://androiddeviceprovisioning.googleapis.com/", "schemas": { "ClaimDeviceRequest": { diff --git a/googleapiclient/discovery_cache/documents/androidenterprise.v1.json b/googleapiclient/discovery_cache/documents/androidenterprise.v1.json index 5313cc1daa3..6a076fe3a03 100644 --- a/googleapiclient/discovery_cache/documents/androidenterprise.v1.json +++ b/googleapiclient/discovery_cache/documents/androidenterprise.v1.json @@ -2610,7 +2610,7 @@ } } }, - "revision": "20220721", + "revision": "20220804", "rootUrl": "https://androidenterprise.googleapis.com/", "schemas": { "Administrator": { diff --git a/googleapiclient/discovery_cache/documents/androidmanagement.v1.json b/googleapiclient/discovery_cache/documents/androidmanagement.v1.json index 4f97167f591..3195a125dab 100644 --- a/googleapiclient/discovery_cache/documents/androidmanagement.v1.json +++ b/googleapiclient/discovery_cache/documents/androidmanagement.v1.json @@ -1065,7 +1065,7 @@ } } }, - "revision": "20220711", + "revision": "20220725", "rootUrl": "https://androidmanagement.googleapis.com/", "schemas": { "AdbShellCommandEvent": { @@ -3617,14 +3617,16 @@ "PASSWORD_POLICIES_USER_CREDENTIALS_CONFIRMATION_REQUIRED", "PASSWORD_POLICIES_PASSWORD_EXPIRED", "PASSWORD_POLICIES_PASSWORD_NOT_SUFFICIENT", - "ONC_WIFI_INVALID_VALUE" + "ONC_WIFI_INVALID_VALUE", + "ONC_WIFI_API_LEVEL" ], "enumDescriptions": [ "Specific non-compliance reason is not specified. Fields in specific_non_compliance_context are not set.", "User needs to confirm credentials by entering the screen lock. Fields in specific_non_compliance_context are not set. nonComplianceReason is set to USER_ACTION.", "The device or profile password has expired. passwordPoliciesContext is set. nonComplianceReason is set to USER_ACTION.", "The device password does not satisfy password requirements. passwordPoliciesContext is set. nonComplianceReason is set to USER_ACTION.", - "There is an incorrect value in ONC Wi-Fi configuration. fieldPath specifies which field value is incorrect. oncWifiContext is set. nonComplianceReason is set to INVALID_VALUE." + "There is an incorrect value in ONC Wi-Fi configuration. fieldPath specifies which field value is incorrect. oncWifiContext is set. nonComplianceReason is set to INVALID_VALUE.", + "The ONC Wi-Fi setting is not supported in the API level of the Android version running on the device. fieldPath specifies which field value is not supported. oncWifiContext is set. nonComplianceReason is set to API_LEVEL." ], "type": "string" } @@ -4961,7 +4963,7 @@ "properties": { "oncWifiContext": { "$ref": "OncWifiContext", - "description": "Additional context for non-compliance related to Wi-Fi configuration. See ONC_WIFI_INVALID_VALUE." + "description": "Additional context for non-compliance related to Wi-Fi configuration. See ONC_WIFI_INVALID_VALUE and ONC_WIFI_API_LEVEL" }, "passwordPoliciesContext": { "$ref": "PasswordPoliciesContext", diff --git a/googleapiclient/discovery_cache/documents/androidpublisher.v3.json b/googleapiclient/discovery_cache/documents/androidpublisher.v3.json index 526c726d84e..b372923b96e 100644 --- a/googleapiclient/discovery_cache/documents/androidpublisher.v3.json +++ b/googleapiclient/discovery_cache/documents/androidpublisher.v3.json @@ -3915,7 +3915,7 @@ } } }, - "revision": "20220725", + "revision": "20220806", "rootUrl": "https://androidpublisher.googleapis.com/", "schemas": { "AcquisitionTargetingRule": { diff --git a/googleapiclient/discovery_cache/documents/apigee.v1.json b/googleapiclient/discovery_cache/documents/apigee.v1.json index 73d76a43dd5..51e90fb93c4 100644 --- a/googleapiclient/discovery_cache/documents/apigee.v1.json +++ b/googleapiclient/discovery_cache/documents/apigee.v1.json @@ -165,7 +165,7 @@ ] }, "delete": { - "description": "Delete an Apigee organization. For organizations with BillingType EVALUATION, an immediate deletion is performed. For paid organizations, a soft-deletion is performed. The organization can be restored within the soft-deletion period - which can be controlled using the retention field in the request.", + "description": "Delete an Apigee organization. For organizations with BillingType EVALUATION, an immediate deletion is performed. For paid organizations, a soft-deletion is performed. The organization can be restored within the soft-deletion period which can be controlled using the retention field in the request.", "flatPath": "v1/organizations/{organizationsId}", "httpMethod": "DELETE", "id": "apigee.organizations.delete", @@ -181,13 +181,13 @@ "type": "string" }, "retention": { - "description": "Optional. This setting is only applicable for organizations that are soft-deleted (i.e. BillingType is not EVALUATION). It controls how long Organization data will be retained after the initial delete operation completes. During this period, the Organization may be restored to its last known state. After this period, the Organization will no longer be able to be restored.", + "description": "Optional. This setting is applicable only for organizations that are soft-deleted (i.e., BillingType is not EVALUATION). It controls how long Organization data will be retained after the initial delete operation completes. During this period, the Organization may be restored to its last known state. After this period, the Organization will no longer be able to be restored.", "enum": [ "DELETION_RETENTION_UNSPECIFIED", "MINIMUM" ], "enumDescriptions": [ - "Default data retention settings will be applied.", + "Default data retention setting of seven days will be applied.", "Organization data will be retained for the minimum period of 24 hours." ], "location": "query", @@ -2276,7 +2276,7 @@ ] }, "generateKeyPairOrUpdateDeveloperAppStatus": { - "description": "Manages access to a developer app by enabling you to: * Approve or revoke a developer app * Generate a new consumer key and secret for a developer app To approve or revoke a developer app, set the `action` query parameter to `approved` or `revoked`, respectively, and the `Content-Type` header to `application/octet-stream`. If a developer app is revoked, none of its API keys are valid for API calls even though the keys are still `approved`. If successful, the API call returns the following HTTP status code: `204 No Content` To generate a new consumer key and secret for a developer app, pass the new key/secret details. Rather than replace an existing key, this API generates a new key. In this case, multiple key pairs may be associated with a single developer app. Each key pair has an independent status (`approved` or `revoked`) and expiration time. Any approved, non-expired key can be used in an API call. For example, if you're using API key rotation, you can generate new keys with expiration times that overlap keys that are going to expire. You might also generate a new consumer key/secret if the security of the original key/secret is compromised. The `keyExpiresIn` property defines the expiration time for the API key in milliseconds. If you don't set this property or set it to `-1`, the API key never expires. **Notes**: * When generating a new key/secret, this API replaces the existing attributes, notes, and callback URLs with those specified in the request. Include or exclude any existing information that you want to retain or delete, respectively. * To migrate existing consumer keys and secrets to hybrid from another system, see the CreateDeveloperAppKey API.", + "description": "Manages access to a developer app by enabling you to: * Approve or revoke a developer app * Generate a new consumer key and secret for a developer app To approve or revoke a developer app, set the `action` query parameter to `approve` or `revoke`, respectively, and the `Content-Type` header to `application/octet-stream`. If a developer app is revoked, none of its API keys are valid for API calls even though the keys are still approved. If successful, the API call returns the following HTTP status code: `204 No Content` To generate a new consumer key and secret for a developer app, pass the new key/secret details. Rather than replace an existing key, this API generates a new key. In this case, multiple key pairs may be associated with a single developer app. Each key pair has an independent status (`approve` or `revoke`) and expiration time. Any approved, non-expired key can be used in an API call. For example, if you're using API key rotation, you can generate new keys with expiration times that overlap keys that are going to expire. You might also generate a new consumer key/secret if the security of the original key/secret is compromised. The `keyExpiresIn` property defines the expiration time for the API key in milliseconds. If you don't set this property or set it to `-1`, the API key never expires. **Notes**: * When generating a new key/secret, this API replaces the existing attributes, notes, and callback URLs with those specified in the request. Include or exclude any existing information that you want to retain or delete, respectively. * To migrate existing consumer keys and secrets to hybrid from another system, see the CreateDeveloperAppKey API.", "flatPath": "v1/organizations/{organizationsId}/developers/{developersId}/apps/{appsId}", "httpMethod": "POST", "id": "apigee.organizations.developers.apps.generateKeyPairOrUpdateDeveloperAppStatus", @@ -8515,7 +8515,7 @@ } } }, - "revision": "20220707", + "revision": "20220728", "rootUrl": "https://apigee.googleapis.com/", "schemas": { "EdgeConfigstoreBundleBadBundle": { @@ -10655,7 +10655,7 @@ "type": "object" }, "GoogleCloudApigeeV1EndpointAttachment": { - "description": "Apigee endpoint attachment. For more information, see Southbound networking patterns.", + "description": "Apigee endpoint attachment. For more information, see [Southbound networking patterns] (https://cloud.google.com/apigee/docs/api-platform/architecture/southbound-networking-patterns-endpoints).", "id": "GoogleCloudApigeeV1EndpointAttachment", "properties": { "host": { @@ -11357,7 +11357,7 @@ "type": "string" }, "ipRange": { - "description": "Optional. IP range represents the customer-provided CIDR block of length 22 that will be used for the Apigee instance creation. This optional range, if provided, should be freely available as part of larger named range the customer has allocated to the Service Networking peering. If this is not provided, Apigee will automatically request for any available /22 CIDR block from Service Networking. The customer should use this CIDR block for configuring their firewall needs to allow traffic from Apigee. Input format: \"a.b.c.d/22\", Output format: a.b.c.d/22, e.f.g.h/28\"", + "description": "Optional. Comma-separated list of CIDR blocks of length 22 and/or 28 used to create the Apigee instance. Providing CIDR ranges is optional. You can provide just /22 or /28 or both (or neither). Ranges you provide should be freely available as part of a larger named range you have allocated to the Service Networking peering. If this parameter is not provided, Apigee automatically requests an available /22 and /28 CIDR block from Service Networking. Use the /22 CIDR block for configuring your firewall needs to allow traffic from Apigee. Input formats: `a.b.c.d/22` or `e.f.g.h/28` or `a.b.c.d/22,e.f.g.h/28`", "type": "string" }, "lastModifiedAt": { @@ -11590,7 +11590,7 @@ "type": "array" }, "name": { - "description": "Required. Resource ID for this keystore. Values must match the regular expression `[\\w[:space:]-.]{1,255}`.", + "description": "Required. Resource ID for this keystore. Values must match the regular expression `[\\w[:space:].-]{1,255}`.", "type": "string" } }, diff --git a/googleapiclient/discovery_cache/documents/apigeeregistry.v1.json b/googleapiclient/discovery_cache/documents/apigeeregistry.v1.json index 6183e2e56a8..1a757cc5db4 100644 --- a/googleapiclient/discovery_cache/documents/apigeeregistry.v1.json +++ b/googleapiclient/discovery_cache/documents/apigeeregistry.v1.json @@ -3126,7 +3126,7 @@ } } }, - "revision": "20220706", + "revision": "20220723", "rootUrl": "https://apigeeregistry.googleapis.com/", "schemas": { "Api": { diff --git a/googleapiclient/discovery_cache/documents/apikeys.v2.json b/googleapiclient/discovery_cache/documents/apikeys.v2.json index ac27890903d..6a339f86806 100644 --- a/googleapiclient/discovery_cache/documents/apikeys.v2.json +++ b/googleapiclient/discovery_cache/documents/apikeys.v2.json @@ -396,7 +396,7 @@ } } }, - "revision": "20220719", + "revision": "20220806", "rootUrl": "https://apikeys.googleapis.com/", "schemas": { "Operation": { diff --git a/googleapiclient/discovery_cache/documents/appengine.v1.json b/googleapiclient/discovery_cache/documents/appengine.v1.json index 41e067e3b07..106b8e830c8 100644 --- a/googleapiclient/discovery_cache/documents/appengine.v1.json +++ b/googleapiclient/discovery_cache/documents/appengine.v1.json @@ -1595,7 +1595,7 @@ } } }, - "revision": "20220718", + "revision": "20220806", "rootUrl": "https://appengine.googleapis.com/", "schemas": { "ApiConfigHandler": { diff --git a/googleapiclient/discovery_cache/documents/appengine.v1alpha.json b/googleapiclient/discovery_cache/documents/appengine.v1alpha.json index 5cff7f3632a..3fdef9b6edf 100644 --- a/googleapiclient/discovery_cache/documents/appengine.v1alpha.json +++ b/googleapiclient/discovery_cache/documents/appengine.v1alpha.json @@ -887,7 +887,7 @@ } } }, - "revision": "20220718", + "revision": "20220806", "rootUrl": "https://appengine.googleapis.com/", "schemas": { "AuthorizedCertificate": { diff --git a/googleapiclient/discovery_cache/documents/appengine.v1beta.json b/googleapiclient/discovery_cache/documents/appengine.v1beta.json index 66aef7a9cbd..10590db2ba5 100644 --- a/googleapiclient/discovery_cache/documents/appengine.v1beta.json +++ b/googleapiclient/discovery_cache/documents/appengine.v1beta.json @@ -1595,7 +1595,7 @@ } } }, - "revision": "20220718", + "revision": "20220806", "rootUrl": "https://appengine.googleapis.com/", "schemas": { "ApiConfigHandler": { diff --git a/googleapiclient/discovery_cache/documents/area120tables.v1alpha1.json b/googleapiclient/discovery_cache/documents/area120tables.v1alpha1.json index 59f20505ce2..1707d45d6df 100644 --- a/googleapiclient/discovery_cache/documents/area120tables.v1alpha1.json +++ b/googleapiclient/discovery_cache/documents/area120tables.v1alpha1.json @@ -586,7 +586,7 @@ } } }, - "revision": "20220722", + "revision": "20220806", "rootUrl": "https://area120tables.googleapis.com/", "schemas": { "BatchCreateRowsRequest": { diff --git a/googleapiclient/discovery_cache/documents/artifactregistry.v1.json b/googleapiclient/discovery_cache/documents/artifactregistry.v1.json index ff912131465..92a27a27eeb 100644 --- a/googleapiclient/discovery_cache/documents/artifactregistry.v1.json +++ b/googleapiclient/discovery_cache/documents/artifactregistry.v1.json @@ -1408,7 +1408,7 @@ } } }, - "revision": "20220720", + "revision": "20220803", "rootUrl": "https://artifactregistry.googleapis.com/", "schemas": { "AptArtifact": { @@ -1482,7 +1482,7 @@ "description": "The condition that is associated with this binding. If the condition evaluates to `true`, then this binding applies to the current request. If the condition evaluates to `false`, then this binding does not apply to the current request. However, a different role binding might grant the same role to one or more of the principals in this binding. To learn which resources support conditions in their IAM policies, see the [IAM documentation](https://cloud.google.com/iam/help/conditions/resource-policies)." }, "members": { - "description": "Specifies the principals requesting access for a Google Cloud resource. `members` can have the following values: * `allUsers`: A special identifier that represents anyone who is on the internet; with or without a Google account. * `allAuthenticatedUsers`: A special identifier that represents anyone who is authenticated with a Google account or a service account. * `user:{emailid}`: An email address that represents a specific Google account. For example, `alice@example.com` . * `serviceAccount:{emailid}`: An email address that represents a service account. For example, `my-other-app@appspot.gserviceaccount.com`. * `group:{emailid}`: An email address that represents a Google group. For example, `admins@example.com`. * `deleted:user:{emailid}?uid={uniqueid}`: An email address (plus unique identifier) representing a user that has been recently deleted. For example, `alice@example.com?uid=123456789012345678901`. If the user is recovered, this value reverts to `user:{emailid}` and the recovered user retains the role in the binding. * `deleted:serviceAccount:{emailid}?uid={uniqueid}`: An email address (plus unique identifier) representing a service account that has been recently deleted. For example, `my-other-app@appspot.gserviceaccount.com?uid=123456789012345678901`. If the service account is undeleted, this value reverts to `serviceAccount:{emailid}` and the undeleted service account retains the role in the binding. * `deleted:group:{emailid}?uid={uniqueid}`: An email address (plus unique identifier) representing a Google group that has been recently deleted. For example, `admins@example.com?uid=123456789012345678901`. If the group is recovered, this value reverts to `group:{emailid}` and the recovered group retains the role in the binding. * `domain:{domain}`: The G Suite domain (primary) that represents all the users of that domain. For example, `google.com` or `example.com`. ", + "description": "Specifies the principals requesting access for a Google Cloud resource. `members` can have the following values: * `allUsers`: A special identifier that represents anyone who is on the internet; with or without a Google account. * `allAuthenticatedUsers`: A special identifier that represents anyone who is authenticated with a Google account or a service account. * `user:{emailid}`: An email address that represents a specific Google account. For example, `alice@example.com` . * `serviceAccount:{emailid}`: An email address that represents a Google service account. For example, `my-other-app@appspot.gserviceaccount.com`. * `serviceAccount:{projectid}.svc.id.goog[{namespace}/{kubernetes-sa}]`: An identifier for a [Kubernetes service account](https://cloud.google.com/kubernetes-engine/docs/how-to/kubernetes-service-accounts). For example, `my-project.svc.id.goog[my-namespace/my-kubernetes-sa]`. * `group:{emailid}`: An email address that represents a Google group. For example, `admins@example.com`. * `deleted:user:{emailid}?uid={uniqueid}`: An email address (plus unique identifier) representing a user that has been recently deleted. For example, `alice@example.com?uid=123456789012345678901`. If the user is recovered, this value reverts to `user:{emailid}` and the recovered user retains the role in the binding. * `deleted:serviceAccount:{emailid}?uid={uniqueid}`: An email address (plus unique identifier) representing a service account that has been recently deleted. For example, `my-other-app@appspot.gserviceaccount.com?uid=123456789012345678901`. If the service account is undeleted, this value reverts to `serviceAccount:{emailid}` and the undeleted service account retains the role in the binding. * `deleted:group:{emailid}?uid={uniqueid}`: An email address (plus unique identifier) representing a Google group that has been recently deleted. For example, `admins@example.com?uid=123456789012345678901`. If the group is recovered, this value reverts to `group:{emailid}` and the recovered group retains the role in the binding. * `domain:{domain}`: The G Suite domain (primary) that represents all the users of that domain. For example, `google.com` or `example.com`. ", "items": { "type": "string" }, diff --git a/googleapiclient/discovery_cache/documents/artifactregistry.v1beta1.json b/googleapiclient/discovery_cache/documents/artifactregistry.v1beta1.json index ab65d81bc97..5bc31e8adfa 100644 --- a/googleapiclient/discovery_cache/documents/artifactregistry.v1beta1.json +++ b/googleapiclient/discovery_cache/documents/artifactregistry.v1beta1.json @@ -929,7 +929,7 @@ } } }, - "revision": "20220720", + "revision": "20220803", "rootUrl": "https://artifactregistry.googleapis.com/", "schemas": { "Binding": { @@ -941,7 +941,7 @@ "description": "The condition that is associated with this binding. If the condition evaluates to `true`, then this binding applies to the current request. If the condition evaluates to `false`, then this binding does not apply to the current request. However, a different role binding might grant the same role to one or more of the principals in this binding. To learn which resources support conditions in their IAM policies, see the [IAM documentation](https://cloud.google.com/iam/help/conditions/resource-policies)." }, "members": { - "description": "Specifies the principals requesting access for a Google Cloud resource. `members` can have the following values: * `allUsers`: A special identifier that represents anyone who is on the internet; with or without a Google account. * `allAuthenticatedUsers`: A special identifier that represents anyone who is authenticated with a Google account or a service account. * `user:{emailid}`: An email address that represents a specific Google account. For example, `alice@example.com` . * `serviceAccount:{emailid}`: An email address that represents a service account. For example, `my-other-app@appspot.gserviceaccount.com`. * `group:{emailid}`: An email address that represents a Google group. For example, `admins@example.com`. * `deleted:user:{emailid}?uid={uniqueid}`: An email address (plus unique identifier) representing a user that has been recently deleted. For example, `alice@example.com?uid=123456789012345678901`. If the user is recovered, this value reverts to `user:{emailid}` and the recovered user retains the role in the binding. * `deleted:serviceAccount:{emailid}?uid={uniqueid}`: An email address (plus unique identifier) representing a service account that has been recently deleted. For example, `my-other-app@appspot.gserviceaccount.com?uid=123456789012345678901`. If the service account is undeleted, this value reverts to `serviceAccount:{emailid}` and the undeleted service account retains the role in the binding. * `deleted:group:{emailid}?uid={uniqueid}`: An email address (plus unique identifier) representing a Google group that has been recently deleted. For example, `admins@example.com?uid=123456789012345678901`. If the group is recovered, this value reverts to `group:{emailid}` and the recovered group retains the role in the binding. * `domain:{domain}`: The G Suite domain (primary) that represents all the users of that domain. For example, `google.com` or `example.com`. ", + "description": "Specifies the principals requesting access for a Google Cloud resource. `members` can have the following values: * `allUsers`: A special identifier that represents anyone who is on the internet; with or without a Google account. * `allAuthenticatedUsers`: A special identifier that represents anyone who is authenticated with a Google account or a service account. * `user:{emailid}`: An email address that represents a specific Google account. For example, `alice@example.com` . * `serviceAccount:{emailid}`: An email address that represents a Google service account. For example, `my-other-app@appspot.gserviceaccount.com`. * `serviceAccount:{projectid}.svc.id.goog[{namespace}/{kubernetes-sa}]`: An identifier for a [Kubernetes service account](https://cloud.google.com/kubernetes-engine/docs/how-to/kubernetes-service-accounts). For example, `my-project.svc.id.goog[my-namespace/my-kubernetes-sa]`. * `group:{emailid}`: An email address that represents a Google group. For example, `admins@example.com`. * `deleted:user:{emailid}?uid={uniqueid}`: An email address (plus unique identifier) representing a user that has been recently deleted. For example, `alice@example.com?uid=123456789012345678901`. If the user is recovered, this value reverts to `user:{emailid}` and the recovered user retains the role in the binding. * `deleted:serviceAccount:{emailid}?uid={uniqueid}`: An email address (plus unique identifier) representing a service account that has been recently deleted. For example, `my-other-app@appspot.gserviceaccount.com?uid=123456789012345678901`. If the service account is undeleted, this value reverts to `serviceAccount:{emailid}` and the undeleted service account retains the role in the binding. * `deleted:group:{emailid}?uid={uniqueid}`: An email address (plus unique identifier) representing a Google group that has been recently deleted. For example, `admins@example.com?uid=123456789012345678901`. If the group is recovered, this value reverts to `group:{emailid}` and the recovered group retains the role in the binding. * `domain:{domain}`: The G Suite domain (primary) that represents all the users of that domain. For example, `google.com` or `example.com`. ", "items": { "type": "string" }, diff --git a/googleapiclient/discovery_cache/documents/artifactregistry.v1beta2.json b/googleapiclient/discovery_cache/documents/artifactregistry.v1beta2.json index 466e720d06b..a1b5d785eb8 100644 --- a/googleapiclient/discovery_cache/documents/artifactregistry.v1beta2.json +++ b/googleapiclient/discovery_cache/documents/artifactregistry.v1beta2.json @@ -1135,7 +1135,7 @@ } } }, - "revision": "20220720", + "revision": "20220803", "rootUrl": "https://artifactregistry.googleapis.com/", "schemas": { "AptArtifact": { @@ -1195,7 +1195,7 @@ "description": "The condition that is associated with this binding. If the condition evaluates to `true`, then this binding applies to the current request. If the condition evaluates to `false`, then this binding does not apply to the current request. However, a different role binding might grant the same role to one or more of the principals in this binding. To learn which resources support conditions in their IAM policies, see the [IAM documentation](https://cloud.google.com/iam/help/conditions/resource-policies)." }, "members": { - "description": "Specifies the principals requesting access for a Google Cloud resource. `members` can have the following values: * `allUsers`: A special identifier that represents anyone who is on the internet; with or without a Google account. * `allAuthenticatedUsers`: A special identifier that represents anyone who is authenticated with a Google account or a service account. * `user:{emailid}`: An email address that represents a specific Google account. For example, `alice@example.com` . * `serviceAccount:{emailid}`: An email address that represents a service account. For example, `my-other-app@appspot.gserviceaccount.com`. * `group:{emailid}`: An email address that represents a Google group. For example, `admins@example.com`. * `deleted:user:{emailid}?uid={uniqueid}`: An email address (plus unique identifier) representing a user that has been recently deleted. For example, `alice@example.com?uid=123456789012345678901`. If the user is recovered, this value reverts to `user:{emailid}` and the recovered user retains the role in the binding. * `deleted:serviceAccount:{emailid}?uid={uniqueid}`: An email address (plus unique identifier) representing a service account that has been recently deleted. For example, `my-other-app@appspot.gserviceaccount.com?uid=123456789012345678901`. If the service account is undeleted, this value reverts to `serviceAccount:{emailid}` and the undeleted service account retains the role in the binding. * `deleted:group:{emailid}?uid={uniqueid}`: An email address (plus unique identifier) representing a Google group that has been recently deleted. For example, `admins@example.com?uid=123456789012345678901`. If the group is recovered, this value reverts to `group:{emailid}` and the recovered group retains the role in the binding. * `domain:{domain}`: The G Suite domain (primary) that represents all the users of that domain. For example, `google.com` or `example.com`. ", + "description": "Specifies the principals requesting access for a Google Cloud resource. `members` can have the following values: * `allUsers`: A special identifier that represents anyone who is on the internet; with or without a Google account. * `allAuthenticatedUsers`: A special identifier that represents anyone who is authenticated with a Google account or a service account. * `user:{emailid}`: An email address that represents a specific Google account. For example, `alice@example.com` . * `serviceAccount:{emailid}`: An email address that represents a Google service account. For example, `my-other-app@appspot.gserviceaccount.com`. * `serviceAccount:{projectid}.svc.id.goog[{namespace}/{kubernetes-sa}]`: An identifier for a [Kubernetes service account](https://cloud.google.com/kubernetes-engine/docs/how-to/kubernetes-service-accounts). For example, `my-project.svc.id.goog[my-namespace/my-kubernetes-sa]`. * `group:{emailid}`: An email address that represents a Google group. For example, `admins@example.com`. * `deleted:user:{emailid}?uid={uniqueid}`: An email address (plus unique identifier) representing a user that has been recently deleted. For example, `alice@example.com?uid=123456789012345678901`. If the user is recovered, this value reverts to `user:{emailid}` and the recovered user retains the role in the binding. * `deleted:serviceAccount:{emailid}?uid={uniqueid}`: An email address (plus unique identifier) representing a service account that has been recently deleted. For example, `my-other-app@appspot.gserviceaccount.com?uid=123456789012345678901`. If the service account is undeleted, this value reverts to `serviceAccount:{emailid}` and the undeleted service account retains the role in the binding. * `deleted:group:{emailid}?uid={uniqueid}`: An email address (plus unique identifier) representing a Google group that has been recently deleted. For example, `admins@example.com?uid=123456789012345678901`. If the group is recovered, this value reverts to `group:{emailid}` and the recovered group retains the role in the binding. * `domain:{domain}`: The G Suite domain (primary) that represents all the users of that domain. For example, `google.com` or `example.com`. ", "items": { "type": "string" }, diff --git a/googleapiclient/discovery_cache/documents/assuredworkloads.v1.json b/googleapiclient/discovery_cache/documents/assuredworkloads.v1.json index e039571f9ec..688e95bbe9c 100644 --- a/googleapiclient/discovery_cache/documents/assuredworkloads.v1.json +++ b/googleapiclient/discovery_cache/documents/assuredworkloads.v1.json @@ -379,7 +379,7 @@ } } }, - "revision": "20220714", + "revision": "20220729", "rootUrl": "https://assuredworkloads.googleapis.com/", "schemas": { "GoogleCloudAssuredworkloadsV1CreateWorkloadOperationMetadata": { @@ -399,7 +399,8 @@ "HITRUST", "EU_REGIONS_AND_SUPPORT", "CA_REGIONS_AND_SUPPORT", - "ITAR" + "ITAR", + "AU_REGIONS_AND_US_SUPPORT" ], "enumDescriptions": [ "Unknown compliance regime.", @@ -412,7 +413,8 @@ "Health Information Trust Alliance controls", "Assured Workloads For EU Regions and Support controls", "Assured Workloads For Canada Regions and Support controls", - "International Traffic in Arms Regulations" + "International Traffic in Arms Regulations", + "Assured Workloads for Australia Regions and Support controls" ], "type": "string" }, @@ -498,7 +500,8 @@ "HITRUST", "EU_REGIONS_AND_SUPPORT", "CA_REGIONS_AND_SUPPORT", - "ITAR" + "ITAR", + "AU_REGIONS_AND_US_SUPPORT" ], "enumDescriptions": [ "Unknown compliance regime.", @@ -511,7 +514,8 @@ "Health Information Trust Alliance controls", "Assured Workloads For EU Regions and Support controls", "Assured Workloads For Canada Regions and Support controls", - "International Traffic in Arms Regulations" + "International Traffic in Arms Regulations", + "Assured Workloads for Australia Regions and Support controls" ], "type": "string" }, @@ -729,7 +733,8 @@ "HITRUST", "EU_REGIONS_AND_SUPPORT", "CA_REGIONS_AND_SUPPORT", - "ITAR" + "ITAR", + "AU_REGIONS_AND_US_SUPPORT" ], "enumDescriptions": [ "Unknown compliance regime.", @@ -742,7 +747,8 @@ "Health Information Trust Alliance controls", "Assured Workloads For EU Regions and Support controls", "Assured Workloads For Canada Regions and Support controls", - "International Traffic in Arms Regulations" + "International Traffic in Arms Regulations", + "Assured Workloads for Australia Regions and Support controls" ], "type": "string" }, @@ -794,7 +800,8 @@ "HITRUST", "EU_REGIONS_AND_SUPPORT", "CA_REGIONS_AND_SUPPORT", - "ITAR" + "ITAR", + "AU_REGIONS_AND_US_SUPPORT" ], "enumDescriptions": [ "Unknown compliance regime.", @@ -807,7 +814,8 @@ "Health Information Trust Alliance controls", "Assured Workloads For EU Regions and Support controls", "Assured Workloads For Canada Regions and Support controls", - "International Traffic in Arms Regulations" + "International Traffic in Arms Regulations", + "Assured Workloads for Australia Regions and Support controls" ], "type": "string" }, @@ -1081,7 +1089,8 @@ "HITRUST", "EU_REGIONS_AND_SUPPORT", "CA_REGIONS_AND_SUPPORT", - "ITAR" + "ITAR", + "AU_REGIONS_AND_US_SUPPORT" ], "enumDescriptions": [ "Unknown compliance regime.", @@ -1094,7 +1103,8 @@ "Health Information Trust Alliance controls", "Assured Workloads For EU Regions and Support controls", "Assured Workloads For Canada Regions and Support controls", - "International Traffic in Arms Regulations" + "International Traffic in Arms Regulations", + "Assured Workloads for Australia Regions and Support controls" ], "type": "string" }, @@ -1146,7 +1156,8 @@ "HITRUST", "EU_REGIONS_AND_SUPPORT", "CA_REGIONS_AND_SUPPORT", - "ITAR" + "ITAR", + "AU_REGIONS_AND_US_SUPPORT" ], "enumDescriptions": [ "Unknown compliance regime.", @@ -1159,7 +1170,8 @@ "Health Information Trust Alliance controls", "Assured Workloads For EU Regions and Support controls", "Assured Workloads For Canada Regions and Support controls", - "International Traffic in Arms Regulations" + "International Traffic in Arms Regulations", + "Assured Workloads for Australia Regions and Support controls" ], "type": "string" }, @@ -1271,12 +1283,12 @@ "id": "GoogleCloudAssuredworkloadsVersioningV1mainWorkloadComplianceStatus", "properties": { "acknowledgedViolationCount": { - "description": "Count of acknowledged violations in the Workload.", + "description": "Count of active Violations which are acknowledged in the Workload.", "format": "int32", "type": "integer" }, "activeViolationCount": { - "description": "Count of active Violations in the Workload.", + "description": "Count of active Violations which haven't been acknowledged.", "format": "int32", "type": "integer" } diff --git a/googleapiclient/discovery_cache/documents/authorizedbuyersmarketplace.v1.json b/googleapiclient/discovery_cache/documents/authorizedbuyersmarketplace.v1.json index b0c9e7c0349..778c20193c2 100644 --- a/googleapiclient/discovery_cache/documents/authorizedbuyersmarketplace.v1.json +++ b/googleapiclient/discovery_cache/documents/authorizedbuyersmarketplace.v1.json @@ -1307,7 +1307,7 @@ } } }, - "revision": "20220716", + "revision": "20220806", "rootUrl": "https://authorizedbuyersmarketplace.googleapis.com/", "schemas": { "AcceptProposalRequest": { @@ -2141,6 +2141,32 @@ }, "type": "object" }, + "InventoryTypeTargeting": { + "description": "Targeting of the inventory types a bid request can originate from.", + "id": "InventoryTypeTargeting", + "properties": { + "inventoryTypes": { + "description": "The list of targeted inventory types for the bid request.", + "items": { + "enum": [ + "INVENTORY_TYPE_UNSPECIFIED", + "BROWSER", + "MOBILE_APP", + "VIDEO_PLAYER" + ], + "enumDescriptions": [ + "Unspecified inventory type", + "Desktop or mobile web browser excluding ads inside a video player", + "Mobile apps other than video players and web browsers", + "Instream video and audio" + ], + "type": "string" + }, + "type": "array" + } + }, + "type": "object" + }, "ListAuctionPackagesResponse": { "description": "Response message for listing auction packages.", "id": "ListAuctionPackagesResponse", @@ -2285,6 +2311,11 @@ "description": "Output only. Inventory sizes to be included/excluded.", "readOnly": true }, + "inventoryTypeTargeting": { + "$ref": "InventoryTypeTargeting", + "description": "Output only. Inventory type targeting information.", + "readOnly": true + }, "placementTargeting": { "$ref": "PlacementTargeting", "description": "Output only. Placement targeting information, for example, URL, mobile applications.", diff --git a/googleapiclient/discovery_cache/documents/baremetalsolution.v1.json b/googleapiclient/discovery_cache/documents/baremetalsolution.v1.json index c68cab7ea24..1643602e3ac 100644 --- a/googleapiclient/discovery_cache/documents/baremetalsolution.v1.json +++ b/googleapiclient/discovery_cache/documents/baremetalsolution.v1.json @@ -268,7 +268,7 @@ } } }, - "revision": "20220706", + "revision": "20220731", "rootUrl": "https://baremetalsolution.googleapis.com/", "schemas": { "CancelOperationRequest": { diff --git a/googleapiclient/discovery_cache/documents/baremetalsolution.v1alpha1.json b/googleapiclient/discovery_cache/documents/baremetalsolution.v1alpha1.json index 4ca870cd071..b908175c28d 100644 --- a/googleapiclient/discovery_cache/documents/baremetalsolution.v1alpha1.json +++ b/googleapiclient/discovery_cache/documents/baremetalsolution.v1alpha1.json @@ -189,7 +189,7 @@ } } }, - "revision": "20220706", + "revision": "20220731", "rootUrl": "https://baremetalsolution.googleapis.com/", "schemas": { "InstanceConfig": { diff --git a/googleapiclient/discovery_cache/documents/baremetalsolution.v2.json b/googleapiclient/discovery_cache/documents/baremetalsolution.v2.json index 396da51f03a..f5400153a48 100644 --- a/googleapiclient/discovery_cache/documents/baremetalsolution.v2.json +++ b/googleapiclient/discovery_cache/documents/baremetalsolution.v2.json @@ -207,6 +207,34 @@ }, "instances": { "methods": { + "create": { + "description": "Create an Instance.", + "flatPath": "v2/projects/{projectsId}/locations/{locationsId}/instances", + "httpMethod": "POST", + "id": "baremetalsolution.projects.locations.instances.create", + "parameterOrder": [ + "parent" + ], + "parameters": { + "parent": { + "description": "Required. The parent project and location.", + "location": "path", + "pattern": "^projects/[^/]+/locations/[^/]+$", + "required": true, + "type": "string" + } + }, + "path": "v2/{+parent}/instances", + "request": { + "$ref": "Instance" + }, + "response": { + "$ref": "Operation" + }, + "scopes": [ + "https://www.googleapis.com/auth/cloud-platform" + ] + }, "detachLun": { "description": "Detach LUN from Instance.", "flatPath": "v2/projects/{projectsId}/locations/{locationsId}/instances/{instancesId}:detachLun", @@ -311,7 +339,7 @@ ], "parameters": { "name": { - "description": "Output only. The resource name of this `Instance`. Resource names are schemeless URIs that follow the conventions in https://cloud.google.com/apis/design/resource_names. Format: `projects/{project}/locations/{location}/instances/{instance}`", + "description": "Immutable. The resource name of this `Instance`. Resource names are schemeless URIs that follow the conventions in https://cloud.google.com/apis/design/resource_names. Format: `projects/{project}/locations/{location}/instances/{instance}`", "location": "path", "pattern": "^projects/[^/]+/locations/[^/]+/instances/[^/]+$", "required": true, @@ -937,7 +965,7 @@ "type": "string" }, "updateMask": { - "description": "The list of fields to update. The only currently supported fields are: `snapshot_auto_delete_behavior` `snapshot_schedule_policy_name` 'labels' 'snapshot_enabled' 'snapshot_reservation_detail.reserved_space_percent'", + "description": "The list of fields to update. The only currently supported fields are: 'labels'", "format": "google-fieldmask", "location": "query", "type": "string" @@ -1056,7 +1084,7 @@ } } }, - "revision": "20220706", + "revision": "20220731", "rootUrl": "https://baremetalsolution.googleapis.com/", "schemas": { "AllowedClient": { @@ -1093,6 +1121,11 @@ "description": "The network the access point sits on.", "type": "string" }, + "nfsPath": { + "description": "Output only. The path to access NFS, in format shareIP:/InstanceID InstanceID is the generated ID instead of customer provided name. example like \"10.0.0.0:/g123456789-nfs001\"", + "readOnly": true, + "type": "string" + }, "noRootSquash": { "description": "Disable root squashing, which is a feature of NFS. Root squash is a special mapping of the remote superuser (root) identity when using identity authentication.", "type": "boolean" @@ -1200,11 +1233,13 @@ "type": "boolean" }, "id": { - "description": "An identifier for the `Instance`, generated by the backend.", + "description": "Output only. An identifier for the `Instance`, generated by the backend.", + "readOnly": true, "type": "string" }, "interactiveSerialConsoleEnabled": { - "description": "True if the interactive serial console feature is enabled for the instance, false otherwise. The default value is false.", + "description": "Output only. True if the interactive serial console feature is enabled for the instance, false otherwise. The default value is false.", + "readOnly": true, "type": "boolean" }, "labels": { @@ -1221,20 +1256,24 @@ }, "type": "array" }, + "loginInfo": { + "description": "Output only. Text field about info for logging in.", + "readOnly": true, + "type": "string" + }, "luns": { - "description": "List of LUNs associated with this server.", + "description": "Immutable. List of LUNs associated with this server.", "items": { "$ref": "Lun" }, "type": "array" }, "machineType": { - "description": "The server type. [Available server types](https://cloud.google.com/bare-metal/docs/bms-planning#server_configurations)", + "description": "Immutable. The server type. [Available server types](https://cloud.google.com/bare-metal/docs/bms-planning#server_configurations)", "type": "string" }, "name": { - "description": "Output only. The resource name of this `Instance`. Resource names are schemeless URIs that follow the conventions in https://cloud.google.com/apis/design/resource_names. Format: `projects/{project}/locations/{location}/instances/{instance}`", - "readOnly": true, + "description": "Immutable. The resource name of this `Instance`. Resource names are schemeless URIs that follow the conventions in https://cloud.google.com/apis/design/resource_names. Format: `projects/{project}/locations/{location}/instances/{instance}`", "type": "string" }, "networkTemplate": { @@ -1242,10 +1281,11 @@ "type": "string" }, "networks": { - "description": "List of networks associated with this server.", + "description": "Output only. List of networks associated with this server.", "items": { "$ref": "Network" }, + "readOnly": true, "type": "array" }, "osImage": { @@ -1257,7 +1297,7 @@ "type": "string" }, "state": { - "description": "The state of the server.", + "description": "Output only. The state of the server.", "enum": [ "STATE_UNSPECIFIED", "PROVISIONING", @@ -1270,6 +1310,7 @@ "The server is running.", "The server has been deleted." ], + "readOnly": true, "type": "string" }, "updateTime": { @@ -1277,6 +1318,13 @@ "format": "google-datetime", "readOnly": true, "type": "string" + }, + "volumes": { + "description": "Input only. List of Volumes to attach to this Instance on creation. This field won't be populated in Get/List responses.", + "items": { + "$ref": "Volume" + }, + "type": "array" } }, "type": "object" @@ -1359,8 +1407,12 @@ "format": "int32", "type": "integer" }, + "gcpService": { + "description": "The gcp service of the provisioning quota.", + "type": "string" + }, "instanceType": { - "description": "Instance type.", + "description": "Instance type. Deprecated: use gcp_service.", "type": "string" }, "location": { @@ -2557,6 +2609,11 @@ "format": "int64", "type": "string" }, + "bootVolume": { + "description": "Output only. Whether this volume is a boot volume. A boot volume is one which contains a boot LUN.", + "readOnly": true, + "type": "boolean" + }, "currentSizeGib": { "description": "The current size of this storage volume, in GiB, including space reserved for snapshots. This size might be different than the requested size if the storage volume has been configured with auto grow or auto shrink.", "format": "int64", @@ -2597,6 +2654,21 @@ "description": "Immutable. Pod name.", "type": "string" }, + "protocol": { + "description": "Output only. Storage protocol for the Volume.", + "enum": [ + "PROTOCOL_UNSPECIFIED", + "FIBRE_CHANNEL", + "NFS" + ], + "enumDescriptions": [ + "Value is not specified.", + "Fibre Channel protocol.", + "NFS protocol means Volume is a NFS Share volume. Such volumes cannot be manipulated via Volumes API." + ], + "readOnly": true, + "type": "string" + }, "remainingSpaceGib": { "description": "The space remaining in the storage volume for new LUNs, in GiB, excluding space reserved for snapshots.", "format": "int64", diff --git a/googleapiclient/discovery_cache/documents/beyondcorp.v1.json b/googleapiclient/discovery_cache/documents/beyondcorp.v1.json index 3e83d361d25..a784919a5e3 100644 --- a/googleapiclient/discovery_cache/documents/beyondcorp.v1.json +++ b/googleapiclient/discovery_cache/documents/beyondcorp.v1.json @@ -762,7 +762,7 @@ ] }, "resolveInstanceConfig": { - "description": "Get instance config for a given AppConnector. An internal method called by a AppConnector to get its container config.", + "description": "Gets instance configuration for a given AppConnector. An internal method called by a AppConnector to get its container config.", "flatPath": "v1/projects/{projectsId}/locations/{locationsId}/appConnectors/{appConnectorsId}:resolveInstanceConfig", "httpMethod": "GET", "id": "beyondcorp.projects.locations.appConnectors.resolveInstanceConfig", @@ -1741,7 +1741,7 @@ } } }, - "revision": "20220712", + "revision": "20220725", "rootUrl": "https://beyondcorp.googleapis.com/", "schemas": { "AllocatedConnection": { @@ -2362,6 +2362,11 @@ "readOnly": true, "type": "integer" }, + "l7psc": { + "description": "Output only. L7 private service connection for this resource.", + "readOnly": true, + "type": "string" + }, "type": { "description": "Required. The type of hosting used by the gateway.", "enum": [ diff --git a/googleapiclient/discovery_cache/documents/beyondcorp.v1alpha.json b/googleapiclient/discovery_cache/documents/beyondcorp.v1alpha.json index e0e071f0288..341afc3d27c 100644 --- a/googleapiclient/discovery_cache/documents/beyondcorp.v1alpha.json +++ b/googleapiclient/discovery_cache/documents/beyondcorp.v1alpha.json @@ -105,6 +105,209 @@ }, "protocol": "rest", "resources": { + "organizations": { + "resources": { + "locations": { + "resources": { + "insights": { + "methods": { + "configuredInsight": { + "description": "Gets the value for a selected particular insight based on the provided filters. Use the organization level path for fetching at org level and project level path for fetching the insight value specific to a particular project.", + "flatPath": "v1alpha/organizations/{organizationsId}/locations/{locationsId}/insights/{insightsId}:configuredInsight", + "httpMethod": "GET", + "id": "beyondcorp.organizations.locations.insights.configuredInsight", + "parameterOrder": [ + "insight" + ], + "parameters": { + "aggregation": { + "description": "Optional. Aggregation type. Available aggregation could be fetched by calling insight list and get APIs in `BASIC` view.", + "enum": [ + "AGGREGATION_UNSPECIFIED", + "HOURLY", + "DAILY", + "WEEKLY", + "MONTHLY", + "CUSTOM_DATE_RANGE" + ], + "enumDescriptions": [ + "Unspecified.", + "Insight should be aggregated at hourly level.", + "Insight should be aggregated at daily level.", + "Insight should be aggregated at weekly level.", + "Insight should be aggregated at monthly level.", + "Insight should be aggregated at the custom date range passed in as the start and end time in the request." + ], + "location": "query", + "type": "string" + }, + "customGrouping.fieldFilter": { + "description": "Optional. Filterable parameters to be added to the grouping clause. Available fields could be fetched by calling insight list and get APIs in `BASIC` view. `=` is the only comparison operator supported. `AND` is the only logical operator supported. Usage: field_filter=\"fieldName1=fieldVal1 AND fieldName2=fieldVal2\". NOTE: Only `AND` conditions are allowed. NOTE: Use the `filter_alias` from `Insight.Metadata.Field` message for the filtering the corresponding fields in this filter field. (These expressions are based on the filter language described at https://google.aip.dev/160).", + "location": "query", + "type": "string" + }, + "customGrouping.groupFields": { + "description": "Required. Fields to be used for grouping. NOTE: Use the `filter_alias` from `Insight.Metadata.Field` message for declaring the fields to be grouped-by here.", + "location": "query", + "repeated": true, + "type": "string" + }, + "endTime": { + "description": "Required. Ending time for the duration for which insight is to be pulled.", + "format": "google-datetime", + "location": "query", + "type": "string" + }, + "fieldFilter": { + "description": "Optional. Other filterable/configurable parameters as applicable to the selected insight. Available fields could be fetched by calling insight list and get APIs in `BASIC` view. `=` is the only comparison operator supported. `AND` is the only logical operator supported. Usage: field_filter=\"fieldName1=fieldVal1 AND fieldName2=fieldVal2\". NOTE: Only `AND` conditions are allowed. NOTE: Use the `filter_alias` from `Insight.Metadata.Field` message for the filtering the corresponding fields in this filter field. (These expressions are based on the filter language described at https://google.aip.dev/160).", + "location": "query", + "type": "string" + }, + "group": { + "description": "Optional. Group id of the available groupings for the insight. Available groupings could be fetched by calling insight list and get APIs in `BASIC` view.", + "location": "query", + "type": "string" + }, + "insight": { + "description": "Required. The resource name of the insight using the form: `organizations/{organization_id}/locations/{location_id}/insights/{insight_id}` `projects/{project_id}/locations/{location_id}/insights/{insight_id}`.", + "location": "path", + "pattern": "^organizations/[^/]+/locations/[^/]+/insights/[^/]+$", + "required": true, + "type": "string" + }, + "pageSize": { + "description": "Optional. Requested page size. Server may return fewer items than requested. If unspecified, server will pick an appropriate default.", + "format": "int32", + "location": "query", + "type": "integer" + }, + "pageToken": { + "description": "Optional. Used to fetch the page represented by the token. Fetches the first page when not set.", + "location": "query", + "type": "string" + }, + "startTime": { + "description": "Required. Starting time for the duration for which insight is to be pulled.", + "format": "google-datetime", + "location": "query", + "type": "string" + } + }, + "path": "v1alpha/{+insight}:configuredInsight", + "response": { + "$ref": "GoogleCloudBeyondcorpSaasplatformInsightsV1alphaConfiguredInsightResponse" + }, + "scopes": [ + "https://www.googleapis.com/auth/cloud-platform" + ] + }, + "get": { + "description": "Gets the value for a selected particular insight with default configuration. The default aggregation level is 'DAILY' and no grouping will be applied or default grouping if applicable. The data will be returned for recent 7 days. Use the organization level path for fetching at org level and project level path for fetching the insight value specific to a particular project. Setting the `view` to `BASIC` will only return the metadata for the insight.", + "flatPath": "v1alpha/organizations/{organizationsId}/locations/{locationsId}/insights/{insightsId}", + "httpMethod": "GET", + "id": "beyondcorp.organizations.locations.insights.get", + "parameterOrder": [ + "name" + ], + "parameters": { + "name": { + "description": "Required. The resource name of the insight using the form: `organizations/{organization_id}/locations/{location_id}/insights/{insight_id}` `projects/{project_id}/locations/{location_id}/insights/{insight_id}`", + "location": "path", + "pattern": "^organizations/[^/]+/locations/[^/]+/insights/[^/]+$", + "required": true, + "type": "string" + }, + "view": { + "description": "Required. Metadata only or full data view.", + "enum": [ + "INSIGHT_VIEW_UNSPECIFIED", + "BASIC", + "FULL" + ], + "enumDescriptions": [ + "The default / unset value. The API will default to the BASIC view.", + "Include basic metadata about the insight, but not the insight data. This is the default value (for both ListInsights and GetInsight).", + "Include everything." + ], + "location": "query", + "type": "string" + } + }, + "path": "v1alpha/{+name}", + "response": { + "$ref": "GoogleCloudBeyondcorpSaasplatformInsightsV1alphaInsight" + }, + "scopes": [ + "https://www.googleapis.com/auth/cloud-platform" + ] + }, + "list": { + "description": "Lists for all the available insights that could be fetched from the system. Allows to filter using category. Setting the `view` to `BASIC` will let you iterate over the list of insight metadatas.", + "flatPath": "v1alpha/organizations/{organizationsId}/locations/{locationsId}/insights", + "httpMethod": "GET", + "id": "beyondcorp.organizations.locations.insights.list", + "parameterOrder": [ + "parent" + ], + "parameters": { + "filter": { + "description": "Optional. Filter expression to restrict the insights returned. Supported filter fields: * `type` * `category` * `subCategory` Examples: * \"category = application AND type = count\" * \"category = application AND subCategory = iap\" * \"type = status\" Allowed values: * type: [count, latency, status, list] * category: [application, device, request, security] * subCategory: [iap, webprotect] NOTE: Only equality based comparison is allowed. Only `AND` conjunction is allowed. NOTE: The 'AND' in the filter field needs to be in capital letters only. NOTE: Just filtering on `subCategory` is not allowed. It should be passed in with the parent `category` too. (These expressions are based on the filter language described at https://google.aip.dev/160).", + "location": "query", + "type": "string" + }, + "orderBy": { + "description": "Optional. Hint for how to order the results. This is currently ignored.", + "location": "query", + "type": "string" + }, + "pageSize": { + "description": "Optional. Requested page size. Server may return fewer items than requested. If unspecified, server will pick an appropriate default. NOTE: Default page size is 50.", + "format": "int32", + "location": "query", + "type": "integer" + }, + "pageToken": { + "description": "Optional. A token identifying a page of results the server should return.", + "location": "query", + "type": "string" + }, + "parent": { + "description": "Required. The resource name of InsightMetadata using the form: `organizations/{organization_id}/locations/{location}` `projects/{project_id}/locations/{location_id}`", + "location": "path", + "pattern": "^organizations/[^/]+/locations/[^/]+$", + "required": true, + "type": "string" + }, + "view": { + "description": "Required. List only metadata or full data.", + "enum": [ + "INSIGHT_VIEW_UNSPECIFIED", + "BASIC", + "FULL" + ], + "enumDescriptions": [ + "The default / unset value. The API will default to the BASIC view.", + "Include basic metadata about the insight, but not the insight data. This is the default value (for both ListInsights and GetInsight).", + "Include everything." + ], + "location": "query", + "type": "string" + } + }, + "path": "v1alpha/{+parent}/insights", + "response": { + "$ref": "GoogleCloudBeyondcorpSaasplatformInsightsV1alphaListInsightsResponse" + }, + "scopes": [ + "https://www.googleapis.com/auth/cloud-platform" + ] + } + } + } + } + } + } + }, "projects": { "resources": { "locations": { @@ -762,7 +965,7 @@ ] }, "resolveInstanceConfig": { - "description": "Get instance config for a given AppConnector. An internal method called by a AppConnector to get its container config.", + "description": "Gets instance configuration for a given AppConnector. An internal method called by a AppConnector to get its container config.", "flatPath": "v1alpha/projects/{projectsId}/locations/{locationsId}/appConnectors/{appConnectorsId}:resolveInstanceConfig", "httpMethod": "GET", "id": "beyondcorp.projects.locations.appConnectors.resolveInstanceConfig", @@ -2289,7 +2492,7 @@ ] }, "resolveInstanceConfig": { - "description": "Get instance config for a given connector. An internal method called by a connector to get its container config.", + "description": "Gets instance configuration for a given connector. An internal method called by a connector to get its container config.", "flatPath": "v1alpha/projects/{projectsId}/locations/{locationsId}/connectors/{connectorsId}:resolveInstanceConfig", "httpMethod": "GET", "id": "beyondcorp.projects.locations.connectors.resolveInstanceConfig", @@ -2371,6 +2574,201 @@ } } }, + "insights": { + "methods": { + "configuredInsight": { + "description": "Gets the value for a selected particular insight based on the provided filters. Use the organization level path for fetching at org level and project level path for fetching the insight value specific to a particular project.", + "flatPath": "v1alpha/projects/{projectsId}/locations/{locationsId}/insights/{insightsId}:configuredInsight", + "httpMethod": "GET", + "id": "beyondcorp.projects.locations.insights.configuredInsight", + "parameterOrder": [ + "insight" + ], + "parameters": { + "aggregation": { + "description": "Optional. Aggregation type. Available aggregation could be fetched by calling insight list and get APIs in `BASIC` view.", + "enum": [ + "AGGREGATION_UNSPECIFIED", + "HOURLY", + "DAILY", + "WEEKLY", + "MONTHLY", + "CUSTOM_DATE_RANGE" + ], + "enumDescriptions": [ + "Unspecified.", + "Insight should be aggregated at hourly level.", + "Insight should be aggregated at daily level.", + "Insight should be aggregated at weekly level.", + "Insight should be aggregated at monthly level.", + "Insight should be aggregated at the custom date range passed in as the start and end time in the request." + ], + "location": "query", + "type": "string" + }, + "customGrouping.fieldFilter": { + "description": "Optional. Filterable parameters to be added to the grouping clause. Available fields could be fetched by calling insight list and get APIs in `BASIC` view. `=` is the only comparison operator supported. `AND` is the only logical operator supported. Usage: field_filter=\"fieldName1=fieldVal1 AND fieldName2=fieldVal2\". NOTE: Only `AND` conditions are allowed. NOTE: Use the `filter_alias` from `Insight.Metadata.Field` message for the filtering the corresponding fields in this filter field. (These expressions are based on the filter language described at https://google.aip.dev/160).", + "location": "query", + "type": "string" + }, + "customGrouping.groupFields": { + "description": "Required. Fields to be used for grouping. NOTE: Use the `filter_alias` from `Insight.Metadata.Field` message for declaring the fields to be grouped-by here.", + "location": "query", + "repeated": true, + "type": "string" + }, + "endTime": { + "description": "Required. Ending time for the duration for which insight is to be pulled.", + "format": "google-datetime", + "location": "query", + "type": "string" + }, + "fieldFilter": { + "description": "Optional. Other filterable/configurable parameters as applicable to the selected insight. Available fields could be fetched by calling insight list and get APIs in `BASIC` view. `=` is the only comparison operator supported. `AND` is the only logical operator supported. Usage: field_filter=\"fieldName1=fieldVal1 AND fieldName2=fieldVal2\". NOTE: Only `AND` conditions are allowed. NOTE: Use the `filter_alias` from `Insight.Metadata.Field` message for the filtering the corresponding fields in this filter field. (These expressions are based on the filter language described at https://google.aip.dev/160).", + "location": "query", + "type": "string" + }, + "group": { + "description": "Optional. Group id of the available groupings for the insight. Available groupings could be fetched by calling insight list and get APIs in `BASIC` view.", + "location": "query", + "type": "string" + }, + "insight": { + "description": "Required. The resource name of the insight using the form: `organizations/{organization_id}/locations/{location_id}/insights/{insight_id}` `projects/{project_id}/locations/{location_id}/insights/{insight_id}`.", + "location": "path", + "pattern": "^projects/[^/]+/locations/[^/]+/insights/[^/]+$", + "required": true, + "type": "string" + }, + "pageSize": { + "description": "Optional. Requested page size. Server may return fewer items than requested. If unspecified, server will pick an appropriate default.", + "format": "int32", + "location": "query", + "type": "integer" + }, + "pageToken": { + "description": "Optional. Used to fetch the page represented by the token. Fetches the first page when not set.", + "location": "query", + "type": "string" + }, + "startTime": { + "description": "Required. Starting time for the duration for which insight is to be pulled.", + "format": "google-datetime", + "location": "query", + "type": "string" + } + }, + "path": "v1alpha/{+insight}:configuredInsight", + "response": { + "$ref": "GoogleCloudBeyondcorpSaasplatformInsightsV1alphaConfiguredInsightResponse" + }, + "scopes": [ + "https://www.googleapis.com/auth/cloud-platform" + ] + }, + "get": { + "description": "Gets the value for a selected particular insight with default configuration. The default aggregation level is 'DAILY' and no grouping will be applied or default grouping if applicable. The data will be returned for recent 7 days. Use the organization level path for fetching at org level and project level path for fetching the insight value specific to a particular project. Setting the `view` to `BASIC` will only return the metadata for the insight.", + "flatPath": "v1alpha/projects/{projectsId}/locations/{locationsId}/insights/{insightsId}", + "httpMethod": "GET", + "id": "beyondcorp.projects.locations.insights.get", + "parameterOrder": [ + "name" + ], + "parameters": { + "name": { + "description": "Required. The resource name of the insight using the form: `organizations/{organization_id}/locations/{location_id}/insights/{insight_id}` `projects/{project_id}/locations/{location_id}/insights/{insight_id}`", + "location": "path", + "pattern": "^projects/[^/]+/locations/[^/]+/insights/[^/]+$", + "required": true, + "type": "string" + }, + "view": { + "description": "Required. Metadata only or full data view.", + "enum": [ + "INSIGHT_VIEW_UNSPECIFIED", + "BASIC", + "FULL" + ], + "enumDescriptions": [ + "The default / unset value. The API will default to the BASIC view.", + "Include basic metadata about the insight, but not the insight data. This is the default value (for both ListInsights and GetInsight).", + "Include everything." + ], + "location": "query", + "type": "string" + } + }, + "path": "v1alpha/{+name}", + "response": { + "$ref": "GoogleCloudBeyondcorpSaasplatformInsightsV1alphaInsight" + }, + "scopes": [ + "https://www.googleapis.com/auth/cloud-platform" + ] + }, + "list": { + "description": "Lists for all the available insights that could be fetched from the system. Allows to filter using category. Setting the `view` to `BASIC` will let you iterate over the list of insight metadatas.", + "flatPath": "v1alpha/projects/{projectsId}/locations/{locationsId}/insights", + "httpMethod": "GET", + "id": "beyondcorp.projects.locations.insights.list", + "parameterOrder": [ + "parent" + ], + "parameters": { + "filter": { + "description": "Optional. Filter expression to restrict the insights returned. Supported filter fields: * `type` * `category` * `subCategory` Examples: * \"category = application AND type = count\" * \"category = application AND subCategory = iap\" * \"type = status\" Allowed values: * type: [count, latency, status, list] * category: [application, device, request, security] * subCategory: [iap, webprotect] NOTE: Only equality based comparison is allowed. Only `AND` conjunction is allowed. NOTE: The 'AND' in the filter field needs to be in capital letters only. NOTE: Just filtering on `subCategory` is not allowed. It should be passed in with the parent `category` too. (These expressions are based on the filter language described at https://google.aip.dev/160).", + "location": "query", + "type": "string" + }, + "orderBy": { + "description": "Optional. Hint for how to order the results. This is currently ignored.", + "location": "query", + "type": "string" + }, + "pageSize": { + "description": "Optional. Requested page size. Server may return fewer items than requested. If unspecified, server will pick an appropriate default. NOTE: Default page size is 50.", + "format": "int32", + "location": "query", + "type": "integer" + }, + "pageToken": { + "description": "Optional. A token identifying a page of results the server should return.", + "location": "query", + "type": "string" + }, + "parent": { + "description": "Required. The resource name of InsightMetadata using the form: `organizations/{organization_id}/locations/{location}` `projects/{project_id}/locations/{location_id}`", + "location": "path", + "pattern": "^projects/[^/]+/locations/[^/]+$", + "required": true, + "type": "string" + }, + "view": { + "description": "Required. List only metadata or full data.", + "enum": [ + "INSIGHT_VIEW_UNSPECIFIED", + "BASIC", + "FULL" + ], + "enumDescriptions": [ + "The default / unset value. The API will default to the BASIC view.", + "Include basic metadata about the insight, but not the insight data. This is the default value (for both ListInsights and GetInsight).", + "Include everything." + ], + "location": "query", + "type": "string" + } + }, + "path": "v1alpha/{+parent}/insights", + "response": { + "$ref": "GoogleCloudBeyondcorpSaasplatformInsightsV1alphaListInsightsResponse" + }, + "scopes": [ + "https://www.googleapis.com/auth/cloud-platform" + ] + } + } + }, "operations": { "methods": { "cancel": { @@ -2499,7 +2897,7 @@ } } }, - "revision": "20220712", + "revision": "20220725", "rootUrl": "https://beyondcorp.googleapis.com/", "schemas": { "AllocatedConnection": { @@ -3536,6 +3934,11 @@ "readOnly": true, "type": "integer" }, + "l7psc": { + "description": "Output only. L7 private service connection for this resource.", + "readOnly": true, + "type": "string" + }, "type": { "description": "Required. The type of hosting used by the gateway.", "enum": [ @@ -4250,6 +4653,300 @@ }, "type": "object" }, + "GoogleCloudBeyondcorpSaasplatformInsightsV1alphaAppliedConfig": { + "description": "The configuration that was applied to generate the result.", + "id": "GoogleCloudBeyondcorpSaasplatformInsightsV1alphaAppliedConfig", + "properties": { + "aggregation": { + "description": "Output only. Aggregation type applied.", + "enum": [ + "AGGREGATION_UNSPECIFIED", + "HOURLY", + "DAILY", + "WEEKLY", + "MONTHLY", + "CUSTOM_DATE_RANGE" + ], + "enumDescriptions": [ + "Unspecified.", + "Insight should be aggregated at hourly level.", + "Insight should be aggregated at daily level.", + "Insight should be aggregated at weekly level.", + "Insight should be aggregated at monthly level.", + "Insight should be aggregated at the custom date range passed in as the start and end time in the request." + ], + "readOnly": true, + "type": "string" + }, + "customGrouping": { + "$ref": "GoogleCloudBeyondcorpSaasplatformInsightsV1alphaCustomGrouping", + "description": "Output only. Customised grouping applied.", + "readOnly": true + }, + "endTime": { + "description": "Output only. Ending time for the duration for which insight was pulled.", + "format": "google-datetime", + "readOnly": true, + "type": "string" + }, + "fieldFilter": { + "description": "Output only. Filters applied.", + "readOnly": true, + "type": "string" + }, + "group": { + "description": "Output only. Group id of the grouping applied.", + "readOnly": true, + "type": "string" + }, + "startTime": { + "description": "Output only. Starting time for the duration for which insight was pulled.", + "format": "google-datetime", + "readOnly": true, + "type": "string" + } + }, + "type": "object" + }, + "GoogleCloudBeyondcorpSaasplatformInsightsV1alphaConfiguredInsightResponse": { + "description": "The response for the configured insight.", + "id": "GoogleCloudBeyondcorpSaasplatformInsightsV1alphaConfiguredInsightResponse", + "properties": { + "appliedConfig": { + "$ref": "GoogleCloudBeyondcorpSaasplatformInsightsV1alphaAppliedConfig", + "description": "Output only. Applied insight config to generate the result data rows.", + "readOnly": true + }, + "nextPageToken": { + "description": "Output only. Next page token to be fetched. Set to empty or NULL if there are no more pages available.", + "readOnly": true, + "type": "string" + }, + "rows": { + "description": "Output only. Result rows returned containing the required value(s) for configured insight.", + "items": { + "$ref": "GoogleCloudBeyondcorpSaasplatformInsightsV1alphaRow" + }, + "readOnly": true, + "type": "array" + } + }, + "type": "object" + }, + "GoogleCloudBeyondcorpSaasplatformInsightsV1alphaCustomGrouping": { + "description": "Customised grouping option that allows setting the group_by fields and also the filters togather for a configured insight request.", + "id": "GoogleCloudBeyondcorpSaasplatformInsightsV1alphaCustomGrouping", + "properties": { + "fieldFilter": { + "description": "Optional. Filterable parameters to be added to the grouping clause. Available fields could be fetched by calling insight list and get APIs in `BASIC` view. `=` is the only comparison operator supported. `AND` is the only logical operator supported. Usage: field_filter=\"fieldName1=fieldVal1 AND fieldName2=fieldVal2\". NOTE: Only `AND` conditions are allowed. NOTE: Use the `filter_alias` from `Insight.Metadata.Field` message for the filtering the corresponding fields in this filter field. (These expressions are based on the filter language described at https://google.aip.dev/160).", + "type": "string" + }, + "groupFields": { + "description": "Required. Fields to be used for grouping. NOTE: Use the `filter_alias` from `Insight.Metadata.Field` message for declaring the fields to be grouped-by here.", + "items": { + "type": "string" + }, + "type": "array" + } + }, + "type": "object" + }, + "GoogleCloudBeyondcorpSaasplatformInsightsV1alphaInsight": { + "description": "The Insight object with configuration that was returned and actual list of records.", + "id": "GoogleCloudBeyondcorpSaasplatformInsightsV1alphaInsight", + "properties": { + "appliedConfig": { + "$ref": "GoogleCloudBeyondcorpSaasplatformInsightsV1alphaAppliedConfig", + "description": "Output only. Applied insight config to generate the result data rows.", + "readOnly": true + }, + "metadata": { + "$ref": "GoogleCloudBeyondcorpSaasplatformInsightsV1alphaInsightMetadata", + "description": "Output only. Metadata for the Insight.", + "readOnly": true + }, + "name": { + "description": "Output only. The insight resource name. e.g. `organizations/{organization_id}/locations/{location_id}/insights/{insight_id}` OR `projects/{project_id}/locations/{location_id}/insights/{insight_id}`.", + "readOnly": true, + "type": "string" + }, + "rows": { + "description": "Output only. Result rows returned containing the required value(s).", + "items": { + "$ref": "GoogleCloudBeyondcorpSaasplatformInsightsV1alphaRow" + }, + "readOnly": true, + "type": "array" + } + }, + "type": "object" + }, + "GoogleCloudBeyondcorpSaasplatformInsightsV1alphaInsightMetadata": { + "description": "Insight filters, groupings and aggregations that can be applied for the insight. Examples: aggregations, groups, field filters.", + "id": "GoogleCloudBeyondcorpSaasplatformInsightsV1alphaInsightMetadata", + "properties": { + "aggregations": { + "description": "Output only. List of aggregation types available for insight.", + "items": { + "enum": [ + "AGGREGATION_UNSPECIFIED", + "HOURLY", + "DAILY", + "WEEKLY", + "MONTHLY", + "CUSTOM_DATE_RANGE" + ], + "enumDescriptions": [ + "Unspecified.", + "Insight should be aggregated at hourly level.", + "Insight should be aggregated at daily level.", + "Insight should be aggregated at weekly level.", + "Insight should be aggregated at monthly level.", + "Insight should be aggregated at the custom date range passed in as the start and end time in the request." + ], + "type": "string" + }, + "readOnly": true, + "type": "array" + }, + "category": { + "description": "Output only. Category of the insight.", + "readOnly": true, + "type": "string" + }, + "displayName": { + "description": "Output only. Common name of the insight.", + "readOnly": true, + "type": "string" + }, + "fields": { + "description": "Output only. List of fields available for insight.", + "items": { + "$ref": "GoogleCloudBeyondcorpSaasplatformInsightsV1alphaInsightMetadataField" + }, + "readOnly": true, + "type": "array" + }, + "groups": { + "description": "Output only. List of groupings available for insight.", + "items": { + "type": "string" + }, + "readOnly": true, + "type": "array" + }, + "subCategory": { + "description": "Output only. Sub-Category of the insight.", + "readOnly": true, + "type": "string" + }, + "type": { + "description": "Output only. Type of the insight. It is metadata describing whether the insight is a metric (e.g. count) or a report (e.g. list, status).", + "readOnly": true, + "type": "string" + } + }, + "type": "object" + }, + "GoogleCloudBeyondcorpSaasplatformInsightsV1alphaInsightMetadataField": { + "description": "Field metadata. Commonly understandable name and description for the field. Multiple such fields constitute the Insight.", + "id": "GoogleCloudBeyondcorpSaasplatformInsightsV1alphaInsightMetadataField", + "properties": { + "description": { + "description": "Output only. Description of the field.", + "readOnly": true, + "type": "string" + }, + "displayName": { + "description": "Output only. Name of the field.", + "readOnly": true, + "type": "string" + }, + "filterAlias": { + "description": "Output only. Field name to be used in filter while requesting configured insight filtered on this field.", + "readOnly": true, + "type": "string" + }, + "filterable": { + "description": "Output only. Indicates whether the field can be used for filtering.", + "readOnly": true, + "type": "boolean" + }, + "groupable": { + "description": "Output only. Indicates whether the field can be used for grouping in custom grouping request.", + "readOnly": true, + "type": "boolean" + }, + "id": { + "description": "Output only. Field id for which this is the metadata.", + "readOnly": true, + "type": "string" + } + }, + "type": "object" + }, + "GoogleCloudBeyondcorpSaasplatformInsightsV1alphaListInsightsResponse": { + "description": "The response for the list of insights.", + "id": "GoogleCloudBeyondcorpSaasplatformInsightsV1alphaListInsightsResponse", + "properties": { + "insights": { + "description": "Output only. List of all insights.", + "items": { + "$ref": "GoogleCloudBeyondcorpSaasplatformInsightsV1alphaInsight" + }, + "readOnly": true, + "type": "array" + }, + "nextPageToken": { + "description": "Output only. Next page token to be fetched. Set to empty or NULL if there are no more pages available.", + "readOnly": true, + "type": "string" + } + }, + "type": "object" + }, + "GoogleCloudBeyondcorpSaasplatformInsightsV1alphaRow": { + "description": "Row of the fetch response consisting of a set of entries.", + "id": "GoogleCloudBeyondcorpSaasplatformInsightsV1alphaRow", + "properties": { + "fieldValues": { + "description": "Output only. Columns/entries/key-vals in the result.", + "items": { + "$ref": "GoogleCloudBeyondcorpSaasplatformInsightsV1alphaRowFieldVal" + }, + "readOnly": true, + "type": "array" + } + }, + "type": "object" + }, + "GoogleCloudBeyondcorpSaasplatformInsightsV1alphaRowFieldVal": { + "description": "Column or key value pair from the request as part of key to use in query or a single pair of the fetch response.", + "id": "GoogleCloudBeyondcorpSaasplatformInsightsV1alphaRowFieldVal", + "properties": { + "displayName": { + "description": "Output only. Name of the field.", + "readOnly": true, + "type": "string" + }, + "filterAlias": { + "description": "Output only. Field name to be used in filter while requesting configured insight filtered on this field.", + "readOnly": true, + "type": "string" + }, + "id": { + "description": "Output only. Field id.", + "readOnly": true, + "type": "string" + }, + "value": { + "description": "Output only. Value of the field in string format. Acceptable values are strings or numbers.", + "readOnly": true, + "type": "string" + } + }, + "type": "object" + }, "GoogleCloudLocationListLocationsResponse": { "description": "The response message for Locations.ListLocations.", "id": "GoogleCloudLocationListLocationsResponse", diff --git a/googleapiclient/discovery_cache/documents/bigquery.v2.json b/googleapiclient/discovery_cache/documents/bigquery.v2.json index 0d4ecda77e7..b37c68329ec 100644 --- a/googleapiclient/discovery_cache/documents/bigquery.v2.json +++ b/googleapiclient/discovery_cache/documents/bigquery.v2.json @@ -1710,7 +1710,7 @@ } } }, - "revision": "20220709", + "revision": "20220730", "rootUrl": "https://bigquery.googleapis.com/", "schemas": { "AggregateClassificationMetrics": { @@ -2680,6 +2680,10 @@ "description": "[Optional] An custom string that will represent a NULL value in CSV import data.", "type": "string" }, + "preserveAsciiControlCharacters": { + "description": "[Optional] Preserves the embedded ASCII control characters (the first 32 characters in the ASCII-table, from '\\x00' to '\\x1F') when loading from CSV. Only applicable to CSV, ignored for other formats.", + "type": "boolean" + }, "quote": { "default": "\"", "description": "[Optional] The value that is used to quote data sections in a CSV file. BigQuery converts the string to ISO-8859-1 encoding, and then uses the first byte of the encoded string to split the data in its raw, binary state. The default value is a double-quote ('\"'). If your data does not contain quoted sections, set the property value to an empty string. If your data contains quoted newline characters, you must also set the allowQuotedNewlines property to true.", @@ -3424,6 +3428,10 @@ "$ref": "ParquetOptions", "description": "Additional properties to set if sourceFormat is set to Parquet." }, + "referenceFileSchemaUri": { + "description": "[Optional] Provide a referencing file with the expected table schema. Enabled for the format: AVRO, PARQUET, ORC.", + "type": "string" + }, "schema": { "$ref": "TableSchema", "description": "[Optional] The schema for the data. Schema is required for CSV and JSON formats. Schema is disallowed for Google Cloud Bigtable, Cloud Datastore backups, and Avro formats." @@ -4154,6 +4162,10 @@ "$ref": "RangePartitioning", "description": "[TrustedTester] Range partitioning specification for this table. Only one of timePartitioning and rangePartitioning should be specified." }, + "referenceFileSchemaUri": { + "description": "User provided referencing file with the expected reader schema, Available for the format: AVRO, PARQUET, ORC.", + "type": "string" + }, "schema": { "$ref": "TableSchema", "description": "[Optional] The schema for the destination table. The schema can be omitted if the destination table already exists, or if you're loading data from Google Cloud Datastore." @@ -5567,7 +5579,7 @@ "type": "string" }, "pendingUnits": { - "description": "Total parallel units of work remaining for the active stages.", + "description": "Total units of work remaining for the query. This number can be revised (increased or decreased) while the query is running.", "format": "int64", "type": "string" }, @@ -5674,15 +5686,15 @@ "id": "RemoteFunctionOptions", "properties": { "connection": { - "description": "Fully qualified name of the user-provided connection object which holds the authentication information to send requests to the remote service. projects/{project_id}/locations/{location_id}/connections/{connection_id}", + "description": "Fully qualified name of the user-provided connection object which holds the authentication information to send requests to the remote service. Format: ```\"projects/{projectId}/locations/{locationId}/connections/{connectionId}\"```", "type": "string" }, "endpoint": { - "description": "Endpoint of the user-provided remote service (e.g. a function url in Google Cloud Functions).", + "description": "Endpoint of the user-provided remote service, e.g. ```https://us-east1-my_gcf_project.cloudfunctions.net/remote_add```", "type": "string" }, "maxBatchingRows": { - "description": "Max number of rows in each batch sent to the remote service. If absent or if 0, it means no limit.", + "description": "Max number of rows in each batch sent to the remote service. If absent or if 0, BigQuery dynamically decides the number of rows in a batch.", "format": "int64", "type": "string" }, diff --git a/googleapiclient/discovery_cache/documents/bigqueryconnection.v1beta1.json b/googleapiclient/discovery_cache/documents/bigqueryconnection.v1beta1.json index 7e50105e75a..7e6f7904035 100644 --- a/googleapiclient/discovery_cache/documents/bigqueryconnection.v1beta1.json +++ b/googleapiclient/discovery_cache/documents/bigqueryconnection.v1beta1.json @@ -395,7 +395,7 @@ } } }, - "revision": "20220715", + "revision": "20220730", "rootUrl": "https://bigqueryconnection.googleapis.com/", "schemas": { "AuditConfig": { diff --git a/googleapiclient/discovery_cache/documents/bigquerydatatransfer.v1.json b/googleapiclient/discovery_cache/documents/bigquerydatatransfer.v1.json index ce07d2b89cd..b1830fdc5f6 100644 --- a/googleapiclient/discovery_cache/documents/bigquerydatatransfer.v1.json +++ b/googleapiclient/discovery_cache/documents/bigquerydatatransfer.v1.json @@ -1340,7 +1340,7 @@ } } }, - "revision": "20220716", + "revision": "20220730", "rootUrl": "https://bigquerydatatransfer.googleapis.com/", "schemas": { "CheckValidCredsRequest": { diff --git a/googleapiclient/discovery_cache/documents/bigqueryreservation.v1.json b/googleapiclient/discovery_cache/documents/bigqueryreservation.v1.json index f2c9e5576d9..3858eb27662 100644 --- a/googleapiclient/discovery_cache/documents/bigqueryreservation.v1.json +++ b/googleapiclient/discovery_cache/documents/bigqueryreservation.v1.json @@ -823,7 +823,7 @@ } } }, - "revision": "20220715", + "revision": "20220730", "rootUrl": "https://bigqueryreservation.googleapis.com/", "schemas": { "Assignment": { diff --git a/googleapiclient/discovery_cache/documents/bigqueryreservation.v1beta1.json b/googleapiclient/discovery_cache/documents/bigqueryreservation.v1beta1.json index 941911d6edb..a376e74ac64 100644 --- a/googleapiclient/discovery_cache/documents/bigqueryreservation.v1beta1.json +++ b/googleapiclient/discovery_cache/documents/bigqueryreservation.v1beta1.json @@ -786,7 +786,7 @@ } } }, - "revision": "20220715", + "revision": "20220730", "rootUrl": "https://bigqueryreservation.googleapis.com/", "schemas": { "Assignment": { diff --git a/googleapiclient/discovery_cache/documents/bigtableadmin.v2.json b/googleapiclient/discovery_cache/documents/bigtableadmin.v2.json index be12ccee658..fb37b4fff4e 100644 --- a/googleapiclient/discovery_cache/documents/bigtableadmin.v2.json +++ b/googleapiclient/discovery_cache/documents/bigtableadmin.v2.json @@ -1892,7 +1892,7 @@ } } }, - "revision": "20220718", + "revision": "20220725", "rootUrl": "https://bigtableadmin.googleapis.com/", "schemas": { "AppProfile": { diff --git a/googleapiclient/discovery_cache/documents/billingbudgets.v1.json b/googleapiclient/discovery_cache/documents/billingbudgets.v1.json index d91bbe2d1d7..3054bc31d91 100644 --- a/googleapiclient/discovery_cache/documents/billingbudgets.v1.json +++ b/googleapiclient/discovery_cache/documents/billingbudgets.v1.json @@ -270,7 +270,7 @@ } } }, - "revision": "20220718", + "revision": "20220722", "rootUrl": "https://billingbudgets.googleapis.com/", "schemas": { "GoogleCloudBillingBudgetsV1Budget": { diff --git a/googleapiclient/discovery_cache/documents/billingbudgets.v1beta1.json b/googleapiclient/discovery_cache/documents/billingbudgets.v1beta1.json index 429b69f65d5..dae09b06ce5 100644 --- a/googleapiclient/discovery_cache/documents/billingbudgets.v1beta1.json +++ b/googleapiclient/discovery_cache/documents/billingbudgets.v1beta1.json @@ -264,7 +264,7 @@ } } }, - "revision": "20220718", + "revision": "20220722", "rootUrl": "https://billingbudgets.googleapis.com/", "schemas": { "GoogleCloudBillingBudgetsV1beta1AllUpdatesRule": { diff --git a/googleapiclient/discovery_cache/documents/binaryauthorization.v1.json b/googleapiclient/discovery_cache/documents/binaryauthorization.v1.json index fe01c14628c..0bbeab4e7d0 100644 --- a/googleapiclient/discovery_cache/documents/binaryauthorization.v1.json +++ b/googleapiclient/discovery_cache/documents/binaryauthorization.v1.json @@ -551,7 +551,7 @@ } } }, - "revision": "20220715", + "revision": "20220729", "rootUrl": "https://binaryauthorization.googleapis.com/", "schemas": { "AdmissionRule": { diff --git a/googleapiclient/discovery_cache/documents/binaryauthorization.v1beta1.json b/googleapiclient/discovery_cache/documents/binaryauthorization.v1beta1.json index 3368d458c03..75c9471a36e 100644 --- a/googleapiclient/discovery_cache/documents/binaryauthorization.v1beta1.json +++ b/googleapiclient/discovery_cache/documents/binaryauthorization.v1beta1.json @@ -551,7 +551,7 @@ } } }, - "revision": "20220715", + "revision": "20220729", "rootUrl": "https://binaryauthorization.googleapis.com/", "schemas": { "AdmissionRule": { diff --git a/googleapiclient/discovery_cache/documents/blogger.v2.json b/googleapiclient/discovery_cache/documents/blogger.v2.json index 9f87806020e..7c3f37d64d8 100644 --- a/googleapiclient/discovery_cache/documents/blogger.v2.json +++ b/googleapiclient/discovery_cache/documents/blogger.v2.json @@ -401,7 +401,7 @@ } } }, - "revision": "20220725", + "revision": "20220806", "rootUrl": "https://blogger.googleapis.com/", "schemas": { "Blog": { @@ -813,6 +813,10 @@ "description": "The title of this entity. This is the name displayed in the Admin user interface.", "type": "string" }, + "trashed": { + "description": "RFC 3339 date-time when this Page was trashed.", + "type": "string" + }, "updated": { "description": "RFC 3339 date-time when this Page was last updated.", "type": "string" @@ -1021,6 +1025,10 @@ "description": "The title link URL, similar to atom's related link.", "type": "string" }, + "trashed": { + "description": "RFC 3339 date-time when this Post was last trashed.", + "type": "string" + }, "updated": { "description": "RFC 3339 date-time when this Post was last updated.", "type": "string" diff --git a/googleapiclient/discovery_cache/documents/blogger.v3.json b/googleapiclient/discovery_cache/documents/blogger.v3.json index 0f358b3d621..4f8dc57b066 100644 --- a/googleapiclient/discovery_cache/documents/blogger.v3.json +++ b/googleapiclient/discovery_cache/documents/blogger.v3.json @@ -1684,7 +1684,7 @@ } } }, - "revision": "20220725", + "revision": "20220806", "rootUrl": "https://blogger.googleapis.com/", "schemas": { "Blog": { @@ -2096,6 +2096,10 @@ "description": "The title of this entity. This is the name displayed in the Admin user interface.", "type": "string" }, + "trashed": { + "description": "RFC 3339 date-time when this Page was trashed.", + "type": "string" + }, "updated": { "description": "RFC 3339 date-time when this Page was last updated.", "type": "string" @@ -2346,6 +2350,10 @@ "description": "The title link URL, similar to atom's related link.", "type": "string" }, + "trashed": { + "description": "RFC 3339 date-time when this Post was last trashed.", + "type": "string" + }, "updated": { "description": "RFC 3339 date-time when this Post was last updated.", "type": "string" diff --git a/googleapiclient/discovery_cache/documents/books.v1.json b/googleapiclient/discovery_cache/documents/books.v1.json index 6093b1b2684..94f4ab00153 100644 --- a/googleapiclient/discovery_cache/documents/books.v1.json +++ b/googleapiclient/discovery_cache/documents/books.v1.json @@ -2671,7 +2671,7 @@ } } }, - "revision": "20220721", + "revision": "20220803", "rootUrl": "https://books.googleapis.com/", "schemas": { "Annotation": { diff --git a/googleapiclient/discovery_cache/documents/businessprofileperformance.v1.json b/googleapiclient/discovery_cache/documents/businessprofileperformance.v1.json index c9d626f1df9..2c50cc0624e 100644 --- a/googleapiclient/discovery_cache/documents/businessprofileperformance.v1.json +++ b/googleapiclient/discovery_cache/documents/businessprofileperformance.v1.json @@ -323,7 +323,7 @@ } } }, - "revision": "20220718", + "revision": "20220806", "rootUrl": "https://businessprofileperformance.googleapis.com/", "schemas": { "Date": { diff --git a/googleapiclient/discovery_cache/documents/calendar.v3.json b/googleapiclient/discovery_cache/documents/calendar.v3.json index 109c887eff7..dec8b09531e 100644 --- a/googleapiclient/discovery_cache/documents/calendar.v3.json +++ b/googleapiclient/discovery_cache/documents/calendar.v3.json @@ -827,7 +827,7 @@ ] }, "get": { - "description": "Returns an event.", + "description": "Returns an event based on its Google Calendar ID. To retrieve an event using its iCalendar ID, call the events.list method using the iCalUID parameter.", "httpMethod": "GET", "id": "calendar.events.get", "parameterOrder": [ @@ -1088,7 +1088,7 @@ "type": "string" }, "iCalUID": { - "description": "Specifies event ID in the iCalendar format to be included in the response. Optional.", + "description": "Specifies an event ID in the iCalendar format to be provided in the response. Optional. Use this if you want to search for an event by its iCalendar ID.", "location": "query", "type": "string" }, @@ -1485,7 +1485,7 @@ "type": "string" }, "iCalUID": { - "description": "Specifies event ID in the iCalendar format to be included in the response. Optional.", + "description": "Specifies an event ID in the iCalendar format to be provided in the response. Optional. Use this if you want to search for an event by its iCalendar ID.", "location": "query", "type": "string" }, @@ -1723,7 +1723,7 @@ } } }, - "revision": "20220708", + "revision": "20220722", "rootUrl": "https://www.googleapis.com/", "schemas": { "Acl": { @@ -2478,7 +2478,7 @@ "calendar.events.import" ] }, - "description": "Event unique identifier as defined in RFC5545. It is used to uniquely identify events accross calendaring systems and must be supplied when importing events via the import method.\nNote that the icalUID and the id are not identical and only one of them should be supplied at event creation time. One difference in their semantics is that in recurring events, all occurrences of one event have different ids while they all share the same icalUIDs.", + "description": "Event unique identifier as defined in RFC5545. It is used to uniquely identify events accross calendaring systems and must be supplied when importing events via the import method.\nNote that the iCalUID and the id are not identical and only one of them should be supplied at event creation time. One difference in their semantics is that in recurring events, all occurrences of one event have different ids while they all share the same iCalUIDs. To retrieve an event using its iCalUID, call the events.list method using the iCalUID parameter. To retrieve an event using its id, call the events.get method.", "type": "string" }, "id": { diff --git a/googleapiclient/discovery_cache/documents/chat.v1.json b/googleapiclient/discovery_cache/documents/chat.v1.json index 8728e96e944..5b3cdd97d03 100644 --- a/googleapiclient/discovery_cache/documents/chat.v1.json +++ b/googleapiclient/discovery_cache/documents/chat.v1.json @@ -595,7 +595,7 @@ "type": "string" }, "updateMask": { - "description": "Required. The field paths to update. Separate multiple values with commas. Currently supported field paths: - text - cards (Requires [service account authentication](/chat/api/guides/auth/service-accounts).) - attachment", + "description": "Required. The field paths to update. Separate multiple values with commas. Currently supported field paths: - text - cards (Requires [service account authentication](/chat/api/guides/auth/service-accounts).) ", "format": "google-fieldmask", "location": "query", "type": "string" @@ -642,7 +642,7 @@ } } }, - "revision": "20220716", + "revision": "20220727", "rootUrl": "https://chat.googleapis.com/", "schemas": { "ActionParameter": { @@ -940,6 +940,21 @@ }, "type": "object" }, + "CardWithId": { + "description": "Widgets for Chat apps to specify.", + "id": "CardWithId", + "properties": { + "card": { + "$ref": "GoogleAppsCardV1Card", + "description": "Card proto that allows Chat apps to specify UI elements and editable widgets." + }, + "cardId": { + "description": "Required for `cardsV2` messages. Chat app-specified identifier for this widget. Scoped within a message.", + "type": "string" + } + }, + "type": "object" + }, "ChatAppLogEntry": { "description": "JSON payload of error messages. If the Cloud Logging API is enabled, these error messages are logged to [Google Cloud Logging](https://cloud.google.com/logging/docs).", "id": "ChatAppLogEntry", @@ -2466,6 +2481,13 @@ }, "type": "array" }, + "cardsV2": { + "description": "Richly formatted and interactive cards that display UI elements and editable widgets, such as: - Formatted text - Buttons - Clickable images - Checkboxes - Radio buttons - Input widgets. Cards are usually displayed below the text-body of a Chat message, but can situationally appear other places, such as [dialogs](https://developers.google.com/chat/how-tos/dialogs). The `cardId` is a unique identifier among cards in the same message and for identifying user input values. Currently supported widgets include: - `TextParagraph` - `DecoratedText` - `Image` - `ButtonList`", + "items": { + "$ref": "CardWithId" + }, + "type": "array" + }, "createTime": { "description": "Output only. The time at which the message was created in Google Chat server.", "format": "google-datetime", @@ -2627,13 +2649,17 @@ "readOnly": true, "type": "boolean" }, + "spaceDetails": { + "$ref": "SpaceDetails", + "description": "Details about the space including description and rules." + }, "threaded": { "description": "Output only. Whether messages are threaded in this space.", "readOnly": true, "type": "boolean" }, "type": { - "description": "Output only. Deprecated: Use `single_user_bot_dm` or `space_type` (developer preview) instead. The type of a space.", + "description": "Output only. Deprecated: Use `singleUserBotDm` or `spaceType` (developer preview) instead. The type of a space.", "enum": [ "TYPE_UNSPECIFIED", "ROOM", @@ -2650,6 +2676,21 @@ }, "type": "object" }, + "SpaceDetails": { + "description": "Details about the space including description and rules.", + "id": "SpaceDetails", + "properties": { + "description": { + "description": "Optional. A description of the space. It could describe the space's discussion topic, functional purpose, or participants.", + "type": "string" + }, + "guidelines": { + "description": "Optional. The space's rules, expectations, and etiquette.", + "type": "string" + } + }, + "type": "object" + }, "Status": { "description": "The `Status` type defines a logical error model that is suitable for different programming environments, including REST APIs and RPC APIs. It is used by [gRPC](https://github.com/grpc). Each `Status` message contains three pieces of data: error code, error message, and error details. You can find out more about this error model and how to work with it in the [API Design Guide](https://cloud.google.com/apis/design/errors).", "id": "Status", diff --git a/googleapiclient/discovery_cache/documents/chromemanagement.v1.json b/googleapiclient/discovery_cache/documents/chromemanagement.v1.json index 00432da4907..16d84e22dd9 100644 --- a/googleapiclient/discovery_cache/documents/chromemanagement.v1.json +++ b/googleapiclient/discovery_cache/documents/chromemanagement.v1.json @@ -595,7 +595,7 @@ } } }, - "revision": "20220722", + "revision": "20220806", "rootUrl": "https://chromemanagement.googleapis.com/", "schemas": { "GoogleChromeManagementV1AndroidAppInfo": { diff --git a/googleapiclient/discovery_cache/documents/chromepolicy.v1.json b/googleapiclient/discovery_cache/documents/chromepolicy.v1.json index b7be0be15fb..ce3bbff2a5a 100644 --- a/googleapiclient/discovery_cache/documents/chromepolicy.v1.json +++ b/googleapiclient/discovery_cache/documents/chromepolicy.v1.json @@ -143,6 +143,123 @@ } }, "resources": { + "groups": { + "methods": { + "batchDelete": { + "description": "Delete multiple policy values that are applied to a specific group. All targets must have the same target format. That is to say that they must point to the same target resource and must have the same keys specified in `additionalTargetKeyNames`, though the values for those keys may be different. On failure the request will return the error details as part of the google.rpc.Status.", + "flatPath": "v1/customers/{customersId}/policies/groups:batchDelete", + "httpMethod": "POST", + "id": "chromepolicy.customers.policies.groups.batchDelete", + "parameterOrder": [ + "customer" + ], + "parameters": { + "customer": { + "description": "ID of the Google Workspace account or literal \"my_customer\" for the customer associated to the request.", + "location": "path", + "pattern": "^customers/[^/]+$", + "required": true, + "type": "string" + } + }, + "path": "v1/{+customer}/policies/groups:batchDelete", + "request": { + "$ref": "GoogleChromePolicyV1BatchDeleteGroupPoliciesRequest" + }, + "response": { + "$ref": "GoogleProtobufEmpty" + }, + "scopes": [ + "https://www.googleapis.com/auth/chrome.management.policy" + ] + }, + "batchModify": { + "description": "Modify multiple policy values that are applied to a specific group. All targets must have the same target format. That is to say that they must point to the same target resource and must have the same keys specified in `additionalTargetKeyNames`, though the values for those keys may be different. On failure the request will return the error details as part of the google.rpc.Status.", + "flatPath": "v1/customers/{customersId}/policies/groups:batchModify", + "httpMethod": "POST", + "id": "chromepolicy.customers.policies.groups.batchModify", + "parameterOrder": [ + "customer" + ], + "parameters": { + "customer": { + "description": "ID of the Google Workspace account or literal \"my_customer\" for the customer associated to the request.", + "location": "path", + "pattern": "^customers/[^/]+$", + "required": true, + "type": "string" + } + }, + "path": "v1/{+customer}/policies/groups:batchModify", + "request": { + "$ref": "GoogleChromePolicyV1BatchModifyGroupPoliciesRequest" + }, + "response": { + "$ref": "GoogleProtobufEmpty" + }, + "scopes": [ + "https://www.googleapis.com/auth/chrome.management.policy" + ] + }, + "listGroupPriorityOrdering": { + "description": "Retrieve a group priority ordering for an app. The target app must be supplied in `additionalTargetKeyNames` in the PolicyTargetKey. On failure the request will return the error details as part of the google.rpc.Status.", + "flatPath": "v1/customers/{customersId}/policies/groups:listGroupPriorityOrdering", + "httpMethod": "POST", + "id": "chromepolicy.customers.policies.groups.listGroupPriorityOrdering", + "parameterOrder": [ + "customer" + ], + "parameters": { + "customer": { + "description": "Required. ID of the Google Workspace account or literal \"my_customer\" for the customer associated to the request.", + "location": "path", + "pattern": "^customers/[^/]+$", + "required": true, + "type": "string" + } + }, + "path": "v1/{+customer}/policies/groups:listGroupPriorityOrdering", + "request": { + "$ref": "GoogleChromePolicyV1ListGroupPriorityOrderingRequest" + }, + "response": { + "$ref": "GoogleChromePolicyV1ListGroupPriorityOrderingResponse" + }, + "scopes": [ + "https://www.googleapis.com/auth/chrome.management.policy", + "https://www.googleapis.com/auth/chrome.management.policy.readonly" + ] + }, + "updateGroupPriorityOrdering": { + "description": "Update a group priority ordering for an app. The target app must be supplied in `additionalTargetKeyNames` in the PolicyTargetKey. On failure the request will return the error details as part of the google.rpc.Status.", + "flatPath": "v1/customers/{customersId}/policies/groups:updateGroupPriorityOrdering", + "httpMethod": "POST", + "id": "chromepolicy.customers.policies.groups.updateGroupPriorityOrdering", + "parameterOrder": [ + "customer" + ], + "parameters": { + "customer": { + "description": "Required. ID of the Google Workspace account or literal \"my_customer\" for the customer associated to the request.", + "location": "path", + "pattern": "^customers/[^/]+$", + "required": true, + "type": "string" + } + }, + "path": "v1/{+customer}/policies/groups:updateGroupPriorityOrdering", + "request": { + "$ref": "GoogleChromePolicyV1UpdateGroupPriorityOrderingRequest" + }, + "response": { + "$ref": "GoogleProtobufEmpty" + }, + "scopes": [ + "https://www.googleapis.com/auth/chrome.management.policy" + ] + } + } + }, "orgunits": { "methods": { "batchInherit": { @@ -324,7 +441,7 @@ } } }, - "revision": "20220722", + "revision": "20220806", "rootUrl": "https://chromepolicy.googleapis.com/", "schemas": { "ChromeCrosDpanelAutosettingsProtoPolicyApiLifecycle": { @@ -374,6 +491,20 @@ }, "type": "object" }, + "GoogleChromePolicyV1BatchDeleteGroupPoliciesRequest": { + "description": "Request message for specifying that multiple policy values will be deleted.", + "id": "GoogleChromePolicyV1BatchDeleteGroupPoliciesRequest", + "properties": { + "requests": { + "description": "List of policies that will be deleted as defined by the `requests`. All requests in the list must follow these restrictions: 1. All schemas in the list must have the same root namespace. 2. All `policyTargetKey.targetResource` values must point to a group resource. 3. All `policyTargetKey` values must have the same `app_id` key name in the `additionalTargetKeys`. 4. No two modification requests can reference the same `policySchema` + ` policyTargetKey` pair. ", + "items": { + "$ref": "GoogleChromePolicyV1DeleteGroupPolicyRequest" + }, + "type": "array" + } + }, + "type": "object" + }, "GoogleChromePolicyV1BatchInheritOrgUnitPoliciesRequest": { "description": "Request message for specifying that multiple policy values inherit their value from their parents.", "id": "GoogleChromePolicyV1BatchInheritOrgUnitPoliciesRequest", @@ -388,6 +519,20 @@ }, "type": "object" }, + "GoogleChromePolicyV1BatchModifyGroupPoliciesRequest": { + "description": "Request message for modifying multiple policy values for a specific group-based target.", + "id": "GoogleChromePolicyV1BatchModifyGroupPoliciesRequest", + "properties": { + "requests": { + "description": "List of policies to modify as defined by the `requests`. All requests in the list must follow these restrictions: 1. All schemas in the list must have the same root namespace. 2. All `policyTargetKey.targetResource` values must point to a group resource. 3. All `policyTargetKey` values must have the same `app_id` key name in the `additionalTargetKeys`. 4. No two modification requests can reference the same `policySchema` + ` policyTargetKey` pair. ", + "items": { + "$ref": "GoogleChromePolicyV1ModifyGroupPolicyRequest" + }, + "type": "array" + } + }, + "type": "object" + }, "GoogleChromePolicyV1BatchModifyOrgUnitPoliciesRequest": { "description": "Request message for modifying multiple policy values for a specific target.", "id": "GoogleChromePolicyV1BatchModifyOrgUnitPoliciesRequest", @@ -402,6 +547,21 @@ }, "type": "object" }, + "GoogleChromePolicyV1DeleteGroupPolicyRequest": { + "description": "Request parameters for deleting the policy value of a specific group target.", + "id": "GoogleChromePolicyV1DeleteGroupPolicyRequest", + "properties": { + "policySchema": { + "description": "The fully qualified name of the policy schema that is being inherited.", + "type": "string" + }, + "policyTargetKey": { + "$ref": "GoogleChromePolicyV1PolicyTargetKey", + "description": "Required. The key of the target for which we want to modify a policy. The target resource must point to a Group." + } + }, + "type": "object" + }, "GoogleChromePolicyV1InheritOrgUnitPolicyRequest": { "description": "Request parameters for inheriting policy value of a specific org unit target from the policy value of its parent org unit.", "id": "GoogleChromePolicyV1InheritOrgUnitPolicyRequest", @@ -417,6 +577,46 @@ }, "type": "object" }, + "GoogleChromePolicyV1ListGroupPriorityOrderingRequest": { + "description": "Request message for listing the group priority ordering of an app.", + "id": "GoogleChromePolicyV1ListGroupPriorityOrderingRequest", + "properties": { + "policyNamespace": { + "description": "Required. The namespace of the policy type for the request.", + "type": "string" + }, + "policyTargetKey": { + "$ref": "GoogleChromePolicyV1PolicyTargetKey", + "description": "Required. The key of the target for which we want to retrieve the group priority ordering. The target resource must point to an app." + } + }, + "type": "object" + }, + "GoogleChromePolicyV1ListGroupPriorityOrderingResponse": { + "description": "Response message for listing the group priority ordering of an app.", + "id": "GoogleChromePolicyV1ListGroupPriorityOrderingResponse", + "properties": { + "groupIds": { + "description": "Output only. The group IDs, in priority ordering.", + "items": { + "type": "string" + }, + "readOnly": true, + "type": "array" + }, + "policyNamespace": { + "description": "Output only. The namespace of the policy type of the group IDs.", + "readOnly": true, + "type": "string" + }, + "policyTargetKey": { + "$ref": "GoogleChromePolicyV1PolicyTargetKey", + "description": "Output only. The target resource for which the group priority ordering has been retrieved.", + "readOnly": true + } + }, + "type": "object" + }, "GoogleChromePolicyV1ListPolicySchemasResponse": { "description": "Response message for listing policy schemas that match a filter.", "id": "GoogleChromePolicyV1ListPolicySchemasResponse", @@ -435,6 +635,26 @@ }, "type": "object" }, + "GoogleChromePolicyV1ModifyGroupPolicyRequest": { + "description": "Request parameters for modifying a policy value for a specific group target.", + "id": "GoogleChromePolicyV1ModifyGroupPolicyRequest", + "properties": { + "policyTargetKey": { + "$ref": "GoogleChromePolicyV1PolicyTargetKey", + "description": "Required. The key of the target for which we want to modify a policy. The target resource must point to a Group." + }, + "policyValue": { + "$ref": "GoogleChromePolicyV1PolicyValue", + "description": "The new value for the policy." + }, + "updateMask": { + "description": "Required. Policy fields to update. Only fields in this mask will be updated; other fields in `policy_value` will be ignored (even if they have values). If a field is in this list it must have a value in 'policy_value'.", + "format": "google-fieldmask", + "type": "string" + } + }, + "type": "object" + }, "GoogleChromePolicyV1ModifyOrgUnitPolicyRequest": { "description": "Request parameters for modifying a policy value for a specific org unit target.", "id": "GoogleChromePolicyV1ModifyOrgUnitPolicyRequest", @@ -780,6 +1000,28 @@ }, "type": "object" }, + "GoogleChromePolicyV1UpdateGroupPriorityOrderingRequest": { + "description": "Request message for updating the group priority ordering of an app.", + "id": "GoogleChromePolicyV1UpdateGroupPriorityOrderingRequest", + "properties": { + "groupIds": { + "description": "Required. The group IDs, in desired priority ordering.", + "items": { + "type": "string" + }, + "type": "array" + }, + "policyNamespace": { + "description": "Required. The namespace of the policy type for the request.", + "type": "string" + }, + "policyTargetKey": { + "$ref": "GoogleChromePolicyV1PolicyTargetKey", + "description": "Required. The key of the target for which we want to update the group priority ordering. The target resource must point to an app." + } + }, + "type": "object" + }, "GoogleChromePolicyV1UploadPolicyFileRequest": { "description": "Request message for uploading a file for a policy. Next ID: 5", "id": "GoogleChromePolicyV1UploadPolicyFileRequest", diff --git a/googleapiclient/discovery_cache/documents/chromeuxreport.v1.json b/googleapiclient/discovery_cache/documents/chromeuxreport.v1.json index 2bbd7e99ceb..ef313e37fdc 100644 --- a/googleapiclient/discovery_cache/documents/chromeuxreport.v1.json +++ b/googleapiclient/discovery_cache/documents/chromeuxreport.v1.json @@ -116,7 +116,7 @@ } } }, - "revision": "20220721", + "revision": "20220804", "rootUrl": "https://chromeuxreport.googleapis.com/", "schemas": { "Bin": { diff --git a/googleapiclient/discovery_cache/documents/civicinfo.v2.json b/googleapiclient/discovery_cache/documents/civicinfo.v2.json index d2b5b752046..96586b3b2fe 100644 --- a/googleapiclient/discovery_cache/documents/civicinfo.v2.json +++ b/googleapiclient/discovery_cache/documents/civicinfo.v2.json @@ -352,7 +352,7 @@ } } }, - "revision": "20220630", + "revision": "20220802", "rootUrl": "https://civicinfo.googleapis.com/", "schemas": { "AdministrationRegion": { diff --git a/googleapiclient/discovery_cache/documents/classroom.v1.json b/googleapiclient/discovery_cache/documents/classroom.v1.json index abf993e421d..1f8862eb296 100644 --- a/googleapiclient/discovery_cache/documents/classroom.v1.json +++ b/googleapiclient/discovery_cache/documents/classroom.v1.json @@ -2400,7 +2400,7 @@ } } }, - "revision": "20220720", + "revision": "20220801", "rootUrl": "https://classroom.googleapis.com/", "schemas": { "Announcement": { diff --git a/googleapiclient/discovery_cache/documents/cloudasset.v1.json b/googleapiclient/discovery_cache/documents/cloudasset.v1.json index f8cd8932e21..d21c3f9a8dc 100644 --- a/googleapiclient/discovery_cache/documents/cloudasset.v1.json +++ b/googleapiclient/discovery_cache/documents/cloudasset.v1.json @@ -929,7 +929,7 @@ } } }, - "revision": "20220722", + "revision": "20220805", "rootUrl": "https://cloudasset.googleapis.com/", "schemas": { "AccessSelector": { @@ -1223,7 +1223,7 @@ "description": "The condition that is associated with this binding. If the condition evaluates to `true`, then this binding applies to the current request. If the condition evaluates to `false`, then this binding does not apply to the current request. However, a different role binding might grant the same role to one or more of the principals in this binding. To learn which resources support conditions in their IAM policies, see the [IAM documentation](https://cloud.google.com/iam/help/conditions/resource-policies)." }, "members": { - "description": "Specifies the principals requesting access for a Google Cloud resource. `members` can have the following values: * `allUsers`: A special identifier that represents anyone who is on the internet; with or without a Google account. * `allAuthenticatedUsers`: A special identifier that represents anyone who is authenticated with a Google account or a service account. * `user:{emailid}`: An email address that represents a specific Google account. For example, `alice@example.com` . * `serviceAccount:{emailid}`: An email address that represents a service account. For example, `my-other-app@appspot.gserviceaccount.com`. * `group:{emailid}`: An email address that represents a Google group. For example, `admins@example.com`. * `deleted:user:{emailid}?uid={uniqueid}`: An email address (plus unique identifier) representing a user that has been recently deleted. For example, `alice@example.com?uid=123456789012345678901`. If the user is recovered, this value reverts to `user:{emailid}` and the recovered user retains the role in the binding. * `deleted:serviceAccount:{emailid}?uid={uniqueid}`: An email address (plus unique identifier) representing a service account that has been recently deleted. For example, `my-other-app@appspot.gserviceaccount.com?uid=123456789012345678901`. If the service account is undeleted, this value reverts to `serviceAccount:{emailid}` and the undeleted service account retains the role in the binding. * `deleted:group:{emailid}?uid={uniqueid}`: An email address (plus unique identifier) representing a Google group that has been recently deleted. For example, `admins@example.com?uid=123456789012345678901`. If the group is recovered, this value reverts to `group:{emailid}` and the recovered group retains the role in the binding. * `domain:{domain}`: The G Suite domain (primary) that represents all the users of that domain. For example, `google.com` or `example.com`. ", + "description": "Specifies the principals requesting access for a Google Cloud resource. `members` can have the following values: * `allUsers`: A special identifier that represents anyone who is on the internet; with or without a Google account. * `allAuthenticatedUsers`: A special identifier that represents anyone who is authenticated with a Google account or a service account. * `user:{emailid}`: An email address that represents a specific Google account. For example, `alice@example.com` . * `serviceAccount:{emailid}`: An email address that represents a Google service account. For example, `my-other-app@appspot.gserviceaccount.com`. * `serviceAccount:{projectid}.svc.id.goog[{namespace}/{kubernetes-sa}]`: An identifier for a [Kubernetes service account](https://cloud.google.com/kubernetes-engine/docs/how-to/kubernetes-service-accounts). For example, `my-project.svc.id.goog[my-namespace/my-kubernetes-sa]`. * `group:{emailid}`: An email address that represents a Google group. For example, `admins@example.com`. * `deleted:user:{emailid}?uid={uniqueid}`: An email address (plus unique identifier) representing a user that has been recently deleted. For example, `alice@example.com?uid=123456789012345678901`. If the user is recovered, this value reverts to `user:{emailid}` and the recovered user retains the role in the binding. * `deleted:serviceAccount:{emailid}?uid={uniqueid}`: An email address (plus unique identifier) representing a service account that has been recently deleted. For example, `my-other-app@appspot.gserviceaccount.com?uid=123456789012345678901`. If the service account is undeleted, this value reverts to `serviceAccount:{emailid}` and the undeleted service account retains the role in the binding. * `deleted:group:{emailid}?uid={uniqueid}`: An email address (plus unique identifier) representing a Google group that has been recently deleted. For example, `admins@example.com?uid=123456789012345678901`. If the group is recovered, this value reverts to `group:{emailid}` and the recovered group retains the role in the binding. * `domain:{domain}`: The G Suite domain (primary) that represents all the users of that domain. For example, `google.com` or `example.com`. ", "items": { "type": "string" }, @@ -3220,7 +3220,7 @@ "type": "object" }, "ResourceSearchResult": { - "description": "A result of Resource Search, containing information of a cloud resource. Next ID: 28", + "description": "A result of Resource Search, containing information of a cloud resource. Next ID: 29", "id": "ResourceSearchResult", "properties": { "additionalAttributes": { diff --git a/googleapiclient/discovery_cache/documents/cloudasset.v1beta1.json b/googleapiclient/discovery_cache/documents/cloudasset.v1beta1.json index eb4596ccfa5..1ab2bf434c5 100644 --- a/googleapiclient/discovery_cache/documents/cloudasset.v1beta1.json +++ b/googleapiclient/discovery_cache/documents/cloudasset.v1beta1.json @@ -411,7 +411,7 @@ } } }, - "revision": "20220722", + "revision": "20220805", "rootUrl": "https://cloudasset.googleapis.com/", "schemas": { "AnalyzeIamPolicyLongrunningMetadata": { @@ -546,7 +546,7 @@ "description": "The condition that is associated with this binding. If the condition evaluates to `true`, then this binding applies to the current request. If the condition evaluates to `false`, then this binding does not apply to the current request. However, a different role binding might grant the same role to one or more of the principals in this binding. To learn which resources support conditions in their IAM policies, see the [IAM documentation](https://cloud.google.com/iam/help/conditions/resource-policies)." }, "members": { - "description": "Specifies the principals requesting access for a Google Cloud resource. `members` can have the following values: * `allUsers`: A special identifier that represents anyone who is on the internet; with or without a Google account. * `allAuthenticatedUsers`: A special identifier that represents anyone who is authenticated with a Google account or a service account. * `user:{emailid}`: An email address that represents a specific Google account. For example, `alice@example.com` . * `serviceAccount:{emailid}`: An email address that represents a service account. For example, `my-other-app@appspot.gserviceaccount.com`. * `group:{emailid}`: An email address that represents a Google group. For example, `admins@example.com`. * `deleted:user:{emailid}?uid={uniqueid}`: An email address (plus unique identifier) representing a user that has been recently deleted. For example, `alice@example.com?uid=123456789012345678901`. If the user is recovered, this value reverts to `user:{emailid}` and the recovered user retains the role in the binding. * `deleted:serviceAccount:{emailid}?uid={uniqueid}`: An email address (plus unique identifier) representing a service account that has been recently deleted. For example, `my-other-app@appspot.gserviceaccount.com?uid=123456789012345678901`. If the service account is undeleted, this value reverts to `serviceAccount:{emailid}` and the undeleted service account retains the role in the binding. * `deleted:group:{emailid}?uid={uniqueid}`: An email address (plus unique identifier) representing a Google group that has been recently deleted. For example, `admins@example.com?uid=123456789012345678901`. If the group is recovered, this value reverts to `group:{emailid}` and the recovered group retains the role in the binding. * `domain:{domain}`: The G Suite domain (primary) that represents all the users of that domain. For example, `google.com` or `example.com`. ", + "description": "Specifies the principals requesting access for a Google Cloud resource. `members` can have the following values: * `allUsers`: A special identifier that represents anyone who is on the internet; with or without a Google account. * `allAuthenticatedUsers`: A special identifier that represents anyone who is authenticated with a Google account or a service account. * `user:{emailid}`: An email address that represents a specific Google account. For example, `alice@example.com` . * `serviceAccount:{emailid}`: An email address that represents a Google service account. For example, `my-other-app@appspot.gserviceaccount.com`. * `serviceAccount:{projectid}.svc.id.goog[{namespace}/{kubernetes-sa}]`: An identifier for a [Kubernetes service account](https://cloud.google.com/kubernetes-engine/docs/how-to/kubernetes-service-accounts). For example, `my-project.svc.id.goog[my-namespace/my-kubernetes-sa]`. * `group:{emailid}`: An email address that represents a Google group. For example, `admins@example.com`. * `deleted:user:{emailid}?uid={uniqueid}`: An email address (plus unique identifier) representing a user that has been recently deleted. For example, `alice@example.com?uid=123456789012345678901`. If the user is recovered, this value reverts to `user:{emailid}` and the recovered user retains the role in the binding. * `deleted:serviceAccount:{emailid}?uid={uniqueid}`: An email address (plus unique identifier) representing a service account that has been recently deleted. For example, `my-other-app@appspot.gserviceaccount.com?uid=123456789012345678901`. If the service account is undeleted, this value reverts to `serviceAccount:{emailid}` and the undeleted service account retains the role in the binding. * `deleted:group:{emailid}?uid={uniqueid}`: An email address (plus unique identifier) representing a Google group that has been recently deleted. For example, `admins@example.com?uid=123456789012345678901`. If the group is recovered, this value reverts to `group:{emailid}` and the recovered group retains the role in the binding. * `domain:{domain}`: The G Suite domain (primary) that represents all the users of that domain. For example, `google.com` or `example.com`. ", "items": { "type": "string" }, diff --git a/googleapiclient/discovery_cache/documents/cloudasset.v1p1beta1.json b/googleapiclient/discovery_cache/documents/cloudasset.v1p1beta1.json index bb4ebad8db3..70d22a77d4a 100644 --- a/googleapiclient/discovery_cache/documents/cloudasset.v1p1beta1.json +++ b/googleapiclient/discovery_cache/documents/cloudasset.v1p1beta1.json @@ -207,7 +207,7 @@ } } }, - "revision": "20220722", + "revision": "20220805", "rootUrl": "https://cloudasset.googleapis.com/", "schemas": { "AnalyzeIamPolicyLongrunningMetadata": { @@ -286,7 +286,7 @@ "description": "The condition that is associated with this binding. If the condition evaluates to `true`, then this binding applies to the current request. If the condition evaluates to `false`, then this binding does not apply to the current request. However, a different role binding might grant the same role to one or more of the principals in this binding. To learn which resources support conditions in their IAM policies, see the [IAM documentation](https://cloud.google.com/iam/help/conditions/resource-policies)." }, "members": { - "description": "Specifies the principals requesting access for a Google Cloud resource. `members` can have the following values: * `allUsers`: A special identifier that represents anyone who is on the internet; with or without a Google account. * `allAuthenticatedUsers`: A special identifier that represents anyone who is authenticated with a Google account or a service account. * `user:{emailid}`: An email address that represents a specific Google account. For example, `alice@example.com` . * `serviceAccount:{emailid}`: An email address that represents a service account. For example, `my-other-app@appspot.gserviceaccount.com`. * `group:{emailid}`: An email address that represents a Google group. For example, `admins@example.com`. * `deleted:user:{emailid}?uid={uniqueid}`: An email address (plus unique identifier) representing a user that has been recently deleted. For example, `alice@example.com?uid=123456789012345678901`. If the user is recovered, this value reverts to `user:{emailid}` and the recovered user retains the role in the binding. * `deleted:serviceAccount:{emailid}?uid={uniqueid}`: An email address (plus unique identifier) representing a service account that has been recently deleted. For example, `my-other-app@appspot.gserviceaccount.com?uid=123456789012345678901`. If the service account is undeleted, this value reverts to `serviceAccount:{emailid}` and the undeleted service account retains the role in the binding. * `deleted:group:{emailid}?uid={uniqueid}`: An email address (plus unique identifier) representing a Google group that has been recently deleted. For example, `admins@example.com?uid=123456789012345678901`. If the group is recovered, this value reverts to `group:{emailid}` and the recovered group retains the role in the binding. * `domain:{domain}`: The G Suite domain (primary) that represents all the users of that domain. For example, `google.com` or `example.com`. ", + "description": "Specifies the principals requesting access for a Google Cloud resource. `members` can have the following values: * `allUsers`: A special identifier that represents anyone who is on the internet; with or without a Google account. * `allAuthenticatedUsers`: A special identifier that represents anyone who is authenticated with a Google account or a service account. * `user:{emailid}`: An email address that represents a specific Google account. For example, `alice@example.com` . * `serviceAccount:{emailid}`: An email address that represents a Google service account. For example, `my-other-app@appspot.gserviceaccount.com`. * `serviceAccount:{projectid}.svc.id.goog[{namespace}/{kubernetes-sa}]`: An identifier for a [Kubernetes service account](https://cloud.google.com/kubernetes-engine/docs/how-to/kubernetes-service-accounts). For example, `my-project.svc.id.goog[my-namespace/my-kubernetes-sa]`. * `group:{emailid}`: An email address that represents a Google group. For example, `admins@example.com`. * `deleted:user:{emailid}?uid={uniqueid}`: An email address (plus unique identifier) representing a user that has been recently deleted. For example, `alice@example.com?uid=123456789012345678901`. If the user is recovered, this value reverts to `user:{emailid}` and the recovered user retains the role in the binding. * `deleted:serviceAccount:{emailid}?uid={uniqueid}`: An email address (plus unique identifier) representing a service account that has been recently deleted. For example, `my-other-app@appspot.gserviceaccount.com?uid=123456789012345678901`. If the service account is undeleted, this value reverts to `serviceAccount:{emailid}` and the undeleted service account retains the role in the binding. * `deleted:group:{emailid}?uid={uniqueid}`: An email address (plus unique identifier) representing a Google group that has been recently deleted. For example, `admins@example.com?uid=123456789012345678901`. If the group is recovered, this value reverts to `group:{emailid}` and the recovered group retains the role in the binding. * `domain:{domain}`: The G Suite domain (primary) that represents all the users of that domain. For example, `google.com` or `example.com`. ", "items": { "type": "string" }, diff --git a/googleapiclient/discovery_cache/documents/cloudasset.v1p5beta1.json b/googleapiclient/discovery_cache/documents/cloudasset.v1p5beta1.json index f6d24c80194..eac3c96e6ec 100644 --- a/googleapiclient/discovery_cache/documents/cloudasset.v1p5beta1.json +++ b/googleapiclient/discovery_cache/documents/cloudasset.v1p5beta1.json @@ -177,7 +177,7 @@ } } }, - "revision": "20220722", + "revision": "20220805", "rootUrl": "https://cloudasset.googleapis.com/", "schemas": { "AnalyzeIamPolicyLongrunningMetadata": { @@ -305,7 +305,7 @@ "description": "The condition that is associated with this binding. If the condition evaluates to `true`, then this binding applies to the current request. If the condition evaluates to `false`, then this binding does not apply to the current request. However, a different role binding might grant the same role to one or more of the principals in this binding. To learn which resources support conditions in their IAM policies, see the [IAM documentation](https://cloud.google.com/iam/help/conditions/resource-policies)." }, "members": { - "description": "Specifies the principals requesting access for a Google Cloud resource. `members` can have the following values: * `allUsers`: A special identifier that represents anyone who is on the internet; with or without a Google account. * `allAuthenticatedUsers`: A special identifier that represents anyone who is authenticated with a Google account or a service account. * `user:{emailid}`: An email address that represents a specific Google account. For example, `alice@example.com` . * `serviceAccount:{emailid}`: An email address that represents a service account. For example, `my-other-app@appspot.gserviceaccount.com`. * `group:{emailid}`: An email address that represents a Google group. For example, `admins@example.com`. * `deleted:user:{emailid}?uid={uniqueid}`: An email address (plus unique identifier) representing a user that has been recently deleted. For example, `alice@example.com?uid=123456789012345678901`. If the user is recovered, this value reverts to `user:{emailid}` and the recovered user retains the role in the binding. * `deleted:serviceAccount:{emailid}?uid={uniqueid}`: An email address (plus unique identifier) representing a service account that has been recently deleted. For example, `my-other-app@appspot.gserviceaccount.com?uid=123456789012345678901`. If the service account is undeleted, this value reverts to `serviceAccount:{emailid}` and the undeleted service account retains the role in the binding. * `deleted:group:{emailid}?uid={uniqueid}`: An email address (plus unique identifier) representing a Google group that has been recently deleted. For example, `admins@example.com?uid=123456789012345678901`. If the group is recovered, this value reverts to `group:{emailid}` and the recovered group retains the role in the binding. * `domain:{domain}`: The G Suite domain (primary) that represents all the users of that domain. For example, `google.com` or `example.com`. ", + "description": "Specifies the principals requesting access for a Google Cloud resource. `members` can have the following values: * `allUsers`: A special identifier that represents anyone who is on the internet; with or without a Google account. * `allAuthenticatedUsers`: A special identifier that represents anyone who is authenticated with a Google account or a service account. * `user:{emailid}`: An email address that represents a specific Google account. For example, `alice@example.com` . * `serviceAccount:{emailid}`: An email address that represents a Google service account. For example, `my-other-app@appspot.gserviceaccount.com`. * `serviceAccount:{projectid}.svc.id.goog[{namespace}/{kubernetes-sa}]`: An identifier for a [Kubernetes service account](https://cloud.google.com/kubernetes-engine/docs/how-to/kubernetes-service-accounts). For example, `my-project.svc.id.goog[my-namespace/my-kubernetes-sa]`. * `group:{emailid}`: An email address that represents a Google group. For example, `admins@example.com`. * `deleted:user:{emailid}?uid={uniqueid}`: An email address (plus unique identifier) representing a user that has been recently deleted. For example, `alice@example.com?uid=123456789012345678901`. If the user is recovered, this value reverts to `user:{emailid}` and the recovered user retains the role in the binding. * `deleted:serviceAccount:{emailid}?uid={uniqueid}`: An email address (plus unique identifier) representing a service account that has been recently deleted. For example, `my-other-app@appspot.gserviceaccount.com?uid=123456789012345678901`. If the service account is undeleted, this value reverts to `serviceAccount:{emailid}` and the undeleted service account retains the role in the binding. * `deleted:group:{emailid}?uid={uniqueid}`: An email address (plus unique identifier) representing a Google group that has been recently deleted. For example, `admins@example.com?uid=123456789012345678901`. If the group is recovered, this value reverts to `group:{emailid}` and the recovered group retains the role in the binding. * `domain:{domain}`: The G Suite domain (primary) that represents all the users of that domain. For example, `google.com` or `example.com`. ", "items": { "type": "string" }, diff --git a/googleapiclient/discovery_cache/documents/cloudasset.v1p7beta1.json b/googleapiclient/discovery_cache/documents/cloudasset.v1p7beta1.json index b865a48191d..388de728d46 100644 --- a/googleapiclient/discovery_cache/documents/cloudasset.v1p7beta1.json +++ b/googleapiclient/discovery_cache/documents/cloudasset.v1p7beta1.json @@ -167,7 +167,7 @@ } } }, - "revision": "20220722", + "revision": "20220805", "rootUrl": "https://cloudasset.googleapis.com/", "schemas": { "AnalyzeIamPolicyLongrunningMetadata": { @@ -246,7 +246,7 @@ "description": "The condition that is associated with this binding. If the condition evaluates to `true`, then this binding applies to the current request. If the condition evaluates to `false`, then this binding does not apply to the current request. However, a different role binding might grant the same role to one or more of the principals in this binding. To learn which resources support conditions in their IAM policies, see the [IAM documentation](https://cloud.google.com/iam/help/conditions/resource-policies)." }, "members": { - "description": "Specifies the principals requesting access for a Google Cloud resource. `members` can have the following values: * `allUsers`: A special identifier that represents anyone who is on the internet; with or without a Google account. * `allAuthenticatedUsers`: A special identifier that represents anyone who is authenticated with a Google account or a service account. * `user:{emailid}`: An email address that represents a specific Google account. For example, `alice@example.com` . * `serviceAccount:{emailid}`: An email address that represents a service account. For example, `my-other-app@appspot.gserviceaccount.com`. * `group:{emailid}`: An email address that represents a Google group. For example, `admins@example.com`. * `deleted:user:{emailid}?uid={uniqueid}`: An email address (plus unique identifier) representing a user that has been recently deleted. For example, `alice@example.com?uid=123456789012345678901`. If the user is recovered, this value reverts to `user:{emailid}` and the recovered user retains the role in the binding. * `deleted:serviceAccount:{emailid}?uid={uniqueid}`: An email address (plus unique identifier) representing a service account that has been recently deleted. For example, `my-other-app@appspot.gserviceaccount.com?uid=123456789012345678901`. If the service account is undeleted, this value reverts to `serviceAccount:{emailid}` and the undeleted service account retains the role in the binding. * `deleted:group:{emailid}?uid={uniqueid}`: An email address (plus unique identifier) representing a Google group that has been recently deleted. For example, `admins@example.com?uid=123456789012345678901`. If the group is recovered, this value reverts to `group:{emailid}` and the recovered group retains the role in the binding. * `domain:{domain}`: The G Suite domain (primary) that represents all the users of that domain. For example, `google.com` or `example.com`. ", + "description": "Specifies the principals requesting access for a Google Cloud resource. `members` can have the following values: * `allUsers`: A special identifier that represents anyone who is on the internet; with or without a Google account. * `allAuthenticatedUsers`: A special identifier that represents anyone who is authenticated with a Google account or a service account. * `user:{emailid}`: An email address that represents a specific Google account. For example, `alice@example.com` . * `serviceAccount:{emailid}`: An email address that represents a Google service account. For example, `my-other-app@appspot.gserviceaccount.com`. * `serviceAccount:{projectid}.svc.id.goog[{namespace}/{kubernetes-sa}]`: An identifier for a [Kubernetes service account](https://cloud.google.com/kubernetes-engine/docs/how-to/kubernetes-service-accounts). For example, `my-project.svc.id.goog[my-namespace/my-kubernetes-sa]`. * `group:{emailid}`: An email address that represents a Google group. For example, `admins@example.com`. * `deleted:user:{emailid}?uid={uniqueid}`: An email address (plus unique identifier) representing a user that has been recently deleted. For example, `alice@example.com?uid=123456789012345678901`. If the user is recovered, this value reverts to `user:{emailid}` and the recovered user retains the role in the binding. * `deleted:serviceAccount:{emailid}?uid={uniqueid}`: An email address (plus unique identifier) representing a service account that has been recently deleted. For example, `my-other-app@appspot.gserviceaccount.com?uid=123456789012345678901`. If the service account is undeleted, this value reverts to `serviceAccount:{emailid}` and the undeleted service account retains the role in the binding. * `deleted:group:{emailid}?uid={uniqueid}`: An email address (plus unique identifier) representing a Google group that has been recently deleted. For example, `admins@example.com?uid=123456789012345678901`. If the group is recovered, this value reverts to `group:{emailid}` and the recovered group retains the role in the binding. * `domain:{domain}`: The G Suite domain (primary) that represents all the users of that domain. For example, `google.com` or `example.com`. ", "items": { "type": "string" }, diff --git a/googleapiclient/discovery_cache/documents/cloudbuild.v1.json b/googleapiclient/discovery_cache/documents/cloudbuild.v1.json index a69e1ba6851..d6e2aa9b80d 100644 --- a/googleapiclient/discovery_cache/documents/cloudbuild.v1.json +++ b/googleapiclient/discovery_cache/documents/cloudbuild.v1.json @@ -818,7 +818,7 @@ ], "parameters": { "pageSize": { - "description": "The maximum number of configs to return. The service may return fewer than this value. If unspecified, at most 50 configs will be returned. The maximum value is 1000; values above 1000 will be coerced to 1000.", + "description": "The maximum number of configs to return. The service may return fewer than this value. The maximum value is 1000; values above 1000 will be coerced to 1000.", "format": "int32", "location": "query", "type": "integer" @@ -2011,7 +2011,7 @@ } } }, - "revision": "20220715", + "revision": "20220806", "rootUrl": "https://cloudbuild.googleapis.com/", "schemas": { "ApprovalConfig": { diff --git a/googleapiclient/discovery_cache/documents/cloudbuild.v1alpha1.json b/googleapiclient/discovery_cache/documents/cloudbuild.v1alpha1.json index eba66b8bb8c..a2c75f3f88e 100644 --- a/googleapiclient/discovery_cache/documents/cloudbuild.v1alpha1.json +++ b/googleapiclient/discovery_cache/documents/cloudbuild.v1alpha1.json @@ -306,7 +306,7 @@ } } }, - "revision": "20220715", + "revision": "20220806", "rootUrl": "https://cloudbuild.googleapis.com/", "schemas": { "ApprovalConfig": { diff --git a/googleapiclient/discovery_cache/documents/cloudbuild.v1alpha2.json b/googleapiclient/discovery_cache/documents/cloudbuild.v1alpha2.json index 4b098347441..f3457b70f30 100644 --- a/googleapiclient/discovery_cache/documents/cloudbuild.v1alpha2.json +++ b/googleapiclient/discovery_cache/documents/cloudbuild.v1alpha2.json @@ -317,7 +317,7 @@ } } }, - "revision": "20220715", + "revision": "20220806", "rootUrl": "https://cloudbuild.googleapis.com/", "schemas": { "ApprovalConfig": { diff --git a/googleapiclient/discovery_cache/documents/cloudbuild.v1beta1.json b/googleapiclient/discovery_cache/documents/cloudbuild.v1beta1.json index c650db39178..b3ea612ff5d 100644 --- a/googleapiclient/discovery_cache/documents/cloudbuild.v1beta1.json +++ b/googleapiclient/discovery_cache/documents/cloudbuild.v1beta1.json @@ -322,7 +322,7 @@ } } }, - "revision": "20220715", + "revision": "20220806", "rootUrl": "https://cloudbuild.googleapis.com/", "schemas": { "ApprovalConfig": { diff --git a/googleapiclient/discovery_cache/documents/cloudchannel.v1.json b/googleapiclient/discovery_cache/documents/cloudchannel.v1.json index 5ea21746367..9b09bcec883 100644 --- a/googleapiclient/discovery_cache/documents/cloudchannel.v1.json +++ b/googleapiclient/discovery_cache/documents/cloudchannel.v1.json @@ -1901,7 +1901,7 @@ } } }, - "revision": "20220725", + "revision": "20220806", "rootUrl": "https://cloudchannel.googleapis.com/", "schemas": { "GoogleCloudChannelV1ActivateEntitlementRequest": { @@ -2878,7 +2878,7 @@ "type": "string" }, "languageCode": { - "description": "The BCP-47 language code. For example, \"en-US\". The response will localize in the corresponding language code, if specified. The default value is \"en-US\".", + "description": "Optional. The BCP-47 language code. For example, \"en-US\". The response will localize in the corresponding language code, if specified. The default value is \"en-US\".", "type": "string" }, "pageSize": { @@ -3019,10 +3019,6 @@ "$ref": "GoogleCloudChannelV1Constraints", "description": "Constraints on transacting the Offer." }, - "dealCode": { - "description": "The deal code of the offer to get a special promotion or discount.", - "type": "string" - }, "endTime": { "description": "Output only. End of the Offer validity time.", "format": "google-datetime", diff --git a/googleapiclient/discovery_cache/documents/clouddebugger.v2.json b/googleapiclient/discovery_cache/documents/clouddebugger.v2.json index e8006522644..6cbf4e75614 100644 --- a/googleapiclient/discovery_cache/documents/clouddebugger.v2.json +++ b/googleapiclient/discovery_cache/documents/clouddebugger.v2.json @@ -448,7 +448,7 @@ } } }, - "revision": "20220715", + "revision": "20220729", "rootUrl": "https://clouddebugger.googleapis.com/", "schemas": { "AliasContext": { diff --git a/googleapiclient/discovery_cache/documents/clouddeploy.v1.json b/googleapiclient/discovery_cache/documents/clouddeploy.v1.json index a2f57930388..2ea08d70026 100644 --- a/googleapiclient/discovery_cache/documents/clouddeploy.v1.json +++ b/googleapiclient/discovery_cache/documents/clouddeploy.v1.json @@ -1229,7 +1229,7 @@ } } }, - "revision": "20220623", + "revision": "20220725", "rootUrl": "https://clouddeploy.googleapis.com/", "schemas": { "AbandonReleaseRequest": { diff --git a/googleapiclient/discovery_cache/documents/cloudfunctions.v1.json b/googleapiclient/discovery_cache/documents/cloudfunctions.v1.json index b6f8aecd44a..d67741ee4e7 100644 --- a/googleapiclient/discovery_cache/documents/cloudfunctions.v1.json +++ b/googleapiclient/discovery_cache/documents/cloudfunctions.v1.json @@ -546,7 +546,7 @@ } } }, - "revision": "20220714", + "revision": "20220726", "rootUrl": "https://cloudfunctions.googleapis.com/", "schemas": { "AuditConfig": { diff --git a/googleapiclient/discovery_cache/documents/cloudfunctions.v2.json b/googleapiclient/discovery_cache/documents/cloudfunctions.v2.json index 1d49e6698e9..b787337cb0f 100644 --- a/googleapiclient/discovery_cache/documents/cloudfunctions.v2.json +++ b/googleapiclient/discovery_cache/documents/cloudfunctions.v2.json @@ -571,7 +571,7 @@ } } }, - "revision": "20220714", + "revision": "20220726", "rootUrl": "https://cloudfunctions.googleapis.com/", "schemas": { "AuditConfig": { diff --git a/googleapiclient/discovery_cache/documents/cloudfunctions.v2alpha.json b/googleapiclient/discovery_cache/documents/cloudfunctions.v2alpha.json index 08c4b25f91b..aa8f99df48e 100644 --- a/googleapiclient/discovery_cache/documents/cloudfunctions.v2alpha.json +++ b/googleapiclient/discovery_cache/documents/cloudfunctions.v2alpha.json @@ -571,7 +571,7 @@ } } }, - "revision": "20220714", + "revision": "20220726", "rootUrl": "https://cloudfunctions.googleapis.com/", "schemas": { "AuditConfig": { diff --git a/googleapiclient/discovery_cache/documents/cloudfunctions.v2beta.json b/googleapiclient/discovery_cache/documents/cloudfunctions.v2beta.json index 4a31b5d8e15..ca552403ec6 100644 --- a/googleapiclient/discovery_cache/documents/cloudfunctions.v2beta.json +++ b/googleapiclient/discovery_cache/documents/cloudfunctions.v2beta.json @@ -571,7 +571,7 @@ } } }, - "revision": "20220714", + "revision": "20220726", "rootUrl": "https://cloudfunctions.googleapis.com/", "schemas": { "AuditConfig": { diff --git a/googleapiclient/discovery_cache/documents/cloudidentity.v1.json b/googleapiclient/discovery_cache/documents/cloudidentity.v1.json index 58c1b786f3d..5fb83331ff2 100644 --- a/googleapiclient/discovery_cache/documents/cloudidentity.v1.json +++ b/googleapiclient/discovery_cache/documents/cloudidentity.v1.json @@ -158,7 +158,6 @@ "$ref": "Operation" }, "scopes": [ - "https://www.googleapis.com/auth/cloud-identity", "https://www.googleapis.com/auth/cloud-identity.userinvitations" ] }, @@ -184,7 +183,6 @@ "$ref": "UserInvitation" }, "scopes": [ - "https://www.googleapis.com/auth/cloud-identity", "https://www.googleapis.com/auth/cloud-identity.userinvitations", "https://www.googleapis.com/auth/cloud-identity.userinvitations.readonly" ] @@ -211,7 +209,6 @@ "$ref": "IsInvitableUserResponse" }, "scopes": [ - "https://www.googleapis.com/auth/cloud-identity", "https://www.googleapis.com/auth/cloud-identity.userinvitations", "https://www.googleapis.com/auth/cloud-identity.userinvitations.readonly" ] @@ -259,7 +256,6 @@ "$ref": "ListUserInvitationsResponse" }, "scopes": [ - "https://www.googleapis.com/auth/cloud-identity", "https://www.googleapis.com/auth/cloud-identity.userinvitations", "https://www.googleapis.com/auth/cloud-identity.userinvitations.readonly" ] @@ -289,7 +285,6 @@ "$ref": "Operation" }, "scopes": [ - "https://www.googleapis.com/auth/cloud-identity", "https://www.googleapis.com/auth/cloud-identity.userinvitations" ] } @@ -1613,7 +1608,7 @@ } } }, - "revision": "20220718", + "revision": "20220729", "rootUrl": "https://cloudidentity.googleapis.com/", "schemas": { "CancelUserInvitationRequest": { diff --git a/googleapiclient/discovery_cache/documents/cloudidentity.v1beta1.json b/googleapiclient/discovery_cache/documents/cloudidentity.v1beta1.json index 0c7be3a8773..07b88321dcf 100644 --- a/googleapiclient/discovery_cache/documents/cloudidentity.v1beta1.json +++ b/googleapiclient/discovery_cache/documents/cloudidentity.v1beta1.json @@ -158,7 +158,6 @@ "$ref": "Operation" }, "scopes": [ - "https://www.googleapis.com/auth/cloud-identity", "https://www.googleapis.com/auth/cloud-identity.userinvitations" ] }, @@ -184,7 +183,6 @@ "$ref": "UserInvitation" }, "scopes": [ - "https://www.googleapis.com/auth/cloud-identity", "https://www.googleapis.com/auth/cloud-identity.userinvitations", "https://www.googleapis.com/auth/cloud-identity.userinvitations.readonly" ] @@ -211,7 +209,6 @@ "$ref": "IsInvitableUserResponse" }, "scopes": [ - "https://www.googleapis.com/auth/cloud-identity", "https://www.googleapis.com/auth/cloud-identity.userinvitations", "https://www.googleapis.com/auth/cloud-identity.userinvitations.readonly" ] @@ -259,7 +256,6 @@ "$ref": "ListUserInvitationsResponse" }, "scopes": [ - "https://www.googleapis.com/auth/cloud-identity", "https://www.googleapis.com/auth/cloud-identity.userinvitations", "https://www.googleapis.com/auth/cloud-identity.userinvitations.readonly" ] @@ -289,7 +285,6 @@ "$ref": "Operation" }, "scopes": [ - "https://www.googleapis.com/auth/cloud-identity", "https://www.googleapis.com/auth/cloud-identity.userinvitations" ] } @@ -1570,10 +1565,7 @@ "path": "v1beta1/{+parent}/memberships", "response": { "$ref": "ListOrgMembershipsResponse" - }, - "scopes": [ - "https://www.googleapis.com/auth/cloud-identity" - ] + } }, "move": { "description": "Move an OrgMembership to a new OrgUnit. NOTE: This is an atomic copy-and-delete. The resource will have a new copy under the destination OrgUnit and be deleted from the source OrgUnit. The resource can only be searched under the destination OrgUnit afterwards.", @@ -1598,17 +1590,14 @@ }, "response": { "$ref": "Operation" - }, - "scopes": [ - "https://www.googleapis.com/auth/cloud-identity" - ] + } } } } } } }, - "revision": "20220718", + "revision": "20220729", "rootUrl": "https://cloudidentity.googleapis.com/", "schemas": { "AndroidAttributes": { diff --git a/googleapiclient/discovery_cache/documents/cloudiot.v1.json b/googleapiclient/discovery_cache/documents/cloudiot.v1.json index e51fb441ef0..ea738d57964 100644 --- a/googleapiclient/discovery_cache/documents/cloudiot.v1.json +++ b/googleapiclient/discovery_cache/documents/cloudiot.v1.json @@ -938,7 +938,7 @@ } } }, - "revision": "20220620", + "revision": "20220728", "rootUrl": "https://cloudiot.googleapis.com/", "schemas": { "BindDeviceToGatewayRequest": { diff --git a/googleapiclient/discovery_cache/documents/cloudkms.v1.json b/googleapiclient/discovery_cache/documents/cloudkms.v1.json index 0b380ee7176..ad6fb79be06 100644 --- a/googleapiclient/discovery_cache/documents/cloudkms.v1.json +++ b/googleapiclient/discovery_cache/documents/cloudkms.v1.json @@ -1582,7 +1582,7 @@ } } }, - "revision": "20220715", + "revision": "20220729", "rootUrl": "https://cloudkms.googleapis.com/", "schemas": { "AsymmetricDecryptRequest": { diff --git a/googleapiclient/discovery_cache/documents/cloudprofiler.v2.json b/googleapiclient/discovery_cache/documents/cloudprofiler.v2.json index 2057fede08e..c9f537c2f24 100644 --- a/googleapiclient/discovery_cache/documents/cloudprofiler.v2.json +++ b/googleapiclient/discovery_cache/documents/cloudprofiler.v2.json @@ -216,7 +216,7 @@ } } }, - "revision": "20220716", + "revision": "20220725", "rootUrl": "https://cloudprofiler.googleapis.com/", "schemas": { "CreateProfileRequest": { diff --git a/googleapiclient/discovery_cache/documents/cloudresourcemanager.v1.json b/googleapiclient/discovery_cache/documents/cloudresourcemanager.v1.json index 94e3b99c747..156a4c1b205 100644 --- a/googleapiclient/discovery_cache/documents/cloudresourcemanager.v1.json +++ b/googleapiclient/discovery_cache/documents/cloudresourcemanager.v1.json @@ -1171,7 +1171,7 @@ } } }, - "revision": "20220717", + "revision": "20220807", "rootUrl": "https://cloudresourcemanager.googleapis.com/", "schemas": { "Ancestor": { @@ -1242,7 +1242,7 @@ "description": "The condition that is associated with this binding. If the condition evaluates to `true`, then this binding applies to the current request. If the condition evaluates to `false`, then this binding does not apply to the current request. However, a different role binding might grant the same role to one or more of the principals in this binding. To learn which resources support conditions in their IAM policies, see the [IAM documentation](https://cloud.google.com/iam/help/conditions/resource-policies)." }, "members": { - "description": "Specifies the principals requesting access for a Google Cloud resource. `members` can have the following values: * `allUsers`: A special identifier that represents anyone who is on the internet; with or without a Google account. * `allAuthenticatedUsers`: A special identifier that represents anyone who is authenticated with a Google account or a service account. * `user:{emailid}`: An email address that represents a specific Google account. For example, `alice@example.com` . * `serviceAccount:{emailid}`: An email address that represents a service account. For example, `my-other-app@appspot.gserviceaccount.com`. * `group:{emailid}`: An email address that represents a Google group. For example, `admins@example.com`. * `deleted:user:{emailid}?uid={uniqueid}`: An email address (plus unique identifier) representing a user that has been recently deleted. For example, `alice@example.com?uid=123456789012345678901`. If the user is recovered, this value reverts to `user:{emailid}` and the recovered user retains the role in the binding. * `deleted:serviceAccount:{emailid}?uid={uniqueid}`: An email address (plus unique identifier) representing a service account that has been recently deleted. For example, `my-other-app@appspot.gserviceaccount.com?uid=123456789012345678901`. If the service account is undeleted, this value reverts to `serviceAccount:{emailid}` and the undeleted service account retains the role in the binding. * `deleted:group:{emailid}?uid={uniqueid}`: An email address (plus unique identifier) representing a Google group that has been recently deleted. For example, `admins@example.com?uid=123456789012345678901`. If the group is recovered, this value reverts to `group:{emailid}` and the recovered group retains the role in the binding. * `domain:{domain}`: The G Suite domain (primary) that represents all the users of that domain. For example, `google.com` or `example.com`. ", + "description": "Specifies the principals requesting access for a Google Cloud resource. `members` can have the following values: * `allUsers`: A special identifier that represents anyone who is on the internet; with or without a Google account. * `allAuthenticatedUsers`: A special identifier that represents anyone who is authenticated with a Google account or a service account. * `user:{emailid}`: An email address that represents a specific Google account. For example, `alice@example.com` . * `serviceAccount:{emailid}`: An email address that represents a Google service account. For example, `my-other-app@appspot.gserviceaccount.com`. * `serviceAccount:{projectid}.svc.id.goog[{namespace}/{kubernetes-sa}]`: An identifier for a [Kubernetes service account](https://cloud.google.com/kubernetes-engine/docs/how-to/kubernetes-service-accounts). For example, `my-project.svc.id.goog[my-namespace/my-kubernetes-sa]`. * `group:{emailid}`: An email address that represents a Google group. For example, `admins@example.com`. * `deleted:user:{emailid}?uid={uniqueid}`: An email address (plus unique identifier) representing a user that has been recently deleted. For example, `alice@example.com?uid=123456789012345678901`. If the user is recovered, this value reverts to `user:{emailid}` and the recovered user retains the role in the binding. * `deleted:serviceAccount:{emailid}?uid={uniqueid}`: An email address (plus unique identifier) representing a service account that has been recently deleted. For example, `my-other-app@appspot.gserviceaccount.com?uid=123456789012345678901`. If the service account is undeleted, this value reverts to `serviceAccount:{emailid}` and the undeleted service account retains the role in the binding. * `deleted:group:{emailid}?uid={uniqueid}`: An email address (plus unique identifier) representing a Google group that has been recently deleted. For example, `admins@example.com?uid=123456789012345678901`. If the group is recovered, this value reverts to `group:{emailid}` and the recovered group retains the role in the binding. * `domain:{domain}`: The G Suite domain (primary) that represents all the users of that domain. For example, `google.com` or `example.com`. ", "items": { "type": "string" }, diff --git a/googleapiclient/discovery_cache/documents/cloudresourcemanager.v1beta1.json b/googleapiclient/discovery_cache/documents/cloudresourcemanager.v1beta1.json index ad143015cba..48331b1becf 100644 --- a/googleapiclient/discovery_cache/documents/cloudresourcemanager.v1beta1.json +++ b/googleapiclient/discovery_cache/documents/cloudresourcemanager.v1beta1.json @@ -566,7 +566,7 @@ } } }, - "revision": "20220717", + "revision": "20220807", "rootUrl": "https://cloudresourcemanager.googleapis.com/", "schemas": { "Ancestor": { @@ -637,7 +637,7 @@ "description": "The condition that is associated with this binding. If the condition evaluates to `true`, then this binding applies to the current request. If the condition evaluates to `false`, then this binding does not apply to the current request. However, a different role binding might grant the same role to one or more of the principals in this binding. To learn which resources support conditions in their IAM policies, see the [IAM documentation](https://cloud.google.com/iam/help/conditions/resource-policies)." }, "members": { - "description": "Specifies the principals requesting access for a Google Cloud resource. `members` can have the following values: * `allUsers`: A special identifier that represents anyone who is on the internet; with or without a Google account. * `allAuthenticatedUsers`: A special identifier that represents anyone who is authenticated with a Google account or a service account. * `user:{emailid}`: An email address that represents a specific Google account. For example, `alice@example.com` . * `serviceAccount:{emailid}`: An email address that represents a service account. For example, `my-other-app@appspot.gserviceaccount.com`. * `group:{emailid}`: An email address that represents a Google group. For example, `admins@example.com`. * `deleted:user:{emailid}?uid={uniqueid}`: An email address (plus unique identifier) representing a user that has been recently deleted. For example, `alice@example.com?uid=123456789012345678901`. If the user is recovered, this value reverts to `user:{emailid}` and the recovered user retains the role in the binding. * `deleted:serviceAccount:{emailid}?uid={uniqueid}`: An email address (plus unique identifier) representing a service account that has been recently deleted. For example, `my-other-app@appspot.gserviceaccount.com?uid=123456789012345678901`. If the service account is undeleted, this value reverts to `serviceAccount:{emailid}` and the undeleted service account retains the role in the binding. * `deleted:group:{emailid}?uid={uniqueid}`: An email address (plus unique identifier) representing a Google group that has been recently deleted. For example, `admins@example.com?uid=123456789012345678901`. If the group is recovered, this value reverts to `group:{emailid}` and the recovered group retains the role in the binding. * `domain:{domain}`: The G Suite domain (primary) that represents all the users of that domain. For example, `google.com` or `example.com`. ", + "description": "Specifies the principals requesting access for a Google Cloud resource. `members` can have the following values: * `allUsers`: A special identifier that represents anyone who is on the internet; with or without a Google account. * `allAuthenticatedUsers`: A special identifier that represents anyone who is authenticated with a Google account or a service account. * `user:{emailid}`: An email address that represents a specific Google account. For example, `alice@example.com` . * `serviceAccount:{emailid}`: An email address that represents a Google service account. For example, `my-other-app@appspot.gserviceaccount.com`. * `serviceAccount:{projectid}.svc.id.goog[{namespace}/{kubernetes-sa}]`: An identifier for a [Kubernetes service account](https://cloud.google.com/kubernetes-engine/docs/how-to/kubernetes-service-accounts). For example, `my-project.svc.id.goog[my-namespace/my-kubernetes-sa]`. * `group:{emailid}`: An email address that represents a Google group. For example, `admins@example.com`. * `deleted:user:{emailid}?uid={uniqueid}`: An email address (plus unique identifier) representing a user that has been recently deleted. For example, `alice@example.com?uid=123456789012345678901`. If the user is recovered, this value reverts to `user:{emailid}` and the recovered user retains the role in the binding. * `deleted:serviceAccount:{emailid}?uid={uniqueid}`: An email address (plus unique identifier) representing a service account that has been recently deleted. For example, `my-other-app@appspot.gserviceaccount.com?uid=123456789012345678901`. If the service account is undeleted, this value reverts to `serviceAccount:{emailid}` and the undeleted service account retains the role in the binding. * `deleted:group:{emailid}?uid={uniqueid}`: An email address (plus unique identifier) representing a Google group that has been recently deleted. For example, `admins@example.com?uid=123456789012345678901`. If the group is recovered, this value reverts to `group:{emailid}` and the recovered group retains the role in the binding. * `domain:{domain}`: The G Suite domain (primary) that represents all the users of that domain. For example, `google.com` or `example.com`. ", "items": { "type": "string" }, diff --git a/googleapiclient/discovery_cache/documents/cloudresourcemanager.v2.json b/googleapiclient/discovery_cache/documents/cloudresourcemanager.v2.json index 52a711b50a7..4077d7afdcf 100644 --- a/googleapiclient/discovery_cache/documents/cloudresourcemanager.v2.json +++ b/googleapiclient/discovery_cache/documents/cloudresourcemanager.v2.json @@ -450,7 +450,7 @@ } } }, - "revision": "20220717", + "revision": "20220807", "rootUrl": "https://cloudresourcemanager.googleapis.com/", "schemas": { "AuditConfig": { @@ -510,7 +510,7 @@ "description": "The condition that is associated with this binding. If the condition evaluates to `true`, then this binding applies to the current request. If the condition evaluates to `false`, then this binding does not apply to the current request. However, a different role binding might grant the same role to one or more of the principals in this binding. To learn which resources support conditions in their IAM policies, see the [IAM documentation](https://cloud.google.com/iam/help/conditions/resource-policies)." }, "members": { - "description": "Specifies the principals requesting access for a Google Cloud resource. `members` can have the following values: * `allUsers`: A special identifier that represents anyone who is on the internet; with or without a Google account. * `allAuthenticatedUsers`: A special identifier that represents anyone who is authenticated with a Google account or a service account. * `user:{emailid}`: An email address that represents a specific Google account. For example, `alice@example.com` . * `serviceAccount:{emailid}`: An email address that represents a service account. For example, `my-other-app@appspot.gserviceaccount.com`. * `group:{emailid}`: An email address that represents a Google group. For example, `admins@example.com`. * `deleted:user:{emailid}?uid={uniqueid}`: An email address (plus unique identifier) representing a user that has been recently deleted. For example, `alice@example.com?uid=123456789012345678901`. If the user is recovered, this value reverts to `user:{emailid}` and the recovered user retains the role in the binding. * `deleted:serviceAccount:{emailid}?uid={uniqueid}`: An email address (plus unique identifier) representing a service account that has been recently deleted. For example, `my-other-app@appspot.gserviceaccount.com?uid=123456789012345678901`. If the service account is undeleted, this value reverts to `serviceAccount:{emailid}` and the undeleted service account retains the role in the binding. * `deleted:group:{emailid}?uid={uniqueid}`: An email address (plus unique identifier) representing a Google group that has been recently deleted. For example, `admins@example.com?uid=123456789012345678901`. If the group is recovered, this value reverts to `group:{emailid}` and the recovered group retains the role in the binding. * `domain:{domain}`: The G Suite domain (primary) that represents all the users of that domain. For example, `google.com` or `example.com`. ", + "description": "Specifies the principals requesting access for a Google Cloud resource. `members` can have the following values: * `allUsers`: A special identifier that represents anyone who is on the internet; with or without a Google account. * `allAuthenticatedUsers`: A special identifier that represents anyone who is authenticated with a Google account or a service account. * `user:{emailid}`: An email address that represents a specific Google account. For example, `alice@example.com` . * `serviceAccount:{emailid}`: An email address that represents a Google service account. For example, `my-other-app@appspot.gserviceaccount.com`. * `serviceAccount:{projectid}.svc.id.goog[{namespace}/{kubernetes-sa}]`: An identifier for a [Kubernetes service account](https://cloud.google.com/kubernetes-engine/docs/how-to/kubernetes-service-accounts). For example, `my-project.svc.id.goog[my-namespace/my-kubernetes-sa]`. * `group:{emailid}`: An email address that represents a Google group. For example, `admins@example.com`. * `deleted:user:{emailid}?uid={uniqueid}`: An email address (plus unique identifier) representing a user that has been recently deleted. For example, `alice@example.com?uid=123456789012345678901`. If the user is recovered, this value reverts to `user:{emailid}` and the recovered user retains the role in the binding. * `deleted:serviceAccount:{emailid}?uid={uniqueid}`: An email address (plus unique identifier) representing a service account that has been recently deleted. For example, `my-other-app@appspot.gserviceaccount.com?uid=123456789012345678901`. If the service account is undeleted, this value reverts to `serviceAccount:{emailid}` and the undeleted service account retains the role in the binding. * `deleted:group:{emailid}?uid={uniqueid}`: An email address (plus unique identifier) representing a Google group that has been recently deleted. For example, `admins@example.com?uid=123456789012345678901`. If the group is recovered, this value reverts to `group:{emailid}` and the recovered group retains the role in the binding. * `domain:{domain}`: The G Suite domain (primary) that represents all the users of that domain. For example, `google.com` or `example.com`. ", "items": { "type": "string" }, diff --git a/googleapiclient/discovery_cache/documents/cloudresourcemanager.v2beta1.json b/googleapiclient/discovery_cache/documents/cloudresourcemanager.v2beta1.json index c433aa92c1d..7ca6eb9842d 100644 --- a/googleapiclient/discovery_cache/documents/cloudresourcemanager.v2beta1.json +++ b/googleapiclient/discovery_cache/documents/cloudresourcemanager.v2beta1.json @@ -450,7 +450,7 @@ } } }, - "revision": "20220717", + "revision": "20220807", "rootUrl": "https://cloudresourcemanager.googleapis.com/", "schemas": { "AuditConfig": { @@ -510,7 +510,7 @@ "description": "The condition that is associated with this binding. If the condition evaluates to `true`, then this binding applies to the current request. If the condition evaluates to `false`, then this binding does not apply to the current request. However, a different role binding might grant the same role to one or more of the principals in this binding. To learn which resources support conditions in their IAM policies, see the [IAM documentation](https://cloud.google.com/iam/help/conditions/resource-policies)." }, "members": { - "description": "Specifies the principals requesting access for a Google Cloud resource. `members` can have the following values: * `allUsers`: A special identifier that represents anyone who is on the internet; with or without a Google account. * `allAuthenticatedUsers`: A special identifier that represents anyone who is authenticated with a Google account or a service account. * `user:{emailid}`: An email address that represents a specific Google account. For example, `alice@example.com` . * `serviceAccount:{emailid}`: An email address that represents a service account. For example, `my-other-app@appspot.gserviceaccount.com`. * `group:{emailid}`: An email address that represents a Google group. For example, `admins@example.com`. * `deleted:user:{emailid}?uid={uniqueid}`: An email address (plus unique identifier) representing a user that has been recently deleted. For example, `alice@example.com?uid=123456789012345678901`. If the user is recovered, this value reverts to `user:{emailid}` and the recovered user retains the role in the binding. * `deleted:serviceAccount:{emailid}?uid={uniqueid}`: An email address (plus unique identifier) representing a service account that has been recently deleted. For example, `my-other-app@appspot.gserviceaccount.com?uid=123456789012345678901`. If the service account is undeleted, this value reverts to `serviceAccount:{emailid}` and the undeleted service account retains the role in the binding. * `deleted:group:{emailid}?uid={uniqueid}`: An email address (plus unique identifier) representing a Google group that has been recently deleted. For example, `admins@example.com?uid=123456789012345678901`. If the group is recovered, this value reverts to `group:{emailid}` and the recovered group retains the role in the binding. * `domain:{domain}`: The G Suite domain (primary) that represents all the users of that domain. For example, `google.com` or `example.com`. ", + "description": "Specifies the principals requesting access for a Google Cloud resource. `members` can have the following values: * `allUsers`: A special identifier that represents anyone who is on the internet; with or without a Google account. * `allAuthenticatedUsers`: A special identifier that represents anyone who is authenticated with a Google account or a service account. * `user:{emailid}`: An email address that represents a specific Google account. For example, `alice@example.com` . * `serviceAccount:{emailid}`: An email address that represents a Google service account. For example, `my-other-app@appspot.gserviceaccount.com`. * `serviceAccount:{projectid}.svc.id.goog[{namespace}/{kubernetes-sa}]`: An identifier for a [Kubernetes service account](https://cloud.google.com/kubernetes-engine/docs/how-to/kubernetes-service-accounts). For example, `my-project.svc.id.goog[my-namespace/my-kubernetes-sa]`. * `group:{emailid}`: An email address that represents a Google group. For example, `admins@example.com`. * `deleted:user:{emailid}?uid={uniqueid}`: An email address (plus unique identifier) representing a user that has been recently deleted. For example, `alice@example.com?uid=123456789012345678901`. If the user is recovered, this value reverts to `user:{emailid}` and the recovered user retains the role in the binding. * `deleted:serviceAccount:{emailid}?uid={uniqueid}`: An email address (plus unique identifier) representing a service account that has been recently deleted. For example, `my-other-app@appspot.gserviceaccount.com?uid=123456789012345678901`. If the service account is undeleted, this value reverts to `serviceAccount:{emailid}` and the undeleted service account retains the role in the binding. * `deleted:group:{emailid}?uid={uniqueid}`: An email address (plus unique identifier) representing a Google group that has been recently deleted. For example, `admins@example.com?uid=123456789012345678901`. If the group is recovered, this value reverts to `group:{emailid}` and the recovered group retains the role in the binding. * `domain:{domain}`: The G Suite domain (primary) that represents all the users of that domain. For example, `google.com` or `example.com`. ", "items": { "type": "string" }, diff --git a/googleapiclient/discovery_cache/documents/cloudresourcemanager.v3.json b/googleapiclient/discovery_cache/documents/cloudresourcemanager.v3.json index 4dcf1973889..7ab972e429c 100644 --- a/googleapiclient/discovery_cache/documents/cloudresourcemanager.v3.json +++ b/googleapiclient/discovery_cache/documents/cloudresourcemanager.v3.json @@ -1464,7 +1464,7 @@ ] }, "get": { - "description": "Retrieves TagValue. If the TagValue or namespaced name does not exist, or if the user does not have permission to view it, this method will return `PERMISSION_DENIED`.", + "description": "Retrieves a TagValue. This method will return `PERMISSION_DENIED` if the value does not exist or the user does not have permission to view it.", "flatPath": "v3/tagValues/{tagValuesId}", "httpMethod": "GET", "id": "cloudresourcemanager.tagValues.get", @@ -1760,7 +1760,7 @@ } } }, - "revision": "20220717", + "revision": "20220807", "rootUrl": "https://cloudresourcemanager.googleapis.com/", "schemas": { "AuditConfig": { @@ -1820,7 +1820,7 @@ "description": "The condition that is associated with this binding. If the condition evaluates to `true`, then this binding applies to the current request. If the condition evaluates to `false`, then this binding does not apply to the current request. However, a different role binding might grant the same role to one or more of the principals in this binding. To learn which resources support conditions in their IAM policies, see the [IAM documentation](https://cloud.google.com/iam/help/conditions/resource-policies)." }, "members": { - "description": "Specifies the principals requesting access for a Google Cloud resource. `members` can have the following values: * `allUsers`: A special identifier that represents anyone who is on the internet; with or without a Google account. * `allAuthenticatedUsers`: A special identifier that represents anyone who is authenticated with a Google account or a service account. * `user:{emailid}`: An email address that represents a specific Google account. For example, `alice@example.com` . * `serviceAccount:{emailid}`: An email address that represents a service account. For example, `my-other-app@appspot.gserviceaccount.com`. * `group:{emailid}`: An email address that represents a Google group. For example, `admins@example.com`. * `deleted:user:{emailid}?uid={uniqueid}`: An email address (plus unique identifier) representing a user that has been recently deleted. For example, `alice@example.com?uid=123456789012345678901`. If the user is recovered, this value reverts to `user:{emailid}` and the recovered user retains the role in the binding. * `deleted:serviceAccount:{emailid}?uid={uniqueid}`: An email address (plus unique identifier) representing a service account that has been recently deleted. For example, `my-other-app@appspot.gserviceaccount.com?uid=123456789012345678901`. If the service account is undeleted, this value reverts to `serviceAccount:{emailid}` and the undeleted service account retains the role in the binding. * `deleted:group:{emailid}?uid={uniqueid}`: An email address (plus unique identifier) representing a Google group that has been recently deleted. For example, `admins@example.com?uid=123456789012345678901`. If the group is recovered, this value reverts to `group:{emailid}` and the recovered group retains the role in the binding. * `domain:{domain}`: The G Suite domain (primary) that represents all the users of that domain. For example, `google.com` or `example.com`. ", + "description": "Specifies the principals requesting access for a Google Cloud resource. `members` can have the following values: * `allUsers`: A special identifier that represents anyone who is on the internet; with or without a Google account. * `allAuthenticatedUsers`: A special identifier that represents anyone who is authenticated with a Google account or a service account. * `user:{emailid}`: An email address that represents a specific Google account. For example, `alice@example.com` . * `serviceAccount:{emailid}`: An email address that represents a Google service account. For example, `my-other-app@appspot.gserviceaccount.com`. * `serviceAccount:{projectid}.svc.id.goog[{namespace}/{kubernetes-sa}]`: An identifier for a [Kubernetes service account](https://cloud.google.com/kubernetes-engine/docs/how-to/kubernetes-service-accounts). For example, `my-project.svc.id.goog[my-namespace/my-kubernetes-sa]`. * `group:{emailid}`: An email address that represents a Google group. For example, `admins@example.com`. * `deleted:user:{emailid}?uid={uniqueid}`: An email address (plus unique identifier) representing a user that has been recently deleted. For example, `alice@example.com?uid=123456789012345678901`. If the user is recovered, this value reverts to `user:{emailid}` and the recovered user retains the role in the binding. * `deleted:serviceAccount:{emailid}?uid={uniqueid}`: An email address (plus unique identifier) representing a service account that has been recently deleted. For example, `my-other-app@appspot.gserviceaccount.com?uid=123456789012345678901`. If the service account is undeleted, this value reverts to `serviceAccount:{emailid}` and the undeleted service account retains the role in the binding. * `deleted:group:{emailid}?uid={uniqueid}`: An email address (plus unique identifier) representing a Google group that has been recently deleted. For example, `admins@example.com?uid=123456789012345678901`. If the group is recovered, this value reverts to `group:{emailid}` and the recovered group retains the role in the binding. * `domain:{domain}`: The G Suite domain (primary) that represents all the users of that domain. For example, `google.com` or `example.com`. ", "items": { "type": "string" }, @@ -1997,11 +1997,11 @@ "type": "boolean" }, "namespacedTagKey": { - "description": "The namespaced_name of the TagKey, in the format of `{organization_id}/{tag_key_short_name}`", + "description": "The namespaced_name of the TagKey. Now only supported in the format of `{organization_id}/{tag_key_short_name}`. Other formats will be supported when we add non-org parented tags.", "type": "string" }, "namespacedTagValue": { - "description": "Namespaced name of the TagValue. Must be in the format `{organization_id}/{tag_key_short_name}/{tag_value_short_name}`.", + "description": "Namespaced name of the TagValue. Now only supported in the format `{organization_id}/{tag_key_short_name}/{tag_value_short_name}`. Other formats will be supported when we add non-org parented tags.", "type": "string" }, "tagKey": { @@ -2866,7 +2866,7 @@ "type": "string" }, "namespacedName": { - "description": "Output only. Namespaced name of the TagValue. Must be in the format `{organization_id}/{tag_key_short_name}/{short_name}`.", + "description": "Output only. Namespaced name of the TagValue. Now only supported in the format `{organization_id}/{tag_key_short_name}/{short_name}`. Other formats will be supported when we add non-org parented tags.", "readOnly": true, "type": "string" }, diff --git a/googleapiclient/discovery_cache/documents/cloudscheduler.v1.json b/googleapiclient/discovery_cache/documents/cloudscheduler.v1.json index 16211e412c6..6462f4fda65 100644 --- a/googleapiclient/discovery_cache/documents/cloudscheduler.v1.json +++ b/googleapiclient/discovery_cache/documents/cloudscheduler.v1.json @@ -418,7 +418,7 @@ } } }, - "revision": "20220704", + "revision": "20220802", "rootUrl": "https://cloudscheduler.googleapis.com/", "schemas": { "AppEngineHttpTarget": { @@ -565,7 +565,7 @@ "description": "App Engine HTTP target." }, "attemptDeadline": { - "description": "The deadline for job attempts. If the request handler does not respond by this deadline then the request is cancelled and the attempt is marked as a `DEADLINE_EXCEEDED` failure. The failed attempt can be viewed in execution logs. Cloud Scheduler will retry the job according to the RetryConfig. The allowed duration for this deadline is: * For HTTP targets, between 15 seconds and 30 minutes. * For App Engine HTTP targets, between 15 seconds and 24 hours 15 seconds.", + "description": "The deadline for job attempts. If the request handler does not respond by this deadline then the request is cancelled and the attempt is marked as a `DEADLINE_EXCEEDED` failure. The failed attempt can be viewed in execution logs. Cloud Scheduler will retry the job according to the RetryConfig. The default and the allowed values depend on the type of target: * For HTTP targets, the default is 3 minutes. The deadline must be in the interval [15 seconds, 30 minutes]. * For App Engine HTTP targets, 0 indicates that the request has the default deadline. The default deadline depends on the scaling type of the service: 10 minutes for standard apps with automatic scaling, 24 hours for standard apps with manual and basic scaling, and 60 minutes for flex apps. If the request deadline is set, it must be in the interval [15 seconds, 24 hours 15 seconds]. * For Pub/Sub targets, this field is ignored.", "format": "google-duration", "type": "string" }, diff --git a/googleapiclient/discovery_cache/documents/cloudscheduler.v1beta1.json b/googleapiclient/discovery_cache/documents/cloudscheduler.v1beta1.json index 44ef9ceedca..e8a1c717043 100644 --- a/googleapiclient/discovery_cache/documents/cloudscheduler.v1beta1.json +++ b/googleapiclient/discovery_cache/documents/cloudscheduler.v1beta1.json @@ -433,7 +433,7 @@ } } }, - "revision": "20220704", + "revision": "20220802", "rootUrl": "https://cloudscheduler.googleapis.com/", "schemas": { "AppEngineHttpTarget": { @@ -580,7 +580,7 @@ "description": "App Engine HTTP target." }, "attemptDeadline": { - "description": "The deadline for job attempts. If the request handler does not respond by this deadline then the request is cancelled and the attempt is marked as a `DEADLINE_EXCEEDED` failure. The failed attempt can be viewed in execution logs. Cloud Scheduler will retry the job according to the RetryConfig. The allowed duration for this deadline is: * For HTTP targets, between 15 seconds and 30 minutes. * For App Engine HTTP targets, between 15 seconds and 24 hours 15 seconds. * For Pub/Sub targets, this field is ignored.", + "description": "The deadline for job attempts. If the request handler does not respond by this deadline then the request is cancelled and the attempt is marked as a `DEADLINE_EXCEEDED` failure. The failed attempt can be viewed in execution logs. Cloud Scheduler will retry the job according to the RetryConfig. The default and the allowed values depend on the type of target: * For HTTP targets, the default is 3 minutes. The deadline must be in the interval [15 seconds, 30 minutes]. * For App Engine HTTP targets, 0 indicates that the request has the default deadline. The default deadline depends on the scaling type of the service: 10 minutes for standard apps with automatic scaling, 24 hours for standard apps with manual and basic scaling, and 60 minutes for flex apps. If the request deadline is set, it must be in the interval [15 seconds, 24 hours 15 seconds]. * For Pub/Sub targets, this field is ignored.", "format": "google-duration", "type": "string" }, diff --git a/googleapiclient/discovery_cache/documents/cloudsearch.v1.json b/googleapiclient/discovery_cache/documents/cloudsearch.v1.json index 3d33b289e51..afcf1fd463c 100644 --- a/googleapiclient/discovery_cache/documents/cloudsearch.v1.json +++ b/googleapiclient/discovery_cache/documents/cloudsearch.v1.json @@ -1193,6 +1193,41 @@ "https://www.googleapis.com/auth/cloud_search.settings.indexing" ] }, + "patch": { + "description": "Updates a datasource. **Note:** This API requires an admin account to execute.", + "flatPath": "v1/settings/datasources/{datasourcesId}", + "httpMethod": "PATCH", + "id": "cloudsearch.settings.datasources.patch", + "parameterOrder": [ + "name" + ], + "parameters": { + "debugOptions.enableDebugging": { + "description": "If you are asked by Google to help with debugging, set this field. Otherwise, ignore this field.", + "location": "query", + "type": "boolean" + }, + "name": { + "description": "The name of the datasource resource. Format: datasources/{source_id}. The name is ignored when creating a datasource.", + "location": "path", + "pattern": "^datasources/[^/]+$", + "required": true, + "type": "string" + } + }, + "path": "v1/settings/{+name}", + "request": { + "$ref": "DataSource" + }, + "response": { + "$ref": "Operation" + }, + "scopes": [ + "https://www.googleapis.com/auth/cloud_search", + "https://www.googleapis.com/auth/cloud_search.settings", + "https://www.googleapis.com/auth/cloud_search.settings.indexing" + ] + }, "update": { "description": "Updates a datasource. **Note:** This API requires an admin account to execute.", "flatPath": "v1/settings/datasources/{datasourcesId}", @@ -1345,6 +1380,36 @@ "https://www.googleapis.com/auth/cloud_search.settings.query" ] }, + "patch": { + "description": "Updates a search application. **Note:** This API requires an admin account to execute.", + "flatPath": "v1/settings/searchapplications/{searchapplicationsId}", + "httpMethod": "PATCH", + "id": "cloudsearch.settings.searchapplications.patch", + "parameterOrder": [ + "name" + ], + "parameters": { + "name": { + "description": "The name of the Search Application. Format: searchapplications/{application_id}.", + "location": "path", + "pattern": "^searchapplications/[^/]+$", + "required": true, + "type": "string" + } + }, + "path": "v1/settings/{+name}", + "request": { + "$ref": "SearchApplication" + }, + "response": { + "$ref": "Operation" + }, + "scopes": [ + "https://www.googleapis.com/auth/cloud_search", + "https://www.googleapis.com/auth/cloud_search.settings", + "https://www.googleapis.com/auth/cloud_search.settings.query" + ] + }, "reset": { "description": "Resets a search application to default settings. This will return an empty response. **Note:** This API requires an admin account to execute.", "flatPath": "v1/settings/searchapplications/{searchapplicationsId}:reset", @@ -1994,9 +2059,45 @@ } } }, - "revision": "20220718", + "revision": "20220801", "rootUrl": "https://cloudsearch.googleapis.com/", "schemas": { + "AbuseReportingConfig": { + "description": "Abuse reporting configuration outlining what is supported in this conference.", + "id": "AbuseReportingConfig", + "properties": { + "recordingAllowed": { + "description": "Whether the current call may include video recordings in its abuse reports.", + "type": "boolean" + }, + "writtenUgcAllowed": { + "description": "Whether the current call may include user generated content (chat, polls, Q&A...) in its abuse reports.", + "type": "boolean" + } + }, + "type": "object" + }, + "AckInfo": { + "description": "Information about how devices in a meeting have acked for a session/operation.", + "id": "AckInfo", + "properties": { + "unackedDeviceCount": { + "description": "Output only. Number of meeting devices that have not acked yet.", + "format": "int32", + "readOnly": true, + "type": "integer" + }, + "unackedDeviceIds": { + "description": "Output only. IDs of meeting devices (at most ten are provided) that have not acked yet.", + "items": { + "type": "string" + }, + "readOnly": true, + "type": "array" + } + }, + "type": "object" + }, "AclInfo": { "description": "Next tag: 4", "id": "AclInfo", @@ -2034,9 +2135,209 @@ }, "type": "object" }, - "AppId": { + "ActionParameter": { + "description": "List of string parameters that developers can specify when the above action method (in apps script) is invoked. An example use case is for 3 snooze buttons: snooze now, snooze 1 day, snooze next week. Developers can have action method = snooze() and pass the snooze type and snooze time in list of string parameters.", + "id": "ActionParameter", + "properties": { + "key": { + "type": "string" + }, + "value": { + "type": "string" + } + }, + "type": "object" + }, + "AllAuthenticatedUsersProto": { + "description": "Represents a principal who has authenticated as any kind of user which the application understands. This is typically used for \"wiki-like\" security, where anyone is allowed access so long as they can be held accountable for that access. Since the purpose is knowing whom to blame, it is up to the application to decide what kinds of users it knows how to blame. For example, an application might choose to include GAIA users in \"all authenticated users\", but not include MDB users. Nothing here.", + "id": "AllAuthenticatedUsersProto", + "properties": {}, + "type": "object" + }, + "AppsDynamiteAnnotation": { + "description": "NOTE WHEN ADDING NEW PROTO FIELDS: Be sure to add datapol annotations to new fields with potential PII, so they get scrubbed when logging protos for errors. NEXT TAG: 29", + "id": "AppsDynamiteAnnotation", + "properties": { + "babelPlaceholderMetadata": { + "$ref": "AppsDynamiteBabelPlaceholderMetadata" + }, + "cardCapabilityMetadata": { + "$ref": "AppsDynamiteCardCapabilityMetadata", + "description": "LINT.ThenChange(//depot/google3/java/com/google/apps/dynamite/v1/backend/action/common/SystemMessageHelper.java)" + }, + "chipRenderType": { + "description": "Whether the annotation should be rendered as a chip. If this is missing or unspecified, fallback to should_not_render on the metadata.", + "enum": [ + "CHIP_RENDER_TYPE_UNSPECIFIED", + "RENDER", + "RENDER_IF_POSSIBLE", + "DO_NOT_RENDER" + ], + "enumDescriptions": [ + "", + "Clients must render the annotation as a chip, and if they cannot render this many Annotations, show a fallback card.", + "Client can render the annotation if it has room to render it.", + "Client should not render the annotation as a chip." + ], + "type": "string" + }, + "consentedAppUnfurlMetadata": { + "$ref": "AppsDynamiteConsentedAppUnfurlMetadata" + }, + "customEmojiMetadata": { + "$ref": "AppsDynamiteCustomEmojiMetadata" + }, + "dataLossPreventionMetadata": { + "$ref": "AppsDynamiteDataLossPreventionMetadata" + }, + "driveMetadata": { + "$ref": "AppsDynamiteDriveMetadata", + "description": "Chip annotations" + }, + "formatMetadata": { + "$ref": "AppsDynamiteFormatMetadata" + }, + "groupRetentionSettingsUpdated": { + "$ref": "AppsDynamiteGroupRetentionSettingsUpdatedMetaData" + }, + "gsuiteIntegrationMetadata": { + "$ref": "AppsDynamiteGsuiteIntegrationMetadata", + "description": "Metadata for 1P integrations like tasks, calendar. These are supported only through integration server as 1P integrations use the integration API (which in turn uses backend API with special permissions) to post messages. Clients should never set this. LINT.IfChange" + }, + "incomingWebhookChangedMetadata": { + "$ref": "AppsDynamiteIncomingWebhookChangedMetadata" + }, + "integrationConfigUpdated": { + "$ref": "AppsDynamiteIntegrationConfigUpdatedMetadata", + "description": "LINT.ThenChange(//depot/google3/java/com/google/apps/dynamite/v1/backend/action/common/SystemMessageHelper.java)" + }, + "length": { + "description": "Length of the text_body substring beginning from start_index the Annotation corresponds to.", + "format": "int32", + "type": "integer" + }, + "localId": { + "description": "A unique client-assigned ID for this annotation. This is helpful in matching the back-filled annotations to the original annotations on client side, without having to re-parse the message.", + "type": "string" + }, + "membershipChanged": { + "$ref": "AppsDynamiteMembershipChangedMetadata", + "description": "Metadata for system messages. Clients should never set this. LINT.IfChange" + }, + "readReceiptsSettingsMetadata": { + "$ref": "AppsDynamiteReadReceiptsSettingsUpdatedMetadata" + }, + "requiredMessageFeaturesMetadata": { + "$ref": "AppsDynamiteRequiredMessageFeaturesMetadata", + "description": "Metadata that defines all of the required features that must be rendered in the message. Clients can use this to see whether they support the entire message, or show a fallback chip otherwise. See go/message-quoting-client-to-server for details. LINT.ThenChange( //depot/google3/java/com/google/apps/dynamite/v1/allshared/parser/AnnotationSanitizer.java, //depot/google3/java/com/google/apps/dynamite/v1/backend/action/common/SystemMessageHelper.java, //depot/google3/java/com/google/caribou/eli/mediation/chat/AnnotationTranslator.java )" + }, + "roomUpdated": { + "$ref": "AppsDynamiteRoomUpdatedMetadata" + }, + "serverInvalidated": { + "description": "Whether or not the annotation is invalidated by the server. Example of situations for invalidation include: when the URL is malformed, or when Drive item ID is rejected by Drive Service.", + "type": "boolean" + }, + "slashCommandMetadata": { + "$ref": "AppsDynamiteSlashCommandMetadata" + }, + "startIndex": { + "description": "Start index (0-indexed) of the Message text the Annotation corresponds to, inclusive.", + "format": "int32", + "type": "integer" + }, + "type": { + "description": "Type of the Annotation.", + "enum": [ + "TYPE_UNSPECIFIED", + "URL", + "DRIVE_FILE", + "DRIVE_DOC", + "DRIVE_SHEET", + "DRIVE_SLIDE", + "DRIVE_FORM", + "USER_MENTION", + "SLASH_COMMAND", + "CONSENTED_APP_UNFURL", + "VIDEO", + "FORMAT_DATA", + "IMAGE", + "PDF", + "VIDEO_CALL", + "UPLOAD_METADATA", + "GSUITE_INTEGRATION", + "CUSTOM_EMOJI", + "CARD_CAPABILITY", + "DATA_LOSS_PREVENTION", + "REQUIRED_MESSAGE_FEATURES_METADATA", + "MEMBERSHIP_CHANGED", + "ROOM_UPDATED", + "GROUP_RETENTION_SETTINGS_UPDATED", + "BABEL_PLACEHOLDER", + "READ_RECEIPTS_SETTINGS_UPDATED", + "INCOMING_WEBHOOK_CHANGED", + "INTEGRATION_CONFIG_UPDATED", + "INVITATION" + ], + "enumDescriptions": [ + "Default value for the enum. DO NOT USE.", + "These can have overlaps, i.e. same message can have multiple of these. For example a Drive link to a PDF can have URL, DRIVE_FILE and PDF all set Links", + "Any drive file", + "", + "", + "", + "", + "", + "", + "", + "Any video, not just youtube, the url decides how to play", + "UI should not be concerned with FORMAT_DATA", + "", + "", + "For Thor integration", + "Blobstore uploads", + "Generic annotation for gsuite integrations", + "", + "Card capability for in-stream widgets.", + "", + "Clients can use this to see whether they support the entire message, or show a fallback chip otherwise.", + "Annotation types for system messages. Clients should never set this.", + "", + "", + "", + "", + "", + "", + "Message-level annotations. First message of an invite. Should not be set by clients." + ], + "type": "string" + }, + "uniqueId": { + "description": "A unique server-assigned ID for this annotation. This is helpful in matching annotation objects when fetched from service.", + "type": "string" + }, + "uploadMetadata": { + "$ref": "AppsDynamiteUploadMetadata" + }, + "urlMetadata": { + "$ref": "AppsDynamiteUrlMetadata" + }, + "userMentionMetadata": { + "$ref": "AppsDynamiteUserMentionMetadata", + "description": "Metadata that clients can set for annotations. LINT.IfChange In-text annotations" + }, + "videoCallMetadata": { + "$ref": "AppsDynamiteVideoCallMetadata" + }, + "youtubeMetadata": { + "$ref": "AppsDynamiteYoutubeMetadata" + } + }, + "type": "object" + }, + "AppsDynamiteAppId": { "description": "Identifier of an App.", - "id": "AppId", + "id": "AppsDynamiteAppId", "properties": { "appType": { "description": "Enum indicating the type of App this is.", @@ -2092,1305 +2393,8768 @@ }, "type": "object" }, - "AuditLoggingSettings": { - "description": "Represents the settings for Cloud audit logging", - "id": "AuditLoggingSettings", + "AppsDynamiteAttachment": { + "description": "Attachments that follow the message text.", + "id": "AppsDynamiteAttachment", "properties": { - "logAdminReadActions": { - "description": "Indicates whether audit logging is on/off for admin activity read APIs i.e. Get/List DataSources, Get/List SearchApplications etc.", - "type": "boolean" - }, - "logDataReadActions": { - "description": "Indicates whether audit logging is on/off for data access read APIs i.e. ListItems, GetItem etc.", - "type": "boolean" + "addOnData": { + "$ref": "GoogleChatV1ContextualAddOnMarkup", + "description": "Revised version of Gmail AddOn attachment approved by API design review." }, - "logDataWriteActions": { - "description": "Indicates whether audit logging is on/off for data access write APIs i.e. IndexItem etc.", - "type": "boolean" + "appId": { + "$ref": "AppsDynamiteUserId", + "description": "The userId for the bot/app that created this data, to be used for attribution of attachments when the attachment was not created by the message sender." }, - "project": { - "description": "The resource name of the GCP Project to store audit logs. Cloud audit logging will be enabled after project_name has been updated through CustomerService. Format: projects/{project_id}", + "attachmentId": { + "description": "To identify an attachment within repeated in a message", "type": "string" + }, + "cardAddOnData": { + "$ref": "AppsDynamiteSharedCard", + "description": "Card AddOn attachment with the possibility for specifying editable widgets." + }, + "deprecatedAddOnData": { + "$ref": "ContextualAddOnMarkup", + "description": "Deprecated version of Gmail AddOn attachment." + }, + "slackData": { + "$ref": "AppsDynamiteV1ApiCompatV1Attachment", + "description": "Slack attachment." + }, + "slackDataImageUrlHeight": { + "description": "The height of image url as fetched by fife. This field is asynchronously filled.", + "format": "int32", + "type": "integer" } }, "type": "object" }, - "AvatarInfo": { - "id": "AvatarInfo", + "AppsDynamiteBabelMessageProps": { + "description": "Container for Babel (Hangouts Classic) only message properties. The properties here will not be consumed by Dynamite clients. They are relevant only for Hangouts Classic.", + "id": "AppsDynamiteBabelMessageProps", "properties": { - "emoji": { - "$ref": "Emoji" + "clientGeneratedId": { + "description": "Babel clients locally generate this ID to dedupe against the async fanout.", + "format": "int64", + "type": "string" + }, + "contentExtension": { + "$ref": "ChatContentExtension", + "description": "Stores additional Babel-specific properties (such as event metadata)." + }, + "deliveryMedium": { + "$ref": "DeliveryMedium", + "description": "Stores the delivery source of messages (such as phone number for SMS)." + }, + "eventId": { + "description": "Primary identifier used by Hangouts Classic for its events (messages).", + "type": "string" + }, + "messageContent": { + "$ref": "MessageContent", + "description": "Stores message segments (text content) and attachments (media URLs)." + }, + "wasUpdatedByBackfill": { + "description": "Whether or not these message properties were backfilled by go/dinnertrain.", + "type": "boolean" } }, "type": "object" }, - "BooleanOperatorOptions": { - "description": "Used to provide a search operator for boolean properties. This is optional. Search operators let users restrict the query to specific fields relevant to the type of item being searched.", - "id": "BooleanOperatorOptions", + "AppsDynamiteBabelPlaceholderMetadata": { + "description": "Annotation metadata for Babel-only items that signals which type of placeholder message should be displayed in Babel clients.", + "id": "AppsDynamiteBabelPlaceholderMetadata", "properties": { - "operatorName": { - "description": "Indicates the operator name required in the query in order to isolate the boolean property. For example, if operatorName is *closed* and the property's name is *isClosed*, then queries like *closed:* show results only where the value of the property named *isClosed* matches **. By contrast, a search that uses the same ** without an operator returns all items where ** matches the value of any String properties or text within the content field for the item. The operator name can only contain lowercase letters (a-z). The maximum length is 32 characters.", - "type": "string" + "deleteMetadata": { + "$ref": "AppsDynamiteBabelPlaceholderMetadataDeleteMetadata" + }, + "editMetadata": { + "$ref": "AppsDynamiteBabelPlaceholderMetadataEditMetadata" + }, + "hangoutVideoMetadata": { + "$ref": "AppsDynamiteBabelPlaceholderMetadataHangoutVideoEventMetadata" } }, "type": "object" }, - "BooleanPropertyOptions": { - "description": "The options for boolean properties.", - "id": "BooleanPropertyOptions", - "properties": { - "operatorOptions": { - "$ref": "BooleanOperatorOptions", - "description": "If set, describes how the boolean should be used as a search operator." - } - }, + "AppsDynamiteBabelPlaceholderMetadataDeleteMetadata": { + "description": "A message delete in Dynamite inserts a Babel-only item containing this field. This is only inserted for messages before the source-of-truth flip. See go/hsc-message-deletions for more details.", + "id": "AppsDynamiteBabelPlaceholderMetadataDeleteMetadata", + "properties": {}, "type": "object" }, - "CheckAccessResponse": { - "id": "CheckAccessResponse", + "AppsDynamiteBabelPlaceholderMetadataEditMetadata": { + "description": "A message edit in Dynamite inserts a Babel-only item containing this field.", + "id": "AppsDynamiteBabelPlaceholderMetadataEditMetadata", + "properties": {}, + "type": "object" + }, + "AppsDynamiteBabelPlaceholderMetadataHangoutVideoEventMetadata": { + "description": "A message representing the Hangout video start/end events in Babel", + "id": "AppsDynamiteBabelPlaceholderMetadataHangoutVideoEventMetadata", "properties": { - "hasAccess": { - "description": "Returns true if principal has access. Returns false otherwise.", - "type": "boolean" + "hangoutVideoType": { + "enum": [ + "UNKNOWN_HANGOUT_VIDEO_EVENT_TYPE", + "VIDEO_START", + "VIDEO_END" + ], + "enumDescriptions": [ + "", + "", + "" + ], + "type": "string" } }, "type": "object" }, - "CompositeFilter": { - "id": "CompositeFilter", + "AppsDynamiteBackendDlpScanSummary": { + "description": "A summary of a DLP scan event. This is a summary and should contain the minimum amount of data required to identify and process DLP scans. It is written to Starcast and encoded & returned to the client on attachment upload.", + "id": "AppsDynamiteBackendDlpScanSummary", "properties": { - "logicOperator": { - "description": "The logic operator of the sub filter.", + "scanId": { + "description": "The scan ID of the corresponding {@link DlpViolationScanRecord} in the {@link EphemeralDlpScans} Spanner table. This can be used to fetch additional details about the scan, e.g. for audit logging.", + "type": "string" + }, + "scanNotApplicableForContext": { + "description": "Indicates that was no attempt to scan a message or attachment because it was not applicable in the given context (e.g. atomic mutuate). If this is true, scan_outcome should not be set. This flag is used to identify messages that DLP did not attempt to scan for monitoring scan coverage. Contents that DLP attempted to scan but skipped can be identified by DlpScanOutcome.SCAN_SKIPPED_* reasons.", + "type": "boolean" + }, + "scanOutcome": { + "description": "The outcome of a DLP Scan. If this is set, scan_not_applicable_for_context should not be true.", "enum": [ - "AND", - "OR", - "NOT" + "SCAN_UNKNOWN_OUTCOME", + "SCAN_SUCCEEDED_NO_VIOLATION", + "SCAN_SUCCEEDED_BLOCK", + "SCAN_SUCCEEDED_WARN", + "SCAN_SUCCEEDED_AUDIT_ONLY", + "SCAN_FAILURE_EXCEPTION", + "SCAN_FAILURE_TIMEOUT", + "SCAN_FAILURE_ALL_RULES_FAILED", + "SCAN_FAILURE_ILLEGAL_STATE_FOR_ATTACHMENTS", + "SCAN_SKIPPED_EXPERIMENT_DISABLED", + "SCAN_SKIPPED_CONSUMER", + "SCAN_SKIPPED_NON_HUMAN_USER", + "SCAN_SKIPPED_NO_MESSAGE", + "SCAN_SKIPPED_USER_ACKNOWLEDGED_WARNING", + "SCAN_SKIPPED_MESSAGE_FROM_UNSUPPORTED_ORIGIN", + "SCAN_RULE_EVALUATION_SKIPPED_NO_RULES_FOUND", + "SCAN_RULE_EVALUATION_SKIPPED_NO_APPLICABLE_RULES_FOR_ACTION_PARAMS", + "SCAN_RULE_EVALUATION_SKIPPED_NO_APPLICABLE_RULES_FOR_TRIGGER", + "SCAN_RULE_EVALUATION_SKIPPED_CHANGELING_PERMANENT_ERROR", + "SCAN_RULE_EVALUATION_SKIPPED_CHANGELING_EMPTY_RESPONSE", + "SCAN_SUCCEEDED_WITH_FAILURES_NO_VIOLATION", + "SCAN_SUCCEEDED_WITH_FAILURES_BLOCK", + "SCAN_SUCCEEDED_WITH_FAILURES_WARN", + "SCAN_SUCCEEDED_WITH_FAILURES_AUDIT_ONLY" ], "enumDescriptions": [ - "Logical operators, which can only be applied to sub filters.", "", - "NOT can only be applied on a single sub filter." + "This means no violation is detected on the given message/attachment.", + "Violation is detected. The message/attachment will be blocked (or deleted if this happens in failure recovery), the user will be warned, and the violation will be logged to BIP.", + "Violation is detected. The user will be warned, and the violation will be logged to BIP.", + "Violation is detected and will be logged to BIP (no user-facing action performed).", + "Rule fetch and evaluation were attempted but an exception occurred.", + "Rule fetch and evaluation were attempted but the scanning timed out.", + "Rule fetch completed and evaluation were attempted, but all of the rules failed to be evaluated.", + "An IllegalStateException is thrown when executing DLP on attachments. This could happen if the space row is missing.", + "Rule fetch and evaluation is skipped because DLP is not enabled for the user.", + "Rule fetch and evaluation are skipped because the user sending message is consumer.", + "Rule fetch and evaluation are skipped because the user sending message is a non-human user (i.e. a bot).", + "Rule fetch and evaluation are skipped because there is no message to scan. Deprecated: this should not happen since there must be message or attachment for DLP scan.", + "Rule fetch and evaluation are skipped because the user has acknowledged the warning on the message that triggered the Warn violation and sent the message anyway.", + "Scanning was skipped because the message originated from Interop or Babel.", + "Rule fetch happened, but rule evaluation is skipped because no rules were found.", + "Rule fetch happened, but rule evaluation is skipped because none of the rules are applicable to the given action params.", + "Rule fetch happened, but rule evaluation is skipped because none of the rules are applicable to the given trigger.", + "Rule fetch happened, but rule evaluation is skipped because Changeling returned permanent failure while converting the attachment to text.", + "Rule fetch happened, but rule evaluation is skipped because Changeling returned an empty response while converting the attachment to text.", + "Rules were fetched but some evaluations failed. No violation was found in the rules that were successfully evaluated.", + "Rules were fetched but some evaluations failed. A blocking violation was found in the rules that were successfully evaluated. The message/attachment will be blocked, the user will be notified, and the violation will be logged to BIP. A blocking violation takes precedence over all other violation types.", + "Rules were fetched but some evaluations failed. A warn violation was found in the rules that were successfully evaluated. The user will be warned, and the violation will be logged to BIP.", + "Rules were fetched but some evaluations failed. An audit-only violation was found in the rules that were successfully evaluated. The violation will be logged to BIP (no user-facing action performed)." ], "type": "string" - }, - "subFilters": { - "description": "Sub filters.", - "items": { - "$ref": "Filter" - }, - "type": "array" } }, "type": "object" }, - "ContextAttribute": { - "description": "A named attribute associated with an item which can be used for influencing the ranking of the item based on the context in the request.", - "id": "ContextAttribute", + "AppsDynamiteBackendLabelsCommunalLabelTag": { + "description": "An individual instance (or \"tag\") of a label configured as a communal type that's associated with a message.", + "id": "AppsDynamiteBackendLabelsCommunalLabelTag", "properties": { - "name": { - "description": "The name of the attribute. It should not be empty. The maximum length is 32 characters. The name must start with a letter and can only contain letters (A-Z, a-z) or numbers (0-9). The name will be normalized (lower-cased) before being matched.", - "type": "string" + "creatorUserId": { + "description": "Gaia ID of the user who added the tag, if any. Not present for any tags automatically created by server-side processing.", + "format": "int64", + "type": "string" }, - "values": { - "description": "Text values of the attribute. The maximum number of elements is 10. The maximum length of an element in the array is 32 characters. The value will be normalized (lower-cased) before being matched.", - "items": { - "type": "string" - }, - "type": "array" + "labelId": { + "description": "A string ID representing the label. Possible ID values are documented at go/chat-labels-howto:ids. Example: \"^*t_p\" for \"Pinned\".", + "type": "string" } }, "type": "object" }, - "CustomEmoji": { - "description": "Proto representation of a custom emoji. May be used in both APIs and in Spanner, but certain fields should be restricted to one or the other. See the per-field documentation for details. NEXT_TAG: 14", - "id": "CustomEmoji", + "AppsDynamiteBackendLabelsPersonalLabelTag": { + "description": "An individual instance (or \"tag\") of a label configured as a personal type that's associated with a message.", + "id": "AppsDynamiteBackendLabelsPersonalLabelTag", "properties": { - "blobId": { - "description": "ID for the underlying image data in Blobstore. This field should *only* be present in Spanner or within the server, but should not be exposed in public APIs.", - "type": "string" - }, - "contentType": { - "description": "Content type of the file used to upload the emoji. Used for takeout. Written to Spanner when the emoji is created.", - "type": "string" - }, - "createTimeMicros": { - "description": "Time when the Emoji was created, in microseconds. This field may be present in Spanner, within the server, or in public APIs.", - "format": "int64", - "type": "string" - }, - "creatorUserId": { - "$ref": "UserId", - "description": "This field should *never* be persisted to Spanner." - }, - "deleteTimeMicros": { - "description": "Time when the emoji was deleted, in microseconds. This field may be present in Spanner, within the server, or in public APIs. Only present if the emoji has been deleted.", - "format": "int64", - "type": "string" - }, - "ephemeralUrl": { - "description": "Output only. A short-lived URL clients can use for directly accessing a custom emoji image. This field is intended for API consumption, and should *never* be persisted to Spanner.", - "readOnly": true, - "type": "string" - }, - "ownerCustomerId": { - "$ref": "CustomerId", - "description": "This field should *never* be persisted to Spanner." - }, - "readToken": { - "description": "Opaque token that clients use to construct the URL for accessing the custom emoji\u2019s image data. This field is intended for API consumption, and should *never* be persisted to Spanner.", - "type": "string" - }, - "shortcode": { - "description": "User-provided, human-readable ID for the custom emoji. Users are expected to observe this field in the UI instead of the UUID. This shortcode should be unique within an organization, but has no global uniqueness guarantees, unlike the UUID. This field should *never* be persisted to Spanner.", + "labelId": { + "description": "A string ID representing the label. Possible ID values are documented at go/chat-labels-howto:ids. Examples: \"^t\" for \"Starred\", \"^nu\" for \"Nudged\".", "type": "string" + } + }, + "type": "object" + }, + "AppsDynamiteBotResponse": { + "description": "Information about a bot response, branched from shared/bot_response.proto without frontend User proto as we never store it.", + "id": "AppsDynamiteBotResponse", + "properties": { + "botId": { + "$ref": "AppsDynamiteUserId" }, - "state": { - "description": "Snapshot of the current state of the emoji, which may differ from the source-of-truth in the CustomEmojis table. This field should *never* be persisted to Spanner.", + "requiredAction": { "enum": [ - "EMOJI_STATE_UNSPECIFIED", - "EMOJI_ENABLED", - "EMOJI_SYSTEM_DISABLED", - "EMOJI_HIDDEN", - "EMOJI_DELETED" + "UNKNOWN_SETUP_TYPE", + "CONFIGURATION", + "AUTHENTICATION" ], "enumDescriptions": [ "", - "Emoji is visible and available to be used, subject to access control requirements.", - "Emoji can no longer be used (e.g. due to a shortcode conflict), but is not removed from existing embeddings.", - "Emoji is hidden from pickers, so new usages are not allowed, but is not removed from existing embeddings.", - "Emoji is removed everywhere and is not available to end-users." + "Bot requires configuration.", + "Bot requires authentication." ], "type": "string" }, - "updateTimeMicros": { - "format": "int64", + "responseType": { + "enum": [ + "UNKNOWN_RESPONSE_TYPE", + "ERROR", + "SETUP_REQUIRED", + "DISABLED_BY_ADMIN", + "DISABLED_BY_DEVELOPER", + "PRIVATE" + ], + "enumDescriptions": [ + "", + "Bot fails to respond because of deadline_exceeded or failing to parse bot message.", + "Bot requires auth or config", + "Bot fails to respond because it is disabled by domain admin", + "Bot fails to respond because it is disabled by the bot's developer", + "Message to bot should be permanently private." + ], "type": "string" }, - "uuid": { - "description": "Unique key for a custom emoji resource. Required. This field is *always* populated.", + "setupUrl": { + "description": "URL for setting up bot.", "type": "string" } }, "type": "object" }, - "CustomerId": { - "description": "Represents a GSuite customer ID. Obfuscated with CustomerIdObfuscator.", - "id": "CustomerId", + "AppsDynamiteCardCapabilityMetadata": { + "id": "AppsDynamiteCardCapabilityMetadata", "properties": { - "customerId": { - "type": "string" + "requiredCapabilities": { + "description": "NEXT TAG : 2", + "items": { + "enum": [ + "UNKNOWN", + "SUPPORTS_BASE_CARDS" + ], + "enumDescriptions": [ + "", + "NEXT TAG : 2" + ], + "type": "string" + }, + "type": "array" } }, "type": "object" }, - "CustomerIndexStats": { - "description": "Aggregation of items by status code as of the specified date.", - "id": "CustomerIndexStats", + "AppsDynamiteConsentedAppUnfurlMetadata": { + "description": "Annotation metadata app unfurl consent.", + "id": "AppsDynamiteConsentedAppUnfurlMetadata", "properties": { - "date": { - "$ref": "Date", - "description": "The date for which statistics were calculated." - }, - "itemCountByStatus": { - "description": "Number of items aggregrated by status code.", - "items": { - "$ref": "ItemCountByStatus" - }, - "type": "array" + "clientSpecifiedAppId": { + "$ref": "AppsDynamiteUserId", + "description": "Client specified AppId, which will not be sanitized and is untrusted." } }, "type": "object" }, - "CustomerQueryStats": { - "id": "CustomerQueryStats", + "AppsDynamiteContentReport": { + "id": "AppsDynamiteContentReport", "properties": { - "date": { - "$ref": "Date", - "description": "The date for which query stats were calculated. Stats calculated on the next day close to midnight are returned." + "reportCreateTimestamp": { + "description": "The time at which the report is generated. Always populated when it is in a response.", + "format": "google-datetime", + "type": "string" }, - "queryCountByStatus": { - "items": { - "$ref": "QueryCountByStatus" - }, - "type": "array" + "reportJustification": { + "$ref": "AppsDynamiteContentReportJustification", + "description": "Additional user-provided justification on the report. Optional." + }, + "reportType": { + "$ref": "AppsDynamiteSharedContentReportType", + "description": "Type of the report. Always populated when it is in a response." + }, + "reporterUserId": { + "$ref": "AppsDynamiteUserId", + "description": "User ID of the reporter. Always populated when it is in a response." + }, + "revisionCreateTimestamp": { + "description": "Create timestamp of the revisions of the message when it's reported. Always populated when it is in a response.", + "format": "google-datetime", + "type": "string" } }, "type": "object" }, - "CustomerSearchApplicationStats": { - "description": "Search application stats for a customer for the given date.", - "id": "CustomerSearchApplicationStats", + "AppsDynamiteContentReportJustification": { + "id": "AppsDynamiteContentReportJustification", "properties": { - "count": { - "description": "The count of search applications for the date.", - "format": "int64", + "userJustification": { + "description": "Optional. User-generated free-text justification for the content report.", "type": "string" - }, - "date": { - "$ref": "Date", - "description": "The date for which search application stats were calculated." } }, "type": "object" }, - "CustomerSessionStats": { - "id": "CustomerSessionStats", + "AppsDynamiteCustomEmojiMetadata": { + "id": "AppsDynamiteCustomEmojiMetadata", "properties": { - "date": { - "$ref": "Date", - "description": "The date for which session stats were calculated. Stats are calculated on the following day, close to midnight PST, and then returned." - }, - "searchSessionsCount": { - "description": "The count of search sessions on the day", - "format": "int64", + "customEmoji": { + "$ref": "AppsDynamiteSharedCustomEmoji" + } + }, + "type": "object" + }, + "AppsDynamiteCustomerId": { + "description": "Represents a GSuite customer ID. Obfuscated with CustomerIdObfuscator.", + "id": "AppsDynamiteCustomerId", + "properties": { + "customerId": { "type": "string" } }, "type": "object" }, - "CustomerSettings": { - "description": "Represents settings at a customer level.", - "id": "CustomerSettings", + "AppsDynamiteDataLossPreventionMetadata": { + "description": "Annotation metadata for Data Loss Prevention that pertains to DLP violation on message send or edit events. It is used for client -> BE communication and other downstream process in BE (e.g. storage and audit logging), and it should never be returned to the client.", + "id": "AppsDynamiteDataLossPreventionMetadata", "properties": { - "auditLoggingSettings": { - "$ref": "AuditLoggingSettings", - "description": "Audit Logging settings for the customer. If update_mask is empty then this field will be updated based on UpdateCustomerSettings request." + "dlpScanSummary": { + "$ref": "AppsDynamiteBackendDlpScanSummary", + "description": "The DLP scan summary that should only be set after the message is scanned in the Chat backend." }, - "vpcSettings": { - "$ref": "VPCSettings", - "description": "VPC SC settings for the customer. If update_mask is empty then this field will be updated based on UpdateCustomerSettings request." + "warnAcknowledged": { + "description": "Flag set by client on message resend to bypass WARN violation.", + "type": "boolean" } }, "type": "object" }, - "CustomerUserStats": { - "id": "CustomerUserStats", + "AppsDynamiteDmId": { + "id": "AppsDynamiteDmId", "properties": { - "date": { - "$ref": "Date", - "description": "The date for which session stats were calculated. Stats calculated on the next day close to midnight are returned." - }, - "oneDayActiveUsersCount": { - "description": "The count of unique active users in the past one day", - "format": "int64", - "type": "string" - }, - "sevenDaysActiveUsersCount": { - "description": "The count of unique active users in the past seven days", - "format": "int64", - "type": "string" - }, - "thirtyDaysActiveUsersCount": { - "description": "The count of unique active users in the past thirty days", - "format": "int64", + "dmId": { + "description": "Unique server assigned Id, per Direct Message Space.", "type": "string" } }, "type": "object" }, - "DataSource": { - "description": "Datasource is a logical namespace for items to be indexed. All items must belong to a datasource. This is the prerequisite before items can be indexed into Cloud Search.", - "id": "DataSource", + "AppsDynamiteDriveMetadata": { + "description": "Annotation metadata for Drive artifacts.", + "id": "AppsDynamiteDriveMetadata", "properties": { - "disableModifications": { - "description": "If true, sets the datasource to read-only mode. In read-only mode, the Indexing API rejects any requests to index or delete items in this source. Enabling read-only mode does not stop the processing of previously accepted data.", + "aclFixRequest": { + "$ref": "AppsDynamiteDriveMetadataAclFixRequest" + }, + "aclFixStatus": { + "$ref": "AppsDynamiteDriveMetadataAclFixStatus" + }, + "canEdit": { + "description": "Can the current user edit this resource", "type": "boolean" }, - "disableServing": { - "description": "Disable serving any search or assist results.", + "canShare": { + "description": "Can the current user share this resource", "type": "boolean" }, - "displayName": { - "description": "Required. Display name of the datasource The maximum length is 300 characters.", + "canView": { + "description": "Can the current user view this resource", + "type": "boolean" + }, + "driveAction": { + "description": "DriveAction for organizing this file in Drive. If the user does not have access to the Drive file, the value will be DriveAction.DRIVE_ACTION_UNSPECIFIED. This field is only set when part of a FileResult in a ListFilesResponse.", + "enum": [ + "DRIVE_ACTION_UNSPECIFIED", + "ADD_TO_DRIVE", + "ORGANIZE", + "ADD_SHORTCUT", + "ADD_ANOTHER_SHORTCUT" + ], + "enumDescriptions": [ + "No organize action should be shown.", + "Show \"Add to Drive\" button, for adding file that doesn't exist in Drive to Drive. Note that deleted Drive files that still exist (i.e. in your Trash) will still be ORGANIZE (this is consistent with Gmail Drive attachments).", + "Show \"Move\" button, for organizing a Drive file the user has permission to move.", + "Show \"Add shortcut\" button, for adding a shortcut to a Drive file the user does not have permission to move.", + "Show \"Add another shortcut\" button, for Drive files the user has already created a shortcut to." + ], "type": "string" }, - "indexingServiceAccounts": { - "description": "List of service accounts that have indexing access.", - "items": { - "type": "string" - }, - "type": "array" + "driveState": { + "enum": [ + "DRIVE_STATE_UNSPECIFIED", + "IN_MY_DRIVE", + "IN_TEAM_DRIVE", + "SHARED_IN_DRIVE", + "NOT_IN_DRIVE" + ], + "enumDescriptions": [ + "Default value", + "File in My Drive", + "File in Team Drive", + "File in someone else's Drive, but is shared with the current user", + "File not in drive" + ], + "type": "string" }, - "itemsVisibility": { - "description": "This field restricts visibility to items at the datasource level. Items within the datasource are restricted to the union of users and groups included in this field. Note that, this does not ensure access to a specific item, as users need to have ACL permissions on the contained items. This ensures a high level access on the entire datasource, and that the individual items are not shared outside this visibility.", - "items": { - "$ref": "GSuitePrincipal" - }, - "type": "array" + "embedUrl": { + "$ref": "TrustedResourceUrlProto", + "description": "Output only. Trusted Resource URL for drive file embedding.", + "readOnly": true }, - "name": { - "description": "The name of the datasource resource. Format: datasources/{source_id}. The name is ignored when creating a datasource.", + "encryptedDocId": { + "description": "Indicates whether the Drive link contains an encrypted doc ID. If true, Dynamite should not attempt to query the doc ID in Drive Service. See go/docid-encryption for details.", + "type": "boolean" + }, + "encryptedResourceKey": { + "description": "This is deprecated and unneeded. TODO (b/182479059): Remove this.", "type": "string" }, - "operationIds": { - "description": "IDs of the Long Running Operations (LROs) currently running for this schema.", - "items": { - "type": "string" - }, - "type": "array" + "externalMimetype": { + "description": "External mimetype of the Drive Resource (Useful for creating Drive URL) See: http://b/35219462", + "type": "string" }, - "returnThumbnailUrls": { - "description": "Can a user request to get thumbnail URI for Items indexed in this data source.", + "id": { + "description": "Drive resource ID of the artifact.", + "type": "string" + }, + "isDownloadRestricted": { + "description": "Deprecated. Whether the setting to restrict downloads is enabled for this file. This was previously used to determine whether to hide the download and print buttons in the UI, but is no longer used by clients, because Projector now independently queries Drive to ensure that we have the most up-to-date value.", "type": "boolean" }, - "shortName": { - "description": "A short name or alias for the source. This value will be used to match the 'source' operator. For example, if the short name is ** then queries like *source:* will only return results for this source. The value must be unique across all datasources. The value must only contain alphanumeric characters (a-zA-Z0-9). The value cannot start with 'google' and cannot be one of the following: mail, gmail, docs, drive, groups, sites, calendar, hangouts, gplus, keep, people, teams. Its maximum length is 32 characters.", + "isOwner": { + "description": "If the current user is the Drive file's owner. The field is currently only set for Annotations for the ListFiles action (as opposed to fetching Topics/Messages with Drive annotations).", + "type": "boolean" + }, + "legacyUploadMetadata": { + "$ref": "AppsDynamiteDriveMetadataLegacyUploadMetadata", + "description": "Only present if this DriveMetadata is converted from an UploadMetadata." + }, + "mimetype": { + "description": "Mimetype of the Drive Resource", + "type": "string" + }, + "organizationDisplayName": { + "description": "The display name of the organization owning the Drive item.", + "type": "string" + }, + "shortcutAuthorizedItemId": { + "$ref": "AuthorizedItemId", + "description": "Shortcut ID of this drive file in the shared drive, which is associated with a named room this file was shared in. Shortcuts will not be created for DMs or unnamed rooms. This is populated after the DriveMetadata is migrated to shared drive. go/chat-shared-drive-uploads." + }, + "shouldNotRender": { + "description": "If this field is set to true, server should still contact external backends to get metadata for search but clients should not render this chip.", + "type": "boolean" + }, + "thumbnailHeight": { + "description": "Thumbnail image of the Drive Resource", + "format": "int32", + "type": "integer" + }, + "thumbnailUrl": { + "description": "Thumbnail image of the Drive Resource", + "type": "string" + }, + "thumbnailWidth": { + "description": "Thumbnail image of the Drive Resource", + "format": "int32", + "type": "integer" + }, + "title": { + "description": "Title of the Drive Resource", + "type": "string" + }, + "urlFragment": { + "description": "Url string fragment that generally indicates the specific location in the linked file. Example: #header=h.123abc456. If the fragment is not present this will not be present and therefore default to an empty string. The \"#\" will not be included.", "type": "string" + }, + "wrappedResourceKey": { + "$ref": "WrappedResourceKey", + "description": "This is considered SPII and should not be logged." } }, "type": "object" }, - "DataSourceIndexStats": { - "description": "Aggregation of items by status code as of the specified date.", - "id": "DataSourceIndexStats", + "AppsDynamiteDriveMetadataAclFixRequest": { + "description": "The request set by clients to instruct Backend how the user intend to fix the ACL. Technically it's not a request to ACL Fixer, because Backend uses /DriveService.Share to modify Drive ACLs.", + "id": "AppsDynamiteDriveMetadataAclFixRequest", "properties": { - "date": { - "$ref": "Date", - "description": "The date for which index stats were calculated. If the date of request is not the current date then stats calculated on the next day are returned. Stats are calculated close to mid night in this case. If date of request is current date, then real time stats are returned." - }, - "itemCountByStatus": { - "description": "Number of items aggregrated by status code.", + "recipientEmails": { + "description": "For Spaces messages: This field is ignored. For DMs messages: The list of email addresses that should be added to the Drive item's ACL. In general, the list should not be empty when the boolean \"should_fix\" field is set; otherwise, the list should be empty. During transition - when clients do not specify this field but the \"should_fix\" is true, we follow the legacy behavior: share to all users in the DM regardless of emails. This behavior is being phased out.", "items": { - "$ref": "ItemCountByStatus" + "type": "string" }, "type": "array" + }, + "role": { + "enum": [ + "UNKNOWN", + "READER", + "COMMENTER", + "WRITER" + ], + "enumDescriptions": [ + "", + "", + "", + "" + ], + "type": "string" + }, + "shouldFix": { + "description": "Whether to attempt to fix the ACL by adding the room or DM members to the Drive file's ACL.", + "type": "boolean" } }, "type": "object" }, - "DataSourceRestriction": { - "description": "Restriction on Datasource.", - "id": "DataSourceRestriction", + "AppsDynamiteDriveMetadataAclFixStatus": { + "description": "The message reconstructed based on information in the response of /PermissionFixOptionsService.Query (or the Apiary API that wraps it). Indicates the ability of the requester to change the access to the Drive file for the room roster or the DM members. Used in GetMessagePreviewMetadataResponse only.", + "id": "AppsDynamiteDriveMetadataAclFixStatus", "properties": { - "filterOptions": { - "description": "Filter options restricting the results. If multiple filters are present, they are grouped by object type before joining. Filters with the same object type are joined conjunctively, then the resulting expressions are joined disjunctively. The maximum number of elements is 20. NOTE: Suggest API supports only few filters at the moment: \"objecttype\", \"type\" and \"mimetype\". For now, schema specific filters cannot be used to filter suggestions.", + "fixability": { + "enum": [ + "UNKNOWN", + "ALREADY_ACCESSIBLE", + "CAN_FIX", + "CANNOT_FIX", + "ACL_FIXER_ERROR" + ], + "enumDescriptions": [ + "", + "", + "", + "", + "" + ], + "type": "string" + }, + "fixableEmailAddress": { + "description": "List of recipient email addresses for which access can be granted. This field contains the same email addresses from the GetMessagePreviewMetadata request if all recipients can be successfully added to the ACL as determined by Drive ACL Fixer. For now, the field is non-empty if and only if the \"fixability\" value is \"CAN_FIX\".", "items": { - "$ref": "FilterOptions" + "type": "string" }, "type": "array" }, - "source": { - "$ref": "Source", - "description": "The source of restriction." + "outOfDomainWarningEmailAddress": { + "description": "List of recipient email addresses for which an out-of-domain-sharing warning must be shown, stating that these email addresses are not in the Google Apps organization that the requested item belong to. Empty if all recipients are in the same Google Apps organization.", + "items": { + "type": "string" + }, + "type": "array" } }, "type": "object" }, - "Date": { - "description": "Represents a whole calendar date, for example a date of birth. The time of day and time zone are either specified elsewhere or are not significant. The date is relative to the [Proleptic Gregorian Calendar](https://en.wikipedia.org/wiki/Proleptic_Gregorian_calendar). The date must be a valid calendar date between the year 1 and 9999.", - "id": "Date", + "AppsDynamiteDriveMetadataLegacyUploadMetadata": { + "description": "The original UploadMetadata that this DriveMetadata was converted from.", + "id": "AppsDynamiteDriveMetadataLegacyUploadMetadata", "properties": { - "day": { - "description": "Day of month. Must be from 1 to 31 and valid for the year and month.", - "format": "int32", - "type": "integer" + "legacyUniqueId": { + "description": "A unique ID generated from legacy UploadMetadata. This is used for interopping URLs after uploading blob to shared drive. Links in Classic might break without this. go/drive-file-attachment-interop-from-dynamite.", + "type": "string" }, - "month": { - "description": "Month of date. Must be from 1 to 12.", - "format": "int32", + "uploadMetadata": { + "$ref": "AppsDynamiteUploadMetadata", + "description": "The blob in this UploadMetadata has been uploaded to shared drive. This UploadMetadata is no longer attached to a message. go/shared-drive-data-migration." + } + }, + "type": "object" + }, + "AppsDynamiteFormatMetadata": { + "description": "Annotation metadata for markup formatting", + "id": "AppsDynamiteFormatMetadata", + "properties": { + "fontColor": { + "description": "Font color is set if and only if format_type is FONT_COLOR. The components are stored as (alpha << 24) | (red << 16) | (green << 8) | blue. Clients should always set the alpha component to 0xFF. NEXT TAG: 3", + "format": "uint32", "type": "integer" }, - "year": { - "description": "Year of date. Must be from 1 to 9999.", - "format": "int32", - "type": "integer" + "formatType": { + "description": "LINT.ThenChange(//depot/google3/apps/dynamite/v1/web/datakeys/annotated_span.proto)", + "enum": [ + "TYPE_UNSPECIFIED", + "BOLD", + "ITALIC", + "STRIKE", + "SOURCE_CODE", + "MONOSPACE", + "HIDDEN", + "MONOSPACE_BLOCK", + "UNDERLINE", + "FONT_COLOR", + "BULLETED_LIST", + "BULLETED_LIST_ITEM", + "CLIENT_HIDDEN" + ], + "enumDescriptions": [ + "Default value for the enum.", + "", + "", + "", + "", + "Inline monospace.", + "", + "Multi-line monospace block.", + "", + "", + "Encloses BULLETED_LIST_ITEM annotations.", + "Must cover the whole line including the newline", + "character at the end. Not used anymore." + ], + "type": "string" } }, "type": "object" }, - "DateOperatorOptions": { - "description": "Optional. Provides a search operator for date properties. Search operators let users restrict the query to specific fields relevant to the type of item being searched.", - "id": "DateOperatorOptions", + "AppsDynamiteFrontendBotInfo": { + "description": "Bot-specific profile information.", + "id": "AppsDynamiteFrontendBotInfo", "properties": { - "greaterThanOperatorName": { - "description": "Indicates the operator name required in the query in order to isolate the date property using the greater-than operator. For example, if greaterThanOperatorName is *closedafter* and the property's name is *closeDate*, then queries like *closedafter:* show results only where the value of the property named *closeDate* is later than **. The operator name can only contain lowercase letters (a-z). The maximum length is 32 characters.", + "appId": { + "$ref": "AppsDynamiteAppId", + "description": "Identifier of the application associated with the bot." + }, + "botAvatarUrl": { + "description": "URL for the avatar picture of the User in dynamite. This field should be populated if the request is FetchBotCategories/ListBotCatalogEntries", "type": "string" }, - "lessThanOperatorName": { - "description": "Indicates the operator name required in the query in order to isolate the date property using the less-than operator. For example, if lessThanOperatorName is *closedbefore* and the property's name is *closeDate*, then queries like *closedbefore:* show results only where the value of the property named *closeDate* is earlier than **. The operator name can only contain lowercase letters (a-z). The maximum length is 32 characters.", + "botName": { + "description": "Non-unique, user-defined display name of the Bot. This field should be populated if the request is FetchBotCategories/ListBotCatalogEntries.", "type": "string" }, - "operatorName": { - "description": "Indicates the actual string required in the query in order to isolate the date property. For example, suppose an issue tracking schema object has a property named *closeDate* that specifies an operator with an operatorName of *closedon*. For searches on that data, queries like *closedon:* show results only where the value of the *closeDate* property matches **. By contrast, a search that uses the same ** without an operator returns all items where ** matches the value of any String properties or text within the content field for the indexed datasource. The operator name can only contain lowercase letters (a-z). The maximum length is 32 characters.", + "description": { + "description": "Short description for the bot.", + "type": "string" + }, + "developerName": { + "description": "Name of bot developer.", + "type": "string" + }, + "marketPlaceBannerUrl": { + "description": "URL for the banner image in GSuite Market Place. The banner will be 220x140.", + "type": "string" + }, + "status": { + "description": "Indicates whether bot is enabled/disabled.", + "enum": [ + "UNKNOWN_STATUS", + "ENABLED", + "DISABLED_BY_DEVELOPER" + ], + "enumDescriptions": [ + "", + "", + "Bot has been disabled by the bot developer. No one can @mention or interact with the bot." + ], + "type": "string" + }, + "supportUrls": { + "$ref": "AppsDynamiteFrontendBotInfoSupportUrls", + "description": "Urls with additional information related to the bot. This field should always be set even if all the fields within it are empty, so that it is convenient for clients to work with this field in javascript." + }, + "supportedUses": { + "description": "The supported uses are limited according to the user that made the request. If the user does not have permission to use the bot, the list will be empty. This could occur for non whitelisted bots in the catalog.", + "items": { + "enum": [ + "UNKNOWN", + "CAN_ADD_TO_DM", + "CAN_ADD_TO_ROOM", + "CAN_ADD_TO_HUMAN_DM" + ], + "enumDescriptions": [ + "", + "", + "", + "" + ], + "type": "string" + }, + "type": "array" + }, + "whitelistStatus": { + "enum": [ + "UNSPECIFIED_STATUS", + "ALLOWED", + "ALL_BOTS_DISABLED_BY_ADMIN", + "BOT_NOT_WHITELISTED_BY_ADMIN" + ], + "enumDescriptions": [ + "", + "", + "For both ALL_BOTS_DISABLED_BY_ADMIN and BOT_NOT_WHITELISTED_BY_ADMIN, the bot should still be visible in the catalog, but usage of the bot will be disabled. Indicates that all bots has been disabled by the dasher admin.", + "Indicates that the customer is using whitelisting, but that the bot is not whitelisted." + ], "type": "string" } }, "type": "object" }, - "DatePropertyOptions": { - "description": "The options for date properties.", - "id": "DatePropertyOptions", + "AppsDynamiteFrontendBotInfoSupportUrls": { + "description": "Urls with additional bot related information.", + "id": "AppsDynamiteFrontendBotInfoSupportUrls", "properties": { - "operatorOptions": { - "$ref": "DateOperatorOptions", - "description": "If set, describes how the date should be used as a search operator." + "adminConfigUrl": { + "description": "Link to the admin configuration webpage for the bot. Configured by Pantheon, may be empty.", + "type": "string" + }, + "deletionPolicyUrl": { + "description": "Link to the deletion policy webpage for the bot. Configured by Pantheon, may be empty.", + "type": "string" + }, + "privacyPolicyUrl": { + "description": "Link to the privacy policy webpage for the bot. May be empty.", + "type": "string" + }, + "setupUrl": { + "description": "Link to the setup webpage for the bot. Configured by Pantheon, may be empty.", + "type": "string" + }, + "supportUrl": { + "description": "Link to the support webpage for the developer of the bot. May be empty.", + "type": "string" + }, + "tosUrl": { + "description": "Link to the terms of service webpage for the bot. May be empty.", + "type": "string" } }, "type": "object" }, - "DateValues": { - "description": "List of date values.", - "id": "DateValues", + "AppsDynamiteFrontendMember": { + "id": "AppsDynamiteFrontendMember", "properties": { - "values": { - "items": { - "$ref": "Date" - }, - "type": "array" + "roster": { + "$ref": "AppsDynamiteFrontendRoster" + }, + "user": { + "$ref": "AppsDynamiteFrontendUser" } }, "type": "object" }, - "DebugOptions": { - "description": "Shared request debug options for all cloudsearch RPC methods.", - "id": "DebugOptions", + "AppsDynamiteFrontendRoster": { + "description": "Roster profile information.", + "id": "AppsDynamiteFrontendRoster", "properties": { - "enableDebugging": { - "description": "If you are asked by Google to help with debugging, set this field. Otherwise, ignore this field.", - "type": "boolean" + "avatarUrl": { + "type": "string" + }, + "id": { + "$ref": "AppsDynamiteRosterId" + }, + "membershipCount": { + "format": "int32", + "type": "integer" + }, + "name": { + "type": "string" + }, + "rosterGaiaKey": { + "description": "Roster gaia key, usually an email address. Set in looking up rosters response.", + "type": "string" + }, + "rosterState": { + "description": "Roster deletion state - considered active unless set to deleted", + "enum": [ + "ROSTER_STATE_UNKNOWN", + "ROSTER_ACTIVE", + "ROSTER_DELETED" + ], + "enumDescriptions": [ + "", + "Roster is active", + "Roster deleted" + ], + "type": "string" } }, "type": "object" }, - "DeleteQueueItemsRequest": { - "id": "DeleteQueueItemsRequest", + "AppsDynamiteFrontendUser": { + "description": "User profile information. This user is not necessarily member of a space.", + "id": "AppsDynamiteFrontendUser", "properties": { - "connectorName": { - "description": "The name of connector making this call. Format: datasources/{source_id}/connectors/{ID}", + "avatarUrl": { + "description": "URL for the avatar picture of the User in dynamite", "type": "string" }, - "debugOptions": { - "$ref": "DebugOptions", - "description": "Common debug options." + "blockRelationship": { + "$ref": "AppsDynamiteSharedUserBlockRelationship", + "description": "Information about whether the user is blocked by requester and/or has blocked requester." }, - "queue": { - "description": "The name of a queue to delete items from.", + "botInfo": { + "$ref": "AppsDynamiteFrontendBotInfo", + "description": "Bot-specific profile information. Leave it empty for human users." + }, + "deleted": { + "description": "Deleted flag, if true, means User has been soft-deleted/purged Deprecated. Use user_account_state field instead.", + "type": "boolean" + }, + "email": { + "description": "Email ID of the user", + "type": "string" + }, + "firstName": { + "description": "First or given name of the user", + "type": "string" + }, + "gender": { + "description": "Gender of the user", + "type": "string" + }, + "id": { + "$ref": "AppsDynamiteUserId", + "description": "UserId" + }, + "isAnonymous": { + "description": "Set to true if none of the depending services (Gaia, PeopleApi) returns any info for this user.", + "type": "boolean" + }, + "lastName": { + "description": "Last or family name of the user", + "type": "string" + }, + "name": { + "description": "Non-unique, user-defined display name of the User", + "type": "string" + }, + "organizationInfo": { + "$ref": "AppsDynamiteSharedOrganizationInfo", + "description": "Information about whether the user is a consumer user, or the GSuite customer that they belong to." + }, + "phoneNumber": { + "description": "Phone number(s) of the user", + "items": { + "$ref": "AppsDynamiteSharedPhoneNumber" + }, + "type": "array" + }, + "userAccountState": { + "description": "State of user's Gaia Account", + "enum": [ + "UNKNOWN_USER_ACCOUNT_STATE", + "ENABLED", + "DISABLED", + "DELETED", + "TEMPORARY_UNAVAILABLE" + ], + "enumDescriptions": [ + "", + "User has Dynamite enabled.", + "User doesn't have Dynamite enabled. This includes service disabled by admin, or user's account is suspended", + "User account is deleted", + "Failed to retrieve user's info. Will use user's email address as name and first_name." + ], + "type": "string" + }, + "userProfileVisibility": { + "description": "Visibility of user's Profile", + "enum": [ + "UNKNOWN_USER_PROFILE_VISIBILITY", + "FULL_PROFILE", + "PRIMARY_MAIL", + "INVITEE_EMAIL", + "DELETED_USER", + "UNKNOWN_USER", + "FAILURE" + ], + "enumDescriptions": [ + "", + "Caller has full visibility.", + "Caller can only see target user's primary email from Gaia", + "Caller can only see the email used to invite the target user", + "Caller can only see the target user as a deleted user. Email is empty. Names are redacted as \"Deleted User\".", + "Caller has no visibility to the target user at all. Email is empty. Names are redacted as \"Unknown User\".", + "Stubby failed. Clients should always retry ASAP" + ], "type": "string" } }, "type": "object" }, - "DisplayedProperty": { - "description": "A reference to a top-level property within the object that should be displayed in search results. The values of the chosen properties is displayed in the search results along with the display label for that property if one is specified. If a display label is not specified, only the values is shown.", - "id": "DisplayedProperty", + "AppsDynamiteGroupId": { + "description": "Id representing a group that could be a space, a chat, or a direct message space. Which ID is set here will determine which group", + "id": "AppsDynamiteGroupId", "properties": { - "propertyName": { - "description": "The name of the top-level property as defined in a property definition for the object. If the name is not a defined property in the schema, an error is given when attempting to update the schema.", - "type": "string" + "dmId": { + "$ref": "AppsDynamiteDmId", + "description": "Unique, immutable ID of the Direct Message Space" + }, + "spaceId": { + "$ref": "AppsDynamiteSpaceId", + "description": "Unique, immutable ID of the Space" } }, "type": "object" }, - "DmId": { - "id": "DmId", + "AppsDynamiteGroupRetentionSettingsUpdatedMetaData": { + "id": "AppsDynamiteGroupRetentionSettingsUpdatedMetaData", "properties": { - "dmId": { - "description": "Unique server assigned Id, per Direct Message Space.", - "type": "string" + "initiator": { + "$ref": "AppsDynamiteUserId", + "description": "The user who triggered the retention settings update" + }, + "retentionSettings": { + "$ref": "AppsDynamiteSharedRetentionSettings", + "description": "The updated space retention settings" } }, "type": "object" }, - "DoubleOperatorOptions": { - "description": "Used to provide a search operator for double properties. This is optional. Search operators let users restrict the query to specific fields relevant to the type of item being searched.", - "id": "DoubleOperatorOptions", + "AppsDynamiteGsuiteIntegrationMetadata": { + "description": "Annotation metadata for an GsuiteIntegration artifact.", + "id": "AppsDynamiteGsuiteIntegrationMetadata", "properties": { - "operatorName": { - "description": "Indicates the operator name required in the query in order to use the double property in sorting or as a facet. The operator name can only contain lowercase letters (a-z). The maximum length is 32 characters.", + "activityFeedData": { + "$ref": "AppsDynamiteSharedActivityFeedAnnotationData" + }, + "assistantData": { + "$ref": "AppsDynamiteSharedAssistantAnnotationData" + }, + "calendarEventData": { + "$ref": "AppsDynamiteSharedCalendarEventAnnotationData" + }, + "callData": { + "$ref": "AppsDynamiteSharedCallAnnotationData", + "description": "Data used to render call artifacts." + }, + "clientType": { + "enum": [ + "UNKNOWN_CLIENT_TYPE", + "MEET", + "TASKS", + "CALENDAR_EVENT", + "ASSISTANT", + "ACTIVITY_FEED_SERVICE" + ], + "enumDescriptions": [ + "", + "", + "", + "", + "", + "" + ], "type": "string" + }, + "indexableTexts": { + "description": "A list of all strings that are to be indexed for this 1P chip. Each string in this list would be the contents of a single string field in the 1P chip. Eg. For Tasks[title = \u201chello world\u201d, description = \u201cgood bye\u201d]. If we want to index only the title, this would be set to [\u201chello world\u201d]. If both title and description, then this would be [\u201chello world\u201d, \u201cgood bye\u201d]. Please make sure that the contents of this field is a subset of strings that are rendered as part of the 1P Chip.", + "items": { + "type": "string" + }, + "type": "array" + }, + "tasksData": { + "$ref": "AppsDynamiteSharedTasksAnnotationData" } }, "type": "object" }, - "DoublePropertyOptions": { - "description": "The options for double properties.", - "id": "DoublePropertyOptions", + "AppsDynamiteIncomingWebhookChangedMetadata": { + "description": "Annotation metadata to display system messages for incoming webhook events. Next Tag: 7", + "id": "AppsDynamiteIncomingWebhookChangedMetadata", "properties": { - "operatorOptions": { - "$ref": "DoubleOperatorOptions", - "description": "If set, describes how the double should be used as a search operator." + "incomingWebhookName": { + "description": "The webhook name at the time of the change. Used in Spanner storage, BE API responses and FE API responses.", + "type": "string" + }, + "initiatorId": { + "$ref": "AppsDynamiteUserId", + "description": "The user id of the user whose action triggered this system message. Used in Spanner storage, BE API responses and FE API responses." + }, + "initiatorProfile": { + "$ref": "AppsDynamiteFrontendUser", + "description": "Complete profile when ListTopicsRequest FetchOptions.USER is set. Otherwise, only the id will be filled in. Used in FE API responses." + }, + "obfuscatedIncomingWebhookId": { + "description": "The webhook id of the incoming webhook in question. This field should not be used to load webhook information dynamically and is only present for debugging purposes. Used in Spanner storage, BE API responses and FE API responses.", + "type": "string" + }, + "oldIncomingWebhookName": { + "description": "Only populated for UPDATED_NAME and UPDATED_NAME_AND_AVATAR events, where the webhook name was changed. Used in Spanner storage, BE API responses and FE API responses.", + "type": "string" + }, + "type": { + "description": "Used in Spanner storage, BE API responses and FE API responses.", + "enum": [ + "UNSPECIFIED", + "ADDED", + "UPDATED", + "REMOVED", + "UPDATED_NAME", + "UPDATED_AVATAR", + "UPDATED_NAME_AND_AVATAR" + ], + "enumDescriptions": [ + "", + "", + "TODO (b/154857280): remove UPDATED field.", + "", + "", + "", + "" + ], + "type": "string" } }, "type": "object" }, - "DoubleValues": { - "description": "List of double values.", - "id": "DoubleValues", + "AppsDynamiteIntegrationConfigMutation": { + "id": "AppsDynamiteIntegrationConfigMutation", "properties": { - "values": { + "addApp": { + "$ref": "AppsDynamiteAppId", + "description": "Add an app using its identifier." + }, + "addPinnedItem": { + "$ref": "AppsDynamitePinnedItemId", + "description": "Add a pinned tab using its identifier." + }, + "removeApp": { + "$ref": "AppsDynamiteAppId", + "description": "Remove an active app using its identifier." + }, + "removePinnedItem": { + "$ref": "AppsDynamitePinnedItemId", + "description": "Remove an active pinned tab using its identifier." + } + }, + "type": "object" + }, + "AppsDynamiteIntegrationConfigUpdatedMetadata": { + "description": "Annotation metadata to display system message for integration config updated event. This metadata is stored in spanner, and can be dispatched to clients without any field modification or transformation.", + "id": "AppsDynamiteIntegrationConfigUpdatedMetadata", + "properties": { + "initiatorId": { + "$ref": "AppsDynamiteUserId", + "description": "The user whose action triggered this system message." + }, + "mutations": { + "description": "A list of updates applied on the integration config.", "items": { - "format": "double", - "type": "number" + "$ref": "AppsDynamiteIntegrationConfigMutation" }, "type": "array" } }, "type": "object" }, - "DriveFollowUpRestrict": { - "description": "Drive follow-up search restricts (e.g. \"followup:suggestions\").", - "id": "DriveFollowUpRestrict", + "AppsDynamiteInviteeInfo": { + "description": "Invitee information from a Dynamite invitation. See go/dynamite-invitee-mgmt.", + "id": "AppsDynamiteInviteeInfo", "properties": { - "type": { - "enum": [ - "UNSPECIFIED", - "FOLLOWUP_SUGGESTIONS", - "FOLLOWUP_ACTION_ITEMS" - ], - "enumDescriptions": [ - "", - "", - "" - ], + "email": { + "description": "Email as typed by the user when invited to Room or DM. This value will be canonicalized and hashed before retained in storage.", "type": "string" + }, + "userId": { + "$ref": "AppsDynamiteUserId", + "description": "Unique, immutable ID of the User." } }, "type": "object" }, - "DriveLocationRestrict": { - "description": "Drive location search restricts (e.g. \"is:starred\").", - "id": "DriveLocationRestrict", + "AppsDynamiteMemberId": { + "description": "Eventually this can be updated to a oneOf User, Space (for nested spaces), Bots or Service, as and when these use cases come up.", + "id": "AppsDynamiteMemberId", "properties": { - "type": { - "enum": [ - "UNSPECIFIED", - "TRASHED", - "STARRED" - ], - "enumDescriptions": [ - "", - "", - "" - ], - "type": "string" + "rosterId": { + "$ref": "AppsDynamiteRosterId", + "description": "Unique, immutable ID of the Roster." + }, + "userId": { + "$ref": "AppsDynamiteUserId", + "description": "Unique, immutable ID of the User." } }, "type": "object" }, - "DriveMimeTypeRestrict": { - "description": "Drive mime-type search restricts (e.g. \"type:pdf\").", - "id": "DriveMimeTypeRestrict", + "AppsDynamiteMembershipChangedMetadata": { + "description": "Annotation metadata to display system messages for membership changes.", + "id": "AppsDynamiteMembershipChangedMetadata", "properties": { + "affectedMemberProfiles": { + "items": { + "$ref": "AppsDynamiteFrontendMember" + }, + "type": "array" + }, + "affectedMembers": { + "description": "List of users and rosters whose membership status changed.", + "items": { + "$ref": "AppsDynamiteMemberId" + }, + "type": "array" + }, + "affectedMemberships": { + "items": { + "$ref": "AppsDynamiteMembershipChangedMetadataAffectedMembership" + }, + "type": "array" + }, + "initiator": { + "$ref": "AppsDynamiteUserId", + "description": "The user whose action triggered this system message." + }, + "initiatorProfile": { + "$ref": "AppsDynamiteFrontendUser", + "description": "Complete member profiles, when ListTopicsRequest FetchOptions.USER is set. Otherwise, only the id will be filled in." + }, "type": { "enum": [ - "UNSPECIFIED", - "PDF", - "DOCUMENT", - "PRESENTATION", - "SPREADSHEET", - "FORM", - "DRAWING", - "SCRIPT", - "MAP", - "IMAGE", - "AUDIO", - "VIDEO", - "FOLDER", - "ARCHIVE", - "SITE" + "TYPE_UNSPECIFIED", + "INVITED", + "JOINED", + "ADDED", + "REMOVED", + "LEFT", + "BOT_ADDED", + "BOT_REMOVED", + "KICKED_DUE_TO_OTR_CONFLICT", + "ROLE_UPDATED", + "ROLE_TARGET_AUDIENCE_UPDATED" ], "enumDescriptions": [ - "", - "", - "", - "", - "", - "", - "", - "", - "", - "", - "", - "", - "", - "", - "" + "Default value for the enum. DO NOT USE.", + "Non-member -> Can join. Multiple groups and users.", + "Can join -> Member. One user.", + "Non-member -> Member. Multiple users.", + "Can join -> Non-member. One group or user.", + "Member -> Can join. One user.", + "Bot added to the room.", + "Bot removed from the room.", + "This signifies the user is kicked because the user's OTR policy is conflicted with the room history settings. Joined -> Non-member. One user.", + "MembershipRole changed. Multiple users.", + "The room is now joinable by an" ], "type": "string" } }, "type": "object" }, - "DriveTimeSpanRestrict": { - "description": "The time span search restrict (e.g. \"after:2017-09-11 before:2017-09-12\").", - "id": "DriveTimeSpanRestrict", + "AppsDynamiteMembershipChangedMetadataAffectedMembership": { + "description": "Earlier we used to populate just the affected_members list and inferred the new membership state (roles didn't exist back then) from the Type. go/dynamite-finra required backend to know the previous membership state to reconstruct membership history. The proper solution involved cleaning up up Type enum, but it was used in many, many places. This was added as a stop-gap solution to unblock FINRA without breaking everything. Later role update and target audience update started relying on this to communicate information to clients about what transition happened. So this is now required to be populated and should be in sync with affected_members for new messages.", + "id": "AppsDynamiteMembershipChangedMetadataAffectedMembership", "properties": { - "type": { + "affectedMember": { + "$ref": "AppsDynamiteMemberId" + }, + "priorMembershipRole": { "enum": [ - "UNSPECIFIED", - "TODAY", - "YESTERDAY", - "LAST_7_DAYS", - "LAST_30_DAYS", - "LAST_90_DAYS" + "ROLE_UNKNOWN", + "ROLE_NONE", + "ROLE_INVITEE", + "ROLE_MEMBER", + "ROLE_OWNER" ], "enumDescriptions": [ "", + "This role is used when a user is forcibly removed from a room by another user. They will no longer be able to search for the room, but their history will be retained.", + "This role is used for two purposes. 1. A group is invited to a room, making it discoverable for its members. 2. A user was part of a room, but willingly left the room.", + "--- Following roles are for joined members of a roster. --- Default role for any joined user. Has basic capabilities within a room.", + "Role assigned to room creators and explicitly promoted members. Has broad powers to manage the room." + ], + "type": "string" + }, + "priorMembershipState": { + "enum": [ + "MEMBER_UNKNOWN", + "MEMBER_INVITED", + "MEMBER_JOINED", + "MEMBER_NOT_A_MEMBER", + "MEMBER_FAILED" + ], + "enumDescriptions": [ + "Default state, do not use", + "An invitation to the space has been sent", + "User has joined the space", + "User is not a member", + "This state should never be stored in Spanner. It is a state for responses to the clients to indicate that membership mutations have failed and the member is in its previous state." + ], + "type": "string" + }, + "targetMembershipRole": { + "enum": [ + "ROLE_UNKNOWN", + "ROLE_NONE", + "ROLE_INVITEE", + "ROLE_MEMBER", + "ROLE_OWNER" + ], + "enumDescriptions": [ "", - "", - "", - "Not Enabled", - "Not Enabled" + "This role is used when a user is forcibly removed from a room by another user. They will no longer be able to search for the room, but their history will be retained.", + "This role is used for two purposes. 1. A group is invited to a room, making it discoverable for its members. 2. A user was part of a room, but willingly left the room.", + "--- Following roles are for joined members of a roster. --- Default role for any joined user. Has basic capabilities within a room.", + "Role assigned to room creators and explicitly promoted members. Has broad powers to manage the room." ], "type": "string" } }, "type": "object" }, - "DynamiteSpacesScoringInfo": { - "description": "This is the proto for holding space level scoring information. This data is used for logging in query-api server and for testing purposes.", - "id": "DynamiteSpacesScoringInfo", + "AppsDynamiteMessage": { + "description": "Message posted to a Space.", + "id": "AppsDynamiteMessage", "properties": { - "affinityScore": { - "format": "double", - "type": "number" + "annotations": { + "description": "Annotations parsed and extracted from the text body.", + "items": { + "$ref": "AppsDynamiteAnnotation" + }, + "type": "array" }, - "commonContactCountAffinityScore": { - "format": "double", - "type": "number" + "appProfile": { + "$ref": "AppsDynamiteSharedAppProfile", + "description": "Custom display profile info for apps. Leave the field empty for real users." }, - "contactsIntersectionCount": { - "format": "double", - "type": "number" + "attachments": { + "description": "Attachments parsed from incoming webhooks", + "items": { + "$ref": "AppsDynamiteAttachment" + }, + "type": "array" }, - "finalScore": { - "format": "double", - "type": "number" + "attributes": { + "$ref": "AppsDynamiteMessageAttributes", + "description": "Lightweight message attributes which values are calculated and set in the servers." }, - "freshnessScore": { - "format": "double", - "type": "number" + "botResponses": { + "description": "Responses from bots indicating if extra auth/config is needed.", + "items": { + "$ref": "AppsDynamiteBotResponse" + }, + "type": "array" }, - "joinedSpacesAffinityScore": { - "format": "double", - "type": "number" + "communalLabels": { + "description": "Communal labels associated with a message. These exist on the message itself regardless of which user fetches them. Order of entries is arbitrary and will not list duplicates of the same label_id. See go/chat-labels-design for details.", + "items": { + "$ref": "AppsDynamiteBackendLabelsCommunalLabelTag" + }, + "type": "array" }, - "lastMessagePostedTimestampSecs": { + "contentReportSummary": { + "$ref": "AppsDynamiteMessageContentReportSummary", + "readOnly": true + }, + "createTime": { + "description": "Time when the Message was posted in microseconds.", "format": "int64", "type": "string" }, - "lastReadTimestampSecs": { + "creatorId": { + "$ref": "AppsDynamiteUserId", + "description": "ID of the User who posted the Message. This includes information to identify if this was posted by an App on behalf of a user." + }, + "deletableBy": { + "description": "Indicates who can delete the message. This field is set on the read path (e.g. ListTopics) but doesn\u2019t have any effect on the write path (e.g. CreateMessageRequest).", + "enum": [ + "PERMISSION_UNSPECIFIED", + "PERMISSION_NO_ONE", + "PERMISSION_CREATOR", + "PERMISSION_MEMBER" + ], + "enumDescriptions": [ + "Default case, should never be used. If this data is encountered in the DB any request should throw an exception.", + "No one can mutate the entity.", + "Only the creator of an entity can mutate it.", + "Every human member of a space or the creator can mutate the entity." + ], + "type": "string" + }, + "deleteTime": { + "description": "Time when the Message was deleted in microseconds. This field is set to nonzero value only for Messages deleted globally.", "format": "int64", "type": "string" }, - "memberMetadataCount": { - "format": "double", - "type": "number" + "deleteTimeForRequester": { + "description": "Time when the Message was per-user deleted by the message requester in microseconds. This field is set to nonzero value only for Message per-user deleted by the requester.", + "format": "int64", + "type": "string" }, - "messageScore": { - "format": "double", - "type": "number" + "deletedByVault": { + "description": "Was this message deleted by Vault (Only used for Vault support) This is false if message is live or message was deleted by user.", + "type": "boolean" }, - "numAucContacts": { - "format": "int64", + "dlpScanOutcome": { + "description": "Data Loss Prevention scan information for this message. Messages are evaluated in the backend on create message/topic and edit message actions. DEPRECATED: use dlp_scan_summary instead.", + "enum": [ + "SCAN_UNKNOWN_OUTCOME", + "SCAN_SUCCEEDED_NO_VIOLATION", + "SCAN_SUCCEEDED_BLOCK", + "SCAN_SUCCEEDED_WARN", + "SCAN_SUCCEEDED_AUDIT_ONLY", + "SCAN_FAILURE_EXCEPTION", + "SCAN_FAILURE_TIMEOUT", + "SCAN_FAILURE_ALL_RULES_FAILED", + "SCAN_FAILURE_ILLEGAL_STATE_FOR_ATTACHMENTS", + "SCAN_SKIPPED_EXPERIMENT_DISABLED", + "SCAN_SKIPPED_CONSUMER", + "SCAN_SKIPPED_NON_HUMAN_USER", + "SCAN_SKIPPED_NO_MESSAGE", + "SCAN_SKIPPED_USER_ACKNOWLEDGED_WARNING", + "SCAN_SKIPPED_MESSAGE_FROM_UNSUPPORTED_ORIGIN", + "SCAN_RULE_EVALUATION_SKIPPED_NO_RULES_FOUND", + "SCAN_RULE_EVALUATION_SKIPPED_NO_APPLICABLE_RULES_FOR_ACTION_PARAMS", + "SCAN_RULE_EVALUATION_SKIPPED_NO_APPLICABLE_RULES_FOR_TRIGGER", + "SCAN_RULE_EVALUATION_SKIPPED_CHANGELING_PERMANENT_ERROR", + "SCAN_RULE_EVALUATION_SKIPPED_CHANGELING_EMPTY_RESPONSE", + "SCAN_SUCCEEDED_WITH_FAILURES_NO_VIOLATION", + "SCAN_SUCCEEDED_WITH_FAILURES_BLOCK", + "SCAN_SUCCEEDED_WITH_FAILURES_WARN", + "SCAN_SUCCEEDED_WITH_FAILURES_AUDIT_ONLY" + ], + "enumDescriptions": [ + "", + "This means no violation is detected on the given message/attachment.", + "Violation is detected. The message/attachment will be blocked (or deleted if this happens in failure recovery), the user will be warned, and the violation will be logged to BIP.", + "Violation is detected. The user will be warned, and the violation will be logged to BIP.", + "Violation is detected and will be logged to BIP (no user-facing action performed).", + "Rule fetch and evaluation were attempted but an exception occurred.", + "Rule fetch and evaluation were attempted but the scanning timed out.", + "Rule fetch completed and evaluation were attempted, but all of the rules failed to be evaluated.", + "An IllegalStateException is thrown when executing DLP on attachments. This could happen if the space row is missing.", + "Rule fetch and evaluation is skipped because DLP is not enabled for the user.", + "Rule fetch and evaluation are skipped because the user sending message is consumer.", + "Rule fetch and evaluation are skipped because the user sending message is a non-human user (i.e. a bot).", + "Rule fetch and evaluation are skipped because there is no message to scan. Deprecated: this should not happen since there must be message or attachment for DLP scan.", + "Rule fetch and evaluation are skipped because the user has acknowledged the warning on the message that triggered the Warn violation and sent the message anyway.", + "Scanning was skipped because the message originated from Interop or Babel.", + "Rule fetch happened, but rule evaluation is skipped because no rules were found.", + "Rule fetch happened, but rule evaluation is skipped because none of the rules are applicable to the given action params.", + "Rule fetch happened, but rule evaluation is skipped because none of the rules are applicable to the given trigger.", + "Rule fetch happened, but rule evaluation is skipped because Changeling returned permanent failure while converting the attachment to text.", + "Rule fetch happened, but rule evaluation is skipped because Changeling returned an empty response while converting the attachment to text.", + "Rules were fetched but some evaluations failed. No violation was found in the rules that were successfully evaluated.", + "Rules were fetched but some evaluations failed. A blocking violation was found in the rules that were successfully evaluated. The message/attachment will be blocked, the user will be notified, and the violation will be logged to BIP. A blocking violation takes precedence over all other violation types.", + "Rules were fetched but some evaluations failed. A warn violation was found in the rules that were successfully evaluated. The user will be warned, and the violation will be logged to BIP.", + "Rules were fetched but some evaluations failed. An audit-only violation was found in the rules that were successfully evaluated. The violation will be logged to BIP (no user-facing action performed)." + ], "type": "string" }, - "smallContactListAffinityScore": { - "format": "double", - "type": "number" + "dlpScanSummary": { + "$ref": "AppsDynamiteBackendDlpScanSummary", + "description": "Data Loss Prevention scan information for this message. Messages are evaluated in the backend on create message/topic and edit message actions." }, - "smallUnjoinedSpacesAffinityScore": { - "format": "double", - "type": "number" + "editableBy": { + "description": "Indicates who can edit the message. This field is set on the read path (e.g. ListTopics) but doesn\u2019t have any effect on the write path (e.g. CreateMessageRequest).", + "enum": [ + "PERMISSION_UNSPECIFIED", + "PERMISSION_NO_ONE", + "PERMISSION_CREATOR", + "PERMISSION_MEMBER" + ], + "enumDescriptions": [ + "Default case, should never be used. If this data is encountered in the DB any request should throw an exception.", + "No one can mutate the entity.", + "Only the creator of an entity can mutate it.", + "Every human member of a space or the creator can mutate the entity." + ], + "type": "string" }, - "spaceAgeInDays": { - "format": "double", - "type": "number" + "fallbackText": { + "description": "A plain-text description of the attachment, used when clients cannot display formatted attachment (e.g. mobile push notifications).", + "type": "string" }, - "spaceCreationTimestampSecs": { + "id": { + "$ref": "AppsDynamiteMessageId", + "description": "ID of the resource." + }, + "isInlineReply": { + "description": "Output only. Indicates if the message is an inline reply. Set to true only if the message's ParentPath is non-NULL. Currently, only inline replies have non-NULL ParentPath. See go/chat-be-inline-reply-indicator.", + "readOnly": true, + "type": "boolean" + }, + "lastEditTime": { + "description": "If the message was edited by a user, timestamp of the last edit, in microseconds.", "format": "int64", "type": "string" }, - "topicalityScore": { - "format": "double", - "type": "number" - } - }, - "type": "object" - }, - "EmailAddress": { - "description": "A person's email address.", - "id": "EmailAddress", - "properties": { - "emailAddress": { - "description": "The email address.", + "lastUpdateTime": { + "description": "Time when the Message text was last updated in microseconds.", + "format": "int64", "type": "string" - } - }, - "type": "object" - }, - "Emoji": { - "id": "Emoji", - "properties": { - "customEmoji": { - "$ref": "CustomEmoji", - "description": "A custom emoji." }, - "unicode": { - "description": "A basic emoji represented by a unicode string.", + "localId": { + "description": "A unique id specified on the client side.", "type": "string" - } - }, - "type": "object" - }, - "EnumOperatorOptions": { - "description": "Used to provide a search operator for enum properties. This is optional. Search operators let users restrict the query to specific fields relevant to the type of item being searched. For example, if you provide no operator for a *priority* enum property with possible values *p0* and *p1*, a query that contains the term *p0* returns items that have *p0* as the value of the *priority* property, as well as any items that contain the string *p0* in other fields. If you provide an operator name for the enum, such as *priority*, then search users can use that operator to refine results to only items that have *p0* as this property's value, with the query *priority:p0*.", - "id": "EnumOperatorOptions", - "properties": { - "operatorName": { - "description": "Indicates the operator name required in the query in order to isolate the enum property. For example, if operatorName is *priority* and the property's name is *priorityVal*, then queries like *priority:* show results only where the value of the property named *priorityVal* matches **. By contrast, a search that uses the same ** without an operator returns all items where ** matches the value of any String properties or text within the content field for the item. The operator name can only contain lowercase letters (a-z). The maximum length is 32 characters.", + }, + "messageIntegrationPayload": { + "$ref": "AppsDynamiteSharedMessageIntegrationPayload", + "description": "An optional payload (restricted to 1P applications) that will be stored with this message. This can only be set by the 1P API and should be used to deliver additional data such a 1P sync version, 1P entity ID to the client for more advanced functionality [Eg. inform Group Tasks tab of new version while linking, fetch & render a live Task/Meet call tile]." + }, + "messageOrigin": { + "description": "Where the message was posted from", + "enum": [ + "ORIGIN_NOT_SET", + "ORIGIN_DYNAMITE", + "ORIGIN_BABEL_INTEROP_LIVE", + "ORIGIN_BABEL_INTEROP_RETRY", + "ORIGIN_BABEL", + "ORIGIN_BABEL_DUAL_WRITE", + "ORIGIN_BABEL_DUAL_WRITE_RETRY", + "ORIGIN_BACKFILL_FROM_PAPYRUS", + "ORIGIN_BACKFILL_FROM_GMAIL_ARCHIVE" + ], + "enumDescriptions": [ + "", + "", + "The message is from Babel (Hangouts Classic) interop.", + "The message is from Babel interop retries from Manifold queue.", + "The message came directly from Babel as source-of-truth", + "The message came directly from Babel during dual-write", + "The message came directly from Babel Manifold queue during dual write", + "The message was backfilled by go/dinnertrain as part of go/storage-consolidation. The backfill origin corresponds to the BackfillState in which the message was created.", + "" + ], "type": "string" - } - }, - "type": "object" - }, - "EnumPropertyOptions": { - "description": "The options for enum properties, which allow you to define a restricted set of strings to match user queries, set rankings for those string values, and define an operator name to be paired with those strings so that users can narrow results to only items with a specific value. For example, for items in a request tracking system with priority information, you could define *p0* as an allowable enum value and tie this enum to the operator name *priority* so that search users could add *priority:p0* to their query to restrict the set of results to only those items indexed with the value *p0*.", - "id": "EnumPropertyOptions", - "properties": { - "operatorOptions": { - "$ref": "EnumOperatorOptions", - "description": "If set, describes how the enum should be used as a search operator." }, - "orderedRanking": { - "description": "Used to specify the ordered ranking for the enumeration that determines how the integer values provided in the possible EnumValuePairs are used to rank results. If specified, integer values must be provided for all possible EnumValuePair values given for this property. Can only be used if isRepeatable is false.", + "messageState": { + "description": "State of the message, indicating whether the message is visible to all members in the group or is only visible to the sender only, or the private_message_viewer if it is set.", "enum": [ - "NO_ORDER", - "ASCENDING", - "DESCENDING" + "PUBLIC", + "PRIVATE" ], "enumDescriptions": [ - "There is no ranking order for the property. Results aren't adjusted by this property's value.", - "This property is ranked in ascending order. Lower values indicate lower ranking.", - "This property is ranked in descending order. Lower values indicate higher ranking." + "Default - visible to the room / DM.", + "Private state - only visible to the message creator, and the private_message_viewer if set." ], "type": "string" }, - "possibleValues": { - "description": "The list of possible values for the enumeration property. All EnumValuePairs must provide a string value. If you specify an integer value for one EnumValuePair, then all possible EnumValuePairs must provide an integer value. Both the string value and integer value must be unique over all possible values. Once set, possible values cannot be removed or modified. If you supply an ordered ranking and think you might insert additional enum values in the future, leave gaps in the initial integer values to allow adding a value in between previously registered values. The maximum number of elements is 100.", + "originAppSuggestions": { + "description": "Indicates if this message contains any suggestions that were provided by any Apps.", "items": { - "$ref": "EnumValuePair" + "$ref": "AppsDynamiteSharedOriginAppSuggestion" }, "type": "array" - } - }, - "type": "object" - }, - "EnumValuePair": { - "description": "The enumeration value pair defines two things: a required string value and an optional integer value. The string value defines the necessary query term required to retrieve that item, such as *p0* for a priority item. The integer value determines the ranking of that string value relative to other enumerated values for the same property. For example, you might associate *p0* with *0* and define another enum pair such as *p1* and *1*. You must use the integer value in combination with ordered ranking to set the ranking of a given value relative to other enumerated values for the same property name. Here, a ranking order of DESCENDING for *priority* properties results in a ranking boost for items indexed with a value of *p0* compared to items indexed with a value of *p1*. Without a specified ranking order, the integer value has no effect on item ranking.", - "id": "EnumValuePair", - "properties": { - "integerValue": { - "description": "The integer value of the EnumValuePair which must be non-negative. Optional.", - "format": "int32", - "type": "integer" }, - "stringValue": { - "description": "The string value of the EnumValuePair. The maximum length is 32 characters.", + "personalLabels": { + "description": "Personal labels associated with a message for the viewing user. Order of entries is arbitrary and will not list duplicates of the same label_id. See go/chat-labels-design for details. NOTE: This will be unpopulated in the case of SpaceChangelog events.", + "items": { + "$ref": "AppsDynamiteBackendLabelsPersonalLabelTag" + }, + "type": "array" + }, + "privateMessageInfos": { + "description": "A list of per-user private information. This is deprecated, because we no longer plan to support partially private messages or private messages for multiple users. The message_state and private_message_viewer fields should be sufficient for this infrastructure.", + "items": { + "$ref": "AppsDynamitePrivateMessageInfo" + }, + "type": "array" + }, + "privateMessageViewer": { + "$ref": "AppsDynamiteUserId", + "description": "Should only be set if the Message State is PRIVATE. If set, the message content is only visible to this user (and any apps associated with the message), as well as the message creator. If unset, a private message is visible to the message creator only." + }, + "props": { + "$ref": "AppsDynamiteMessageProps", + "description": "Contains additional (currently Hangouts Classic only) properties applicable to this message." + }, + "quotedByState": { + "description": "Output only. Whether this message has been quoted by another message or not. Used by clients to handle message edit flows for messages that have been quoted.", + "enum": [ + "QUOTED_BY_STATE_UNSPECIFIED", + "QUOTED_BY_STATE_HAS_BEEN_QUOTED", + "QUOTED_BY_STATE_HAS_NOT_BEEN_QUOTED" + ], + "enumDescriptions": [ + "Unspecified state for QuotedByState.", + "State to indicate that this message is quoted by another message (excluding soft-deleted message and purged ones).", + "State to indicate that this message are not quoted by another message." + ], + "readOnly": true, "type": "string" - } - }, - "type": "object" - }, - "EnumValues": { - "description": "List of enum values.", - "id": "EnumValues", - "properties": { - "values": { - "description": "The maximum allowable length for string values is 32 characters.", + }, + "quotedMessageMetadata": { + "$ref": "AppsDynamiteQuotedMessageMetadata", + "description": "Output only. Metadata for a message that is quoted by this message.", + "readOnly": true + }, + "reactions": { + "description": "A list of user reactions to this message. Ordered by the timestamp of the first reaction, ascending (oldest to newest).", "items": { - "type": "string" + "$ref": "AppsDynamiteSharedReaction" }, "type": "array" - } - }, - "type": "object" - }, - "ErrorInfo": { - "description": "Error information about the response.", - "id": "ErrorInfo", - "properties": { - "errorMessages": { + }, + "reports": { + "description": "Output only. Details of content reports. Set only when the request asks for it.", "items": { - "$ref": "ErrorMessage" + "$ref": "AppsDynamiteContentReport" + }, + "readOnly": true, + "type": "array" + }, + "retentionSettings": { + "$ref": "AppsDynamiteSharedRetentionSettings", + "description": "The retention settings of the message." + }, + "secondaryMessageKey": { + "description": "A client-specified string that can be used to uniquely identify a message in a space, in lieu of `id.message_id`.", + "type": "string" + }, + "textBody": { + "description": "Plaintext body of the Message.", + "type": "string" + }, + "tombstoneMetadata": { + "$ref": "AppsDynamiteTombstoneMetadata", + "description": "Information for the stoning of a Message." + }, + "updaterId": { + "$ref": "AppsDynamiteUserId", + "description": "ID of the User who last updated (created/edited/deleted) the Message. This includes information to identify if this was updated by an App on behalf of a user." + }, + "uploadMetadata": { + "description": "UploadMetadata b/36864213 is an ongoing effort to move UploadMetadata out of annotations field and save it to upload_metadata field only. After the migration, UploadMetadata will only be saved in this field.", + "items": { + "$ref": "AppsDynamiteUploadMetadata" }, "type": "array" } }, "type": "object" }, - "ErrorMessage": { - "description": "Error message per source response.", - "id": "ErrorMessage", + "AppsDynamiteMessageAttributes": { + "description": "Stores tombstone message attributes: go/tombstone-message-attributes-overview", + "id": "AppsDynamiteMessageAttributes", "properties": { - "errorMessage": { - "type": "string" - }, - "source": { - "$ref": "Source" + "isTombstone": { + "description": "If true: message is a tombstone in the client. Default false.", + "type": "boolean" } }, "type": "object" }, - "FacetBucket": { - "description": "A bucket in a facet is the basic unit of operation. A bucket can comprise either a single value OR a contiguous range of values, depending on the type of the field bucketed. FacetBucket is currently used only for returning the response object.", - "id": "FacetBucket", + "AppsDynamiteMessageContentReportSummary": { + "description": "Summarized info of content reports. Usually less expensive to fetch than to fetch all detailed reports. Set only when the request asks for it.", + "id": "AppsDynamiteMessageContentReportSummary", "properties": { - "count": { - "description": "Number of results that match the bucket value. Counts are only returned for searches when count accuracy is ensured. Cloud Search does not guarantee facet counts for any query and facet counts might be present only intermittently, even for identical queries. Do not build dependencies on facet count existence; instead use facet ount percentages which are always returned.", + "numberReports": { + "description": "Total number of reports attached to this (revision of) message.", "format": "int32", "type": "integer" }, - "percentage": { - "description": "Percent of results that match the bucket value. The returned value is between (0-100], and is rounded down to an integer if fractional. If the value is not explicitly returned, it represents a percentage value that rounds to 0. Percentages are returned for all searches, but are an estimate. Because percentages are always returned, you should render percentages instead of counts.", + "numberReportsAllRevisions": { + "description": "Totoal number of reports attached to all revisions of this message (i.e. since creation). Set only when the request asks for it.", "format": "int32", "type": "integer" - }, - "value": { - "$ref": "Value" } }, "type": "object" }, - "FacetOptions": { - "description": "Specifies operators to return facet results for. There will be one FacetResult for every source_name/object_type/operator_name combination.", - "id": "FacetOptions", + "AppsDynamiteMessageId": { + "description": "Primary key for Message resource.", + "id": "AppsDynamiteMessageId", "properties": { - "numFacetBuckets": { - "description": "Maximum number of facet buckets that should be returned for this facet. Defaults to 10. Maximum value is 100.", - "format": "int32", - "type": "integer" - }, - "objectType": { - "description": "If object_type is set, only those objects of that type will be used to compute facets. If empty, then all objects will be used to compute facets.", - "type": "string" - }, - "operatorName": { - "description": "The name of the operator chosen for faceting. @see cloudsearch.SchemaPropertyOptions", + "messageId": { + "description": "Opaque, server-assigned ID of the Message. While this ID is guaranteed to be unique within the Space, it's not guaranteed to be globally unique.", "type": "string" }, - "sourceName": { - "description": "Source name to facet on. Format: datasources/{source_id} If empty, all data sources will be used.", - "type": "string" + "parentId": { + "$ref": "AppsDynamiteMessageParentId", + "description": "ID of the Message's immediate parent." } }, "type": "object" }, - "FacetResult": { - "description": "Source specific facet response", - "id": "FacetResult", + "AppsDynamiteMessageInfo": { + "id": "AppsDynamiteMessageInfo", "properties": { - "buckets": { - "description": "FacetBuckets for values in response containing at least a single result with the corresponding filter.", - "items": { - "$ref": "FacetBucket" - }, - "type": "array" - }, - "objectType": { - "description": "Object type for which facet results are returned. Can be empty.", - "type": "string" - }, - "operatorName": { - "description": "The name of the operator chosen for faceting. @see cloudsearch.SchemaPropertyOptions", - "type": "string" + "message": { + "$ref": "AppsDynamiteMessage", + "description": "The content of a matching message." }, - "sourceName": { - "description": "Source name for which facet results are returned. Will not be empty.", + "searcherMembershipState": { + "description": "Searcher's membership state in the space where the message is posted.", + "enum": [ + "MEMBER_UNKNOWN", + "MEMBER_INVITED", + "MEMBER_JOINED", + "MEMBER_NOT_A_MEMBER", + "MEMBER_FAILED" + ], + "enumDescriptions": [ + "Default state, do not use", + "An invitation to the space has been sent", + "User has joined the space", + "User is not a member", + "This state should never be stored in Spanner. It is a state for responses to the clients to indicate that membership mutations have failed and the member is in its previous state." + ], "type": "string" } }, "type": "object" }, - "FieldViolation": { - "id": "FieldViolation", + "AppsDynamiteMessageParentId": { + "description": "Primary key identifying Message resource's immediate parent. For top-level Messages, either topic_id or chat_id is populated. For replies, message_id is populated with the topic Message's ID.", + "id": "AppsDynamiteMessageParentId", "properties": { - "description": { - "description": "The description of the error.", - "type": "string" - }, - "field": { - "description": "Path of field with violation.", - "type": "string" + "topicId": { + "$ref": "AppsDynamiteTopicId", + "description": "ID of the Topic this Message is posted to. NEXT TAG : 5" } }, "type": "object" }, - "Filter": { - "description": "A generic way of expressing filters in a query, which supports two approaches: **1. Setting a ValueFilter.** The name must match an operator_name defined in the schema for your data source. **2. Setting a CompositeFilter.** The filters are evaluated using the logical operator. The top-level operators can only be either an AND or a NOT. AND can appear only at the top-most level. OR can appear only under a top-level AND.", - "id": "Filter", + "AppsDynamiteMessageProps": { + "description": "Container for storing properties applicable to messages. For now (until storage consolidation is complete), it will only be used for babel props. In the future it could be used to house Dynamite properties for experimenting/rapid prototyping.", + "id": "AppsDynamiteMessageProps", "properties": { - "compositeFilter": { - "$ref": "CompositeFilter" - }, - "valueFilter": { - "$ref": "ValueFilter" + "babelProps": { + "$ref": "AppsDynamiteBabelMessageProps" } }, "type": "object" }, - "FilterOptions": { - "description": "Filter options to be applied on query.", - "id": "FilterOptions", + "AppsDynamitePinnedItemId": { + "id": "AppsDynamitePinnedItemId", "properties": { - "filter": { - "$ref": "Filter", - "description": "Generic filter to restrict the search, such as `lang:en`, `site:xyz`." - }, - "objectType": { - "description": "If object_type is set, only objects of that type are returned. This should correspond to the name of the object that was registered within the definition of schema. The maximum length is 256 characters.", + "driveId": { + "description": "Identifier for a Drive file (e.g. Docs, Sheets, Slides).", "type": "string" } }, "type": "object" }, - "FreshnessOptions": { - "description": "Indicates which freshness property to use when adjusting search ranking for an item. Fresher, more recent dates indicate higher quality. Use the freshness option property that best works with your data. For fileshare documents, last modified time is most relevant. For calendar event data, the time when the event occurs is a more relevant freshness indicator. In this way, calendar events that occur closer to the time of the search query are considered higher quality and ranked accordingly.", - "id": "FreshnessOptions", + "AppsDynamitePrivateMessageInfo": { + "description": "Private message information specific to a given user.", + "id": "AppsDynamitePrivateMessageInfo", "properties": { - "freshnessDuration": { - "description": "The duration after which an object should be considered stale. The default value is 180 days (in seconds).", - "format": "google-duration", - "type": "string" + "annotations": { + "description": "Annotations private to {@code userId}.", + "items": { + "$ref": "AppsDynamiteAnnotation" + }, + "type": "array" }, - "freshnessProperty": { - "description": "This property indicates the freshness level of the object in the index. If set, this property must be a top-level property within the property definitions and it must be a timestamp type or date type. Otherwise, the Indexing API uses updateTime as the freshness indicator. The maximum length is 256 characters. When a property is used to calculate freshness, the value defaults to 2 years from the current time.", - "type": "string" - } - }, - "type": "object" - }, - "GSuitePrincipal": { - "id": "GSuitePrincipal", - "properties": { - "gsuiteDomain": { - "description": "This principal represents all users of the Google Workspace domain of the customer.", - "type": "boolean" + "attachments": { + "description": "Attachments private to {@code userId}.", + "items": { + "$ref": "AppsDynamiteAttachment" + }, + "type": "array" }, - "gsuiteGroupEmail": { - "description": "This principal references a Google Workspace group name.", - "type": "string" + "contextualAddOnMarkup": { + "items": { + "$ref": "GoogleChatV1ContextualAddOnMarkup" + }, + "type": "array" }, - "gsuiteUserEmail": { - "description": "This principal references a Google Workspace user account.", + "gsuiteIntegrationMetadata": { + "items": { + "$ref": "AppsDynamiteGsuiteIntegrationMetadata" + }, + "type": "array" + }, + "text": { + "description": "Text private to {@code user_id}. Initial restriction: Only one of public text or private text is rendered on the client. So if public text is set, private text is ignored.", "type": "string" + }, + "userId": { + "$ref": "AppsDynamiteUserId", + "description": "Required. The elements in this struct are visible to this user." } }, "type": "object" }, - "GetCustomerIndexStatsResponse": { - "id": "GetCustomerIndexStatsResponse", + "AppsDynamiteQuotedMessageMetadata": { + "description": "Quote metadata: go/message-quoting-be-dd-v2. This proto is only used on the read path. For the request proto, refer to `QuotedMessagePayload`. Fields are either derived from storage directly from the Item this metadata belongs to, or is hydrated at read time from another Item read. Note: QuotedMessageMetadata proto is similar to Message proto with less field. Reasons to differtiate QuotedMessageMetadata from Message are: 1. Not all fields for original message is applicable for quoted message. (E.g. reactions, is_inline_reply, etc.), thus separting out for confusion. 2. We don't support nested message quoting. For more detailed discussion, please see http://shortn/_VsSXQb2C7P. For future reference: if your new feature/field will be supported in message quoting feature (go/chat-quoting-prd), you will need to add that field within QuotedMessageMetadata", + "id": "AppsDynamiteQuotedMessageMetadata", "properties": { - "averageIndexedItemCount": { - "description": "Average item count for the given date range for which billing is done.", - "format": "int64", - "type": "string" - }, - "stats": { - "description": "Summary of indexed item counts, one for each day in the requested range.", + "annotations": { + "description": "Output only. Snapshot of the annotations of the quoted message.", "items": { - "$ref": "CustomerIndexStats" + "$ref": "AppsDynamiteAnnotation" }, + "readOnly": true, + "type": "array" + }, + "appProfile": { + "$ref": "AppsDynamiteSharedAppProfile", + "description": "Output only. Custom display profile info for apps. Will be empty for real users.", + "readOnly": true + }, + "botAttachmentState": { + "description": "Output only. The bot attachment state of the quoted message. Used by clients to display a bot attachment indicator in the UI.", + "enum": [ + "BOT_ATTACHMENT_STATE_UNSPECIFIED", + "BOT_ATTACHMENT_STATE_HAS_BOT_ATTACHMENT", + "BOT_ATTACHMENT_STATE_NO_BOT_ATTACHMENT" + ], + "enumDescriptions": [ + "", + "", + "" + ], + "readOnly": true, + "type": "string" + }, + "creatorId": { + "$ref": "AppsDynamiteUserId", + "description": "Output only. ID of the User who posted the quoted message. This includes information to identify if the quoted message was posted by an App on behalf of a user.", + "readOnly": true + }, + "lastUpdateTimeWhenQuotedMicros": { + "description": "The `last_update_time` of the original message when the client initiated the quote creation. This is derived from the request payload passed from clients. Used to fetch the quoted message contents at a specific time on the read path. This field is populated from storage directly.", + "format": "int64", + "type": "string" + }, + "messageId": { + "$ref": "AppsDynamiteMessageId", + "description": "MessageId of the original message that is being quoted. This is derived from the request payload passed from clients. This field is populated from storage directly." + }, + "messageState": { + "description": "Output only. The state of the quoted message. Used by clients to display tombstones for quotes that reference a deleted message.", + "enum": [ + "MESSAGE_STATE_UNSPECIFIED", + "MESSAGE_STATE_ACTIVE", + "MESSAGE_STATE_DELETED" + ], + "enumDescriptions": [ + "", + "", + "" + ], + "readOnly": true, + "type": "string" + }, + "retentionSettings": { + "$ref": "AppsDynamiteSharedRetentionSettings", + "description": "Output only. The retention (OTR) settings of the quoted message.", + "readOnly": true + }, + "textBody": { + "description": "Output only. Snapshot of the text body of the quoted message.", + "readOnly": true, + "type": "string" + }, + "uploadMetadata": { + "description": "Output only. Upload metadata of the quoted message. NEXT TAG: 11", + "items": { + "$ref": "AppsDynamiteUploadMetadata" + }, + "readOnly": true, "type": "array" } }, "type": "object" }, - "GetCustomerQueryStatsResponse": { - "id": "GetCustomerQueryStatsResponse", + "AppsDynamiteReadReceiptsSettingsUpdatedMetadata": { + "id": "AppsDynamiteReadReceiptsSettingsUpdatedMetadata", "properties": { - "stats": { + "readReceiptsEnabled": { + "description": "The new read receipts state.", + "type": "boolean" + } + }, + "type": "object" + }, + "AppsDynamiteRequiredMessageFeaturesMetadata": { + "description": "A list of capabilities that are used in this message.", + "id": "AppsDynamiteRequiredMessageFeaturesMetadata", + "properties": { + "requiredFeatures": { "items": { - "$ref": "CustomerQueryStats" + "enum": [ + "REQUIRED_FEATURE_UNSPECIFIED", + "REQUIRED_FEATURE_MESSAGE_QUOTING" + ], + "enumDescriptions": [ + "", + "" + ], + "type": "string" }, "type": "array" + } + }, + "type": "object" + }, + "AppsDynamiteRoomUpdatedMetadata": { + "id": "AppsDynamiteRoomUpdatedMetadata", + "properties": { + "groupDetailsMetadata": { + "$ref": "AppsDynamiteRoomUpdatedMetadataGroupDetailsUpdatedMetadata" }, - "totalQueryCount": { - "description": "Total successful query count (status code 200) for the given date range.", - "format": "int64", + "groupLinkSharingEnabled": { + "type": "boolean" + }, + "initiator": { + "$ref": "AppsDynamiteFrontendUser", + "description": "The user who initiated this room update. Complete member profiles, when ListTopicsRequest FetchOptions.USER is set. Otherwise, only the id will be filled in." + }, + "initiatorType": { + "description": "The type of the user who initiated this room update.", + "enum": [ + "INITIATOR_TYPE_UNSPECIFIED", + "INITIATOR_TYPE_END_USER", + "INITIATOR_TYPE_ADMIN" + ], + "enumDescriptions": [ + "", + "", + "" + ], "type": "string" + }, + "name": { + "description": "What was updated in the room.", + "type": "string" + }, + "renameMetadata": { + "$ref": "AppsDynamiteRoomUpdatedMetadataRoomRenameMetadata" + }, + "visibility": { + "$ref": "AppsDynamiteSharedGroupVisibility", + "description": "DEPRECATED: See GroupVisibility proto definition." } }, "type": "object" }, - "GetCustomerSearchApplicationStatsResponse": { - "description": "Response format for search application stats for a customer.", - "id": "GetCustomerSearchApplicationStatsResponse", + "AppsDynamiteRoomUpdatedMetadataGroupDetailsUpdatedMetadata": { + "id": "AppsDynamiteRoomUpdatedMetadataGroupDetailsUpdatedMetadata", "properties": { - "averageSearchApplicationCount": { - "description": "Average search application count for the given date range.", - "format": "int64", + "newGroupDetails": { + "$ref": "AppsDynamiteSharedGroupDetails" + }, + "prevGroupDetails": { + "$ref": "AppsDynamiteSharedGroupDetails" + } + }, + "type": "object" + }, + "AppsDynamiteRoomUpdatedMetadataRoomRenameMetadata": { + "id": "AppsDynamiteRoomUpdatedMetadataRoomRenameMetadata", + "properties": { + "newName": { "type": "string" }, - "stats": { - "description": "Search application stats by date.", - "items": { - "$ref": "CustomerSearchApplicationStats" - }, - "type": "array" + "prevName": { + "description": "NEXT_TAG: 3", + "type": "string" } }, "type": "object" }, - "GetCustomerSessionStatsResponse": { - "id": "GetCustomerSessionStatsResponse", + "AppsDynamiteRosterId": { + "description": "Primary key for Roster resource.", + "id": "AppsDynamiteRosterId", "properties": { - "stats": { - "items": { - "$ref": "CustomerSessionStats" - }, - "type": "array" + "id": { + "description": "Opaque, server-assigned ID of the Roster.", + "type": "string" } }, "type": "object" }, - "GetCustomerUserStatsResponse": { - "id": "GetCustomerUserStatsResponse", + "AppsDynamiteSharedAction": { + "description": "An action that describes the behavior when the form is submitted. For example, an Apps Script can be invoked to handle the form.", + "id": "AppsDynamiteSharedAction", "properties": { - "stats": { + "function": { + "description": "Apps Script function to invoke when the containing element is clicked/activated.", + "type": "string" + }, + "interaction": { + "enum": [ + "INTERACTION_UNSPECIFIED", + "OPEN_DIALOG" + ], + "enumDescriptions": [ + "Default value if interaction is not specified.", + "A dialog opens by clicking the button." + ], + "type": "string" + }, + "loadIndicator": { + "enum": [ + "SPINNER", + "NONE" + ], + "enumDescriptions": [ + "Displays a spinner to indicate that content is loading.", + "Nothing is displayed." + ], + "type": "string" + }, + "parameters": { + "description": "List of action parameters.", "items": { - "$ref": "CustomerUserStats" + "$ref": "AppsDynamiteSharedActionActionParameter" }, "type": "array" } }, "type": "object" }, - "GetDataSourceIndexStatsResponse": { - "id": "GetDataSourceIndexStatsResponse", + "AppsDynamiteSharedActionActionParameter": { + "description": "List of string parameters to supply when the action method is invoked. For example, consider three snooze buttons: snooze now, snooze 1 day, snooze next week. You might use action method = snooze(), passing the snooze type and snooze time in the list of string parameters.", + "id": "AppsDynamiteSharedActionActionParameter", "properties": { - "averageIndexedItemCount": { - "description": "Average item count for the given date range for which billing is done.", - "format": "int64", + "key": { + "description": "The name of the parameter for the action script.", "type": "string" }, - "stats": { - "description": "Summary of indexed item counts, one for each day in the requested range.", - "items": { - "$ref": "DataSourceIndexStats" - }, - "type": "array" + "value": { + "description": "The value of the parameter.", + "type": "string" } }, "type": "object" }, - "GetSearchApplicationQueryStatsResponse": { - "description": "Response format for getting query stats for a search application between given dates.", - "id": "GetSearchApplicationQueryStatsResponse", + "AppsDynamiteSharedActivityFeedAnnotationData": { + "description": "Next Id: 5", + "id": "AppsDynamiteSharedActivityFeedAnnotationData", "properties": { - "stats": { - "description": "Query stats per date for a search application.", - "items": { - "$ref": "SearchApplicationQueryStats" - }, - "type": "array" + "activityFeedMessageId": { + "description": "Unique id of the Activity Feed message. This will be in the form of \"space-id/message-id\" or \"dm-id/message-id\", where the space-/dm-id and message-id components are extracted from the top-level MessageId in message.proto (http://shortn/_SulV51DNfF). This is copied into annotations so that no client changes are needed to access this value. Clients will need a unique id for every Activity Feed message to implement click-to-source.", + "type": "string" }, - "totalQueryCount": { - "description": "Total successful query count (status code 200) for the given date range.", - "format": "int64", + "chatItem": { + "$ref": "AppsDynamiteSharedChatItem" + }, + "sharedUserInfo": { + "$ref": "UserInfo", + "description": "Only populated on read path and should not be persisted in storage." + }, + "userInfo": { + "$ref": "AppsDynamiteSharedActivityFeedAnnotationDataUserInfo", + "description": "Use shared_user_info instead." + } + }, + "type": "object" + }, + "AppsDynamiteSharedActivityFeedAnnotationDataUserInfo": { + "description": "UserId of the AF item updater to show and the updater count to show.", + "id": "AppsDynamiteSharedActivityFeedAnnotationDataUserInfo", + "properties": { + "updaterCountDisplayType": { + "description": "Describes how updater_count_to_show should be used.", + "enum": [ + "UPDATER_COUNT_DISPLAY_TYPE_UNSPECIFIED", + "EXACT_COUNT", + "NONZERO_COUNT" + ], + "enumDescriptions": [ + "", + "A precise updater count is known and the value set in updater_count_to_show should be used.", + "A precise updater count could not be calculated, but there is at least one. Any value set in updater_count_to_show should NOT be used." + ], + "type": "string" + }, + "updaterCountToShow": { + "description": "The number of updaters for clients to show, currently set to the total number of updaters minus the one set in updater_to_show.", + "format": "int32", + "type": "integer" + }, + "updaterToShow": { + "$ref": "AppsDynamiteUserId", + "description": "The updater for clients to show." + } + }, + "type": "object" + }, + "AppsDynamiteSharedAppProfile": { + "description": "Optional field for apps overriding display info", + "id": "AppsDynamiteSharedAppProfile", + "properties": { + "avatarEmoji": { + "description": "Displayed user avatar emoji.", + "type": "string" + }, + "avatarUrl": { + "description": "Displayed user avatar url.", + "type": "string" + }, + "name": { + "description": "Displayed user name.", "type": "string" } }, "type": "object" }, - "GetSearchApplicationSessionStatsResponse": { - "id": "GetSearchApplicationSessionStatsResponse", + "AppsDynamiteSharedAssistantAnnotationData": { + "description": "This is the internal version of the API proto at google3/google/chat/v1/gsuite_message_integration.proto Data used to render Assistant suggestions. See go/bullseye-rendering.", + "id": "AppsDynamiteSharedAssistantAnnotationData", "properties": { - "stats": { - "items": { - "$ref": "SearchApplicationSessionStats" - }, - "type": "array" + "suggestion": { + "$ref": "AppsDynamiteSharedAssistantSuggestion", + "description": "The suggestion to render in the card." + }, + "unfulfillable": { + "$ref": "AppsDynamiteSharedAssistantUnfulfillableRequest", + "description": "Set when the initial query was unfulfillable. Only an on-demand unfulfillable query will result in a response (not a proactive query). 1. On-demand: user explicitly invokes the bot 2. Proactive: bot makes proactive suggestion (when available) by listening to all user messages." } }, "type": "object" }, - "GetSearchApplicationUserStatsResponse": { - "id": "GetSearchApplicationUserStatsResponse", + "AppsDynamiteSharedAssistantDebugContext": { + "description": "Represents info regarding suggestion debug information.", + "id": "AppsDynamiteSharedAssistantDebugContext", "properties": { - "stats": { + "query": { + "description": "The query that triggered the resulting suggestion.", + "type": "string" + } + }, + "type": "object" + }, + "AppsDynamiteSharedAssistantFeedbackContext": { + "description": "Data needed to render feedback on the Assistant card", + "id": "AppsDynamiteSharedAssistantFeedbackContext", + "properties": { + "feedbackChips": { + "description": "Specifies a list of feedback chips to show", "items": { - "$ref": "SearchApplicationUserStats" + "$ref": "AppsDynamiteSharedAssistantFeedbackContextFeedbackChip" }, "type": "array" + }, + "thumbsFeedback": { + "description": "Whether the thumbs feedback is provided", + "enum": [ + "THUMBS_FEEDBACK_UNSPECIFIED", + "NONE_SELECTED", + "UP", + "DOWN" + ], + "enumDescriptions": [ + "Unspecified thumbs state", + "Thumbs are not selected", + "Thumbs up selected", + "Thumbs down selected" + ], + "type": "string" } }, "type": "object" }, - "GoogleDocsMetadata": { - "description": "The corpus specific metadata for office-type documents, from Google Docs and other sources. This message is passed to the scorer and beyond. Next tag: 7", - "id": "GoogleDocsMetadata", + "AppsDynamiteSharedAssistantFeedbackContextFeedbackChip": { + "description": "Suggestion chips for users to indicate positive or negative feedback", + "id": "AppsDynamiteSharedAssistantFeedbackContextFeedbackChip", "properties": { - "aclInfo": { - "$ref": "AclInfo", - "description": "Contains number of users and groups which can access the document." + "feedbackChipType": { + "description": "What type of chip to display", + "enum": [ + "FEEDBACK_CHIP_TYPE_UNSPECIFIED", + "WRONG_TRIGGER", + "WRONG_FILE", + "CORRECT_TRIGGER", + "CORRECT_FILE", + "DISRUPTIVE", + "OTHER" + ], + "enumDescriptions": [ + "Unspecified type of feedback chip", + "Bad/noisy triggering", + "Incorrect files were presented", + "The Assistant card triggered appropriately", + "The correct files were presented", + "The feature is disruptive", + "Other reason" + ], + "type": "string" }, - "documentType": { - "description": "The conceptual type (presentation, document, etc.) of this document.", + "state": { + "description": "Whether the chip has been selected", "enum": [ - "UNKNOWN", - "DOCUMENT", - "PRESENTATION", - "SPREADSHEET", - "PDF", - "IMAGE", - "BINARY_BLOB", - "FUSION_TABLE", - "FOLDER", - "DRAWING", - "VIDEO", - "FORM", - "DRAFT_SITE", - "DRAFT_SITE_PAGE", - "JAM", - "SHORTCUT", - "SCRIPT" + "FEEDBACK_CHIP_STATE_UNSPECIFIED", + "SELECTED", + "UNSELECTED" ], "enumDescriptions": [ - "If the type is unknown or not represented in this enum.", - "Writely, Word, etc.", - "Presently, PowerPoint, etc.", - "Trix, Excel, etc.", - "File types for Gdrive objects are below.", + "Unspecified selection state", + "Chip is selected", + "Chip is not selected" + ], + "type": "string" + } + }, + "type": "object" + }, + "AppsDynamiteSharedAssistantSessionContext": { + "description": "Session context specific for Assistant suggestions.", + "id": "AppsDynamiteSharedAssistantSessionContext", + "properties": { + "contextualSessionId": { + "description": "Unique identifier populated by the contextual request handler for each vertical (Ex: File Suggestions, Smart Scheduling, etc.) that can be used to track sessions end-to-end. May span multiple users (sender-specific).", + "type": "string" + } + }, + "type": "object" + }, + "AppsDynamiteSharedAssistantSuggestion": { + "description": "Data for an Assistant suggestion.", + "id": "AppsDynamiteSharedAssistantSuggestion", + "properties": { + "debugContext": { + "$ref": "AppsDynamiteSharedAssistantDebugContext", + "description": "Info regarding suggestion debug information." + }, + "feedbackContext": { + "$ref": "AppsDynamiteSharedAssistantFeedbackContext", + "description": "Data for rendering feedback." + }, + "findDocumentSuggestion": { + "$ref": "AppsDynamiteSharedFindDocumentSuggestion", + "description": "Suggestion type that suggests documents (docs, slides, sheets)." + }, + "serializedSuggestions": { + "description": "String representation of the suggestions provided.", + "type": "string" + }, + "sessionContext": { + "$ref": "AppsDynamiteSharedAssistantSessionContext", + "description": "Session context specific to the Assistant suggestion." + } + }, + "type": "object" + }, + "AppsDynamiteSharedAssistantUnfulfillableRequest": { + "description": "Data for a response to an unfulfillable request.", + "id": "AppsDynamiteSharedAssistantUnfulfillableRequest", + "properties": {}, + "type": "object" + }, + "AppsDynamiteSharedAvatarInfo": { + "id": "AppsDynamiteSharedAvatarInfo", + "properties": { + "emoji": { + "$ref": "AppsDynamiteSharedEmoji" + } + }, + "type": "object" + }, + "AppsDynamiteSharedBackendUploadMetadata": { + "description": "Metadata used only in Dynamite backend for uploaded attachments.", + "id": "AppsDynamiteSharedBackendUploadMetadata", + "properties": { + "blobPath": { + "description": "Blobstore path for the uploaded attachment", + "type": "string" + }, + "contentName": { + "description": "The original file name for the content, not the full path.", + "type": "string" + }, + "contentSize": { + "description": "Scotty reported content size by default. http://google3/uploader/agent/scotty_agent.proto?l=101&rcl=140889785", + "format": "int64", + "type": "string" + }, + "contentType": { + "description": "Type is from Scotty's best_guess by default: http://google3/uploader/agent/scotty_agent.proto?l=51&rcl=140889785", + "type": "string" + }, + "dlpScanOutcome": { + "description": "The results of the Data Loss Prevention (DLP) scan of the attachment. DEPRECATED: use dlp_scan_summary instead.", + "enum": [ + "SCAN_UNKNOWN_OUTCOME", + "SCAN_SUCCEEDED_NO_VIOLATION", + "SCAN_SUCCEEDED_BLOCK", + "SCAN_SUCCEEDED_WARN", + "SCAN_SUCCEEDED_AUDIT_ONLY", + "SCAN_FAILURE_EXCEPTION", + "SCAN_FAILURE_TIMEOUT", + "SCAN_FAILURE_ALL_RULES_FAILED", + "SCAN_FAILURE_ILLEGAL_STATE_FOR_ATTACHMENTS", + "SCAN_SKIPPED_EXPERIMENT_DISABLED", + "SCAN_SKIPPED_CONSUMER", + "SCAN_SKIPPED_NON_HUMAN_USER", + "SCAN_SKIPPED_NO_MESSAGE", + "SCAN_SKIPPED_USER_ACKNOWLEDGED_WARNING", + "SCAN_SKIPPED_MESSAGE_FROM_UNSUPPORTED_ORIGIN", + "SCAN_RULE_EVALUATION_SKIPPED_NO_RULES_FOUND", + "SCAN_RULE_EVALUATION_SKIPPED_NO_APPLICABLE_RULES_FOR_ACTION_PARAMS", + "SCAN_RULE_EVALUATION_SKIPPED_NO_APPLICABLE_RULES_FOR_TRIGGER", + "SCAN_RULE_EVALUATION_SKIPPED_CHANGELING_PERMANENT_ERROR", + "SCAN_RULE_EVALUATION_SKIPPED_CHANGELING_EMPTY_RESPONSE", + "SCAN_SUCCEEDED_WITH_FAILURES_NO_VIOLATION", + "SCAN_SUCCEEDED_WITH_FAILURES_BLOCK", + "SCAN_SUCCEEDED_WITH_FAILURES_WARN", + "SCAN_SUCCEEDED_WITH_FAILURES_AUDIT_ONLY" + ], + "enumDescriptions": [ + "", + "This means no violation is detected on the given message/attachment.", + "Violation is detected. The message/attachment will be blocked (or deleted if this happens in failure recovery), the user will be warned, and the violation will be logged to BIP.", + "Violation is detected. The user will be warned, and the violation will be logged to BIP.", + "Violation is detected and will be logged to BIP (no user-facing action performed).", + "Rule fetch and evaluation were attempted but an exception occurred.", + "Rule fetch and evaluation were attempted but the scanning timed out.", + "Rule fetch completed and evaluation were attempted, but all of the rules failed to be evaluated.", + "An IllegalStateException is thrown when executing DLP on attachments. This could happen if the space row is missing.", + "Rule fetch and evaluation is skipped because DLP is not enabled for the user.", + "Rule fetch and evaluation are skipped because the user sending message is consumer.", + "Rule fetch and evaluation are skipped because the user sending message is a non-human user (i.e. a bot).", + "Rule fetch and evaluation are skipped because there is no message to scan. Deprecated: this should not happen since there must be message or attachment for DLP scan.", + "Rule fetch and evaluation are skipped because the user has acknowledged the warning on the message that triggered the Warn violation and sent the message anyway.", + "Scanning was skipped because the message originated from Interop or Babel.", + "Rule fetch happened, but rule evaluation is skipped because no rules were found.", + "Rule fetch happened, but rule evaluation is skipped because none of the rules are applicable to the given action params.", + "Rule fetch happened, but rule evaluation is skipped because none of the rules are applicable to the given trigger.", + "Rule fetch happened, but rule evaluation is skipped because Changeling returned permanent failure while converting the attachment to text.", + "Rule fetch happened, but rule evaluation is skipped because Changeling returned an empty response while converting the attachment to text.", + "Rules were fetched but some evaluations failed. No violation was found in the rules that were successfully evaluated.", + "Rules were fetched but some evaluations failed. A blocking violation was found in the rules that were successfully evaluated. The message/attachment will be blocked, the user will be notified, and the violation will be logged to BIP. A blocking violation takes precedence over all other violation types.", + "Rules were fetched but some evaluations failed. A warn violation was found in the rules that were successfully evaluated. The user will be warned, and the violation will be logged to BIP.", + "Rules were fetched but some evaluations failed. An audit-only violation was found in the rules that were successfully evaluated. The violation will be logged to BIP (no user-facing action performed)." + ], + "type": "string" + }, + "dlpScanSummary": { + "$ref": "AppsDynamiteBackendDlpScanSummary", + "description": "Summary of a Data Loss Prevention (DLP) scan of the attachment. Attachments are evaluated in the backend when they are uploaded." + }, + "groupId": { + "$ref": "AppsDynamiteGroupId", + "description": "GroupId to which this attachment is uploaded." + }, + "originalDimension": { + "$ref": "AppsDynamiteSharedDimension", + "description": "Original dimension of the content. Only set for image attachments." + }, + "quoteReplyMessageId": { + "$ref": "AppsDynamiteMessageId", + "description": "The message id of a quote reply referencing this attachment. When present, this attachment has been quoted in a reply message. Normally, the attachment is fetched through the message id in the blob_path, but in the case of a quote reply, the blob_path would contain the quoted message id. Thus this message id field is needed to fetch the quote reply message instead. This field is conditionally populated at read time for quotes and never persisted in storage. See go/message-quoting-attachments for more context." + }, + "sha256": { + "description": "The SHA256 hash of the attachment bytes.", + "format": "byte", + "type": "string" + }, + "uploadIp": { + "description": "User IP address at upload time. Ex. \"123.1.2.3\". Used by Ares abuse scanning.", + "type": "string" + }, + "uploadTimestampUsec": { + "description": "Timestamp of when user finished uploading the content.", + "format": "int64", + "type": "string" + }, + "videoId": { + "description": "VideoID of the video attachments. This ID shall meets the Youtube ID format of 16 hex characters. For example, '4c14b8825af6059b' is a valid ID.", + "type": "string" + }, + "videoThumbnailBlobId": { + "description": "Full Blobstore ID for the video thumbnail.", + "type": "string" + }, + "virusScanResult": { + "description": "Result for a virus scan.", + "enum": [ + "UNKNOWN_VIRUS_SCAN_RESULT", + "CLEAN", + "INFECTED", + "ERROR", + "POLICY_VIOLATION" + ], + "enumDescriptions": [ + "", + "", + "", + "", + "The document violates Google's policy for executables and archives." + ], + "type": "string" + } + }, + "type": "object" + }, + "AppsDynamiteSharedBorderStyle": { + "description": "Represents the complete border style applied to widgets.", + "id": "AppsDynamiteSharedBorderStyle", + "properties": { + "cornerRadius": { + "description": "The corner radius for the border.", + "format": "int32", + "type": "integer" + }, + "strokeColor": { + "$ref": "Color", + "description": "The colors to use when the type is `BORDER_TYPE_STROKE`." + }, + "type": { + "description": "The border type.", + "enum": [ + "BORDER_TYPE_UNSPECIFIED", + "NO_BORDER", + "STROKE" + ], + "enumDescriptions": [ + "No value specified.", + "No border.", + "Outline." + ], + "type": "string" + } + }, + "type": "object" + }, + "AppsDynamiteSharedButton": { + "description": "A button. Can be a text button or an image button.", + "id": "AppsDynamiteSharedButton", + "properties": { + "altText": { + "description": "The alternative text used for accessibility. Has no effect when an icon is set; use `icon.alt_text` instead.", + "type": "string" + }, + "color": { + "$ref": "Color", + "description": "If set, the button is filled with a solid background." + }, + "disabled": { + "description": "If true, the button is displayed in a disabled state and doesn't respond to user actions.", + "type": "boolean" + }, + "icon": { + "$ref": "AppsDynamiteSharedIcon", + "description": "The icon image." + }, + "onClick": { + "$ref": "AppsDynamiteSharedOnClick", + "description": "The action to perform when the button is clicked." + }, + "text": { + "description": "The text of the button.", + "type": "string" + } + }, + "type": "object" + }, + "AppsDynamiteSharedButtonList": { + "description": "A list of buttons layed out horizontally.", + "id": "AppsDynamiteSharedButtonList", + "properties": { + "buttons": { + "items": { + "$ref": "AppsDynamiteSharedButton" + }, + "type": "array" + } + }, + "type": "object" + }, + "AppsDynamiteSharedCalendarEventAnnotationData": { + "id": "AppsDynamiteSharedCalendarEventAnnotationData", + "properties": { + "calendarEvent": { + "$ref": "AppsDynamiteSharedCalendarEventAnnotationDataCalendarEvent" + }, + "eventCreation": { + "$ref": "AppsDynamiteSharedCalendarEventAnnotationDataEventCreation", + "description": "Notification about the creation of an event." + } + }, + "type": "object" + }, + "AppsDynamiteSharedCalendarEventAnnotationDataCalendarEvent": { + "id": "AppsDynamiteSharedCalendarEventAnnotationDataCalendarEvent", + "properties": { + "endTime": { + "$ref": "AppsDynamiteSharedCalendarEventAnnotationDataCalendarEventTime", + "description": "The end time of the event." + }, + "eventId": { + "description": "ID of the event.", + "type": "string" + }, + "startTime": { + "$ref": "AppsDynamiteSharedCalendarEventAnnotationDataCalendarEventTime", + "description": "The start time of the event." + }, + "title": { + "description": "Title of the event (at the time the message was generated).", + "type": "string" + } + }, + "type": "object" + }, + "AppsDynamiteSharedCalendarEventAnnotationDataCalendarEventTime": { + "id": "AppsDynamiteSharedCalendarEventAnnotationDataCalendarEventTime", + "properties": { + "allDay": { + "$ref": "Date", + "description": "All day event." + }, + "timed": { + "description": "Non all day event.", + "format": "google-datetime", + "type": "string" + } + }, + "type": "object" + }, + "AppsDynamiteSharedCalendarEventAnnotationDataEventCreation": { + "description": "Creation of an event (no extra data for now).", + "id": "AppsDynamiteSharedCalendarEventAnnotationDataEventCreation", + "properties": {}, + "type": "object" + }, + "AppsDynamiteSharedCallAnnotationData": { + "description": "Data used to render Meet or Google Voice chips in Chat. See go/dynamite-calling-artifacts-in-chat.", + "id": "AppsDynamiteSharedCallAnnotationData", + "properties": { + "callEndedTimestamp": { + "description": "Timestamp when the call ended. Used to render the call ended system message.", + "format": "google-datetime", + "type": "string" + }, + "callMetadata": { + "$ref": "AppsDynamiteSharedCallMetadata", + "description": "Required. Call metadata required to create the call artifacts. For now, the metadata contains only the call id to identify the call. This field allows additional data (e.g. voice call type) to be added if needed in the future." + }, + "callStatus": { + "description": "Required. Indicates the call status for the space. Used to determine the chip's state.", + "enum": [ + "CALL_STATUS_UNSPECIFIED", + "CALL_STARTED", + "CALL_MISSED", + "CALL_ENDED" + ], + "enumDescriptions": [ + "Default value for the enum. DO NOT USE.", + "Indicates that the call has started.", + "Indicates that the call is missed.", + "Indicates that the call has ended." + ], + "type": "string" + } + }, + "type": "object" + }, + "AppsDynamiteSharedCallMetadata": { + "description": "Metadata required to generate call artifacts. This can either be the metadata for a Meet or, in the future, Google Voice call.", + "id": "AppsDynamiteSharedCallMetadata", + "properties": { + "meetMetadata": { + "$ref": "AppsDynamiteSharedMeetMetadata", + "description": "Metadata specific for the Meet call." + } + }, + "type": "object" + }, + "AppsDynamiteSharedCard": { + "description": "A card is a UI element that can contain UI widgets such as text and images. For more information, see Cards . For example, the following JSON creates a card that has a header with the name, position, icons, and link for a contact, followed by a section with contact information like email and phone number. ``` { \"header\": { \"title\": \"Heba Salam\", \"subtitle\": \"Software Engineer\", \"imageStyle\": \"ImageStyle.AVATAR\", \"imageUrl\": \"https://example.com/heba_salam.png\", \"imageAltText\": \"Avatar for Heba Salam\" }, \"sections\" : [ { \"header\": \"Contact Info\", \"widgets\": [ { \"decorated_text\": { \"icon\": { \"knownIcon\": \"EMAIL\" }, \"content\": \"heba.salam@example.com\" } }, { \"decoratedText\": { \"icon\": { \"knownIcon\": \"PERSON\" }, \"content\": \"Online\" } }, { \"decoratedText\": { \"icon\": { \"knownIcon\": \"PHONE\" }, \"content\": \"+1 (555) 555-1234\" } }, { \"buttons\": [ { \"textButton\": { \"text\": \"Share\", }, \"onClick\": { \"openLink\": { \"url\": \"https://example.com/share\" } } }, { \"textButton\": { \"text\": \"Edit\", }, \"onClick\": { \"action\": { \"function\": \"goToView\", \"parameters\": [ { \"key\": \"viewType\", \"value\": \"EDIT\" } ], \"loadIndicator\": \"LoadIndicator.SPINNER\" } } } ] } ], \"collapsible\": true, \"uncollapsibleWidgetsCount\": 3 } ], \"cardActions\": [ { \"actionLabel\": \"Send Feedback\", \"onClick\": { \"openLink\": { \"url\": \"https://example.com/feedback\" } } } ], \"name\": \"contact-card-K3wB6arF2H9L\" } ```", + "id": "AppsDynamiteSharedCard", + "properties": { + "cardActions": { + "description": "The actions of this card. They are added to a card's generated toolbar menu. For example, the following JSON constructs a card action menu with Settings and Send Feedback options: ``` \"card_actions\": [ { \"actionLabel\": \"Setting\", \"onClick\": { \"action\": { \"functionName\": \"goToView\", \"parameters\": [ { \"key\": \"viewType\", \"value\": \"SETTING\" } ], \"loadIndicator\": \"LoadIndicator.SPINNER\" } } }, { \"actionLabel\": \"Send Feedback\", \"onClick\": { \"openLink\": { \"url\": \"https://example.com/feedback\" } } } ] ```", + "items": { + "$ref": "AppsDynamiteSharedCardCardAction" + }, + "type": "array" + }, + "header": { + "$ref": "AppsDynamiteSharedCardCardHeader", + "description": "The header of the card. A header usually contains a title and an image." + }, + "name": { + "description": "Name of the card, which is used as a identifier for the card in card navigation.", + "type": "string" + }, + "sections": { + "description": "Sections are separated by a line divider.", + "items": { + "$ref": "AppsDynamiteSharedCardSection" + }, + "type": "array" + } + }, + "type": "object" + }, + "AppsDynamiteSharedCardCardAction": { + "description": "A card action is the action associated with the card. For example, an invoice card might include actions such as delete invoice, email invoice, or open the invoice in a browser.", + "id": "AppsDynamiteSharedCardCardAction", + "properties": { + "actionLabel": { + "description": "The label that displays as the action menu item.", + "type": "string" + }, + "onClick": { + "$ref": "AppsDynamiteSharedOnClick", + "description": "The onclick action for this action item." + } + }, + "type": "object" + }, + "AppsDynamiteSharedCardCardHeader": { + "id": "AppsDynamiteSharedCardCardHeader", + "properties": { + "imageAltText": { + "description": "The alternative text of this image which is used for accessibility.", + "type": "string" + }, + "imageType": { + "description": "The image's type.", + "enum": [ + "SQUARE", + "CIRCLE" + ], + "enumDescriptions": [ + "Applies no cropping to the image.", + "Applies a circular mask to the image." + ], + "type": "string" + }, + "imageUrl": { + "description": "The URL of the image in the card header.", + "type": "string" + }, + "subtitle": { + "description": "The subtitle of the card header.", + "type": "string" + }, + "title": { + "description": "The title of the card header. The title must be specified. The header has a fixed height: if both a title and subtitle are specified, each takes up one line. If only the title is specified, it takes up both lines.", + "type": "string" + } + }, + "type": "object" + }, + "AppsDynamiteSharedCardClickSuggestion": { + "description": "Card click which identifies one suggestion provided by the app/bot.", + "id": "AppsDynamiteSharedCardClickSuggestion", + "properties": { + "actionId": { + "description": "Identify the button/action that created the suggestion. A simple example would be a card button within the stream, or the id which can identify a specific suggestion.", + "type": "string" + }, + "suggestionMessageId": { + "$ref": "AppsDynamiteMessageId", + "description": "The message_id for the message that was posted by the app/bot." + } + }, + "type": "object" + }, + "AppsDynamiteSharedCardSection": { + "description": "A section contains a collection of widgets that are rendered vertically in the order that they are specified. Across all platforms, cards have a narrow fixed width, so there is currently no need for layout properties, for example, float.", + "id": "AppsDynamiteSharedCardSection", + "properties": { + "collapsible": { + "description": "Indicates whether this section is collapsible. If a section is collapsible, the description must be given.", + "type": "boolean" + }, + "header": { + "description": "The header of the section. Formatted text is supported.", + "type": "string" + }, + "uncollapsibleWidgetsCount": { + "description": "The number of uncollapsible widgets. For example, when a section contains five widgets and the `numUncollapsibleWidget` is set to `2`, the first two widgets are always shown and the last three are collapsed as default. The `numUncollapsibleWidget` is taken into account only when collapsible is set to `true`.", + "format": "int32", + "type": "integer" + }, + "widgets": { + "description": "A section must contain at least 1 widget.", + "items": { + "$ref": "AppsDynamiteSharedWidget" + }, + "type": "array" + } + }, + "type": "object" + }, + "AppsDynamiteSharedChatItem": { + "description": "Next Id: 5", + "id": "AppsDynamiteSharedChatItem", + "properties": { + "activityInfo": { + "description": "Information needed to render the specific type of feed item.", + "items": { + "$ref": "AppsDynamiteSharedChatItemActivityInfo" + }, + "type": "array" + }, + "groupInfo": { + "$ref": "AppsDynamiteSharedChatItemGroupInfo", + "description": "Only populated on read path and should not be persisted in storage." + }, + "messageInfo": { + "$ref": "AppsDynamiteSharedMessageInfo", + "description": "Additional information about the original chat message that isn't captured in the top-level message proto." + } + }, + "type": "object" + }, + "AppsDynamiteSharedChatItemActivityInfo": { + "id": "AppsDynamiteSharedChatItemActivityInfo", + "properties": { + "feedItemNudge": { + "$ref": "AppsDynamiteSharedChatItemActivityInfoFeedItemNudge" + }, + "feedItemReactions": { + "$ref": "AppsDynamiteSharedChatItemActivityInfoFeedItemReactions" + }, + "feedItemThreadReply": { + "$ref": "AppsDynamiteSharedChatItemActivityInfoFeedItemThreadReply" + }, + "feedItemUserMention": { + "$ref": "AppsDynamiteSharedChatItemActivityInfoFeedItemUserMention" + } + }, + "type": "object" + }, + "AppsDynamiteSharedChatItemActivityInfoFeedItemNudge": { + "description": "Existence of this attribute indicates that the AF item is for a message nudge item.", + "id": "AppsDynamiteSharedChatItemActivityInfoFeedItemNudge", + "properties": { + "nudgeType": { + "description": "Nudge type of the nudge feed item.", + "enum": [ + "UNDEFINED", + "REPLY", + "FOLLOW_UP" + ], + "enumDescriptions": [ + "", + "The message receiver is nudged since the message may require a reply.", + "The message creator is nudged since the message may require a follow-up." + ], + "type": "string" + } + }, + "type": "object" + }, + "AppsDynamiteSharedChatItemActivityInfoFeedItemReactions": { + "description": "Existence of this attribute indicates that the AF item is for message reactions, but it is intentionally left empty since the list of reactions can be found in the top-level Message.Reactions.", + "id": "AppsDynamiteSharedChatItemActivityInfoFeedItemReactions", + "properties": {}, + "type": "object" + }, + "AppsDynamiteSharedChatItemActivityInfoFeedItemThreadReply": { + "description": "Existence of this attribute indicates that the AF item is for thread reply.", + "id": "AppsDynamiteSharedChatItemActivityInfoFeedItemThreadReply", + "properties": { + "replyType": { + "description": "Reply type of the thread reply feed item. The field is not persisted in storage. It's populated when constructing Activity Feed payload.", + "enum": [ + "UNSPECIFIED", + "ROOT", + "FOLLOWER" + ], + "enumDescriptions": [ + "", + "The thread reply feed item is for the root message poster.", + "The thread reply feed item is for a thread follower who's not the root message poster." + ], + "type": "string" + } + }, + "type": "object" + }, + "AppsDynamiteSharedChatItemActivityInfoFeedItemUserMention": { + "description": "Existence of this attribute indicates that the AF item is for a user mention item.", + "id": "AppsDynamiteSharedChatItemActivityInfoFeedItemUserMention", + "properties": { + "type": { + "description": "User mention type", + "enum": [ + "TYPE_UNSPECIFIED", + "DIRECT", + "ALL" + ], + "enumDescriptions": [ + "Mention type not specified.", + "Mentioned directly by name.", + "Mentioned by @all." + ], + "type": "string" + } + }, + "type": "object" + }, + "AppsDynamiteSharedChatItemGroupInfo": { + "description": "Information about the space that the item originated from. This will be used to display Activity Feed items from rooms, and only contain the necessary information, such as the space name and group attributes. NEXT TAG: 6", + "id": "AppsDynamiteSharedChatItemGroupInfo", + "properties": { + "attributeCheckerGroupType": { + "description": "This is needed to determine what type of group the source message came from to support click-to-source.", + "enum": [ + "ATTRIBUTE_CHECKER_GROUP_TYPE_UNSPECIFIED", + "ONE_TO_ONE_HUMAN_DM", + "ONE_TO_ONE_BOT_DM", + "IMMUTABLE_MEMBERSHIP_GROUP_DM", + "FLAT_ROOM", + "THREADED_ROOM", + "IMMUTABLE_MEMBERSHIP_HUMAN_DM", + "POST_ROOM", + "ACTIVITY_FEED" + ], + "enumDescriptions": [ + "LINT.IfChange", + "A 1:1 DM that has two human users. Deprecated. Use IMMUTABLE_MEMBERSHIP_HUMAN_DM instead.", + "A 1:1 DM between a human user and a bot.", + "A group DM that has multiple human users with immutable group membership. Deprecated. Use IMMUTABLE_MEMBERSHIP_HUMAN_DM instead.", + "A flat room that contains a single thread.", + "A threaded room. Topics in this room are threaded, and users can reply to any topic.", + "A DM with immutable group membership. It can be a 1:1 DM or a group DM with multiple human users.", + "A post room. Topics in this room are organized in a post/reply style. See the design doc for more details: go/PostRoomsInDynamite.", + "Represents an Activity Feed space. These groups are modeled like flat rooms and contain items for users to catch up on important things. Each user should only have one group of this type. See go/activity-feed. LINT.ThenChange(//depot/google3/logs/proto/apps_dynamite/dynamite_visual_element_entry.proto:LoggingGroupType,//depot/google3/java/com/google/apps/dynamite/v1/web/ui/group/groups.js:LoggingGroupType)" + ], + "type": "string" + }, + "groupName": { + "type": "string" + }, + "groupReadTimeUsec": { + "description": "Timestamp of when the group containing the message has been read by the user.", + "format": "int64", + "type": "string" + }, + "inlineThreadingEnabled": { + "description": "Indicates whether the group has inline replies enabled. If enabled, clients will render the space with inline replies.", + "type": "boolean" + } + }, + "type": "object" + }, + "AppsDynamiteSharedColumns": { + "description": "Represents a Columns widget that displays a single row of columns.", + "id": "AppsDynamiteSharedColumns", + "properties": { + "columnItems": { + "description": "Each card supports up to 2 columns.", + "items": { + "$ref": "AppsDynamiteSharedColumnsColumn" + }, + "type": "array" + }, + "wrapStyle": { + "description": "Controls how the column resizes based on screen width.", + "enum": [ + "WRAP_STYLE_UNSPECIFIED", + "NOWRAP", + "WRAP" + ], + "enumDescriptions": [ + "Unspecified.", + "Column widgets don't wrap.", + "Column Widgets wrap." + ], + "type": "string" + } + }, + "type": "object" + }, + "AppsDynamiteSharedColumnsColumn": { + "description": "Represents a Column that consists of widgets stacked vertically.", + "id": "AppsDynamiteSharedColumnsColumn", + "properties": { + "horizontalAlignment": { + "description": "The horizontal alignment of the column.", + "enum": [ + "HORIZONTAL_ALIGNMENT_UNSPECIFIED", + "START", + "CENTER", + "END" + ], + "enumDescriptions": [ + "Unspecified alignment.", + "Alignment to the start position.", + "Alignment to the center position.", + "Alignment to the end position." + ], + "type": "string" + }, + "horizontalSizeStyle": { + "description": "Specifies how the column content is sized horizontally.", + "enum": [ + "HORIZONTAL_SIZE_STYLE_UNSPECIFIED", + "FILL_AVAILABLE_SPACE", + "FILL_MINIMUM_SPACE" + ], + "enumDescriptions": [ + "Unspecified.", + "Fills up the available horizontal width. Default value if unspecified.", + "Fills up the minimum horizontal width." + ], + "type": "string" + }, + "verticalAlignment": { + "description": "The vertical alignment of the column.", + "enum": [ + "VERTICAL_ALIGNMENT_UNSPECIFIED", + "CENTER", + "TOP", + "BOTTOM" + ], + "enumDescriptions": [ + "Unspecified.", + "Aligns the widget in the center of the column. Default value if unspecified.", + "Aligns the widget at the top of the column.", + "Aligns the widget at the bottom of the column." + ], + "type": "string" + }, + "widgets": { + "description": "LINT.ThenChange(//google/apps/card/v1/card.proto) Array of widgets included in the column.", + "items": { + "$ref": "AppsDynamiteSharedColumnsColumnWidgets" + }, + "type": "array" + } + }, + "type": "object" + }, + "AppsDynamiteSharedColumnsColumnWidgets": { + "description": "LINT.IfChange The `column` widget can contain these widgets.", + "id": "AppsDynamiteSharedColumnsColumnWidgets", + "properties": { + "buttonList": { + "$ref": "AppsDynamiteSharedButtonList", + "description": "ButtonList widget." + }, + "dateTimePicker": { + "$ref": "AppsDynamiteSharedDateTimePicker", + "description": "DateTimePicker widget." + }, + "decoratedText": { + "$ref": "AppsDynamiteSharedDecoratedText", + "description": "DecoratedText widget." + }, + "image": { + "$ref": "AppsDynamiteSharedImage", + "description": "Image widget." + }, + "selectionInput": { + "$ref": "AppsDynamiteSharedSelectionInput", + "description": "SelectionInput widget." + }, + "textInput": { + "$ref": "AppsDynamiteSharedTextInput", + "description": "TextInput widget." + }, + "textParagraph": { + "$ref": "AppsDynamiteSharedTextParagraph", + "description": "Text paragraph widget." + } + }, + "type": "object" + }, + "AppsDynamiteSharedContentReportType": { + "description": "Denotes a type of content report a user can send.", + "id": "AppsDynamiteSharedContentReportType", + "properties": { + "systemViolation": { + "description": "Required. Google-defined system violation, covering the most common violations.", + "enum": [ + "VIOLATION_UNSPECIFIED", + "HARASSMENT", + "DISCRIMINATION", + "EXPLICIT_CONTENT", + "SPAM", + "CONFIDENTIAL_INFORMATION", + "SENSITIVE_INFORMATION", + "OTHER" + ], + "enumDescriptions": [ + "Default value if unset. Do not use directly. This value should not appear as a selectable violation during content reporting.", + "\"Harassment, offensive, or rude behavior\"", + "\"Discrimination or harmful stereotypes against anyone, including protected groups\"", + "\"Explicit content that's graphic, violent, or otherwise inappropriate\"", + "\"Spam\"", + "\"Confidential information\"", + "\"Sensitive information\"", + "\"Something else\"" + ], + "type": "string" + } + }, + "type": "object" + }, + "AppsDynamiteSharedCustomEmoji": { + "description": "Proto representation of a custom emoji. May be used in both APIs and in Spanner, but certain fields should be restricted to one or the other. See the per-field documentation for details. NEXT_TAG: 14", + "id": "AppsDynamiteSharedCustomEmoji", + "properties": { + "blobId": { + "description": "ID for the underlying image data in Blobstore. This field should *only* be present in Spanner or within the server, but should not be exposed in public APIs.", + "type": "string" + }, + "contentType": { + "description": "Content type of the file used to upload the emoji. Used for takeout. Written to Spanner when the emoji is created.", + "type": "string" + }, + "createTimeMicros": { + "description": "Time when the Emoji was created, in microseconds. This field may be present in Spanner, within the server, or in public APIs.", + "format": "int64", + "type": "string" + }, + "creatorUserId": { + "$ref": "AppsDynamiteUserId", + "description": "This field should *never* be persisted to Spanner." + }, + "deleteTimeMicros": { + "description": "Time when the emoji was deleted, in microseconds. This field may be present in Spanner, within the server, or in public APIs. Only present if the emoji has been deleted.", + "format": "int64", + "type": "string" + }, + "ephemeralUrl": { + "description": "Output only. A short-lived URL clients can use for directly accessing a custom emoji image. This field is intended for API consumption, and should *never* be persisted to Spanner.", + "readOnly": true, + "type": "string" + }, + "ownerCustomerId": { + "$ref": "AppsDynamiteCustomerId", + "description": "This field should *never* be persisted to Spanner." + }, + "readToken": { + "description": "Opaque token that clients use to construct the URL for accessing the custom emoji\u2019s image data. This field is intended for API consumption, and should *never* be persisted to Spanner.", + "type": "string" + }, + "shortcode": { + "description": "User-provided, human-readable ID for the custom emoji. Users are expected to observe this field in the UI instead of the UUID. This shortcode should be unique within an organization, but has no global uniqueness guarantees, unlike the UUID. This field should *never* be persisted to Spanner.", + "type": "string" + }, + "state": { + "description": "Snapshot of the current state of the emoji, which may differ from the source-of-truth in the CustomEmojis table. This field should *never* be persisted to Spanner.", + "enum": [ + "EMOJI_STATE_UNSPECIFIED", + "EMOJI_ENABLED", + "EMOJI_SYSTEM_DISABLED", + "EMOJI_HIDDEN", + "EMOJI_DELETED" + ], + "enumDescriptions": [ + "", + "Emoji is visible and available to be used, subject to access control requirements.", + "Emoji can no longer be used (e.g. due to a shortcode conflict), but is not removed from existing embeddings.", + "Emoji is hidden from pickers, so new usages are not allowed, but is not removed from existing embeddings.", + "Emoji is removed everywhere and is not available to end-users." + ], + "type": "string" + }, + "updateTimeMicros": { + "format": "int64", + "type": "string" + }, + "uuid": { + "description": "Unique key for a custom emoji resource. Required. This field is *always* populated.", + "type": "string" + } + }, + "type": "object" + }, + "AppsDynamiteSharedDateTimePicker": { + "description": "The widget that lets users to specify a date and time.", + "id": "AppsDynamiteSharedDateTimePicker", + "properties": { + "label": { + "description": "The label for the field that displays to the user.", + "type": "string" + }, + "name": { + "description": "The name of the text input that's used in formInput, and uniquely identifies this input.", + "type": "string" + }, + "onChangeAction": { + "$ref": "AppsDynamiteSharedAction", + "description": "Triggered when the user clicks Save or Clear from the date/time picker dialog. This is only triggered if the value changed as a result of the Save/Clear operation." + }, + "timezoneOffsetDate": { + "description": "The number representing the time zone offset from UTC, in minutes. If set, the `value_ms_epoch` is displayed in the specified time zone. If not set, it uses the user's time zone setting on the client side.", + "format": "int32", + "type": "integer" + }, + "type": { + "description": "The type of the date/time picker.", + "enum": [ + "DATE_AND_TIME", + "DATE_ONLY", + "TIME_ONLY" + ], + "enumDescriptions": [ + "The user can select a date and time.", + "The user can only select a date.", + "The user can only select a time." + ], + "type": "string" + }, + "valueMsEpoch": { + "description": "The value to display as the default value before user input or previous user input. It is represented in milliseconds (Epoch time). For `DATE_AND_TIME` type, the full epoch value is used. For `DATE_ONLY` type, only date of the epoch time is used. For `TIME_ONLY` type, only time of the epoch time is used. For example, you can set epoch time to `3 * 60 * 60 * 1000` to represent 3am.", + "format": "int64", + "type": "string" + } + }, + "type": "object" + }, + "AppsDynamiteSharedDecoratedText": { + "description": "A widget that displays text with optional decorations such as a label above or below the text, an icon in front of the text, a selection widget or a button after the text.", + "id": "AppsDynamiteSharedDecoratedText", + "properties": { + "bottomLabel": { + "description": "The formatted text label that shows below the main text.", + "type": "string" + }, + "button": { + "$ref": "AppsDynamiteSharedButton", + "description": "A button that can be clicked to trigger an action." + }, + "endIcon": { + "$ref": "AppsDynamiteSharedIcon", + "description": "An icon displayed after the text." + }, + "icon": { + "$ref": "AppsDynamiteSharedIcon", + "description": "Deprecated in favor of start_icon." + }, + "onClick": { + "$ref": "AppsDynamiteSharedOnClick", + "description": "Only the top and bottom label and content region are clickable." + }, + "startIcon": { + "$ref": "AppsDynamiteSharedIcon", + "description": "The icon displayed in front of the text." + }, + "switchControl": { + "$ref": "AppsDynamiteSharedDecoratedTextSwitchControl", + "description": "A switch widget can be clicked to change its state or trigger an action." + }, + "text": { + "description": "Required. The main widget formatted text. See Text formatting for details.", + "type": "string" + }, + "topLabel": { + "description": "The formatted text label that shows above the main text.", + "type": "string" + }, + "wrapText": { + "description": "The wrap text setting. If `true`, the text is wrapped and displayed in multiline. Otherwise, the text is truncated.", + "type": "boolean" + } + }, + "type": "object" + }, + "AppsDynamiteSharedDecoratedTextSwitchControl": { + "id": "AppsDynamiteSharedDecoratedTextSwitchControl", + "properties": { + "controlType": { + "description": "The control type, either switch or checkbox.", + "enum": [ + "SWITCH", + "CHECKBOX", + "CHECK_BOX" + ], + "enumDescriptions": [ + "", + "Deprecated in favor of `CHECK_BOX`.", + "" + ], + "type": "string" + }, + "name": { + "description": "The name of the switch widget that's used in formInput.", + "type": "string" + }, + "onChangeAction": { + "$ref": "AppsDynamiteSharedAction", + "description": "The action when the switch state is changed." + }, + "selected": { + "description": "If the switch is selected.", + "type": "boolean" + }, + "value": { + "description": "The value is what is passed back in the callback.", + "type": "string" + } + }, + "type": "object" + }, + "AppsDynamiteSharedDimension": { + "description": "Dimension for the uploaded attachments.", + "id": "AppsDynamiteSharedDimension", + "properties": { + "height": { + "format": "int32", + "type": "integer" + }, + "width": { + "format": "int32", + "type": "integer" + } + }, + "type": "object" + }, + "AppsDynamiteSharedDivider": { + "description": "A divider that appears in between widgets.", + "id": "AppsDynamiteSharedDivider", + "properties": {}, + "type": "object" + }, + "AppsDynamiteSharedDlpMetricsMetadata": { + "description": "LINT.IfChange", + "id": "AppsDynamiteSharedDlpMetricsMetadata", + "properties": { + "dlpStatus": { + "description": "[required] Describes the DLP status of message send and attachment upload events.", + "enum": [ + "DLP_STATUS_UNKNOWN", + "DLP_DISABLED", + "DLP_ENABLED_NO_RULE_FETCH", + "DLP_ENABLED_RULES_FETCHED_NO_RULES", + "DLP_ENABLED_RULES_FETCHED_NO_APPLICABLE_RULES", + "DLP_ENABLED_RULES_FETCHED_AND_EVALUATED", + "DLP_ENABLED_SCAN_TIMEOUT", + "DLP_ENABLED_SCAN_FAILED" + ], + "enumDescriptions": [ + "", + "Rule fetch and evaluation are skipped because DLP experiment is not enabled.", + "Rule fetch and evaluation are skipped because there is no rule to be fetched (e.g. message is sent from a consumer, or there is no message.)", + "Rule fetch happened, but rule evalution is skipped because the fetch returned no rules.", + "Rule fetch happened, but rule evaluation is skipped because none of the rules are applicable.", + "Rule fetch and evaluation were performed and completed successfully.", + "DLP scan was attempted but timed out.", + "Generic DLP failure. This case covers any other errors/exceptions in the Chat backend that caused the DLP scan to fail." + ], + "type": "string" + } + }, + "type": "object" + }, + "AppsDynamiteSharedDocument": { + "description": "Data for rendering a document.", + "id": "AppsDynamiteSharedDocument", + "properties": { + "fileId": { + "description": "Unique file ID.", + "type": "string" + }, + "justification": { + "$ref": "AppsDynamiteSharedJustification", + "description": "Justification to explain why this document is being suggested." + }, + "lastModifiedTime": { + "description": "Time the document was last modified.", + "format": "google-datetime", + "type": "string" + }, + "mimeType": { + "description": "Used to determine which icon to render (e.g. docs, slides, sheets)", + "type": "string" + }, + "title": { + "description": "Title of the document.", + "type": "string" + }, + "url": { + "description": "URL of the document.", + "type": "string" + } + }, + "type": "object" + }, + "AppsDynamiteSharedEmoji": { + "id": "AppsDynamiteSharedEmoji", + "properties": { + "customEmoji": { + "$ref": "AppsDynamiteSharedCustomEmoji", + "description": "A custom emoji." + }, + "unicode": { + "description": "A basic emoji represented by a unicode string.", + "type": "string" + } + }, + "type": "object" + }, + "AppsDynamiteSharedFindDocumentSuggestion": { + "description": "Data for a FindDocument suggestion type.", + "id": "AppsDynamiteSharedFindDocumentSuggestion", + "properties": { + "documentSuggestions": { + "description": "List of documents to render as suggestions.", + "items": { + "$ref": "AppsDynamiteSharedDocument" + }, + "type": "array" + }, + "showActionButtons": { + "description": "Whether to show the action buttons in the card for the suggestions.", + "type": "boolean" + } + }, + "type": "object" + }, + "AppsDynamiteSharedGrid": { + "description": "Represents a Grid widget that displays items in a configurable grid layout.", + "id": "AppsDynamiteSharedGrid", + "properties": { + "borderStyle": { + "$ref": "AppsDynamiteSharedBorderStyle", + "description": "The border style to apply to each grid item." + }, + "columnCount": { + "description": "The number of columns to display in the grid. A default value is used if this field isn't specified, and that default value is different depending on where the grid is shown (dialog versus companion).", + "format": "int32", + "type": "integer" + }, + "items": { + "description": "The items to display in the grid.", + "items": { + "$ref": "AppsDynamiteSharedGridGridItem" + }, + "type": "array" + }, + "onClick": { + "$ref": "AppsDynamiteSharedOnClick", + "description": "This callback is reused by each individual grid item, but with the item's identifier and index in the items list added to the callback's parameters." + }, + "title": { + "description": "The text that displays in the grid header.", + "type": "string" + } + }, + "type": "object" + }, + "AppsDynamiteSharedGridGridItem": { + "description": "Represents a single item in the grid layout.", + "id": "AppsDynamiteSharedGridGridItem", + "properties": { + "id": { + "description": "A user-specified identifier for this grid item. This identifier is returned in the parent Grid's onClick callback parameters.", + "type": "string" + }, + "image": { + "$ref": "AppsDynamiteSharedImageComponent", + "description": "The image that displays in the grid item." + }, + "layout": { + "description": "The layout to use for the grid item.", + "enum": [ + "GRID_ITEM_LAYOUT_UNSPECIFIED", + "TEXT_BELOW", + "TEXT_ABOVE" + ], + "enumDescriptions": [ + "No layout specified.", + "The title and subtitle are shown below the grid item's image.", + "The title and subtitle are shown above the grid item's image." + ], + "type": "string" + }, + "subtitle": { + "description": "The grid item's subtitle.", + "type": "string" + }, + "textAlignment": { + "description": "The horizontal alignment of the grid item's text.", + "enum": [ + "HORIZONTAL_ALIGNMENT_UNSPECIFIED", + "START", + "CENTER", + "END" + ], + "enumDescriptions": [ + "Unspecified alignment.", + "Alignment to the start position.", + "Alignment to the center position.", + "Alignment to the end position." + ], + "type": "string" + }, + "title": { + "description": "The grid item's title.", + "type": "string" + } + }, + "type": "object" + }, + "AppsDynamiteSharedGroupDetails": { + "description": "NEXT TAG: 3 A GroupDetails proto will store the information pertaining to single Group.", + "id": "AppsDynamiteSharedGroupDetails", + "properties": { + "description": { + "description": "A simple text that describes the purpose of a single Group, the general theme of the topics to be posted and/or the denominator of the Group participants.", + "type": "string" + }, + "guidelines": { + "description": "A simple text describing the rules and expectations from members when participating in conversation.", + "type": "string" + } + }, + "type": "object" + }, + "AppsDynamiteSharedGroupVisibility": { + "id": "AppsDynamiteSharedGroupVisibility", + "properties": { + "state": { + "enum": [ + "UNKNOWN", + "PRIVATE", + "PUBLIC" + ], + "enumDescriptions": [ + "Do not use.", + "Explicitly invited users may join the room.", + "Anyone in the domain may join the room." + ], + "type": "string" + } + }, + "type": "object" + }, + "AppsDynamiteSharedIcon": { + "id": "AppsDynamiteSharedIcon", + "properties": { + "altText": { + "description": "The description of the icon, used for accessibility. The default value is provided if you don't specify one.", + "type": "string" + }, + "iconUrl": { + "description": "The icon specified by a URL.", + "type": "string" + }, + "imageType": { + "description": "The crop style applied to the image. In some cases, applying a `CIRCLE` crop causes the image to be drawn larger than a standard icon.", + "enum": [ + "SQUARE", + "CIRCLE" + ], + "enumDescriptions": [ + "Applies no cropping to the image.", + "Applies a circular mask to the image." + ], + "type": "string" + }, + "knownIcon": { + "description": "The icon specified by the string name of a list of known icons", + "type": "string" + } + }, + "type": "object" + }, + "AppsDynamiteSharedImage": { + "description": "An image that is specified by a URL and can have an onClick action.", + "id": "AppsDynamiteSharedImage", + "properties": { + "altText": { + "description": "The alternative text of this image, used for accessibility.", + "type": "string" + }, + "imageUrl": { + "description": "An image URL.", + "type": "string" + }, + "onClick": { + "$ref": "AppsDynamiteSharedOnClick" + } + }, + "type": "object" + }, + "AppsDynamiteSharedImageComponent": { + "id": "AppsDynamiteSharedImageComponent", + "properties": { + "altText": { + "description": "The accessibility label for the image.", + "type": "string" + }, + "borderStyle": { + "$ref": "AppsDynamiteSharedBorderStyle", + "description": "The border style to apply to the image." + }, + "cropStyle": { + "$ref": "AppsDynamiteSharedImageCropStyle", + "description": "The crop style to apply to the image." + }, + "imageUri": { + "description": "The image URL.", + "type": "string" + } + }, + "type": "object" + }, + "AppsDynamiteSharedImageCropStyle": { + "description": "Represents the crop style applied to an image.", + "id": "AppsDynamiteSharedImageCropStyle", + "properties": { + "aspectRatio": { + "description": "The aspect ratio to use if the crop type is `RECTANGLE_CUSTOM`.", + "format": "double", + "type": "number" + }, + "type": { + "description": "The crop type.", + "enum": [ + "IMAGE_CROP_TYPE_UNSPECIFIED", + "SQUARE", + "CIRCLE", + "RECTANGLE_CUSTOM", + "RECTANGLE_4_3" + ], + "enumDescriptions": [ + "No value specified.", + "Applies a square crop.", + "Applies a circular crop.", + "Applies a rectangular crop with a custom aspect ratio.", + "Applies a rectangular crop with a 4:3 aspect ratio." + ], + "type": "string" + } + }, + "type": "object" + }, + "AppsDynamiteSharedJustification": { + "description": "Data for rendering a justification for a document.", + "id": "AppsDynamiteSharedJustification", + "properties": { + "actionTime": { + "description": "Time the action took place.", + "format": "google-datetime", + "type": "string" + }, + "actionType": { + "description": "Type of action performed on the document.", + "enum": [ + "ACTION_TYPE_UNSPECIFIED", + "COMMENTED", + "CREATED", + "EDITED", + "PRESENTED", + "SHARED", + "VIEWED", + "COMMENT_RESOLVED", + "SENT" + ], + "enumDescriptions": [ + "Unspecified action.", + "Commented on document.", + "Created document.", + "Edited document.", + "Presented document.", + "Shared document.", + "Viewed document.", + "Resolved comment on document.", + "Sent document over chat/email." + ], + "type": "string" + }, + "documentOwner": { + "$ref": "AppsDynamiteSharedJustificationPerson", + "description": "Owner of the document." + }, + "topics": { + "description": "Words or phrases from the user's query that describes the document content. (Ex: Users query is \"Can you share the document about Bullseye?\" the extracted topic would be \"Bullseye\").", + "items": { + "type": "string" + }, + "type": "array" + } + }, + "type": "object" + }, + "AppsDynamiteSharedJustificationPerson": { + "description": "Data for rendering a person associated with a document.", + "id": "AppsDynamiteSharedJustificationPerson", + "properties": { + "isRecipient": { + "description": "Whether the person is the recipient of the suggestions.", + "type": "boolean" + }, + "user": { + "$ref": "AppsDynamiteUserId", + "description": "Obfuscated user ID." + } + }, + "type": "object" + }, + "AppsDynamiteSharedMeetMetadata": { + "description": "Metadata specific for a Meet call that are required to generate call artifacts.", + "id": "AppsDynamiteSharedMeetMetadata", + "properties": { + "meetingCode": { + "description": "Required. A globally unique code (e.g. \"cxv-zbgj-wzw\") that points to a meeting space. Note: Meeting codes may be regenerated, which will cause old meeting codes to become invalid.", + "type": "string" + }, + "meetingUrl": { + "description": "Required. A URL, in the format \"https://meet.google.com/*\" (e.g. https://meet.google.com/cxv-zbgj-wzw), to identify and access the meeting space.", + "type": "string" + } + }, + "type": "object" + }, + "AppsDynamiteSharedMessageInfo": { + "description": "Information that references a Dynamite chat message.", + "id": "AppsDynamiteSharedMessageInfo", + "properties": { + "messageId": { + "$ref": "AppsDynamiteMessageId", + "description": "Id of the source chat message. This is kept here because the top-level message ID to refers the AF message ID." + }, + "topicReadTimeUsec": { + "description": "Timestamp of when the topic containing the message has been read by the user. This is populated if the message references an inline reply, in which case the space may be marked as read but the topic still has unread messages.", + "format": "int64", + "type": "string" + } + }, + "type": "object" + }, + "AppsDynamiteSharedMessageIntegrationPayload": { + "description": "The payload(restricted to 1P applications) to be stored with a specific message.", + "id": "AppsDynamiteSharedMessageIntegrationPayload", + "properties": { + "projectNumber": { + "description": "Pantheon project number used to identify the calling app.", + "format": "int64", + "type": "string" + }, + "tasksMessageIntegrationPayload": { + "$ref": "AppsDynamiteSharedTasksMessageIntegrationPayload" + }, + "type": { + "description": "An enum indicating which 1P application's payload this is. This field is required to add 1P payload.", + "enum": [ + "PAYLOAD_TYPE_UNSPECIFIED", + "TASKS" + ], + "enumDescriptions": [ + "", + "" + ], + "type": "string" + } + }, + "type": "object" + }, + "AppsDynamiteSharedOnClick": { + "id": "AppsDynamiteSharedOnClick", + "properties": { + "action": { + "$ref": "AppsDynamiteSharedAction", + "description": "If specified, an action is triggered by this onClick." + }, + "openDynamicLinkAction": { + "$ref": "AppsDynamiteSharedAction", + "description": "An add-on triggers this action when the action needs to open a link. This differs from the open_link above in that this needs to talk to server to get the link. Thus some preparation work is required for web client to do before the open link action response comes back." + }, + "openLink": { + "$ref": "AppsDynamiteSharedOpenLink", + "description": "If specified, this onClick triggers an open link action." + } + }, + "type": "object" + }, + "AppsDynamiteSharedOpenLink": { + "id": "AppsDynamiteSharedOpenLink", + "properties": { + "appUri": { + "$ref": "AppsDynamiteSharedOpenLinkAppUri", + "description": "Represents the platform specific uri/intent to open on each client. For example: A companion_url will open in a companion window on the web. An iOS URL and android intent will open in the corresponding hosting apps. If these platform specific URLs can't be handled correctly, i.e. if the companion isn't supported on web and the hosting apps aren't available on the mobile platforms then the `uri` will open in a new browser window on all the platforms." + }, + "onClose": { + "enum": [ + "NOTHING", + "RELOAD" + ], + "enumDescriptions": [ + "Doesn\u2019t reload the card after the child window closes. Reloads the card after the child window closes. If used in conjunction with [OpenAs.OVERLAY](/workspace/add-ons/reference/rpc/google.apps.card.v1#openas), the child window acts as a modal dialog and the main card is blocked until the child window closes.", + "" + ], + "type": "string" + }, + "openAs": { + "enum": [ + "FULL_SIZE", + "OVERLAY" + ], + "enumDescriptions": [ + "The link opens as a full size window (if that's the frame used by the client.", + "The link opens as an overlay, such as a pop-up." + ], + "type": "string" + }, + "url": { + "description": "The URL to open.", + "type": "string" + } + }, + "type": "object" + }, + "AppsDynamiteSharedOpenLinkAppUri": { + "description": "Represents the platform specific uri/intent to open for each client.", + "id": "AppsDynamiteSharedOpenLinkAppUri", + "properties": { + "androidIntent": { + "$ref": "AppsDynamiteSharedOpenLinkAppUriIntent", + "description": "An intent object to be opened in the corresponding android hosting app." + }, + "companionUri": { + "description": "A companion uri string to be opened in the chat companion window. on the web.", + "type": "string" + }, + "iosUri": { + "description": "A uri string to be opened in the corresponding iOS hosting app.", + "type": "string" + } + }, + "type": "object" + }, + "AppsDynamiteSharedOpenLinkAppUriIntent": { + "description": "Android intent.", + "id": "AppsDynamiteSharedOpenLinkAppUriIntent", + "properties": { + "extraData": { + "description": "A list of extra data for the android intent. For example, for a calendar event edit intent, the event title information can be passed as extra data.", + "items": { + "$ref": "AppsDynamiteSharedOpenLinkAppUriIntentExtraData" + }, + "type": "array" + }, + "intentAction": { + "description": "An android intent action string for the {@link android.content.Intent} object. For example: for the view intent action type, a valid value will be android.content.Intent.ACTION_VIEW.", + "type": "string" + } + }, + "type": "object" + }, + "AppsDynamiteSharedOpenLinkAppUriIntentExtraData": { + "description": "Extra data for an android intent. Valid keys are defined in the hosting app contract.", + "id": "AppsDynamiteSharedOpenLinkAppUriIntentExtraData", + "properties": { + "key": { + "description": "A key for the intent extra data.", + "type": "string" + }, + "value": { + "description": "Value for the given extra data key.", + "type": "string" + } + }, + "type": "object" + }, + "AppsDynamiteSharedOrganizationInfo": { + "description": "Contains info about the entity that something is, or is owned by.", + "id": "AppsDynamiteSharedOrganizationInfo", + "properties": { + "consumerInfo": { + "$ref": "AppsDynamiteSharedOrganizationInfoConsumerInfo" + }, + "customerInfo": { + "$ref": "AppsDynamiteSharedOrganizationInfoCustomerInfo" + } + }, + "type": "object" + }, + "AppsDynamiteSharedOrganizationInfoConsumerInfo": { + "description": "Intentionally empty. Used to disambiguate consumer and customer use cases in oneof below.", + "id": "AppsDynamiteSharedOrganizationInfoConsumerInfo", + "properties": {}, + "type": "object" + }, + "AppsDynamiteSharedOrganizationInfoCustomerInfo": { + "id": "AppsDynamiteSharedOrganizationInfoCustomerInfo", + "properties": { + "customerId": { + "$ref": "AppsDynamiteCustomerId" + } + }, + "type": "object" + }, + "AppsDynamiteSharedOriginAppSuggestion": { + "description": "Stores the suggestion provided by apps/bots.", + "id": "AppsDynamiteSharedOriginAppSuggestion", + "properties": { + "appId": { + "$ref": "AppsDynamiteAppId" + }, + "cardClickSuggestion": { + "$ref": "AppsDynamiteSharedCardClickSuggestion" + } + }, + "type": "object" + }, + "AppsDynamiteSharedPhoneNumber": { + "id": "AppsDynamiteSharedPhoneNumber", + "properties": { + "type": { + "description": "The phone number type, e.g., work, mobile, etc.", + "type": "string" + }, + "value": { + "description": "The actual phone number.", + "type": "string" + } + }, + "type": "object" + }, + "AppsDynamiteSharedReaction": { + "id": "AppsDynamiteSharedReaction", + "properties": { + "count": { + "description": "The total number of users who have reacted.", + "format": "int32", + "type": "integer" + }, + "createTimestamp": { + "description": "When the first emoji of this type was added.", + "format": "int64", + "type": "string" + }, + "currentUserParticipated": { + "description": "Whether the current user reacted using this emoji. Note: Unlike most properties of messages, this is different per-user.", + "type": "boolean" + }, + "emoji": { + "$ref": "AppsDynamiteSharedEmoji" + } + }, + "type": "object" + }, + "AppsDynamiteSharedRetentionSettings": { + "description": "The settings of retention period of a message or topic.", + "id": "AppsDynamiteSharedRetentionSettings", + "properties": { + "expiryTimestamp": { + "description": "The timestamp after which the message/topic should be removed, in microseconds since the epoch, when state == EPHEMERAL_ONE_DAY. The value should not be set in other cases.", + "format": "int64", + "type": "string" + }, + "state": { + "description": "The retention state.", + "enum": [ + "UNKNOWN_RETENTION_STATE", + "PERMANENT", + "EPHEMERAL_ONE_DAY" + ], + "enumDescriptions": [ + "", + "The message/topic should be kept permanently.", + "The message/topic should be kept with a 24-hour TTL." + ], + "type": "string" + } + }, + "type": "object" + }, + "AppsDynamiteSharedSelectionInput": { + "description": "A widget that creates a UI item (for example, a drop-down list) with options for users to select.", + "id": "AppsDynamiteSharedSelectionInput", + "properties": { + "items": { + "items": { + "$ref": "AppsDynamiteSharedSelectionInputSelectionItem" + }, + "type": "array" + }, + "label": { + "description": "The label displayed ahead of the switch control.", + "type": "string" + }, + "name": { + "description": "The name of the text input which is used in formInput.", + "type": "string" + }, + "onChangeAction": { + "$ref": "AppsDynamiteSharedAction", + "description": "If specified, the form is submitted when the selection changes. If not specified, you must specify a separate button." + }, + "type": { + "enum": [ + "CHECK_BOX", + "RADIO_BUTTON", + "SWITCH", + "DROPDOWN" + ], + "enumDescriptions": [ + "The selection type is a checkbox.", + "The selection type is a radio button.", + "The selection type is a switch.", + "The selection type is a dropdown." + ], + "type": "string" + } + }, + "type": "object" + }, + "AppsDynamiteSharedSelectionInputSelectionItem": { + "description": "The item in the switch control. A radio button, at most one of the items is selected.", + "id": "AppsDynamiteSharedSelectionInputSelectionItem", + "properties": { + "selected": { + "description": "If more than one item is selected for `RADIO_BUTTON` and `DROPDOWN`, the first selected item is treated as selected and the ones after are ignored.", + "type": "boolean" + }, + "text": { + "description": "The text to be displayed.", + "type": "string" + }, + "value": { + "description": "The value associated with this item. The client should use this as a form input value.", + "type": "string" + } + }, + "type": "object" + }, + "AppsDynamiteSharedSpaceInfo": { + "description": "Defines the representation of a single matching space.", + "id": "AppsDynamiteSharedSpaceInfo", + "properties": { + "avatarInfo": { + "$ref": "AppsDynamiteSharedAvatarInfo" + }, + "avatarUrl": { + "type": "string" + }, + "description": { + "type": "string" + }, + "groupId": { + "$ref": "AppsDynamiteGroupId" + }, + "inviterEmail": { + "description": "The email address of the user that invited the calling user to the room, if available. This field will only be populated for direct invites, it will be empty if the user was indirectly invited to the group.", + "type": "string" + }, + "isExternal": { + "description": "Whether this is a space that enables guest access", + "type": "boolean" + }, + "name": { + "type": "string" + }, + "numMembers": { + "format": "int32", + "type": "integer" + }, + "userMembershipState": { + "description": "searching user's membership state in this space", + "enum": [ + "MEMBER_UNKNOWN", + "MEMBER_INVITED", + "MEMBER_JOINED", + "MEMBER_NOT_A_MEMBER", + "MEMBER_FAILED" + ], + "enumDescriptions": [ + "Default state, do not use", + "An invitation to the space has been sent", + "User has joined the space", + "User is not a member", + "This state should never be stored in Spanner. It is a state for responses to the clients to indicate that membership mutations have failed and the member is in its previous state." + ], + "type": "string" + } + }, + "type": "object" + }, + "AppsDynamiteSharedSuggestions": { + "description": "A container wrapping elements necessary for showing suggestion items used in text input autocomplete.", + "id": "AppsDynamiteSharedSuggestions", + "properties": { + "items": { + "description": "A list of suggestions items which will be used in are used in autocomplete.", + "items": { + "$ref": "AppsDynamiteSharedSuggestionsSuggestionItem" + }, + "type": "array" + } + }, + "type": "object" + }, + "AppsDynamiteSharedSuggestionsSuggestionItem": { + "description": "A suggestion item. Only supports text for now.", + "id": "AppsDynamiteSharedSuggestionsSuggestionItem", + "properties": { + "text": { + "type": "string" + } + }, + "type": "object" + }, + "AppsDynamiteSharedTasksAnnotationData": { + "description": "This is the internal version of the API proto at google3/google/chat/v1/gsuite_message_integration.proto", + "id": "AppsDynamiteSharedTasksAnnotationData", + "properties": { + "assigneeChange": { + "$ref": "AppsDynamiteSharedTasksAnnotationDataAssigneeChange" + }, + "completionChange": { + "$ref": "AppsDynamiteSharedTasksAnnotationDataCompletionChange" + }, + "creation": { + "$ref": "AppsDynamiteSharedTasksAnnotationDataCreation" + }, + "deletionChange": { + "$ref": "AppsDynamiteSharedTasksAnnotationDataDeletionChange" + }, + "taskId": { + "description": "ID of task. Will be used to create deep links to Tasks.", + "type": "string" + }, + "taskProperties": { + "$ref": "AppsDynamiteSharedTasksAnnotationDataTaskProperties", + "description": "Task properties after the update has been applied." + }, + "userDefinedMessage": { + "$ref": "AppsDynamiteSharedTasksAnnotationDataUserDefinedMessage" + } + }, + "type": "object" + }, + "AppsDynamiteSharedTasksAnnotationDataAssigneeChange": { + "id": "AppsDynamiteSharedTasksAnnotationDataAssigneeChange", + "properties": { + "oldAssignee": { + "$ref": "AppsDynamiteUserId", + "description": "Obfuscated user ID of previous assignee. Not set if the task was originally not assigned." + } + }, + "type": "object" + }, + "AppsDynamiteSharedTasksAnnotationDataCompletionChange": { + "id": "AppsDynamiteSharedTasksAnnotationDataCompletionChange", + "properties": {}, + "type": "object" + }, + "AppsDynamiteSharedTasksAnnotationDataCreation": { + "id": "AppsDynamiteSharedTasksAnnotationDataCreation", + "properties": {}, + "type": "object" + }, + "AppsDynamiteSharedTasksAnnotationDataDeletionChange": { + "id": "AppsDynamiteSharedTasksAnnotationDataDeletionChange", + "properties": {}, + "type": "object" + }, + "AppsDynamiteSharedTasksAnnotationDataTaskProperties": { + "description": "All relevant task properties for a Chat message.", + "id": "AppsDynamiteSharedTasksAnnotationDataTaskProperties", + "properties": { + "assignee": { + "$ref": "AppsDynamiteUserId", + "description": "Obfuscated user ID of new assignee. Not set if the task doesn't have an assignee." + }, + "completed": { + "description": "Whether the task is marked as completed.", + "type": "boolean" + }, + "deleted": { + "description": "Whether the task is marked as deleted.", + "type": "boolean" + }, + "description": { + "description": "The description of the task. If Task original description's length is greater than 1024, then Task BE sends the truncated description to Dynamite Integration Server.", + "type": "string" + }, + "startDate": { + "$ref": "Date", + "description": "Set if the task has a date but no time. Source of truth in Tasks BE: http://shortn/_wyT7eB4Ixv" + }, + "startTime": { + "description": "Set if the task has both a date and a time. Source of truth in Tasks BE: http://shortn/_u6cr0F5ttE", + "format": "google-datetime", + "type": "string" + }, + "title": { + "description": "The title of the task.", + "type": "string" + } + }, + "type": "object" + }, + "AppsDynamiteSharedTasksAnnotationDataUserDefinedMessage": { + "description": "Used for task card attachments on custom user messages that should be kept as is without generating an i18n event message, e.g. the user starts a conversation from an existing task. IMPORTANT: please don't populate this field yet as it could break existing flows until it's implemented. See code at http://shortn/_CM74CdENMx used by http://shortn/_5o85POJY8Q.", + "id": "AppsDynamiteSharedTasksAnnotationDataUserDefinedMessage", + "properties": {}, + "type": "object" + }, + "AppsDynamiteSharedTasksMessageIntegrationPayload": { + "description": "A payload containing Tasks metadata for rendering a live card. Currently not used by the Tasks integration.", + "id": "AppsDynamiteSharedTasksMessageIntegrationPayload", + "properties": {}, + "type": "object" + }, + "AppsDynamiteSharedTextInput": { + "description": "A text input is a UI item where users can input text. A text input can also have an onChange action and suggestions.", + "id": "AppsDynamiteSharedTextInput", + "properties": { + "autoCompleteAction": { + "$ref": "AppsDynamiteSharedAction", + "description": "The refresh function that returns suggestions based on the user's input text. If the callback is not specified, autocomplete is done in client side based on the initial suggestion items." + }, + "hintText": { + "description": "The hint text.", + "type": "string" + }, + "initialSuggestions": { + "$ref": "AppsDynamiteSharedSuggestions", + "description": "The initial suggestions made before any user input." + }, + "label": { + "description": "At least one of label and hintText must be specified.", + "type": "string" + }, + "name": { + "description": "The name of the text input which is used in formInput.", + "type": "string" + }, + "onChangeAction": { + "$ref": "AppsDynamiteSharedAction", + "description": "The onChange action, for example, invoke a function." + }, + "type": { + "description": "The style of the text, for example, a single line or multiple lines.", + "enum": [ + "SINGLE_LINE", + "MULTIPLE_LINE" + ], + "enumDescriptions": [ + "The text is put into a single line.", + "The text is put into multiple lines." + ], + "type": "string" + }, + "value": { + "description": "The default value when there is no input from the user.", + "type": "string" + } + }, + "type": "object" + }, + "AppsDynamiteSharedTextParagraph": { + "description": "A paragraph of text that supports formatting. See [Text formatting](workspace/add-ons/concepts/widgets#text_formatting\") for details.", + "id": "AppsDynamiteSharedTextParagraph", + "properties": { + "text": { + "description": "The text that's shown in the widget.", + "type": "string" + } + }, + "type": "object" + }, + "AppsDynamiteSharedUserBlockRelationship": { + "description": "User-block relationship", + "id": "AppsDynamiteSharedUserBlockRelationship", + "properties": { + "hasBlockedRequester": { + "type": "boolean" + }, + "isBlockedByRequester": { + "type": "boolean" + } + }, + "type": "object" + }, + "AppsDynamiteSharedVideoReference": { + "description": "Reference to a transcoded video attachment.", + "id": "AppsDynamiteSharedVideoReference", + "properties": { + "format": { + "description": "Available transcode format. Value is defined in video/storage/proto/content_header.proto", + "items": { + "format": "int32", + "type": "integer" + }, + "type": "array" + }, + "status": { + "description": "Transcode status", + "enum": [ + "UNKNOWN_STATUS", + "SUCCESS", + "ERROR", + "NOT_APPLICABLE" + ], + "enumDescriptions": [ + "", + "", + "", + "" + ], + "type": "string" + } + }, + "type": "object" + }, + "AppsDynamiteSharedWidget": { + "description": "A widget is a UI element that presents texts, images, etc.", + "id": "AppsDynamiteSharedWidget", + "properties": { + "buttonList": { + "$ref": "AppsDynamiteSharedButtonList", + "description": "A list of buttons. For example, the following JSON creates two buttons. The first is a filled text button and the second is an image button that opens a link: ``` \"buttonList\": { \"buttons\": [ \"button\": { \"text\": \"Edit\", \"Color\": { \"Red\": 255 \"Green\": 255 \"Blue\": 255 } \"disabled\": true }, \"button\": { \"icon\": { \"knownIcon\": \"INVITE\" \"altText\": \"check calendar\" }, \"onClick\": { \"openLink\": { \"url\": \"https://example.com/calendar\" } } }, ] } ```" + }, + "columns": { + "$ref": "AppsDynamiteSharedColumns", + "description": "Displays a single row of columns with widgets stacked vertically in each column. For example, the following JSON creates a 2 column widget each containing a single item. ``` \"columns\": { \"wrapStyle\": \"WRAP\", \"columnItems\": [ { \"horizontalSizeStyle\": \"FILL_AVAILABLE_SPACE\", \"horizontalAlignment\": \"CENTER\", \"verticalAlignment\" : \"CENTER\", \"widgets\": [ { \"textParagraph\": { \"text\": \"First column text paragraph\", } } ] }, { \"horizontalSizeStyle\": \"FILL_AVAILABLE_SPACE\", \"horizontalAlignment\": \"CENTER\", \"verticalAlignment\" : \"CENTER\", \"widgets\": [ { \"textParagraph\": { \"text\": \"Second column text paragraph\", } } ] }, ] } } ```" + }, + "dateTimePicker": { + "$ref": "AppsDynamiteSharedDateTimePicker", + "description": "Displays a selection/input widget for date/time. For example, the following JSON creates a date/time picker for an appointment time: ``` \"date_time_picker\": { \"name\": \"appointment_time\", \"label\": \"Book your appointment at:\", \"type\": \"DateTimePickerType.DATE_AND_TIME\", \"valueMsEpoch\": \"796435200000\" } ```" + }, + "decoratedText": { + "$ref": "AppsDynamiteSharedDecoratedText", + "description": "Displays a decorated text item in this widget. For example, the following JSON creates a decorated text widget showing email address: ``` \"decoratedText\": { \"icon\": { \"knownIcon\": \"EMAIL\" }, \"topLabel\": \"Email Address\", \"content\": \"heba.salam@example.com\", \"bottomLabel\": \"This is a new Email address!\", \"switchWidget\": { \"name\": \"has_send_welcome_email_to_heba_salam\", \"selected\": false, \"controlType\": \"ControlType.CHECKBOX\" } } ```" + }, + "divider": { + "$ref": "AppsDynamiteSharedDivider", + "description": "Displays a divider. For example, the following JSON creates a divider: ``` \"divider\": { } ```" + }, + "grid": { + "$ref": "AppsDynamiteSharedGrid", + "description": "Displays a grid with a collection of items. For example, the following JSON creates a 2 column grid with a single item: ``` \"grid\": { \"title\": \"A fine collection of items\", \"numColumns\": 2, \"borderStyle\": { \"type\": \"STROKE\", \"cornerRadius\": 4.0 }, \"items\": [ \"image\": { \"imageUri\": \"https://www.example.com/image.png\", \"cropStyle\": { \"type\": \"SQUARE\" }, \"borderStyle\": { \"type\": \"STROKE\" } }, \"title\": \"An item\", \"textAlignment\": \"CENTER\" ], \"onClick\": { \"openLink\": { \"url\":\"https://www.example.com\" } } } ```" + }, + "horizontalAlignment": { + "description": "The horizontal alignment of this widget.", + "enum": [ + "HORIZONTAL_ALIGNMENT_UNSPECIFIED", + "START", + "CENTER", + "END" + ], + "enumDescriptions": [ + "Unspecified alignment.", + "Alignment to the start position.", + "Alignment to the center position.", + "Alignment to the end position." + ], + "type": "string" + }, + "image": { + "$ref": "AppsDynamiteSharedImage", + "description": "Displays an image in this widget. For example, the following JSON creates an image with alternative text: ``` \"image\": { \"imageUrl\": \"https://example.com/heba_salam.png\" \"altText\": \"Avatar for Heba Salam\" } ```" + }, + "selectionInput": { + "$ref": "AppsDynamiteSharedSelectionInput", + "description": "Displays a switch control in this widget. For example, the following JSON creates a dropdown selection for size: ``` \"switchControl\": { \"name\": \"size\", \"label\": \"Size\" \"type\": \"SelectionType.DROPDOWN\", \"items\": [ { \"text\": \"S\", \"value\": \"small\", \"selected\": false }, { \"text\": \"M\", \"value\": \"medium\", \"selected\": true }, { \"text\": \"L\", \"value\": \"large\", \"selected\": false }, { \"text\": \"XL\", \"value\": \"extra_large\", \"selected\": false } ] } ```" + }, + "textInput": { + "$ref": "AppsDynamiteSharedTextInput", + "description": "Displays a text input in this widget. For example, the following JSON creates a text input for mail address: ``` \"textInput\": { \"name\": \"mailing_address\", \"label\": \"Mailing Address\" } ``` As another example, the following JSON creates a text input for programming language with static suggestions: ``` \"textInput\": { \"name\": \"preferred_programing_language\", \"label\": \"Preferred Language\", \"initialSuggestions\": { \"items\": [ { \"text\": \"C++\" }, { \"text\": \"Java\" }, { \"text\": \"JavaScript\" }, { \"text\": \"Python\" } ] } } ```" + }, + "textParagraph": { + "$ref": "AppsDynamiteSharedTextParagraph", + "description": "Displays a text paragraph in this widget. For example, the following JSON creates a bolded text: ``` \"textParagraph\": { \"text\": \" *bold text*\" } ```" + } + }, + "type": "object" + }, + "AppsDynamiteSlashCommandMetadata": { + "description": "Annotation metadata for slash commands (/).", + "id": "AppsDynamiteSlashCommandMetadata", + "properties": { + "argumentsHint": { + "description": "Hint string for the arguments expected by the slash command.", + "type": "string" + }, + "commandId": { + "description": "Unique id for the slash command.", + "format": "int64", + "type": "string" + }, + "commandName": { + "description": "Name of the slash command.", + "type": "string" + }, + "id": { + "$ref": "AppsDynamiteUserId", + "description": "ID of the bot which owns the slash command." + }, + "triggersDialog": { + "description": "Whether or not this slash command should trigger a dialog.", + "type": "boolean" + }, + "type": { + "enum": [ + "TYPE_UNSPECIFIED", + "ADD", + "INVOKE", + "FAILED_TO_ADD" + ], + "enumDescriptions": [ + "Default value for the enum. DO NOT USE.", + "If a bot is added by a Slash Command, it means the bot was invoked by the user but hasn't yet been added to the group. Attaching an ADD annotation both add and invoke the bot.", + "", + "Server-generated slash command metadata, for clients to strikethrough." + ], + "type": "string" + } + }, + "type": "object" + }, + "AppsDynamiteSpaceId": { + "description": "Primary key for Space resource.", + "id": "AppsDynamiteSpaceId", + "properties": { + "spaceId": { + "description": "Unique, immutable ID of the Space", + "type": "string" + } + }, + "type": "object" + }, + "AppsDynamiteTombstoneMetadata": { + "description": "Tombstoning is the act of leaving a contextual trace when deleting a message. See more: go/tombstone-prd, go/hub-dynamite-tombstones-server-design-v2.", + "id": "AppsDynamiteTombstoneMetadata", + "properties": { + "tombstoneType": { + "description": "Indicates the type of Tombstone.", + "enum": [ + "TOMBSTONE_UNSPECIFIED", + "CREATOR", + "ROOM_OWNER", + "ADMIN", + "APP_MESSAGE_EXPIRY", + "CREATOR_VIA_APP", + "ROOM_OWNER_VIA_APP" + ], + "enumDescriptions": [ + "This should not be used.", + "User deleted their own message.", + "The space owner deleted a message in their space.", + "The customer admin deleted a message in a space or DM owned by the customer. (go/chat-customer-owned-data)", + "App scheduled deletion of their own message. See go/bme-dd.", + "User deleted their own message via an app. See go/chat-api-delete-message.", + "The space owner deleted a message in their space via an app. See go/chat-api-delete-message." + ], + "type": "string" + } + }, + "type": "object" + }, + "AppsDynamiteTopicId": { + "id": "AppsDynamiteTopicId", + "properties": { + "groupId": { + "$ref": "AppsDynamiteGroupId", + "description": "The Space or DM that the topic belongs to." + }, + "topicId": { + "description": "Opaque, server-assigned ID of the Topic. While this ID is guaranteed to be unique within the Space, it's not guaranteed to be globally unique. Internal usage: this field can be empty in the following cases: 1. To create the first message in a topic. 2. To list last N messages of a Space (regardless of topic).", + "type": "string" + } + }, + "type": "object" + }, + "AppsDynamiteUploadMetadata": { + "description": "Annotation metadata for user Upload artifacts.", + "id": "AppsDynamiteUploadMetadata", + "properties": { + "attachmentToken": { + "description": "Opaque token. Clients shall simply pass it back to the Backend. This field will NOT be saved into storage.", + "type": "string" + }, + "backendUploadMetadata": { + "$ref": "AppsDynamiteSharedBackendUploadMetadata", + "description": "Information about the uploaded attachment that is only used in Backend. This field will NOT be sent out of Google." + }, + "clonedAuthorizedItemId": { + "$ref": "AuthorizedItemId", + "description": "The \"new\" secure identifier for Drive files. Should be used instead of the deprecated string drive_id field above. This should only be set if the upload file has been added to Drive. Note that older Drive files that do not have a ResourceKey should still use this field, with the resource_key field unset." + }, + "clonedDriveAction": { + "description": "DriveAction for organizing the cloned version of this upload in Drive, if the file has been added to Drive. This field is not set if the file has not been added to Drive. Additionally, this field is only set when part of a FileResult in a ListFilesResponse.", + "enum": [ + "DRIVE_ACTION_UNSPECIFIED", + "ADD_TO_DRIVE", + "ORGANIZE", + "ADD_SHORTCUT", + "ADD_ANOTHER_SHORTCUT" + ], + "enumDescriptions": [ + "No organize action should be shown.", + "Show \"Add to Drive\" button, for adding file that doesn't exist in Drive to Drive. Note that deleted Drive files that still exist (i.e. in your Trash) will still be ORGANIZE (this is consistent with Gmail Drive attachments).", + "Show \"Move\" button, for organizing a Drive file the user has permission to move.", + "Show \"Add shortcut\" button, for adding a shortcut to a Drive file the user does not have permission to move.", + "Show \"Add another shortcut\" button, for Drive files the user has already created a shortcut to." + ], + "type": "string" + }, + "clonedDriveId": { + "description": "Reference to a Drive ID, if this upload file has been previously cloned to Drive. Note: this is deprecated in favor of the AuthorizedItemId below.", + "type": "string" + }, + "contentName": { + "description": "The original file name for the content, not the full path.", + "type": "string" + }, + "contentType": { + "description": "Type is from Scotty's best_guess by default: http://google3/uploader/agent/scotty_agent.proto?l=51&rcl=140889785", + "type": "string" + }, + "dlpMetricsMetadata": { + "$ref": "AppsDynamiteSharedDlpMetricsMetadata", + "description": "The metrics metadata of the Data Loss Prevention attachment scan." + }, + "localId": { + "description": "A copy of the LocalId in Annotation. This field is supposed to be filled by server only.", + "type": "string" + }, + "originalDimension": { + "$ref": "AppsDynamiteSharedDimension", + "description": "Original dimension of the content. Only set for image attachments." + }, + "videoReference": { + "$ref": "AppsDynamiteSharedVideoReference", + "description": "Reference to a transcoded video attachment. Only set for video attachments." + }, + "virusScanResult": { + "description": "Result for a virus scan. It's duplicated in the above field apps.dynamite.shared.BackendUploadMetadata", + "enum": [ + "UNKNOWN_VIRUS_SCAN_RESULT", + "CLEAN", + "INFECTED", + "ERROR", + "POLICY_VIOLATION" + ], + "enumDescriptions": [ + "", + "", + "", + "", + "The document violates Google's policy for executables and archives." + ], + "type": "string" + } + }, + "type": "object" + }, + "AppsDynamiteUrlMetadata": { + "description": "Annotation metadata for a Weblink. In case of pasted link it can qualify to be other types in addition to being a URL - like DRIVE_DOC/DRIVE_SHEET and so on. The URL metadata will also be present and it's up to the client to decide which metadata to render it with. These fields are filled in using page render service.", + "id": "AppsDynamiteUrlMetadata", + "properties": { + "domain": { + "description": "Domain for this url. If it's an IP address the address is returned.", + "type": "string" + }, + "gwsUrl": { + "$ref": "SafeUrlProto", + "description": "The signed GWS URL." + }, + "gwsUrlExpirationTimestamp": { + "description": "The expiration timestamp for GWS URL, only set when gws_url is set.", + "format": "int64", + "type": "string" + }, + "imageHeight": { + "description": "Dimensions of the image: height. This field is string to match with page render service response. Deprecated. Use int_image_height instead.", + "type": "string" + }, + "imageUrl": { + "description": "Representative image of the website.", + "type": "string" + }, + "imageWidth": { + "description": "Dimensions of the image: width. This field is string to match with page render service response. Deprecated. Use int_image_height instead.", + "type": "string" + }, + "intImageHeight": { + "description": "Dimensions of the image: height.", + "format": "int32", + "type": "integer" + }, + "intImageWidth": { + "description": "Dimensions of the image: width.", + "format": "int32", + "type": "integer" + }, + "mimeType": { + "description": "Mime type of the content (Currently mapped from Page Render Service ItemType) Note that this is not necessarily the mime type of the http resource. For example a text/html from youtube or vimeo may actually be classified as a video type. Then we shall mark it as video/* since we don't know exactly what type of video it is. NEXT TAG : 16", + "type": "string" + }, + "redirectUrl": { + "$ref": "SafeUrlProto", + "description": "The stable redirect URL pointing to frontend server." + }, + "shouldNotRender": { + "description": "If the UrlMetadata is missing data for rendering a chip. Deprecated. Use Annotation.ChipRenderType instead.", + "type": "boolean" + }, + "snippet": { + "description": "Snippet/small description of the weblink.", + "type": "string" + }, + "title": { + "description": "Title of the Weblink.", + "type": "string" + }, + "url": { + "$ref": "SafeUrlProto", + "description": "The original URL." + } + }, + "type": "object" + }, + "AppsDynamiteUserId": { + "description": "Primary key for User resource.", + "id": "AppsDynamiteUserId", + "properties": { + "actingUserId": { + "description": "Optional. Opaque, server-assigned ID of the user profile associated with App/user acting on behalf of the human user. This is currently only set when a 3P application is acting on the user's behalf.", + "type": "string" + }, + "id": { + "description": "Opaque, server-assigned ID of the User.", + "type": "string" + }, + "originAppId": { + "$ref": "AppsDynamiteAppId", + "description": "Optional. Identifier of the App involved (directly or on behalf of a human creator) in creating this message. This is not set if the user posted a message directly, but is used in the case of, for example, a message being generated by a 1P integration based on a user action (creating an event, creating a task etc). This should only be used on the BE. For clients, please use the field in the FE message proto instead (google3/apps/dynamite/v1/frontend/api/message.proto?q=origin_app_id)." + }, + "type": { + "description": "Clients do not need to send UserType to Backend, but Backend will always send this field to clients per the following rule: 1. For HUMAN Ids, the field is empty but by default .getType() will return HUMAN. 2. For BOT Ids, the field is ALWAYS set to BOT.", + "enum": [ + "HUMAN", + "BOT" + ], + "enumDescriptions": [ + "Notes on HUMAN type: 1) Leaving UserId.UserType field empty will return HUMAN as default value. This is expected because all the existing UserIds are without explicitly setting UserType, most of which are HUMAN Ids. For Bot Ids we will always set BOT in UserType field. 2) DO NOT explicitly set HUMAN as type. This is a proto2 issue, that a UserId with explicitly set default value HUMAN as type is NOT equal to an id without setting the field. aka. UserId id1 = UserId.newBuilder() .setId(\"dummy\").setType(UserType.HUMAN).build(); UserId id2 = UserId.newBuilder().setId(\"dummy\").build(); AssertThat(id1).isNotEqual(id2); AssertThat(id2.getType()).isEqualTo(UserType.HUMAN);", + "" + ], + "type": "string" + } + }, + "type": "object" + }, + "AppsDynamiteUserMentionMetadata": { + "description": "Annotation metadata for user mentions (+/@/-).", + "id": "AppsDynamiteUserMentionMetadata", + "properties": { + "displayName": { + "description": "Display name of the mentioned user. This field should remain empty when clients resolve a UserMention annotation. It will be filled in when a UserMention is generated by the Integration Server.", + "type": "string" + }, + "gender": { + "description": "Gender of the mentioned user. One of \"female\", \"male\" or \"other\". Used for choosing accurate translations for strings that contain the UserMention, when these need to be constructed (e.g. task assignment update message). This field should remain empty when clients resolve a UserMention. It will be filled in when a UserMention is generated by the Integration Server.", + "type": "string" + }, + "id": { + "$ref": "AppsDynamiteUserId", + "description": "To be deprecated. Use invitee_info field instead. ID of the User mentioned. This field should remain empty when type == MENTION_ALL." + }, + "inviteeInfo": { + "$ref": "AppsDynamiteInviteeInfo", + "description": "Invitee UserId and email used when mentioned. This field should remain empty when type == MENTION_ALL. Invitee_info.email is only used when a user is @-mentioned with an email address, and it will be empty when clients get messages from Backend." + }, + "type": { + "enum": [ + "TYPE_UNSPECIFIED", + "INVITE", + "UNINVITE", + "MENTION", + "MENTION_ALL", + "FAILED_TO_ADD" + ], + "enumDescriptions": [ + "Default value for the enum. DO NOT USE.", + "", + "", + "", + "", + "Server-generated user mention, for clients to strikethrough." + ], + "type": "string" + } + }, + "type": "object" + }, + "AppsDynamiteV1ApiCompatV1Action": { + "description": "Interactive objects inside a message. Documentation: - https://api.slack.com/docs/message-buttons", + "id": "AppsDynamiteV1ApiCompatV1Action", + "properties": { + "confirm": { + "$ref": "AppsDynamiteV1ApiCompatV1ActionConfirm", + "description": "Confirmation dialog config." + }, + "name": { + "description": "Unique identifier for this action.", + "type": "string" + }, + "style": { + "description": "Button style (\"default\", \"primary\", or \"danger\").", + "type": "string" + }, + "text": { + "description": "User-facing label for the action.", + "type": "string" + }, + "type": { + "description": "Action type - currently only \"button\".", + "type": "string" + }, + "value": { + "description": "Payload for this action. Will be sent to the action handler along with name.", + "type": "string" + } + }, + "type": "object" + }, + "AppsDynamiteV1ApiCompatV1ActionConfirm": { + "description": "Confirmation dialog config.", + "id": "AppsDynamiteV1ApiCompatV1ActionConfirm", + "properties": { + "dismiss_text": { + "description": "\"Cancel\" button label.", + "type": "string" + }, + "ok_text": { + "description": "\"OK\" button label.", + "type": "string" + }, + "text": { + "description": "Confirmation dialog body text.", + "type": "string" + }, + "title": { + "description": "Confirmation dialog title.", + "type": "string" + } + }, + "type": "object" + }, + "AppsDynamiteV1ApiCompatV1Attachment": { + "description": "Richly formatted attachments. Documentation: - https://api.slack.com/docs/message-attachments", + "id": "AppsDynamiteV1ApiCompatV1Attachment", + "properties": { + "actions": { + "description": "Array of actions (currently only buttons).", + "items": { + "$ref": "AppsDynamiteV1ApiCompatV1Action" + }, + "type": "array" + }, + "attachment_type": { + "description": "Undocumented - used in interactive button examples. The only valid value appears to be \"default\".", + "type": "string" + }, + "author_icon": { + "description": "Avatar URL for the user.", + "type": "string" + }, + "author_link": { + "description": "URL that the user name should link to.", + "type": "string" + }, + "author_name": { + "description": "User name to display as the author of the message.", + "type": "string" + }, + "callback_id": { + "description": "Unique identifier for the collection of buttons within this attachment. Will be sent back to the action handler URL when a button is clicked.", + "type": "string" + }, + "color": { + "description": "A color \"bar\" to display to the left of the attachment.", + "type": "string" + }, + "fallback": { + "description": "Fallback plain-text string for clients that don't support attachments.", + "type": "string" + }, + "fields": { + "description": "Columns of text inside the attachment body.", + "items": { + "$ref": "AppsDynamiteV1ApiCompatV1Field" + }, + "type": "array" + }, + "footer": { + "description": "A string displayed at the bottom of the attachment.", + "type": "string" + }, + "footer_icon": { + "description": "Avatar URL displayed to the left of the footer.", + "type": "string" + }, + "image_url": { + "description": "URL of an image to display in an image chip.", + "type": "string" + }, + "mrkdwn_in": { + "description": "List of fields to apply formatting to.", + "items": { + "type": "string" + }, + "type": "array" + }, + "pretext": { + "description": "A string to show above the attachment.", + "type": "string" + }, + "text": { + "description": "Main text.", + "type": "string" + }, + "thumb_url": { + "description": "URL of a thumbnail image to display to the right of the attachment body.", + "type": "string" + }, + "title": { + "description": "Title string of this attachment.", + "type": "string" + }, + "title_link": { + "description": "URL that the title string should link to.", + "type": "string" + }, + "ts": { + "description": "UNIX timestamp of the attachment.", + "format": "int32", + "type": "integer" + } + }, + "type": "object" + }, + "AppsDynamiteV1ApiCompatV1Field": { + "description": "A column of text in an attachment. Documentation: - https://api.slack.com/docs/message-attachments", + "id": "AppsDynamiteV1ApiCompatV1Field", + "properties": { + "short": { + "description": "Whether the field can be shown side-by-side with another field.", + "type": "boolean" + }, + "title": { + "description": "The heading text, shown in bold.", + "type": "string" + }, + "value": { + "description": "The text value of the field.", + "type": "string" + } + }, + "type": "object" + }, + "AppsDynamiteVideoCallMetadata": { + "id": "AppsDynamiteVideoCallMetadata", + "properties": { + "meetingSpace": { + "$ref": "MeetingSpace", + "description": "Thor meeting space." + }, + "shouldNotRender": { + "description": "If this field is set to true, server should still contact external backends to get metadata for search but clients should not render this chip.", + "type": "boolean" + }, + "wasCreatedInCurrentGroup": { + "description": "Whether this meeting space was created via Dynamite in this Dynamite group.", + "type": "boolean" + } + }, + "type": "object" + }, + "AppsDynamiteYoutubeMetadata": { + "description": "Annotation metadata for YouTube artifact.", + "id": "AppsDynamiteYoutubeMetadata", + "properties": { + "id": { + "description": "YouTube resource ID of the artifact.", + "type": "string" + }, + "shouldNotRender": { + "description": "If this field is set to true, server should still contact external backends to get metadata for search but clients should not render this chip.", + "type": "boolean" + }, + "startTime": { + "description": "YouTube query parameter for timestamp. YouTube specific flag that allows users to embed time token when sharing a link. This property contains parsed time token in seconds.", + "format": "int32", + "type": "integer" + } + }, + "type": "object" + }, + "Attachment": { + "description": "An Attachment represents a linked entity associated with a piece of social content. This may be a 1st-party or 3rd-party entity. In the Papyrus context, an Attachment is part of a Cent, and sits alongside the main content of the cent, which is represented as a sequence of Segments. Right now an Attachment is just a wrapper around an Embed, but we provide the extra layer of abstraction since, as Embeds move to separate storage in Briefcase, we may want to add additional fields that are not part of the Embed proper, but that (for example) relate to the usage of the linked content within the particular post/cent.", + "id": "Attachment", + "properties": { + "embedItem": { + "$ref": "EmbedClientItem", + "description": "An embed represents an external entity. See go/es-embeds." + }, + "id": { + "description": "An id to uniquely identify an attachment when several attachments are in a collection.", + "type": "string" + } + }, + "type": "object" + }, + "AttachmentMetadata": { + "description": "An attachment uploaded in Dynamite and its filename.", + "id": "AttachmentMetadata", + "properties": { + "filename": { + "type": "string" + } + }, + "type": "object" + }, + "AuditLoggingSettings": { + "description": "Represents the settings for Cloud audit logging", + "id": "AuditLoggingSettings", + "properties": { + "logAdminReadActions": { + "description": "Indicates whether audit logging is on/off for admin activity read APIs i.e. Get/List DataSources, Get/List SearchApplications etc.", + "type": "boolean" + }, + "logDataReadActions": { + "description": "Indicates whether audit logging is on/off for data access read APIs i.e. ListItems, GetItem etc.", + "type": "boolean" + }, + "logDataWriteActions": { + "description": "Indicates whether audit logging is on/off for data access write APIs i.e. IndexItem etc.", + "type": "boolean" + }, + "project": { + "description": "The resource name of the GCP Project to store audit logs. Cloud audit logging will be enabled after project_name has been updated through CustomerService. Format: projects/{project_id}", + "type": "string" + } + }, + "type": "object" + }, + "AuthorizedItemId": { + "description": "A combination of an identifier for a Drive resource (e.g. file, folder, or drive) and any secrets needed to access it. The secrets should never be logged, and this proto annotates those secret fields to ensure that they are not. Clients are encouraged to use this proto rather than defining their own, to ensure that secrets are correctly annotated.", + "id": "AuthorizedItemId", + "properties": { + "id": { + "description": "Serialized ID of the Drive resource", + "type": "string" + }, + "resourceKey": { + "description": "Resource key of the Drive item. This field should be unset if, depending on the context, the item does not have a resource key, or if none was specified. This must never be logged.", + "type": "string" + } + }, + "type": "object" + }, + "AutoComplete": { + "id": "AutoComplete", + "properties": { + "items": { + "items": { + "$ref": "AutoCompleteItem" + }, + "type": "array" + } + }, + "type": "object" + }, + "AutoCompleteItem": { + "id": "AutoCompleteItem", + "properties": { + "text": { + "type": "string" + } + }, + "type": "object" + }, + "BooleanOperatorOptions": { + "description": "Used to provide a search operator for boolean properties. This is optional. Search operators let users restrict the query to specific fields relevant to the type of item being searched.", + "id": "BooleanOperatorOptions", + "properties": { + "operatorName": { + "description": "Indicates the operator name required in the query in order to isolate the boolean property. For example, if operatorName is *closed* and the property's name is *isClosed*, then queries like *closed:* show results only where the value of the property named *isClosed* matches **. By contrast, a search that uses the same ** without an operator returns all items where ** matches the value of any String properties or text within the content field for the item. The operator name can only contain lowercase letters (a-z). The maximum length is 32 characters.", + "type": "string" + } + }, + "type": "object" + }, + "BooleanPropertyOptions": { + "description": "The options for boolean properties.", + "id": "BooleanPropertyOptions", + "properties": { + "operatorOptions": { + "$ref": "BooleanOperatorOptions", + "description": "If set, describes how the boolean should be used as a search operator." + } + }, + "type": "object" + }, + "BorderStyle": { + "description": "Represents a complete border style that can be applied to widgets.", + "id": "BorderStyle", + "properties": { + "cornerRadius": { + "description": "The corner radius for the border.", + "format": "int32", + "type": "integer" + }, + "strokeColor": { + "description": "The colors to use when the type is STROKE.", + "type": "string" + }, + "type": { + "description": "The border type.", + "enum": [ + "BORDER_TYPE_NOT_SET", + "NO_BORDER", + "STROKE" + ], + "enumDescriptions": [ + "No value specified.", + "No border.", + "Outline." + ], + "type": "string" + } + }, + "type": "object" + }, + "BotMessageMetadata": { + "description": "A bot sent a message in Dynamite.", + "id": "BotMessageMetadata", + "properties": {}, + "type": "object" + }, + "BroadcastAccess": { + "description": "Broadcast access information of a meeting space.", + "id": "BroadcastAccess", + "properties": { + "accessPolicy": { + "description": "The policy that controls the broadcast's viewer access.", + "enum": [ + "BROADCASTING_ACCESS_POLICY_UNSPECIFIED", + "ORGANIZATION", + "PUBLIC" + ], + "enumDescriptions": [ + "Used only when broadcast is not enabled, or an unknown enum value is used.", + "Only authenticated Google accounts belonging to the same organization as the meeting organizer can access the broadcast.", + "Anyone with the broadcast view URL can access the broadcast." + ], + "type": "string" + }, + "viewUrl": { + "description": "A URL that can be used to access the broadcast of the meeting. This field will be empty if broadcast is not enabled. It will be populated by the backend. Clients cannot modify the value.", + "type": "string" + } + }, + "type": "object" + }, + "BroadcastSessionInfo": { + "description": "Information about a broadcast session.", + "id": "BroadcastSessionInfo", + "properties": { + "broadcastSessionId": { + "description": "A unique server-generated ID for the broadcast session.", + "type": "string" + }, + "broadcastStats": { + "$ref": "BroadcastStats", + "description": "Output only. Current broadcast session's statistics.", + "readOnly": true + }, + "ingestionId": { + "description": "Input only. Deprecated field, should not be used.", + "type": "string" + }, + "sessionStateInfo": { + "$ref": "SessionStateInfo", + "description": "Broadcast session's state information." + } + }, + "type": "object" + }, + "BroadcastStats": { + "description": "Statistics of the broadcast session.", + "id": "BroadcastStats", + "properties": { + "estimatedViewerCount": { + "description": "Estimated concurrent viewer count.", + "format": "int64", + "type": "string" + } + }, + "type": "object" + }, + "Button": { + "id": "Button", + "properties": { + "imageButton": { + "$ref": "ImageButton" + }, + "textButton": { + "$ref": "TextButton" + } + }, + "type": "object" + }, + "CalendarEventMetadata": { + "description": "A Calendar event message in Dynamite.", + "id": "CalendarEventMetadata", + "properties": {}, + "type": "object" + }, + "CallInfo": { + "description": "Contains information regarding an ongoing conference (aka call) for a meeting space.", + "id": "CallInfo", + "properties": { + "abuseReportingConfig": { + "$ref": "AbuseReportingConfig", + "description": "Abuse reporting configuration for the ongoing conference." + }, + "artifactOwner": { + "$ref": "UserDisplayInfo", + "description": "Output only. Display name of the owner of artifacts generated in this conference. The expected use of this in clients is to present info like \"This recording will be sent to John Doe's Drive\". This field can be empty if preferred display name determination fails for any reason.", + "readOnly": true + }, + "attachedDocuments": { + "description": "Output only. Documents attached to an ongoing conference.", + "items": { + "$ref": "DocumentInfo" + }, + "readOnly": true, + "type": "array" + }, + "availableReactions": { + "description": "Output only. The set of reactions that clients are allowed to send and can expect to receive. Note that a device in the conference should have the MAY_SEND_REACTIONS privilege to be able to send reactions.", + "items": { + "$ref": "ReactionInfo" + }, + "readOnly": true, + "type": "array" + }, + "broadcastSessionInfo": { + "$ref": "BroadcastSessionInfo", + "description": "Information about active broadcast session in the ongoing conference." + }, + "calendarEventId": { + "description": "Output only. The calendar event ID of a Google Calendar event that the meeting space is associated with. If the meeting space is not associated with an event in Google Calendar, this field is empty. For recurring events, it refers to the recurring instance associated with the current call, as determined by the server.", + "readOnly": true, + "type": "string" + }, + "coActivity": { + "$ref": "CoActivity", + "description": "The current co-activity session, or unset if there is none in progress. A co-activity session can be initiated by devices in JOINED state . Initiator of the co-activity is expected to populate this field to start the session. Once clients detect that the co-activity has finished, any JOINED device can clear this field to end the co-activity session. In the case of switching activities, the initiator of the new activity merely needs to override this with the new co-activity data, and all connected clients are expected to handle the transition gracefully." + }, + "collaboration": { + "$ref": "Collaboration", + "description": "The current collaboration session, or unset if no collaboration is in progress." + }, + "cseInfo": { + "$ref": "CseInfo", + "description": "CSE information for the ongoing conference." + }, + "maxJoinedDevices": { + "description": "Output only. The maximum number of devices that may be in the joined state simultaneously in this conference. This can be used by clients to guess whether it will be possible to join, but the only way to know is to try to join. It can also be used to inform users about the limit that is in effect. This limit is normally set when the conference is created and not changed during the lifetime of the conference. But there are some cases where it may change, so clients should be aware that the information may be stale.", + "format": "int32", + "readOnly": true, + "type": "integer" + }, + "mediaBackendInfo": { + "description": "Output only. Information about the media backend for the currently ongoing conference in the meeting space. The media backend information will only be filled in for clients that are supposed to present the information. The information should be displayed in a debug panel and is only intended for internal debugging purposes. If the string is empty nothing should be displayed about the media backend.", + "readOnly": true, + "type": "string" + }, + "organizationName": { + "description": "Output only. The name or description of the organization or domain that the organizer belongs to. The expected use of this in clients is to present messages like \"John Doe (outside of Google.com) is trying to join this call\", where \"Google.com\" is the organization name. The field will be empty if the organization name could not be determined, possibly because of a backend error.", + "readOnly": true, + "type": "string" + }, + "paygateInfo": { + "$ref": "PaygateInfo", + "description": "Paygate information to clients." + }, + "presenter": { + "$ref": "Presenter", + "description": "The current presenter in the call, or unset if there is no current presenter. Clients can set this to change the presenter." + }, + "recordingInfo": { + "$ref": "RecordingInfo", + "description": "Deprecated, use RecordingSessionInfo instead. Info about recording for this conference. This will always be set in server responses, with a valid recording status. This is superseded by streaming_sessions field, which contains the same information about this recording as well as additional information about other application type at the same time. This will be deprecated and removed at some point." + }, + "recordingSessionInfo": { + "$ref": "RecordingSessionInfo", + "description": "Information about active recording session in the ongoing conference." + }, + "settings": { + "$ref": "CallSettings", + "description": "Settings of the ongoing conference." + }, + "streamingSessions": { + "description": "Output only. Info about streaming sessions (recording or broadcast) for this conference. This should contain all active sessions. Currently, it's guaranteed to have at most one recording and at most one broadcast (at most two sessions in total). For each application type (recording or broadcast), latest inactive session is included if there's no active one.", + "items": { + "$ref": "StreamingSessionInfo" + }, + "readOnly": true, + "type": "array" + }, + "supportedCaptionLanguages": { + "description": "Supported caption languages in BCP 47 language code format, e.g.'en-US'.", + "items": { + "type": "string" + }, + "type": "array" + }, + "transcriptionSessionInfo": { + "$ref": "TranscriptionSessionInfo", + "description": "Information about active transcription session in the ongoing conference." + }, + "viewerCount": { + "description": "The number of devices viewing the conference - MeetingDevices that are in VIEWER role and JOINED state in the conference.", + "format": "int32", + "type": "integer" + }, + "youTubeBroadcastSessionInfos": { + "description": "Information about active YouTube broadcast sessions in the ongoing conference.", + "items": { + "$ref": "YouTubeBroadcastSessionInfo" + }, + "type": "array" + } + }, + "type": "object" + }, + "CallSettings": { + "description": "Effective settings of the ongoing conference.", + "id": "CallSettings", + "properties": { + "accessLock": { + "description": "Indicates whether the access lock is currently on or off.", + "type": "boolean" + }, + "attendanceReportEnabled": { + "description": "Indicates whether the attendance report is currently enabled or disabled.", + "type": "boolean" + }, + "audioLock": { + "description": "Indicates whether the audio lock is currently on or off.", + "type": "boolean" + }, + "chatLock": { + "description": "Indicates whether the chat lock is currently on or off.", + "type": "boolean" + }, + "cseEnabled": { + "description": "Whether Client-side Encryption is enabled for this conference.", + "type": "boolean" + }, + "moderationEnabled": { + "description": "Indicates whether the current call is moderated. go/meet-multimod-dd", + "type": "boolean" + }, + "presentLock": { + "description": "Indicates whether the present lock is currently on or off.", + "type": "boolean" + }, + "projectDinoEnabled": { + "description": "Indicates whether project Dino is currently on or off. WARNING: This is currently an experimental field. It should not be used without getting an explicit review and approval from the Meet team.", + "type": "boolean" + }, + "reactionsLock": { + "description": "Indicates whether the reactions lock is currently on or off.", + "type": "boolean" + }, + "videoLock": { + "description": "Indicates whether the video lock is currently on or off.", + "type": "boolean" + } + }, + "type": "object" + }, + "CapTokenHolderProto": { + "description": "Represents a principal which possesses a particular secret string whose cryptographic hash is specified here. CapTokens (\"Capability Tokens\") are used in ACLProto. It's expected that ACLs with CapTokenHolders will strongly enforce them by Keystore-wrapping crypto keys for the corresponding CapTokens.", + "id": "CapTokenHolderProto", + "properties": { + "tokenHmacSha1Prefix": { + "description": "The hash of the corresponding capability token. The value is defined to be identical to the one in acl.proto's CapTokenMetadata: 10-byte prefix of HMAC-SHA1 of the token. The HMAC key is the following fixed (non-secret) 512-bit value: 79b1c8f4 82baf523 b8a9ab4a e960f438 c45be041 11f1f222 e8a3f64d aeb05e3d c3576acc ec649194 aede422c 4e48e0d1 ff21234a a6ed6b49 a7fa592e efd7bba3", + "format": "byte", + "type": "string" + } + }, + "type": "object" + }, + "Card": { + "id": "Card", + "properties": { + "cardActions": { + "items": { + "$ref": "CardAction" + }, + "type": "array" + }, + "displayStyle": { + "enum": [ + "DISPLAY_STYLE_UNSPECIFIED", + "PEEK", + "REPLACE" + ], + "enumDescriptions": [ + "", + "", + "" + ], + "type": "string" + }, + "fixedFooter": { + "$ref": "FixedFooter" + }, + "header": { + "$ref": "CardHeader" + }, + "name": { + "description": "Name of the card used in CardNavigation.pop_to_card_name.", + "type": "string" + }, + "peekCardHeader": { + "$ref": "CardHeader", + "description": "When displaying contextual content, the peek card header acts as a placeholder so that the user can navigate forward between the homepage cards and the contextual cards." + }, + "sections": { + "items": { + "$ref": "Section" + }, + "type": "array" + } + }, + "type": "object" + }, + "CardAction": { + "description": "When an AddOn Card is shown in detailed view, a card action is the action associated with the card. For an invoice card, a typical action would be: delete invoice, email invoice or open the invoice in browser.", + "id": "CardAction", + "properties": { + "actionLabel": { + "description": "The label used to be displayed in the action menu item.", + "type": "string" + }, + "onClick": { + "$ref": "OnClick" + } + }, + "type": "object" + }, + "CardHeader": { + "id": "CardHeader", + "properties": { + "imageAltText": { + "description": "The alternative text of this image which will be used for accessibility.", + "type": "string" + }, + "imageStyle": { + "enum": [ + "CROP_TYPE_NOT_SET", + "SQUARE", + "CIRCLE", + "RECTANGLE_CUSTOM", + "RECTANGLE_4_3" + ], + "enumDescriptions": [ + "No value specified.", + "Applies a square crop.", + "Applies a circular crop.", + "Applies a rectangular crop with a custom aspect ratio.", + "Applies a rectangular crop with a 4:3 aspect ratio." + ], + "type": "string" + }, + "imageUrl": { + "type": "string" + }, + "subtitle": { + "type": "string" + }, + "title": { + "description": "The title must be specified. The header has a fixed height: if both a title and subtitle is specified, each will take up 1 line. If only the title is specified, it will take up both lines. The header is rendered in collapsed and detailed view.", + "type": "string" + } + }, + "type": "object" + }, + "ChatContentExtension": { + "description": "NEXT ID: 12", + "id": "ChatContentExtension", + "properties": { + "annotation": { + "description": "Annotations to decorate this event.", + "items": { + "$ref": "EventAnnotation" + }, + "type": "array" + }, + "dynamitePlaceholderMetadata": { + "$ref": "DynamitePlaceholderMetadata", + "description": "This metadata informs how the placeholder string will be localized dynamically in Hangouts. See go/localization-of-system-messages. This is only used as part of REGULAR_CHAT_MESSAGE events." + }, + "eventOtrStatus": { + "description": "Is this event OnTR or OffTR? Since some events can be ON_THE_RECORD and have an expiration_timestamp (for example enterprise retention users) we need to store the otr status.", + "enum": [ + "OFF_THE_RECORD", + "ON_THE_RECORD" + ], + "enumDescriptions": [ + "The conversation is completely off the record.", + "The conversation is completely on the record." + ], + "type": "string" + }, + "groupLinkSharingModificationEvent": { + "$ref": "GroupLinkSharingModificationEvent", + "description": "Group-link sharing toggle event." + }, + "hangoutEvent": { + "$ref": "HangoutEvent", + "description": "Audio/video Hangout event." + }, + "inviteAcceptedEvent": { + "$ref": "InviteAcceptedEvent", + "description": "Invite accepted events. Note: this is only used ephemerally to sync to Gmail. No actual cent is stored in Papyrus." + }, + "membershipChangeEvent": { + "$ref": "MembershipChangeEvent", + "description": "Join/leave events." + }, + "otrChatMessageEvent": { + "$ref": "OtrChatMessageEvent", + "description": "Metadata for off-the-record message." + }, + "otrModificationEvent": { + "$ref": "OtrModificationEvent" + }, + "renameEvent": { + "$ref": "RenameEvent" + } + }, + "type": "object" + }, + "ChatProto": { + "description": "Represents the invitees or other users associated with a Babel Chat (see http://goto/babel). Corresponds to GroupType CHAT in //social/graph/storage/proto/data.proto.", + "id": "ChatProto", + "properties": { + "chatId": { + "description": "Chat IDs consist of alphanumeric characters and colons. Currently required.", + "type": "string" + }, + "memberType": { + "description": "The type of Chat members to consider, e.g. \"all members\" vs. \"invitee\" These are defined by legacy_relation_id values in social.graph.storage.EdgeTypeEnum.EdgeType enum options in social/graph/storage/proto/id.proto. See chat.pb (defined in production/config/cdd/socialgraph/mixer_config/prod/node_type_config) for all valid edge types associated with chat. Currently required.", + "format": "int32", + "type": "integer" + } + }, + "type": "object" + }, + "CheckAccessResponse": { + "id": "CheckAccessResponse", + "properties": { + "hasAccess": { + "description": "Returns true if principal has access. Returns false otherwise.", + "type": "boolean" + } + }, + "type": "object" + }, + "CircleProto": { + "description": "Represents a Google+ Circle. Currently (12/2011), a Circle is identical to the ContactGroup with matching parameters, but Circle must only be used for true Circles and not other Focus groups, and should be preferred over ContactGroup where applicable. Soon it may become more efficient to check membership in a Circle than in a ContactGroup (see http://go/superglue). Support for this principal type is currently (12/2011) incomplete -- e.g., Keystore does not support it yet (see b/5703421).", + "id": "CircleProto", + "properties": { + "circleId": { + "description": "Circle ID is unique only relative to the owner's Gaia ID. Currently required.", + "format": "int64", + "type": "string" + }, + "ownerGaiaId": { + "description": "The owner of the circle. Currently required.", + "format": "int64", + "type": "string" + }, + "requiredConsistencyTimestampUsec": { + "description": "If present, then tests for membership in this circle must use data known to be at least as fresh as the given (FBS-assigned) timestamp. See http://go/fbs-consistent-read-after-important-write Before using this, be sure that any service checking authorization against this circle supports checking consistency timestamps. For example, as of 12/2011, Keystore only supports this for the Moonshine configuration, and in others authorization checks will fail if the timestamp is present.", + "format": "int64", + "type": "string" + } + }, + "type": "object" + }, + "CloudPrincipalProto": { + "description": "Principal associated with a Cloud Principal representing third party user.", + "id": "CloudPrincipalProto", + "properties": { + "id": { + "description": "Format: \"{identity-pool}:{subject}#\" Details: go/cloud-principal-identifiers", + "type": "string" + } + }, + "type": "object" + }, + "CoActivity": { + "description": "Metadata about a co-activity session.", + "id": "CoActivity", + "properties": { + "activityTitle": { + "description": "The title of the activity in this co-activity session. For example, this might be the title of the video being co-watched, or the name of the round of a game being co-played.", + "type": "string" + }, + "coActivityApp": { + "description": "Identifies the app handling this co-activity.", + "enum": [ + "CO_ACTIVITY_APP_UNSPECIFIED", + "CO_ACTIVITY_APP_YOU_TUBE_MAIN", + "CO_ACTIVITY_APP_SPOTIFY", + "CO_ACTIVITY_APP_UNO", + "CO_ACTIVITY_APP_HEADSUP", + "CO_ACTIVITY_APP_KAHOOT", + "CO_ACTIVITY_APP_GQUEUES" + ], + "enumDescriptions": [ + "Should never be used.", + "Main YouTube app, for watching videos.", + "Spotify music.", + "Uno game.", + "HeadsUp game.", + "Kahoot! educational software.", + "GQueues task manager." + ], + "type": "string" + } + }, + "type": "object" + }, + "Collaboration": { + "description": "Information about a collaboration session.", + "id": "Collaboration", + "properties": { + "attachmentId": { + "description": "The attachment being collaborated on.", + "type": "string" + }, + "initiator": { + "$ref": "UserDisplayInfo", + "description": "Display info of the user who initiated the collaboration session." + }, + "uri": { + "description": "The uri of the artifact being collaborated on.", + "type": "string" + } + }, + "type": "object" + }, + "Color": { + "description": "Represents a color in the RGBA color space. This representation is designed for simplicity of conversion to/from color representations in various languages over compactness. For example, the fields of this representation can be trivially provided to the constructor of `java.awt.Color` in Java; it can also be trivially provided to UIColor's `+colorWithRed:green:blue:alpha` method in iOS; and, with just a little work, it can be easily formatted into a CSS `rgba()` string in JavaScript. This reference page doesn't carry information about the absolute color space that should be used to interpret the RGB value (e.g. sRGB, Adobe RGB, DCI-P3, BT.2020, etc.). By default, applications should assume the sRGB color space. When color equality needs to be decided, implementations, unless documented otherwise, treat two colors as equal if all their red, green, blue, and alpha values each differ by at most 1e-5. Example (Java): import com.google.type.Color; // ... public static java.awt.Color fromProto(Color protocolor) { float alpha = protocolor.hasAlpha() ? protocolor.getAlpha().getValue() : 1.0; return new java.awt.Color( protocolor.getRed(), protocolor.getGreen(), protocolor.getBlue(), alpha); } public static Color toProto(java.awt.Color color) { float red = (float) color.getRed(); float green = (float) color.getGreen(); float blue = (float) color.getBlue(); float denominator = 255.0; Color.Builder resultBuilder = Color .newBuilder() .setRed(red / denominator) .setGreen(green / denominator) .setBlue(blue / denominator); int alpha = color.getAlpha(); if (alpha != 255) { result.setAlpha( FloatValue .newBuilder() .setValue(((float) alpha) / denominator) .build()); } return resultBuilder.build(); } // ... Example (iOS / Obj-C): // ... static UIColor* fromProto(Color* protocolor) { float red = [protocolor red]; float green = [protocolor green]; float blue = [protocolor blue]; FloatValue* alpha_wrapper = [protocolor alpha]; float alpha = 1.0; if (alpha_wrapper != nil) { alpha = [alpha_wrapper value]; } return [UIColor colorWithRed:red green:green blue:blue alpha:alpha]; } static Color* toProto(UIColor* color) { CGFloat red, green, blue, alpha; if (![color getRed:&red green:&green blue:&blue alpha:&alpha]) { return nil; } Color* result = [[Color alloc] init]; [result setRed:red]; [result setGreen:green]; [result setBlue:blue]; if (alpha <= 0.9999) { [result setAlpha:floatWrapperWithValue(alpha)]; } [result autorelease]; return result; } // ... Example (JavaScript): // ... var protoToCssColor = function(rgb_color) { var redFrac = rgb_color.red || 0.0; var greenFrac = rgb_color.green || 0.0; var blueFrac = rgb_color.blue || 0.0; var red = Math.floor(redFrac * 255); var green = Math.floor(greenFrac * 255); var blue = Math.floor(blueFrac * 255); if (!('alpha' in rgb_color)) { return rgbToCssColor(red, green, blue); } var alphaFrac = rgb_color.alpha.value || 0.0; var rgbParams = [red, green, blue].join(','); return ['rgba(', rgbParams, ',', alphaFrac, ')'].join(''); }; var rgbToCssColor = function(red, green, blue) { var rgbNumber = new Number((red << 16) | (green << 8) | blue); var hexString = rgbNumber.toString(16); var missingZeros = 6 - hexString.length; var resultBuilder = ['#']; for (var i = 0; i < missingZeros; i++) { resultBuilder.push('0'); } resultBuilder.push(hexString); return resultBuilder.join(''); }; // ...", + "id": "Color", + "properties": { + "alpha": { + "description": "The fraction of this color that should be applied to the pixel. That is, the final pixel color is defined by the equation: `pixel color = alpha * (this color) + (1.0 - alpha) * (background color)` This means that a value of 1.0 corresponds to a solid color, whereas a value of 0.0 corresponds to a completely transparent color. This uses a wrapper message rather than a simple float scalar so that it is possible to distinguish between a default value and the value being unset. If omitted, this color object is rendered as a solid color (as if the alpha value had been explicitly given a value of 1.0).", + "format": "float", + "type": "number" + }, + "blue": { + "description": "The amount of blue in the color as a value in the interval [0, 1].", + "format": "float", + "type": "number" + }, + "green": { + "description": "The amount of green in the color as a value in the interval [0, 1].", + "format": "float", + "type": "number" + }, + "red": { + "description": "The amount of red in the color as a value in the interval [0, 1].", + "format": "float", + "type": "number" + } + }, + "type": "object" + }, + "CompositeFilter": { + "id": "CompositeFilter", + "properties": { + "logicOperator": { + "description": "The logic operator of the sub filter.", + "enum": [ + "AND", + "OR", + "NOT" + ], + "enumDescriptions": [ + "Logical operators, which can only be applied to sub filters.", + "", + "NOT can only be applied on a single sub filter." + ], + "type": "string" + }, + "subFilters": { + "description": "Sub filters.", + "items": { + "$ref": "Filter" + }, + "type": "array" + } + }, + "type": "object" + }, + "ContactGroupProto": { + "description": "A group of contacts for a given user, as described in http://cs/p#google3/focus/backend/proto/backend.proto Historically (and in still-existing ACLs), this was used to represent Google+ circles as well as contact groups, but this use is now deprecated. New code should use the CIRCLE principal type to represent Google+ circles.", + "id": "ContactGroupProto", + "properties": { + "groupId": { + "description": "Group ID is unique only relative to the owner's Gaia ID.", + "format": "int64", + "type": "string" + }, + "ownerGaiaId": { + "format": "int64", + "type": "string" + }, + "requiredConsistencyTimestampUsec": { + "description": "If present, then tests for membership in this ContactGroup must use data known to be at least as fresh as the given (FBS-assigned) timestamp. See http://go/fbs-consistent-read-after-important-write Before using this, be sure that any service checking authorization against this group supports checking consistency timestamps. For example, as of 12/2011, Keystore only supports this for the Moonshine configuration, and in others authorization checks will fail if the timestamp is present.", + "format": "int64", + "type": "string" + } + }, + "type": "object" + }, + "ContextAttribute": { + "description": "A named attribute associated with an item which can be used for influencing the ranking of the item based on the context in the request.", + "id": "ContextAttribute", + "properties": { + "name": { + "description": "The name of the attribute. It should not be empty. The maximum length is 32 characters. The name must start with a letter and can only contain letters (A-Z, a-z) or numbers (0-9). The name will be normalized (lower-cased) before being matched.", + "type": "string" + }, + "values": { + "description": "Text values of the attribute. The maximum number of elements is 10. The maximum length of an element in the array is 32 characters. The value will be normalized (lower-cased) before being matched.", + "items": { + "type": "string" + }, + "type": "array" + } + }, + "type": "object" + }, + "ContextualAddOnMarkup": { + "description": "The markup for developers to specify the contents of a contextual AddOn. A contextual AddOn is triggered in context of an email. For that email, there can be N items that are associated with the email (e.g. contacts, sales lead, meeting information). Each item is represented as a \"card\". A card has two views, collapsed and detailed. If there are more than 1 card, the cards are show as a list of collapsed views. The end user can expand into the detailed view for each of those cards. In the detailed view, developers have the freedom to use a variety of \"widgets\" to construct it. The model here is to restrict (make consistent for end users) the navigation of the N cards but providing developers the freedom to build the detailed view that can best represent their use case/content. Go http://go/aoig-widgets1 to see the mocks. Post v1, we plan to support new AddOn use cases that will require different and separate 'templates'. For example, a compose triggered AddOn which will support a new set of use cases with different user interaction patterns. As a result, we will likely need a very different template than this one.", + "id": "ContextualAddOnMarkup", + "properties": { + "cards": { + "description": "A card must contain a header and at least 1 section.", + "items": { + "$ref": "Card" + }, + "type": "array" + }, + "toolbar": { + "$ref": "Toolbar", + "description": "Deprecated." + } + }, + "type": "object" + }, + "CseInfo": { + "description": "Information needed for Client-side Encryption.", + "id": "CseInfo", + "properties": { + "cseDomain": { + "description": "CSE domain name claimed by the meeting owner's company. This field is expected to be used for display purposes only, i.e., \"Extra encryption added by $cse_domain\". It can differ from the `cse_domain` as defined elsewhere on the User, in the case of cross-domain meetings.", + "type": "string" + }, + "wrappedKey": { + "description": "The wrapped CSE key used by this conference.", + "format": "byte", + "type": "string" + } + }, + "type": "object" + }, + "CustomerIndexStats": { + "description": "Aggregation of items by status code as of the specified date.", + "id": "CustomerIndexStats", + "properties": { + "date": { + "$ref": "Date", + "description": "The date for which statistics were calculated." + }, + "itemCountByStatus": { + "description": "Number of items aggregrated by status code.", + "items": { + "$ref": "ItemCountByStatus" + }, + "type": "array" + } + }, + "type": "object" + }, + "CustomerQueryStats": { + "id": "CustomerQueryStats", + "properties": { + "date": { + "$ref": "Date", + "description": "The date for which query stats were calculated. Stats calculated on the next day close to midnight are returned." + }, + "queryCountByStatus": { + "items": { + "$ref": "QueryCountByStatus" + }, + "type": "array" + } + }, + "type": "object" + }, + "CustomerSearchApplicationStats": { + "description": "Search application stats for a customer for the given date.", + "id": "CustomerSearchApplicationStats", + "properties": { + "count": { + "description": "The count of search applications for the date.", + "format": "int64", + "type": "string" + }, + "date": { + "$ref": "Date", + "description": "The date for which search application stats were calculated." + } + }, + "type": "object" + }, + "CustomerSessionStats": { + "id": "CustomerSessionStats", + "properties": { + "date": { + "$ref": "Date", + "description": "The date for which session stats were calculated. Stats are calculated on the following day, close to midnight PST, and then returned." + }, + "searchSessionsCount": { + "description": "The count of search sessions on the day", + "format": "int64", + "type": "string" + } + }, + "type": "object" + }, + "CustomerSettings": { + "description": "Represents settings at a customer level.", + "id": "CustomerSettings", + "properties": { + "auditLoggingSettings": { + "$ref": "AuditLoggingSettings", + "description": "Audit Logging settings for the customer. If update_mask is empty then this field will be updated based on UpdateCustomerSettings request." + }, + "vpcSettings": { + "$ref": "VPCSettings", + "description": "VPC SC settings for the customer. If update_mask is empty then this field will be updated based on UpdateCustomerSettings request." + } + }, + "type": "object" + }, + "CustomerUserStats": { + "id": "CustomerUserStats", + "properties": { + "date": { + "$ref": "Date", + "description": "The date for which session stats were calculated. Stats calculated on the next day close to midnight are returned." + }, + "oneDayActiveUsersCount": { + "description": "The count of unique active users in the past one day", + "format": "int64", + "type": "string" + }, + "sevenDaysActiveUsersCount": { + "description": "The count of unique active users in the past seven days", + "format": "int64", + "type": "string" + }, + "thirtyDaysActiveUsersCount": { + "description": "The count of unique active users in the past thirty days", + "format": "int64", + "type": "string" + } + }, + "type": "object" + }, + "DataSource": { + "description": "Datasource is a logical namespace for items to be indexed. All items must belong to a datasource. This is the prerequisite before items can be indexed into Cloud Search.", + "id": "DataSource", + "properties": { + "disableModifications": { + "description": "If true, sets the datasource to read-only mode. In read-only mode, the Indexing API rejects any requests to index or delete items in this source. Enabling read-only mode does not stop the processing of previously accepted data.", + "type": "boolean" + }, + "disableServing": { + "description": "Disable serving any search or assist results.", + "type": "boolean" + }, + "displayName": { + "description": "Required. Display name of the datasource The maximum length is 300 characters.", + "type": "string" + }, + "indexingServiceAccounts": { + "description": "List of service accounts that have indexing access.", + "items": { + "type": "string" + }, + "type": "array" + }, + "itemsVisibility": { + "description": "This field restricts visibility to items at the datasource level. Items within the datasource are restricted to the union of users and groups included in this field. Note that, this does not ensure access to a specific item, as users need to have ACL permissions on the contained items. This ensures a high level access on the entire datasource, and that the individual items are not shared outside this visibility.", + "items": { + "$ref": "GSuitePrincipal" + }, + "type": "array" + }, + "name": { + "description": "The name of the datasource resource. Format: datasources/{source_id}. The name is ignored when creating a datasource.", + "type": "string" + }, + "operationIds": { + "description": "IDs of the Long Running Operations (LROs) currently running for this schema.", + "items": { + "type": "string" + }, + "type": "array" + }, + "returnThumbnailUrls": { + "description": "Can a user request to get thumbnail URI for Items indexed in this data source.", + "type": "boolean" + }, + "shortName": { + "description": "A short name or alias for the source. This value will be used to match the 'source' operator. For example, if the short name is ** then queries like *source:* will only return results for this source. The value must be unique across all datasources. The value must only contain alphanumeric characters (a-zA-Z0-9). The value cannot start with 'google' and cannot be one of the following: mail, gmail, docs, drive, groups, sites, calendar, hangouts, gplus, keep, people, teams. Its maximum length is 32 characters.", + "type": "string" + } + }, + "type": "object" + }, + "DataSourceIndexStats": { + "description": "Aggregation of items by status code as of the specified date.", + "id": "DataSourceIndexStats", + "properties": { + "date": { + "$ref": "Date", + "description": "The date for which index stats were calculated. If the date of request is not the current date then stats calculated on the next day are returned. Stats are calculated close to mid night in this case. If date of request is current date, then real time stats are returned." + }, + "itemCountByStatus": { + "description": "Number of items aggregrated by status code.", + "items": { + "$ref": "ItemCountByStatus" + }, + "type": "array" + } + }, + "type": "object" + }, + "DataSourceRestriction": { + "description": "Restriction on Datasource.", + "id": "DataSourceRestriction", + "properties": { + "filterOptions": { + "description": "Filter options restricting the results. If multiple filters are present, they are grouped by object type before joining. Filters with the same object type are joined conjunctively, then the resulting expressions are joined disjunctively. The maximum number of elements is 20. NOTE: Suggest API supports only few filters at the moment: \"objecttype\", \"type\" and \"mimetype\". For now, schema specific filters cannot be used to filter suggestions.", + "items": { + "$ref": "FilterOptions" + }, + "type": "array" + }, + "source": { + "$ref": "Source", + "description": "The source of restriction." + } + }, + "type": "object" + }, + "Date": { + "description": "Represents a whole calendar date, for example a date of birth. The time of day and time zone are either specified elsewhere or are not significant. The date is relative to the [Proleptic Gregorian Calendar](https://en.wikipedia.org/wiki/Proleptic_Gregorian_calendar). The date must be a valid calendar date between the year 1 and 9999.", + "id": "Date", + "properties": { + "day": { + "description": "Day of month. Must be from 1 to 31 and valid for the year and month.", + "format": "int32", + "type": "integer" + }, + "month": { + "description": "Month of date. Must be from 1 to 12.", + "format": "int32", + "type": "integer" + }, + "year": { + "description": "Year of date. Must be from 1 to 9999.", + "format": "int32", + "type": "integer" + } + }, + "type": "object" + }, + "DateOperatorOptions": { + "description": "Optional. Provides a search operator for date properties. Search operators let users restrict the query to specific fields relevant to the type of item being searched.", + "id": "DateOperatorOptions", + "properties": { + "greaterThanOperatorName": { + "description": "Indicates the operator name required in the query in order to isolate the date property using the greater-than operator. For example, if greaterThanOperatorName is *closedafter* and the property's name is *closeDate*, then queries like *closedafter:* show results only where the value of the property named *closeDate* is later than **. The operator name can only contain lowercase letters (a-z). The maximum length is 32 characters.", + "type": "string" + }, + "lessThanOperatorName": { + "description": "Indicates the operator name required in the query in order to isolate the date property using the less-than operator. For example, if lessThanOperatorName is *closedbefore* and the property's name is *closeDate*, then queries like *closedbefore:* show results only where the value of the property named *closeDate* is earlier than **. The operator name can only contain lowercase letters (a-z). The maximum length is 32 characters.", + "type": "string" + }, + "operatorName": { + "description": "Indicates the actual string required in the query in order to isolate the date property. For example, suppose an issue tracking schema object has a property named *closeDate* that specifies an operator with an operatorName of *closedon*. For searches on that data, queries like *closedon:* show results only where the value of the *closeDate* property matches **. By contrast, a search that uses the same ** without an operator returns all items where ** matches the value of any String properties or text within the content field for the indexed datasource. The operator name can only contain lowercase letters (a-z). The maximum length is 32 characters.", + "type": "string" + } + }, + "type": "object" + }, + "DatePropertyOptions": { + "description": "The options for date properties.", + "id": "DatePropertyOptions", + "properties": { + "operatorOptions": { + "$ref": "DateOperatorOptions", + "description": "If set, describes how the date should be used as a search operator." + } + }, + "type": "object" + }, + "DateTimePicker": { + "id": "DateTimePicker", + "properties": { + "label": { + "description": "The label for the field, which is displayed to the user.", + "type": "string" + }, + "name": { + "description": "The name of the text field which is used in FormInput, and uniquely identifies this input.", + "type": "string" + }, + "onChange": { + "$ref": "FormAction", + "description": "Triggered when the user clicks on the Save, or Clear button from the date / time picker dialog. Will only be triggered if the value changed as a result of the Save / Clear operation." + }, + "timezoneOffsetDate": { + "description": "The number representing the time-zone offset from UTC, in minutes. If set, the value_ms_epoch will be displayed in the specified time zone. If not set, it will use the user's timezone setting in client side.", + "format": "int32", + "type": "integer" + }, + "type": { + "description": "The type of the DateTimePicker.", + "enum": [ + "UNSPECIFIED_TYPE", + "DATE_AND_TIME", + "DATE_ONLY", + "TIME_ONLY" + ], + "enumDescriptions": [ + "", + "", + "", + "" + ], + "type": "string" + }, + "valueMsEpoch": { + "description": "The value to display which can be the default value before user input or previous user input. It is represented in milliseconds (Epoch time). - For DATE_AND_TIME type, the full epoch value is used. - For DATE_ONLY type, only date of the epoch time is used. - For TIME_ONLY type, only time of the epoch time is used. For example, you can set epoch time to 3 * 60 * 60 * 1000 to represent 3am.", + "format": "int64", + "type": "string" + } + }, + "type": "object" + }, + "DateValues": { + "description": "List of date values.", + "id": "DateValues", + "properties": { + "values": { + "items": { + "$ref": "Date" + }, + "type": "array" + } + }, + "type": "object" + }, + "DebugOptions": { + "description": "Shared request debug options for all cloudsearch RPC methods.", + "id": "DebugOptions", + "properties": { + "enableDebugging": { + "description": "If you are asked by Google to help with debugging, set this field. Otherwise, ignore this field.", + "type": "boolean" + } + }, + "type": "object" + }, + "DeepLinkData": { + "description": "Deep-linking data is used to construct a deep-link URI for an activity or frame's embed, such that on click, the user is taken to the right place in a mobile app. If the app is not installed, the user is taken to the app store. If not on mobile, an analogous web uri is used.", + "id": "DeepLinkData", + "properties": { + "appId": { + "description": "Application ID (or project ID) from Google API Console.", + "format": "int64", + "type": "string" + }, + "client": { + "description": "The data for a Google API Console client is entered by a developer during client registration and is stored in PackagingService.", + "items": { + "$ref": "PackagingServiceClient" + }, + "type": "array" + }, + "deepLinkId": { + "description": "The ID for non-URL content. Embeds may either have no analogous web presence or prefer a native mobile experience if supported. In the case of no web presence, instead of setting the \"url\" field of an embed, such developers will set this field and other content fields, e.g. thumbnail, title, description. If set, this field is used to construct the deep-link URI. Note that the native experience is preferred over the web link and the web link is used as a fallback.", + "type": "string" + }, + "url": { + "description": "Analogous web presence. Used as desktop fallback or when no native link data is present.", + "type": "string" + } + }, + "type": "object" + }, + "DeleteMetadata": { + "description": "A message was deleted in Dynamite.", + "id": "DeleteMetadata", + "properties": {}, + "type": "object" + }, + "DeleteQueueItemsRequest": { + "id": "DeleteQueueItemsRequest", + "properties": { + "connectorName": { + "description": "The name of connector making this call. Format: datasources/{source_id}/connectors/{ID}", + "type": "string" + }, + "debugOptions": { + "$ref": "DebugOptions", + "description": "Common debug options." + }, + "queue": { + "description": "The name of a queue to delete items from.", + "type": "string" + } + }, + "type": "object" + }, + "DeliveryMedium": { + "id": "DeliveryMedium", + "properties": { + "mediumType": { + "description": "Describes the medium the cent was sent/received. For example, if I receive an SMS via GV, the medium_type will be GV.", + "enum": [ + "UNKNOWN_MEDIUM", + "BABEL_MEDIUM", + "GOOGLE_VOICE_MEDIUM", + "LOCAL_SMS_MEDIUM" + ], + "enumDescriptions": [ + "", + "", + "", + "" + ], + "type": "string" + }, + "selfPhone": { + "$ref": "VoicePhoneNumber", + "description": "In the case of multiple GV/native numbers, this defines the exact number to send from. It is used to differentiate mediums that have the same type, but different addresses (e.g. two android phones)." + } + }, + "type": "object" + }, + "DisplayedProperty": { + "description": "A reference to a top-level property within the object that should be displayed in search results. The values of the chosen properties is displayed in the search results along with the display label for that property if one is specified. If a display label is not specified, only the values is shown.", + "id": "DisplayedProperty", + "properties": { + "propertyName": { + "description": "The name of the top-level property as defined in a property definition for the object. If the name is not a defined property in the schema, an error is given when attempting to update the schema.", + "type": "string" + } + }, + "type": "object" + }, + "Divider": { + "id": "Divider", + "properties": {}, + "type": "object" + }, + "DocumentInfo": { + "description": "Information on a document attached to an active conference.", + "id": "DocumentInfo", + "properties": { + "whiteboardInfo": { + "$ref": "WhiteboardInfo", + "description": "A whiteboard document." + } + }, + "type": "object" + }, + "DoubleOperatorOptions": { + "description": "Used to provide a search operator for double properties. This is optional. Search operators let users restrict the query to specific fields relevant to the type of item being searched.", + "id": "DoubleOperatorOptions", + "properties": { + "operatorName": { + "description": "Indicates the operator name required in the query in order to use the double property in sorting or as a facet. The operator name can only contain lowercase letters (a-z). The maximum length is 32 characters.", + "type": "string" + } + }, + "type": "object" + }, + "DoublePropertyOptions": { + "description": "The options for double properties.", + "id": "DoublePropertyOptions", + "properties": { + "operatorOptions": { + "$ref": "DoubleOperatorOptions", + "description": "If set, describes how the double should be used as a search operator." + } + }, + "type": "object" + }, + "DoubleValues": { + "description": "List of double values.", + "id": "DoubleValues", + "properties": { + "values": { + "items": { + "format": "double", + "type": "number" + }, + "type": "array" + } + }, + "type": "object" + }, + "DriveFollowUpRestrict": { + "description": "Drive follow-up search restricts (e.g. \"followup:suggestions\").", + "id": "DriveFollowUpRestrict", + "properties": { + "type": { + "enum": [ + "UNSPECIFIED", + "FOLLOWUP_SUGGESTIONS", + "FOLLOWUP_ACTION_ITEMS" + ], + "enumDescriptions": [ + "", + "", + "" + ], + "type": "string" + } + }, + "type": "object" + }, + "DriveLocationRestrict": { + "description": "Drive location search restricts (e.g. \"is:starred\").", + "id": "DriveLocationRestrict", + "properties": { + "type": { + "enum": [ + "UNSPECIFIED", + "TRASHED", + "STARRED" + ], + "enumDescriptions": [ + "", + "", + "" + ], + "type": "string" + } + }, + "type": "object" + }, + "DriveMimeTypeRestrict": { + "description": "Drive mime-type search restricts (e.g. \"type:pdf\").", + "id": "DriveMimeTypeRestrict", + "properties": { + "type": { + "enum": [ + "UNSPECIFIED", + "PDF", + "DOCUMENT", + "PRESENTATION", + "SPREADSHEET", + "FORM", + "DRAWING", + "SCRIPT", + "MAP", + "IMAGE", + "AUDIO", + "VIDEO", + "FOLDER", + "ARCHIVE", + "SITE" + ], + "enumDescriptions": [ + "", + "", + "", + "", + "", + "", + "", + "", + "", + "", + "", + "", + "", + "", + "" + ], + "type": "string" + } + }, + "type": "object" + }, + "DriveTimeSpanRestrict": { + "description": "The time span search restrict (e.g. \"after:2017-09-11 before:2017-09-12\").", + "id": "DriveTimeSpanRestrict", + "properties": { + "type": { + "enum": [ + "UNSPECIFIED", + "TODAY", + "YESTERDAY", + "LAST_7_DAYS", + "LAST_30_DAYS", + "LAST_90_DAYS" + ], + "enumDescriptions": [ + "", + "", + "", + "", + "Not Enabled", + "Not Enabled" + ], + "type": "string" + } + }, + "type": "object" + }, + "DynamitePlaceholderMetadata": { + "description": "Metadata used as inputs to the localization that is performed on Dynamite-originated messages that are incompatible with Hangouts clients. See go/localization-of-system-messages for more details.", + "id": "DynamitePlaceholderMetadata", + "properties": { + "attachmentMetadata": { + "$ref": "AttachmentMetadata" + }, + "botMessageMetadata": { + "$ref": "BotMessageMetadata" + }, + "calendarEventMetadata": { + "$ref": "CalendarEventMetadata" + }, + "deleteMetadata": { + "$ref": "DeleteMetadata" + }, + "editMetadata": { + "$ref": "EditMetadata" + }, + "spaceUrl": { + "description": "The space URL embedded in the localized string.", + "type": "string" + }, + "tasksMetadata": { + "$ref": "TasksMetadata" + }, + "videoCallMetadata": { + "$ref": "VideoCallMetadata" + } + }, + "type": "object" + }, + "DynamiteSpacesScoringInfo": { + "description": "This is the proto for holding space level scoring information. This data is used for logging in query-api server and for testing purposes.", + "id": "DynamiteSpacesScoringInfo", + "properties": { + "affinityScore": { + "format": "double", + "type": "number" + }, + "commonContactCountAffinityScore": { + "format": "double", + "type": "number" + }, + "contactsIntersectionCount": { + "format": "double", + "type": "number" + }, + "finalScore": { + "format": "double", + "type": "number" + }, + "freshnessScore": { + "format": "double", + "type": "number" + }, + "joinedSpacesAffinityScore": { + "format": "double", + "type": "number" + }, + "lastMessagePostedTimestampSecs": { + "format": "int64", + "type": "string" + }, + "lastReadTimestampSecs": { + "format": "int64", + "type": "string" + }, + "memberMetadataCount": { + "format": "double", + "type": "number" + }, + "messageScore": { + "format": "double", + "type": "number" + }, + "numAucContacts": { + "format": "int64", + "type": "string" + }, + "smallContactListAffinityScore": { + "format": "double", + "type": "number" + }, + "smallUnjoinedSpacesAffinityScore": { + "format": "double", + "type": "number" + }, + "spaceAgeInDays": { + "format": "double", + "type": "number" + }, + "spaceCreationTimestampSecs": { + "format": "int64", + "type": "string" + }, + "topicalityScore": { + "format": "double", + "type": "number" + } + }, + "type": "object" + }, + "EditMetadata": { + "description": "An edit was made in Dynamite.", + "id": "EditMetadata", + "properties": {}, + "type": "object" + }, + "EmailAddress": { + "description": "A person's email address.", + "id": "EmailAddress", + "properties": { + "emailAddress": { + "description": "The email address.", + "type": "string" + } + }, + "type": "object" + }, + "EmailOwnerProto": { + "description": "Represents a verified owner of the given email address. Note that a single address may have many owners, and a single user may own many addresses. (All lower-case, in display form -- see com.google.gaia.client.GaiaEmail)", + "id": "EmailOwnerProto", + "properties": { + "email": { + "type": "string" + } + }, + "type": "object" + }, + "EmbedClientItem": { + "description": "Represents an embedded object in an update. This is a wrapper class that can contain a single specific item proto in an extension field. Think of it as a base class like `Message` in Java. Each item proto must declare that it extends this proto: message ExampleObject { option (item_type) = EXAMPLE_OBJECT; extend EmbedClientItem { optional ExampleObject example_object = ; } } See go/es-embeds for details.", + "id": "EmbedClientItem", + "properties": { + "canonicalId": { + "description": "The canonical ID of the embed. If absent, the canonical ID is equal to the ID; if present, then the canonical ID represents an \"equivalence class\" of embeds which really refer to the same object. (For example, the URLs http://www.foo.com/ and http://foo.com/ refer to the same object) This field may be updated periodically by background processes.", + "type": "string" + }, + "deepLinkData": { + "$ref": "DeepLinkData", + "description": "Deep-linking data to take the user to the right place in a mobile app. This is only used for preview and attribution. Links that are specific to a given embed type should live on that specific embed's proto by using Link. See http://goto.google.com/mariana-design." + }, + "id": { + "description": "The ID of the embed. This corresponds to the schema.org ID, as represented in the ItemScope.id field.", + "type": "string" + }, + "provenance": { + "$ref": "Provenance", + "description": "The provenance of the embed, populated when the embed originated from a web fetch. The provenance captures information about the web page the embed had originated, like the URL that was retrieved and the retrieved URL's canonical form. This is useful in the case where the URL shared by the URL redirects (e.g., in the case of a shortened URL)." + }, + "renderId": { + "description": "The ID used to identify the embed during rendering. This field will match ID, if set, otherwise it will be the ID of the parent activity. This field is only populated on the server for client use and is not persisted to storage.", + "type": "string" + }, + "signature": { + "description": "Signature of the embed, used for verification.", + "type": "string" + }, + "transientData": { + "$ref": "TransientData", + "description": "Transient generic data that will not be saved on the server." + }, + "type": { + "description": "The first value in `type` determines which extension field will be set. When creating an EmbedClientItem, you only need to set the first (primary) type in this field. When the server receives the item, it will populate the full type list using the parent annotations in the ItemType enum.", + "items": { + "enum": [ + "UNKNOWN", + "ACTION_V2", + "ADD_ACTION_V2", + "AGGREGATE_RATING_V2", + "ARTICLE_V2", + "ASSESS_ACTION_V2", + "AUDIO_OBJECT_V2", + "BASIC_INTERACTION_V2", + "BLOG_POSTING_V2", + "BLOG_V2", + "BOOK_V2", + "BUY_ACTION_V2", + "CHECK_IN_ACTION_V2", + "CHECKIN_V2", + "COLLEXION_V2", + "COMMENT_ACTION_V2", + "COMMENT_V2", + "COMMUNICATE_ACTION_V2", + "CONSUME_ACTION_V2", + "CREATE_ACTION_V2", + "CREATIVE_WORK_V2", + "DISCOVER_ACTION_V2", + "DOCUMENT_OBJECT_V2", + "DRAWING_OBJECT_V2", + "DRIVE_OBJECT_V2", + "EMOTISHARE_V2", + "ENTRY_POINT_V2", + "EVENT_TIME_V2", + "EVENT_V2", + "FILE_OBJECT_V2", + "FIND_ACTION_V2", + "FINANCIAL_QUOTE_V2", + "FORM_OBJECT_V2", + "GEO_COORDINATES_V2", + "GOOGLE_OFFER_V2", + "HANGOUT_CHAT_MESSAGE", + "HANGOUT_QUOTE", + "HANGOUT_V2", + "HOA_PLUS_EVENT_V2", + "IMAGE_OBJECT_V2", + "INTERACT_ACTION_V2", + "INTERACTION_V2", + "LISTEN_ACTION_V2", + "LOCAL_BUSINESS_V2", + "LOCAL_PLUS_PHOTO_ALBUM_V2", + "MAGAZINE_V2", + "MEDIA_OBJECT_V2", + "MOBILE_APPLICATION_V2", + "MOVIE_V2", + "MUSIC_ALBUM_V2", + "MUSIC_GROUP_V2", + "MUSIC_PLAYLIST_V2", + "MUSIC_RECORDING_V2", + "NEWS_ARTICLE_V2", + "OFFER_V2", + "ORGANIZATION_V2", + "ORGANIZE_ACTION_V2", + "PERSON_V2", + "PLACE_REVIEW_V2", + "PLACE_V2", + "PLAN_ACTION_V2", + "PLAY_MUSIC_ALBUM_V2", + "PLAY_MUSIC_TRACK_V2", + "PLAY_OBJECT_V2", + "PLUS_AUDIO_V2", + "PLUS_EVENT_V2", + "PLUS_MEDIA_COLLECTION_V2", + "PLUS_MEDIA_OBJECT_V2", + "PLUS_PAGE_V2", + "PLUS_PHOTOS_ADDED_TO_COLLECTION_V2", + "PLUS_PHOTO_ALBUM_V2", + "PLUS_PHOTO_COLLECTION_V2", + "PLUS_PHOTO_V2", + "PLUS_POST_V2", + "PLUS_RESHARE_V2", + "PLUS_SOFTWARE_APPLICATION_V2", + "POLL_OPTION_V2", + "POLL_V2", + "POSTAL_ADDRESS_V2", + "PRESENTATION_OBJECT_V2", + "PRODUCT_REVIEW_V2", + "RATING_V2", + "REACT_ACTION_V2", + "RESERVATION_V2", + "RESERVE_ACTION_V2", + "REVIEW_V2", + "REVIEW_ACTION_V2", + "SOFTWARE_APPLICATION_V2", + "SPREADSHEET_OBJECT_V2", + "SQUARE_INVITE_V2", + "SQUARE_V2", + "STICKER_V2", + "STORY_V2", + "THING_V2", + "TRADE_ACTION_V2", + "DEPRECATED_TOUR_OBJECT_V2", + "TV_EPISODE_V2", + "TV_SERIES_V2", + "UPDATE_ACTION_V2", + "VIEW_ACTION_V2", + "VIDEO_OBJECT_V2", + "VIDEO_GALLERY_V2", + "WANT_ACTION_V2", + "WEB_PAGE_V2", + "WRITE_ACTION_V2", + "YOUTUBE_CHANNEL_V2", + "GOOGLE_USER_PHOTO_V2", + "GOOGLE_USER_PHOTO_ALBUM", + "GOOGLE_PHOTO_RECIPE", + "THING", + "CREATIVE_WORK", + "EVENT", + "INTANGIBLE", + "ORGANIZATION", + "PERSON", + "PLACE", + "PRODUCT", + "ARTICLE", + "BLOG_POSTING", + "NEWS_ARTICLE", + "SCHOLARLY_ARTICLE", + "BLOG", + "BOOK", + "COMMENT", + "ITEM_LIST", + "MAP", + "MEDIA_OBJECT", + "AUDIO_OBJECT", + "IMAGE_OBJECT", + "MUSIC_VIDEO_OBJECT", + "VIDEO_OBJECT", + "MOVIE", + "MUSIC_PLAYLIST", + "MUSIC_ALBUM", + "MUSIC_RECORDING", + "PAINTING", + "PHOTOGRAPH", + "RECIPE", + "REVIEW", + "SCULPTURE", + "SOFTWARE_APPLICATION", + "MOBILE_APPLICATION", + "WEB_APPLICATION", + "TV_EPISODE", + "TV_SEASON", + "TV_SERIES", + "WEB_PAGE", + "ABOUT_PAGE", + "CHECKOUT_PAGE", + "COLLECTION_PAGE", + "IMAGE_GALLERY", + "VIDEO_GALLERY", + "CONTACT_PAGE", + "ITEM_PAGE", + "PROFILE_PAGE", + "SEARCH_RESULTS_PAGE", + "WEB_PAGE_ELEMENT", + "SITE_NAVIGATION_ELEMENT", + "TABLE", + "WP_AD_BLOCK", + "WP_FOOTER", + "WP_HEADER", + "WP_SIDEBAR", + "APP_INVITE", + "EMOTISHARE", + "BUSINESS_EVENT", + "CHILDRENS_EVENT", + "COMEDY_EVENT", + "DANCE_EVENT", + "EDUCATION_EVENT", + "FESTIVAL", + "FOOD_EVENT", + "LITERARY_EVENT", + "MUSIC_EVENT", + "SALE_EVENT", + "SOCIAL_EVENT", + "SPORTS_EVENT", + "THEATER_EVENT", + "VISUAL_ARTS_EVENT", + "RESERVATION", + "TRAVEL_EVENT", + "CORPORATION", + "EDUCATIONAL_ORGANIZATION", + "COLLEGE_OR_UNIVERSITY", + "ELEMENTARY_SCHOOL", + "HIGH_SCHOOL", + "MIDDLE_SCHOOL", + "PRESCHOOL", + "SCHOOL", + "GOVERNMENT_ORGANIZATION", + "LOCAL_BUSINESS", + "ANIMAL_SHELTER", + "AUTOMOTIVE_BUSINESS", + "AUTO_BODY_SHOP", + "AUTO_DEALER", + "AUTO_PARTS_STORE", + "AUTO_RENTAL", + "AUTO_REPAIR", + "AUTO_WASH", + "GAS_STATION", + "MOTORCYCLE_DEALER", + "MOTORCYCLE_REPAIR", + "CHILD_CARE", + "DRY_CLEANING_OR_LAUNDRY", + "EMERGENCY_SERVICE", + "FIRE_STATION", + "HOSPITAL", + "POLICE_STATION", + "EMPLOYMENT_AGENGY", + "ENTERTAINMENT_BUSINESS", + "ADULT_ENTERTAINMENT", + "AMUSEMENT_PARK", + "ART_GALLERY", + "CASINO", + "COMEDY_CLUB", + "MOVIE_THEATER", + "NIGHT_CLUB", + "FINANCIAL_SERVICE", + "ACCOUNTING_SERVICE", + "AUTOMATED_TELLER", + "BANK_OR_CREDIT_UNION", + "INSURANCE_AGENCY", + "FOOD_ESTABLISHMENT", + "BAKERY", + "BAR_OR_PUB", + "BREWERY", + "CAFE_OR_COFFEE_SHOP", + "FAST_FOOD_RESTAURANT", + "ICE_CREAM_SHOP", + "RESTAURANT", + "WINERY", + "GOVERNMENT_OFFICE", + "POST_OFFICE", + "HEALTH_AND_BEAUTY_BUSINESS", + "BEAUTY_SALON", + "DAY_SPA", + "HAIR_SALON", + "HEALTH_CLUB", + "NAIL_SALON", + "TATTOO_PARLOR", + "HOME_AND_CONSTRUCTION_BUSINESS", + "ELECTRICIAN", + "GENERAL_CONTRACTOR", + "HVAC_BUSINESS", + "HOUSE_PAINTER", + "LOCKSMITH", + "MOVING_COMPANY", + "PLUMBER", + "ROOFING_CONTRACTOR", + "INTERNET_CAFE", + "LIBRARY", + "LODGING_BUSINESS", + "BED_AND_BREAKFAST", + "HOSTEL", + "HOTEL", + "MOTEL", + "MEDICAL_ORGANIZATION", + "DENTIST", + "MEDICAL_CLINIC", + "OPTICIAN", + "PHARMACY", + "PHYSICIAN", + "VETERINARY_CARE", + "PROFESSIONAL_SERVICE", + "ATTORNEY", + "NOTARY", + "RADIO_STATION", + "REAL_ESTATE_AGENT", + "RECYCLING_CENTER", + "SELF_STORAGE", + "SHOPPING_CENTER", + "SPORTS_ACTIVITY_LOCATION", + "BOWLING_ALLEY", + "EXERCISE_GYM", + "GOLF_COURSE", + "PUBLIC_SWIMMING_POOL", + "SKI_RESORT", + "SPORTS_CLUB", + "STADIUM_OR_ARENA", + "TENNIS_COMPLEX", + "STORE", + "BIKE_STORE", + "BOOK_STORE", + "CLOTHING_STORE", + "COMPUTER_STORE", + "CONVENIENCE_STORE", + "DEPARTMENT_STORE", + "ELECTRONICS_STORE", + "FLORIST", + "FURNITURE_STORE", + "GARDEN_STORE", + "GROCERY_STORE", + "HARDWARE_STORE", + "HOBBY_SHOP", + "HOME_GOODS_STORE", + "JEWELRY_STORE", + "LIQUOR_STORE", + "MENS_CLOTHING_STORE", + "MOBILE_PHONE_STORE", + "MOVIE_RENTAL_STORE", + "MUSIC_STORE", + "OFFICE_EQUIPMENT_STORE", + "OUTLET_STORE", + "PAWN_SHOP", + "PET_STORE", + "SHOE_STORE", + "SPORTING_GOODS_STORE", + "TIRE_SHOP", + "TOY_STORE", + "WHOLESALE_STORE", + "TELEVISION_STATION", + "TOURIST_INFORMATION_CENTER", + "TRAVEL_AGENCY", + "PERFORMING_GROUP", + "MUSIC_GROUP", + "ADMINISTRATIVE_AREA", + "CITY", + "COUNTRY", + "STATE", + "CIVIC_STRUCTURE", + "AIRPORT", + "AQUARIUM", + "BEACH", + "BUS_STATION", + "BUS_STOP", + "CAMPGROUND", + "CEMETERY", + "CREMATORIUM", + "EVENT_VENUE", + "GOVERNMENT_BUILDING", + "CITY_HALL", + "COURTHOUSE", + "DEFENCE_ESTABLISHMENT", + "EMBASSY", + "LEGISLATIVE_BUILDING", + "MUSEUM", + "MUSIC_VENUE", + "PARK", + "PARKING_FACILITY", + "PERFORMING_ARTS_THEATER", + "PLACE_OF_WORSHIP", + "BUDDHIST_TEMPLE", + "CATHOLIC_CHURCH", + "CHURCH", + "HINDU_TEMPLE", + "MOSQUE", + "SYNAGOGUE", + "PLAYGROUND", + "R_V_PARK", + "RESIDENCE", + "APARTMENT_COMPLEX", + "GATED_RESIDENCE_COMMUNITY", + "SINGLE_FAMILY_RESIDENCE", + "TOURIST_ATTRACTION", + "SUBWAY_STATION", + "TAXI_STAND", + "TRAIN_STATION", + "ZOO", + "LANDFORM", + "BODY_OF_WATER", + "CANAL", + "LAKE_BODY_OF_WATER", + "OCEAN_BODY_OF_WATER", + "POND", + "RESERVOIR", + "RIVER_BODY_OF_WATER", + "SEA_BODY_OF_WATER", + "WATERFALL", + "CONTINENT", + "MOUNTAIN", + "VOLCANO", + "LANDMARKS_OR_HISTORICAL_BUILDINGS", + "USER_INTERACTION", + "USER_PLUS_ONES", + "ENUMERATION", + "BOOK_FORMAT_TYPE", + "ITEM_AVAILABILITY", + "OFFER_ITEM_CONDITION", + "JOB_POSTING", + "LANGUAGE", + "OFFER", + "QUANTITY", + "DISTANCE", + "DURATION", + "ENERGY", + "MASS", + "RATING", + "AGGREGATE_RATING", + "STRUCTURED_VALUE", + "CONTACT_POINT", + "POSTAL_ADDRESS", + "GEO_COORDINATES", + "GEO_SHAPE", + "NUTRITION_INFORMATION", + "PRESENTATION_OBJECT", + "DOCUMENT_OBJECT", + "SPREADSHEET_OBJECT", + "FORM_OBJECT", + "DRAWING_OBJECT", + "PLACE_REVIEW", + "FILE_OBJECT", + "PLAY_MUSIC_TRACK", + "PLAY_MUSIC_ALBUM", + "MAGAZINE", + "CAROUSEL_FRAME", + "PLUS_EVENT", + "HANGOUT", + "HANGOUT_BROADCAST", + "HANGOUT_CONSUMER", + "CHECKIN", + "EXAMPLE_OBJECT", + "SQUARE", + "SQUARE_INVITE", + "PLUS_PHOTO", + "PLUS_PHOTO_ALBUM", + "LOCAL_PLUS_PHOTO_ALBUM", + "PRODUCT_REVIEW", + "FINANCIAL_QUOTE", + "DEPRECATED_TOUR_OBJECT", + "PLUS_PAGE", + "GOOGLE_CHART", + "PLUS_PHOTOS_ADDED_TO_COLLECTION", + "RECOMMENDED_PEOPLE", + "PLUS_POST", + "DATE", + "DRIVE_OBJECT_COLLECTION", + "NEWS_MEDIA_ORGANIZATION", + "DYNAMITE_ATTACHMENT_METADATA", + "DYNAMITE_MESSAGE_METADATA" + ], + "enumDescriptions": [ + "Largely deprecated, effectively an error condition and should not be in storage.", + "Embeds V2 types", + "", + "", + "", + "", + "", + "", + "", + "", + "", + "", + "The action of checking in, as opposed to a \"check-in\".", + "", + "", + "The act of commenting, which might result in a comment.", + "", + "", + "", + "", + "", + "", + "", + "", + "", + "", + "", + "", + "", + "", + "", + "", + "", + "", + "", + "", + "", + "", + "", + "", + "", + "", + "", + "", + "", + "", + "", + "", + "", + "", + "", + "", + "", + "", + "", + "", + "", + "", + "", + "", + "", + "", + "", + "", + "", + "", + "", + "", + "", + "", + "", + "", + "", + "", + "", + "", + "", + "", + "", + "", + "", + "", + "", + "", + "", + "", + "", + "", + "", + "", + "", + "", + "Boswell story (see goto/boswell)", + "", + "", + "", + "", + "", + "", + "", + "", + "", + "", + "", + "", + "", + "A photo stored in photo service owned by a Google account user. This is distinct from PlusPhoto as it isn't tied to GPlus, but is instead intended to be a more general photo tied to a google user.", + "A photo album in photo service owned by a Google account user. This is distinct from PlusPhotoAlbum as it isn't tied to GPlus, but is instead intended to be a general photo album tied to a google user.", + "An embed used to create a single photo in photo service. This type is never stored but is used to create a GOOGLE_USER_PHOTO_V2 or PLUS_PHOTO_V2 embed.", + "Embeds V1 types", + "", + "", + "", + "", + "", + "", + "", + "CREATIVE_WORK subtypes", + "", + "", + "", + "", + "", + "", + "", + "", + "", + "", + "", + "", + "", + "", + "", + "", + "", + "", + "", + "", + "", + "", + "", + "", + "", + "", + "", + "", + "", + "", + "", + "", + "", + "", + "", + "", + "", + "", + "", + "", + "", + "", + "", + "", + "", + "", + "", + "EVENT subtypes", + "", + "", + "", + "", + "", + "", + "", + "", + "", + "", + "", + "", + "", + "", + "", + "ORGANIZATION subtypes", + "", + "", + "", + "", + "", + "", + "", + "", + "", + "", + "", + "", + "", + "", + "", + "", + "", + "", + "", + "", + "", + "", + "", + "", + "", + "", + "", + "", + "", + "", + "", + "", + "", + "", + "", + "", + "", + "", + "", + "", + "", + "", + "", + "", + "", + "", + "", + "", + "", + "", + "", + "", + "", + "", + "", + "", + "", + "", + "", + "", + "", + "", + "", + "", + "", + "", + "", + "", + "", + "", + "", + "", + "", + "", + "", + "", + "", + "", + "", + "", + "", + "", + "", + "", + "", + "", + "", + "", + "", + "", + "", + "", + "", + "", + "", + "", + "", + "", + "", + "", + "", + "", + "", + "", + "", + "", + "", + "", + "", + "", + "", + "", + "", + "", + "", + "", + "", + "", + "", + "", + "", + "", + "", + "", + "", + "", + "", + "", + "", + "", + "", + "", + "", + "PLACE subtypes", + "", + "", + "", + "", + "", + "", + "", + "", + "", + "", + "", + "", + "", + "", + "", + "", + "", + "", + "", + "", + "", + "", + "", + "", + "", + "", + "", + "", + "", + "", + "", + "", + "", + "", + "", + "", + "", + "", + "", + "", + "", + "", + "", + "", + "", + "", + "", + "", + "", + "", + "", + "", + "", + "", + "", + "", + "NOTE(jpanzer): This is a badly designed hierarchy and we should avoid depending on Event properties inside UserInteractions as much as possible IMHO.", + "", + "Intangibles, primarily used as sub-objects of other types", + "", + "", + "", + "", + "", + "", + "", + "", + "", + "", + "", + "", + "", + "", + "", + "", + "", + "", + "", + "CREATIVE_WORK extensions", + "", + "", + "", + "", + "", + "", + "", + "", + "", + "Single frame for http://goto/carousel.", + "EVENT extensions", + "No declared proto. Used only as a base type for now.", + "", + "", + "", + "", + "NOTE(melchang): These correspond to http://schema.org/WebPage/Community and http://schema.org/WebPage/CommunityInvite. See b/7653610 for why these are \"SQUARE\" and not \"COMMUNITY\".", + "", + "", + "", + "", + "", + "", + "", + "", + "Data visualizations. See http://code.google.com/apis/chart/index.html", + "", + "A collection of people that have been recommended to a user.", + "A Google+ post.", + "An http://schema.org/Date unstructured ISO-8859 timestamp string.", + "Embed representing a collection of multiple Drive objects.", + "https://schema.org/NewsMediaOrganization", + "Deprecated in favor of DYNAMITE_MESSAGE_METADATA", + "Used for Dynamite message metadata in Hangouts" + ], + "type": "string" + }, + "type": "array" + } + }, + "type": "object" + }, + "EnumOperatorOptions": { + "description": "Used to provide a search operator for enum properties. This is optional. Search operators let users restrict the query to specific fields relevant to the type of item being searched. For example, if you provide no operator for a *priority* enum property with possible values *p0* and *p1*, a query that contains the term *p0* returns items that have *p0* as the value of the *priority* property, as well as any items that contain the string *p0* in other fields. If you provide an operator name for the enum, such as *priority*, then search users can use that operator to refine results to only items that have *p0* as this property's value, with the query *priority:p0*.", + "id": "EnumOperatorOptions", + "properties": { + "operatorName": { + "description": "Indicates the operator name required in the query in order to isolate the enum property. For example, if operatorName is *priority* and the property's name is *priorityVal*, then queries like *priority:* show results only where the value of the property named *priorityVal* matches **. By contrast, a search that uses the same ** without an operator returns all items where ** matches the value of any String properties or text within the content field for the item. The operator name can only contain lowercase letters (a-z). The maximum length is 32 characters.", + "type": "string" + } + }, + "type": "object" + }, + "EnumPropertyOptions": { + "description": "The options for enum properties, which allow you to define a restricted set of strings to match user queries, set rankings for those string values, and define an operator name to be paired with those strings so that users can narrow results to only items with a specific value. For example, for items in a request tracking system with priority information, you could define *p0* as an allowable enum value and tie this enum to the operator name *priority* so that search users could add *priority:p0* to their query to restrict the set of results to only those items indexed with the value *p0*.", + "id": "EnumPropertyOptions", + "properties": { + "operatorOptions": { + "$ref": "EnumOperatorOptions", + "description": "If set, describes how the enum should be used as a search operator." + }, + "orderedRanking": { + "description": "Used to specify the ordered ranking for the enumeration that determines how the integer values provided in the possible EnumValuePairs are used to rank results. If specified, integer values must be provided for all possible EnumValuePair values given for this property. Can only be used if isRepeatable is false.", + "enum": [ + "NO_ORDER", + "ASCENDING", + "DESCENDING" + ], + "enumDescriptions": [ + "There is no ranking order for the property. Results aren't adjusted by this property's value.", + "This property is ranked in ascending order. Lower values indicate lower ranking.", + "This property is ranked in descending order. Lower values indicate higher ranking." + ], + "type": "string" + }, + "possibleValues": { + "description": "The list of possible values for the enumeration property. All EnumValuePairs must provide a string value. If you specify an integer value for one EnumValuePair, then all possible EnumValuePairs must provide an integer value. Both the string value and integer value must be unique over all possible values. Once set, possible values cannot be removed or modified. If you supply an ordered ranking and think you might insert additional enum values in the future, leave gaps in the initial integer values to allow adding a value in between previously registered values. The maximum number of elements is 100.", + "items": { + "$ref": "EnumValuePair" + }, + "type": "array" + } + }, + "type": "object" + }, + "EnumValuePair": { + "description": "The enumeration value pair defines two things: a required string value and an optional integer value. The string value defines the necessary query term required to retrieve that item, such as *p0* for a priority item. The integer value determines the ranking of that string value relative to other enumerated values for the same property. For example, you might associate *p0* with *0* and define another enum pair such as *p1* and *1*. You must use the integer value in combination with ordered ranking to set the ranking of a given value relative to other enumerated values for the same property name. Here, a ranking order of DESCENDING for *priority* properties results in a ranking boost for items indexed with a value of *p0* compared to items indexed with a value of *p1*. Without a specified ranking order, the integer value has no effect on item ranking.", + "id": "EnumValuePair", + "properties": { + "integerValue": { + "description": "The integer value of the EnumValuePair which must be non-negative. Optional.", + "format": "int32", + "type": "integer" + }, + "stringValue": { + "description": "The string value of the EnumValuePair. The maximum length is 32 characters.", + "type": "string" + } + }, + "type": "object" + }, + "EnumValues": { + "description": "List of enum values.", + "id": "EnumValues", + "properties": { + "values": { + "description": "The maximum allowable length for string values is 32 characters.", + "items": { + "type": "string" + }, + "type": "array" + } + }, + "type": "object" + }, + "ErrorInfo": { + "description": "Error information about the response.", + "id": "ErrorInfo", + "properties": { + "errorMessages": { + "items": { + "$ref": "ErrorMessage" + }, + "type": "array" + } + }, + "type": "object" + }, + "ErrorMessage": { + "description": "Error message per source response.", + "id": "ErrorMessage", + "properties": { + "errorMessage": { + "type": "string" + }, + "source": { + "$ref": "Source" + } + }, + "type": "object" + }, + "EventAnnotation": { + "id": "EventAnnotation", + "properties": { + "type": { + "format": "int32", + "type": "integer" + }, + "value": { + "type": "string" + } + }, + "type": "object" + }, + "EventProto": { + "description": "Represents the invitees or other users associated with a Google+ Event (see http://goto/events-backend-design).", + "id": "EventProto", + "properties": { + "eventId": { + "description": "Event IDs consist of alphanumeric characters and colons. Currently required.", + "type": "string" + }, + "memberType": { + "description": "The type of Event members to consider, e.g. \"all members\" vs. \"owners\" vs. \"admins\". These are defined by legacy_relation_id values in social.graph.storage.EdgeTypeEnum.EdgeType enum options in social/graph/storage/proto/id.proto. See event.pb (defined in production/config/cdd/socialgraph/mixer_config/prod/node_type_config) for all valid edge types associated with event. Currently required.", + "format": "int32", + "type": "integer" + } + }, + "type": "object" + }, + "FacetBucket": { + "description": "A bucket in a facet is the basic unit of operation. A bucket can comprise either a single value OR a contiguous range of values, depending on the type of the field bucketed. FacetBucket is currently used only for returning the response object.", + "id": "FacetBucket", + "properties": { + "count": { + "description": "Number of results that match the bucket value. Counts are only returned for searches when count accuracy is ensured. Cloud Search does not guarantee facet counts for any query and facet counts might be present only intermittently, even for identical queries. Do not build dependencies on facet count existence; instead use facet ount percentages which are always returned.", + "format": "int32", + "type": "integer" + }, + "percentage": { + "description": "Percent of results that match the bucket value. The returned value is between (0-100], and is rounded down to an integer if fractional. If the value is not explicitly returned, it represents a percentage value that rounds to 0. Percentages are returned for all searches, but are an estimate. Because percentages are always returned, you should render percentages instead of counts.", + "format": "int32", + "type": "integer" + }, + "value": { + "$ref": "Value" + } + }, + "type": "object" + }, + "FacetOptions": { + "description": "Specifies operators to return facet results for. There will be one FacetResult for every source_name/object_type/operator_name combination.", + "id": "FacetOptions", + "properties": { + "numFacetBuckets": { + "description": "Maximum number of facet buckets that should be returned for this facet. Defaults to 10. Maximum value is 100.", + "format": "int32", + "type": "integer" + }, + "objectType": { + "description": "If object_type is set, only those objects of that type will be used to compute facets. If empty, then all objects will be used to compute facets.", + "type": "string" + }, + "operatorName": { + "description": "The name of the operator chosen for faceting. @see cloudsearch.SchemaPropertyOptions", + "type": "string" + }, + "sourceName": { + "description": "Source name to facet on. Format: datasources/{source_id} If empty, all data sources will be used.", + "type": "string" + } + }, + "type": "object" + }, + "FacetResult": { + "description": "Source specific facet response", + "id": "FacetResult", + "properties": { + "buckets": { + "description": "FacetBuckets for values in response containing at least a single result with the corresponding filter.", + "items": { + "$ref": "FacetBucket" + }, + "type": "array" + }, + "objectType": { + "description": "Object type for which facet results are returned. Can be empty.", + "type": "string" + }, + "operatorName": { + "description": "The name of the operator chosen for faceting. @see cloudsearch.SchemaPropertyOptions", + "type": "string" + }, + "sourceName": { + "description": "Source name for which facet results are returned. Will not be empty.", + "type": "string" + } + }, + "type": "object" + }, + "FieldViolation": { + "id": "FieldViolation", + "properties": { + "description": { + "description": "The description of the error.", + "type": "string" + }, + "field": { + "description": "Path of field with violation.", + "type": "string" + } + }, + "type": "object" + }, + "Filter": { + "description": "A generic way of expressing filters in a query, which supports two approaches: **1. Setting a ValueFilter.** The name must match an operator_name defined in the schema for your data source. **2. Setting a CompositeFilter.** The filters are evaluated using the logical operator. The top-level operators can only be either an AND or a NOT. AND can appear only at the top-most level. OR can appear only under a top-level AND.", + "id": "Filter", + "properties": { + "compositeFilter": { + "$ref": "CompositeFilter" + }, + "valueFilter": { + "$ref": "ValueFilter" + } + }, + "type": "object" + }, + "FilterOptions": { + "description": "Filter options to be applied on query.", + "id": "FilterOptions", + "properties": { + "filter": { + "$ref": "Filter", + "description": "Generic filter to restrict the search, such as `lang:en`, `site:xyz`." + }, + "objectType": { + "description": "If object_type is set, only objects of that type are returned. This should correspond to the name of the object that was registered within the definition of schema. The maximum length is 256 characters.", + "type": "string" + } + }, + "type": "object" + }, + "FixedFooter": { + "description": "A persistent (sticky) footer that is added to the bottom of the card.", + "id": "FixedFooter", + "properties": { + "buttons": { + "items": { + "$ref": "Button" + }, + "type": "array" + }, + "primaryButton": { + "$ref": "TextButton" + }, + "secondaryButton": { + "$ref": "TextButton" + } + }, + "type": "object" + }, + "FormAction": { + "id": "FormAction", + "properties": { + "actionMethodName": { + "description": "Apps script function that should be invoked in the developer's apps script when the containing element is clicked/activated.", + "type": "string" + }, + "loadIndicator": { + "enum": [ + "SPINNER", + "NONE" + ], + "enumDescriptions": [ + "", + "" + ], + "type": "string" + }, + "parameters": { + "items": { + "$ref": "ActionParameter" + }, + "type": "array" + }, + "persistValues": { + "description": "Indicates whether form values persist after the action. When false, the Apps Script is responsible for persisting values, by setting any form field values using the formInputs in the event. Disabling this behavior can be used if the add-on needs the ability to clear form fields, for example, as with persistent values, there is no means for clearing existing values. When disabling persistent values, it is strongly recommended that the add-on use LoadIndicator.SPINNER for all events, as this locks the UI to ensure no changes are made by the user while the action is being processed. When using LoadIndicator.NONE for any of the actions, persistent values are recommended, as it ensures that any changes made by the user after form / on change actions are sent to the server are not overwritten by the response. Persistent values disabled by default. While we recommend persistent values be used in the typical use case, we do not enable by default, as doing so would change the current behavior of existing add-ons in prod.", + "type": "boolean" + } + }, + "type": "object" + }, + "Formatting": { + "description": "Formatting information for a segment.", + "id": "Formatting", + "properties": { + "bold": { + "type": "boolean" + }, + "highlight": { + "description": "This indicates that the segment should be rendered as highlighted or visually emphasized.", + "type": "boolean" + }, + "italics": { + "type": "boolean" + }, + "strikethrough": { + "type": "boolean" + }, + "style": { + "description": "If set, this indicates that the segment should be rendered with the specified style. The absence of an explicit style represents \"no style\", i.e. the segment can be rendered with the default style chosen by the application.", + "enum": [ + "UNKNOWN_STYLE", + "HEADING_1", + "HEADING_2", + "HEADING_3", + "HEADING_4" + ], + "enumDescriptions": [ + "This represents a style that is unknown (e.g. a new style was introduced but not supported by older mobile app versions) and should generally not be used as a value in a proto. If the segment does not need to be rendered with a special style, the 'style' field should simply be left unset. A reasonable fallback for an unknown style is to render the segment in the default style.", + "The most important heading to the least important heading.", + "", + "", + "" + ], + "type": "string" + }, + "underline": { + "type": "boolean" + } + }, + "type": "object" + }, + "FreshnessOptions": { + "description": "Indicates which freshness property to use when adjusting search ranking for an item. Fresher, more recent dates indicate higher quality. Use the freshness option property that best works with your data. For fileshare documents, last modified time is most relevant. For calendar event data, the time when the event occurs is a more relevant freshness indicator. In this way, calendar events that occur closer to the time of the search query are considered higher quality and ranked accordingly.", + "id": "FreshnessOptions", + "properties": { + "freshnessDuration": { + "description": "The duration after which an object should be considered stale. The default value is 180 days (in seconds).", + "format": "google-duration", + "type": "string" + }, + "freshnessProperty": { + "description": "This property indicates the freshness level of the object in the index. If set, this property must be a top-level property within the property definitions and it must be a timestamp type or date type. Otherwise, the Indexing API uses updateTime as the freshness indicator. The maximum length is 256 characters. When a property is used to calculate freshness, the value defaults to 2 years from the current time.", + "type": "string" + } + }, + "type": "object" + }, + "GSuitePrincipal": { + "id": "GSuitePrincipal", + "properties": { + "gsuiteDomain": { + "description": "This principal represents all users of the Google Workspace domain of the customer.", + "type": "boolean" + }, + "gsuiteGroupEmail": { + "description": "This principal references a Google Workspace group name.", + "type": "string" + }, + "gsuiteUserEmail": { + "description": "This principal references a Google Workspace user account.", + "type": "string" + } + }, + "type": "object" + }, + "GaiaGroupProto": { + "id": "GaiaGroupProto", + "properties": { + "groupId": { + "format": "int64", + "type": "string" + } + }, + "type": "object" + }, + "GaiaUserProto": { + "description": "A Gaia account, which may represent a user, device, service account, etc. For prod (@prod.google.com) accounts, use MdbUserProto instead.", + "id": "GaiaUserProto", + "properties": { + "userId": { + "format": "int64", + "type": "string" + } + }, + "type": "object" + }, + "GatewayAccess": { + "description": "Details on the third-party interoperability settings for the meeting space.", + "id": "GatewayAccess", + "properties": { + "enabled": { + "description": "Whether third-party gateway accesses are enabled for this meeting space. If enabled, the actual access code can be retrieved by calling the GetGatewayAccess RPC method.", + "type": "boolean" + } + }, + "type": "object" + }, + "GatewaySipAccess": { + "description": "Details how to join the conference via a SIP gateway.", + "id": "GatewaySipAccess", + "properties": { + "sipAccessCode": { + "description": "Permanent numeric code for manual entry on specially configured devices, currently the same as the PSTN \"Universal pin\".", + "type": "string" + }, + "uri": { + "description": "The SIP URI the conference can be reached through. The string is on one of the formats: \"sip:@\" \"sips:@\" where currently is the 13-digit universal pin (with the future option to support using a Meet meeting code as well), and is a valid address to be resolved using a DNS SRV lookup, or a dotted quad.", + "type": "string" + } + }, + "type": "object" + }, + "GetCustomerIndexStatsResponse": { + "id": "GetCustomerIndexStatsResponse", + "properties": { + "averageIndexedItemCount": { + "description": "Average item count for the given date range for which billing is done.", + "format": "int64", + "type": "string" + }, + "stats": { + "description": "Summary of indexed item counts, one for each day in the requested range.", + "items": { + "$ref": "CustomerIndexStats" + }, + "type": "array" + } + }, + "type": "object" + }, + "GetCustomerQueryStatsResponse": { + "id": "GetCustomerQueryStatsResponse", + "properties": { + "stats": { + "items": { + "$ref": "CustomerQueryStats" + }, + "type": "array" + }, + "totalQueryCount": { + "description": "Total successful query count (status code 200) for the given date range.", + "format": "int64", + "type": "string" + } + }, + "type": "object" + }, + "GetCustomerSearchApplicationStatsResponse": { + "description": "Response format for search application stats for a customer.", + "id": "GetCustomerSearchApplicationStatsResponse", + "properties": { + "averageSearchApplicationCount": { + "description": "Average search application count for the given date range.", + "format": "int64", + "type": "string" + }, + "stats": { + "description": "Search application stats by date.", + "items": { + "$ref": "CustomerSearchApplicationStats" + }, + "type": "array" + } + }, + "type": "object" + }, + "GetCustomerSessionStatsResponse": { + "id": "GetCustomerSessionStatsResponse", + "properties": { + "stats": { + "items": { + "$ref": "CustomerSessionStats" + }, + "type": "array" + } + }, + "type": "object" + }, + "GetCustomerUserStatsResponse": { + "id": "GetCustomerUserStatsResponse", + "properties": { + "stats": { + "items": { + "$ref": "CustomerUserStats" + }, + "type": "array" + } + }, + "type": "object" + }, + "GetDataSourceIndexStatsResponse": { + "id": "GetDataSourceIndexStatsResponse", + "properties": { + "averageIndexedItemCount": { + "description": "Average item count for the given date range for which billing is done.", + "format": "int64", + "type": "string" + }, + "stats": { + "description": "Summary of indexed item counts, one for each day in the requested range.", + "items": { + "$ref": "DataSourceIndexStats" + }, + "type": "array" + } + }, + "type": "object" + }, + "GetSearchApplicationQueryStatsResponse": { + "description": "Response format for getting query stats for a search application between given dates.", + "id": "GetSearchApplicationQueryStatsResponse", + "properties": { + "stats": { + "description": "Query stats per date for a search application.", + "items": { + "$ref": "SearchApplicationQueryStats" + }, + "type": "array" + }, + "totalQueryCount": { + "description": "Total successful query count (status code 200) for the given date range.", + "format": "int64", + "type": "string" + } + }, + "type": "object" + }, + "GetSearchApplicationSessionStatsResponse": { + "id": "GetSearchApplicationSessionStatsResponse", + "properties": { + "stats": { + "items": { + "$ref": "SearchApplicationSessionStats" + }, + "type": "array" + } + }, + "type": "object" + }, + "GetSearchApplicationUserStatsResponse": { + "id": "GetSearchApplicationUserStatsResponse", + "properties": { + "stats": { + "items": { + "$ref": "SearchApplicationUserStats" + }, + "type": "array" + } + }, + "type": "object" + }, + "GoogleChatV1ContextualAddOnMarkup": { + "description": "The markup for developers to specify the contents of a contextual AddOn.", + "id": "GoogleChatV1ContextualAddOnMarkup", + "properties": { + "cards": { + "description": "A list of cards. A card must contain a header and at least 1 section.", + "items": { + "$ref": "GoogleChatV1ContextualAddOnMarkupCard" + }, + "type": "array" + } + }, + "type": "object" + }, + "GoogleChatV1ContextualAddOnMarkupCard": { + "description": "A card is a UI element that can contain UI widgets such as texts, images.", + "id": "GoogleChatV1ContextualAddOnMarkupCard", + "properties": { + "cardActions": { + "description": "The actions of this card.", + "items": { + "$ref": "GoogleChatV1ContextualAddOnMarkupCardCardAction" + }, + "type": "array" + }, + "header": { + "$ref": "GoogleChatV1ContextualAddOnMarkupCardCardHeader", + "description": "The header of the card. A header usually contains a title and an image." + }, + "name": { + "description": "Name of the card.", + "type": "string" + }, + "sections": { + "description": "Sections are separated by a line divider.", + "items": { + "$ref": "GoogleChatV1ContextualAddOnMarkupCardSection" + }, + "type": "array" + } + }, + "type": "object" + }, + "GoogleChatV1ContextualAddOnMarkupCardCardAction": { + "description": "A card action is the action associated with the card. For an invoice card, a typical action would be: delete invoice, email invoice or open the invoice in browser.", + "id": "GoogleChatV1ContextualAddOnMarkupCardCardAction", + "properties": { + "actionLabel": { + "description": "The label used to be displayed in the action menu item.", + "type": "string" + }, + "onClick": { + "$ref": "GoogleChatV1WidgetMarkupOnClick", + "description": "The onclick action for this action item." + } + }, + "type": "object" + }, + "GoogleChatV1ContextualAddOnMarkupCardCardHeader": { + "id": "GoogleChatV1ContextualAddOnMarkupCardCardHeader", + "properties": { + "imageStyle": { + "description": "The image's type (e.g. square border or circular border).", + "enum": [ + "IMAGE_STYLE_UNSPECIFIED", + "IMAGE", + "AVATAR" + ], + "enumDescriptions": [ + "", + "Square border.", + "Circular border." + ], + "type": "string" + }, + "imageUrl": { + "description": "The URL of the image in the card header.", + "type": "string" + }, + "subtitle": { + "description": "The subtitle of the card header.", + "type": "string" + }, + "title": { + "description": "The title must be specified. The header has a fixed height: if both a title and subtitle is specified, each will take up 1 line. If only the title is specified, it will take up both lines.", + "type": "string" + } + }, + "type": "object" + }, + "GoogleChatV1ContextualAddOnMarkupCardSection": { + "description": "A section contains a collection of widgets that are rendered (vertically) in the order that they are specified. Across all platforms, cards have a narrow fixed width, so there is currently no need for layout properties (e.g. float).", + "id": "GoogleChatV1ContextualAddOnMarkupCardSection", + "properties": { + "header": { + "description": "The header of the section, text formatted supported.", + "type": "string" + }, + "widgets": { + "description": "A section must contain at least 1 widget.", + "items": { + "$ref": "GoogleChatV1WidgetMarkup" + }, + "type": "array" + } + }, + "type": "object" + }, + "GoogleChatV1WidgetMarkup": { + "description": "A widget is a UI element that presents texts, images, etc.", + "id": "GoogleChatV1WidgetMarkup", + "properties": { + "buttons": { + "description": "A list of buttons. Buttons is also oneof data and only one of these fields should be set.", + "items": { + "$ref": "GoogleChatV1WidgetMarkupButton" + }, + "type": "array" + }, + "image": { + "$ref": "GoogleChatV1WidgetMarkupImage", + "description": "Display an image in this widget." + }, + "keyValue": { + "$ref": "GoogleChatV1WidgetMarkupKeyValue", + "description": "Display a key value item in this widget." + }, + "textParagraph": { + "$ref": "GoogleChatV1WidgetMarkupTextParagraph", + "description": "Display a text paragraph in this widget." + } + }, + "type": "object" + }, + "GoogleChatV1WidgetMarkupButton": { + "description": "A button. Can be a text button or an image button.", + "id": "GoogleChatV1WidgetMarkupButton", + "properties": { + "imageButton": { + "$ref": "GoogleChatV1WidgetMarkupImageButton", + "description": "A button with image and onclick action." + }, + "textButton": { + "$ref": "GoogleChatV1WidgetMarkupTextButton", + "description": "A button with text and onclick action." + } + }, + "type": "object" + }, + "GoogleChatV1WidgetMarkupFormAction": { + "description": "A form action describes the behavior when the form is submitted. For example, an Apps Script can be invoked to handle the form.", + "id": "GoogleChatV1WidgetMarkupFormAction", + "properties": { + "actionMethodName": { + "description": "The method name is used to identify which part of the form triggered the form submission. This information is echoed back to the Chat app as part of the card click event. The same method name can be used for several elements that trigger a common behavior if desired.", + "type": "string" + }, + "parameters": { + "description": "List of action parameters.", + "items": { + "$ref": "GoogleChatV1WidgetMarkupFormActionActionParameter" + }, + "type": "array" + } + }, + "type": "object" + }, + "GoogleChatV1WidgetMarkupFormActionActionParameter": { + "description": "List of string parameters to supply when the action method is invoked. For example, consider three snooze buttons: snooze now, snooze 1 day, snooze next week. You might use action method = snooze(), passing the snooze type and snooze time in the list of string parameters.", + "id": "GoogleChatV1WidgetMarkupFormActionActionParameter", + "properties": { + "key": { + "description": "The name of the parameter for the action script.", + "type": "string" + }, + "value": { + "description": "The value of the parameter.", + "type": "string" + } + }, + "type": "object" + }, + "GoogleChatV1WidgetMarkupImage": { + "description": "An image that is specified by a URL and can have an onclick action.", + "id": "GoogleChatV1WidgetMarkupImage", + "properties": { + "aspectRatio": { + "description": "The aspect ratio of this image (width/height). This field allows clients to reserve the right height for the image while waiting for it to load. It's not meant to override the native aspect ratio of the image. If unset, the server fills it by prefetching the image.", + "format": "double", + "type": "number" + }, + "imageUrl": { + "description": "The URL of the image.", + "type": "string" + }, + "onClick": { + "$ref": "GoogleChatV1WidgetMarkupOnClick", + "description": "The onclick action." + } + }, + "type": "object" + }, + "GoogleChatV1WidgetMarkupImageButton": { + "description": "An image button with an onclick action.", + "id": "GoogleChatV1WidgetMarkupImageButton", + "properties": { + "icon": { + "description": "The icon specified by an enum that indices to an icon provided by Chat API.", + "enum": [ + "ICON_UNSPECIFIED", + "AIRPLANE", + "BOOKMARK", + "BUS", + "CAR", + "CLOCK", + "CONFIRMATION_NUMBER_ICON", + "DOLLAR", + "DESCRIPTION", + "EMAIL", + "EVENT_PERFORMER", + "EVENT_SEAT", + "FLIGHT_ARRIVAL", + "FLIGHT_DEPARTURE", + "HOTEL", + "HOTEL_ROOM_TYPE", + "INVITE", + "MAP_PIN", + "MEMBERSHIP", + "MULTIPLE_PEOPLE", + "OFFER", + "PERSON", + "PHONE", + "RESTAURANT_ICON", + "SHOPPING_CART", + "STAR", + "STORE", + "TICKET", + "TRAIN", + "VIDEO_CAMERA", + "VIDEO_PLAY" + ], + "enumDescriptions": [ + "", + "", + "", + "", + "", + "", + "", + "", + "", + "", + "", + "", + "", + "", + "", + "", + "", + "", + "", + "", + "", + "", + "", + "", + "", + "", + "", + "", + "", + "", + "" + ], + "type": "string" + }, + "iconUrl": { + "description": "The icon specified by a URL.", + "type": "string" + }, + "name": { + "description": "The name of this image_button which will be used for accessibility. Default value will be provided if developers don't specify.", + "type": "string" + }, + "onClick": { + "$ref": "GoogleChatV1WidgetMarkupOnClick", + "description": "The onclick action." + } + }, + "type": "object" + }, + "GoogleChatV1WidgetMarkupKeyValue": { + "description": "A UI element contains a key (label) and a value (content). And this element may also contain some actions such as onclick button.", + "id": "GoogleChatV1WidgetMarkupKeyValue", + "properties": { + "bottomLabel": { + "description": "The text of the bottom label. Formatted text supported.", + "type": "string" + }, + "button": { + "$ref": "GoogleChatV1WidgetMarkupButton", + "description": "A button that can be clicked to trigger an action." + }, + "content": { + "description": "The text of the content. Formatted text supported and always required.", + "type": "string" + }, + "contentMultiline": { + "description": "If the content should be multiline.", + "type": "boolean" + }, + "icon": { + "description": "An enum value that will be replaced by the Chat API with the corresponding icon image.", + "enum": [ + "ICON_UNSPECIFIED", + "AIRPLANE", + "BOOKMARK", + "BUS", + "CAR", + "CLOCK", + "CONFIRMATION_NUMBER_ICON", + "DOLLAR", + "DESCRIPTION", + "EMAIL", + "EVENT_PERFORMER", + "EVENT_SEAT", + "FLIGHT_ARRIVAL", + "FLIGHT_DEPARTURE", + "HOTEL", + "HOTEL_ROOM_TYPE", + "INVITE", + "MAP_PIN", + "MEMBERSHIP", + "MULTIPLE_PEOPLE", + "OFFER", + "PERSON", + "PHONE", + "RESTAURANT_ICON", + "SHOPPING_CART", + "STAR", + "STORE", + "TICKET", + "TRAIN", + "VIDEO_CAMERA", + "VIDEO_PLAY" + ], + "enumDescriptions": [ + "", + "", + "", + "", + "", + "", + "", + "", + "", + "", + "", + "", + "", + "", + "", + "", + "", + "", + "", + "", + "", + "", + "", + "", + "", + "", + "", + "", + "", + "", + "" + ], + "type": "string" + }, + "iconUrl": { + "description": "The icon specified by a URL.", + "type": "string" + }, + "onClick": { + "$ref": "GoogleChatV1WidgetMarkupOnClick", + "description": "The onclick action. Only the top label, bottom label and content region are clickable." + }, + "topLabel": { + "description": "The text of the top label. Formatted text supported.", + "type": "string" + } + }, + "type": "object" + }, + "GoogleChatV1WidgetMarkupOnClick": { + "description": "An onclick action (e.g. open a link).", + "id": "GoogleChatV1WidgetMarkupOnClick", + "properties": { + "action": { + "$ref": "GoogleChatV1WidgetMarkupFormAction", + "description": "A form action will be triggered by this onclick if specified." + }, + "openLink": { + "$ref": "GoogleChatV1WidgetMarkupOpenLink", + "description": "This onclick triggers an open link action if specified." + } + }, + "type": "object" + }, + "GoogleChatV1WidgetMarkupOpenLink": { + "description": "A link that opens a new window.", + "id": "GoogleChatV1WidgetMarkupOpenLink", + "properties": { + "url": { + "description": "The URL to open.", + "type": "string" + } + }, + "type": "object" + }, + "GoogleChatV1WidgetMarkupTextButton": { + "description": "A button with text and onclick action.", + "id": "GoogleChatV1WidgetMarkupTextButton", + "properties": { + "onClick": { + "$ref": "GoogleChatV1WidgetMarkupOnClick", + "description": "The onclick action of the button." + }, + "text": { + "description": "The text of the button.", + "type": "string" + } + }, + "type": "object" + }, + "GoogleChatV1WidgetMarkupTextParagraph": { + "description": "A paragraph of text. Formatted text supported.", + "id": "GoogleChatV1WidgetMarkupTextParagraph", + "properties": { + "text": { + "type": "string" + } + }, + "type": "object" + }, + "GoogleDocsMetadata": { + "description": "The corpus specific metadata for office-type documents, from Google Docs and other sources. This message is passed to the scorer and beyond. Next tag: 7", + "id": "GoogleDocsMetadata", + "properties": { + "aclInfo": { + "$ref": "AclInfo", + "description": "Contains number of users and groups which can access the document." + }, + "documentType": { + "description": "The conceptual type (presentation, document, etc.) of this document.", + "enum": [ + "UNKNOWN", + "DOCUMENT", + "PRESENTATION", + "SPREADSHEET", + "PDF", + "IMAGE", + "BINARY_BLOB", + "FUSION_TABLE", + "FOLDER", + "DRAWING", + "VIDEO", + "FORM", + "DRAFT_SITE", + "DRAFT_SITE_PAGE", + "JAM", + "SHORTCUT", + "SCRIPT" + ], + "enumDescriptions": [ + "If the type is unknown or not represented in this enum.", + "Writely, Word, etc.", + "Presently, PowerPoint, etc.", + "Trix, Excel, etc.", + "File types for Gdrive objects are below.", + "", + "Fall-back for unknown Gdrive types.", + "", + "", + "", + "", + "", + "For Atari page and site drafts", + "", + "Jamboard Jams (go/jam)", + "Drive Shortcuts (go/shortcuts)", + "" + ], + "type": "string" + }, + "fileExtension": { + "description": "The file extension of the document. NOTE: As of October 2018 this field is not backfilled for old documents.", + "type": "string" + }, + "lastContentModifiedTimestamp": { + "description": "The last time this document was modified, in seconds since epoch. Only counts content modifications.", + "format": "int64", + "type": "string" + }, + "resultInfo": { + "$ref": "GoogleDocsResultInfo", + "description": "Additional per-result information, akin to Gmail's SingleThreadResponse. Note: GWS no longer seems to use this field, but there's still one reference to it for Scribe, so we can't remove it." + }, + "typeInfo": { + "$ref": "TypeInfo", + "description": "Contains additional information about the document depending on its type." + } + }, + "type": "object" + }, + "GoogleDocsResultInfo": { + "description": "A message containing information about a specific result. This information is passed to the scorer and beyond; in particular, GWS relies on it to format the result in the UI. Split from GoogleDocsMetadata in case we later want to reuse the message.", + "id": "GoogleDocsResultInfo", + "properties": { + "attachmentSha1": { + "description": "The SHA1 hash of the object in Drive, if any.", + "type": "string" + }, + "cosmoId": { + "$ref": "Id", + "description": "The storage identifier for the object in Cosmo. This field is intended to used by Stratus/Moonshine integration only. It should not be exposed externally (please refer to encrypted_id for that purpose)." + }, + "cosmoNameSpace": { + "description": "For Cosmo objects, the Cosmo namespace the object was in. This allows downstream clients to identify whether a document was created in Writely or Kix, Presently or Punch, or whether it was uploaded from GDrive. See storage_cosmo.Id.NAME_SPACE for a list of all Cosmo name spaces.", + "format": "int32", + "type": "integer" + }, + "encryptedId": { + "description": "The encrypted (user-visible) id of this object. Knowing the id is sufficient to create a canonical URL for this document.", + "type": "string" + }, + "mimeType": { + "description": "The mimetype of the document.", + "type": "string" + }, + "shareScope": { + "$ref": "ShareScope", + "description": "The visibility indicator in the UI will be based upon this." + } + }, + "type": "object" + }, + "Grid": { + "id": "Grid", + "properties": { + "borderStyle": { + "$ref": "BorderStyle", + "description": "The border style to apply to each grid item." + }, + "items": { + "description": "The items to display in the grid.", + "items": { + "$ref": "GridItem" + }, + "type": "array" + }, + "numColumns": { + "description": "The number of columns to display in the grid. Note that a default value will be used if this field is not specified, and that default value will be different depending on where the grid is shown (dialog vs companion).", + "format": "int32", + "type": "integer" + }, + "onClick": { + "$ref": "OnClick", + "description": "This callback will be reused by each individual GridItem, but with the item's identifier and index in the items list added to the callback's parameters." + }, + "title": { + "description": "The text to display in the grid header.", + "type": "string" + } + }, + "type": "object" + }, + "GridItem": { + "id": "GridItem", + "properties": { + "identifier": { + "description": "A user-specified identifier for this grid item. This identifier will be returned in the parent Grid's on_click callback's parameters.", + "type": "string" + }, + "image": { + "$ref": "ImageComponent" + }, + "layout": { + "enum": [ + "NOT_SET", + "TEXT_BELOW", + "TEXT_ABOVE" + ], + "enumDescriptions": [ + "", + "The title and subtitle are shown below the grid item's image.", + "The title and subtitle are shown above the grid item's image." + ], + "type": "string" + }, + "subtitle": { + "type": "string" + }, + "textAlignment": { + "enum": [ + "HORIZONTAL_ALIGNMENT_UNSPECIFIED", + "START", + "CENTER", + "END" + ], + "enumDescriptions": [ + "", + "", + "", + "" + ], + "type": "string" + }, + "title": { + "description": "Text properties.", + "type": "string" + } + }, + "type": "object" + }, + "GroupLinkSharingModificationEvent": { + "id": "GroupLinkSharingModificationEvent", + "properties": { + "newStatus": { + "enum": [ + "UNKNOWN_LINK_SHARING_STATUS", + "LINK_SHARING_ON", + "LINK_SHARING_OFF", + "NOT_AVAILABLE" + ], + "enumDescriptions": [ + "", + "Link sharing is turned on.", + "Link sharing is turned off.", + "Link sharing is not available for the conversation." + ], + "type": "string" + } + }, + "type": "object" + }, + "HangoutEvent": { + "id": "HangoutEvent", + "properties": { + "hangoutDurationSecs": { + "format": "int64", + "type": "string" + }, + "mediaType": { + "enum": [ + "AUDIO_VIDEO", + "AUDIO_ONLY", + "PUSH_TO_TALK" + ], + "enumDescriptions": [ + "", + "", + "A user has started a PTT broadcast. When receiving a notification with this HangoutMediaType, other users in the conversation will take different actions depending on their active clients: a) If there is a recent \"reasonable\" active client, the user will join hangout and play audio. b) If there is no \"reasonable\" active client an invite will be displayed on all clients." + ], + "type": "string" + }, + "participantId": { + "items": { + "$ref": "StoredParticipantId" + }, + "type": "array" + }, + "type": { + "enum": [ + "START_HANGOUT", + "JOIN_HANGOUT", + "LEAVE_HANGOUT", + "END_HANGOUT", + "HANGOUT_COMING_SOON", + "ONGOING_HANGOUT" + ], + "enumDescriptions": [ + "", + "", + "", + "", + "", + "" + ], + "type": "string" + } + }, + "type": "object" + }, + "HashtagData": { + "description": "Hashtag metadata, for HASHTAG segments. For a hashtag, the \"text\" field should contain the display text, and the search_text field should represent the topic being referenced, without the hash symbol; for example, we might have: text = \"#Google\" hashtag_data.search_text = \"Google\" Another example: text = \"#pikachu\" hashtag_data.search_text = \"Pokemon\" Both strings should be considered part of the searchable text. In go/sbe, both are indexed and searchable.", + "id": "HashtagData", + "properties": { + "searchText": { + "type": "string" + } + }, + "type": "object" + }, + "HostProto": { + "description": "Represents a single host. Optionally, the MDB owner of the host can be specified.", + "id": "HostProto", + "properties": { + "hostName": { + "description": "Lower-case, fully qualified hostname.", + "type": "string" + }, + "hostOwner": { + "description": "If present, then any checks that compare this Principal to LOAS peer info must confirm the peer's machine owner is equal to 'host_owner'. If absent, then any peer machine owner is acceptable.", + "type": "string" + } + }, + "type": "object" + }, + "HtmlOperatorOptions": { + "description": "Used to provide a search operator for html properties. This is optional. Search operators let users restrict the query to specific fields relevant to the type of item being searched.", + "id": "HtmlOperatorOptions", + "properties": { + "operatorName": { + "description": "Indicates the operator name required in the query in order to isolate the html property. For example, if operatorName is *subject* and the property's name is *subjectLine*, then queries like *subject:* show results only where the value of the property named *subjectLine* matches **. By contrast, a search that uses the same ** without an operator return all items where ** matches the value of any html properties or text within the content field for the item. The operator name can only contain lowercase letters (a-z). The maximum length is 32 characters.", + "type": "string" + } + }, + "type": "object" + }, + "HtmlPropertyOptions": { + "description": "The options for html properties.", + "id": "HtmlPropertyOptions", + "properties": { + "operatorOptions": { + "$ref": "HtmlOperatorOptions", + "description": "If set, describes how the property should be used as a search operator." + }, + "retrievalImportance": { + "$ref": "RetrievalImportance", + "description": "Indicates the search quality importance of the tokens within the field when used for retrieval. Can only be set to DEFAULT or NONE." + } + }, + "type": "object" + }, + "HtmlValues": { + "description": "List of html values.", + "id": "HtmlValues", + "properties": { + "values": { + "description": "The maximum allowable length for html values is 2048 characters.", + "items": { + "type": "string" + }, + "type": "array" + } + }, + "type": "object" + }, + "IconImage": { + "id": "IconImage", + "properties": { + "altText": { + "description": "The alternative text of this icon_url which will be used for accessibility.", + "type": "string" + }, + "icon": { + "enum": [ + "NONE", + "AIRPLANE", + "BOOKMARK", + "BUS", + "CAR", + "CLOCK", + "CONFIRMATION_NUMBER_ICON", + "DOLLAR", + "DESCRIPTION", + "EDIT", + "EDIT_NOTE", + "EMAIL", + "EVENT_PERFORMER", + "EVENT_SEAT", + "FLIGHT_ARRIVAL", + "FLIGHT_DEPARTURE", + "HOTEL", + "HOTEL_ROOM_TYPE", + "INVITE", + "MAP_PIN", + "MEMBERSHIP", + "MULTIPLE_PEOPLE", + "OFFER", + "OPEN_IN_NEW", + "PERSON", + "PHONE", + "RESTAURANT_ICON", + "SHOPPING_CART", + "STAR", + "STORE", + "TICKET", + "TRAIN", + "VIDEO_CAMERA", + "VIDEO_PLAY" + ], + "enumDescriptions": [ + "", + "", + "", + "", + "", + "", + "", + "", + "", + "", + "", + "", + "", + "", + "", + "", + "", + "", + "", + "", + "", + "", + "", + "", + "", + "", + "", + "", + "", + "", + "", + "", + "", + "Add new items in alphabetical order. Next Available ID: 34" + ], + "type": "string" + }, + "iconUrl": { + "type": "string" + }, + "imageStyle": { + "description": "The image cropping style. Note that icons with a CIRCLE style are rendered larger than the default icon size.", + "enum": [ + "CROP_TYPE_NOT_SET", + "SQUARE", + "CIRCLE", + "RECTANGLE_CUSTOM", + "RECTANGLE_4_3" + ], + "enumDescriptions": [ + "No value specified.", + "Applies a square crop.", + "Applies a circular crop.", + "Applies a rectangular crop with a custom aspect ratio.", + "Applies a rectangular crop with a 4:3 aspect ratio." + ], + "type": "string" + } + }, + "type": "object" + }, + "Id": { + "description": "Identifies a particular object, including both Users and DirEntries. This Id is unique across the entire server instance, such as the production or qa instance.", + "id": "Id", + "properties": { + "creatorUserId": { + "description": "The User account in which the DirEntry was originally created. If name_space==GAIA, then it's the gaia_id of the user this id is referring to.", + "format": "uint64", + "type": "string" + }, + "localId": { + "description": "The local identifier for the DirEntry (local to the creator's account). local_id + app_name is guaranteed to be unique within the creator account, but not across all User accounts. The string is case sensitive. Ignore if name_space==GAIA. NB For name_space==COSMO, all local_id's should be defined in google3/java/com/google/storage/cosmo/server/api/SpecialObjectIds.java as they have a special predefined meaning. See cosmo.client.CosmoIdFactory.createObjectId(long,String) for IMPORTANT recommendations when generating IDs.", + "type": "string" + }, + "nameSpace": { + "description": "The name space in which this id is unique (typically the application that created it). Values should be drawn from the above enum, but for experimentation, use values greater than 1000.", + "format": "int32", + "type": "integer" + } + }, + "type": "object" + }, + "Image": { + "id": "Image", + "properties": { + "altText": { + "description": "The alternative text of this image which will be used for accessibility.", + "type": "string" + }, + "aspectRatio": { + "description": "The aspect ratio of this image (width/height).", + "format": "double", + "type": "number" + }, + "imageUrl": { + "description": "Image url specified by developers. Server side, we will wrap with FIFE so client apps can configure size/cropping/etc.", + "type": "string" + }, + "onClick": { + "$ref": "OnClick" + } + }, + "type": "object" + }, + "ImageButton": { + "id": "ImageButton", + "properties": { + "icon": { + "enum": [ + "NONE", + "AIRPLANE", + "BOOKMARK", + "BUS", + "CAR", + "CLOCK", + "CONFIRMATION_NUMBER_ICON", + "DOLLAR", + "DESCRIPTION", + "EDIT", + "EDIT_NOTE", + "EMAIL", + "EVENT_PERFORMER", + "EVENT_SEAT", + "FLIGHT_ARRIVAL", + "FLIGHT_DEPARTURE", + "HOTEL", + "HOTEL_ROOM_TYPE", + "INVITE", + "MAP_PIN", + "MEMBERSHIP", + "MULTIPLE_PEOPLE", + "OFFER", + "OPEN_IN_NEW", + "PERSON", + "PHONE", + "RESTAURANT_ICON", + "SHOPPING_CART", + "STAR", + "STORE", + "TICKET", + "TRAIN", + "VIDEO_CAMERA", + "VIDEO_PLAY" + ], + "enumDescriptions": [ + "", + "", + "", + "", + "", + "", + "", + "", + "", + "", + "", + "", + "", + "", + "", + "", + "", + "", + "", + "", + "", + "", + "", "", - "Fall-back for unknown Gdrive types.", "", "", "", "", "", - "For Atari page and site drafts", "", - "Jamboard Jams (go/jam)", - "Drive Shortcuts (go/shortcuts)", - "" + "", + "", + "", + "Add new items in alphabetical order. Next Available ID: 34" ], "type": "string" }, - "fileExtension": { - "description": "The file extension of the document. NOTE: As of October 2018 this field is not backfilled for old documents.", + "iconUrl": { "type": "string" }, - "lastContentModifiedTimestamp": { - "description": "The last time this document was modified, in seconds since epoch. Only counts content modifications.", - "format": "int64", + "name": { "type": "string" }, - "resultInfo": { - "$ref": "GoogleDocsResultInfo", - "description": "Additional per-result information, akin to Gmail's SingleThreadResponse. Note: GWS no longer seems to use this field, but there's still one reference to it for Scribe, so we can't remove it." - }, - "typeInfo": { - "$ref": "TypeInfo", - "description": "Contains additional information about the document depending on its type." + "onClick": { + "$ref": "OnClick" } }, "type": "object" }, - "GoogleDocsResultInfo": { - "description": "A message containing information about a specific result. This information is passed to the scorer and beyond; in particular, GWS relies on it to format the result in the UI. Split from GoogleDocsMetadata in case we later want to reuse the message.", - "id": "GoogleDocsResultInfo", + "ImageComponent": { + "description": "NOTE: Through future refactoring work, this image component will eventually be used in the Image widget, and will likely replace the Icon proto as well.", + "id": "ImageComponent", "properties": { - "attachmentSha1": { - "description": "The SHA1 hash of the object in Drive, if any.", + "altText": { "type": "string" }, - "cosmoId": { - "$ref": "Id", - "description": "The storage identifier for the object in Cosmo. This field is intended to used by Stratus/Moonshine integration only. It should not be exposed externally (please refer to encrypted_id for that purpose)." - }, - "cosmoNameSpace": { - "description": "For Cosmo objects, the Cosmo namespace the object was in. This allows downstream clients to identify whether a document was created in Writely or Kix, Presently or Punch, or whether it was uploaded from GDrive. See storage_cosmo.Id.NAME_SPACE for a list of all Cosmo name spaces.", - "format": "int32", - "type": "integer" + "borderStyle": { + "$ref": "BorderStyle" }, - "encryptedId": { - "description": "The encrypted (user-visible) id of this object. Knowing the id is sufficient to create a canonical URL for this document.", - "type": "string" + "cropStyle": { + "$ref": "ImageCropStyle" }, - "mimeType": { - "description": "The mimetype of the document.", + "imageUrl": { "type": "string" - }, - "shareScope": { - "$ref": "ShareScope", - "description": "The visibility indicator in the UI will be based upon this." } }, "type": "object" }, - "GroupId": { - "description": "Id representing a group that could be a space, a chat, or a direct message space. Which ID is set here will determine which group", - "id": "GroupId", + "ImageCropStyle": { + "description": "Represents a crop style that can be applied to an image.", + "id": "ImageCropStyle", "properties": { - "dmId": { - "$ref": "DmId", - "description": "Unique, immutable ID of the Direct Message Space" + "aspectRatio": { + "description": "The aspect ratio to use if the crop type is RECTANGLE_CUSTOM.", + "format": "double", + "type": "number" }, - "spaceId": { - "$ref": "SpaceId", - "description": "Unique, immutable ID of the Space" - } - }, - "type": "object" - }, - "HtmlOperatorOptions": { - "description": "Used to provide a search operator for html properties. This is optional. Search operators let users restrict the query to specific fields relevant to the type of item being searched.", - "id": "HtmlOperatorOptions", - "properties": { - "operatorName": { - "description": "Indicates the operator name required in the query in order to isolate the html property. For example, if operatorName is *subject* and the property's name is *subjectLine*, then queries like *subject:* show results only where the value of the property named *subjectLine* matches **. By contrast, a search that uses the same ** without an operator return all items where ** matches the value of any html properties or text within the content field for the item. The operator name can only contain lowercase letters (a-z). The maximum length is 32 characters.", + "type": { + "description": "The crop type.", + "enum": [ + "CROP_TYPE_NOT_SET", + "SQUARE", + "CIRCLE", + "RECTANGLE_CUSTOM", + "RECTANGLE_4_3" + ], + "enumDescriptions": [ + "No value specified.", + "Applies a square crop.", + "Applies a circular crop.", + "Applies a rectangular crop with a custom aspect ratio.", + "Applies a rectangular crop with a 4:3 aspect ratio." + ], "type": "string" } }, "type": "object" }, - "HtmlPropertyOptions": { - "description": "The options for html properties.", - "id": "HtmlPropertyOptions", - "properties": { - "operatorOptions": { - "$ref": "HtmlOperatorOptions", - "description": "If set, describes how the property should be used as a search operator." - }, - "retrievalImportance": { - "$ref": "RetrievalImportance", - "description": "Indicates the search quality importance of the tokens within the field when used for retrieval. Can only be set to DEFAULT or NONE." - } - }, - "type": "object" - }, - "HtmlValues": { - "description": "List of html values.", - "id": "HtmlValues", - "properties": { - "values": { - "description": "The maximum allowable length for html values is 2048 characters.", - "items": { - "type": "string" - }, - "type": "array" - } - }, - "type": "object" - }, - "Id": { - "description": "Identifies a particular object, including both Users and DirEntries. This Id is unique across the entire server instance, such as the production or qa instance.", - "id": "Id", + "ImageKeyValue": { + "description": "This is deprecated and please use KeyValue.", + "id": "ImageKeyValue", "properties": { - "creatorUserId": { - "description": "The User account in which the DirEntry was originally created. If name_space==GAIA, then it's the gaia_id of the user this id is referring to.", - "format": "uint64", + "icon": { + "enum": [ + "NONE", + "AIRPLANE", + "BOOKMARK", + "BUS", + "CAR", + "CLOCK", + "CONFIRMATION_NUMBER_ICON", + "DOLLAR", + "DESCRIPTION", + "EDIT", + "EDIT_NOTE", + "EMAIL", + "EVENT_PERFORMER", + "EVENT_SEAT", + "FLIGHT_ARRIVAL", + "FLIGHT_DEPARTURE", + "HOTEL", + "HOTEL_ROOM_TYPE", + "INVITE", + "MAP_PIN", + "MEMBERSHIP", + "MULTIPLE_PEOPLE", + "OFFER", + "OPEN_IN_NEW", + "PERSON", + "PHONE", + "RESTAURANT_ICON", + "SHOPPING_CART", + "STAR", + "STORE", + "TICKET", + "TRAIN", + "VIDEO_CAMERA", + "VIDEO_PLAY" + ], + "enumDescriptions": [ + "", + "", + "", + "", + "", + "", + "", + "", + "", + "", + "", + "", + "", + "", + "", + "", + "", + "", + "", + "", + "", + "", + "", + "", + "", + "", + "", + "", + "", + "", + "", + "", + "", + "Add new items in alphabetical order. Next Available ID: 34" + ], "type": "string" }, - "localId": { - "description": "The local identifier for the DirEntry (local to the creator's account). local_id + app_name is guaranteed to be unique within the creator account, but not across all User accounts. The string is case sensitive. Ignore if name_space==GAIA. NB For name_space==COSMO, all local_id's should be defined in google3/java/com/google/storage/cosmo/server/api/SpecialObjectIds.java as they have a special predefined meaning. See cosmo.client.CosmoIdFactory.createObjectId(long,String) for IMPORTANT recommendations when generating IDs.", + "iconUrl": { "type": "string" }, - "nameSpace": { - "description": "The name space in which this id is unique (typically the application that created it). Values should be drawn from the above enum, but for experimentation, use values greater than 1000.", - "format": "int32", - "type": "integer" + "onClick": { + "$ref": "OnClick" + }, + "text": { + "type": "string" } }, "type": "object" @@ -3543,6 +11307,18 @@ }, "type": "object" }, + "InviteAcceptedEvent": { + "id": "InviteAcceptedEvent", + "properties": { + "participantId": { + "items": { + "$ref": "StoredParticipantId" + }, + "type": "array" + } + }, + "type": "object" + }, "Item": { "description": "Represents a single object that is an item in the search index, such as a file, folder, or a database record.", "id": "Item", @@ -3838,9 +11614,227 @@ "description": "Hashing value provided by the API caller. This can be used with the items.push method to calculate modified state. The maximum length is 2048 characters.", "type": "string" }, - "object": { - "$ref": "StructuredDataObject", - "description": "The structured data object that should conform to a registered object definition in the schema for the data source." + "object": { + "$ref": "StructuredDataObject", + "description": "The structured data object that should conform to a registered object definition in the schema for the data source." + } + }, + "type": "object" + }, + "KeyValue": { + "id": "KeyValue", + "properties": { + "bottomLabel": { + "description": "Formatted text supported.", + "type": "string" + }, + "button": { + "$ref": "Button" + }, + "content": { + "description": "Formatted text supported and always required.", + "type": "string" + }, + "contentMultiline": { + "type": "boolean" + }, + "endIcon": { + "$ref": "IconImage" + }, + "icon": { + "enum": [ + "NONE", + "AIRPLANE", + "BOOKMARK", + "BUS", + "CAR", + "CLOCK", + "CONFIRMATION_NUMBER_ICON", + "DOLLAR", + "DESCRIPTION", + "EDIT", + "EDIT_NOTE", + "EMAIL", + "EVENT_PERFORMER", + "EVENT_SEAT", + "FLIGHT_ARRIVAL", + "FLIGHT_DEPARTURE", + "HOTEL", + "HOTEL_ROOM_TYPE", + "INVITE", + "MAP_PIN", + "MEMBERSHIP", + "MULTIPLE_PEOPLE", + "OFFER", + "OPEN_IN_NEW", + "PERSON", + "PHONE", + "RESTAURANT_ICON", + "SHOPPING_CART", + "STAR", + "STORE", + "TICKET", + "TRAIN", + "VIDEO_CAMERA", + "VIDEO_PLAY" + ], + "enumDescriptions": [ + "", + "", + "", + "", + "", + "", + "", + "", + "", + "", + "", + "", + "", + "", + "", + "", + "", + "", + "", + "", + "", + "", + "", + "", + "", + "", + "", + "", + "", + "", + "", + "", + "", + "Add new items in alphabetical order. Next Available ID: 34" + ], + "type": "string" + }, + "iconAltText": { + "description": "The alternative text of this icon_url which will be used for accessibility.", + "type": "string" + }, + "iconUrl": { + "type": "string" + }, + "imageStyle": { + "enum": [ + "CROP_TYPE_NOT_SET", + "SQUARE", + "CIRCLE", + "RECTANGLE_CUSTOM", + "RECTANGLE_4_3" + ], + "enumDescriptions": [ + "No value specified.", + "Applies a square crop.", + "Applies a circular crop.", + "Applies a rectangular crop with a custom aspect ratio.", + "Applies a rectangular crop with a 4:3 aspect ratio." + ], + "type": "string" + }, + "onClick": { + "$ref": "OnClick", + "description": "Only the top/bottom label + content region is clickable." + }, + "startIcon": { + "$ref": "IconImage", + "description": "The optional icon to display before the text content." + }, + "switchWidget": { + "$ref": "SwitchWidget" + }, + "topLabel": { + "description": "Formatted text supported.", + "type": "string" + } + }, + "type": "object" + }, + "LanguageConfig": { + "description": "The language configuration for the session.", + "id": "LanguageConfig", + "properties": { + "spokenLanguages": { + "description": "The spoken language(s) in BCP47 language code.", + "items": { + "type": "string" + }, + "type": "array" + } + }, + "type": "object" + }, + "LdapGroupProto": { + "id": "LdapGroupProto", + "properties": { + "groupName": { + "type": "string" + } + }, + "type": "object" + }, + "LdapUserProto": { + "id": "LdapUserProto", + "properties": { + "userName": { + "type": "string" + } + }, + "type": "object" + }, + "LinkData": { + "description": "Link metadata, for LINK segments. Anchor text should be stored in the \"text\" field of the Segment, which can also serve as a fallback.", + "id": "LinkData", + "properties": { + "attachment": { + "$ref": "Attachment", + "description": "An Attachment represents the structured entity to which we are linking. It contains an Embed (apps/tacotown/proto/embeds/embed_client.proto) with fields specific to the appropriate type of linked entity. For example, if we are linking to a photo album, the Embed may include the album ID and gaia ID of the creator. Clients that understand the Embed type within the Attachment may construct and/or decorate their link appropriately e.g. to make use of type-specific functionality or first-party integrations. The link_target and (if appropriate) display_url fields must still be set even when an Attachment is present, so that clients who do not know how to interpret the Attachment can fall back to those fields, and render the Segment as an ordinary web link. N.B. Even when an Attachment is present, the intention of a \"LINK\" Segment is for the Segment to be presented inline with the rest of the text of a post or comment, with a clickable link or other UI suitable for inlining (though the client may modify the UI based on Attachment data, e.g. to add appropriate hovers, icons, etc.). When an entity is intended to be rendered separately from the main body of the post/comment, a separate Attachment proto can be added outside the set of Segments. N.B. Within the Attachment, fields of EmbedClientItem have their own visibility annotations, which should be enforced separately from Segment visibility annotations. See: apps/tacotown/proto/embeds/embed_annotations.proto" + }, + "attachmentRenderHint": { + "description": "The hint to use when rendering the associated attachment. Ignored if there is no associated attachment.", + "enum": [ + "ATTACHMENT_RENDER_HINT_UNKNOWN", + "ATTACHMENT_RENDER_HINT_AFTER", + "ATTACHMENT_RENDER_HINT_INTERLEAVED" + ], + "enumDescriptions": [ + "No rendering hint; should not be used (equivalent to having no hint)", + "Render any associated attachment at the end of the block, after all sibling Segments. Leave the link in place in the text and render it normally as well.", + "Render any associated attachment inline in the text in place of the link text, forcing a line break before and after the attachment so the text and the attachment are \"interleaved\". If this is not possible, render as if AFTER." + ], + "type": "string" + }, + "displayUrl": { + "description": "If we wish to show the user a different (e.g. shortened) version of the URL for display purposes, then that version should be set here. If this field isn't set, link_target will be used for both purposes.", + "type": "string" + }, + "linkTarget": { + "description": "link_target is the URL to navigate to when clicked. This could be the original URL, or a URL signed by the GWS URL signing service.", + "type": "string" + }, + "linkType": { + "description": "LinkType is an optional field that provides additional information regarding link target. For example, link type can be identified as the SELF_LINK when the request was executed from the same link as the link target.", + "enum": [ + "UNKNOWN_LINK_TYPE", + "SELF_LINK" + ], + "enumDescriptions": [ + "No link type specified.", + "This indicates that the link target points to the same object related to this segment. Example: A YouTube link with text=\"0.07\" and link_target: \"https://www.youtube.com/watch?v=leHVmSqd4_w&t=0m07s\" points to the same YouTube video where this segment appears. See http://go/ignore-badwords-filtering-for-selflink for adding link_type design document." + ], + "type": "string" + }, + "title": { + "description": "Title is an optional field that provides a short string that describes the link or its destination. User interfaces often use title as a tooltip or for accessibility purposes. However, they are of course free to present this data in any form. This field is plain text.", + "type": "string" } }, "type": "object" @@ -3976,6 +11970,31 @@ }, "type": "object" }, + "MdbGroupProto": { + "description": "An entity from the MDB namespace that is to be interpreted as a group. If using this for authorization, you should do an exact match of the peer role against group_name or any of the names in the Chubby expansion of the MDB group named group_name.", + "id": "MdbGroupProto", + "properties": { + "groupName": { + "type": "string" + } + }, + "type": "object" + }, + "MdbUserProto": { + "description": "An entity from the MDB namespace that is to be interpreted as a user. If using this for authorization, you should only do an exact match on the peer role against user_name.", + "id": "MdbUserProto", + "properties": { + "gaiaId": { + "description": "Do not set this field. Contact credentials-eng@ if you believe you absolutely need to use it. This is the @prod.google.com Gaia ID that corresponds to the MDB user, see go/authn-merge for details. This field may always be safely ignored when performing an authorization check.", + "format": "int64", + "type": "string" + }, + "userName": { + "type": "string" + } + }, + "type": "object" + }, "Media": { "description": "Media resource.", "id": "Media", @@ -3987,6 +12006,187 @@ }, "type": "object" }, + "MeetingSpace": { + "description": " A meeting space is a persistent object that is the context for one or more calls. The meeting space is what makes users find each other when they want to meet and to find shared resources. With two exceptions, all the fields in the meeting space resource are visible publicly to any client, even anonymous users. The exceptions are that * The call_info field is only visible to clients that have a device (as indicated by the meeting token) in the JOINED or HIDDEN state. * The meeting_alias field will only be set for users who are in the same domain as the meeting space. The meeting space resource (outside call_info) should only contain information necessary to join a call in the meeting space, and not any other metadata about the meeting space, such as what organization it belongs to or things related to ongoing calls.", + "id": "MeetingSpace", + "properties": { + "acceptedNumberClass": { + "description": "Which number classes are accepted by this meeting at the moment? When there is no ongoing conference, this field may change independent of the version number of the MeetingSpace. When a conference starts, this field will be locked to the value at that time, and then will be unlocked again at the end of the conference.", + "items": { + "enum": [ + "NUMBER_CLASS_UNSPECIFIED", + "LOW_COST", + "HIGH_COST", + "LEGACY" + ], + "enumDescriptions": [ + "No number class has been specified.", + "The number has a low cost to receive calls on.", + "The number has a high cost to receive calls on.", + "Class for legacy numbers." + ], + "type": "string" + }, + "type": "array" + }, + "broadcastAccess": { + "$ref": "BroadcastAccess", + "description": "Broadcast access information for this meeting space." + }, + "callInfo": { + "$ref": "CallInfo", + "description": "Information relevant to an ongoing conference. This field will be set in responses if the client requesting the meeting space has a device in one of the JOINED, HIDDEN, or MISSING_PREREQUISITES states. The field will also be set without a created device if the client requesting the meeting space is eligible to directly create a device in the JOINED state without knocking, eg a same-domain joiner. Can also only be updated by clients with a device in the JOINED state." + }, + "gatewayAccess": { + "$ref": "GatewayAccess", + "description": "The interop gateway access information for the meeting space. A gateway access can be used when joining conferences from non-Google equipment through an interop gateway." + }, + "gatewaySipAccess": { + "description": "The SIP based access methods that can be used to join the conference.", + "items": { + "$ref": "GatewaySipAccess" + }, + "type": "array" + }, + "meetingAlias": { + "description": "An optional alias for the meeting space. The alias can in some cases be resolved to the meeting space, similar to the meeting code. The limitation is that the user needs to be in the same meeting domain as the meeting space. See go/thor-backend/meeting-alias for more details.", + "type": "string" + }, + "meetingCode": { + "description": "A meeting code is a globally unique code which points to a meeting space. Note: Meeting codes may be regenerated, which will cause old meeting codes to become invalid.", + "type": "string" + }, + "meetingSpaceId": { + "description": "A unique server-generated ID for the meeting space. This is the resource name of the meeting space resource and has the form `spaces/`, where is a sequence of characters in the [base64url set](https://tools.ietf.org/html/rfc4648#section-5), without any `=` characters.", + "type": "string" + }, + "meetingUrl": { + "description": "A URL to identify and access the meeting space. Output only.", + "type": "string" + }, + "moreJoinUrl": { + "description": "Output only. A URL that clients (e.g. Calendar) can use to show the web page with all join methods available for this meeting space. This link is also used in iOS universal links and Android intents, used for opening the \"More ways to join\" view in the Thor mobile apps. Example: https://tel.meet/mee-ting-cod?pin=1234567891011 Here, \"pin\" is the universal phone PIN. We include it explicitly to better support the offline case on the mobile. This is set when the meeting space has either a universal PIN or an interop PIN and clients who can show a \"more ways to join\" button should show it whenever this field is set.", + "readOnly": true, + "type": "string" + }, + "phoneAccess": { + "description": "All regional phone access methods for this meeting space. Can be empty.", + "items": { + "$ref": "PhoneAccess" + }, + "type": "array" + }, + "settings": { + "$ref": "Settings", + "description": "Settings of the meeting space." + }, + "universalPhoneAccess": { + "$ref": "UniversalPhoneAccess", + "description": "A universal phone access method for this meeting space. Can be unset." + } + }, + "type": "object" + }, + "MembershipChangeEvent": { + "id": "MembershipChangeEvent", + "properties": { + "leaveReason": { + "description": "This should only be set when MembershipChange type is LEAVE.", + "enum": [ + "LEAVE_REASON_UNKNOWN", + "FORCE_HISTORY_POLICY_CHANGE", + "USER_INITIATED" + ], + "enumDescriptions": [ + "", + "", + "" + ], + "type": "string" + }, + "participantId": { + "items": { + "$ref": "StoredParticipantId" + }, + "type": "array" + }, + "type": { + "enum": [ + "JOIN", + "LEAVE" + ], + "enumDescriptions": [ + "", + "" + ], + "type": "string" + } + }, + "type": "object" + }, + "Menu": { + "description": "This is deprecated and please use SelectionControl by setting type to DROPDOWN.", + "id": "Menu", + "properties": { + "items": { + "items": { + "$ref": "MenuItem" + }, + "type": "array" + }, + "label": { + "description": "Label used to be displayed ahead of the menu. It is optional.", + "type": "string" + }, + "name": { + "description": "The name of the text field which is will be used in FormInput.", + "type": "string" + }, + "onChange": { + "$ref": "FormAction", + "description": "If specified, form is submitted when selection changed. If not specified, developer will need to specify a separate button." + } + }, + "type": "object" + }, + "MenuItem": { + "id": "MenuItem", + "properties": { + "selected": { + "type": "boolean" + }, + "text": { + "description": "The text to be displayed.", + "type": "string" + }, + "value": { + "description": "The value associated with this item which will be sent back to app scripts. Client should use as a form input value.", + "type": "string" + } + }, + "type": "object" + }, + "MessageContent": { + "description": "The content of a chat message, which includes 0 or more segments along with 0 or more embeds, which represent various attachment types (like photos).", + "id": "MessageContent", + "properties": { + "attachment": { + "description": "Items attached to this message, such as photos. This should *NOT* be set by clients. It will be automatically set from media uploaded along with this request and using the information provided in existing_media.", + "items": { + "$ref": "Attachment" + }, + "type": "array" + }, + "segment": { + "description": "The text part of the message content. Segments are concatenated together to yield the full message. A message can have zero or more segments.", + "items": { + "$ref": "Segment" + }, + "type": "array" + } + }, + "type": "object" + }, "Metadata": { "description": "Metadata of a matched search result.", "id": "Metadata", @@ -4098,6 +12298,16 @@ }, "type": "object" }, + "OAuthConsumerProto": { + "description": "Represents an OAuth consumer, a/k/a AuthSub target. These principals are identified by domain name (e.g., example.com). Historically, Dasher domain GAIA group IDs have been used instead, but that doesn't work: http://go/tricky-gaia-ids", + "id": "OAuthConsumerProto", + "properties": { + "domain": { + "type": "string" + } + }, + "type": "object" + }, "ObjectDefinition": { "description": "The definition for an object within a data source.", "id": "ObjectDefinition", @@ -4187,6 +12397,69 @@ }, "type": "object" }, + "OnClick": { + "id": "OnClick", + "properties": { + "action": { + "$ref": "FormAction" + }, + "link": { + "description": "This can be used as a short form for OpenLink with the default OpenAs and OnClose. It may be undeprecated if this proves to be handy for developers.", + "type": "string" + }, + "openLink": { + "$ref": "OpenLink" + }, + "openLinkAction": { + "$ref": "FormAction", + "description": "An add-on triggers this action when the form action needs to open a link. This differs from the open_link above in that this needs to talk to server to get the link. Thus some preparation work is required for web client to do before the open link action response comes back." + } + }, + "type": "object" + }, + "OpenLink": { + "id": "OpenLink", + "properties": { + "loadIndicator": { + "description": "Next available ID: 5", + "enum": [ + "NONE", + "SPINNER" + ], + "enumDescriptions": [ + "", + "" + ], + "type": "string" + }, + "onClose": { + "enum": [ + "NOTHING", + "RELOAD_ADD_ON" + ], + "enumDescriptions": [ + "", + "" + ], + "type": "string" + }, + "openAs": { + "enum": [ + "FULL_SIZE", + "OVERLAY" + ], + "enumDescriptions": [ + "", + "" + ], + "type": "string" + }, + "url": { + "type": "string" + } + }, + "type": "object" + }, "Operation": { "description": "This resource represents a long-running operation that is the result of a network API call.", "id": "Operation", @@ -4207,17 +12480,146 @@ "description": "Service-specific metadata associated with the operation. It typically contains progress information and common metadata such as create time. Some services might not provide such metadata. Any method that returns a long-running operation should document the metadata type, if any.", "type": "object" }, - "name": { - "description": "The server-assigned name, which is only unique within the same service that originally returns it. If you use the default HTTP mapping, the `name` should be a resource name ending with `operations/{unique_id}`.", + "name": { + "description": "The server-assigned name, which is only unique within the same service that originally returns it. If you use the default HTTP mapping, the `name` should be a resource name ending with `operations/{unique_id}`.", + "type": "string" + }, + "response": { + "additionalProperties": { + "description": "Properties of the object. Contains field @type with type URL.", + "type": "any" + }, + "description": "The normal response of the operation in case of success. If the original method returns no data on success, such as `Delete`, the response is `google.protobuf.Empty`. If the original method is standard `Get`/`Create`/`Update`, the response should be the resource. For other methods, the response should have the type `XxxResponse`, where `Xxx` is the original method name. For example, if the original method name is `TakeSnapshot()`, the inferred response type is `TakeSnapshotResponse`.", + "type": "object" + } + }, + "type": "object" + }, + "OtrChatMessageEvent": { + "id": "OtrChatMessageEvent", + "properties": { + "expirationTimestampUsec": { + "format": "int64", + "type": "string" + }, + "kansasRowId": { + "type": "string" + }, + "kansasVersionInfo": { + "type": "string" + }, + "messageOtrStatus": { + "enum": [ + "OFF_THE_RECORD", + "ON_THE_RECORD" + ], + "enumDescriptions": [ + "The conversation is completely off the record.", + "The conversation is completely on the record." + ], + "type": "string" + } + }, + "type": "object" + }, + "OtrModificationEvent": { + "id": "OtrModificationEvent", + "properties": { + "newOtrStatus": { + "enum": [ + "OFF_THE_RECORD", + "ON_THE_RECORD" + ], + "enumDescriptions": [ + "The conversation is completely off the record.", + "The conversation is completely on the record." + ], + "type": "string" + }, + "newOtrToggle": { + "enum": [ + "ENABLED", + "DISABLED" + ], + "enumDescriptions": [ + "The conversation can be toggled", + "The conversation cannot be toggled" + ], + "type": "string" + }, + "oldOtrStatus": { + "enum": [ + "OFF_THE_RECORD", + "ON_THE_RECORD" + ], + "enumDescriptions": [ + "The conversation is completely off the record.", + "The conversation is completely on the record." + ], + "type": "string" + }, + "oldOtrToggle": { + "enum": [ + "ENABLED", + "DISABLED" + ], + "enumDescriptions": [ + "The conversation can be toggled", + "The conversation cannot be toggled" + ], + "type": "string" + } + }, + "type": "object" + }, + "PackagingServiceClient": { + "description": "Developers register a client in Google API Console to get the deep-linking feature on Google+ posts or frames about their apps. The client data is stored in this proto.", + "id": "PackagingServiceClient", + "properties": { + "androidPackageName": { + "description": "Android app's package name to generate the deep-link URI.", + "type": "string" + }, + "iosAppStoreId": { + "description": "iOS app's App Store ID to generate the App Store URL when app is not installed on device.", + "type": "string" + }, + "iosBundleId": { + "description": "iOS app's bundle ID to generate the deep-link URI.", + "type": "string" + }, + "type": { + "description": "Type of Google API Console client.", + "enum": [ + "ANDROID", + "IOS" + ], + "enumDescriptions": [ + "Client for Android app.", + "Client for iOS app." + ], + "type": "string" + } + }, + "type": "object" + }, + "PaygateInfo": { + "description": "Information provided to clients so that they can show upgrade promos and warnings on call ending early (for non-paying users).", + "id": "PaygateInfo", + "properties": { + "callEndingSoonWarningTime": { + "description": "Time when client should show message that the call is ending soon.", + "format": "google-datetime", + "type": "string" + }, + "callEndingTime": { + "description": "Time when the call will end if the user does not upgrade (after in-call upgrade support check has been implemented).", + "format": "google-datetime", "type": "string" }, - "response": { - "additionalProperties": { - "description": "Properties of the object. Contains field @type with type URL.", - "type": "any" - }, - "description": "The normal response of the operation in case of success. If the original method returns no data on success, such as `Delete`, the response is `google.protobuf.Empty`. If the original method is standard `Get`/`Create`/`Update`, the response should be the resource. For other methods, the response should have the type `XxxResponse`, where `Xxx` is the original method name. For example, if the original method name is `TakeSnapshot()`, the inferred response type is `TakeSnapshotResponse`.", - "type": "object" + "showUpgradePromos": { + "description": "This boolean is used by clients to decide whether the user should be shown promos to upgrade.", + "type": "boolean" } }, "type": "object" @@ -4276,6 +12678,33 @@ }, "type": "object" }, + "PhoneAccess": { + "description": "Phone access contains information required to dial into a conference using a regional phone number and a PIN that is specific to that phone number.", + "id": "PhoneAccess", + "properties": { + "formattedPhoneNumber": { + "description": "The phone number to dial for this meeting space in INTERNATIONAL format. Full phone number with a leading '+' character and whitespace separations.", + "type": "string" + }, + "languageCode": { + "description": "The BCP 47/LDML language code for the language associated with this phone access. To be parsed by the i18n LanguageCode utility. Examples: \"es-419\" for Latin American Spanish, \"fr-CA\" for Canadian French.", + "type": "string" + }, + "phoneNumber": { + "description": "The phone number to dial for this meeting space in E.164 format. Full phone number with a leading '+' character.", + "type": "string" + }, + "pin": { + "description": "The PIN that users must enter after dialing the given number. The PIN consists of only decimal digits and the length may vary.", + "type": "string" + }, + "regionCode": { + "description": "The CLDR/ISO 3166 region code for the country associated with this phone access. To be parsed by the i18n RegionCode utility. Example: \"SE\" for Sweden.", + "type": "string" + } + }, + "type": "object" + }, "PhoneNumber": { "description": "A person's Phone Number", "id": "PhoneNumber", @@ -4368,6 +12797,39 @@ }, "type": "object" }, + "PostiniUserProto": { + "description": "See http://s/?fileprint=//depot/google3/security/authentication/postini/auth_token.proto", + "id": "PostiniUserProto", + "properties": { + "postiniUserId": { + "format": "int64", + "type": "string" + } + }, + "type": "object" + }, + "Presenter": { + "description": "Presenter contains information about which device is currently presenting as well as which device requested the presenter to be set.", + "id": "Presenter", + "properties": { + "byDeviceId": { + "description": "The device resource name of the device which requested the current presenter to be set. This field can not be modified by clients.", + "type": "string" + }, + "copresenterDeviceIds": { + "description": "The device resource names of other devices which can control the current presentation.", + "items": { + "type": "string" + }, + "type": "array" + }, + "presenterDeviceId": { + "description": "The device resource name of the currently presenting device.", + "type": "string" + } + }, + "type": "object" + }, "Principal": { "description": "Reference to a user, group, or domain.", "id": "Principal", @@ -4387,6 +12849,181 @@ }, "type": "object" }, + "PrincipalProto": { + "description": "A Principal represents something to which permissions are assigned, often but not always a user or group of some kind. It is most appropriate for use in ACLs and authorization checks. Callers should prefer to use the wrapper classes in google3/security/credentials/public/principal.h google3/java/com/google/security/credentials/Principal.java google3/security/credentials/go/principal.go unless direct proto access is essential. If you update this protocol buffer, please update the wrapper classes as well.", + "id": "PrincipalProto", + "properties": { + "allAuthenticatedUsers": { + "$ref": "AllAuthenticatedUsersProto", + "description": "scope = ALL_AUTHENTICATED_USERS" + }, + "capTokenHolder": { + "$ref": "CapTokenHolderProto", + "description": "scope = CAP_TOKEN_HOLDER" + }, + "chat": { + "$ref": "ChatProto", + "description": "scope = CHAT" + }, + "circle": { + "$ref": "CircleProto", + "description": "scope = CIRCLE" + }, + "cloudPrincipal": { + "$ref": "CloudPrincipalProto", + "description": "scope = CLOUD_PRINCIPAL" + }, + "contactGroup": { + "$ref": "ContactGroupProto", + "description": "scope = CONTACT_GROUP" + }, + "emailOwner": { + "$ref": "EmailOwnerProto", + "description": "scope = EMAIL_OWNER" + }, + "event": { + "$ref": "EventProto", + "description": "scope = EVENT" + }, + "gaiaGroup": { + "$ref": "GaiaGroupProto", + "description": "scope = GAIA_GROUP" + }, + "gaiaUser": { + "$ref": "GaiaUserProto", + "description": "scope = GAIA_USER" + }, + "host": { + "$ref": "HostProto", + "description": "scope = HOST" + }, + "ldapGroup": { + "$ref": "LdapGroupProto", + "description": "scope = LDAP_GROUP" + }, + "ldapUser": { + "$ref": "LdapUserProto", + "description": "scope = LDAP_USER" + }, + "mdbGroup": { + "$ref": "MdbGroupProto", + "description": "scope = MDB_GROUP" + }, + "mdbUser": { + "$ref": "MdbUserProto", + "description": "scope = MDB_USER" + }, + "oauthConsumer": { + "$ref": "OAuthConsumerProto", + "description": "scope = OAUTH_CONSUMER;" + }, + "postiniUser": { + "$ref": "PostiniUserProto", + "description": "scope = POSTINI_USER" + }, + "rbacRole": { + "$ref": "RbacRoleProto", + "description": "scope = RBAC_ROLE" + }, + "rbacSubject": { + "$ref": "RbacSubjectProto", + "description": "scope = RBAC_SUBJECT" + }, + "resourceRole": { + "$ref": "ResourceRoleProto", + "description": "scope = RESOURCE_ROLE" + }, + "scope": { + "description": "This is only optional because required enums cannot be extended. Currently required.", + "enum": [ + "INVALID", + "GAIA_USER", + "GAIA_GROUP", + "LDAP_USER", + "LDAP_GROUP", + "MDB_USER", + "MDB_GROUP", + "POSTINI_USER", + "CONTACT_GROUP", + "SIMPLE_SECRET_HOLDER", + "SIGNING_KEY_POSSESSOR", + "ALL_AUTHENTICATED_USERS", + "OAUTH_CONSUMER", + "HOST", + "SOCIAL_GRAPH_NODE", + "EMAIL_OWNER", + "CAP_TOKEN_HOLDER", + "CIRCLE", + "SQUARE", + "EVENT", + "RESOURCE_ROLE", + "CHAT", + "YOUTUBE_USER", + "UNUSED_ZWIEBACK_SESSION", + "ZWIEBACK_SESSION", + "RBAC_ROLE", + "RBAC_SUBJECT", + "CLOUD_PRINCIPAL" + ], + "enumDescriptions": [ + "", + "", + "", + "", + "", + "", + "", + "", + "", + "", + "", + "", + "", + "", + "", + "", + "", + "", + "", + "", + "", + "", + "", + "", + "", + "", + "", + "next tag: 29" + ], + "type": "string" + }, + "signingKeyPossessor": { + "$ref": "SigningKeyPossessorProto", + "description": "scope = SIGNING_KEY_POSSESSOR" + }, + "simpleSecretHolder": { + "$ref": "SimpleSecretHolderProto", + "description": "scope = SIMPLE_SECRET_HOLDER" + }, + "socialGraphNode": { + "$ref": "SocialGraphNodeProto", + "description": "scope = SOCIAL_GRAPH_NODE" + }, + "square": { + "$ref": "SquareProto", + "description": "scope = SQUARE" + }, + "youtubeUser": { + "$ref": "YoutubeUserProto", + "description": "scope = YOUTUBE_USER" + }, + "zwiebackSession": { + "$ref": "ZwiebackSessionProto", + "description": "scope = ZWIEBACK_SESSION" + } + }, + "type": "object" + }, "ProcessingError": { "id": "ProcessingError", "properties": { @@ -4499,6 +13136,42 @@ }, "type": "object" }, + "Provenance": { + "description": "This field records where the ItemScope was retrieved, if it was created via a web fetch.", + "id": "Provenance", + "properties": { + "annotationBlob": { + "description": "Annotation blob from Annotation Service.", + "format": "byte", + "type": "string" + }, + "canonicalUrl": { + "description": "Canonical url of the retrieved_url, if one was resolved during retrieval, for example, if a rel=\"canonical\" link tag was provided in the retrieved web page.", + "type": "string" + }, + "inputUrl": { + "description": "The url originally passed in the PRS request, which should be used to re-discover the content. Note that this URL may be a forwarding service or link shortener (bit.ly), so it should not be assumed to be canonical, but should be used for navigation back to the original source of the itemscope.", + "type": "string" + }, + "itemtype": { + "description": "Contains exact types as parsed, whether or not we recognized that type at parse time. If an itemscope is created by merging SchemaOrg markup and open graph markup then the first itemtype would be schemaorg type, the second would be open graph and so on. example: http://schema.org/VideoObject, og:video.movie Plain text; usually a URL", + "items": { + "type": "string" + }, + "type": "array" + }, + "retrievedTimestampMsec": { + "description": "The server retrieved timestamp (in msec).", + "format": "uint64", + "type": "string" + }, + "retrievedUrl": { + "description": "The final URL that was the actual source of the itemscope, after any redirects.", + "type": "string" + } + }, + "type": "object" + }, "PushItem": { "description": "Represents an item to be pushed to the indexing queue.", "id": "PushItem", @@ -4703,77 +13376,247 @@ "description": "Can get suggestions for this field.", "type": "boolean" }, - "lessThanOperatorName": { - "description": "Indicates the operator name that can be used to isolate the property using the less-than operator.", + "lessThanOperatorName": { + "description": "Indicates the operator name that can be used to isolate the property using the less-than operator.", + "type": "string" + }, + "objectType": { + "description": "The name of the object corresponding to the operator. This field is only filled for schema-specific operators, and is unset for common operators.", + "type": "string" + }, + "operatorName": { + "description": "The name of the operator.", + "type": "string" + }, + "type": { + "description": "The type of the operator.", + "enum": [ + "UNKNOWN", + "INTEGER", + "DOUBLE", + "TIMESTAMP", + "BOOLEAN", + "ENUM", + "DATE", + "TEXT", + "HTML" + ], + "enumDescriptions": [ + "Invalid value.", + "", + "", + "", + "", + "", + "", + "", + "" + ], + "type": "string" + } + }, + "type": "object" + }, + "QuerySource": { + "description": "List of sources that the user can search using the query API.", + "id": "QuerySource", + "properties": { + "displayName": { + "description": "Display name of the data source.", + "type": "string" + }, + "operators": { + "description": "List of all operators applicable for this source.", + "items": { + "$ref": "QueryOperator" + }, + "type": "array" + }, + "shortName": { + "description": "A short name or alias for the source. This value can be used with the 'source' operator.", + "type": "string" + }, + "source": { + "$ref": "Source", + "description": "The name of the source" + } + }, + "type": "object" + }, + "QuerySuggestion": { + "description": "This field does not contain anything as of now and is just used as an indicator that the suggest result was a phrase completion.", + "id": "QuerySuggestion", + "properties": {}, + "type": "object" + }, + "RbacRoleProto": { + "description": "Principal associated with a given RBAC role. This principal is used by Sphinx Provisioning Service for RBAC (go/cedi-auth) provisionable (go/sphinx-rbacz-design).", + "id": "RbacRoleProto", + "properties": { + "name": { + "type": "string" + }, + "objectId": { + "type": "string" + }, + "rbacNamespace": { + "description": "DEPRECATED as of 01.11.2019", + "type": "string" + }, + "rbacRoleName": { + "description": "Format: \"RbacNamespaceName.RbacRoleName(/field=value)*\", e.g., \"hr.v1.Reader\", \"hr.v1.Reader/language=EN_US/country=USA/room=NYC-9th-11A201\".", + "type": "string" + } + }, + "type": "object" + }, + "RbacSubjectProto": { + "description": "Principal associated with a given RBAC subject. This principal is used by Sphinx Provisioning Service for RBAC (go/cedi-auth) provisionable (go/sphinx-rbacz-design).", + "id": "RbacSubjectProto", + "properties": { + "username": { + "description": "Format \"username\" without \"@domain\", e.g., \"bogdand\".", + "type": "string" + } + }, + "type": "object" + }, + "ReactionInfo": { + "description": "Contains information about an emoji reaction.", + "id": "ReactionInfo", + "properties": { + "emoji": { + "description": "Unicode string representing a single emoji.", + "type": "string" + } + }, + "type": "object" + }, + "RecordingEvent": { + "description": "A recording event is something that happens to the recording in a conference.", + "id": "RecordingEvent", + "properties": { + "deviceId": { + "description": "The initiator of the latest event of the recording. It will be set for all user events (`type` is 100-199) and unset for all server events (`type` is 200-299).", + "type": "string" + }, + "type": { + "description": "The type of event.", + "enum": [ + "RECORDING_EVENT_UNSPECIFIED", + "USER_ACTION", + "STARTED_BY_USER", + "STOPPED_BY_USER", + "CANCELLED_BY_USER", + "CANCELLED_INITIALIZATION_FAILED", + "CANCELLED_INITIATOR_LEFT", + "ACTIVE_ABOUT_TO_STOP_TOO_LONG", + "STOPPED_TOO_LONG", + "STOPPED_ALL_DEVICES_LEFT", + "STOPPED_INTERNAL_FAILURES" + ], + "enumDescriptions": [ + "This is never used.", + "Deprecated, use detailed user actions instead.", + "Recording was started or is being started by a user.", + "Recording was stopped by a user.", + "Recording was cancelled by a user.", + "Recording was cancelled by the server because of a failure during recording initialization.", + "Recording was cancelled by the server because the recording initiator left the conference during initialization. When the initiator leaves after the recording is started, no event is triggered.", + "Recording is about to be stopped by the server because the recording is about to reach the maximum duration.", + "Recording was stopped because the recording reached the maximum duration.", + "Recording was stopped because there were no devices left in the conference.", + "Recording was stopped because of an internal error." + ], + "type": "string" + } + }, + "type": "object" + }, + "RecordingInfo": { + "description": "This message is deprecated, please use RecordingSessionInfo instead. Information about recording in the current conference.", + "id": "RecordingInfo", + "properties": { + "latestRecordingEvent": { + "$ref": "RecordingEvent", + "description": "The latest recording event. This can be used by clients to help explain what is going on, why recording stopped, etc. This will always be set if there is or was an active recording, which means there can be latest event when recording is INACTIVE." + }, + "ownerDisplayName": { + "description": "The display name of the owner of the recording output. Email notifications about uploaded recordings will also be sent to this owner.", + "type": "string" + }, + "producerDeviceId": { + "description": "The device resource name of the producer device for the currently active recording. Note that, after the producer drops/leaves the conference, this field will be cleaned up by the server after a delay.", "type": "string" }, - "objectType": { - "description": "The name of the object corresponding to the operator. This field is only filled for schema-specific operators, and is unset for common operators.", + "recordingApplicationType": { + "description": "The application type of the current active recording. `RECORDING_APPLICATION_TYPE_UNSPECIFIED` if `recording_status` is inactive.", + "enum": [ + "RECORDING_APPLICATION_TYPE_UNSPECIFIED", + "RECORDING", + "GLIVE_STREAM", + "BROADCAST" + ], + "enumDescriptions": [ + "This is never used.", + "A meeting recording saved to a video file in Google Drive.", + "A *Google Live* managed stream. See go/thor-managed-streaming.", + "A meeting broadcast. See go/thor-streaming-prd." + ], "type": "string" }, - "operatorName": { - "description": "The name of the operator.", + "recordingId": { + "description": "An identifier for the current recording, if any. This is returned whenever recording_status is either `RECORDING_STARTING` or `RECORDING_STARTED`.", "type": "string" }, - "type": { - "description": "The type of the operator.", + "recordingStatus": { + "description": "The current status of the recording. This can be used by clients to show a recording dot or similar to indicated to the user that a recording is taking place.", "enum": [ - "UNKNOWN", - "INTEGER", - "DOUBLE", - "TIMESTAMP", - "BOOLEAN", - "ENUM", - "DATE", - "TEXT", - "HTML" + "RECORDING_UNSPECIFIED", + "RECORDING_INACTIVE", + "RECORDING_STARTING", + "RECORDING_STARTED" ], "enumDescriptions": [ - "Invalid value.", - "", - "", - "", - "", - "", - "", - "", - "" + "This value is never used.", + "The conference is not being recorded. This can mean either that no recording has been started, or that a previous recording has stopped.", + "Recording is about to begin. The status will be updated to RECORDING_STARTED when the recording actually starts, which happens when all the backend plumbing is set up.", + "The recording is started. Any media sent to the conference may be included in the resulting recording." ], "type": "string" } }, "type": "object" }, - "QuerySource": { - "description": "List of sources that the user can search using the query API.", - "id": "QuerySource", + "RecordingSessionInfo": { + "description": "Information about a recording session.", + "id": "RecordingSessionInfo", "properties": { - "displayName": { - "description": "Display name of the data source.", + "ownerEmail": { + "description": "Input only. Deprecated field, should not be used.", "type": "string" }, - "operators": { - "description": "List of all operators applicable for this source.", - "items": { - "$ref": "QueryOperator" - }, - "type": "array" - }, - "shortName": { - "description": "A short name or alias for the source. This value can be used with the 'source' operator.", + "recordingSessionId": { + "description": "A unique server-generated ID for the recording session.", "type": "string" }, - "source": { - "$ref": "Source", - "description": "The name of the source" + "sessionStateInfo": { + "$ref": "SessionStateInfo", + "description": "Recording session's state information." } }, "type": "object" }, - "QuerySuggestion": { - "description": "This field does not contain anything as of now and is just used as an indicator that the suggest result was a phrase completion.", - "id": "QuerySuggestion", - "properties": {}, + "RenameEvent": { + "id": "RenameEvent", + "properties": { + "newName": { + "type": "string" + }, + "originalName": { + "type": "string" + } + }, "type": "object" }, "RepositoryError": { @@ -4853,6 +13696,26 @@ }, "type": "object" }, + "ResourceRoleProto": { + "description": "A type of sharing target that points to some resource's ACL. Used to refer to the set of Principals that have the given privilege ('role_id') for the given resource ('application_id', 'object_id', 'object_part'). The meaning of 'role_id' is interpreted only by implementations of AclRpcService and is usually dependent on 'application_id' All fields except object_part are required. If present, object_part must be non-empty.", + "id": "ResourceRoleProto", + "properties": { + "applicationId": { + "type": "string" + }, + "objectId": { + "type": "string" + }, + "objectPart": { + "type": "string" + }, + "roleId": { + "format": "int32", + "type": "integer" + } + }, + "type": "object" + }, "ResponseDebugInfo": { "description": "Debugging information about the response.", "id": "ResponseDebugInfo", @@ -4986,6 +13849,17 @@ }, "type": "object" }, + "SafeUrlProto": { + "description": "Message containing a string that is safe to use in URL contexts in DOM APIs and HTML documents, where the URL context does not refer to a resource that loads code.", + "id": "SafeUrlProto", + "properties": { + "privateDoNotAccessOrElseSafeUrlWrappedValue": { + "description": "IMPORTANT: Never set or read this field, even from tests, it is private. See documentation at the top of .proto file for programming language packages with which to create or read this message.", + "type": "string" + } + }, + "type": "object" + }, "Schema": { "description": "The schema definition for a data source.", "id": "Schema", @@ -5341,30 +14215,384 @@ }, "type": "object" }, - "ShareScope": { - "id": "ShareScope", + "Section": { + "description": "Sections are separated by a line divider. They contain a collection of widgets that are rendered (vertically) in the order that they are specified. Across all platforms, AddOns have a narrow fixed width, so there is currently no need for layout properties (e.g. float).", + "id": "Section", + "properties": { + "collapsable": { + "description": "Indicating whether this section is collapsable. If a section is collapsable, the description must be given.", + "type": "boolean" + }, + "description": { + "description": "The header of the section, text formatted supported.", + "type": "string" + }, + "numUncollapsableWidgets": { + "description": "The number of uncollapsable widgets. For example, when a section contains 5 widgets and the num_uncollapsable_widget are set to be 2, The first 2 widgets will always shown and the last 3 is collapsed as default. Only when collapsable is set to be true, the num_uncollapsable_widget will be taken into account.", + "format": "int32", + "type": "integer" + }, + "widgets": { + "description": "A section must contain at least 1 widget.", + "items": { + "$ref": "WidgetMarkup" + }, + "type": "array" + } + }, + "type": "object" + }, + "Segment": { + "id": "Segment", + "properties": { + "formatting": { + "$ref": "Formatting", + "description": "Formatting to be applied when rendering the Segment. For all segment types, this is the standard way of representing that the Segment should be rendered in bold, italics, etc." + }, + "hashtagData": { + "$ref": "HashtagData", + "description": "For HASHTAG type:" + }, + "linkData": { + "$ref": "LinkData", + "description": "Type-specific metadata. At most one of these should be populated, and the one that is populated should correspond to the type of the Segment. For LINK type:" + }, + "text": { + "description": "Text content of the Segment. As a general rule, this field should contain the actual text that should be rendered in the UI. Thus, for a hashtag, it should be \"#Foo\", and for a link, it should be the display text. Clients that do not understand a particular segment type may use this text, along with the Formatting info below, as a fallback for display. The field is not required -- if all relevant information is carried in other metadata fields and there is no need for a fallback, or it is not practical for a fallback to be provided for any other reason, the field may be left blank. A standard example would be a user reference being transmitted between server layers, where a gaia-ID representation may be sufficient and there is no need for a textual fallback. In such a case, it would be valid and useful - though not required - for servers to compute and populate a fallback on the serving path.", + "type": "string" + }, + "type": { + "description": "Type of Segment.", + "enum": [ + "TEXT", + "LINE_BREAK", + "LINK", + "USER_MENTION", + "ALL_USER_MENTION", + "HASHTAG" + ], + "enumDescriptions": [ + "A TEXT segment represents plain-text subject to particular formatting constraints (as represented in the \"formatting\" field of the Segment).", + "A LINE_BREAK segment is simply a placeholder to represent a line break between other segments. The \"text\" variable may be set to a newline as a fallback, but clients that understand this segment type should simply insert a line break without needing to reference any fields.", + "A LINK segment represents a link to a web entity. The \"text\" field should be used for anchor text. Additional link data should be put in the link_data protobuf.", + "A USER_MENTION segment represents a reference to a (possibly non-Gaia, possibly off-network) user. The \"text\" field may be populated as a fallback, but information identifying the user should be contained in the user_mention_data protobuf. (The set of fields that are populated in user_mention_data may differ depending on the context in which the segment is viewed, but the interpretation of the fields is uniform. See comments over UserMentionData).", + "An ALL_USER_MENTION segment represents a reference to all users in the context, that is, the conversation, discussion, or other context containing the segment. For example, an ALL_USER_MENTION segment (\"@all\") can be useful to ping all participants in a conversation if the notification setting of the conversation is not set to ping on normal messages. An ALL_USER_MENTION should be treated as a USER_MENTION for all users who receives the segment.", + "A HASHTAG segment represents a structured reference to a topic. The \"text\" field should represent display text (e.g. \"#Google\"), and additional metadata should be put in the Segment's hashtag_data field." + ], + "type": "string" + }, + "userMentionData": { + "$ref": "UserMentionData", + "description": "For USER_MENTION type:" + } + }, + "type": "object" + }, + "SelectionControl": { + "id": "SelectionControl", + "properties": { + "items": { + "description": "For radio button, at most one of the items will be selected.", + "items": { + "$ref": "SelectionItem" + }, + "type": "array" + }, + "label": { + "description": "Label used to be displayed ahead of the selection control. It is optional.", + "type": "string" + }, + "name": { + "description": "The name of the text field which is will be used in FormInput.", + "type": "string" + }, + "onChange": { + "$ref": "FormAction", + "description": "If specified, form is submitted when selection changed. If not specified, developer will need to specify a separate button." + }, + "type": { + "enum": [ + "CHECK_BOX", + "RADIO_BUTTON", + "SWITCH", + "DROPDOWN" + ], + "enumDescriptions": [ + "", + "", + "", + "" + ], + "type": "string" + } + }, + "type": "object" + }, + "SelectionItem": { + "id": "SelectionItem", + "properties": { + "selected": { + "description": "If more than one items are selected for RADIO_BUTTON and DROPDOWN, the first selected item is treated as sElected and the after ones are all ignored.", + "type": "boolean" + }, + "text": { + "description": "The text to be displayed.", + "type": "string" + }, + "value": { + "description": "The value associated with this item which will be sent back to app scripts. Client should use as a form input value.", + "type": "string" + } + }, + "type": "object" + }, + "SessionEvent": { + "description": "A session event is something that happens to the streaming session in a conference.", + "id": "SessionEvent", + "properties": { + "deviceId": { + "description": "The initiator of the latest event of the streaming session. It will be set for all user events (`type` is 100-199) and unset for all server events(`type` is 200-299).", + "type": "string" + }, + "type": { + "description": "The type of event.", + "enum": [ + "EVENT_UNSPECIFIED", + "STARTED_BY_USER", + "STOPPED_BY_USER", + "CANCELLED_BY_USER", + "CANCELLED_INITIALIZATION_FAILED", + "CANCELLED_INITIATOR_LEFT", + "ACTIVE_ABOUT_TO_STOP_TOO_LONG", + "STOPPED_TOO_LONG", + "STOPPED_ALL_DEVICES_LEFT", + "STOPPED_INTERNAL_FAILURES" + ], + "enumDescriptions": [ + "This is never used.", + "Streaming session was started or is being started by a user.", + "Streaming session was stopped by a user.", + "Streaming session was cancelled by a user.", + "Streaming session was cancelled by the server because of a failure during session initialization.", + "Streaming session was cancelled by the server because the session initiator left the conference during initialization. When the initiator leaves after the session is started, no event is triggered.", + "Streaming session is about to be stopped by the server because the session is about to reach the maximum duration.", + "Streaming session was stopped because the session reached the maximum duration.", + "Streaming session was stopped because there were no devices left in the conference.", + "Streaming session was stopped because of an internal error." + ], + "type": "string" + } + }, + "type": "object" + }, + "SessionStateInfo": { + "description": "Information about the state of a (recording, broadcast, transcription...) session in a conference.", + "id": "SessionStateInfo", + "properties": { + "ackInfo": { + "$ref": "AckInfo", + "description": "Output only. The ack info of the session.", + "readOnly": true + }, + "languageConfig": { + "$ref": "LanguageConfig", + "description": "Immutable. The language configuration used by this session. When empty, captions will be disabled. It's a required field for transcription sessions." + }, + "lastActorDeviceId": { + "description": "Output only. The device id of the actor is set if the current state is a result of a user action, is empty otherwise.", + "readOnly": true, + "type": "string" + }, + "maxEndTime": { + "description": "Output only. The max end time of the session, at this time the session will be force stopped/terminated. Clients are expected to use this timestamp to warn users about the force stop.", + "format": "google-datetime", + "readOnly": true, + "type": "string" + }, + "sessionState": { + "description": "State of the session.", + "enum": [ + "SESSION_STATE_UNSPECIFIED", + "STARTING", + "ACTIVE", + "STOPPED" + ], + "enumDescriptions": [ + "Unspecified session state.", + "The session is starting.", + "The session is active/ongoing.", + "The session has stopped." + ], + "type": "string" + }, + "sessionStopReason": { + "description": "Output only. The reason the session was transitioned to STOPPED state.", + "enum": [ + "SESSION_STOP_REASON_UNSPECIFIED", + "USER_ACTION", + "STOPPED_INITIALIZATION_FAILED", + "STOPPED_TOO_LONG", + "STOPPED_ALL_DEVICES_LEFT", + "STOPPED_INTERNAL_FAILURES", + "STOPPED_YOU_TUBE_LIVE_EVENT_ENDED" + ], + "enumDescriptions": [ + "Session stop reason unspecified.", + "Stopped by user action.", + "Stopped by the server because of an initialization failure.", + "Stopped because the session reached the maximum duration.", + "Stopped because there were no devices left in the conference.", + "Stopped because of an internal error.", + "Stopped because the broadcast event ended on YouTube." + ], + "readOnly": true, + "type": "string" + } + }, + "type": "object" + }, + "Settings": { + "description": "Settings of a meeting space that can be viewed and edited by users with permissions. These settings are always populated for output.", + "id": "Settings", + "properties": { + "accessLock": { + "description": "The access lock of the meeting space that lets owner control who can join the meeting. True if the access lock feature is enabled for the meeting space.", + "type": "boolean" + }, + "attendanceReportEnabled": { + "description": "Whether attendance report is enabled for the meeting space.", + "type": "boolean" + }, + "chatLock": { + "description": "The chat lock of the meeting space that lets owner control whether the participants can send chat messages. True if the chat lock feature is enabled for the meeting space.", + "type": "boolean" + }, + "cohostArtifactSharingEnabled": { + "description": "Whether meeting artifacts will be shared with co-hosts.", + "type": "boolean" + }, + "cseEnabled": { + "description": "Whether Client-side Encryption is enabled for the meeting space.", + "type": "boolean" + }, + "defaultAsViewer": { + "description": "Whether the default role is viewer or not.", + "type": "boolean" + }, + "moderationEnabled": { + "description": "Indicates whether the meeting space is moderated. go/meet-multimod-dd", + "type": "boolean" + }, + "presentLock": { + "description": "The present lock of the meeting space that lets owner control whether the participants can present their screen. True if the present lock feature is enabled for the meeting space.", + "type": "boolean" + }, + "reactionsLock": { + "description": "The reactions lock of the meeting space that lets owner control whether the participants can send reactions. True if the reactions lock feature is enabled for the meeting space.", + "type": "boolean" + } + }, + "type": "object" + }, + "ShareScope": { + "id": "ShareScope", + "properties": { + "domain": { + "description": "If scope is DOMAIN, this field contains the dasher domain, for example \"google.com\".", + "type": "string" + }, + "scope": { + "description": "The scope to which the content was shared.", + "enum": [ + "UNKNOWN", + "PRIVATE", + "LIMITED", + "EXTENDED", + "DASHER_DOMAIN", + "PUBLIC" + ], + "enumDescriptions": [ + "", + "Only the author can view the post.", + "Viewable only by a set of people.", + "Viewable by extended circles.", + "", + "" + ], + "type": "string" + } + }, + "type": "object" + }, + "SigningKeyPossessorProto": { + "description": "Represents a principal who possesses a signing key corresponding to the verification key or keyset described here.", + "id": "SigningKeyPossessorProto", + "properties": { + "keymasterKeyType": { + "description": "This value must be from the KeyMetadata.Type enum in keymaster.proto.", + "format": "int32", + "type": "integer" + }, + "serializedVerificationKey": { + "description": "The actual verification key bytes corresponding to the above type.", + "format": "byte", + "type": "string" + }, + "serializedVerificationKeyset": { + "description": "The binary serialized Keymaster SerializedReader of a public keyset. The keyset must contain exactly one key. N.B.: If this field is populated, serialized_verification_key should be set to the empty string and keymaster_key_type should be set to zero.", + "format": "byte", + "type": "string" + } + }, + "type": "object" + }, + "SimpleSecretHolderProto": { + "description": "Represents a principal which possesses a particular, presumably secret, string. Useful for things like \"auth keys,\" used for anonymous sharing. Since representing this principal with the actual secret included reveals the secret, it's best if the requisite condition is enforced in some other way, for example via Keystore wrapping attributes (Keystore will unwrap only if the specified secret, aka \"attribute\", is presented). All that's stored here is an identifying label.", + "id": "SimpleSecretHolderProto", + "properties": { + "label": { + "$ref": "SimpleSecretLabelProto", + "description": "A descriptive label to help identify a relevant ACL entry or otherwise disambiguate this instance." + } + }, + "type": "object" + }, + "SimpleSecretLabelProto": { + "description": "SimpleSecretProto (in authenticator.proto) and SimpleSecretHolderProto (below) share the notion of a \"label\", which identifies a particular secret without (hopefully) revealing the secret. Note that a SimpleSecretLabel only disambiguates between secrets used to get access to some particular object. Two different secrets that apply to two different objects could have the same label. For example, in the common sharing model, each object has no more than one \"auth key\". Therefore, the label for an auth key simply has type = AUTH_KEY with no additional information. In theory, we could add some sort of resource ID to SimpleSecretLabel to make it more explicit. However, in practice, this is never really needed. A SimpleSecret for one object is never used to authorize a request on some other object, so there is no ambiguity. Also, since SimpleSecrets must obviously be unguessable, there is no risk that a SimpleSecret intended for one object will accidentally grant access to another.", + "id": "SimpleSecretLabelProto", "properties": { - "domain": { - "description": "If scope is DOMAIN, this field contains the dasher domain, for example \"google.com\".", + "capabilityId": { + "description": "***DEPRECATED (3-Oct-2011) *** This field should be deleted when code stops using CAP_TOKEN labels. Used when type = CAP_TOKEN. When a CAP_TOKEN label appears in a SimpleSecretHolder Principal, |capability_id| must be filled in to identify one of the capabilities on the ACL. When a CAP_TOKEN label appears in a SimpleSecret Authenticator, it is NOT necessary to fill in |capability_id| -- ACL Service will find the ID by searching all capabilities on the ACL for one associated with the token given by the SimpleSecret's secret data. If |capability_id| is specified, though, then the Authenticator will only be accepted if it actually matches that particular token ID.", + "format": "int32", + "type": "integer" + }, + "genericLabel": { + "description": "Used when type = GENERIC_SECRET", + "format": "byte", "type": "string" }, - "scope": { - "description": "The scope to which the content was shared.", + "inviteId": { + "description": "Used when type == INVITE.", + "format": "int64", + "type": "string" + }, + "type": { + "description": "This is optional because required enums cannot be extended.", "enum": [ - "UNKNOWN", - "PRIVATE", - "LIMITED", - "EXTENDED", - "DASHER_DOMAIN", - "PUBLIC" + "INVALID", + "AUTH_KEY", + "INVITE", + "GENERIC_SECRET", + "CAP_TOKEN", + "REKE" ], "enumDescriptions": [ - "", - "Only the author can view the post.", - "Viewable only by a set of people.", - "Viewable by extended circles.", - "", - "" + "Used as a default value.", + "The singleton auth key for a common-sharing ACL. No other fields of SimpleSecretLabelProto need to be filled in, since there is only one of these per ACL. The corresponding secret is the auth key encoded in 64-bit big-endian.", + "A common-sharing invite token. |invite_id| (below) must be set to identify the invite. The corresponding secret is the SecretMaterial, as defined by InviteToken.SecretMaterial in acl.proto, encoded in 64-bit big-endian. If there is no SecretMaterial, the secret should be omitted; in this case the invite ID itself is the secret, which is less secure.", + "A generic secret value. Do not use this if any more specific type is appropriate.", + "***DEPRECATED (3-Oct-2011)*** Use the new CapTokenProto and CapTokenHolderProto instead. A capability token. The corresponding secret is an arbitrary-length random byte string (recommended: 128 bits). |capability_id| may be filled in (see below). See CapTokenMetadata in acl.proto.", + "Identifies a principal that can perform a successful REKE handshake. The holder is not authenticated by presenting a SimpleSecretProto, but rather by knowing either the REKE resumption ticket secret or the private key corresponding to a public key specified outside the PrincipalProto. For more information, see: http://goto.google.com/loas2cert" ], "type": "string" } @@ -5389,6 +14617,20 @@ }, "type": "object" }, + "SocialGraphNodeProto": { + "description": "Represents a user pseudonym. Pseudonyms are linked accounts on Google and third-party services (e.g. YouTube or Twitter) and are described by a Social Graph Node.", + "id": "SocialGraphNodeProto", + "properties": { + "sgnDomain": { + "description": "The fields from ccc/socialgraph/socialgraphnode.proto:SgnNode that uniquely identify a social graph node. The 'ident' field is not included here because its value can be changed.", + "type": "string" + }, + "sgnPk": { + "type": "string" + } + }, + "type": "object" + }, "SortOptions": { "id": "SortOptions", "properties": { @@ -5530,74 +14772,28 @@ }, "type": "object" }, - "SpaceId": { - "description": "Primary key for Space resource.", - "id": "SpaceId", + "SpellResult": { + "id": "SpellResult", "properties": { - "spaceId": { - "description": "Unique, immutable ID of the Space", + "suggestedQuery": { + "description": "The suggested spelling of the query.", "type": "string" } }, "type": "object" }, - "SpaceInfo": { - "description": "Defines the representation of a single matching space.", - "id": "SpaceInfo", + "SquareProto": { + "description": "Represents the set of members (of a given type) in a Google+ Square (see http://go/squares). A Square with default member_type is currently (1/2012) identical to the GaiaGroup with the same ID, but that is expected to change soon (see http://go/superglue). Support for this principal type is currently (1/2012) incomplete -- e.g., Keystore does not support it yet (see b/5703421).", + "id": "SquareProto", "properties": { - "avatarInfo": { - "$ref": "AvatarInfo" - }, - "avatarUrl": { - "type": "string" - }, - "description": { - "type": "string" - }, - "groupId": { - "$ref": "GroupId" - }, - "inviterEmail": { - "description": "The email address of the user that invited the calling user to the room, if available. This field will only be populated for direct invites, it will be empty if the user was indirectly invited to the group.", - "type": "string" - }, - "isExternal": { - "description": "Whether this is a space that enables guest access", - "type": "boolean" - }, - "name": { - "type": "string" - }, - "numMembers": { + "memberType": { + "description": "The type of Square members to consider, e.g. \"all members\" vs. \"owners\" vs. \"admins\". These are defined by legacy_relation_id values in social.graph.storage.EdgeTypeEnum.EdgeType enum options in social/graph/storage/proto/id.proto. See square.pb (defined in production/config/cdd/socialgraph/mixer_config/prod/node_type_config) for all valid edge types associated with square. Currently required.", "format": "int32", "type": "integer" }, - "userMembershipState": { - "description": "searching user's membership state in this space", - "enum": [ - "MEMBER_UNKNOWN", - "MEMBER_INVITED", - "MEMBER_JOINED", - "MEMBER_NOT_A_MEMBER", - "MEMBER_FAILED" - ], - "enumDescriptions": [ - "Default state, do not use", - "An invitation to the space has been sent", - "User has joined the space", - "User is not a member", - "This state should never be stored in Spanner. It is a state for responses to the clients to indicate that membership mutations have failed and the member is in its previous state." - ], - "type": "string" - } - }, - "type": "object" - }, - "SpellResult": { - "id": "SpellResult", - "properties": { - "suggestedQuery": { - "description": "The suggested spelling of the query.", + "squareId": { + "description": "Currently required.", + "format": "int64", "type": "string" } }, @@ -5645,6 +14841,101 @@ }, "type": "object" }, + "StoredParticipantId": { + "id": "StoredParticipantId", + "properties": { + "gaiaId": { + "format": "int64", + "type": "string" + } + }, + "type": "object" + }, + "StreamViewerStats": { + "description": "Information about viewers of the stream.", + "id": "StreamViewerStats", + "properties": { + "estimatedViewerCount": { + "description": "The estimate of the current viewer count.", + "format": "int64", + "type": "string" + } + }, + "type": "object" + }, + "StreamingSessionInfo": { + "description": "Information about a streaming session in conference.", + "id": "StreamingSessionInfo", + "properties": { + "applicationType": { + "description": "The application type of the current streaming session.", + "enum": [ + "RECORDING_APPLICATION_TYPE_UNSPECIFIED", + "RECORDING", + "GLIVE_STREAM", + "BROADCAST" + ], + "enumDescriptions": [ + "This is never used.", + "A meeting recording saved to a video file in Google Drive.", + "A *Google Live* managed stream. See go/thor-managed-streaming.", + "A meeting broadcast. See go/thor-streaming-prd." + ], + "type": "string" + }, + "latestSessionEvent": { + "$ref": "SessionEvent", + "description": "The latest streaming session event. This can be used by clients to help explain what is going on, why recording stopped, etc. This will always be set to a valid event and consistent with the status. It can be set when current session is inactive to indicate latest event that makes current session to become inactive." + }, + "ownerDisplayName": { + "description": "The display name of the owner of the recording output. It's only set when there will be uploaded recordings. Currently, it's only set when application type is RECORDING or GLIVE_STREAM.", + "type": "string" + }, + "sessionId": { + "description": "This is the REST name and unique identifier of this streaming session and has the form `spaces//recordings/` This is returned whenever status is either `STARTING` or `STARTED`.", + "type": "string" + }, + "status": { + "description": "The current status of this streaming session. This can be used by clients to show session status indicator and/or notification.", + "enum": [ + "STATUS_UNSPECIFIED", + "INACTIVE", + "STARTING", + "LIVE" + ], + "enumDescriptions": [ + "This value is never used.", + "The streaming session is inactive. This means either it's not started yet or it's already stopped.", + "The streaming session is about to begin. The status will be updated to LIVE when the streaming session actually starts, which happens when all the backend plumbing is set up.", + "The streaming session is live. Any media sent to the conference may be included in the resulting recording/broadcast." + ], + "type": "string" + }, + "trainingEnabled": { + "description": "When true, this recording may be used for training new transcription models.", + "type": "boolean" + }, + "viewerAccessPolicy": { + "description": "The policy that controls who can view the broadcast. This setting applies for broadcast session.", + "enum": [ + "BROADCASTING_ACCESS_POLICY_UNSPECIFIED", + "ORGANIZATION", + "PUBLIC" + ], + "enumDescriptions": [ + "Used only when broadcast is not enabled, or an unknown enum value is used.", + "Only authenticated Google accounts belonging to the same organization as the meeting organizer can access the broadcast.", + "Anyone with the broadcast view URL can access the broadcast." + ], + "type": "string" + }, + "viewerStats": { + "$ref": "StreamViewerStats", + "description": "Contains information about viewers of the livestream. It is only set when application type is BROADCAST." + } + }, + "type": "object" + }, "StructuredDataObject": { "description": "A structured data object consisting of named properties.", "id": "StructuredDataObject", @@ -5685,45 +14976,188 @@ "description": "Partial query for which autocomplete suggestions will be shown. For example, if the query is \"sea\", then the server might return \"season\", \"search\", \"seagull\" and so on.", "type": "string" }, - "requestOptions": { - "$ref": "RequestOptions", - "description": "Request options, such as the search application and user timezone." - } - }, - "type": "object" - }, - "SuggestResponse": { - "description": "Response of the suggest API.", - "id": "SuggestResponse", - "properties": { - "suggestResults": { - "description": "List of suggestions.", - "items": { - "$ref": "SuggestResult" - }, - "type": "array" + "requestOptions": { + "$ref": "RequestOptions", + "description": "Request options, such as the search application and user timezone." + } + }, + "type": "object" + }, + "SuggestResponse": { + "description": "Response of the suggest API.", + "id": "SuggestResponse", + "properties": { + "suggestResults": { + "description": "List of suggestions.", + "items": { + "$ref": "SuggestResult" + }, + "type": "array" + } + }, + "type": "object" + }, + "SuggestResult": { + "description": "One suggestion result.", + "id": "SuggestResult", + "properties": { + "peopleSuggestion": { + "$ref": "PeopleSuggestion", + "description": "This is present when the suggestion indicates a person. It contains more information about the person - like their email ID, name etc." + }, + "querySuggestion": { + "$ref": "QuerySuggestion", + "description": "This field will be present if the suggested query is a word/phrase completion." + }, + "source": { + "$ref": "Source", + "description": "The source of the suggestion." + }, + "suggestedQuery": { + "description": "The suggested query that will be used for search, when the user clicks on the suggestion", + "type": "string" + } + }, + "type": "object" + }, + "SwitchWidget": { + "id": "SwitchWidget", + "properties": { + "controlType": { + "enum": [ + "UNSPECIFIED", + "SWITCH", + "CHECKBOX" + ], + "enumDescriptions": [ + "", + "", + "" + ], + "type": "string" + }, + "name": { + "description": "The name of the switch widget which is will be used in FormInput.", + "type": "string" + }, + "onChange": { + "$ref": "FormAction" + }, + "selected": { + "type": "boolean" + }, + "value": { + "description": "The value is what is passed back in apps script callback.", + "type": "string" + } + }, + "type": "object" + }, + "TasksMetadata": { + "description": "A Tasks message in Dynamite.", + "id": "TasksMetadata", + "properties": {}, + "type": "object" + }, + "TextButton": { + "id": "TextButton", + "properties": { + "altText": { + "description": "The alternative text used for accessibility Next field number: 7.", + "type": "string" + }, + "backgroundColor": { + "description": "Optional color of the button's background in RAISE mode. The default is the secondary color from addon's manifest.", + "type": "string" + }, + "disabled": { + "type": "boolean" + }, + "onClick": { + "$ref": "OnClick" + }, + "style": { + "enum": [ + "UNSPECIFIED", + "TEXT", + "FILLED" + ], + "enumDescriptions": [ + "", + "Simple text button with ripple touch feedback.", + "Button with solid background." + ], + "type": "string" + }, + "text": { + "description": "Text color can be set via HTML markup.", + "type": "string" + } + }, + "type": "object" + }, + "TextField": { + "id": "TextField", + "properties": { + "autoComplete": { + "$ref": "AutoComplete", + "description": "The initial set of auto complete items without any user input." + }, + "autoCompleteCallback": { + "$ref": "FormAction", + "description": "The refresh function which returns AutoComplete based on the user's input text. If the callback is not specified, auto complete will be purely done in client side based on the auto_complete items." + }, + "autoCompleteMultipleSelections": { + "description": "When set to true, a user can input multiple auto-complet items.", + "type": "boolean" + }, + "hintText": { + "type": "string" + }, + "label": { + "description": "One of label or hint_text is required to be specified by the developers.", + "type": "string" + }, + "maxLines": { + "format": "int32", + "type": "integer" + }, + "name": { + "description": "The name of the text field which is will be used in FormInput.", + "type": "string" + }, + "onChange": { + "$ref": "FormAction" + }, + "type": { + "enum": [ + "SINGLE_LINE", + "MULTIPLE_LINE" + ], + "enumDescriptions": [ + "", + "" + ], + "type": "string" + }, + "value": { + "description": "The default value when no input from user.", + "type": "string" } }, "type": "object" }, - "SuggestResult": { - "description": "One suggestion result.", - "id": "SuggestResult", + "TextKeyValue": { + "description": "This is deprecated and please use KeyValue.", + "id": "TextKeyValue", "properties": { - "peopleSuggestion": { - "$ref": "PeopleSuggestion", - "description": "This is present when the suggestion indicates a person. It contains more information about the person - like their email ID, name etc." - }, - "querySuggestion": { - "$ref": "QuerySuggestion", - "description": "This field will be present if the suggested query is a word/phrase completion." + "key": { + "type": "string" }, - "source": { - "$ref": "Source", - "description": "The source of the suggestion." + "onClick": { + "$ref": "OnClick" }, - "suggestedQuery": { - "description": "The suggested query that will be used for search, when the user clicks on the suggestion", + "text": { "type": "string" } }, @@ -5744,6 +15178,15 @@ }, "type": "object" }, + "TextParagraph": { + "id": "TextParagraph", + "properties": { + "text": { + "type": "string" + } + }, + "type": "object" + }, "TextPropertyOptions": { "description": "The options for text properties.", "id": "TextPropertyOptions", @@ -5817,6 +15260,55 @@ }, "type": "object" }, + "Toolbar": { + "description": "The Toolbar markup has been deprecated. The information is now specified in the manifest.", + "id": "Toolbar", + "properties": { + "color": { + "description": "Background color of the toolbar in RBG hex representation.", + "type": "string" + }, + "iconUrl": { + "type": "string" + }, + "name": { + "type": "string" + } + }, + "type": "object" + }, + "TranscriptionSessionInfo": { + "description": "Information about a transcription session.", + "id": "TranscriptionSessionInfo", + "properties": { + "sessionStateInfo": { + "$ref": "SessionStateInfo", + "description": "Transcription session's state information." + }, + "transcriptionSessionId": { + "description": "A unique server-generated ID for the transcription session.", + "type": "string" + } + }, + "type": "object" + }, + "TransientData": { + "description": "Transient generic data that will not be saved on the server.", + "id": "TransientData", + "properties": {}, + "type": "object" + }, + "TrustedResourceUrlProto": { + "description": "Message containing a string that is safe to use in all URL contexts in DOM APIs and HTML documents; even where the referred-to resource is interpreted as code, e.g., as the src of a script element.", + "id": "TrustedResourceUrlProto", + "properties": { + "privateDoNotAccessOrElseTrustedResourceUrlWrappedValue": { + "description": "IMPORTANT: Never set or read this field, even from tests, it is private. See documentation at the top of .proto file for programming language packages with which to create or read this message.", + "type": "string" + } + }, + "type": "object" + }, "TypeInfo": { "description": "Next tag: 2", "id": "TypeInfo", @@ -5828,6 +15320,21 @@ }, "type": "object" }, + "UniversalPhoneAccess": { + "description": "Universal phone access contains information required to dial into a conference using one of a static list of phone numbers and a universal PIN. The phone number list is distributed separately.", + "id": "UniversalPhoneAccess", + "properties": { + "pin": { + "description": "The PIN that users must enter after dialing a universal number. The pin consists of only decimal digits and the length may vary, though it generally is longer than a PhoneAccess.pin.", + "type": "string" + }, + "pstnInfoUrl": { + "description": "This field has the same contents as the MeetingSpace.more_join_url field, and is included for compatibility reasons. Clients should use the other field instead. This field is deprecated and will be removed.", + "type": "string" + } + }, + "type": "object" + }, "UnmappedIdentity": { "id": "UnmappedIdentity", "properties": { @@ -5918,33 +15425,79 @@ }, "type": "object" }, - "UserId": { - "description": "Primary key for User resource.", - "id": "UserId", + "UserDisplayInfo": { + "description": "Resource for displaying user info", + "id": "UserDisplayInfo", "properties": { - "actingUserId": { - "description": "Optional. Opaque, server-assigned ID of the user profile associated with App/user acting on behalf of the human user. This is currently only set when a 3P application is acting on the user's behalf.", + "avatarUrl": { + "description": "The avatar to show for this user", "type": "string" }, - "id": { - "description": "Opaque, server-assigned ID of the User.", + "displayName": { + "description": "The name to show for this user", "type": "string" - }, - "originAppId": { - "$ref": "AppId", - "description": "Optional. Identifier of the App involved (directly or on behalf of a human creator) in creating this message. This is not set if the user posted a message directly, but is used in the case of, for example, a message being generated by a 1P integration based on a user action (creating an event, creating a task etc). This should only be used on the BE. For clients, please use the field in the FE message proto instead (google3/apps/dynamite/v1/frontend/api/message.proto?q=origin_app_id)." - }, - "type": { - "description": "Clients do not need to send UserType to Backend, but Backend will always send this field to clients per the following rule: 1. For HUMAN Ids, the field is empty but by default .getType() will return HUMAN. 2. For BOT Ids, the field is ALWAYS set to BOT.", + } + }, + "type": "object" + }, + "UserInfo": { + "description": "Contains info regarding the updater of an Activity Feed item. Next Id: 6", + "id": "UserInfo", + "properties": { + "updaterCountDisplayType": { + "description": "Describes how updater_count_to_show should be used.", "enum": [ - "HUMAN", - "BOT" + "UPDATER_COUNT_DISPLAY_TYPE_UNSPECIFIED", + "EXACT_COUNT", + "NONZERO_COUNT" ], "enumDescriptions": [ - "Notes on HUMAN type: 1) Leaving UserId.UserType field empty will return HUMAN as default value. This is expected because all the existing UserIds are without explicitly setting UserType, most of which are HUMAN Ids. For Bot Ids we will always set BOT in UserType field. 2) DO NOT explicitly set HUMAN as type. This is a proto2 issue, that a UserId with explicitly set default value HUMAN as type is NOT equal to an id without setting the field. aka. UserId id1 = UserId.newBuilder() .setId(\"dummy\").setType(UserType.HUMAN).build(); UserId id2 = UserId.newBuilder().setId(\"dummy\").build(); AssertThat(id1).isNotEqual(id2); AssertThat(id2.getType()).isEqualTo(UserType.HUMAN);", - "" + "", + "A precise updater count is known and the value set in updater_count_to_show should be used. If set, updater_count_to_show is set to the total number of updaters minus the one set in updater_to_show.", + "A precise updater count could not be calculated, but there is at least one. Any value set in updater_count_to_show should NOT be used." ], "type": "string" + }, + "updaterCountToShow": { + "description": "The number of updaters for clients to show depending on UpdaterCountDisplayType.", + "format": "int32", + "type": "integer" + }, + "updaterToShowEmail": { + "description": "The email of the updater for clients to show used for Gmail items.", + "type": "string" + }, + "updaterToShowGaiaId": { + "description": "The gaia id of the updater for clients to show used for Gmail items. If the updater is an external user, the email field below should be populated.", + "format": "int64", + "type": "string" + }, + "updaterToShowUserId": { + "$ref": "AppsDynamiteUserId", + "description": "The updater for clients to show used for Dynamite Chat items." + } + }, + "type": "object" + }, + "UserMentionData": { + "description": "Person metadata, for USER_MENTION segments. Should always contain at least one of user_gaia_id, user_id, email or user. The exact set of populated fields may differ depending on the context and the level in the serving stack; for example, emails will be elided on the viewing path. But as a general rule, a proto having any one of the four is valid, subject to the standard constraints of the applied annotations -- that is, communication between servers and clients will ignore jspb.ignore fields, and communication between servers and other servers (or between servers and storage) will ignore client_only fields. For more on the annotations, see the comments in social/common/segment_annotations.proto", + "id": "UserMentionData", + "properties": { + "email": { + "type": "string" + }, + "user": { + "$ref": "PrincipalProto", + "description": "If the principal is backed by a gaia id, DO NOT use this field. Use user_gaia_id/user_id fields instead." + }, + "userGaiaId": { + "description": "An unobfuscated gaia ID:", + "format": "int64", + "type": "string" + }, + "userId": { + "description": "An obfuscated gaia ID:", + "type": "string" } }, "type": "object" @@ -6001,6 +15554,16 @@ }, "type": "object" }, + "VideoCallMetadata": { + "description": "A Meet initiated in Dynamite and its URL.", + "id": "VideoCallMetadata", + "properties": { + "meetingUrl": { + "type": "string" + } + }, + "type": "object" + }, "VideoInfo": { "description": "Next tag: 2", "id": "VideoInfo", @@ -6012,6 +15575,244 @@ } }, "type": "object" + }, + "VoicePhoneNumber": { + "description": "Represents both long and short phone number that can be called or texted. Short telephone numbers are used to reach local services. Short numbers and their purpose differ from country to country. These numbers in US are in the form of N11 which is a three-digit abbreviated dialing telephone number.", + "id": "VoicePhoneNumber", + "properties": { + "e164": { + "description": "E.164 formatted full phone number with leading +. This field also represents encoded form of short telephone numbers in E.164 format. e.g. \"911\" is encoded as \"+1911\".", + "type": "string" + }, + "i18nData": { + "$ref": "VoicePhoneNumberI18nData", + "description": "Additional data that could be added using the libphonenumber API." + } + }, + "type": "object" + }, + "VoicePhoneNumberI18nData": { + "id": "VoicePhoneNumberI18nData", + "properties": { + "countryCode": { + "description": "The country calling code for this number, as defined by the ITU. For example, this would be 1 for NANPA countries, and 33 for France (for more info see i18n.phonenumbers.PhoneNumber.country_code).", + "format": "int32", + "type": "integer" + }, + "internationalNumber": { + "description": "Display number formatted using the INTERNATIONAL format.", + "type": "string" + }, + "isValid": { + "description": "When present, indicates the number is valid according to the libphonenumber's isValidNumber API (see https://code.google.com/p/libphonenumber/).", + "type": "boolean" + }, + "nationalNumber": { + "description": "Display number formatted using the NATIONAL format.", + "type": "string" + }, + "regionCode": { + "description": "A region (country, territory, continent, etc), as defined by Unicode's \"CLDR\", itself based on ISO 3166 (UN country codes). For details, see https://www.corp.google.com/~engdocs/java/com/google/i18n/identifiers/RegionCode.html", + "type": "string" + }, + "validationResult": { + "description": "When set to a non-default value, indicates the validation reason that is set when phone number is invalid (is_valid is false).", + "enum": [ + "UNKNOWN", + "IS_POSSIBLE", + "INVALID_COUNTRY_CODE", + "TOO_SHORT", + "TOO_LONG", + "IS_POSSIBLE_LOCAL_ONLY", + "INVALID_LENGTH" + ], + "enumDescriptions": [ + "", + "", + "", + "", + "", + "", + "" + ], + "type": "string" + } + }, + "type": "object" + }, + "WhiteboardInfo": { + "description": "Information on a whiteboard attached to an active conference. A whiteboard is a Jam document.", + "id": "WhiteboardInfo", + "properties": { + "id": { + "description": "The Cosmo Id of the whiteboard document (Jam).", + "type": "string" + }, + "title": { + "description": "Title of the whiteboard document.", + "type": "string" + }, + "uri": { + "description": "The uri for whiteboard document.", + "type": "string" + }, + "whiteboardUri": { + "description": "This field is deprecated and will be removed. Please use \"uri\" instead.", + "type": "string" + } + }, + "type": "object" + }, + "WidgetMarkup": { + "id": "WidgetMarkup", + "properties": { + "buttons": { + "description": "buttons is also oneof data and only one of these fields should be set.", + "items": { + "$ref": "Button" + }, + "type": "array" + }, + "dateTimePicker": { + "$ref": "DateTimePicker" + }, + "divider": { + "$ref": "Divider" + }, + "grid": { + "$ref": "Grid" + }, + "horizontalAlignment": { + "description": "The horizontal alignment of this widget.", + "enum": [ + "HORIZONTAL_ALIGNMENT_UNSPECIFIED", + "START", + "CENTER", + "END" + ], + "enumDescriptions": [ + "", + "", + "", + "" + ], + "type": "string" + }, + "image": { + "$ref": "Image" + }, + "imageKeyValue": { + "$ref": "ImageKeyValue" + }, + "keyValue": { + "$ref": "KeyValue" + }, + "menu": { + "$ref": "Menu", + "description": "Input Widgets" + }, + "selectionControl": { + "$ref": "SelectionControl" + }, + "textField": { + "$ref": "TextField" + }, + "textKeyValue": { + "$ref": "TextKeyValue" + }, + "textParagraph": { + "$ref": "TextParagraph", + "description": "Read-only Widgets" + } + }, + "type": "object" + }, + "WrappedResourceKey": { + "description": "A wrapper around a raw resource key. The secret should never be logged, and this proto annotates those secret fields to ensure that they are not. Clients are encouraged to use this proto rather than defining their own, to ensure that secrets are correctly annotated.", + "id": "WrappedResourceKey", + "properties": { + "resourceKey": { + "description": "Resource key of the Drive item. This field should be unset if, depending on the context, the item does not have a resource key, or if none was specified. This must never be logged.", + "type": "string" + } + }, + "type": "object" + }, + "YouTubeBroadcastSessionInfo": { + "description": "Information about a YouTube broadcast session.", + "id": "YouTubeBroadcastSessionInfo", + "properties": { + "broadcastStats": { + "$ref": "YouTubeBroadcastStats", + "description": "Current broadcast session's statistics." + }, + "sessionStateInfo": { + "$ref": "SessionStateInfo", + "description": "YouTube broadcast session's state information." + }, + "youTubeBroadcastSessionId": { + "description": "A unique server-generated ID for the broadcast session.", + "type": "string" + }, + "youTubeLiveBroadcastEvent": { + "$ref": "YouTubeLiveBroadcastEvent", + "description": "The YouTube Live broadcast event that is being streamed to." + } + }, + "type": "object" + }, + "YouTubeBroadcastStats": { + "description": "Statistics of the YouTube broadcast session.", + "id": "YouTubeBroadcastStats", + "properties": { + "estimatedViewerCount": { + "description": "Estimated concurrent viewer count.", + "format": "int64", + "type": "string" + } + }, + "type": "object" + }, + "YouTubeLiveBroadcastEvent": { + "description": "Information about the broadcast to YouTube.", + "id": "YouTubeLiveBroadcastEvent", + "properties": { + "broadcastId": { + "description": "Input only. The broadcast id, used to control the lifecycle of the event on YouTube", + "type": "string" + }, + "channelId": { + "description": "YouTube channel associated with the broadcast.", + "type": "string" + }, + "viewUrl": { + "description": "Output only. A URL that can be used to watch the meeting broadcast. Will be populated by the backend.", + "readOnly": true, + "type": "string" + } + }, + "type": "object" + }, + "YoutubeUserProto": { + "id": "YoutubeUserProto", + "properties": { + "youtubeUserId": { + "format": "int64", + "type": "string" + } + }, + "type": "object" + }, + "ZwiebackSessionProto": { + "description": "See go/zwieback. New uses of Zwieback sessions must be approved via go/zwieback-request.", + "id": "ZwiebackSessionProto", + "properties": { + "zwiebackSessionId": { + "format": "uint64", + "type": "string" + } + }, + "type": "object" } }, "servicePath": "", diff --git a/googleapiclient/discovery_cache/documents/cloudshell.v1.json b/googleapiclient/discovery_cache/documents/cloudshell.v1.json index b25ba368f86..b0650727939 100644 --- a/googleapiclient/discovery_cache/documents/cloudshell.v1.json +++ b/googleapiclient/discovery_cache/documents/cloudshell.v1.json @@ -374,7 +374,7 @@ } } }, - "revision": "20220725", + "revision": "20220803", "rootUrl": "https://cloudshell.googleapis.com/", "schemas": { "AddPublicKeyMetadata": { diff --git a/googleapiclient/discovery_cache/documents/cloudsupport.v2beta.json b/googleapiclient/discovery_cache/documents/cloudsupport.v2beta.json index 9d10f431d8b..f4940bd1980 100644 --- a/googleapiclient/discovery_cache/documents/cloudsupport.v2beta.json +++ b/googleapiclient/discovery_cache/documents/cloudsupport.v2beta.json @@ -575,7 +575,7 @@ } } }, - "revision": "20220722", + "revision": "20220806", "rootUrl": "https://cloudsupport.googleapis.com/", "schemas": { "Actor": { @@ -720,10 +720,6 @@ ], "type": "string" }, - "projectId": { - "description": "The ID of the project associated with the case.", - "type": "string" - }, "severity": { "description": "The severity of this case. Deprecated. Use priority instead.", "enum": [ diff --git a/googleapiclient/discovery_cache/documents/cloudtasks.v2.json b/googleapiclient/discovery_cache/documents/cloudtasks.v2.json index d91fcb55683..90bc5e4c24e 100644 --- a/googleapiclient/discovery_cache/documents/cloudtasks.v2.json +++ b/googleapiclient/discovery_cache/documents/cloudtasks.v2.json @@ -685,7 +685,7 @@ } } }, - "revision": "20220726", + "revision": "20220808", "rootUrl": "https://cloudtasks.googleapis.com/", "schemas": { "AppEngineHttpRequest": { @@ -797,7 +797,7 @@ "description": "The condition that is associated with this binding. If the condition evaluates to `true`, then this binding applies to the current request. If the condition evaluates to `false`, then this binding does not apply to the current request. However, a different role binding might grant the same role to one or more of the principals in this binding. To learn which resources support conditions in their IAM policies, see the [IAM documentation](https://cloud.google.com/iam/help/conditions/resource-policies)." }, "members": { - "description": "Specifies the principals requesting access for a Google Cloud resource. `members` can have the following values: * `allUsers`: A special identifier that represents anyone who is on the internet; with or without a Google account. * `allAuthenticatedUsers`: A special identifier that represents anyone who is authenticated with a Google account or a service account. * `user:{emailid}`: An email address that represents a specific Google account. For example, `alice@example.com` . * `serviceAccount:{emailid}`: An email address that represents a service account. For example, `my-other-app@appspot.gserviceaccount.com`. * `group:{emailid}`: An email address that represents a Google group. For example, `admins@example.com`. * `deleted:user:{emailid}?uid={uniqueid}`: An email address (plus unique identifier) representing a user that has been recently deleted. For example, `alice@example.com?uid=123456789012345678901`. If the user is recovered, this value reverts to `user:{emailid}` and the recovered user retains the role in the binding. * `deleted:serviceAccount:{emailid}?uid={uniqueid}`: An email address (plus unique identifier) representing a service account that has been recently deleted. For example, `my-other-app@appspot.gserviceaccount.com?uid=123456789012345678901`. If the service account is undeleted, this value reverts to `serviceAccount:{emailid}` and the undeleted service account retains the role in the binding. * `deleted:group:{emailid}?uid={uniqueid}`: An email address (plus unique identifier) representing a Google group that has been recently deleted. For example, `admins@example.com?uid=123456789012345678901`. If the group is recovered, this value reverts to `group:{emailid}` and the recovered group retains the role in the binding. * `domain:{domain}`: The G Suite domain (primary) that represents all the users of that domain. For example, `google.com` or `example.com`. ", + "description": "Specifies the principals requesting access for a Google Cloud resource. `members` can have the following values: * `allUsers`: A special identifier that represents anyone who is on the internet; with or without a Google account. * `allAuthenticatedUsers`: A special identifier that represents anyone who is authenticated with a Google account or a service account. * `user:{emailid}`: An email address that represents a specific Google account. For example, `alice@example.com` . * `serviceAccount:{emailid}`: An email address that represents a Google service account. For example, `my-other-app@appspot.gserviceaccount.com`. * `serviceAccount:{projectid}.svc.id.goog[{namespace}/{kubernetes-sa}]`: An identifier for a [Kubernetes service account](https://cloud.google.com/kubernetes-engine/docs/how-to/kubernetes-service-accounts). For example, `my-project.svc.id.goog[my-namespace/my-kubernetes-sa]`. * `group:{emailid}`: An email address that represents a Google group. For example, `admins@example.com`. * `deleted:user:{emailid}?uid={uniqueid}`: An email address (plus unique identifier) representing a user that has been recently deleted. For example, `alice@example.com?uid=123456789012345678901`. If the user is recovered, this value reverts to `user:{emailid}` and the recovered user retains the role in the binding. * `deleted:serviceAccount:{emailid}?uid={uniqueid}`: An email address (plus unique identifier) representing a service account that has been recently deleted. For example, `my-other-app@appspot.gserviceaccount.com?uid=123456789012345678901`. If the service account is undeleted, this value reverts to `serviceAccount:{emailid}` and the undeleted service account retains the role in the binding. * `deleted:group:{emailid}?uid={uniqueid}`: An email address (plus unique identifier) representing a Google group that has been recently deleted. For example, `admins@example.com?uid=123456789012345678901`. If the group is recovered, this value reverts to `group:{emailid}` and the recovered group retains the role in the binding. * `domain:{domain}`: The G Suite domain (primary) that represents all the users of that domain. For example, `google.com` or `example.com`. ", "items": { "type": "string" }, diff --git a/googleapiclient/discovery_cache/documents/cloudtasks.v2beta2.json b/googleapiclient/discovery_cache/documents/cloudtasks.v2beta2.json index c32626f3644..9019bbca8c7 100644 --- a/googleapiclient/discovery_cache/documents/cloudtasks.v2beta2.json +++ b/googleapiclient/discovery_cache/documents/cloudtasks.v2beta2.json @@ -837,7 +837,7 @@ } } }, - "revision": "20220726", + "revision": "20220808", "rootUrl": "https://cloudtasks.googleapis.com/", "schemas": { "AcknowledgeTaskRequest": { @@ -972,7 +972,7 @@ "description": "The condition that is associated with this binding. If the condition evaluates to `true`, then this binding applies to the current request. If the condition evaluates to `false`, then this binding does not apply to the current request. However, a different role binding might grant the same role to one or more of the principals in this binding. To learn which resources support conditions in their IAM policies, see the [IAM documentation](https://cloud.google.com/iam/help/conditions/resource-policies)." }, "members": { - "description": "Specifies the principals requesting access for a Google Cloud resource. `members` can have the following values: * `allUsers`: A special identifier that represents anyone who is on the internet; with or without a Google account. * `allAuthenticatedUsers`: A special identifier that represents anyone who is authenticated with a Google account or a service account. * `user:{emailid}`: An email address that represents a specific Google account. For example, `alice@example.com` . * `serviceAccount:{emailid}`: An email address that represents a service account. For example, `my-other-app@appspot.gserviceaccount.com`. * `group:{emailid}`: An email address that represents a Google group. For example, `admins@example.com`. * `deleted:user:{emailid}?uid={uniqueid}`: An email address (plus unique identifier) representing a user that has been recently deleted. For example, `alice@example.com?uid=123456789012345678901`. If the user is recovered, this value reverts to `user:{emailid}` and the recovered user retains the role in the binding. * `deleted:serviceAccount:{emailid}?uid={uniqueid}`: An email address (plus unique identifier) representing a service account that has been recently deleted. For example, `my-other-app@appspot.gserviceaccount.com?uid=123456789012345678901`. If the service account is undeleted, this value reverts to `serviceAccount:{emailid}` and the undeleted service account retains the role in the binding. * `deleted:group:{emailid}?uid={uniqueid}`: An email address (plus unique identifier) representing a Google group that has been recently deleted. For example, `admins@example.com?uid=123456789012345678901`. If the group is recovered, this value reverts to `group:{emailid}` and the recovered group retains the role in the binding. * `domain:{domain}`: The G Suite domain (primary) that represents all the users of that domain. For example, `google.com` or `example.com`. ", + "description": "Specifies the principals requesting access for a Google Cloud resource. `members` can have the following values: * `allUsers`: A special identifier that represents anyone who is on the internet; with or without a Google account. * `allAuthenticatedUsers`: A special identifier that represents anyone who is authenticated with a Google account or a service account. * `user:{emailid}`: An email address that represents a specific Google account. For example, `alice@example.com` . * `serviceAccount:{emailid}`: An email address that represents a Google service account. For example, `my-other-app@appspot.gserviceaccount.com`. * `serviceAccount:{projectid}.svc.id.goog[{namespace}/{kubernetes-sa}]`: An identifier for a [Kubernetes service account](https://cloud.google.com/kubernetes-engine/docs/how-to/kubernetes-service-accounts). For example, `my-project.svc.id.goog[my-namespace/my-kubernetes-sa]`. * `group:{emailid}`: An email address that represents a Google group. For example, `admins@example.com`. * `deleted:user:{emailid}?uid={uniqueid}`: An email address (plus unique identifier) representing a user that has been recently deleted. For example, `alice@example.com?uid=123456789012345678901`. If the user is recovered, this value reverts to `user:{emailid}` and the recovered user retains the role in the binding. * `deleted:serviceAccount:{emailid}?uid={uniqueid}`: An email address (plus unique identifier) representing a service account that has been recently deleted. For example, `my-other-app@appspot.gserviceaccount.com?uid=123456789012345678901`. If the service account is undeleted, this value reverts to `serviceAccount:{emailid}` and the undeleted service account retains the role in the binding. * `deleted:group:{emailid}?uid={uniqueid}`: An email address (plus unique identifier) representing a Google group that has been recently deleted. For example, `admins@example.com?uid=123456789012345678901`. If the group is recovered, this value reverts to `group:{emailid}` and the recovered group retains the role in the binding. * `domain:{domain}`: The G Suite domain (primary) that represents all the users of that domain. For example, `google.com` or `example.com`. ", "items": { "type": "string" }, diff --git a/googleapiclient/discovery_cache/documents/cloudtasks.v2beta3.json b/googleapiclient/discovery_cache/documents/cloudtasks.v2beta3.json index 5fdf04c89c6..5bd89eb8174 100644 --- a/googleapiclient/discovery_cache/documents/cloudtasks.v2beta3.json +++ b/googleapiclient/discovery_cache/documents/cloudtasks.v2beta3.json @@ -697,7 +697,7 @@ } } }, - "revision": "20220726", + "revision": "20220808", "rootUrl": "https://cloudtasks.googleapis.com/", "schemas": { "AppEngineHttpQueue": { @@ -820,7 +820,7 @@ "description": "The condition that is associated with this binding. If the condition evaluates to `true`, then this binding applies to the current request. If the condition evaluates to `false`, then this binding does not apply to the current request. However, a different role binding might grant the same role to one or more of the principals in this binding. To learn which resources support conditions in their IAM policies, see the [IAM documentation](https://cloud.google.com/iam/help/conditions/resource-policies)." }, "members": { - "description": "Specifies the principals requesting access for a Google Cloud resource. `members` can have the following values: * `allUsers`: A special identifier that represents anyone who is on the internet; with or without a Google account. * `allAuthenticatedUsers`: A special identifier that represents anyone who is authenticated with a Google account or a service account. * `user:{emailid}`: An email address that represents a specific Google account. For example, `alice@example.com` . * `serviceAccount:{emailid}`: An email address that represents a service account. For example, `my-other-app@appspot.gserviceaccount.com`. * `group:{emailid}`: An email address that represents a Google group. For example, `admins@example.com`. * `deleted:user:{emailid}?uid={uniqueid}`: An email address (plus unique identifier) representing a user that has been recently deleted. For example, `alice@example.com?uid=123456789012345678901`. If the user is recovered, this value reverts to `user:{emailid}` and the recovered user retains the role in the binding. * `deleted:serviceAccount:{emailid}?uid={uniqueid}`: An email address (plus unique identifier) representing a service account that has been recently deleted. For example, `my-other-app@appspot.gserviceaccount.com?uid=123456789012345678901`. If the service account is undeleted, this value reverts to `serviceAccount:{emailid}` and the undeleted service account retains the role in the binding. * `deleted:group:{emailid}?uid={uniqueid}`: An email address (plus unique identifier) representing a Google group that has been recently deleted. For example, `admins@example.com?uid=123456789012345678901`. If the group is recovered, this value reverts to `group:{emailid}` and the recovered group retains the role in the binding. * `domain:{domain}`: The G Suite domain (primary) that represents all the users of that domain. For example, `google.com` or `example.com`. ", + "description": "Specifies the principals requesting access for a Google Cloud resource. `members` can have the following values: * `allUsers`: A special identifier that represents anyone who is on the internet; with or without a Google account. * `allAuthenticatedUsers`: A special identifier that represents anyone who is authenticated with a Google account or a service account. * `user:{emailid}`: An email address that represents a specific Google account. For example, `alice@example.com` . * `serviceAccount:{emailid}`: An email address that represents a Google service account. For example, `my-other-app@appspot.gserviceaccount.com`. * `serviceAccount:{projectid}.svc.id.goog[{namespace}/{kubernetes-sa}]`: An identifier for a [Kubernetes service account](https://cloud.google.com/kubernetes-engine/docs/how-to/kubernetes-service-accounts). For example, `my-project.svc.id.goog[my-namespace/my-kubernetes-sa]`. * `group:{emailid}`: An email address that represents a Google group. For example, `admins@example.com`. * `deleted:user:{emailid}?uid={uniqueid}`: An email address (plus unique identifier) representing a user that has been recently deleted. For example, `alice@example.com?uid=123456789012345678901`. If the user is recovered, this value reverts to `user:{emailid}` and the recovered user retains the role in the binding. * `deleted:serviceAccount:{emailid}?uid={uniqueid}`: An email address (plus unique identifier) representing a service account that has been recently deleted. For example, `my-other-app@appspot.gserviceaccount.com?uid=123456789012345678901`. If the service account is undeleted, this value reverts to `serviceAccount:{emailid}` and the undeleted service account retains the role in the binding. * `deleted:group:{emailid}?uid={uniqueid}`: An email address (plus unique identifier) representing a Google group that has been recently deleted. For example, `admins@example.com?uid=123456789012345678901`. If the group is recovered, this value reverts to `group:{emailid}` and the recovered group retains the role in the binding. * `domain:{domain}`: The G Suite domain (primary) that represents all the users of that domain. For example, `google.com` or `example.com`. ", "items": { "type": "string" }, diff --git a/googleapiclient/discovery_cache/documents/cloudtrace.v1.json b/googleapiclient/discovery_cache/documents/cloudtrace.v1.json index 7c5e54082f2..f7b83a3b1d9 100644 --- a/googleapiclient/discovery_cache/documents/cloudtrace.v1.json +++ b/googleapiclient/discovery_cache/documents/cloudtrace.v1.json @@ -257,7 +257,7 @@ } } }, - "revision": "20220713", + "revision": "20220728", "rootUrl": "https://cloudtrace.googleapis.com/", "schemas": { "Empty": { diff --git a/googleapiclient/discovery_cache/documents/cloudtrace.v2.json b/googleapiclient/discovery_cache/documents/cloudtrace.v2.json index 8ccfa858282..82a34da7160 100644 --- a/googleapiclient/discovery_cache/documents/cloudtrace.v2.json +++ b/googleapiclient/discovery_cache/documents/cloudtrace.v2.json @@ -181,7 +181,7 @@ } } }, - "revision": "20220713", + "revision": "20220728", "rootUrl": "https://cloudtrace.googleapis.com/", "schemas": { "Annotation": { diff --git a/googleapiclient/discovery_cache/documents/cloudtrace.v2beta1.json b/googleapiclient/discovery_cache/documents/cloudtrace.v2beta1.json index 44ebe035a02..2e9afbc608e 100644 --- a/googleapiclient/discovery_cache/documents/cloudtrace.v2beta1.json +++ b/googleapiclient/discovery_cache/documents/cloudtrace.v2beta1.json @@ -273,7 +273,7 @@ } } }, - "revision": "20220713", + "revision": "20220728", "rootUrl": "https://cloudtrace.googleapis.com/", "schemas": { "Empty": { diff --git a/googleapiclient/discovery_cache/documents/composer.v1.json b/googleapiclient/discovery_cache/documents/composer.v1.json index 553b89c37ad..fc71e0fd77a 100644 --- a/googleapiclient/discovery_cache/documents/composer.v1.json +++ b/googleapiclient/discovery_cache/documents/composer.v1.json @@ -242,7 +242,7 @@ "type": "string" }, "updateMask": { - "description": "Required. A comma-separated list of paths, relative to `Environment`, of fields to update. For example, to set the version of scikit-learn to install in the environment to 0.19.0 and to remove an existing installation of numpy, the `updateMask` parameter would include the following two `paths` values: \"config.softwareConfig.pypiPackages.scikit-learn\" and \"config.softwareConfig.pypiPackages.numpy\". The included patch environment would specify the scikit-learn version as follows: { \"config\":{ \"softwareConfig\":{ \"pypiPackages\":{ \"scikit-learn\":\"==0.19.0\" } } } } Note that in the above example, any existing PyPI packages other than scikit-learn and numpy will be unaffected. Only one update type may be included in a single request's `updateMask`. For example, one cannot update both the PyPI packages and labels in the same request. However, it is possible to update multiple members of a map field simultaneously in the same request. For example, to set the labels \"label1\" and \"label2\" while clearing \"label3\" (assuming it already exists), one can provide the paths \"labels.label1\", \"labels.label2\", and \"labels.label3\" and populate the patch environment as follows: { \"labels\":{ \"label1\":\"new-label1-value\" \"label2\":\"new-label2-value\" } } Note that in the above example, any existing labels that are not included in the `updateMask` will be unaffected. It is also possible to replace an entire map field by providing the map field's path in the `updateMask`. The new value of the field will be that which is provided in the patch environment. For example, to delete all pre-existing user-specified PyPI packages and install botocore at version 1.7.14, the `updateMask` would contain the path \"config.softwareConfig.pypiPackages\", and the patch environment would be the following: { \"config\":{ \"softwareConfig\":{ \"pypiPackages\":{ \"botocore\":\"==1.7.14\" } } } } **Note:** Only the following fields can be updated: * `config.softwareConfig.pypiPackages` * Replace all custom custom PyPI packages. If a replacement package map is not included in `environment`, all custom PyPI packages are cleared. It is an error to provide both this mask and a mask specifying an individual package. * `config.softwareConfig.pypiPackages.`packagename * Update the custom PyPI package *packagename*, preserving other packages. To delete the package, include it in `updateMask`, and omit the mapping for it in `environment.config.softwareConfig.pypiPackages`. It is an error to provide both a mask of this form and the `config.softwareConfig.pypiPackages` mask. * `labels` * Replace all environment labels. If a replacement labels map is not included in `environment`, all labels are cleared. It is an error to provide both this mask and a mask specifying one or more individual labels. * `labels.`labelName * Set the label named *labelName*, while preserving other labels. To delete the label, include it in `updateMask` and omit its mapping in `environment.labels`. It is an error to provide both a mask of this form and the `labels` mask. * `config.nodeCount` * Horizontally scale the number of nodes in the environment. An integer greater than or equal to 3 must be provided in the `config.nodeCount` field. Supported for Cloud Composer environments in versions composer-1.*.*-airflow-*.*.*. * `config.webServerNetworkAccessControl` * Replace the environment's current `WebServerNetworkAccessControl`. * `config.softwareConfig.airflowConfigOverrides` * Replace all Apache Airflow config overrides. If a replacement config overrides map is not included in `environment`, all config overrides are cleared. It is an error to provide both this mask and a mask specifying one or more individual config overrides. * `config.softwareConfig.airflowConfigOverrides.`section-name * Override the Apache Airflow config property *name* in the section named *section*, preserving other properties. To delete the property override, include it in `updateMask` and omit its mapping in `environment.config.softwareConfig.airflowConfigOverrides`. It is an error to provide both a mask of this form and the `config.softwareConfig.airflowConfigOverrides` mask. * `config.softwareConfig.envVariables` * Replace all environment variables. If a replacement environment variable map is not included in `environment`, all custom environment variables are cleared. It is an error to provide both this mask and a mask specifying one or more individual environment variables. * `config.softwareConfig.schedulerCount` * Horizontally scale the number of schedulers in Airflow. A positive integer not greater than the number of nodes must be provided in the `config.softwareConfig.schedulerCount` field. Supported for Cloud Composer environments in versions composer-1.*.*-airflow-2.*.*. * `config.databaseConfig.machineType` * Cloud SQL machine type used by Airflow database. It has to be one of: db-n1-standard-2, db-n1-standard-4, db-n1-standard-8 or db-n1-standard-16. Supported for Cloud Composer environments in versions composer-1.*.*-airflow-*.*.*. * `config.webServerConfig.machineType` * Machine type on which Airflow web server is running. It has to be one of: composer-n1-webserver-2, composer-n1-webserver-4 or composer-n1-webserver-8. Supported for Cloud Composer environments in versions composer-1.*.*-airflow-*.*.*.", + "description": "Required. A comma-separated list of paths, relative to `Environment`, of fields to update. For example, to set the version of scikit-learn to install in the environment to 0.19.0 and to remove an existing installation of numpy, the `updateMask` parameter would include the following two `paths` values: \"config.softwareConfig.pypiPackages.scikit-learn\" and \"config.softwareConfig.pypiPackages.numpy\". The included patch environment would specify the scikit-learn version as follows: { \"config\":{ \"softwareConfig\":{ \"pypiPackages\":{ \"scikit-learn\":\"==0.19.0\" } } } } Note that in the above example, any existing PyPI packages other than scikit-learn and numpy will be unaffected. Only one update type may be included in a single request's `updateMask`. For example, one cannot update both the PyPI packages and labels in the same request. However, it is possible to update multiple members of a map field simultaneously in the same request. For example, to set the labels \"label1\" and \"label2\" while clearing \"label3\" (assuming it already exists), one can provide the paths \"labels.label1\", \"labels.label2\", and \"labels.label3\" and populate the patch environment as follows: { \"labels\":{ \"label1\":\"new-label1-value\" \"label2\":\"new-label2-value\" } } Note that in the above example, any existing labels that are not included in the `updateMask` will be unaffected. It is also possible to replace an entire map field by providing the map field's path in the `updateMask`. The new value of the field will be that which is provided in the patch environment. For example, to delete all pre-existing user-specified PyPI packages and install botocore at version 1.7.14, the `updateMask` would contain the path \"config.softwareConfig.pypiPackages\", and the patch environment would be the following: { \"config\":{ \"softwareConfig\":{ \"pypiPackages\":{ \"botocore\":\"==1.7.14\" } } } } **Note:** Only the following fields can be updated: * `config.softwareConfig.pypiPackages` * Replace all custom custom PyPI packages. If a replacement package map is not included in `environment`, all custom PyPI packages are cleared. It is an error to provide both this mask and a mask specifying an individual package. * `config.softwareConfig.pypiPackages.`packagename * Update the custom PyPI package *packagename*, preserving other packages. To delete the package, include it in `updateMask`, and omit the mapping for it in `environment.config.softwareConfig.pypiPackages`. It is an error to provide both a mask of this form and the `config.softwareConfig.pypiPackages` mask. * `labels` * Replace all environment labels. If a replacement labels map is not included in `environment`, all labels are cleared. It is an error to provide both this mask and a mask specifying one or more individual labels. * `labels.`labelName * Set the label named *labelName*, while preserving other labels. To delete the label, include it in `updateMask` and omit its mapping in `environment.labels`. It is an error to provide both a mask of this form and the `labels` mask. * `config.nodeCount` * Horizontally scale the number of nodes in the environment. An integer greater than or equal to 3 must be provided in the `config.nodeCount` field. Supported for Cloud Composer environments in versions composer-1.*.*-airflow-*.*.*. * `config.webServerNetworkAccessControl` * Replace the environment's current `WebServerNetworkAccessControl`. * `config.softwareConfig.airflowConfigOverrides` * Replace all Apache Airflow config overrides. If a replacement config overrides map is not included in `environment`, all config overrides are cleared. It is an error to provide both this mask and a mask specifying one or more individual config overrides. * `config.softwareConfig.airflowConfigOverrides.`section-name * Override the Apache Airflow config property *name* in the section named *section*, preserving other properties. To delete the property override, include it in `updateMask` and omit its mapping in `environment.config.softwareConfig.airflowConfigOverrides`. It is an error to provide both a mask of this form and the `config.softwareConfig.airflowConfigOverrides` mask. * `config.softwareConfig.envVariables` * Replace all environment variables. If a replacement environment variable map is not included in `environment`, all custom environment variables are cleared. * `config.softwareConfig.schedulerCount` * Horizontally scale the number of schedulers in Airflow. A positive integer not greater than the number of nodes must be provided in the `config.softwareConfig.schedulerCount` field. Supported for Cloud Composer environments in versions composer-1.*.*-airflow-2.*.*. * `config.databaseConfig.machineType` * Cloud SQL machine type used by Airflow database. It has to be one of: db-n1-standard-2, db-n1-standard-4, db-n1-standard-8 or db-n1-standard-16. Supported for Cloud Composer environments in versions composer-1.*.*-airflow-*.*.*. * `config.webServerConfig.machineType` * Machine type on which Airflow web server is running. It has to be one of: composer-n1-webserver-2, composer-n1-webserver-4 or composer-n1-webserver-8. Supported for Cloud Composer environments in versions composer-1.*.*-airflow-*.*.*.", "format": "google-fieldmask", "location": "query", "type": "string" @@ -406,7 +406,7 @@ } } }, - "revision": "20220716", + "revision": "20220727", "rootUrl": "https://composer.googleapis.com/", "schemas": { "AllowedIpRange": { diff --git a/googleapiclient/discovery_cache/documents/composer.v1beta1.json b/googleapiclient/discovery_cache/documents/composer.v1beta1.json index ddb31148018..330b3430a80 100644 --- a/googleapiclient/discovery_cache/documents/composer.v1beta1.json +++ b/googleapiclient/discovery_cache/documents/composer.v1beta1.json @@ -298,7 +298,7 @@ "type": "string" }, "updateMask": { - "description": "Required. A comma-separated list of paths, relative to `Environment`, of fields to update. For example, to set the version of scikit-learn to install in the environment to 0.19.0 and to remove an existing installation of argparse, the `updateMask` parameter would include the following two `paths` values: \"config.softwareConfig.pypiPackages.scikit-learn\" and \"config.softwareConfig.pypiPackages.argparse\". The included patch environment would specify the scikit-learn version as follows: { \"config\":{ \"softwareConfig\":{ \"pypiPackages\":{ \"scikit-learn\":\"==0.19.0\" } } } } Note that in the above example, any existing PyPI packages other than scikit-learn and argparse will be unaffected. Only one update type may be included in a single request's `updateMask`. For example, one cannot update both the PyPI packages and labels in the same request. However, it is possible to update multiple members of a map field simultaneously in the same request. For example, to set the labels \"label1\" and \"label2\" while clearing \"label3\" (assuming it already exists), one can provide the paths \"labels.label1\", \"labels.label2\", and \"labels.label3\" and populate the patch environment as follows: { \"labels\":{ \"label1\":\"new-label1-value\" \"label2\":\"new-label2-value\" } } Note that in the above example, any existing labels that are not included in the `updateMask` will be unaffected. It is also possible to replace an entire map field by providing the map field's path in the `updateMask`. The new value of the field will be that which is provided in the patch environment. For example, to delete all pre-existing user-specified PyPI packages and install botocore at version 1.7.14, the `updateMask` would contain the path \"config.softwareConfig.pypiPackages\", and the patch environment would be the following: { \"config\":{ \"softwareConfig\":{ \"pypiPackages\":{ \"botocore\":\"==1.7.14\" } } } } **Note:** Only the following fields can be updated: * `config.softwareConfig.pypiPackages` * Replace all custom custom PyPI packages. If a replacement package map is not included in `environment`, all custom PyPI packages are cleared. It is an error to provide both this mask and a mask specifying an individual package. * `config.softwareConfig.pypiPackages.`packagename * Update the custom PyPI package *packagename*, preserving other packages. To delete the package, include it in `updateMask`, and omit the mapping for it in `environment.config.softwareConfig.pypiPackages`. It is an error to provide both a mask of this form and the `config.softwareConfig.pypiPackages` mask. * `labels` * Replace all environment labels. If a replacement labels map is not included in `environment`, all labels are cleared. It is an error to provide both this mask and a mask specifying one or more individual labels. * `labels.`labelName * Set the label named *labelName*, while preserving other labels. To delete the label, include it in `updateMask` and omit its mapping in `environment.labels`. It is an error to provide both a mask of this form and the `labels` mask. * `config.nodeCount` * Horizontally scale the number of nodes in the environment. An integer greater than or equal to 3 must be provided in the `config.nodeCount` field. Supported for Cloud Composer environments in versions composer-1.*.*-airflow-*.*.*. * `config.webServerNetworkAccessControl` * Replace the environment's current WebServerNetworkAccessControl. * `config.softwareConfig.airflowConfigOverrides` * Replace all Apache Airflow config overrides. If a replacement config overrides map is not included in `environment`, all config overrides are cleared. It is an error to provide both this mask and a mask specifying one or more individual config overrides. * `config.softwareConfig.airflowConfigOverrides.`section-name * Override the Apache Airflow config property *name* in the section named *section*, preserving other properties. To delete the property override, include it in `updateMask` and omit its mapping in `environment.config.softwareConfig.airflowConfigOverrides`. It is an error to provide both a mask of this form and the `config.softwareConfig.airflowConfigOverrides` mask. * `config.softwareConfig.envVariables` * Replace all environment variables. If a replacement environment variable map is not included in `environment`, all custom environment variables are cleared. It is an error to provide both this mask and a mask specifying one or more individual environment variables. * `config.softwareConfig.imageVersion` * Upgrade the version of the environment in-place. Refer to `SoftwareConfig.image_version` for information on how to format the new image version. Additionally, the new image version cannot effect a version downgrade, and must match the current image version's Composer and Airflow major versions. Consult the [Cloud Composer version list](/composer/docs/concepts/versioning/composer-versions) for valid values. * `config.softwareConfig.schedulerCount` * Horizontally scale the number of schedulers in Airflow. A positive integer not greater than the number of nodes must be provided in the `config.softwareConfig.schedulerCount` field. Supported for Cloud Composer environments in versions composer-1.*.*-airflow-2.*.*. * `config.softwareConfig.cloudDataLineageIntegration` * Configuration for Cloud Data Lineage integration. * `config.databaseConfig.machineType` * Cloud SQL machine type used by Airflow database. It has to be one of: db-n1-standard-2, db-n1-standard-4, db-n1-standard-8 or db-n1-standard-16. Supported for Cloud Composer environments in versions composer-1.*.*-airflow-*.*.*. * `config.webServerConfig.machineType` * Machine type on which Airflow web server is running. It has to be one of: composer-n1-webserver-2, composer-n1-webserver-4 or composer-n1-webserver-8. Supported for Cloud Composer environments in versions composer-1.*.*-airflow-*.*.*. * `config.maintenanceWindow` * Maintenance window during which Cloud Composer components may be under maintenance. * `config.workloadsConfig` * The workloads configuration settings for the GKE cluster associated with the Cloud Composer environment. Supported for Cloud Composer environments in versions composer-2.*.*-airflow-*.*.* and newer. * `config.environmentSize` * The size of the Cloud Composer environment. Supported for Cloud Composer environments in versions composer-2.*.*-airflow-*.*.* and newer.", + "description": "Required. A comma-separated list of paths, relative to `Environment`, of fields to update. For example, to set the version of scikit-learn to install in the environment to 0.19.0 and to remove an existing installation of argparse, the `updateMask` parameter would include the following two `paths` values: \"config.softwareConfig.pypiPackages.scikit-learn\" and \"config.softwareConfig.pypiPackages.argparse\". The included patch environment would specify the scikit-learn version as follows: { \"config\":{ \"softwareConfig\":{ \"pypiPackages\":{ \"scikit-learn\":\"==0.19.0\" } } } } Note that in the above example, any existing PyPI packages other than scikit-learn and argparse will be unaffected. Only one update type may be included in a single request's `updateMask`. For example, one cannot update both the PyPI packages and labels in the same request. However, it is possible to update multiple members of a map field simultaneously in the same request. For example, to set the labels \"label1\" and \"label2\" while clearing \"label3\" (assuming it already exists), one can provide the paths \"labels.label1\", \"labels.label2\", and \"labels.label3\" and populate the patch environment as follows: { \"labels\":{ \"label1\":\"new-label1-value\" \"label2\":\"new-label2-value\" } } Note that in the above example, any existing labels that are not included in the `updateMask` will be unaffected. It is also possible to replace an entire map field by providing the map field's path in the `updateMask`. The new value of the field will be that which is provided in the patch environment. For example, to delete all pre-existing user-specified PyPI packages and install botocore at version 1.7.14, the `updateMask` would contain the path \"config.softwareConfig.pypiPackages\", and the patch environment would be the following: { \"config\":{ \"softwareConfig\":{ \"pypiPackages\":{ \"botocore\":\"==1.7.14\" } } } } **Note:** Only the following fields can be updated: * `config.softwareConfig.pypiPackages` * Replace all custom custom PyPI packages. If a replacement package map is not included in `environment`, all custom PyPI packages are cleared. It is an error to provide both this mask and a mask specifying an individual package. * `config.softwareConfig.pypiPackages.`packagename * Update the custom PyPI package *packagename*, preserving other packages. To delete the package, include it in `updateMask`, and omit the mapping for it in `environment.config.softwareConfig.pypiPackages`. It is an error to provide both a mask of this form and the `config.softwareConfig.pypiPackages` mask. * `labels` * Replace all environment labels. If a replacement labels map is not included in `environment`, all labels are cleared. It is an error to provide both this mask and a mask specifying one or more individual labels. * `labels.`labelName * Set the label named *labelName*, while preserving other labels. To delete the label, include it in `updateMask` and omit its mapping in `environment.labels`. It is an error to provide both a mask of this form and the `labels` mask. * `config.nodeCount` * Horizontally scale the number of nodes in the environment. An integer greater than or equal to 3 must be provided in the `config.nodeCount` field. Supported for Cloud Composer environments in versions composer-1.*.*-airflow-*.*.*. * `config.webServerNetworkAccessControl` * Replace the environment's current WebServerNetworkAccessControl. * `config.softwareConfig.airflowConfigOverrides` * Replace all Apache Airflow config overrides. If a replacement config overrides map is not included in `environment`, all config overrides are cleared. It is an error to provide both this mask and a mask specifying one or more individual config overrides. * `config.softwareConfig.airflowConfigOverrides.`section-name * Override the Apache Airflow config property *name* in the section named *section*, preserving other properties. To delete the property override, include it in `updateMask` and omit its mapping in `environment.config.softwareConfig.airflowConfigOverrides`. It is an error to provide both a mask of this form and the `config.softwareConfig.airflowConfigOverrides` mask. * `config.softwareConfig.envVariables` * Replace all environment variables. If a replacement environment variable map is not included in `environment`, all custom environment variables are cleared. * `config.softwareConfig.imageVersion` * Upgrade the version of the environment in-place. Refer to `SoftwareConfig.image_version` for information on how to format the new image version. Additionally, the new image version cannot effect a version downgrade, and must match the current image version's Composer and Airflow major versions. Consult the [Cloud Composer version list](/composer/docs/concepts/versioning/composer-versions) for valid values. * `config.softwareConfig.schedulerCount` * Horizontally scale the number of schedulers in Airflow. A positive integer not greater than the number of nodes must be provided in the `config.softwareConfig.schedulerCount` field. Supported for Cloud Composer environments in versions composer-1.*.*-airflow-2.*.*. * `config.softwareConfig.cloudDataLineageIntegration` * Configuration for Cloud Data Lineage integration. * `config.databaseConfig.machineType` * Cloud SQL machine type used by Airflow database. It has to be one of: db-n1-standard-2, db-n1-standard-4, db-n1-standard-8 or db-n1-standard-16. Supported for Cloud Composer environments in versions composer-1.*.*-airflow-*.*.*. * `config.webServerConfig.machineType` * Machine type on which Airflow web server is running. It has to be one of: composer-n1-webserver-2, composer-n1-webserver-4 or composer-n1-webserver-8. Supported for Cloud Composer environments in versions composer-1.*.*-airflow-*.*.*. * `config.maintenanceWindow` * Maintenance window during which Cloud Composer components may be under maintenance. * `config.workloadsConfig` * The workloads configuration settings for the GKE cluster associated with the Cloud Composer environment. Supported for Cloud Composer environments in versions composer-2.*.*-airflow-*.*.* and newer. * `config.environmentSize` * The size of the Cloud Composer environment. Supported for Cloud Composer environments in versions composer-2.*.*-airflow-*.*.* and newer.", "format": "google-fieldmask", "location": "query", "type": "string" @@ -518,7 +518,7 @@ } } }, - "revision": "20220716", + "revision": "20220727", "rootUrl": "https://composer.googleapis.com/", "schemas": { "AllowedIpRange": { diff --git a/googleapiclient/discovery_cache/documents/compute.alpha.json b/googleapiclient/discovery_cache/documents/compute.alpha.json index b1e5f572512..7437d372e24 100644 --- a/googleapiclient/discovery_cache/documents/compute.alpha.json +++ b/googleapiclient/discovery_cache/documents/compute.alpha.json @@ -39597,7 +39597,7 @@ } } }, - "revision": "20220714", + "revision": "20220726", "rootUrl": "https://compute.googleapis.com/", "schemas": { "AcceleratorConfig": { @@ -40665,6 +40665,28 @@ }, "type": "object" }, + "AllocationResourceStatus": { + "description": "[Output Only] Contains output only fields.", + "id": "AllocationResourceStatus", + "properties": { + "specificSkuAllocation": { + "$ref": "AllocationResourceStatusSpecificSKUAllocation", + "description": "Allocation Properties of this reservation." + } + }, + "type": "object" + }, + "AllocationResourceStatusSpecificSKUAllocation": { + "description": "Contains Properties set for the reservation.", + "id": "AllocationResourceStatusSpecificSKUAllocation", + "properties": { + "sourceInstanceTemplateId": { + "description": "ID of the instance template used to populate reservation properties.", + "type": "string" + } + }, + "type": "object" + }, "AllocationSpecificSKUAllocationAllocatedInstancePropertiesReservedDisk": { "id": "AllocationSpecificSKUAllocationAllocatedInstancePropertiesReservedDisk", "properties": { @@ -40760,6 +40782,10 @@ "instanceProperties": { "$ref": "AllocationSpecificSKUAllocationReservedInstanceProperties", "description": "The instance properties for the reservation." + }, + "sourceInstanceTemplate": { + "description": "Specific URL of the instance template used in the reservation", + "type": "string" } }, "type": "object" @@ -47011,7 +47037,7 @@ "type": "integer" }, "securityProfileGroup": { - "description": "A fully-qualified URL of a SecurityProfile resource instance. Example: https://networksecurity.googleapis.com/v1/projects/{project}/locations/{location}/securityProfileGroups/my-security-profile-group Must be specified if action = 'apply_profile_group' and cannot be specified for other actions.", + "description": "A fully-qualified URL of a SecurityProfile resource instance. Example: https://networksecurity.googleapis.com/v1/projects/{project}/locations/{location}/securityProfileGroups/my-security-profile-group Must be specified if action = 'apply_security_profile_group' and cannot be specified for other actions.", "type": "string" }, "targetResources": { @@ -47842,6 +47868,20 @@ "description": "Name prefix for the reservations to be created at the time of delivery. The name prefix must comply with RFC1035. Maximum allowed length for name prefix is 20. Automatically created reservations name format will be -date-####.", "type": "string" }, + "planningStatus": { + "description": "Planning state before being submitted for evaluation", + "enum": [ + "DRAFT", + "PLANNING_STATUS_UNSPECIFIED", + "SUBMITTED" + ], + "enumDescriptions": [ + "Future Reservation is being drafted.", + "", + "Future Reservation has been submitted for evaluation by GCP." + ], + "type": "string" + }, "selfLink": { "description": "[Output Only] Server-defined fully-qualified URL for this resource.", "type": "string" @@ -47880,6 +47920,10 @@ "$ref": "AllocationSpecificSKUAllocationReservedInstanceProperties", "description": "Properties of the SKU instances being reserved." }, + "sourceInstanceTemplate": { + "description": "The instance template that will be used to populate the ReservedInstanceProperties of the future reservation", + "type": "string" + }, "totalCount": { "description": "Total number of instances for which capacity assurance is requested at a future time period.", "format": "int64", @@ -47915,6 +47959,7 @@ "CANCELLED", "COMMITTED", "DECLINED", + "DRAFTING", "FAILED", "FAILED_PARTIALLY_FULFILLED", "FULFILLED", @@ -47928,6 +47973,7 @@ "Future reservation is cancelled by the customer.", "Future reservation is committed by the customer.", "Future reservation is rejected by GCP.", + "Related status for PlanningStatus.Draft. Transitions to PENDING_APPROVAL upon user submitting FR.", "Future reservation failed. No additional reservations were provided.", "Future reservation is partially fulfilled. Additional reservations were provided but did not reach total_count reserved instance slots.", "Future reservation is fulfilled completely.", @@ -47937,6 +47983,20 @@ "Future reservation capacity is being provisioned. This state will be entered after start_time, while reservations are being created to provide total_count reserved instance slots. This state will not persist past start_time + 24h." ], "type": "string" + }, + "specificSkuProperties": { + "$ref": "FutureReservationStatusSpecificSKUProperties" + } + }, + "type": "object" + }, + "FutureReservationStatusSpecificSKUProperties": { + "description": "Properties to be set for the Future Reservation.", + "id": "FutureReservationStatusSpecificSKUProperties", + "properties": { + "sourceInstanceTemplateId": { + "description": "ID of the instance template used to populate the Future Reservation properties.", + "type": "string" } }, "type": "object" @@ -67795,6 +67855,10 @@ "description": "Resource policies to be added to this reservation. The key is defined by user, and the value is resource policy url. This is to define placement policy with reservation.", "type": "object" }, + "resourceStatus": { + "$ref": "AllocationResourceStatus", + "description": "[Output Only] Status information for Reservation resource." + }, "satisfiesPzs": { "description": "[Output Only] Reserved for future use.", "type": "boolean" @@ -71166,7 +71230,7 @@ "type": "object" }, "Scheduling": { - "description": "Sets the scheduling options for an Instance. NextID: 21", + "description": "Sets the scheduling options for an Instance.", "id": "Scheduling", "properties": { "automaticRestart": { @@ -71773,6 +71837,10 @@ "SecurityPolicyAdvancedOptionsConfig": { "id": "SecurityPolicyAdvancedOptionsConfig", "properties": { + "jsonCustomConfig": { + "$ref": "SecurityPolicyAdvancedOptionsConfigJsonCustomConfig", + "description": "Custom configuration to apply the JSON parsing. Only applicable when json_parsing is set to STANDARD." + }, "jsonParsing": { "enum": [ "DISABLED", @@ -71798,6 +71866,19 @@ }, "type": "object" }, + "SecurityPolicyAdvancedOptionsConfigJsonCustomConfig": { + "id": "SecurityPolicyAdvancedOptionsConfigJsonCustomConfig", + "properties": { + "contentTypes": { + "description": "A list of custom Content-Type header values to apply the JSON parsing. As per RFC 1341, a Content-Type header value has the following format: Content-Type := type \"/\" subtype *[\";\" parameter] When configuring a custom Content-Type header value, only the type/subtype needs to be specified, and the parameters should be excluded.", + "items": { + "type": "string" + }, + "type": "array" + } + }, + "type": "object" + }, "SecurityPolicyAssociation": { "id": "SecurityPolicyAssociation", "properties": { diff --git a/googleapiclient/discovery_cache/documents/compute.beta.json b/googleapiclient/discovery_cache/documents/compute.beta.json index bc1e19dcf69..390a4a4bfac 100644 --- a/googleapiclient/discovery_cache/documents/compute.beta.json +++ b/googleapiclient/discovery_cache/documents/compute.beta.json @@ -35452,7 +35452,7 @@ } } }, - "revision": "20220714", + "revision": "20220726", "rootUrl": "https://compute.googleapis.com/", "schemas": { "AcceleratorConfig": { @@ -36784,6 +36784,13 @@ "format": "int64", "type": "string" }, + "resourceManagerTags": { + "additionalProperties": { + "type": "string" + }, + "description": "Resource manager tags to be bound to the disk. Tag keys and values have the same definition as resource manager tags. Keys must be in the format `tagKeys/{tag_key_id}`, and values are in the format `tagValues/456`. The field is ignored (both PUT & PATCH) when empty.", + "type": "object" + }, "resourcePolicies": { "description": "Resource policies applied to this disk for automatic snapshot creations. Specified using the full or partial URL. For instance template, specify only the resource policy name.", "items": { @@ -40234,6 +40241,10 @@ "description": "Internal use only.", "type": "string" }, + "params": { + "$ref": "DiskParams", + "description": "Input only. [Input Only] Additional params passed with the request, but not persisted as part of resource payload." + }, "physicalBlockSizeBytes": { "description": "Physical block size of the persistent disk, in bytes. If not present in a request, a default value is used. The currently supported size is 4096, other sizes may be added in the future. If an unsupported value is requested, the error message will list the supported values for the caller's project.", "format": "int64", @@ -40668,6 +40679,20 @@ }, "type": "object" }, + "DiskParams": { + "description": "Additional disk params.", + "id": "DiskParams", + "properties": { + "resourceManagerTags": { + "additionalProperties": { + "type": "string" + }, + "description": "Resource manager tags to be bound to the disk. Tag keys and values have the same definition as resource manager tags. Keys must be in the format `tagKeys/{tag_key_id}`, and values are in the format `tagValues/456`. The field is ignored (both PUT & PATCH) when empty.", + "type": "object" + } + }, + "type": "object" + }, "DiskType": { "description": "Represents a Disk Type resource. Google Compute Engine has two Disk Type resources: * [Regional](/compute/docs/reference/rest/beta/regionDiskTypes) * [Zonal](/compute/docs/reference/rest/beta/diskTypes) You can choose from a variety of disk types based on your needs. For more information, read Storage options. The diskTypes resource represents disk types for a zonal persistent disk. For more information, read Zonal persistent disks. The regionDiskTypes resource represents disk types for a regional persistent disk. For more information, read Regional persistent disks.", "id": "DiskType", @@ -62279,7 +62304,7 @@ "type": "object" }, "Scheduling": { - "description": "Sets the scheduling options for an Instance. NextID: 21", + "description": "Sets the scheduling options for an Instance.", "id": "Scheduling", "properties": { "automaticRestart": { @@ -62843,6 +62868,10 @@ "SecurityPolicyAdvancedOptionsConfig": { "id": "SecurityPolicyAdvancedOptionsConfig", "properties": { + "jsonCustomConfig": { + "$ref": "SecurityPolicyAdvancedOptionsConfigJsonCustomConfig", + "description": "Custom configuration to apply the JSON parsing. Only applicable when json_parsing is set to STANDARD." + }, "jsonParsing": { "enum": [ "DISABLED", @@ -62868,6 +62897,19 @@ }, "type": "object" }, + "SecurityPolicyAdvancedOptionsConfigJsonCustomConfig": { + "id": "SecurityPolicyAdvancedOptionsConfigJsonCustomConfig", + "properties": { + "contentTypes": { + "description": "A list of custom Content-Type header values to apply the JSON parsing. As per RFC 1341, a Content-Type header value has the following format: Content-Type := type \"/\" subtype *[\";\" parameter] When configuring a custom Content-Type header value, only the type/subtype needs to be specified, and the parameters should be excluded.", + "items": { + "type": "string" + }, + "type": "array" + } + }, + "type": "object" + }, "SecurityPolicyAssociation": { "id": "SecurityPolicyAssociation", "properties": { diff --git a/googleapiclient/discovery_cache/documents/compute.v1.json b/googleapiclient/discovery_cache/documents/compute.v1.json index c7fcc60d275..287923eab34 100644 --- a/googleapiclient/discovery_cache/documents/compute.v1.json +++ b/googleapiclient/discovery_cache/documents/compute.v1.json @@ -31172,7 +31172,7 @@ } } }, - "revision": "20220714", + "revision": "20220726", "rootUrl": "https://compute.googleapis.com/", "schemas": { "AcceleratorConfig": { @@ -32450,6 +32450,13 @@ "format": "int64", "type": "string" }, + "resourceManagerTags": { + "additionalProperties": { + "type": "string" + }, + "description": "Resource manager tags to be bound to the disk. Tag keys and values have the same definition as resource manager tags. Keys must be in the format `tagKeys/{tag_key_id}`, and values are in the format `tagValues/456`. The field is ignored (both PUT & PATCH) when empty.", + "type": "object" + }, "resourcePolicies": { "description": "Resource policies applied to this disk for automatic snapshot creations. Specified using the full or partial URL. For instance template, specify only the resource policy name.", "items": { @@ -35817,6 +35824,10 @@ "description": "Internal use only.", "type": "string" }, + "params": { + "$ref": "DiskParams", + "description": "Input only. [Input Only] Additional params passed with the request, but not persisted as part of resource payload." + }, "physicalBlockSizeBytes": { "description": "Physical block size of the persistent disk, in bytes. If not present in a request, a default value is used. The currently supported size is 4096, other sizes may be added in the future. If an unsupported value is requested, the error message will list the supported values for the caller's project.", "format": "int64", @@ -36232,6 +36243,20 @@ }, "type": "object" }, + "DiskParams": { + "description": "Additional disk params.", + "id": "DiskParams", + "properties": { + "resourceManagerTags": { + "additionalProperties": { + "type": "string" + }, + "description": "Resource manager tags to be bound to the disk. Tag keys and values have the same definition as resource manager tags. Keys must be in the format `tagKeys/{tag_key_id}`, and values are in the format `tagValues/456`. The field is ignored (both PUT & PATCH) when empty.", + "type": "object" + } + }, + "type": "object" + }, "DiskType": { "description": "Represents a Disk Type resource. Google Compute Engine has two Disk Type resources: * [Regional](/compute/docs/reference/rest/v1/regionDiskTypes) * [Zonal](/compute/docs/reference/rest/v1/diskTypes) You can choose from a variety of disk types based on your needs. For more information, read Storage options. The diskTypes resource represents disk types for a zonal persistent disk. For more information, read Zonal persistent disks. The regionDiskTypes resource represents disk types for a regional persistent disk. For more information, read Regional persistent disks.", "id": "DiskType", @@ -57146,7 +57171,7 @@ "type": "object" }, "Scheduling": { - "description": "Sets the scheduling options for an Instance. NextID: 21", + "description": "Sets the scheduling options for an Instance.", "id": "Scheduling", "properties": { "automaticRestart": { @@ -57625,6 +57650,10 @@ "SecurityPolicyAdvancedOptionsConfig": { "id": "SecurityPolicyAdvancedOptionsConfig", "properties": { + "jsonCustomConfig": { + "$ref": "SecurityPolicyAdvancedOptionsConfigJsonCustomConfig", + "description": "Custom configuration to apply the JSON parsing. Only applicable when json_parsing is set to STANDARD." + }, "jsonParsing": { "enum": [ "DISABLED", @@ -57650,6 +57679,19 @@ }, "type": "object" }, + "SecurityPolicyAdvancedOptionsConfigJsonCustomConfig": { + "id": "SecurityPolicyAdvancedOptionsConfigJsonCustomConfig", + "properties": { + "contentTypes": { + "description": "A list of custom Content-Type header values to apply the JSON parsing. As per RFC 1341, a Content-Type header value has the following format: Content-Type := type \"/\" subtype *[\";\" parameter] When configuring a custom Content-Type header value, only the type/subtype needs to be specified, and the parameters should be excluded.", + "items": { + "type": "string" + }, + "type": "array" + } + }, + "type": "object" + }, "SecurityPolicyDdosProtectionConfig": { "id": "SecurityPolicyDdosProtectionConfig", "properties": { diff --git a/googleapiclient/discovery_cache/documents/connectors.v1.json b/googleapiclient/discovery_cache/documents/connectors.v1.json index 4227c95f36f..48db1d2d8ab 100644 --- a/googleapiclient/discovery_cache/documents/connectors.v1.json +++ b/googleapiclient/discovery_cache/documents/connectors.v1.json @@ -1055,7 +1055,7 @@ } } }, - "revision": "20220714", + "revision": "20220724", "rootUrl": "https://connectors.googleapis.com/", "schemas": { "AuditConfig": { @@ -1190,6 +1190,14 @@ "description": "This configuration captures the details required to render an authorization link for the OAuth Authorization Code Flow.", "id": "AuthorizationCodeLink", "properties": { + "clientId": { + "description": "The client ID assigned to the GCP Connectors OAuth app for the connector data source.", + "type": "string" + }, + "enablePkce": { + "description": "Whether to enable PKCE for the auth code flow.", + "type": "boolean" + }, "scopes": { "description": "The scopes for which the user will authorize GCP Connectors on the connector data source.", "items": { @@ -1295,6 +1303,20 @@ "$ref": "RoleGrant", "description": "Role grant configuration for the config variable." }, + "state": { + "description": "State of the config variable.", + "enum": [ + "STATE_UNSPECIFIED", + "ACTIVE", + "DEPRECATED" + ], + "enumDescriptions": [ + "Status is unspecified.", + "Config variable is active", + "Config variable is deprecated." + ], + "type": "string" + }, "validationRegex": { "description": "Regular expression in RE2 syntax used for validating the `value` of a `ConfigVariable`.", "type": "string" diff --git a/googleapiclient/discovery_cache/documents/contactcenterinsights.v1.json b/googleapiclient/discovery_cache/documents/contactcenterinsights.v1.json index ada776a8968..8a5d8046dfb 100644 --- a/googleapiclient/discovery_cache/documents/contactcenterinsights.v1.json +++ b/googleapiclient/discovery_cache/documents/contactcenterinsights.v1.json @@ -1275,7 +1275,7 @@ } } }, - "revision": "20220722", + "revision": "20220806", "rootUrl": "https://contactcenterinsights.googleapis.com/", "schemas": { "GoogleCloudContactcenterinsightsV1Analysis": { diff --git a/googleapiclient/discovery_cache/documents/container.v1.json b/googleapiclient/discovery_cache/documents/container.v1.json index 799fb2cc87c..a832ef2760c 100644 --- a/googleapiclient/discovery_cache/documents/container.v1.json +++ b/googleapiclient/discovery_cache/documents/container.v1.json @@ -2487,7 +2487,7 @@ } } }, - "revision": "20220712", + "revision": "20220726", "rootUrl": "https://container.googleapis.com/", "schemas": { "AcceleratorConfig": { diff --git a/googleapiclient/discovery_cache/documents/container.v1beta1.json b/googleapiclient/discovery_cache/documents/container.v1beta1.json index 89b48bccc86..aaf49aa27df 100644 --- a/googleapiclient/discovery_cache/documents/container.v1beta1.json +++ b/googleapiclient/discovery_cache/documents/container.v1beta1.json @@ -2512,7 +2512,7 @@ } } }, - "revision": "20220620", + "revision": "20220726", "rootUrl": "https://container.googleapis.com/", "schemas": { "AcceleratorConfig": { diff --git a/googleapiclient/discovery_cache/documents/containeranalysis.v1.json b/googleapiclient/discovery_cache/documents/containeranalysis.v1.json index 1624177d6fd..af15ee90ae6 100644 --- a/googleapiclient/discovery_cache/documents/containeranalysis.v1.json +++ b/googleapiclient/discovery_cache/documents/containeranalysis.v1.json @@ -755,7 +755,7 @@ } } }, - "revision": "20220714", + "revision": "20220721", "rootUrl": "https://containeranalysis.googleapis.com/", "schemas": { "AliasContext": { diff --git a/googleapiclient/discovery_cache/documents/containeranalysis.v1alpha1.json b/googleapiclient/discovery_cache/documents/containeranalysis.v1alpha1.json index ca9df4c4515..704fb2eeb1c 100644 --- a/googleapiclient/discovery_cache/documents/containeranalysis.v1alpha1.json +++ b/googleapiclient/discovery_cache/documents/containeranalysis.v1alpha1.json @@ -1229,7 +1229,7 @@ } } }, - "revision": "20220714", + "revision": "20220721", "rootUrl": "https://containeranalysis.googleapis.com/", "schemas": { "Artifact": { diff --git a/googleapiclient/discovery_cache/documents/containeranalysis.v1beta1.json b/googleapiclient/discovery_cache/documents/containeranalysis.v1beta1.json index 93691ee81e9..a27cec947c3 100644 --- a/googleapiclient/discovery_cache/documents/containeranalysis.v1beta1.json +++ b/googleapiclient/discovery_cache/documents/containeranalysis.v1beta1.json @@ -853,7 +853,7 @@ } } }, - "revision": "20220714", + "revision": "20220721", "rootUrl": "https://containeranalysis.googleapis.com/", "schemas": { "AliasContext": { diff --git a/googleapiclient/discovery_cache/documents/content.v2.1.json b/googleapiclient/discovery_cache/documents/content.v2.1.json index 3484e26fc9c..438c37820fc 100644 --- a/googleapiclient/discovery_cache/documents/content.v2.1.json +++ b/googleapiclient/discovery_cache/documents/content.v2.1.json @@ -5908,7 +5908,7 @@ } } }, - "revision": "20220713", + "revision": "20220728", "rootUrl": "https://shoppingcontent.googleapis.com/", "schemas": { "Account": { @@ -6749,7 +6749,7 @@ }, "errors": { "$ref": "Errors", - "description": "A list of errors defined if and only if the request failed." + "description": "A list of errors for failed custombatch entries. *Note:* Schema errors fail the whole request." }, "kind": { "description": "Identifies what kind of resource this is. Value: the fixed string \"`content#accountsCustomBatchResponseEntry`\"", @@ -6944,7 +6944,7 @@ }, "errors": { "$ref": "Errors", - "description": "A list of errors defined if and only if the request failed." + "description": "A list of errors for failed custombatch entries. *Note:* Schema errors fail the whole request." } }, "type": "object" @@ -7044,7 +7044,7 @@ }, "errors": { "$ref": "Errors", - "description": "A list of errors defined if and only if the request failed." + "description": "A list of errors for failed custombatch entries. *Note:* Schema errors fail the whole request." }, "kind": { "description": "Identifies what kind of resource this is. Value: the fixed string \"`content#accounttaxCustomBatchResponseEntry`\"", @@ -7903,7 +7903,7 @@ }, "errors": { "$ref": "Errors", - "description": "A list of errors defined if and only if the request failed." + "description": "A list of errors for failed custombatch entries. *Note:* Schema errors fail the whole request." } }, "type": "object" @@ -8017,7 +8017,7 @@ }, "errors": { "$ref": "Errors", - "description": "A list of errors defined if and only if the request failed." + "description": "A list of errors for failed custombatch entries. *Note:* Schema errors fail the whole request." } }, "type": "object" @@ -8065,36 +8065,36 @@ "type": "object" }, "DateTime": { - "description": "Represents civil time (or occasionally physical time). This type can represent a civil time in one of a few possible ways: * When utc_offset is set and time_zone is unset: a civil time on a calendar day with a particular offset from UTC. * When time_zone is set and utc_offset is unset: a civil time on a calendar day in a particular time zone. * When neither time_zone nor utc_offset is set: a civil time on a calendar day in local time. The date is relative to the Proleptic Gregorian Calendar. If year is 0, the DateTime is considered not to have a specific year. month and day must have valid, non-zero values. This type may also be used to represent a physical time if all the date and time fields are set and either case of the `time_offset` oneof is set. Consider using `Timestamp` message for physical time instead. If your use case also would like to store the user's timezone, that can be done in another field. This type is more flexible than some applications may want. Make sure to document and validate your application's limitations.", + "description": "Represents civil time (or occasionally physical time). This type can represent a civil time in one of a few possible ways: * When utc_offset is set and time_zone is unset: a civil time on a calendar day with a particular offset from UTC. * When time_zone is set and utc_offset is unset: a civil time on a calendar day in a particular time zone. * When neither time_zone nor utc_offset is set: a civil time on a calendar day in local time. The date is relative to the Proleptic Gregorian Calendar. If year, month, or day are 0, the DateTime is considered not to have a specific year, month, or day respectively. This type may also be used to represent a physical time if all the date and time fields are set and either case of the `time_offset` oneof is set. Consider using `Timestamp` message for physical time instead. If your use case also would like to store the user's timezone, that can be done in another field. This type is more flexible than some applications may want. Make sure to document and validate your application's limitations.", "id": "DateTime", "properties": { "day": { - "description": "Required. Day of month. Must be from 1 to 31 and valid for the year and month.", + "description": "Optional. Day of month. Must be from 1 to 31 and valid for the year and month, or 0 if specifying a datetime without a day.", "format": "int32", "type": "integer" }, "hours": { - "description": "Required. Hours of day in 24 hour format. Should be from 0 to 23. An API may choose to allow the value \"24:00:00\" for scenarios like business closing time.", + "description": "Optional. Hours of day in 24 hour format. Should be from 0 to 23, defaults to 0 (midnight). An API may choose to allow the value \"24:00:00\" for scenarios like business closing time.", "format": "int32", "type": "integer" }, "minutes": { - "description": "Required. Minutes of hour of day. Must be from 0 to 59.", + "description": "Optional. Minutes of hour of day. Must be from 0 to 59, defaults to 0.", "format": "int32", "type": "integer" }, "month": { - "description": "Required. Month of year. Must be from 1 to 12.", + "description": "Optional. Month of year. Must be from 1 to 12, or 0 if specifying a datetime without a month.", "format": "int32", "type": "integer" }, "nanos": { - "description": "Required. Fractions of seconds in nanoseconds. Must be from 0 to 999,999,999.", + "description": "Optional. Fractions of seconds in nanoseconds. Must be from 0 to 999,999,999, defaults to 0.", "format": "int32", "type": "integer" }, "seconds": { - "description": "Required. Seconds of minutes of the time. Must normally be from 0 to 59. An API may allow the value 60 if it allows leap-seconds.", + "description": "Optional. Seconds of minutes of the time. Must normally be from 0 to 59, defaults to 0. An API may allow the value 60 if it allows leap-seconds.", "format": "int32", "type": "integer" }, @@ -9302,7 +9302,7 @@ }, "errors": { "$ref": "Errors", - "description": "A list of errors defined if and only if the request failed." + "description": "A list of errors for failed custombatch entries. *Note:* Schema errors fail the whole request." }, "kind": { "description": "Identifies what kind of resource this is. Value: the fixed string \"`content#localinventoryCustomBatchResponseEntry`\"", @@ -13258,6 +13258,208 @@ }, "type": "object" }, + "ProductView": { + "description": "Product fields. Values are only set for fields requested explicitly in the request's search query.", + "id": "ProductView", + "properties": { + "aggregatedDestinationStatus": { + "description": "Aggregated destination status.", + "enum": [ + "AGGREGATED_STATUS_UNSPECIFIED", + "NOT_ELIGIBLE_OR_DISAPPROVED", + "PENDING", + "ELIGIBLE_LIMITED", + "ELIGIBLE" + ], + "enumDescriptions": [ + "Undefined aggregated status.", + "Offer isn't eligible, or is disapproved for all destinations.", + "Offer's status is pending in all destinations.", + "Offer is eligible for some (but not all) destinations.", + "Offer is eligible for all destinations." + ], + "type": "string" + }, + "availability": { + "description": "Availability of the product.", + "type": "string" + }, + "brand": { + "description": "Brand of the product.", + "type": "string" + }, + "channel": { + "description": "Channel of the product (online versus local).", + "enum": [ + "CHANNEL_UNSPECIFIED", + "LOCAL", + "ONLINE" + ], + "enumDescriptions": [ + "Indicates that the channel is unspecified.", + "Indicates that the channel is local.", + "Indicates that the channel is online." + ], + "type": "string" + }, + "condition": { + "description": "Condition of the product.", + "type": "string" + }, + "creationTime": { + "description": "The time the merchant created the product in timestamp seconds.", + "format": "google-datetime", + "type": "string" + }, + "currencyCode": { + "description": "Product price currency code (for example, ISO 4217). Absent if product price is not available.", + "type": "string" + }, + "expirationDate": { + "$ref": "Date", + "description": "Expiration date for the product. Specified on insertion." + }, + "gtin": { + "description": "GTIN of the product.", + "items": { + "type": "string" + }, + "type": "array" + }, + "id": { + "description": "The REST ID of the product, in the form of channel:contentLanguage:targetCountry:offerId. Content API methods that operate on products take this as their productId parameter. Should always be included in the SELECT clause.", + "type": "string" + }, + "itemGroupId": { + "description": "Item group ID provided by the merchant for grouping variants together.", + "type": "string" + }, + "itemIssues": { + "description": "List of item issues for the product.", + "items": { + "$ref": "ProductViewItemIssue" + }, + "type": "array" + }, + "languageCode": { + "description": "Language code of the product in BCP 47 format.", + "type": "string" + }, + "offerId": { + "description": "Merchant-provided id of the product.", + "type": "string" + }, + "priceMicros": { + "description": "Product price specified as micros in the product currency. Absent in case the information about the price of the product is not available.", + "format": "int64", + "type": "string" + }, + "shippingLabel": { + "description": "The normalized shipping label specified in the feed", + "type": "string" + }, + "title": { + "description": "Title of the product.", + "type": "string" + } + }, + "type": "object" + }, + "ProductViewItemIssue": { + "description": "Item issue associated with the product.", + "id": "ProductViewItemIssue", + "properties": { + "issueType": { + "$ref": "ProductViewItemIssueItemIssueType", + "description": "Item issue type." + }, + "resolution": { + "description": "Item issue resolution.", + "enum": [ + "UNKNOWN", + "MERCHANT_ACTION", + "PENDING_PROCESSING" + ], + "enumDescriptions": [ + "Unknown resolution type.", + "The merchant has to fix the issue.", + "The issue will be resolved automatically (for example, image crawl), or Google review. No merchant action is required now. Resolution might lead to another issue (for example, if crawl fails)." + ], + "type": "string" + }, + "severity": { + "$ref": "ProductViewItemIssueItemIssueSeverity", + "description": "Item issue severity." + } + }, + "type": "object" + }, + "ProductViewItemIssueIssueSeverityPerDestination": { + "description": "Issue severity for all affected regions in a destination.", + "id": "ProductViewItemIssueIssueSeverityPerDestination", + "properties": { + "demotedCountries": { + "description": "List of demoted countries in the destination.", + "items": { + "type": "string" + }, + "type": "array" + }, + "destination": { + "description": "Issue destination.", + "type": "string" + }, + "disapprovedCountries": { + "description": "List of disapproved countries in the destination.", + "items": { + "type": "string" + }, + "type": "array" + } + }, + "type": "object" + }, + "ProductViewItemIssueItemIssueSeverity": { + "description": "Severity of an issue per destination in a region, and aggregated severity.", + "id": "ProductViewItemIssueItemIssueSeverity", + "properties": { + "aggregatedSeverity": { + "description": "Severity of an issue aggregated for destination.", + "enum": [ + "AGGREGATED_ISSUE_SEVERITY_UNSPECIFIED", + "DISAPPROVED", + "DEMOTED", + "PENDING" + ], + "enumDescriptions": [ + "Undefined Issue severity.", + "Issue disapproves the product in at least one of the selected destinations.", + "Issue demotes the product in all selected destinations it affects.", + "Issue resolution is `PENDING_PROCESSING`." + ], + "type": "string" + }, + "severityPerDestination": { + "description": "Item issue severity for every destination.", + "items": { + "$ref": "ProductViewItemIssueIssueSeverityPerDestination" + }, + "type": "array" + } + }, + "type": "object" + }, + "ProductViewItemIssueItemIssueType": { + "description": "Type of the item issue.", + "id": "ProductViewItemIssueItemIssueType", + "properties": { + "canonicalAttribute": { + "description": "Canonical attribute name for attribute-specific issues.", + "type": "string" + } + }, + "type": "object" + }, "ProductWeight": { "id": "ProductWeight", "properties": { @@ -13353,7 +13555,7 @@ }, "errors": { "$ref": "Errors", - "description": "A list of errors defined if and only if the request failed." + "description": "A list of errors for failed custombatch entries. *Note:* Schema errors fail the whole request." }, "kind": { "description": "Identifies what kind of resource this is. Value: the fixed string \"`content#productsCustomBatchResponseEntry`\"", @@ -13463,7 +13665,7 @@ }, "errors": { "$ref": "Errors", - "description": "A list of errors, if the request failed." + "description": "A list of errors for failed custombatch entries. *Note:* Schema errors fail the whole request." }, "kind": { "description": "Identifies what kind of resource this is. Value: the fixed string \"`content#productstatusesCustomBatchResponseEntry`\"", @@ -14017,7 +14219,7 @@ }, "errors": { "$ref": "Errors", - "description": "A list of errors defined if and only if the request failed." + "description": "A list of errors for failed custombatch entries. *Note:* Schema errors fail the whole request." }, "kind": { "description": "Identifies what kind of resource this is. Value: the fixed string \"`content#regionalinventoryCustomBatchResponseEntry`\".", @@ -14038,6 +14240,10 @@ "$ref": "Metrics", "description": "Metrics requested by the merchant in the query. Metric values are only set for metrics requested explicitly in the query." }, + "productView": { + "$ref": "ProductView", + "description": "Product fields requested by the merchant in the query. Field values are only set if the merchant queries `ProductView`. `product_view` field is available only to allowlisted users who can query the `ProductView` table." + }, "segments": { "$ref": "Segments", "description": "Segmentation dimensions requested by the merchant in the query. Dimension values are only set for dimensions requested explicitly in the query." @@ -15689,7 +15895,7 @@ }, "errors": { "$ref": "Errors", - "description": "A list of errors defined if, and only if, the request failed." + "description": "A list of errors for failed custombatch entries. *Note:* Schema errors fail the whole request." }, "kind": { "description": "Identifies what kind of resource this is. Value: the fixed string \"`content#shippingsettingsCustomBatchResponseEntry`\"", diff --git a/googleapiclient/discovery_cache/documents/customsearch.v1.json b/googleapiclient/discovery_cache/documents/customsearch.v1.json index 25a0eddb13c..1fd355603a1 100644 --- a/googleapiclient/discovery_cache/documents/customsearch.v1.json +++ b/googleapiclient/discovery_cache/documents/customsearch.v1.json @@ -674,7 +674,7 @@ } } }, - "revision": "20220722", + "revision": "20220806", "rootUrl": "https://customsearch.googleapis.com/", "schemas": { "Promotion": { diff --git a/googleapiclient/discovery_cache/documents/datacatalog.v1.json b/googleapiclient/discovery_cache/documents/datacatalog.v1.json index f330d5e79ac..6e759c250d6 100644 --- a/googleapiclient/discovery_cache/documents/datacatalog.v1.json +++ b/googleapiclient/discovery_cache/documents/datacatalog.v1.json @@ -1953,7 +1953,7 @@ } } }, - "revision": "20220707", + "revision": "20220726", "rootUrl": "https://datacatalog.googleapis.com/", "schemas": { "Binding": { diff --git a/googleapiclient/discovery_cache/documents/datacatalog.v1beta1.json b/googleapiclient/discovery_cache/documents/datacatalog.v1beta1.json index 0e066943b20..87d7efa5a44 100644 --- a/googleapiclient/discovery_cache/documents/datacatalog.v1beta1.json +++ b/googleapiclient/discovery_cache/documents/datacatalog.v1beta1.json @@ -1808,7 +1808,7 @@ } } }, - "revision": "20220707", + "revision": "20220726", "rootUrl": "https://datacatalog.googleapis.com/", "schemas": { "Binding": { diff --git a/googleapiclient/discovery_cache/documents/dataflow.v1b3.json b/googleapiclient/discovery_cache/documents/dataflow.v1b3.json index 506b18ef98d..71ea5bcb804 100644 --- a/googleapiclient/discovery_cache/documents/dataflow.v1b3.json +++ b/googleapiclient/discovery_cache/documents/dataflow.v1b3.json @@ -2225,7 +2225,7 @@ } } }, - "revision": "20220706", + "revision": "20220726", "rootUrl": "https://dataflow.googleapis.com/", "schemas": { "ApproximateProgress": { @@ -5181,12 +5181,14 @@ "enum": [ "UNKNOWN", "JAVA", - "PYTHON" + "PYTHON", + "GO" ], "enumDescriptions": [ "UNKNOWN Language.", "Java.", - "Python." + "Python.", + "Go." ], "type": "string" }, diff --git a/googleapiclient/discovery_cache/documents/datamigration.v1.json b/googleapiclient/discovery_cache/documents/datamigration.v1.json index 7a0524a4344..626b9204ee2 100644 --- a/googleapiclient/discovery_cache/documents/datamigration.v1.json +++ b/googleapiclient/discovery_cache/documents/datamigration.v1.json @@ -1049,7 +1049,7 @@ } } }, - "revision": "20220707", + "revision": "20220731", "rootUrl": "https://datamigration.googleapis.com/", "schemas": { "AuditConfig": { diff --git a/googleapiclient/discovery_cache/documents/datamigration.v1beta1.json b/googleapiclient/discovery_cache/documents/datamigration.v1beta1.json index efe33df0a5b..d9589c209a4 100644 --- a/googleapiclient/discovery_cache/documents/datamigration.v1beta1.json +++ b/googleapiclient/discovery_cache/documents/datamigration.v1beta1.json @@ -1049,7 +1049,7 @@ } } }, - "revision": "20220707", + "revision": "20220731", "rootUrl": "https://datamigration.googleapis.com/", "schemas": { "AuditConfig": { diff --git a/googleapiclient/discovery_cache/documents/datapipelines.v1.json b/googleapiclient/discovery_cache/documents/datapipelines.v1.json index 671ea592d10..2b8a560d73d 100644 --- a/googleapiclient/discovery_cache/documents/datapipelines.v1.json +++ b/googleapiclient/discovery_cache/documents/datapipelines.v1.json @@ -371,7 +371,7 @@ } } }, - "revision": "20220708", + "revision": "20220722", "rootUrl": "https://datapipelines.googleapis.com/", "schemas": { "GoogleCloudDatapipelinesV1DataflowJobDetails": { diff --git a/googleapiclient/discovery_cache/documents/dataplex.v1.json b/googleapiclient/discovery_cache/documents/dataplex.v1.json index 9b95f5ae6ce..eebf26e595c 100644 --- a/googleapiclient/discovery_cache/documents/dataplex.v1.json +++ b/googleapiclient/discovery_cache/documents/dataplex.v1.json @@ -2764,7 +2764,7 @@ } } }, - "revision": "20220711", + "revision": "20220725", "rootUrl": "https://dataplex.googleapis.com/", "schemas": { "Empty": { @@ -4689,6 +4689,10 @@ "description": "These messages contain information about sessions within an environment. The monitored resource is 'Environment'.", "id": "GoogleCloudDataplexV1SessionEvent", "properties": { + "eventSucceeded": { + "description": "The status of the event.", + "type": "boolean" + }, "message": { "description": "The log message.", "type": "string" @@ -4707,19 +4711,30 @@ "EVENT_TYPE_UNSPECIFIED", "START", "STOP", - "QUERY" + "QUERY", + "CREATE" ], "enumDescriptions": [ "An unspecified event type.", - "Event for start of a session.", + "Event when the session is assigned to a user.", "Event for stop of a session.", - "Query events in the session." + "Query events in the session.", + "Event for creation of a cluster. It is not yet assigned to a user. This comes before START in the sequence" ], "type": "string" }, + "unassignedDuration": { + "description": "The idle duration of a warm pooled session before it is assigned to user.", + "format": "google-duration", + "type": "string" + }, "userId": { - "description": "The information about the user that created the session.", + "description": "The information about the user that created the session. It will be the email address of the user.", "type": "string" + }, + "warmPoolEnabled": { + "description": "If the session is a warm pooled session.", + "type": "boolean" } }, "type": "object" @@ -4972,7 +4987,7 @@ "type": "string" }, "project": { - "description": "Optional. The project in which jobs are run. By default, the project containing the Lake is used. If a project is provided, the executionspec.service_account must belong to this same project.", + "description": "Optional. The project in which jobs are run. By default, the project containing the Lake is used. If a project is provided, the ExecutionSpec.service_account must belong to this project.", "type": "string" }, "serviceAccount": { diff --git a/googleapiclient/discovery_cache/documents/dataproc.v1.json b/googleapiclient/discovery_cache/documents/dataproc.v1.json index c006a869d78..a7aecd039b2 100644 --- a/googleapiclient/discovery_cache/documents/dataproc.v1.json +++ b/googleapiclient/discovery_cache/documents/dataproc.v1.json @@ -2444,7 +2444,7 @@ } } }, - "revision": "20220718", + "revision": "20220726", "rootUrl": "https://dataproc.googleapis.com/", "schemas": { "AcceleratorConfig": { @@ -4889,6 +4889,11 @@ "description": "Optional. Specifying the cluster_uuid means the RPC will fail (with error NOT_FOUND) if a cluster with the specified UUID does not exist.", "type": "string" }, + "gracefulDecommissionTimeout": { + "description": "Optional. Timeout for graceful YARN decomissioning. Graceful decommissioning facilitates the removal of cluster nodes without interrupting jobs in progress. The timeout specifies the amount of time to wait for jobs finish before forcefully removing nodes. The default timeout is 0 for forceful decommissioning, and the maximum timeout period is 1 day. (see JSON Mapping\u2014Duration (https://developers.google.com/protocol-buffers/docs/proto3#json)).graceful_decommission_timeout is supported in Dataproc image versions 1.2+.", + "format": "google-duration", + "type": "string" + }, "nodePools": { "description": "Optional. Node pools and corresponding repair action to be taken. All node pools should be unique in this request. i.e. Multiple entries for the same node pool id are not allowed.", "items": { @@ -4896,6 +4901,10 @@ }, "type": "array" }, + "parentOperationId": { + "description": "Optional. operation id of the parent operation sending the repair request", + "type": "string" + }, "requestId": { "description": "Optional. A unique ID used to identify the request. If the server receives two RepairClusterRequests with the same ID, the second request is ignored, and the first google.longrunning.Operation created and stored in the backend is returned.Recommendation: Set this value to a UUID (https://en.wikipedia.org/wiki/Universally_unique_identifier).The ID must contain only letters (a-z, A-Z), numbers (0-9), underscores (_), and hyphens (-). The maximum length is 40 characters.", "type": "string" diff --git a/googleapiclient/discovery_cache/documents/datastream.v1.json b/googleapiclient/discovery_cache/documents/datastream.v1.json index 05552030d63..d594ae63e5f 100644 --- a/googleapiclient/discovery_cache/documents/datastream.v1.json +++ b/googleapiclient/discovery_cache/documents/datastream.v1.json @@ -1217,7 +1217,7 @@ } } }, - "revision": "20220711", + "revision": "20220726", "rootUrl": "https://datastream.googleapis.com/", "schemas": { "AvroFileFormat": { diff --git a/googleapiclient/discovery_cache/documents/datastream.v1alpha1.json b/googleapiclient/discovery_cache/documents/datastream.v1alpha1.json index ed5176737aa..6ed10338da0 100644 --- a/googleapiclient/discovery_cache/documents/datastream.v1alpha1.json +++ b/googleapiclient/discovery_cache/documents/datastream.v1alpha1.json @@ -1196,7 +1196,7 @@ } } }, - "revision": "20220711", + "revision": "20220726", "rootUrl": "https://datastream.googleapis.com/", "schemas": { "AvroFileFormat": { diff --git a/googleapiclient/discovery_cache/documents/deploymentmanager.alpha.json b/googleapiclient/discovery_cache/documents/deploymentmanager.alpha.json index 34ffcbf845c..6259ef2d5da 100644 --- a/googleapiclient/discovery_cache/documents/deploymentmanager.alpha.json +++ b/googleapiclient/discovery_cache/documents/deploymentmanager.alpha.json @@ -1588,7 +1588,7 @@ } } }, - "revision": "20220721", + "revision": "20220728", "rootUrl": "https://deploymentmanager.googleapis.com/", "schemas": { "AsyncOptions": { diff --git a/googleapiclient/discovery_cache/documents/deploymentmanager.v2.json b/googleapiclient/discovery_cache/documents/deploymentmanager.v2.json index 3971f4237f2..46a4fd468a9 100644 --- a/googleapiclient/discovery_cache/documents/deploymentmanager.v2.json +++ b/googleapiclient/discovery_cache/documents/deploymentmanager.v2.json @@ -988,7 +988,7 @@ } } }, - "revision": "20220721", + "revision": "20220728", "rootUrl": "https://deploymentmanager.googleapis.com/", "schemas": { "AuditConfig": { diff --git a/googleapiclient/discovery_cache/documents/deploymentmanager.v2beta.json b/googleapiclient/discovery_cache/documents/deploymentmanager.v2beta.json index 206e08120b0..bc400635038 100644 --- a/googleapiclient/discovery_cache/documents/deploymentmanager.v2beta.json +++ b/googleapiclient/discovery_cache/documents/deploymentmanager.v2beta.json @@ -1552,7 +1552,7 @@ } } }, - "revision": "20220721", + "revision": "20220728", "rootUrl": "https://deploymentmanager.googleapis.com/", "schemas": { "AsyncOptions": { diff --git a/googleapiclient/discovery_cache/documents/dialogflow.v2.json b/googleapiclient/discovery_cache/documents/dialogflow.v2.json index 3d59c1a1401..f90b3725979 100644 --- a/googleapiclient/discovery_cache/documents/dialogflow.v2.json +++ b/googleapiclient/discovery_cache/documents/dialogflow.v2.json @@ -8077,7 +8077,7 @@ } } }, - "revision": "20220722", + "revision": "20220729", "rootUrl": "https://dialogflow.googleapis.com/", "schemas": { "GoogleCloudDialogflowCxV3AudioInput": { diff --git a/googleapiclient/discovery_cache/documents/dialogflow.v2beta1.json b/googleapiclient/discovery_cache/documents/dialogflow.v2beta1.json index 94187c3fca2..983c0c6ee0a 100644 --- a/googleapiclient/discovery_cache/documents/dialogflow.v2beta1.json +++ b/googleapiclient/discovery_cache/documents/dialogflow.v2beta1.json @@ -7441,7 +7441,7 @@ } } }, - "revision": "20220722", + "revision": "20220729", "rootUrl": "https://dialogflow.googleapis.com/", "schemas": { "GoogleCloudDialogflowCxV3AudioInput": { diff --git a/googleapiclient/discovery_cache/documents/dialogflow.v3.json b/googleapiclient/discovery_cache/documents/dialogflow.v3.json index 88692be7209..22ed120281c 100644 --- a/googleapiclient/discovery_cache/documents/dialogflow.v3.json +++ b/googleapiclient/discovery_cache/documents/dialogflow.v3.json @@ -3820,7 +3820,7 @@ } } }, - "revision": "20220722", + "revision": "20220729", "rootUrl": "https://dialogflow.googleapis.com/", "schemas": { "GoogleCloudDialogflowCxV3AdvancedSettings": { diff --git a/googleapiclient/discovery_cache/documents/dialogflow.v3beta1.json b/googleapiclient/discovery_cache/documents/dialogflow.v3beta1.json index 0c1ce4b4357..cea0fd3061a 100644 --- a/googleapiclient/discovery_cache/documents/dialogflow.v3beta1.json +++ b/googleapiclient/discovery_cache/documents/dialogflow.v3beta1.json @@ -3820,7 +3820,7 @@ } } }, - "revision": "20220722", + "revision": "20220729", "rootUrl": "https://dialogflow.googleapis.com/", "schemas": { "GoogleCloudDialogflowCxV3AudioInput": { diff --git a/googleapiclient/discovery_cache/documents/digitalassetlinks.v1.json b/googleapiclient/discovery_cache/documents/digitalassetlinks.v1.json index 7101b9809ec..d813f7342ef 100644 --- a/googleapiclient/discovery_cache/documents/digitalassetlinks.v1.json +++ b/googleapiclient/discovery_cache/documents/digitalassetlinks.v1.json @@ -199,7 +199,7 @@ } } }, - "revision": "20220719", + "revision": "20220802", "rootUrl": "https://digitalassetlinks.googleapis.com/", "schemas": { "AndroidAppAsset": { diff --git a/googleapiclient/discovery_cache/documents/displayvideo.v1.json b/googleapiclient/discovery_cache/documents/displayvideo.v1.json index 634c8b859f7..9f558187b24 100644 --- a/googleapiclient/discovery_cache/documents/displayvideo.v1.json +++ b/googleapiclient/discovery_cache/documents/displayvideo.v1.json @@ -4883,7 +4883,7 @@ "type": "string" }, "filter": { - "description": "Allows filtering by custom bidding algorithm fields. Supported syntax: * Filter expressions are made up of one or more restrictions. * Restrictions can be combined by `AND`. A sequence of restrictions * implicitly uses `AND`. * A restriction has the form of `{field} {operator} {value}`. * The operator must be `CONTAINS (:)` or `EQUALS (=)`. * The operator must be `CONTAINS (:)` for the following field: - `displayName` * The operator must be `EQUALS (=)` for the following field: - `customBiddingAlgorithmType` - `customBiddingAlgorithmState` * For `displayName`, the value is a string. We return all custom bidding algorithms whose display_name contains such string. * For `customBiddingAlgorithmType`, the value is a string. We return all algorithms whose custom_bidding_algorithm_type is equal to the given type. * For `customBiddingAlgorithmState`, the value is a string. We return all algorithms whose custom_bidding_algorithm_state is equal to the given type. Examples: * All custom bidding algorithms for which the display name contains \"politics\": `displayName:politics`. * All custom bidding algorithms for which the type is \"SCRIPT_BASED\": `customBiddingAlgorithmType=SCRIPT_BASED` * All custom bidding algorithms for which the state is \"ENABLED\": `customBiddingAlgorithmState=ENABLED` The length of this field should be no more than 500 characters.", + "description": "Allows filtering by custom bidding algorithm fields. Supported syntax: * Filter expressions are made up of one or more restrictions. * Restrictions can be combined by `AND`. A sequence of restrictions * implicitly uses `AND`. * A restriction has the form of `{field} {operator} {value}`. * The operator must be `CONTAINS (:)` or `EQUALS (=)`. * The operator must be `CONTAINS (:)` for the following field: - `displayName` * The operator must be `EQUALS (=)` for the following field: - `customBiddingAlgorithmType` * For `displayName`, the value is a string. We return all custom bidding algorithms whose display_name contains such string. * For `customBiddingAlgorithmType`, the value is a string. We return all algorithms whose custom_bidding_algorithm_type is equal to the given type. Examples: * All custom bidding algorithms for which the display name contains \"politics\": `displayName:politics`. * All custom bidding algorithms for which the type is \"SCRIPT_BASED\": `customBiddingAlgorithmType=SCRIPT_BASED` The length of this field should be no more than 500 characters.", "location": "query", "type": "string" }, @@ -8146,7 +8146,7 @@ } } }, - "revision": "20220721", + "revision": "20220804", "rootUrl": "https://displayvideo.googleapis.com/", "schemas": { "ActivateManualTriggerRequest": { @@ -13437,13 +13437,13 @@ "LINE_ITEM_TYPE_VIDEO_OVER_THE_TOP" ], "enumDescriptions": [ - "Type value is not specified or is unknown in this version.", + "Type value is not specified or is unknown in this version. Line items of this type and their targeting cannot be created or updated using the API.", "Image, HTML5, native, or rich media ads.", "Display ads that drive installs of an app.", "Video ads sold on a CPM basis for a variety of environments.", "Video ads that drive installs of an app.", - "Display ads served on mobile app inventory.", - "Video ads served on mobile app inventory.", + "Display ads served on mobile app inventory. Line items of this type and their targeting cannot be created or updated using the API.", + "Video ads served on mobile app inventory. Line items of this type and their targeting cannot be created or updated using the API.", "RTB Audio ads sold for a variety of environments.", "Over-the-top ads present in OTT insertion orders. This type is only applicable to line items with an insertion order of insertion_order_type `OVER_THE_TOP`." ], @@ -15281,13 +15281,13 @@ "LINE_ITEM_TYPE_VIDEO_OVER_THE_TOP" ], "enumDescriptions": [ - "Type value is not specified or is unknown in this version.", + "Type value is not specified or is unknown in this version. Line items of this type and their targeting cannot be created or updated using the API.", "Image, HTML5, native, or rich media ads.", "Display ads that drive installs of an app.", "Video ads sold on a CPM basis for a variety of environments.", "Video ads that drive installs of an app.", - "Display ads served on mobile app inventory.", - "Video ads served on mobile app inventory.", + "Display ads served on mobile app inventory. Line items of this type and their targeting cannot be created or updated using the API.", + "Video ads served on mobile app inventory. Line items of this type and their targeting cannot be created or updated using the API.", "RTB Audio ads sold for a variety of environments.", "Over-the-top ads present in OTT insertion orders. This type is only applicable to line items with an insertion order of insertion_order_type `OVER_THE_TOP`." ], diff --git a/googleapiclient/discovery_cache/documents/dlp.v2.json b/googleapiclient/discovery_cache/documents/dlp.v2.json index c9e39c9712d..c6aaa0d5a1c 100644 --- a/googleapiclient/discovery_cache/documents/dlp.v2.json +++ b/googleapiclient/discovery_cache/documents/dlp.v2.json @@ -108,7 +108,7 @@ "infoTypes": { "methods": { "list": { - "description": "Returns a list of the sensitive information types that the DLP API supports. See https://cloud.google.com/dlp/docs/infotypes-reference to learn more.", + "description": "Returns a list of the sensitive information types that DLP API supports. See https://cloud.google.com/dlp/docs/infotypes-reference to learn more.", "flatPath": "v2/infoTypes", "httpMethod": "GET", "id": "dlp.infoTypes.list", @@ -150,7 +150,7 @@ "infoTypes": { "methods": { "list": { - "description": "Returns a list of the sensitive information types that the DLP API supports. See https://cloud.google.com/dlp/docs/infotypes-reference to learn more.", + "description": "Returns a list of the sensitive information types that DLP API supports. See https://cloud.google.com/dlp/docs/infotypes-reference to learn more.", "flatPath": "v2/locations/{locationsId}/infoTypes", "httpMethod": "GET", "id": "dlp.locations.infoTypes.list", @@ -198,7 +198,7 @@ "deidentifyTemplates": { "methods": { "create": { - "description": "Creates a DeidentifyTemplate for re-using frequently used configuration for de-identifying content, images, and storage. See https://cloud.google.com/dlp/docs/creating-templates-deid to learn more.", + "description": "Creates a DeidentifyTemplate for reusing frequently used configuration for de-identifying content, images, and storage. See https://cloud.google.com/dlp/docs/creating-templates-deid to learn more.", "flatPath": "v2/organizations/{organizationsId}/deidentifyTemplates", "httpMethod": "POST", "id": "dlp.organizations.deidentifyTemplates.create", @@ -290,12 +290,12 @@ "type": "string" }, "orderBy": { - "description": "Comma separated list of fields to order by, followed by `asc` or `desc` postfix. This list is case-insensitive, default sorting order is ascending, redundant space characters are insignificant. Example: `name asc,update_time, create_time desc` Supported fields are: - `create_time`: corresponds to time the template was created. - `update_time`: corresponds to time the template was last updated. - `name`: corresponds to template's name. - `display_name`: corresponds to template's display name.", + "description": "Comma separated list of fields to order by, followed by `asc` or `desc` postfix. This list is case-insensitive, default sorting order is ascending, redundant space characters are insignificant. Example: `name asc,update_time, create_time desc` Supported fields are: - `create_time`: corresponds to the time the template was created. - `update_time`: corresponds to the time the template was last updated. - `name`: corresponds to the template's name. - `display_name`: corresponds to the template's display name.", "location": "query", "type": "string" }, "pageSize": { - "description": "Size of the page, can be limited by server. If zero server returns a page of max size 100.", + "description": "Size of the page, can be limited by the server. If zero server returns a page of max size 100.", "format": "int32", "location": "query", "type": "integer" @@ -354,7 +354,7 @@ "inspectTemplates": { "methods": { "create": { - "description": "Creates an InspectTemplate for re-using frequently used configuration for inspecting content, images, and storage. See https://cloud.google.com/dlp/docs/creating-templates to learn more.", + "description": "Creates an InspectTemplate for reusing frequently used configuration for inspecting content, images, and storage. See https://cloud.google.com/dlp/docs/creating-templates to learn more.", "flatPath": "v2/organizations/{organizationsId}/inspectTemplates", "httpMethod": "POST", "id": "dlp.organizations.inspectTemplates.create", @@ -446,12 +446,12 @@ "type": "string" }, "orderBy": { - "description": "Comma separated list of fields to order by, followed by `asc` or `desc` postfix. This list is case-insensitive, default sorting order is ascending, redundant space characters are insignificant. Example: `name asc,update_time, create_time desc` Supported fields are: - `create_time`: corresponds to time the template was created. - `update_time`: corresponds to time the template was last updated. - `name`: corresponds to template's name. - `display_name`: corresponds to template's display name.", + "description": "Comma separated list of fields to order by, followed by `asc` or `desc` postfix. This list is case-insensitive, default sorting order is ascending, redundant space characters are insignificant. Example: `name asc,update_time, create_time desc` Supported fields are: - `create_time`: corresponds to the time the template was created. - `update_time`: corresponds to the time the template was last updated. - `name`: corresponds to the template's name. - `display_name`: corresponds to the template's display name.", "location": "query", "type": "string" }, "pageSize": { - "description": "Size of the page, can be limited by server. If zero server returns a page of max size 100.", + "description": "Size of the page, can be limited by the server. If zero server returns a page of max size 100.", "format": "int32", "location": "query", "type": "integer" @@ -512,7 +512,7 @@ "deidentifyTemplates": { "methods": { "create": { - "description": "Creates a DeidentifyTemplate for re-using frequently used configuration for de-identifying content, images, and storage. See https://cloud.google.com/dlp/docs/creating-templates-deid to learn more.", + "description": "Creates a DeidentifyTemplate for reusing frequently used configuration for de-identifying content, images, and storage. See https://cloud.google.com/dlp/docs/creating-templates-deid to learn more.", "flatPath": "v2/organizations/{organizationsId}/locations/{locationsId}/deidentifyTemplates", "httpMethod": "POST", "id": "dlp.organizations.locations.deidentifyTemplates.create", @@ -604,12 +604,12 @@ "type": "string" }, "orderBy": { - "description": "Comma separated list of fields to order by, followed by `asc` or `desc` postfix. This list is case-insensitive, default sorting order is ascending, redundant space characters are insignificant. Example: `name asc,update_time, create_time desc` Supported fields are: - `create_time`: corresponds to time the template was created. - `update_time`: corresponds to time the template was last updated. - `name`: corresponds to template's name. - `display_name`: corresponds to template's display name.", + "description": "Comma separated list of fields to order by, followed by `asc` or `desc` postfix. This list is case-insensitive, default sorting order is ascending, redundant space characters are insignificant. Example: `name asc,update_time, create_time desc` Supported fields are: - `create_time`: corresponds to the time the template was created. - `update_time`: corresponds to the time the template was last updated. - `name`: corresponds to the template's name. - `display_name`: corresponds to the template's display name.", "location": "query", "type": "string" }, "pageSize": { - "description": "Size of the page, can be limited by server. If zero server returns a page of max size 100.", + "description": "Size of the page, can be limited by the server. If zero server returns a page of max size 100.", "format": "int32", "location": "query", "type": "integer" @@ -677,7 +677,7 @@ ], "parameters": { "filter": { - "description": "Allows filtering. Supported syntax: * Filter expressions are made up of one or more restrictions. * Restrictions can be combined by `AND` or `OR` logical operators. A sequence of restrictions implicitly uses `AND`. * A restriction has the form of `{field} {operator} {value}`. * Supported fields/values for inspect jobs: - `state` - PENDING|RUNNING|CANCELED|FINISHED|FAILED - `inspected_storage` - DATASTORE|CLOUD_STORAGE|BIGQUERY - `trigger_name` - The resource name of the trigger that created job. - 'end_time` - Corresponds to time the job finished. - 'start_time` - Corresponds to time the job finished. * Supported fields for risk analysis jobs: - `state` - RUNNING|CANCELED|FINISHED|FAILED - 'end_time` - Corresponds to time the job finished. - 'start_time` - Corresponds to time the job finished. * The operator must be `=` or `!=`. Examples: * inspected_storage = cloud_storage AND state = done * inspected_storage = cloud_storage OR inspected_storage = bigquery * inspected_storage = cloud_storage AND (state = done OR state = canceled) * end_time > \\\"2017-12-12T00:00:00+00:00\\\" The length of this field should be no more than 500 characters.", + "description": "Allows filtering. Supported syntax: * Filter expressions are made up of one or more restrictions. * Restrictions can be combined by `AND` or `OR` logical operators. A sequence of restrictions implicitly uses `AND`. * A restriction has the form of `{field} {operator} {value}`. * Supported fields/values for inspect jobs: - `state` - PENDING|RUNNING|CANCELED|FINISHED|FAILED - `inspected_storage` - DATASTORE|CLOUD_STORAGE|BIGQUERY - `trigger_name` - The name of the trigger that created the job. - 'end_time` - Corresponds to the time the job finished. - 'start_time` - Corresponds to the time the job finished. * Supported fields for risk analysis jobs: - `state` - RUNNING|CANCELED|FINISHED|FAILED - 'end_time` - Corresponds to the time the job finished. - 'start_time` - Corresponds to the time the job finished. * The operator must be `=` or `!=`. Examples: * inspected_storage = cloud_storage AND state = done * inspected_storage = cloud_storage OR inspected_storage = bigquery * inspected_storage = cloud_storage AND (state = done OR state = canceled) * end_time > \\\"2017-12-12T00:00:00+00:00\\\" The length of this field should be no more than 500 characters.", "location": "query", "type": "string" }, @@ -687,7 +687,7 @@ "type": "string" }, "orderBy": { - "description": "Comma separated list of fields to order by, followed by `asc` or `desc` postfix. This list is case-insensitive, default sorting order is ascending, redundant space characters are insignificant. Example: `name asc, end_time asc, create_time desc` Supported fields are: - `create_time`: corresponds to time the job was created. - `end_time`: corresponds to time the job ended. - `name`: corresponds to job's name. - `state`: corresponds to `state`", + "description": "Comma separated list of fields to order by, followed by `asc` or `desc` postfix. This list is case-insensitive, default sorting order is ascending, redundant space characters are insignificant. Example: `name asc, end_time asc, create_time desc` Supported fields are: - `create_time`: corresponds to the time the job was created. - `end_time`: corresponds to the time the job ended. - `name`: corresponds to the job's name. - `state`: corresponds to `state`", "location": "query", "type": "string" }, @@ -738,7 +738,7 @@ "inspectTemplates": { "methods": { "create": { - "description": "Creates an InspectTemplate for re-using frequently used configuration for inspecting content, images, and storage. See https://cloud.google.com/dlp/docs/creating-templates to learn more.", + "description": "Creates an InspectTemplate for reusing frequently used configuration for inspecting content, images, and storage. See https://cloud.google.com/dlp/docs/creating-templates to learn more.", "flatPath": "v2/organizations/{organizationsId}/locations/{locationsId}/inspectTemplates", "httpMethod": "POST", "id": "dlp.organizations.locations.inspectTemplates.create", @@ -830,12 +830,12 @@ "type": "string" }, "orderBy": { - "description": "Comma separated list of fields to order by, followed by `asc` or `desc` postfix. This list is case-insensitive, default sorting order is ascending, redundant space characters are insignificant. Example: `name asc,update_time, create_time desc` Supported fields are: - `create_time`: corresponds to time the template was created. - `update_time`: corresponds to time the template was last updated. - `name`: corresponds to template's name. - `display_name`: corresponds to template's display name.", + "description": "Comma separated list of fields to order by, followed by `asc` or `desc` postfix. This list is case-insensitive, default sorting order is ascending, redundant space characters are insignificant. Example: `name asc,update_time, create_time desc` Supported fields are: - `create_time`: corresponds to the time the template was created. - `update_time`: corresponds to the time the template was last updated. - `name`: corresponds to the template's name. - `display_name`: corresponds to the template's display name.", "location": "query", "type": "string" }, "pageSize": { - "description": "Size of the page, can be limited by server. If zero server returns a page of max size 100.", + "description": "Size of the page, can be limited by the server. If zero server returns a page of max size 100.", "format": "int32", "location": "query", "type": "integer" @@ -991,7 +991,7 @@ "type": "string" }, "orderBy": { - "description": "Comma separated list of triggeredJob fields to order by, followed by `asc` or `desc` postfix. This list is case-insensitive, default sorting order is ascending, redundant space characters are insignificant. Example: `name asc,update_time, create_time desc` Supported fields are: - `create_time`: corresponds to time the JobTrigger was created. - `update_time`: corresponds to time the JobTrigger was last updated. - `last_run_time`: corresponds to the last time the JobTrigger ran. - `name`: corresponds to JobTrigger's name. - `display_name`: corresponds to JobTrigger's display name. - `status`: corresponds to JobTrigger's status.", + "description": "Comma separated list of triggeredJob fields to order by, followed by `asc` or `desc` postfix. This list is case-insensitive, default sorting order is ascending, redundant space characters are insignificant. Example: `name asc,update_time, create_time desc` Supported fields are: - `create_time`: corresponds to the time the JobTrigger was created. - `update_time`: corresponds to the time the JobTrigger was last updated. - `last_run_time`: corresponds to the last time the JobTrigger ran. - `name`: corresponds to the JobTrigger's name. - `display_name`: corresponds to the JobTrigger's display name. - `status`: corresponds to JobTrigger's status.", "location": "query", "type": "string" }, @@ -1162,12 +1162,12 @@ "type": "string" }, "orderBy": { - "description": "Comma separated list of fields to order by, followed by `asc` or `desc` postfix. This list is case-insensitive, default sorting order is ascending, redundant space characters are insignificant. Example: `name asc, display_name, create_time desc` Supported fields are: - `create_time`: corresponds to time the most recent version of the resource was created. - `state`: corresponds to the state of the resource. - `name`: corresponds to resource name. - `display_name`: corresponds to info type's display name.", + "description": "Comma separated list of fields to order by, followed by `asc` or `desc` postfix. This list is case-insensitive, default sorting order is ascending, redundant space characters are insignificant. Example: `name asc, display_name, create_time desc` Supported fields are: - `create_time`: corresponds to the time the most recent version of the resource was created. - `state`: corresponds to the state of the resource. - `name`: corresponds to resource name. - `display_name`: corresponds to info type's display name.", "location": "query", "type": "string" }, "pageSize": { - "description": "Size of the page, can be limited by server. If zero server returns a page of max size 100.", + "description": "Size of the page, can be limited by the server. If zero server returns a page of max size 100.", "format": "int32", "location": "query", "type": "integer" @@ -1320,12 +1320,12 @@ "type": "string" }, "orderBy": { - "description": "Comma separated list of fields to order by, followed by `asc` or `desc` postfix. This list is case-insensitive, default sorting order is ascending, redundant space characters are insignificant. Example: `name asc, display_name, create_time desc` Supported fields are: - `create_time`: corresponds to time the most recent version of the resource was created. - `state`: corresponds to the state of the resource. - `name`: corresponds to resource name. - `display_name`: corresponds to info type's display name.", + "description": "Comma separated list of fields to order by, followed by `asc` or `desc` postfix. This list is case-insensitive, default sorting order is ascending, redundant space characters are insignificant. Example: `name asc, display_name, create_time desc` Supported fields are: - `create_time`: corresponds to the time the most recent version of the resource was created. - `state`: corresponds to the state of the resource. - `name`: corresponds to resource name. - `display_name`: corresponds to info type's display name.", "location": "query", "type": "string" }, "pageSize": { - "description": "Size of the page, can be limited by server. If zero server returns a page of max size 100.", + "description": "Size of the page, can be limited by the server. If zero server returns a page of max size 100.", "format": "int32", "location": "query", "type": "integer" @@ -1476,7 +1476,7 @@ "deidentifyTemplates": { "methods": { "create": { - "description": "Creates a DeidentifyTemplate for re-using frequently used configuration for de-identifying content, images, and storage. See https://cloud.google.com/dlp/docs/creating-templates-deid to learn more.", + "description": "Creates a DeidentifyTemplate for reusing frequently used configuration for de-identifying content, images, and storage. See https://cloud.google.com/dlp/docs/creating-templates-deid to learn more.", "flatPath": "v2/projects/{projectsId}/deidentifyTemplates", "httpMethod": "POST", "id": "dlp.projects.deidentifyTemplates.create", @@ -1568,12 +1568,12 @@ "type": "string" }, "orderBy": { - "description": "Comma separated list of fields to order by, followed by `asc` or `desc` postfix. This list is case-insensitive, default sorting order is ascending, redundant space characters are insignificant. Example: `name asc,update_time, create_time desc` Supported fields are: - `create_time`: corresponds to time the template was created. - `update_time`: corresponds to time the template was last updated. - `name`: corresponds to template's name. - `display_name`: corresponds to template's display name.", + "description": "Comma separated list of fields to order by, followed by `asc` or `desc` postfix. This list is case-insensitive, default sorting order is ascending, redundant space characters are insignificant. Example: `name asc,update_time, create_time desc` Supported fields are: - `create_time`: corresponds to the time the template was created. - `update_time`: corresponds to the time the template was last updated. - `name`: corresponds to the template's name. - `display_name`: corresponds to the template's display name.", "location": "query", "type": "string" }, "pageSize": { - "description": "Size of the page, can be limited by server. If zero server returns a page of max size 100.", + "description": "Size of the page, can be limited by the server. If zero server returns a page of max size 100.", "format": "int32", "location": "query", "type": "integer" @@ -1688,7 +1688,7 @@ ] }, "delete": { - "description": "Deletes a long-running DlpJob. This method indicates that the client is no longer interested in the DlpJob result. The job will be cancelled if possible. See https://cloud.google.com/dlp/docs/inspecting-storage and https://cloud.google.com/dlp/docs/compute-risk-analysis to learn more.", + "description": "Deletes a long-running DlpJob. This method indicates that the client is no longer interested in the DlpJob result. The job will be canceled if possible. See https://cloud.google.com/dlp/docs/inspecting-storage and https://cloud.google.com/dlp/docs/compute-risk-analysis to learn more.", "flatPath": "v2/projects/{projectsId}/dlpJobs/{dlpJobsId}", "httpMethod": "DELETE", "id": "dlp.projects.dlpJobs.delete", @@ -1747,7 +1747,7 @@ ], "parameters": { "filter": { - "description": "Allows filtering. Supported syntax: * Filter expressions are made up of one or more restrictions. * Restrictions can be combined by `AND` or `OR` logical operators. A sequence of restrictions implicitly uses `AND`. * A restriction has the form of `{field} {operator} {value}`. * Supported fields/values for inspect jobs: - `state` - PENDING|RUNNING|CANCELED|FINISHED|FAILED - `inspected_storage` - DATASTORE|CLOUD_STORAGE|BIGQUERY - `trigger_name` - The resource name of the trigger that created job. - 'end_time` - Corresponds to time the job finished. - 'start_time` - Corresponds to time the job finished. * Supported fields for risk analysis jobs: - `state` - RUNNING|CANCELED|FINISHED|FAILED - 'end_time` - Corresponds to time the job finished. - 'start_time` - Corresponds to time the job finished. * The operator must be `=` or `!=`. Examples: * inspected_storage = cloud_storage AND state = done * inspected_storage = cloud_storage OR inspected_storage = bigquery * inspected_storage = cloud_storage AND (state = done OR state = canceled) * end_time > \\\"2017-12-12T00:00:00+00:00\\\" The length of this field should be no more than 500 characters.", + "description": "Allows filtering. Supported syntax: * Filter expressions are made up of one or more restrictions. * Restrictions can be combined by `AND` or `OR` logical operators. A sequence of restrictions implicitly uses `AND`. * A restriction has the form of `{field} {operator} {value}`. * Supported fields/values for inspect jobs: - `state` - PENDING|RUNNING|CANCELED|FINISHED|FAILED - `inspected_storage` - DATASTORE|CLOUD_STORAGE|BIGQUERY - `trigger_name` - The name of the trigger that created the job. - 'end_time` - Corresponds to the time the job finished. - 'start_time` - Corresponds to the time the job finished. * Supported fields for risk analysis jobs: - `state` - RUNNING|CANCELED|FINISHED|FAILED - 'end_time` - Corresponds to the time the job finished. - 'start_time` - Corresponds to the time the job finished. * The operator must be `=` or `!=`. Examples: * inspected_storage = cloud_storage AND state = done * inspected_storage = cloud_storage OR inspected_storage = bigquery * inspected_storage = cloud_storage AND (state = done OR state = canceled) * end_time > \\\"2017-12-12T00:00:00+00:00\\\" The length of this field should be no more than 500 characters.", "location": "query", "type": "string" }, @@ -1757,7 +1757,7 @@ "type": "string" }, "orderBy": { - "description": "Comma separated list of fields to order by, followed by `asc` or `desc` postfix. This list is case-insensitive, default sorting order is ascending, redundant space characters are insignificant. Example: `name asc, end_time asc, create_time desc` Supported fields are: - `create_time`: corresponds to time the job was created. - `end_time`: corresponds to time the job ended. - `name`: corresponds to job's name. - `state`: corresponds to `state`", + "description": "Comma separated list of fields to order by, followed by `asc` or `desc` postfix. This list is case-insensitive, default sorting order is ascending, redundant space characters are insignificant. Example: `name asc, end_time asc, create_time desc` Supported fields are: - `create_time`: corresponds to the time the job was created. - `end_time`: corresponds to the time the job ended. - `name`: corresponds to the job's name. - `state`: corresponds to `state`", "location": "query", "type": "string" }, @@ -1840,7 +1840,7 @@ "inspectTemplates": { "methods": { "create": { - "description": "Creates an InspectTemplate for re-using frequently used configuration for inspecting content, images, and storage. See https://cloud.google.com/dlp/docs/creating-templates to learn more.", + "description": "Creates an InspectTemplate for reusing frequently used configuration for inspecting content, images, and storage. See https://cloud.google.com/dlp/docs/creating-templates to learn more.", "flatPath": "v2/projects/{projectsId}/inspectTemplates", "httpMethod": "POST", "id": "dlp.projects.inspectTemplates.create", @@ -1932,12 +1932,12 @@ "type": "string" }, "orderBy": { - "description": "Comma separated list of fields to order by, followed by `asc` or `desc` postfix. This list is case-insensitive, default sorting order is ascending, redundant space characters are insignificant. Example: `name asc,update_time, create_time desc` Supported fields are: - `create_time`: corresponds to time the template was created. - `update_time`: corresponds to time the template was last updated. - `name`: corresponds to template's name. - `display_name`: corresponds to template's display name.", + "description": "Comma separated list of fields to order by, followed by `asc` or `desc` postfix. This list is case-insensitive, default sorting order is ascending, redundant space characters are insignificant. Example: `name asc,update_time, create_time desc` Supported fields are: - `create_time`: corresponds to the time the template was created. - `update_time`: corresponds to the time the template was last updated. - `name`: corresponds to the template's name. - `display_name`: corresponds to the template's display name.", "location": "query", "type": "string" }, "pageSize": { - "description": "Size of the page, can be limited by server. If zero server returns a page of max size 100.", + "description": "Size of the page, can be limited by the server. If zero server returns a page of max size 100.", "format": "int32", "location": "query", "type": "integer" @@ -2121,7 +2121,7 @@ "type": "string" }, "orderBy": { - "description": "Comma separated list of triggeredJob fields to order by, followed by `asc` or `desc` postfix. This list is case-insensitive, default sorting order is ascending, redundant space characters are insignificant. Example: `name asc,update_time, create_time desc` Supported fields are: - `create_time`: corresponds to time the JobTrigger was created. - `update_time`: corresponds to time the JobTrigger was last updated. - `last_run_time`: corresponds to the last time the JobTrigger ran. - `name`: corresponds to JobTrigger's name. - `display_name`: corresponds to JobTrigger's display name. - `status`: corresponds to JobTrigger's status.", + "description": "Comma separated list of triggeredJob fields to order by, followed by `asc` or `desc` postfix. This list is case-insensitive, default sorting order is ascending, redundant space characters are insignificant. Example: `name asc,update_time, create_time desc` Supported fields are: - `create_time`: corresponds to the time the JobTrigger was created. - `update_time`: corresponds to the time the JobTrigger was last updated. - `last_run_time`: corresponds to the last time the JobTrigger ran. - `name`: corresponds to the JobTrigger's name. - `display_name`: corresponds to the JobTrigger's display name. - `status`: corresponds to JobTrigger's status.", "location": "query", "type": "string" }, @@ -2290,7 +2290,7 @@ "deidentifyTemplates": { "methods": { "create": { - "description": "Creates a DeidentifyTemplate for re-using frequently used configuration for de-identifying content, images, and storage. See https://cloud.google.com/dlp/docs/creating-templates-deid to learn more.", + "description": "Creates a DeidentifyTemplate for reusing frequently used configuration for de-identifying content, images, and storage. See https://cloud.google.com/dlp/docs/creating-templates-deid to learn more.", "flatPath": "v2/projects/{projectsId}/locations/{locationsId}/deidentifyTemplates", "httpMethod": "POST", "id": "dlp.projects.locations.deidentifyTemplates.create", @@ -2382,12 +2382,12 @@ "type": "string" }, "orderBy": { - "description": "Comma separated list of fields to order by, followed by `asc` or `desc` postfix. This list is case-insensitive, default sorting order is ascending, redundant space characters are insignificant. Example: `name asc,update_time, create_time desc` Supported fields are: - `create_time`: corresponds to time the template was created. - `update_time`: corresponds to time the template was last updated. - `name`: corresponds to template's name. - `display_name`: corresponds to template's display name.", + "description": "Comma separated list of fields to order by, followed by `asc` or `desc` postfix. This list is case-insensitive, default sorting order is ascending, redundant space characters are insignificant. Example: `name asc,update_time, create_time desc` Supported fields are: - `create_time`: corresponds to the time the template was created. - `update_time`: corresponds to the time the template was last updated. - `name`: corresponds to the template's name. - `display_name`: corresponds to the template's display name.", "location": "query", "type": "string" }, "pageSize": { - "description": "Size of the page, can be limited by server. If zero server returns a page of max size 100.", + "description": "Size of the page, can be limited by the server. If zero server returns a page of max size 100.", "format": "int32", "location": "query", "type": "integer" @@ -2502,7 +2502,7 @@ ] }, "delete": { - "description": "Deletes a long-running DlpJob. This method indicates that the client is no longer interested in the DlpJob result. The job will be cancelled if possible. See https://cloud.google.com/dlp/docs/inspecting-storage and https://cloud.google.com/dlp/docs/compute-risk-analysis to learn more.", + "description": "Deletes a long-running DlpJob. This method indicates that the client is no longer interested in the DlpJob result. The job will be canceled if possible. See https://cloud.google.com/dlp/docs/inspecting-storage and https://cloud.google.com/dlp/docs/compute-risk-analysis to learn more.", "flatPath": "v2/projects/{projectsId}/locations/{locationsId}/dlpJobs/{dlpJobsId}", "httpMethod": "DELETE", "id": "dlp.projects.locations.dlpJobs.delete", @@ -2617,7 +2617,7 @@ ], "parameters": { "filter": { - "description": "Allows filtering. Supported syntax: * Filter expressions are made up of one or more restrictions. * Restrictions can be combined by `AND` or `OR` logical operators. A sequence of restrictions implicitly uses `AND`. * A restriction has the form of `{field} {operator} {value}`. * Supported fields/values for inspect jobs: - `state` - PENDING|RUNNING|CANCELED|FINISHED|FAILED - `inspected_storage` - DATASTORE|CLOUD_STORAGE|BIGQUERY - `trigger_name` - The resource name of the trigger that created job. - 'end_time` - Corresponds to time the job finished. - 'start_time` - Corresponds to time the job finished. * Supported fields for risk analysis jobs: - `state` - RUNNING|CANCELED|FINISHED|FAILED - 'end_time` - Corresponds to time the job finished. - 'start_time` - Corresponds to time the job finished. * The operator must be `=` or `!=`. Examples: * inspected_storage = cloud_storage AND state = done * inspected_storage = cloud_storage OR inspected_storage = bigquery * inspected_storage = cloud_storage AND (state = done OR state = canceled) * end_time > \\\"2017-12-12T00:00:00+00:00\\\" The length of this field should be no more than 500 characters.", + "description": "Allows filtering. Supported syntax: * Filter expressions are made up of one or more restrictions. * Restrictions can be combined by `AND` or `OR` logical operators. A sequence of restrictions implicitly uses `AND`. * A restriction has the form of `{field} {operator} {value}`. * Supported fields/values for inspect jobs: - `state` - PENDING|RUNNING|CANCELED|FINISHED|FAILED - `inspected_storage` - DATASTORE|CLOUD_STORAGE|BIGQUERY - `trigger_name` - The name of the trigger that created the job. - 'end_time` - Corresponds to the time the job finished. - 'start_time` - Corresponds to the time the job finished. * Supported fields for risk analysis jobs: - `state` - RUNNING|CANCELED|FINISHED|FAILED - 'end_time` - Corresponds to the time the job finished. - 'start_time` - Corresponds to the time the job finished. * The operator must be `=` or `!=`. Examples: * inspected_storage = cloud_storage AND state = done * inspected_storage = cloud_storage OR inspected_storage = bigquery * inspected_storage = cloud_storage AND (state = done OR state = canceled) * end_time > \\\"2017-12-12T00:00:00+00:00\\\" The length of this field should be no more than 500 characters.", "location": "query", "type": "string" }, @@ -2627,7 +2627,7 @@ "type": "string" }, "orderBy": { - "description": "Comma separated list of fields to order by, followed by `asc` or `desc` postfix. This list is case-insensitive, default sorting order is ascending, redundant space characters are insignificant. Example: `name asc, end_time asc, create_time desc` Supported fields are: - `create_time`: corresponds to time the job was created. - `end_time`: corresponds to time the job ended. - `name`: corresponds to job's name. - `state`: corresponds to `state`", + "description": "Comma separated list of fields to order by, followed by `asc` or `desc` postfix. This list is case-insensitive, default sorting order is ascending, redundant space characters are insignificant. Example: `name asc, end_time asc, create_time desc` Supported fields are: - `create_time`: corresponds to the time the job was created. - `end_time`: corresponds to the time the job ended. - `name`: corresponds to the job's name. - `state`: corresponds to `state`", "location": "query", "type": "string" }, @@ -2710,7 +2710,7 @@ "inspectTemplates": { "methods": { "create": { - "description": "Creates an InspectTemplate for re-using frequently used configuration for inspecting content, images, and storage. See https://cloud.google.com/dlp/docs/creating-templates to learn more.", + "description": "Creates an InspectTemplate for reusing frequently used configuration for inspecting content, images, and storage. See https://cloud.google.com/dlp/docs/creating-templates to learn more.", "flatPath": "v2/projects/{projectsId}/locations/{locationsId}/inspectTemplates", "httpMethod": "POST", "id": "dlp.projects.locations.inspectTemplates.create", @@ -2802,12 +2802,12 @@ "type": "string" }, "orderBy": { - "description": "Comma separated list of fields to order by, followed by `asc` or `desc` postfix. This list is case-insensitive, default sorting order is ascending, redundant space characters are insignificant. Example: `name asc,update_time, create_time desc` Supported fields are: - `create_time`: corresponds to time the template was created. - `update_time`: corresponds to time the template was last updated. - `name`: corresponds to template's name. - `display_name`: corresponds to template's display name.", + "description": "Comma separated list of fields to order by, followed by `asc` or `desc` postfix. This list is case-insensitive, default sorting order is ascending, redundant space characters are insignificant. Example: `name asc,update_time, create_time desc` Supported fields are: - `create_time`: corresponds to the time the template was created. - `update_time`: corresponds to the time the template was last updated. - `name`: corresponds to the template's name. - `display_name`: corresponds to the template's display name.", "location": "query", "type": "string" }, "pageSize": { - "description": "Size of the page, can be limited by server. If zero server returns a page of max size 100.", + "description": "Size of the page, can be limited by the server. If zero server returns a page of max size 100.", "format": "int32", "location": "query", "type": "integer" @@ -3019,7 +3019,7 @@ "type": "string" }, "orderBy": { - "description": "Comma separated list of triggeredJob fields to order by, followed by `asc` or `desc` postfix. This list is case-insensitive, default sorting order is ascending, redundant space characters are insignificant. Example: `name asc,update_time, create_time desc` Supported fields are: - `create_time`: corresponds to time the JobTrigger was created. - `update_time`: corresponds to time the JobTrigger was last updated. - `last_run_time`: corresponds to the last time the JobTrigger ran. - `name`: corresponds to JobTrigger's name. - `display_name`: corresponds to JobTrigger's display name. - `status`: corresponds to JobTrigger's status.", + "description": "Comma separated list of triggeredJob fields to order by, followed by `asc` or `desc` postfix. This list is case-insensitive, default sorting order is ascending, redundant space characters are insignificant. Example: `name asc,update_time, create_time desc` Supported fields are: - `create_time`: corresponds to the time the JobTrigger was created. - `update_time`: corresponds to the time the JobTrigger was last updated. - `last_run_time`: corresponds to the last time the JobTrigger ran. - `name`: corresponds to the JobTrigger's name. - `display_name`: corresponds to the JobTrigger's display name. - `status`: corresponds to JobTrigger's status.", "location": "query", "type": "string" }, @@ -3190,12 +3190,12 @@ "type": "string" }, "orderBy": { - "description": "Comma separated list of fields to order by, followed by `asc` or `desc` postfix. This list is case-insensitive, default sorting order is ascending, redundant space characters are insignificant. Example: `name asc, display_name, create_time desc` Supported fields are: - `create_time`: corresponds to time the most recent version of the resource was created. - `state`: corresponds to the state of the resource. - `name`: corresponds to resource name. - `display_name`: corresponds to info type's display name.", + "description": "Comma separated list of fields to order by, followed by `asc` or `desc` postfix. This list is case-insensitive, default sorting order is ascending, redundant space characters are insignificant. Example: `name asc, display_name, create_time desc` Supported fields are: - `create_time`: corresponds to the time the most recent version of the resource was created. - `state`: corresponds to the state of the resource. - `name`: corresponds to resource name. - `display_name`: corresponds to info type's display name.", "location": "query", "type": "string" }, "pageSize": { - "description": "Size of the page, can be limited by server. If zero server returns a page of max size 100.", + "description": "Size of the page, can be limited by the server. If zero server returns a page of max size 100.", "format": "int32", "location": "query", "type": "integer" @@ -3348,12 +3348,12 @@ "type": "string" }, "orderBy": { - "description": "Comma separated list of fields to order by, followed by `asc` or `desc` postfix. This list is case-insensitive, default sorting order is ascending, redundant space characters are insignificant. Example: `name asc, display_name, create_time desc` Supported fields are: - `create_time`: corresponds to time the most recent version of the resource was created. - `state`: corresponds to the state of the resource. - `name`: corresponds to resource name. - `display_name`: corresponds to info type's display name.", + "description": "Comma separated list of fields to order by, followed by `asc` or `desc` postfix. This list is case-insensitive, default sorting order is ascending, redundant space characters are insignificant. Example: `name asc, display_name, create_time desc` Supported fields are: - `create_time`: corresponds to the time the most recent version of the resource was created. - `state`: corresponds to the state of the resource. - `name`: corresponds to resource name. - `display_name`: corresponds to info type's display name.", "location": "query", "type": "string" }, "pageSize": { - "description": "Size of the page, can be limited by server. If zero server returns a page of max size 100.", + "description": "Size of the page, can be limited by the server. If zero server returns a page of max size 100.", "format": "int32", "location": "query", "type": "integer" @@ -3412,13 +3412,17 @@ } } }, - "revision": "20220715", + "revision": "20220803", "rootUrl": "https://dlp.googleapis.com/", "schemas": { "GooglePrivacyDlpV2Action": { "description": "A task to execute on the completion of a job. See https://cloud.google.com/dlp/docs/concepts-actions to learn more.", "id": "GooglePrivacyDlpV2Action", "properties": { + "deidentify": { + "$ref": "GooglePrivacyDlpV2Deidentify", + "description": "Create a de-identified copy of the input data. Applicable for non-image data only. The de-identified copy is in the same location as the original data." + }, "jobNotificationEmails": { "$ref": "GooglePrivacyDlpV2JobNotificationEmails", "description": "Enable email notification for project owners and editors on job's completion/failure." @@ -3865,7 +3869,7 @@ "type": "object" }, "GooglePrivacyDlpV2CloudStorageOptions": { - "description": "Options defining a file or a set of files within a Google Cloud Storage bucket.", + "description": "Options defining a file or a set of files within a Cloud Storage bucket.", "id": "GooglePrivacyDlpV2CloudStorageOptions", "properties": { "bytesLimitPerFile": { @@ -4052,7 +4056,7 @@ "id": "GooglePrivacyDlpV2Container", "properties": { "fullPath": { - "description": "A string representation of the full container name. Examples: - BigQuery: 'Project:DataSetId.TableId' - Google Cloud Storage: 'gs://Bucket/folders/filename.txt'", + "description": "A string representation of the full container name. Examples: - BigQuery: 'Project:DataSetId.TableId' - Cloud Storage: 'gs://Bucket/folders/filename.txt'", "type": "string" }, "projectId": { @@ -4060,24 +4064,24 @@ "type": "string" }, "relativePath": { - "description": "The rest of the path after the root. Examples: - For BigQuery table `project_id:dataset_id.table_id`, the relative path is `table_id` - Google Cloud Storage file `gs://bucket/folder/filename.txt`, the relative path is `folder/filename.txt`", + "description": "The rest of the path after the root. Examples: - For BigQuery table `project_id:dataset_id.table_id`, the relative path is `table_id` - For Cloud Storage file `gs://bucket/folder/filename.txt`, the relative path is `folder/filename.txt`", "type": "string" }, "rootPath": { - "description": "The root of the container. Examples: - For BigQuery table `project_id:dataset_id.table_id`, the root is `dataset_id` - For Google Cloud Storage file `gs://bucket/folder/filename.txt`, the root is `gs://bucket`", + "description": "The root of the container. Examples: - For BigQuery table `project_id:dataset_id.table_id`, the root is `dataset_id` - For Cloud Storage file `gs://bucket/folder/filename.txt`, the root is `gs://bucket`", "type": "string" }, "type": { - "description": "Container type, for example BigQuery or Google Cloud Storage.", + "description": "Container type, for example BigQuery or Cloud Storage.", "type": "string" }, "updateTime": { - "description": "Findings container modification timestamp, if applicable. For Google Cloud Storage contains last file modification timestamp. For BigQuery table contains last_modified_time property. For Datastore - not populated.", + "description": "Findings container modification timestamp, if applicable. For Cloud Storage, this field contains the last file modification timestamp. For a BigQuery table, this field contains the last_modified_time property. For Datastore, this field isn't populated.", "format": "google-datetime", "type": "string" }, "version": { - "description": "Findings container version, if available (\"generation\" for Google Cloud Storage).", + "description": "Findings container version, if available (\"generation\" for Cloud Storage).", "type": "string" } }, @@ -4107,16 +4111,16 @@ "id": "GooglePrivacyDlpV2ContentLocation", "properties": { "containerName": { - "description": "Name of the container where the finding is located. The top level name is the source file name or table name. Names of some common storage containers are formatted as follows: * BigQuery tables: `{project_id}:{dataset_id}.{table_id}` * Cloud Storage files: `gs://{bucket}/{path}` * Datastore namespace: {namespace} Nested names could be absent if the embedded object has no string identifier (for an example an image contained within a document).", + "description": "Name of the container where the finding is located. The top level name is the source file name or table name. Names of some common storage containers are formatted as follows: * BigQuery tables: `{project_id}:{dataset_id}.{table_id}` * Cloud Storage files: `gs://{bucket}/{path}` * Datastore namespace: {namespace} Nested names could be absent if the embedded object has no string identifier (for example, an image contained within a document).", "type": "string" }, "containerTimestamp": { - "description": "Findings container modification timestamp, if applicable. For Google Cloud Storage contains last file modification timestamp. For BigQuery table contains last_modified_time property. For Datastore - not populated.", + "description": "Finding container modification timestamp, if applicable. For Cloud Storage, this field contains the last file modification timestamp. For a BigQuery table, this field contains the last_modified_time property. For Datastore, this field isn't populated.", "format": "google-datetime", "type": "string" }, "containerVersion": { - "description": "Findings container version, if available (\"generation\" for Google Cloud Storage).", + "description": "Finding container version, if available (\"generation\" for Cloud Storage).", "type": "string" }, "documentLocation": { @@ -4243,7 +4247,7 @@ "properties": { "context": { "$ref": "GooglePrivacyDlpV2FieldId", - "description": "A context may be used for higher security and maintaining referential integrity such that the same identifier in two different contexts will be given a distinct surrogate. The context is appended to plaintext value being encrypted. On decryption the provided context is validated against the value used during encryption. If a context was provided during encryption, same context must be provided during decryption as well. If the context is not set, plaintext would be used as is for encryption. If the context is set but: 1. there is no record present when transforming a given value or 2. the field is not present when transforming a given value, plaintext would be used as is for encryption. Note that case (1) is expected when an `InfoTypeTransformation` is applied to both structured and non-structured `ContentItem`s." + "description": "A context may be used for higher security and maintaining referential integrity such that the same identifier in two different contexts will be given a distinct surrogate. The context is appended to plaintext value being encrypted. On decryption the provided context is validated against the value used during encryption. If a context was provided during encryption, same context must be provided during decryption as well. If the context is not set, plaintext would be used as is for encryption. If the context is set but: 1. there is no record present when transforming a given value or 2. the field is not present when transforming a given value, plaintext would be used as is for encryption. Note that case (1) is expected when an `InfoTypeTransformation` is applied to both structured and unstructured `ContentItem`s." }, "cryptoKey": { "$ref": "GooglePrivacyDlpV2CryptoKey", @@ -4310,7 +4314,7 @@ }, "context": { "$ref": "GooglePrivacyDlpV2FieldId", - "description": "The 'tweak', a context may be used for higher security since the same identifier in two different contexts won't be given the same surrogate. If the context is not set, a default tweak will be used. If the context is set but: 1. there is no record present when transforming a given value or 1. the field is not present when transforming a given value, a default tweak will be used. Note that case (1) is expected when an `InfoTypeTransformation` is applied to both structured and non-structured `ContentItem`s. Currently, the referenced field may be of value type integer or string. The tweak is constructed as a sequence of bytes in big endian byte order such that: - a 64 bit integer is encoded followed by a single byte of value 1 - a string is encoded in UTF-8 format followed by a single byte of value 2" + "description": "The 'tweak', a context may be used for higher security since the same identifier in two different contexts won't be given the same surrogate. If the context is not set, a default tweak will be used. If the context is set but: 1. there is no record present when transforming a given value or 1. the field is not present when transforming a given value, a default tweak will be used. Note that case (1) is expected when an `InfoTypeTransformation` is applied to both structured and unstructured `ContentItem`s. Currently, the referenced field may be of value type integer or string. The tweak is constructed as a sequence of bytes in big endian byte order such that: - a 64 bit integer is encoded followed by a single byte of value 1 - a string is encoded in UTF-8 format followed by a single byte of value 2" }, "cryptoKey": { "$ref": "GooglePrivacyDlpV2CryptoKey", @@ -4486,7 +4490,7 @@ "type": "object" }, "GooglePrivacyDlpV2DataProfilePubSubMessage": { - "description": "The message that will be published to a Pub/Sub topic. To receive a message of protocol buffer schema type, convert the message data to an object of this proto class. https://cloud.google.com/pubsub/docs/samples/pubsub-subscribe-proto-messages", + "description": "Pub/Sub topic message for a DataProfileAction.PubSubNotification event. To receive a message of protocol buffer schema type, convert the message data to an object of this proto class. https://cloud.google.com/pubsub/docs/samples/pubsub-subscribe-proto-messages", "id": "GooglePrivacyDlpV2DataProfilePubSubMessage", "properties": { "event": { @@ -4515,7 +4519,7 @@ "type": "object" }, "GooglePrivacyDlpV2DataRiskLevel": { - "description": "Score is a summary of all elements in the data profile. A higher number means more risky.", + "description": "Score is a summary of all elements in the data profile. A higher number means more risk.", "id": "GooglePrivacyDlpV2DataRiskLevel", "properties": { "score": { @@ -4529,7 +4533,7 @@ "enumDescriptions": [ "Unused.", "Low risk - Lower indication of sensitive data that appears to have additional access restrictions in place or no indication of sensitive data found.", - "Medium risk - Sensitive data may be present but additional access or fine grain access restrictions appears to be present. Consider limiting access even further or transforming data to mask.", + "Medium risk - Sensitive data may be present but additional access or fine grain access restrictions appear to be present. Consider limiting access even further or transform data to mask.", "High risk \u2013 SPII may be present. Access controls may include public ACLs. Exfiltration of data may lead to user data loss. Re-identification of users may be possible. Consider limiting usage and or removing SPII." ], "type": "string" @@ -4631,6 +4635,58 @@ }, "type": "object" }, + "GooglePrivacyDlpV2Deidentify": { + "description": "Create a de-identified copy of the requested table or files. . A TransformationDetail will be created for each transformation. If any rows in BigQuery are skipped during de-identification (transformation errors or row size exceeds BigQuery insert API limits) they are placed in the failure output table. If the original row exceeds the BigQuery insert API limit it will be truncated when written to the failure output table. The failure output table can be set in the action.deidentify.output.big_query_output.deidentified_failure_output_table field, if no table is set, a table will be automatically created in the same project and dataset as the original table. Compatible with: Inspect", + "id": "GooglePrivacyDlpV2Deidentify", + "properties": { + "cloudStorageOutput": { + "description": "Required. User settable GCS bucket and folders to store de-identified files. This field must be set for cloud storage deidentification. The output GCS bucket must be different from the input bucket. De-identified files will overwrite files in the output path. Form of: gs://bucket/folder/ or gs://bucket", + "type": "string" + }, + "fileTypesToTransform": { + "description": "List of user-specified file type groups to transform. If specified, only the files with these filetypes will be transformed. If empty, all supported files will be transformed. Supported types may be automatically added over time. If a file type is set in this field that isn't supported by the Deidentify action then the job will fail and will not be successfully created/started. Currently the only filetypes supported are: IMAGES, TEXT_FILES, CSV, TSV.", + "items": { + "enum": [ + "FILE_TYPE_UNSPECIFIED", + "BINARY_FILE", + "TEXT_FILE", + "IMAGE", + "WORD", + "PDF", + "AVRO", + "CSV", + "TSV", + "POWERPOINT", + "EXCEL" + ], + "enumDescriptions": [ + "Includes all files.", + "Includes all file extensions not covered by another entry. Binary scanning attempts to convert the content of the file to utf_8 to scan the file. If you wish to avoid this fall back, specify one or more of the other FileType's in your storage scan.", + "Included file extensions: asc,asp, aspx, brf, c, cc,cfm, cgi, cpp, csv, cxx, c++, cs, css, dart, dat, dot, eml,, epbub, ged, go, h, hh, hpp, hxx, h++, hs, html, htm, mkd, markdown, m, ml, mli, perl, pl, plist, pm, php, phtml, pht, properties, py, pyw, rb, rbw, rs, rss, rc, scala, sh, sql, swift, tex, shtml, shtm, xhtml, lhs, ics, ini, java, js, json, kix, kml, ocaml, md, txt, text, tsv, vb, vcard, vcs, wml, xcodeproj, xml, xsl, xsd, yml, yaml.", + "Included file extensions: bmp, gif, jpg, jpeg, jpe, png. bytes_limit_per_file has no effect on image files. Image inspection is restricted to 'global', 'us', 'asia', and 'europe'.", + "Word files >30 MB will be scanned as binary files. Included file extensions: docx, dotx, docm, dotm", + "PDF files >30 MB will be scanned as binary files. Included file extensions: pdf", + "Included file extensions: avro", + "Included file extensions: csv", + "Included file extensions: tsv", + "Powerpoint files >30 MB will be scanned as binary files. Included file extensions: pptx, pptm, potx, potm, pot", + "Excel files >30 MB will be scanned as binary files. Included file extensions: xlsx, xlsm, xltx, xltm" + ], + "type": "string" + }, + "type": "array" + }, + "transformationConfig": { + "$ref": "GooglePrivacyDlpV2TransformationConfig", + "description": "User specified deidentify templates and configs for structured, unstructured, and image files." + }, + "transformationDetailsStorageConfig": { + "$ref": "GooglePrivacyDlpV2TransformationDetailsStorageConfig", + "description": "Config for storing transformation details. This is separate from the de-identified content, and contains metadata about the successful transformations and/or failures that occurred while de-identifying. This needs to be set in order for users to access information about the status of each transformation (see TransformationDetails message for more information about what is noted)." + } + }, + "type": "object" + }, "GooglePrivacyDlpV2DeidentifyConfig": { "description": "The configuration that controls how the data will change.", "id": "GooglePrivacyDlpV2DeidentifyConfig", @@ -4651,7 +4707,7 @@ "type": "object" }, "GooglePrivacyDlpV2DeidentifyContentRequest": { - "description": "Request to de-identify a list of items.", + "description": "Request to de-identify a ContentItem.", "id": "GooglePrivacyDlpV2DeidentifyContentRequest", "properties": { "deidentifyConfig": { @@ -4908,9 +4964,9 @@ "The job has not yet started.", "The job is currently running. Once a job has finished it will transition to FAILED or DONE.", "The job is no longer running.", - "The job was canceled before it could complete.", + "The job was canceled before it could be completed.", "The job had an error and did not complete.", - "The job is currently accepting findings via hybridInspect. A hybrid job in ACTIVE state may continue to have findings added to it through calling of hybridInspect. After the job has finished no more calls to hybridInspect may be made. ACTIVE jobs can transition to DONE." + "The job is currently accepting findings via hybridInspect. A hybrid job in ACTIVE state may continue to have findings added to it through the calling of hybridInspect. After the job has finished no more calls to hybridInspect may be made. ACTIVE jobs can transition to DONE." ], "type": "string" }, @@ -4974,7 +5030,7 @@ "type": "object" }, "GooglePrivacyDlpV2ExcludeInfoTypes": { - "description": "List of exclude infoTypes.", + "description": "List of excluded infoTypes.", "id": "GooglePrivacyDlpV2ExcludeInfoTypes", "properties": { "infoTypes": { @@ -5034,7 +5090,7 @@ "type": "object" }, "GooglePrivacyDlpV2Expressions": { - "description": "An expression, consisting or an operator and conditions.", + "description": "An expression, consisting of an operator and conditions.", "id": "GooglePrivacyDlpV2Expressions", "properties": { "conditions": { @@ -5189,7 +5245,7 @@ "type": "object" }, "GooglePrivacyDlpV2FindingLimits": { - "description": "Configuration to control the number of findings returned for inspection. This is not used for de-identification or data profiling.", + "description": "Configuration to control the number of findings returned for inspection. This is not used for de-identification or data profiling. When redacting sensitive data from images, finding limits don't apply. They can cause unexpected or inconsistent results, where only some data is redacted. Don't include finding limits in RedactImage requests. Otherwise, Cloud DLP returns an error.", "id": "GooglePrivacyDlpV2FindingLimits", "properties": { "maxFindingsPerInfoType": { @@ -5607,6 +5663,13 @@ "type": "string" }, "type": "array" + }, + "versions": { + "description": "A list of available versions for the infotype.", + "items": { + "$ref": "GooglePrivacyDlpV2VersionDescription" + }, + "type": "array" } }, "type": "object" @@ -5736,7 +5799,7 @@ }, "limits": { "$ref": "GooglePrivacyDlpV2FindingLimits", - "description": "Configuration to control the number of findings returned. This is not used for data profiling." + "description": "Configuration to control the number of findings returned. This is not used for data profiling. When redacting sensitive data from images, finding limits don't apply. They can cause unexpected or inconsistent results, where only some data is redacted. Don't include finding limits in RedactImage requests. Otherwise, Cloud DLP returns an error." }, "minLikelihood": { "description": "Only returns findings equal or above this threshold. The default is POSSIBLE. See https://cloud.google.com/dlp/docs/likelihood to learn more.", @@ -6331,7 +6394,7 @@ "type": "object" }, "GooglePrivacyDlpV2LargeCustomDictionaryConfig": { - "description": "Configuration for a custom dictionary created from a data source of any size up to the maximum size defined in the [limits](https://cloud.google.com/dlp/limits) page. The artifacts of dictionary creation are stored in the specified Google Cloud Storage location. Consider using `CustomInfoType.Dictionary` for smaller dictionaries that satisfy the size requirements.", + "description": "Configuration for a custom dictionary created from a data source of any size up to the maximum size defined in the [limits](https://cloud.google.com/dlp/limits) page. The artifacts of dictionary creation are stored in the specified Cloud Storage location. Consider using `CustomInfoType.Dictionary` for smaller dictionaries that satisfy the size requirements.", "id": "GooglePrivacyDlpV2LargeCustomDictionaryConfig", "properties": { "bigQueryField": { @@ -6344,7 +6407,7 @@ }, "outputPath": { "$ref": "GooglePrivacyDlpV2CloudStoragePath", - "description": "Location to store dictionary artifacts in Google Cloud Storage. These files will only be accessible by project owners and the DLP API. If any of these artifacts are modified, the dictionary is considered invalid and can no longer be used." + "description": "Location to store dictionary artifacts in Cloud Storage. These files will only be accessible by project owners and the DLP API. If any of these artifacts are modified, the dictionary is considered invalid and can no longer be used." } }, "type": "object" @@ -6624,7 +6687,7 @@ "enumDescriptions": [ "Unused.", "Basic schema including only `info_type`, `quote`, `certainty`, and `timestamp`.", - "Schema tailored to findings from scanning Google Cloud Storage.", + "Schema tailored to findings from scanning Cloud Storage.", "Schema tailored to findings from scanning Google Datastore.", "Schema tailored to findings from scanning Google BigQuery.", "Schema containing all columns." @@ -6633,7 +6696,7 @@ }, "table": { "$ref": "GooglePrivacyDlpV2BigQueryTable", - "description": "Store findings in an existing table or a new table in an existing dataset. If table_id is not set a new one will be generated for you with the following format: dlp_googleapis_yyyy_mm_dd_[dlp_job_id]. Pacific timezone will be used for generating the date details. For Inspect, each column in an existing output table must have the same name, type, and mode of a field in the `Finding` object. For Risk, an existing output table should be the output of a previous Risk analysis job run on the same source table, with the same privacy metric and quasi-identifiers. Risk jobs that analyze the same table but compute a different privacy metric, or use different sets of quasi-identifiers, cannot store their results in the same table." + "description": "Store findings in an existing table or a new table in an existing dataset. If table_id is not set a new one will be generated for you with the following format: dlp_googleapis_yyyy_mm_dd_[dlp_job_id]. Pacific time zone will be used for generating the date details. For Inspect, each column in an existing output table must have the same name, type, and mode of a field in the `Finding` object. For Risk, an existing output table should be the output of a previous Risk analysis job run on the same source table, with the same privacy metric and quasi-identifiers. Risk jobs that analyze the same table but compute a different privacy metric, or use different sets of quasi-identifiers, cannot store their results in the same table." } }, "type": "object" @@ -6908,13 +6971,13 @@ "type": "object" }, "GooglePrivacyDlpV2PublishSummaryToCscc": { - "description": "Publish the result summary of a DlpJob to the Cloud Security Command Center (CSCC Alpha). This action is only available for projects which are parts of an organization and whitelisted for the alpha Cloud Security Command Center. The action will publish count of finding instances and their info types. The summary of findings will be persisted in CSCC and are governed by CSCC service-specific policy, see https://cloud.google.com/terms/service-terms Only a single instance of this action can be specified. Compatible with: Inspect", + "description": "Publish the result summary of a DlpJob to the Cloud Security Command Center (CSCC Alpha). This action is only available for projects which are parts of an organization and whitelisted for the alpha Cloud Security Command Center. The action will publish the count of finding instances and their info types. The summary of findings will be persisted in CSCC and are governed by CSCC service-specific policy, see https://cloud.google.com/terms/service-terms Only a single instance of this action can be specified. Compatible with: Inspect", "id": "GooglePrivacyDlpV2PublishSummaryToCscc", "properties": {}, "type": "object" }, "GooglePrivacyDlpV2PublishToPubSub": { - "description": "Publish a message into given Pub/Sub topic when DlpJob has completed. The message contains a single field, `DlpJobName`, which is equal to the finished job's [`DlpJob.name`](https://cloud.google.com/dlp/docs/reference/rest/v2/projects.dlpJobs#DlpJob). Compatible with: Inspect, Risk", + "description": "Publish a message into a given Pub/Sub topic when DlpJob has completed. The message contains a single field, `DlpJobName`, which is equal to the finished job's [`DlpJob.name`](https://cloud.google.com/dlp/docs/reference/rest/v2/projects.dlpJobs#DlpJob). Compatible with: Inspect, Risk", "id": "GooglePrivacyDlpV2PublishToPubSub", "properties": { "topic": { @@ -7200,7 +7263,7 @@ "type": "object" }, "GooglePrivacyDlpV2ReidentifyContentResponse": { - "description": "Results of re-identifying a item.", + "description": "Results of re-identifying an item.", "id": "GooglePrivacyDlpV2ReidentifyContentResponse", "properties": { "item": { @@ -7348,7 +7411,7 @@ "id": "GooglePrivacyDlpV2Schedule", "properties": { "recurrencePeriodDuration": { - "description": "With this option a job is started a regular periodic basis. For example: every day (86400 seconds). A scheduled start time will be skipped if the previous execution has not ended when its scheduled time occurs. This value must be set to a time duration greater than or equal to 1 day and can be no longer than 60 days.", + "description": "With this option a job is started on a regular periodic basis. For example: every day (86400 seconds). A scheduled start time will be skipped if the previous execution has not ended when its scheduled time occurs. This value must be set to a time duration greater than or equal to 1 day and can be no longer than 60 days.", "format": "google-duration", "type": "string" } @@ -7410,7 +7473,7 @@ }, "cloudStorageOptions": { "$ref": "GooglePrivacyDlpV2CloudStorageOptions", - "description": "Google Cloud Storage options." + "description": "Cloud Storage options." }, "datastoreOptions": { "$ref": "GooglePrivacyDlpV2DatastoreOptions", @@ -7510,7 +7573,7 @@ "type": "string" }, "errors": { - "description": "Errors that occurred when creating this storedInfoType version, or anomalies detected in the storedInfoType data that render it unusable. Only the five most recent errors will be displayed, with the most recent error appearing first. For example, some of the data for stored custom dictionaries is put in the user's Google Cloud Storage bucket, and if this data is modified or deleted by the user or another system, the dictionary becomes invalid. If any errors occur, fix the problem indicated by the error message and use the UpdateStoredInfoType API method to create another version of the storedInfoType to continue using it, reusing the same `config` if it was not the source of the error.", + "description": "Errors that occurred when creating this storedInfoType version, or anomalies detected in the storedInfoType data that render it unusable. Only the five most recent errors will be displayed, with the most recent error appearing first. For example, some of the data for stored custom dictionaries is put in the user's Cloud Storage bucket, and if this data is modified or deleted by the user or another system, the dictionary becomes invalid. If any errors occur, fix the problem indicated by the error message and use the UpdateStoredInfoType API method to create another version of the storedInfoType to continue using it, reusing the same `config` if it was not the source of the error.", "items": { "$ref": "GooglePrivacyDlpV2Error" }, @@ -7865,7 +7928,7 @@ "type": "object" }, "GooglePrivacyDlpV2TimespanConfig": { - "description": "Configuration of the timespan of the items to include in scanning. Currently only supported when inspecting Google Cloud Storage and BigQuery.", + "description": "Configuration of the timespan of the items to include in scanning. Currently only supported when inspecting Cloud Storage and BigQuery.", "id": "GooglePrivacyDlpV2TimespanConfig", "properties": { "enableAutoPopulationOfTimespanConfig": { @@ -7884,7 +7947,37 @@ }, "timestampField": { "$ref": "GooglePrivacyDlpV2FieldId", - "description": "Specification of the field containing the timestamp of scanned items. Used for data sources like Datastore and BigQuery. For BigQuery: If this value is not specified and the table was modified between the given start and end times, the entire table will be scanned. If this value is specified, then rows are filtered based on the given start and end times. Rows with a `NULL` value in the provided BigQuery column are skipped. Valid data types of the provided BigQuery column are: `INTEGER`, `DATE`, `TIMESTAMP`, and `DATETIME`. For Datastore: If this value is specified, then entities are filtered based on the given start and end times. If an entity does not contain the provided timestamp property or contains empty or invalid values, then it is included. Valid data types of the provided timestamp property are: `TIMESTAMP`." + "description": "Specification of the field containing the timestamp of scanned items. Used for data sources like Datastore and BigQuery. *For BigQuery* If this value is not specified and the table was modified between the given start and end times, the entire table will be scanned. If this value is specified, then rows are filtered based on the given start and end times. Rows with a `NULL` value in the provided BigQuery column are skipped. Valid data types of the provided BigQuery column are: `INTEGER`, `DATE`, `TIMESTAMP`, and `DATETIME`. If your BigQuery table is [partitioned at ingestion time](https://cloud.google.com/bigquery/docs/partitioned-tables#ingestion_time), you can use any of the following pseudo-columns as your timestamp field. When used with Cloud DLP, these pseudo-column names are case sensitive. - _PARTITIONTIME - _PARTITIONDATE - _PARTITION_LOAD_TIME *For Datastore* If this value is specified, then entities are filtered based on the given start and end times. If an entity does not contain the provided timestamp property or contains empty or invalid values, then it is included. Valid data types of the provided timestamp property are: `TIMESTAMP`. See the [known issue](https://cloud.google.com/dlp/docs/known-issues#bq-timespan) related to this operation." + } + }, + "type": "object" + }, + "GooglePrivacyDlpV2TransformationConfig": { + "description": "User specified templates and configs for how to deidentify structured, unstructures, and image files. User must provide either a unstructured deidentify template or at least one redact image config.", + "id": "GooglePrivacyDlpV2TransformationConfig", + "properties": { + "deidentifyTemplate": { + "description": "De-identify template. If this template is specified, it will serve as the default de-identify template. This template cannot contain `record_transformations` since it can be used for unstructured content such as free-form text files. If this template is not set, a default `ReplaceWithInfoTypeConfig` will be used to de-identify unstructured content.", + "type": "string" + }, + "imageRedactTemplate": { + "description": "Image redact template. If this template is specified, it will serve as the de-identify template for images. If this template is not set, all findings in the image will be redacted with a black box.", + "type": "string" + }, + "structuredDeidentifyTemplate": { + "description": "Structured de-identify template. If this template is specified, it will serve as the de-identify template for structured content such as delimited files and tables. If this template is not set but the `deidentify_template` is set, then `deidentify_template` will also apply to the structured content. If neither template is set, a default `ReplaceWithInfoTypeConfig` will be used to de-identify structured content.", + "type": "string" + } + }, + "type": "object" + }, + "GooglePrivacyDlpV2TransformationDetailsStorageConfig": { + "description": "Config for storing transformation details.", + "id": "GooglePrivacyDlpV2TransformationDetailsStorageConfig", + "properties": { + "table": { + "$ref": "GooglePrivacyDlpV2BigQueryTable", + "description": "The BigQuery table in which to store the output. This may be an existing table or in a new table in an existing dataset. If table_id is not set a new one will be generated for you with the following format: dlp_googleapis_transformation_details_yyyy_mm_dd_[dlp_job_id]. Pacific time zone will be used for generating the date details." } }, "type": "object" @@ -8145,6 +8238,21 @@ }, "type": "object" }, + "GooglePrivacyDlpV2VersionDescription": { + "description": "Details about each available version for an infotype.", + "id": "GooglePrivacyDlpV2VersionDescription", + "properties": { + "description": { + "description": "Description of the version.", + "type": "string" + }, + "version": { + "description": "Name of the version", + "type": "string" + } + }, + "type": "object" + }, "GooglePrivacyDlpV2WordList": { "description": "Message defining a list of words or phrases to search for in the data.", "id": "GooglePrivacyDlpV2WordList", diff --git a/googleapiclient/discovery_cache/documents/dns.v1.json b/googleapiclient/discovery_cache/documents/dns.v1.json index b51a4b7241b..e9ef144a1bf 100644 --- a/googleapiclient/discovery_cache/documents/dns.v1.json +++ b/googleapiclient/discovery_cache/documents/dns.v1.json @@ -1824,7 +1824,7 @@ } } }, - "revision": "20220713", + "revision": "20220728", "rootUrl": "https://dns.googleapis.com/", "schemas": { "Change": { @@ -3000,6 +3000,9 @@ "default": "dns#rRSetRoutingPolicy", "type": "string" }, + "primaryBackup": { + "$ref": "RRSetRoutingPolicyPrimaryBackupPolicy" + }, "wrr": { "$ref": "RRSetRoutingPolicyWrrPolicy" } @@ -3010,6 +3013,10 @@ "description": "Configures a RRSetRoutingPolicy that routes based on the geo location of the querying user.", "id": "RRSetRoutingPolicyGeoPolicy", "properties": { + "enableFencing": { + "description": "Without fencing, if health check fails for all configured items in the current geo bucket, we'll failover to the next nearest geo bucket. With fencing, if health check is enabled, as long as some targets in the current geo bucket are healthy, we'll return only the healthy targets. However, if they're all unhealthy, we won't failover to the next nearest bucket, we'll simply return all the items in the current bucket even though they're unhealthy.", + "type": "boolean" + }, "items": { "description": "The primary geo routing configuration. If there are multiple items with the same location, an error is returned instead.", "items": { @@ -3028,6 +3035,10 @@ "description": "ResourceRecordSet data for one geo location.", "id": "RRSetRoutingPolicyGeoPolicyGeoPolicyItem", "properties": { + "healthCheckedTargets": { + "$ref": "RRSetRoutingPolicyHealthCheckTargets", + "description": "For A and AAAA types only. Endpoints to return in the query result only if they are healthy. These can be specified along with rrdata within this item." + }, "kind": { "default": "dns#rRSetRoutingPolicyGeoPolicyGeoPolicyItem", "type": "string" @@ -3052,6 +3063,96 @@ }, "type": "object" }, + "RRSetRoutingPolicyHealthCheckTargets": { + "description": "HealthCheckTargets describes endpoints to health-check when responding to Routing Policy queries. Only the healthy endpoints will be included in the response.", + "id": "RRSetRoutingPolicyHealthCheckTargets", + "properties": { + "internalLoadBalancers": { + "items": { + "$ref": "RRSetRoutingPolicyLoadBalancerTarget" + }, + "type": "array" + } + }, + "type": "object" + }, + "RRSetRoutingPolicyLoadBalancerTarget": { + "id": "RRSetRoutingPolicyLoadBalancerTarget", + "properties": { + "ipAddress": { + "description": "The frontend IP address of the", + "type": "string" + }, + "ipProtocol": { + "enum": [ + "undefined", + "tcp", + "udp" + ], + "enumDescriptions": [ + "", + "", + "" + ], + "type": "string" + }, + "kind": { + "default": "dns#rRSetRoutingPolicyLoadBalancerTarget", + "type": "string" + }, + "loadBalancerType": { + "enum": [ + "none", + "regionalL4ilb" + ], + "enumDescriptions": [ + "", + "" + ], + "type": "string" + }, + "networkUrl": { + "description": "The fully qualified url of the network on which the ILB is", + "type": "string" + }, + "port": { + "description": "Load Balancer to health check. The configured port of the Load Balancer.", + "type": "string" + }, + "project": { + "description": "present. This should be formatted like https://www.googleapis.com/compute/v1/projects/{project}/global/networks/{network} The project ID in which the ILB exists.", + "type": "string" + }, + "region": { + "description": "The region for regional ILBs.", + "type": "string" + } + }, + "type": "object" + }, + "RRSetRoutingPolicyPrimaryBackupPolicy": { + "description": "Configures a RRSetRoutingPolicy such that all queries are responded with the primary_targets if they are healthy. And if all of them are unhealthy, then we fallback to a geo localized policy.", + "id": "RRSetRoutingPolicyPrimaryBackupPolicy", + "properties": { + "backupGeoTargets": { + "$ref": "RRSetRoutingPolicyGeoPolicy", + "description": "Backup targets provide a regional failover policy for the otherwise global primary targets. If serving state is set to BACKUP, this policy essentially becomes a geo routing policy." + }, + "kind": { + "default": "dns#rRSetRoutingPolicyPrimaryBackupPolicy", + "type": "string" + }, + "primaryTargets": { + "$ref": "RRSetRoutingPolicyHealthCheckTargets" + }, + "trickleTraffic": { + "description": "When serving state is PRIMARY, this field provides the option of sending a small percentage of the traffic to the backup targets.", + "format": "double", + "type": "number" + } + }, + "type": "object" + }, "RRSetRoutingPolicyWrrPolicy": { "description": "Configures a RRSetRoutingPolicy that routes in a weighted round robin fashion.", "id": "RRSetRoutingPolicyWrrPolicy", @@ -3073,6 +3174,10 @@ "description": "A routing block which contains the routing information for one WRR item.", "id": "RRSetRoutingPolicyWrrPolicyWrrPolicyItem", "properties": { + "healthCheckedTargets": { + "$ref": "RRSetRoutingPolicyHealthCheckTargets", + "description": "endpoints that need to be health checked before making the routing decision. The unhealthy endpoints will be omitted from the result. If all endpoints within a buckete are unhealthy, we'll choose a different bucket (sampled w.r.t. its weight) for responding. Note that if DNSSEC is enabled for this zone, only one of rrdata or health_checked_targets can be set." + }, "kind": { "default": "dns#rRSetRoutingPolicyWrrPolicyWrrPolicyItem", "type": "string" diff --git a/googleapiclient/discovery_cache/documents/dns.v1beta2.json b/googleapiclient/discovery_cache/documents/dns.v1beta2.json index 45bd8f5c3b7..e25a2796881 100644 --- a/googleapiclient/discovery_cache/documents/dns.v1beta2.json +++ b/googleapiclient/discovery_cache/documents/dns.v1beta2.json @@ -1821,7 +1821,7 @@ } } }, - "revision": "20220713", + "revision": "20220728", "rootUrl": "https://dns.googleapis.com/", "schemas": { "Change": { @@ -3029,6 +3029,9 @@ "default": "dns#rRSetRoutingPolicy", "type": "string" }, + "primaryBackup": { + "$ref": "RRSetRoutingPolicyPrimaryBackupPolicy" + }, "wrr": { "$ref": "RRSetRoutingPolicyWrrPolicy" }, @@ -3042,6 +3045,10 @@ "description": "Configures a RRSetRoutingPolicy that routes based on the geo location of the querying user.", "id": "RRSetRoutingPolicyGeoPolicy", "properties": { + "enableFencing": { + "description": "Without fencing, if health check fails for all configured items in the current geo bucket, we'll failover to the next nearest geo bucket. With fencing, if health check is enabled, as long as some targets in the current geo bucket are healthy, we'll return only the healthy targets. However, if they're all unhealthy, we won't failover to the next nearest bucket, we'll simply return all the items in the current bucket even though they're unhealthy.", + "type": "boolean" + }, "items": { "description": "The primary geo routing configuration. If there are multiple items with the same location, an error is returned instead.", "items": { @@ -3060,6 +3067,10 @@ "description": "ResourceRecordSet data for one geo location.", "id": "RRSetRoutingPolicyGeoPolicyGeoPolicyItem", "properties": { + "healthCheckedTargets": { + "$ref": "RRSetRoutingPolicyHealthCheckTargets", + "description": "For A and AAAA types only. Endpoints to return in the query result only if they are healthy. These can be specified along with rrdata within this item." + }, "kind": { "default": "dns#rRSetRoutingPolicyGeoPolicyGeoPolicyItem", "type": "string" @@ -3084,6 +3095,96 @@ }, "type": "object" }, + "RRSetRoutingPolicyHealthCheckTargets": { + "description": "HealthCheckTargets describes endpoints to health-check when responding to Routing Policy queries. Only the healthy endpoints will be included in the response.", + "id": "RRSetRoutingPolicyHealthCheckTargets", + "properties": { + "internalLoadBalancers": { + "items": { + "$ref": "RRSetRoutingPolicyLoadBalancerTarget" + }, + "type": "array" + } + }, + "type": "object" + }, + "RRSetRoutingPolicyLoadBalancerTarget": { + "id": "RRSetRoutingPolicyLoadBalancerTarget", + "properties": { + "ipAddress": { + "description": "The frontend IP address of the", + "type": "string" + }, + "ipProtocol": { + "enum": [ + "undefined", + "tcp", + "udp" + ], + "enumDescriptions": [ + "", + "", + "" + ], + "type": "string" + }, + "kind": { + "default": "dns#rRSetRoutingPolicyLoadBalancerTarget", + "type": "string" + }, + "loadBalancerType": { + "enum": [ + "none", + "regionalL4ilb" + ], + "enumDescriptions": [ + "", + "" + ], + "type": "string" + }, + "networkUrl": { + "description": "The fully qualified url of the network on which the ILB is", + "type": "string" + }, + "port": { + "description": "Load Balancer to health check. The configured port of the Load Balancer.", + "type": "string" + }, + "project": { + "description": "present. This should be formatted like https://www.googleapis.com/compute/v1/projects/{project}/global/networks/{network} The project ID in which the ILB exists.", + "type": "string" + }, + "region": { + "description": "The region for regional ILBs.", + "type": "string" + } + }, + "type": "object" + }, + "RRSetRoutingPolicyPrimaryBackupPolicy": { + "description": "Configures a RRSetRoutingPolicy such that all queries are responded with the primary_targets if they are healthy. And if all of them are unhealthy, then we fallback to a geo localized policy.", + "id": "RRSetRoutingPolicyPrimaryBackupPolicy", + "properties": { + "backupGeoTargets": { + "$ref": "RRSetRoutingPolicyGeoPolicy", + "description": "Backup targets provide a regional failover policy for the otherwise global primary targets. If serving state is set to BACKUP, this policy essentially becomes a geo routing policy." + }, + "kind": { + "default": "dns#rRSetRoutingPolicyPrimaryBackupPolicy", + "type": "string" + }, + "primaryTargets": { + "$ref": "RRSetRoutingPolicyHealthCheckTargets" + }, + "trickleTraffic": { + "description": "When serving state is PRIMARY, this field provides the option of sending a small percentage of the traffic to the backup targets.", + "format": "double", + "type": "number" + } + }, + "type": "object" + }, "RRSetRoutingPolicyWrrPolicy": { "description": "Configures a RRSetRoutingPolicy that routes in a weighted round robin fashion.", "id": "RRSetRoutingPolicyWrrPolicy", @@ -3105,6 +3206,10 @@ "description": "A routing block which contains the routing information for one WRR item.", "id": "RRSetRoutingPolicyWrrPolicyWrrPolicyItem", "properties": { + "healthCheckedTargets": { + "$ref": "RRSetRoutingPolicyHealthCheckTargets", + "description": "endpoints that need to be health checked before making the routing decision. The unhealthy endpoints will be omitted from the result. If all endpoints within a buckete are unhealthy, we'll choose a different bucket (sampled w.r.t. its weight) for responding. Note that if DNSSEC is enabled for this zone, only one of rrdata or health_checked_targets can be set." + }, "kind": { "default": "dns#rRSetRoutingPolicyWrrPolicyWrrPolicyItem", "type": "string" diff --git a/googleapiclient/discovery_cache/documents/docs.v1.json b/googleapiclient/discovery_cache/documents/docs.v1.json index c4cd5b5bfdb..8c05241a828 100644 --- a/googleapiclient/discovery_cache/documents/docs.v1.json +++ b/googleapiclient/discovery_cache/documents/docs.v1.json @@ -216,7 +216,7 @@ } } }, - "revision": "20220718", + "revision": "20220802", "rootUrl": "https://docs.googleapis.com/", "schemas": { "AutoText": { diff --git a/googleapiclient/discovery_cache/documents/domainsrdap.v1.json b/googleapiclient/discovery_cache/documents/domainsrdap.v1.json index 009e87fa6f3..e29be9468e6 100644 --- a/googleapiclient/discovery_cache/documents/domainsrdap.v1.json +++ b/googleapiclient/discovery_cache/documents/domainsrdap.v1.json @@ -289,7 +289,7 @@ } } }, - "revision": "20220725", + "revision": "20220806", "rootUrl": "https://domainsrdap.googleapis.com/", "schemas": { "HttpBody": { diff --git a/googleapiclient/discovery_cache/documents/doubleclickbidmanager.v1.1.json b/googleapiclient/discovery_cache/documents/doubleclickbidmanager.v1.1.json index b5a8969ee17..e5c37967f46 100644 --- a/googleapiclient/discovery_cache/documents/doubleclickbidmanager.v1.1.json +++ b/googleapiclient/discovery_cache/documents/doubleclickbidmanager.v1.1.json @@ -280,7 +280,7 @@ } } }, - "revision": "20220712", + "revision": "20220802", "rootUrl": "https://doubleclickbidmanager.googleapis.com/", "schemas": { "ChannelGrouping": { diff --git a/googleapiclient/discovery_cache/documents/doubleclickbidmanager.v2.json b/googleapiclient/discovery_cache/documents/doubleclickbidmanager.v2.json index 83ced875a3b..bf8f5397f3d 100644 --- a/googleapiclient/discovery_cache/documents/doubleclickbidmanager.v2.json +++ b/googleapiclient/discovery_cache/documents/doubleclickbidmanager.v2.json @@ -320,7 +320,7 @@ } } }, - "revision": "20220712", + "revision": "20220802", "rootUrl": "https://doubleclickbidmanager.googleapis.com/", "schemas": { "ChannelGrouping": { diff --git a/googleapiclient/discovery_cache/documents/doubleclicksearch.v2.json b/googleapiclient/discovery_cache/documents/doubleclicksearch.v2.json index 379ac7ecf80..1ff8095daa8 100644 --- a/googleapiclient/discovery_cache/documents/doubleclicksearch.v2.json +++ b/googleapiclient/discovery_cache/documents/doubleclicksearch.v2.json @@ -434,7 +434,7 @@ } } }, - "revision": "20220719", + "revision": "20220802", "rootUrl": "https://doubleclicksearch.googleapis.com/", "schemas": { "Availability": { diff --git a/googleapiclient/discovery_cache/documents/drive.v2.json b/googleapiclient/discovery_cache/documents/drive.v2.json index 18feb02eeb1..404e84a197a 100644 --- a/googleapiclient/discovery_cache/documents/drive.v2.json +++ b/googleapiclient/discovery_cache/documents/drive.v2.json @@ -38,7 +38,7 @@ "description": "Manages files in Drive including uploading, downloading, searching, detecting changes, and updating sharing permissions.", "discoveryVersion": "v1", "documentationLink": "https://developers.google.com/drive/", - "etag": "\"uWj2hSb4GVjzdDlAnRd2gbM1ZQ8/AVLzStTCWvvUMl1YA9Il6kDfoLc\"", + "etag": "\"uWj2hSb4GVjzdDlAnRd2gbM1ZQ8/JbfHi78DCsF8d6nzoLgyNUV6FYA\"", "icons": { "x16": "https://ssl.gstatic.com/docs/doclist/images/drive_icon_16.png", "x32": "https://ssl.gstatic.com/docs/doclist/images/drive_icon_32.png" @@ -3668,7 +3668,7 @@ } } }, - "revision": "20220717", + "revision": "20220731", "rootUrl": "https://www.googleapis.com/", "schemas": { "About": { diff --git a/googleapiclient/discovery_cache/documents/drive.v3.json b/googleapiclient/discovery_cache/documents/drive.v3.json index 23f43667b6c..3c8aeb484ec 100644 --- a/googleapiclient/discovery_cache/documents/drive.v3.json +++ b/googleapiclient/discovery_cache/documents/drive.v3.json @@ -35,7 +35,7 @@ "description": "Manages files in Drive including uploading, downloading, searching, detecting changes, and updating sharing permissions.", "discoveryVersion": "v1", "documentationLink": "https://developers.google.com/drive/", - "etag": "\"uWj2hSb4GVjzdDlAnRd2gbM1ZQ8/f4pgi9Qbdclm_Q-LQEkAgh4FBXI\"", + "etag": "\"uWj2hSb4GVjzdDlAnRd2gbM1ZQ8/VCCFBo2z8WR1neuZtXyVMGMd-L4\"", "icons": { "x16": "https://ssl.gstatic.com/docs/doclist/images/drive_icon_16.png", "x32": "https://ssl.gstatic.com/docs/doclist/images/drive_icon_32.png" @@ -2312,7 +2312,7 @@ } } }, - "revision": "20220717", + "revision": "20220731", "rootUrl": "https://www.googleapis.com/", "schemas": { "About": { diff --git a/googleapiclient/discovery_cache/documents/driveactivity.v2.json b/googleapiclient/discovery_cache/documents/driveactivity.v2.json index 5dbe1c050d7..7d0ace7c59a 100644 --- a/googleapiclient/discovery_cache/documents/driveactivity.v2.json +++ b/googleapiclient/discovery_cache/documents/driveactivity.v2.json @@ -132,7 +132,7 @@ } } }, - "revision": "20220720", + "revision": "20220803", "rootUrl": "https://driveactivity.googleapis.com/", "schemas": { "Action": { diff --git a/googleapiclient/discovery_cache/documents/drivelabels.v2.json b/googleapiclient/discovery_cache/documents/drivelabels.v2.json index 4759c2c31ed..725dd9d46b3 100644 --- a/googleapiclient/discovery_cache/documents/drivelabels.v2.json +++ b/googleapiclient/discovery_cache/documents/drivelabels.v2.json @@ -99,7 +99,7 @@ "labels": { "methods": { "get": { - "description": "Get a Label by its resource name. Resource name may be any of: * `labels/{id}` - See to `labels/{id}@latest` * `labels/{id}@latest` - Gets the latest revision of the Label. * `labels/{id}@published` - Gets the current published revision of the Label. * `labels/{id}@{revision_id}` - Gets the Label at the specified revision ID.", + "description": "Get a label by its resource name. Resource name may be any of: * `labels/{id}` - See `labels/{id}@latest` * `labels/{id}@latest` - Gets the latest revision of the label. * `labels/{id}@published` - Gets the current published revision of the label. * `labels/{id}@{revision_id}` - Gets the label at the specified revision ID.", "flatPath": "v2/labels/{labelsId}", "httpMethod": "GET", "id": "drivelabels.labels.get", @@ -108,7 +108,7 @@ ], "parameters": { "languageCode": { - "description": "The BCP-47 language code to use for evaluating localized Field labels. When not specified, values in the default configured language will be used.", + "description": "The BCP-47 language code to use for evaluating localized field labels. When not specified, values in the default configured language are used.", "location": "query", "type": "string" }, @@ -120,12 +120,12 @@ "type": "string" }, "useAdminAccess": { - "description": "Set to `true` in order to use the user's admin credentials. The server will verify the user is an admin for the Label before allowing access.", + "description": "Set to `true` in order to use the user's admin credentials. The server verifies that the user is an admin for the label before allowing access.", "location": "query", "type": "boolean" }, "view": { - "description": "When specified, only certain Fields belonging to the indicated view will be returned.", + "description": "When specified, only certain fields belonging to the indicated view are returned.", "enum": [ "LABEL_VIEW_BASIC", "LABEL_VIEW_FULL" @@ -144,14 +144,14 @@ } }, "list": { - "description": "-------------------------------------------------------------------------- ## Label APIs --------------------------------------------------------------- List Labels.", + "description": "List labels.", "flatPath": "v2/labels", "httpMethod": "GET", "id": "drivelabels.labels.list", "parameterOrder": [], "parameters": { "languageCode": { - "description": "The BCP-47 language code to use for evaluating localized field labels. When not specified, values in the default configured language will be used.", + "description": "The BCP-47 language code to use for evaluating localized field labels. When not specified, values in the default configured language are used.", "location": "query", "type": "string" }, @@ -166,16 +166,16 @@ ], "enumDescriptions": [ "Unknown role.", - "A reader can read the Label and associated metadata applied to Drive items.", + "A reader can read the label and associated metadata applied to Drive items.", "An applier can write associated metadata on Drive items in which they also have write access to. Implies `READER`.", - "An organizer is allowed to pin this label in shared drives they manage and add new appliers to the label.", - "Editors may make any updates including deleting the Label which will also delete associated Drive item metadata. Implies `APPLIER`." + "An organizer can pin this label in shared drives they manage and add new appliers to the label.", + "Editors can make any update including deleting the label which also deletes the associated Drive item metadata. Implies `APPLIER`." ], "location": "query", "type": "string" }, "pageSize": { - "description": "Maximum number of Labels to return per page. Default: 50. Max: 200.", + "description": "Maximum number of labels to return per page. Default: 50. Max: 200.", "format": "int32", "location": "query", "type": "integer" @@ -186,7 +186,7 @@ "type": "string" }, "publishedOnly": { - "description": "Whether to include only published labels in the results. * When `true`, only the current published label revisions will be returned. Disabled labels will be included. Returned Label resource names will reference the published revision (`labels/{id}/{revision_id}`). * When `false`, the current label revisions will be returned, which may not by published. Returned Label resource names will not reference a specific revision (`labels/{id}`).", + "description": "Whether to include only published labels in the results. * When `true`, only the current published label revisions are returned. Disabled labels are included. Returned label resource names reference the published revision (`labels/{id}/{revision_id}`). * When `false`, the current label revisions are returned, which might not be published. Returned label resource names don't reference a specific revision (`labels/{id}`).", "location": "query", "type": "boolean" }, @@ -196,7 +196,7 @@ "type": "boolean" }, "view": { - "description": "When specified, only certain fields belonging to the indicated view will be returned.", + "description": "When specified, only certain fields belonging to the indicated view are returned.", "enum": [ "LABEL_VIEW_BASIC", "LABEL_VIEW_FULL" @@ -217,26 +217,26 @@ } } }, - "revision": "20220721", + "revision": "20220802", "rootUrl": "https://drivelabels.googleapis.com/", "schemas": { "GoogleAppsDriveLabelsV2BadgeColors": { - "description": "The color derived from BadgeConfig and coerced to the nearest supported color.", + "description": "The color derived from BadgeConfig and changed to the closest recommended supported color.", "id": "GoogleAppsDriveLabelsV2BadgeColors", "properties": { "backgroundColor": { "$ref": "GoogleTypeColor", - "description": "Output only. Badge background which pairs with the foreground", + "description": "Output only. Badge background that pairs with the foreground.", "readOnly": true }, "foregroundColor": { "$ref": "GoogleTypeColor", - "description": "Output only. Badge foreground which pairs with the background", + "description": "Output only. Badge foreground that pairs with the background.", "readOnly": true }, "soloColor": { "$ref": "GoogleTypeColor", - "description": "Output only. Color that can be used for text without a background", + "description": "Output only. Color that can be used for text without a background.", "readOnly": true } }, @@ -248,10 +248,10 @@ "properties": { "color": { "$ref": "GoogleTypeColor", - "description": "The color of the badge. When not specified, no badge will be rendered. This color will be coerced into the closest recommended supported color." + "description": "The color of the badge. When not specified, no badge is rendered. The background, foreground, and solo (light and dark mode) colors set here are changed in the Drive UI into the closest recommended supported color." }, "priorityOverride": { - "description": "Override the default global priority of this badge. When set to 0, the default priority heuristic will be used.", + "description": "Override the default global priority of this badge. When set to 0, the default priority heuristic is used.", "format": "int64", "type": "string" } @@ -259,12 +259,12 @@ "type": "object" }, "GoogleAppsDriveLabelsV2Field": { - "description": "Defines a field which has a display name, data type, and other configuration options. This field defines the kind of metadata that may be set on a Drive item.", + "description": "Defines a field that has a display name, data type, and other configuration options. This field defines the kind of metadata that may be set on a Drive item.", "id": "GoogleAppsDriveLabelsV2Field", "properties": { "appliedCapabilities": { "$ref": "GoogleAppsDriveLabelsV2FieldAppliedCapabilities", - "description": "Output only. The capabilities this user has on this Field and its value when the Label is applied on Drive items.", + "description": "Output only. The capabilities this user has on this field and its value when the label is applied on Drive items.", "readOnly": true }, "createTime": { @@ -295,11 +295,11 @@ }, "displayHints": { "$ref": "GoogleAppsDriveLabelsV2FieldDisplayHints", - "description": "Output only. UI Display hints for rendering a Field.", + "description": "Output only. UI display hints for rendering a field.", "readOnly": true }, "id": { - "description": "Output only. The key of a field, unique within a Label or Library. This value is autogenerated, and will match the form `([a-zA-Z0-9_])+", + "description": "Output only. The key of a field, unique within a label or library. This value is autogenerated. Matches the regex: `([a-zA-Z0-9])+`", "readOnly": true, "type": "string" }, @@ -309,7 +309,7 @@ }, "lifecycle": { "$ref": "GoogleAppsDriveLabelsV2Lifecycle", - "description": "Output only. The lifecycle of this Field.", + "description": "Output only. The lifecycle of this field.", "readOnly": true }, "lockStatus": { @@ -327,13 +327,13 @@ "readOnly": true }, "queryKey": { - "description": "Output only. The key to use when constructing Drive search queries to find files based on values defined for this Field on files. For example: \"`{query_key}` > 2001-01-01\"", + "description": "Output only. The key to use when constructing Drive search queries to find files based on values defined for this field on files. For example, \"`{query_key}` > 2001-01-01\".", "readOnly": true, "type": "string" }, "schemaCapabilities": { "$ref": "GoogleAppsDriveLabelsV2FieldSchemaCapabilities", - "description": "Output only. The capabilities this user has when editing this Field", + "description": "Output only. The capabilities this user has when editing this field.", "readOnly": true }, "selectionOptions": { @@ -371,11 +371,11 @@ "type": "boolean" }, "canSearch": { - "description": "Whether the user can search for drive items referencing this field.", + "description": "Whether the user can search for Drive items referencing this field.", "type": "boolean" }, "canWrite": { - "description": "Whether the user can set this field on drive items.", + "description": "Whether the user can set this field on Drive items.", "type": "boolean" } }, @@ -386,12 +386,12 @@ "id": "GoogleAppsDriveLabelsV2FieldDateOptions", "properties": { "dateFormat": { - "description": "Output only. ICU Date format.", + "description": "Output only. ICU date format.", "readOnly": true, "type": "string" }, "dateFormatType": { - "description": "Localized date formatting option. Field values will be rendered in this format according to their locale.", + "description": "Localized date formatting option. Field values are rendered in this format according to their locale.", "enum": [ "DATE_FORMAT_UNSPECIFIED", "LONG_DATE", @@ -399,8 +399,8 @@ ], "enumDescriptions": [ "Date format unspecified.", - "Includes full month name. e.g. January 12, 1999 MMMM d, y", - "Short, numeric, representation. e.g. 12/13/99 M/d/yy" + "Includes full month name. For example, January 12, 1999 (MMMM d, y)", + "Short, numeric, representation. For example, 12/13/99 (M/d/yy)" ], "type": "string" }, @@ -418,7 +418,7 @@ "type": "object" }, "GoogleAppsDriveLabelsV2FieldDisplayHints": { - "description": "UI Display hints for rendering a Field.", + "description": "UI display hints for rendering a field.", "id": "GoogleAppsDriveLabelsV2FieldDisplayHints", "properties": { "disabled": { @@ -426,15 +426,15 @@ "type": "boolean" }, "hiddenInSearch": { - "description": "This Field should be hidden in the search menu.", + "description": "This field should be hidden in the search menu when searching for Drive items.", "type": "boolean" }, "required": { - "description": "Whether the Field should be shown as required in the UI.", + "description": "Whether the field should be shown as required in the UI.", "type": "boolean" }, "shownInApply": { - "description": "This Field should be shown when applying values to a Drive item.", + "description": "This field should be shown in the apply menu when applying values to a Drive item.", "type": "boolean" } }, @@ -480,7 +480,7 @@ "type": "string" }, "insertBeforeField": { - "description": "Input only. Insert or move this Field to be ordered before the indicated Field. If empty, the Field will be placed at the end of the list.", + "description": "Input only. Insert or move this field before the indicated field. If empty, the field is placed at the end of the list.", "type": "string" }, "required": { @@ -491,19 +491,19 @@ "type": "object" }, "GoogleAppsDriveLabelsV2FieldSchemaCapabilities": { - "description": "The capabilities related to this Field when editing the Field.", + "description": "The capabilities related to this field when editing the field.", "id": "GoogleAppsDriveLabelsV2FieldSchemaCapabilities", "properties": { "canDelete": { - "description": "Whether the user can delete this Field. The user must have permissions and the Field must be deprecated.", + "description": "Whether the user can delete this field. The user must have permission and the field must be deprecated.", "type": "boolean" }, "canDisable": { - "description": "Whether the user can disable this Field. The user must have permissions and this Field must not already be disabled.", + "description": "Whether the user can disable this field. The user must have permission and this field must not already be disabled.", "type": "boolean" }, "canEnable": { - "description": "Whether the user can enable this Field. The user must have permissions and this Field must be disabled.", + "description": "Whether the user can enable this field. The user must have permission and this field must be disabled.", "type": "boolean" }, "canUpdate": { @@ -526,74 +526,74 @@ }, "listOptions": { "$ref": "GoogleAppsDriveLabelsV2FieldListOptions", - "description": "When specified, indicates that this field support a list of values. Once the field is published, this cannot be changed." + "description": "When specified, indicates this field supports a list of values. Once the field is published, this cannot be changed." } }, "type": "object" }, "GoogleAppsDriveLabelsV2FieldSelectionOptionsChoice": { - "description": "Selection field Choice.", + "description": "Selection field choice.", "id": "GoogleAppsDriveLabelsV2FieldSelectionOptionsChoice", "properties": { "appliedCapabilities": { "$ref": "GoogleAppsDriveLabelsV2FieldSelectionOptionsChoiceAppliedCapabilities", - "description": "Output only. The capabilities related to this Choice on applied metadata.", + "description": "Output only. The capabilities related to this choice on applied metadata.", "readOnly": true }, "createTime": { - "description": "Output only. The time this Choice was created.", + "description": "Output only. The time this choice was created.", "format": "google-datetime", "readOnly": true, "type": "string" }, "creator": { "$ref": "GoogleAppsDriveLabelsV2UserInfo", - "description": "Output only. The user who created this Choice.", + "description": "Output only. The user who created this choice.", "readOnly": true }, "disableTime": { - "description": "Output only. The time this Choice was disabled. This value has no meaning when the Choice is not disabled.", + "description": "Output only. The time this choice was disabled. This value has no meaning when the choice is not disabled.", "format": "google-datetime", "readOnly": true, "type": "string" }, "disabler": { "$ref": "GoogleAppsDriveLabelsV2UserInfo", - "description": "Output only. The user who disabled this Choice. This value has no meaning when the option is not disabled.", + "description": "Output only. The user who disabled this choice. This value has no meaning when the option is not disabled.", "readOnly": true }, "displayHints": { "$ref": "GoogleAppsDriveLabelsV2FieldSelectionOptionsChoiceDisplayHints", - "description": "Output only. UI Display hints for rendering a Choice.", + "description": "Output only. UI display hints for rendering a choice.", "readOnly": true }, "id": { - "description": "The unique value of the Choice. This ID will be autogenerated, and will match the form `([a-zA-Z0-9_])+`.", + "description": "The unique value of the choice. This ID is autogenerated. Matches the regex: `([a-zA-Z0-9_])+`.", "type": "string" }, "lifecycle": { "$ref": "GoogleAppsDriveLabelsV2Lifecycle", - "description": "Output only. Lifecycle of the Choice.", + "description": "Output only. Lifecycle of the choice.", "readOnly": true }, "lockStatus": { "$ref": "GoogleAppsDriveLabelsV2LockStatus", - "description": "Output only. The LockStatus of this Choice.", + "description": "Output only. The LockStatus of this choice.", "readOnly": true }, "properties": { "$ref": "GoogleAppsDriveLabelsV2FieldSelectionOptionsChoiceProperties", - "description": "Basic properties of the Choice." + "description": "Basic properties of the choice." }, "publishTime": { - "description": "Output only. The time this Choice was published. This value has no meaning when the Choice is not published.", + "description": "Output only. The time this choice was published. This value has no meaning when the choice is not published.", "format": "google-datetime", "readOnly": true, "type": "string" }, "publisher": { "$ref": "GoogleAppsDriveLabelsV2UserInfo", - "description": "Output only. The user who published this Choice. This value has no meaning when the Choice is not published.", + "description": "Output only. The user who published this choice. This value has no meaning when the choice is not published.", "readOnly": true }, "schemaCapabilities": { @@ -602,21 +602,21 @@ "readOnly": true }, "updateTime": { - "description": "Output only. The time this Choice was updated last.", + "description": "Output only. The time this choice was updated last.", "format": "google-datetime", "readOnly": true, "type": "string" }, "updater": { "$ref": "GoogleAppsDriveLabelsV2UserInfo", - "description": "Output only. The user who updated this Choice last.", + "description": "Output only. The user who updated this choice last.", "readOnly": true } }, "type": "object" }, "GoogleAppsDriveLabelsV2FieldSelectionOptionsChoiceAppliedCapabilities": { - "description": "The capabilities related to this Choice on applied metadata.", + "description": "The capabilities related to this choice on applied metadata.", "id": "GoogleAppsDriveLabelsV2FieldSelectionOptionsChoiceAppliedCapabilities", "properties": { "canRead": { @@ -624,58 +624,58 @@ "type": "boolean" }, "canSearch": { - "description": "Whether the user can use this Choice in search queries.", + "description": "Whether the user can use this choice in search queries.", "type": "boolean" }, "canSelect": { - "description": "Whether the user can select this Choice on an item.", + "description": "Whether the user can select this choice on an item.", "type": "boolean" } }, "type": "object" }, "GoogleAppsDriveLabelsV2FieldSelectionOptionsChoiceDisplayHints": { - "description": "UI Display hints for rendering a Option.", + "description": "UI display hints for rendering an option.", "id": "GoogleAppsDriveLabelsV2FieldSelectionOptionsChoiceDisplayHints", "properties": { "badgeColors": { "$ref": "GoogleAppsDriveLabelsV2BadgeColors", - "description": "The colors to use for the badge. Coerced to Google Material colors based on the chosen `properties.badge_config.color`." + "description": "The colors to use for the badge. Changed to Google Material colors based on the chosen `properties.badge_config.color`." }, "badgePriority": { - "description": "The priority of this badge, used to compare and sort between multiple badges. A lower number means that the badge should be shown first. When a badging configuration is not present, this will be 0. Otherwise, this will be set to `BadgeConfig.priority_override` or the default heuristic which prefers creation date of the Label, and field and option priority.", + "description": "The priority of this badge. Used to compare and sort between multiple badges. A lower number means the badge should be shown first. When a badging configuration is not present, this will be 0. Otherwise, this will be set to `BadgeConfig.priority_override` or the default heuristic which prefers creation date of the label, and field and option priority.", "format": "int64", "type": "string" }, "darkBadgeColors": { "$ref": "GoogleAppsDriveLabelsV2BadgeColors", - "description": "The dark-mode color to use for the badge. Coerced to Google Material colors based on the chosen `properties.badge_config.color`." + "description": "The dark-mode color to use for the badge. Changed to Google Material colors based on the chosen `properties.badge_config.color`." }, "disabled": { "description": "Whether the option should be shown in the UI as disabled.", "type": "boolean" }, "hiddenInSearch": { - "description": "This option should be hidden in the search menu.", + "description": "This option should be hidden in the search menu when searching for Drive items.", "type": "boolean" }, "shownInApply": { - "description": "This option should be shown in the menu when applying values to a Drive item.", + "description": "This option should be shown in the apply menu when applying values to a Drive item.", "type": "boolean" } }, "type": "object" }, "GoogleAppsDriveLabelsV2FieldSelectionOptionsChoiceProperties": { - "description": "Basic properties of the Choice.", + "description": "Basic properties of the choice.", "id": "GoogleAppsDriveLabelsV2FieldSelectionOptionsChoiceProperties", "properties": { "badgeConfig": { "$ref": "GoogleAppsDriveLabelsV2BadgeConfig", - "description": "The badge configuration for this Choice. When set, the Label that owns this Choice will be considered a \"badged label\"." + "description": "The badge configuration for this choice. When set, the label that owns this choice is considered a \"badged label\"." }, "description": { - "description": "The description of this Label.", + "description": "The description of this label.", "type": "string" }, "displayName": { @@ -683,30 +683,30 @@ "type": "string" }, "insertBeforeChoice": { - "description": "Input only. Insert or move this Choice to be ordered before the indicated Choice. If empty, the Choice will be placed at the end of the list.", + "description": "Input only. Insert or move this choice before the indicated choice. If empty, the choice is placed at the end of the list.", "type": "string" } }, "type": "object" }, "GoogleAppsDriveLabelsV2FieldSelectionOptionsChoiceSchemaCapabilities": { - "description": "The capabilities related to this Choice when editing the Choice.", + "description": "The capabilities related to this choice when editing the choice.", "id": "GoogleAppsDriveLabelsV2FieldSelectionOptionsChoiceSchemaCapabilities", "properties": { "canDelete": { - "description": "Whether the user can delete this Choice.", + "description": "Whether the user can delete this choice.", "type": "boolean" }, "canDisable": { - "description": "Whether the user can disable this Chioce.", + "description": "Whether the user can disable this choice.", "type": "boolean" }, "canEnable": { - "description": "Whether the user can enable this Choice.", + "description": "Whether the user can enable this choice.", "type": "boolean" }, "canUpdate": { - "description": "Whether the user can update this Choice.", + "description": "Whether the user can update this choice.", "type": "boolean" } }, @@ -737,13 +737,13 @@ "properties": { "listOptions": { "$ref": "GoogleAppsDriveLabelsV2FieldListOptions", - "description": "When specified, indicates that this field support a list of values. Once the field is published, this cannot be changed." + "description": "When specified, indicates that this field supports a list of values. Once the field is published, this cannot be changed." } }, "type": "object" }, "GoogleAppsDriveLabelsV2Label": { - "description": "A Label defines a taxonomy which may be applied to a Drive items in order to organize and search across Items. Labels may be simple strings, or may contain Fields that describe additional metadata which can be further used to organize and search Drive items.", + "description": "A label defines a taxonomy that can be applied to Drive items in order to organize and search across items. Labels can be simple strings, or can contain fields that describe additional metadata that can be further used to organize and search Drive items.", "id": "GoogleAppsDriveLabelsV2Label", "properties": { "appliedCapabilities": { @@ -753,7 +753,7 @@ }, "appliedLabelPolicy": { "$ref": "GoogleAppsDriveLabelsV2LabelAppliedLabelPolicy", - "description": "Output only. Behavior of this Label when its applied to Drive items.", + "description": "Output only. Behavior of this label when it's applied to Drive items.", "readOnly": true }, "createTime": { @@ -780,23 +780,23 @@ }, "displayHints": { "$ref": "GoogleAppsDriveLabelsV2LabelDisplayHints", - "description": "Output only. UI Display hints for rendering the Label.", + "description": "Output only. UI display hints for rendering the label.", "readOnly": true }, "fields": { - "description": "List of Fields in descending priority order.", + "description": "List of fields in descending priority order.", "items": { "$ref": "GoogleAppsDriveLabelsV2Field" }, "type": "array" }, "id": { - "description": "Output only. Globally unique identifier of this Label. ID makes up part of the Label `name`, but unlike `name`, ID is consistent between revisions. Matches the regex: `([a-zA-Z0-9])+`", + "description": "Output only. Globally unique identifier of this label. ID makes up part of the label `name`, but unlike `name`, ID is consistent between revisions. Matches the regex: `([a-zA-Z0-9])+`", "readOnly": true, "type": "string" }, "labelType": { - "description": "Required. The type of this label.", + "description": "Required. The type of label.", "enum": [ "LABEL_TYPE_UNSPECIFIED", "SHARED", @@ -805,7 +805,7 @@ "enumDescriptions": [ "Unknown label type.", "Shared labels may be shared with users to apply to Drive items.", - "Admin owned label. Only creatable and editable by admins, supports some additional admin-only features." + "Admin-owned label. Only creatable and editable by admins. Supports some additional admin-only features." ], "type": "string" }, @@ -824,13 +824,13 @@ "readOnly": true }, "name": { - "description": "Output only. Resource name of the Label. Will be in the form of either: `labels/{id}` or `labels/{id}@{revision_id}` depending on the request. See `id` and `revision_id` below.", + "description": "Output only. Resource name of the label. Will be in the form of either: `labels/{id}` or `labels/{id}@{revision_id}` depending on the request. See `id` and `revision_id` below.", "readOnly": true, "type": "string" }, "properties": { "$ref": "GoogleAppsDriveLabelsV2LabelProperties", - "description": "Required. The basic properties of the Label." + "description": "Required. The basic properties of the label." }, "publishTime": { "description": "Output only. The time this label was published. This value has no meaning when the label is not published.", @@ -855,24 +855,24 @@ "readOnly": true }, "revisionId": { - "description": "Output only. Revision ID of the Label. Revision ID may be part of the Label `name` depending on the request issued. A new revision is created whenever revisioned properties of a Label are changed. Matches the regex: `([a-zA-Z0-9])+`", + "description": "Output only. Revision ID of the label. Revision ID might be part of the label `name` depending on the request issued. A new revision is created whenever revisioned properties of a label are changed. Matches the regex: `([a-zA-Z0-9])+`", "readOnly": true, "type": "string" }, "schemaCapabilities": { "$ref": "GoogleAppsDriveLabelsV2LabelSchemaCapabilities", - "description": "Output only. The capabilities the user has on this Label.", + "description": "Output only. The capabilities the user has on this label.", "readOnly": true } }, "type": "object" }, "GoogleAppsDriveLabelsV2LabelAppliedCapabilities": { - "description": "The capabilities a user has on this Label's applied metadata.", + "description": "The capabilities a user has on this label's applied metadata.", "id": "GoogleAppsDriveLabelsV2LabelAppliedCapabilities", "properties": { "canApply": { - "description": "Whether the user can apply this Label to items.", + "description": "Whether the user can apply this label to items.", "type": "boolean" }, "canRead": { @@ -880,18 +880,18 @@ "type": "boolean" }, "canRemove": { - "description": "Whether the user can remove this Label from items.", + "description": "Whether the user can remove this label from items.", "type": "boolean" } }, "type": "object" }, "GoogleAppsDriveLabelsV2LabelAppliedLabelPolicy": { - "description": "Behavior of this Label when its applied to Drive items.", + "description": "Behavior of this label when it's applied to Drive items.", "id": "GoogleAppsDriveLabelsV2LabelAppliedLabelPolicy", "properties": { "copyMode": { - "description": "Indicates how the applied Label, and Field values should be copied when a Drive item is copied.", + "description": "Indicates how the applied label and field values should be copied when a Drive item is copied.", "enum": [ "COPY_MODE_UNSPECIFIED", "DO_NOT_COPY", @@ -900,9 +900,9 @@ ], "enumDescriptions": [ "Copy mode unspecified.", - "The applied Label and Field values will not be copied by default when the Drive item it is applied to is copied.", - "The applied Label and Field values will always be copied when the Drive item it is applied to is copied. Only admins may use this mode.", - "The applied Label and Field values will be copied if and only if the label is appliable by the user making the copy." + "The applied label and field values are not copied by default when the Drive item it's applied to is copied.", + "The applied label and field values are always copied when the Drive item it's applied to is copied. Only admins can use this mode.", + "The applied label and field values are copied if the label is appliable by the user making the copy." ], "type": "string" } @@ -910,69 +910,69 @@ "type": "object" }, "GoogleAppsDriveLabelsV2LabelDisplayHints": { - "description": "UI Display hints for rendering the Label.", + "description": "UI display hints for rendering the label.", "id": "GoogleAppsDriveLabelsV2LabelDisplayHints", "properties": { "disabled": { - "description": "Whether the Label should be shown in the UI as disabled.", + "description": "Whether the label should be shown in the UI as disabled.", "type": "boolean" }, "hiddenInSearch": { - "description": "This Label should be hidden in the search menu when searching for Drive items.", + "description": "This label should be hidden in the search menu when searching for Drive items.", "type": "boolean" }, "priority": { - "description": "Order to display label in a list", + "description": "Order to display label in a list.", "format": "int64", "type": "string" }, "shownInApply": { - "description": "This Label should be shown in the apply menu.", + "description": "This label should be shown in the apply menu when applying values to a Drive item.", "type": "boolean" } }, "type": "object" }, "GoogleAppsDriveLabelsV2LabelProperties": { - "description": "Basic properties of the Label.", + "description": "Basic properties of the label.", "id": "GoogleAppsDriveLabelsV2LabelProperties", "properties": { "description": { - "description": "The description of this Label.", + "description": "The description of the label.", "type": "string" }, "title": { - "description": "Required. Title of the Label.", + "description": "Required. Title of the label.", "type": "string" } }, "type": "object" }, "GoogleAppsDriveLabelsV2LabelSchemaCapabilities": { - "description": "The capabilities related to this Label when editing the Label.", + "description": "The capabilities related to this label when editing the label.", "id": "GoogleAppsDriveLabelsV2LabelSchemaCapabilities", "properties": { "canDelete": { - "description": "Whether the user can delete this Label. The user must have permission and the Label must be disabled.", + "description": "Whether the user can delete this label. The user must have permission and the label must be disabled.", "type": "boolean" }, "canDisable": { - "description": "Whether the user can disable this Label. The user must have permission and this Label must not already be disabled.", + "description": "Whether the user can disable this label. The user must have permission and this label must not already be disabled.", "type": "boolean" }, "canEnable": { - "description": "Whether the user can enable this Label. The user must have permission and this Label must be disabled.", + "description": "Whether the user can enable this label. The user must have permission and this label must be disabled.", "type": "boolean" }, "canUpdate": { - "description": "Whether the user can change this Label.", + "description": "Whether the user can change this label.", "type": "boolean" } }, "type": "object" }, "GoogleAppsDriveLabelsV2Lifecycle": { - "description": "The lifecycle state of an object, e.g. Label, Field, or Choice. The Lifecycle enforces the following transitions: * `UNPUBLISHED_DRAFT` (starting state) * `UNPUBLISHED_DRAFT` -> `PUBLISHED` * `UNPUBLISHED_DRAFT` -> (Deleted) * `PUBLISHED` -> `DISABLED` * `DISABLED` -> `PUBLISHED` * `DISABLED` -> (Deleted) The published and disabled states have some distinct characteristics: * Published - Some kinds of changes may be made to an object in this state, in which case `has_unpublished_changes` will be true. Some kinds of changes are not permitted. Generally, any change that would invalidate or cause new restrictions on existing metadata related to the Label will be rejected. * Disabled - When disabled, the configured `DisabledPolicy` will take effect.", + "description": "The lifecycle state of an object, such as label, field, or choice. The lifecycle enforces the following transitions: * `UNPUBLISHED_DRAFT` (starting state) * `UNPUBLISHED_DRAFT` -> `PUBLISHED` * `UNPUBLISHED_DRAFT` -> (Deleted) * `PUBLISHED` -> `DISABLED` * `DISABLED` -> `PUBLISHED` * `DISABLED` -> (Deleted) The published and disabled states have some distinct characteristics: * Published\u2014Some kinds of changes might be made to an object in this state, in which case `has_unpublished_changes` will be true. Also, some kinds of changes are not permitted. Generally, any change that would invalidate or cause new restrictions on existing metadata related to the label are rejected. * Disabled\u2014When disabled, the configured `DisabledPolicy` takes effect.", "id": "GoogleAppsDriveLabelsV2Lifecycle", "properties": { "disabledPolicy": { @@ -995,10 +995,10 @@ ], "enumDescriptions": [ "Unknown State.", - "The initial state of an object. Once published, the object may never return to this state. Once an object is published, certain kinds of changes are no longer permitted.", - "The object has been published. The object may have unpublished draft changes as indicated by `has_unpublished_changes`.", - "The object has been published, and has since been disabled. The object may have unpublished draft changes as indicated by `has_unpublished_changes`.", - "The object has been deleted" + "The initial state of an object. Once published, the object can never return to this state. Once an object is published, certain kinds of changes are no longer permitted.", + "The object has been published. The object might have unpublished draft changes as indicated by `has_unpublished_changes`.", + "The object has been published and has since been disabled. The object might have unpublished draft changes as indicated by `has_unpublished_changes`.", + "The object has been deleted." ], "readOnly": true, "type": "string" @@ -1011,11 +1011,11 @@ "id": "GoogleAppsDriveLabelsV2LifecycleDisabledPolicy", "properties": { "hideInSearch": { - "description": "Whether to hide this disabled object in the search menu for Drive items. * When `false` the object will generally be shown in the UI as disabled (but still permit searching) when searching for Drive items. * When `true` the object will generally be hidden in the UI when searching for Drive items.", + "description": "Whether to hide this disabled object in the search menu for Drive items. * When `false`, the object is generally shown in the UI as disabled but it appears in the search results when searching for Drive items. * When `true`, the object is generally hidden in the UI when searching for Drive items.", "type": "boolean" }, "showInApply": { - "description": "Whether to show this disabled object in the apply menu on Drive items. * When `true` the object will generally be shown in the UI as disabled and is unselectable. * When `false` the object will generally be hidden in the UI.", + "description": "Whether to show this disabled object in the apply menu on Drive items. * When `true`, the object is generally shown in the UI as disabled and is unselectable. * When `false`, the object is generally hidden in the UI.", "type": "boolean" } }, @@ -1044,7 +1044,7 @@ "id": "GoogleAppsDriveLabelsV2LockStatus", "properties": { "locked": { - "description": "Output only. Indicates whether this label component is the (direct) target of a LabelLock. A label component may be implicitly locked even if it is not the direct target of a LabelLock, in which case this field will be false.", + "description": "Output only. Indicates whether this label component is the (direct) target of a LabelLock. A label component can be implicitly locked even if it's not the direct target of a LabelLock, in which case this field is set to false.", "readOnly": true, "type": "boolean" } @@ -1056,7 +1056,7 @@ "id": "GoogleAppsDriveLabelsV2UserInfo", "properties": { "person": { - "description": "The identifier for this user who can be used with the People API to get more information. e.g. people/12345678", + "description": "The identifier for this user that can be used with the People API to get more information. For example, people/12345678.", "type": "string" } }, diff --git a/googleapiclient/discovery_cache/documents/drivelabels.v2beta.json b/googleapiclient/discovery_cache/documents/drivelabels.v2beta.json new file mode 100644 index 00000000000..99c91346729 --- /dev/null +++ b/googleapiclient/discovery_cache/documents/drivelabels.v2beta.json @@ -0,0 +1,2902 @@ +{ + "basePath": "", + "baseUrl": "https://drivelabels.googleapis.com/", + "batchPath": "batch", + "canonicalName": "Drive Labels", + "description": "An API for managing Drive Labels", + "discoveryVersion": "v1", + "documentationLink": "https://developers.google.com/drive/labels", + "fullyEncodeReservedExpansion": true, + "icons": { + "x16": "http://www.google.com/images/icons/product/search-16.gif", + "x32": "http://www.google.com/images/icons/product/search-32.gif" + }, + "id": "drivelabels:v2beta", + "kind": "discovery#restDescription", + "mtlsRootUrl": "https://drivelabels.mtls.googleapis.com/", + "name": "drivelabels", + "ownerDomain": "google.com", + "ownerName": "Google", + "parameters": { + "$.xgafv": { + "description": "V1 error format.", + "enum": [ + "1", + "2" + ], + "enumDescriptions": [ + "v1 error format", + "v2 error format" + ], + "location": "query", + "type": "string" + }, + "access_token": { + "description": "OAuth access token.", + "location": "query", + "type": "string" + }, + "alt": { + "default": "json", + "description": "Data format for response.", + "enum": [ + "json", + "media", + "proto" + ], + "enumDescriptions": [ + "Responses with Content-Type of application/json", + "Media download with context-dependent Content-Type", + "Responses with Content-Type of application/x-protobuf" + ], + "location": "query", + "type": "string" + }, + "callback": { + "description": "JSONP", + "location": "query", + "type": "string" + }, + "fields": { + "description": "Selector specifying which fields to include in a partial response.", + "location": "query", + "type": "string" + }, + "key": { + "description": "API key. Your API key identifies your project and provides you with API access, quota, and reports. Required unless you provide an OAuth 2.0 token.", + "location": "query", + "type": "string" + }, + "oauth_token": { + "description": "OAuth 2.0 token for the current user.", + "location": "query", + "type": "string" + }, + "prettyPrint": { + "default": "true", + "description": "Returns response with indentations and line breaks.", + "location": "query", + "type": "boolean" + }, + "quotaUser": { + "description": "Available to use for quota purposes for server-side applications. Can be any arbitrary string assigned to a user, but should not exceed 40 characters.", + "location": "query", + "type": "string" + }, + "uploadType": { + "description": "Legacy upload protocol for media (e.g. \"media\", \"multipart\").", + "location": "query", + "type": "string" + }, + "upload_protocol": { + "description": "Upload protocol for media (e.g. \"raw\", \"multipart\").", + "location": "query", + "type": "string" + } + }, + "protocol": "rest", + "resources": { + "labels": { + "methods": { + "create": { + "description": "Creates a new Label.", + "flatPath": "v2beta/labels", + "httpMethod": "POST", + "id": "drivelabels.labels.create", + "parameterOrder": [], + "parameters": { + "languageCode": { + "description": "The BCP-47 language code to use for evaluating localized Field labels in response. When not specified, values in the default configured language will be used.", + "location": "query", + "type": "string" + }, + "useAdminAccess": { + "description": "Set to `true` in order to use the user's admin privileges. The server will verify the user is an admin before allowing access.", + "location": "query", + "type": "boolean" + } + }, + "path": "v2beta/labels", + "request": { + "$ref": "GoogleAppsDriveLabelsV2betaLabel" + }, + "response": { + "$ref": "GoogleAppsDriveLabelsV2betaLabel" + } + }, + "delete": { + "description": "Permanently deletes a Label and related metadata on Drive Items. Once deleted, the Label and related Drive item metadata will be deleted. Only draft Labels, and disabled Labels may be deleted.", + "flatPath": "v2beta/labels/{labelsId}", + "httpMethod": "DELETE", + "id": "drivelabels.labels.delete", + "parameterOrder": [ + "name" + ], + "parameters": { + "name": { + "description": "Required. Label resource name.", + "location": "path", + "pattern": "^labels/[^/]+$", + "required": true, + "type": "string" + }, + "useAdminAccess": { + "description": "Set to `true` in order to use the user's admin credentials. The server will verify the user is an admin for the Label before allowing access.", + "location": "query", + "type": "boolean" + }, + "writeControl.requiredRevisionId": { + "description": "The revision_id of the label that the write request will be applied to. If this is not the latest revision of the label, the request will not be processed and will return a 400 Bad Request error.", + "location": "query", + "type": "string" + } + }, + "path": "v2beta/{+name}", + "response": { + "$ref": "GoogleProtobufEmpty" + } + }, + "delta": { + "description": "Updates a single Label by applying a set of update requests resulting in a new draft revision. The batch update is all-or-nothing: If any of the update requests are invalid, no changes are applied. The resulting draft revision must be published before the changes may be used with Drive Items.", + "flatPath": "v2beta/labels/{labelsId}:delta", + "httpMethod": "POST", + "id": "drivelabels.labels.delta", + "parameterOrder": [ + "name" + ], + "parameters": { + "name": { + "description": "Required. The resource name of the Label to update.", + "location": "path", + "pattern": "^labels/[^/]+$", + "required": true, + "type": "string" + } + }, + "path": "v2beta/{+name}:delta", + "request": { + "$ref": "GoogleAppsDriveLabelsV2betaDeltaUpdateLabelRequest" + }, + "response": { + "$ref": "GoogleAppsDriveLabelsV2betaDeltaUpdateLabelResponse" + } + }, + "disable": { + "description": "Disable a published Label. Disabling a Label will result in a new disabled published revision based on the current published revision. If there is a draft revision, a new disabled draft revision will be created based on the latest draft revision. Older draft revisions will be deleted. Once disabled, a label may be deleted with `DeleteLabel`.", + "flatPath": "v2beta/labels/{labelsId}:disable", + "httpMethod": "POST", + "id": "drivelabels.labels.disable", + "parameterOrder": [ + "name" + ], + "parameters": { + "name": { + "description": "Required. Label resource name.", + "location": "path", + "pattern": "^labels/[^/]+$", + "required": true, + "type": "string" + } + }, + "path": "v2beta/{+name}:disable", + "request": { + "$ref": "GoogleAppsDriveLabelsV2betaDisableLabelRequest" + }, + "response": { + "$ref": "GoogleAppsDriveLabelsV2betaLabel" + } + }, + "enable": { + "description": "Enable a disabled Label and restore it to its published state. This will result in a new published revision based on the current disabled published revision. If there is an existing disabled draft revision, a new revision will be created based on that draft and will be enabled.", + "flatPath": "v2beta/labels/{labelsId}:enable", + "httpMethod": "POST", + "id": "drivelabels.labels.enable", + "parameterOrder": [ + "name" + ], + "parameters": { + "name": { + "description": "Required. Label resource name.", + "location": "path", + "pattern": "^labels/[^/]+$", + "required": true, + "type": "string" + } + }, + "path": "v2beta/{+name}:enable", + "request": { + "$ref": "GoogleAppsDriveLabelsV2betaEnableLabelRequest" + }, + "response": { + "$ref": "GoogleAppsDriveLabelsV2betaLabel" + } + }, + "get": { + "description": "Get a label by its resource name. Resource name may be any of: * `labels/{id}` - See `labels/{id}@latest` * `labels/{id}@latest` - Gets the latest revision of the label. * `labels/{id}@published` - Gets the current published revision of the label. * `labels/{id}@{revision_id}` - Gets the label at the specified revision ID.", + "flatPath": "v2beta/labels/{labelsId}", + "httpMethod": "GET", + "id": "drivelabels.labels.get", + "parameterOrder": [ + "name" + ], + "parameters": { + "languageCode": { + "description": "The BCP-47 language code to use for evaluating localized field labels. When not specified, values in the default configured language are used.", + "location": "query", + "type": "string" + }, + "name": { + "description": "Required. Label resource name. May be any of: * `labels/{id}` (equivalent to labels/{id}@latest) * `labels/{id}@latest` * `labels/{id}@published` * `labels/{id}@{revision_id}`", + "location": "path", + "pattern": "^labels/[^/]+$", + "required": true, + "type": "string" + }, + "useAdminAccess": { + "description": "Set to `true` in order to use the user's admin credentials. The server verifies that the user is an admin for the label before allowing access.", + "location": "query", + "type": "boolean" + }, + "view": { + "description": "When specified, only certain fields belonging to the indicated view are returned.", + "enum": [ + "LABEL_VIEW_BASIC", + "LABEL_VIEW_FULL" + ], + "enumDescriptions": [ + "Implies the field mask: `name,id,revision_id,label_type,properties.*`", + "All possible fields." + ], + "location": "query", + "type": "string" + } + }, + "path": "v2beta/{+name}", + "response": { + "$ref": "GoogleAppsDriveLabelsV2betaLabel" + } + }, + "list": { + "description": "List labels.", + "flatPath": "v2beta/labels", + "httpMethod": "GET", + "id": "drivelabels.labels.list", + "parameterOrder": [], + "parameters": { + "languageCode": { + "description": "The BCP-47 language code to use for evaluating localized field labels. When not specified, values in the default configured language are used.", + "location": "query", + "type": "string" + }, + "minimumRole": { + "description": "Specifies the level of access the user must have on the returned Labels. The minimum role a user must have on a label. Defaults to `READER`.", + "enum": [ + "LABEL_ROLE_UNSPECIFIED", + "READER", + "APPLIER", + "ORGANIZER", + "EDITOR" + ], + "enumDescriptions": [ + "Unknown role.", + "A reader can read the label and associated metadata applied to Drive items.", + "An applier can write associated metadata on Drive items in which they also have write access to. Implies `READER`.", + "An organizer can pin this label in shared drives they manage and add new appliers to the label.", + "Editors can make any update including deleting the label which also deletes the associated Drive item metadata. Implies `APPLIER`." + ], + "location": "query", + "type": "string" + }, + "pageSize": { + "description": "Maximum number of labels to return per page. Default: 50. Max: 200.", + "format": "int32", + "location": "query", + "type": "integer" + }, + "pageToken": { + "description": "The token of the page to return.", + "location": "query", + "type": "string" + }, + "publishedOnly": { + "description": "Whether to include only published labels in the results. * When `true`, only the current published label revisions are returned. Disabled labels are included. Returned label resource names reference the published revision (`labels/{id}/{revision_id}`). * When `false`, the current label revisions are returned, which might not be published. Returned label resource names don't reference a specific revision (`labels/{id}`).", + "location": "query", + "type": "boolean" + }, + "useAdminAccess": { + "description": "Set to `true` in order to use the user's admin credentials. This will return all Labels within the customer.", + "location": "query", + "type": "boolean" + }, + "view": { + "description": "When specified, only certain fields belonging to the indicated view are returned.", + "enum": [ + "LABEL_VIEW_BASIC", + "LABEL_VIEW_FULL" + ], + "enumDescriptions": [ + "Implies the field mask: `name,id,revision_id,label_type,properties.*`", + "All possible fields." + ], + "location": "query", + "type": "string" + } + }, + "path": "v2beta/labels", + "response": { + "$ref": "GoogleAppsDriveLabelsV2betaListLabelsResponse" + } + }, + "publish": { + "description": "Publish all draft changes to the Label. Once published, the Label may not return to its draft state. See `google.apps.drive.labels.v2.Lifecycle` for more information. Publishing a Label will result in a new published revision. All previous draft revisions will be deleted. Previous published revisions will be kept but are subject to automated deletion as needed. Once published, some changes are no longer permitted. Generally, any change that would invalidate or cause new restrictions on existing metadata related to the Label will be rejected. For example, the following changes to a Label will be rejected after the Label is published: * The label cannot be directly deleted. It must be disabled first, then deleted. * Field.FieldType cannot be changed. * Changes to Field validation options cannot reject something that was previously accepted. * Reducing the max entries.", + "flatPath": "v2beta/labels/{labelsId}:publish", + "httpMethod": "POST", + "id": "drivelabels.labels.publish", + "parameterOrder": [ + "name" + ], + "parameters": { + "name": { + "description": "Required. Label resource name.", + "location": "path", + "pattern": "^labels/[^/]+$", + "required": true, + "type": "string" + } + }, + "path": "v2beta/{+name}:publish", + "request": { + "$ref": "GoogleAppsDriveLabelsV2betaPublishLabelRequest" + }, + "response": { + "$ref": "GoogleAppsDriveLabelsV2betaLabel" + } + }, + "updateLabelCopyMode": { + "description": "Updates a Label's `CopyMode`. Changes to this policy are not revisioned, do not require publishing, and take effect immediately.", + "flatPath": "v2beta/labels/{labelsId}:updateLabelCopyMode", + "httpMethod": "POST", + "id": "drivelabels.labels.updateLabelCopyMode", + "parameterOrder": [ + "name" + ], + "parameters": { + "name": { + "description": "Required. The resource name of the Label to update.", + "location": "path", + "pattern": "^labels/[^/]+$", + "required": true, + "type": "string" + } + }, + "path": "v2beta/{+name}:updateLabelCopyMode", + "request": { + "$ref": "GoogleAppsDriveLabelsV2betaUpdateLabelCopyModeRequest" + }, + "response": { + "$ref": "GoogleAppsDriveLabelsV2betaLabel" + } + } + }, + "resources": { + "locks": { + "methods": { + "list": { + "description": "Lists the Locks on a Label.", + "flatPath": "v2beta/labels/{labelsId}/locks", + "httpMethod": "GET", + "id": "drivelabels.labels.locks.list", + "parameterOrder": [ + "parent" + ], + "parameters": { + "pageSize": { + "description": "Maximum number of Locks to return per page. Default: 100. Max: 200.", + "format": "int32", + "location": "query", + "type": "integer" + }, + "pageToken": { + "description": "The token of the page to return.", + "location": "query", + "type": "string" + }, + "parent": { + "description": "Required. Label on which Locks are applied. Format: labels/{label}", + "location": "path", + "pattern": "^labels/[^/]+$", + "required": true, + "type": "string" + } + }, + "path": "v2beta/{+parent}/locks", + "response": { + "$ref": "GoogleAppsDriveLabelsV2betaListLabelLocksResponse" + } + } + } + }, + "permissions": { + "methods": { + "batchDelete": { + "description": "Deletes Label permissions. Permissions affect the Label resource as a whole, are not revisioned, and do not require publishing.", + "flatPath": "v2beta/labels/{labelsId}/permissions:batchDelete", + "httpMethod": "POST", + "id": "drivelabels.labels.permissions.batchDelete", + "parameterOrder": [ + "labelsId" + ], + "parameters": { + "labelsId": { + "location": "path", + "required": true, + "type": "string" + } + }, + "path": "v2beta/labels/{labelsId}/permissions:batchDelete", + "request": { + "$ref": "GoogleAppsDriveLabelsV2betaBatchDeleteLabelPermissionsRequest" + }, + "response": { + "$ref": "GoogleProtobufEmpty" + } + }, + "batchUpdate": { + "description": "Updates Label permissions. If a permission for the indicated principal doesn't exist, a new Label Permission is created, otherwise the existing permission is updated. Permissions affect the Label resource as a whole, are not revisioned, and do not require publishing.", + "flatPath": "v2beta/labels/{labelsId}/permissions:batchUpdate", + "httpMethod": "POST", + "id": "drivelabels.labels.permissions.batchUpdate", + "parameterOrder": [ + "parent" + ], + "parameters": { + "parent": { + "description": "Required. The parent Label resource name shared by all permissions being updated. Format: labels/{label} If this is set, the parent field in the UpdateLabelPermissionRequest messages must either be empty or match this field.", + "location": "path", + "pattern": "^labels/[^/]+$", + "required": true, + "type": "string" + } + }, + "path": "v2beta/{+parent}/permissions:batchUpdate", + "request": { + "$ref": "GoogleAppsDriveLabelsV2betaBatchUpdateLabelPermissionsRequest" + }, + "response": { + "$ref": "GoogleAppsDriveLabelsV2betaBatchUpdateLabelPermissionsResponse" + } + }, + "create": { + "description": "Updates a Label's permissions. If a permission for the indicated principal doesn't exist, a new Label Permission is created, otherwise the existing permission is updated. Permissions affect the Label resource as a whole, are not revisioned, and do not require publishing.", + "flatPath": "v2beta/labels/{labelsId}/permissions", + "httpMethod": "POST", + "id": "drivelabels.labels.permissions.create", + "parameterOrder": [ + "parent" + ], + "parameters": { + "parent": { + "description": "Required. The parent Label resource name on the Label Permission is created. Format: labels/{label}", + "location": "path", + "pattern": "^labels/[^/]+$", + "required": true, + "type": "string" + }, + "useAdminAccess": { + "description": "Set to `true` in order to use the user's admin credentials. The server will verify the user is an admin for the Label before allowing access.", + "location": "query", + "type": "boolean" + } + }, + "path": "v2beta/{+parent}/permissions", + "request": { + "$ref": "GoogleAppsDriveLabelsV2betaLabelPermission" + }, + "response": { + "$ref": "GoogleAppsDriveLabelsV2betaLabelPermission" + } + }, + "delete": { + "description": "Deletes a Label's permission. Permissions affect the Label resource as a whole, are not revisioned, and do not require publishing.", + "flatPath": "v2beta/labels/{labelsId}/permissions/{permissionsId}", + "httpMethod": "DELETE", + "id": "drivelabels.labels.permissions.delete", + "parameterOrder": [ + "name" + ], + "parameters": { + "name": { + "description": "Required. Label Permission resource name.", + "location": "path", + "pattern": "^labels/[^/]+/permissions/[^/]+$", + "required": true, + "type": "string" + }, + "useAdminAccess": { + "description": "Set to `true` in order to use the user's admin credentials. The server will verify the user is an admin for the Label before allowing access.", + "location": "query", + "type": "boolean" + } + }, + "path": "v2beta/{+name}", + "response": { + "$ref": "GoogleProtobufEmpty" + } + }, + "list": { + "description": "Lists a Label's permissions.", + "flatPath": "v2beta/labels/{labelsId}/permissions", + "httpMethod": "GET", + "id": "drivelabels.labels.permissions.list", + "parameterOrder": [ + "parent" + ], + "parameters": { + "pageSize": { + "description": "Maximum number of permissions to return per page. Default: 50. Max: 200.", + "format": "int32", + "location": "query", + "type": "integer" + }, + "pageToken": { + "description": "The token of the page to return.", + "location": "query", + "type": "string" + }, + "parent": { + "description": "Required. The parent Label resource name on which Label Permission are listed. Format: labels/{label}", + "location": "path", + "pattern": "^labels/[^/]+$", + "required": true, + "type": "string" + }, + "useAdminAccess": { + "description": "Set to `true` in order to use the user's admin credentials. The server will verify the user is an admin for the Label before allowing access.", + "location": "query", + "type": "boolean" + } + }, + "path": "v2beta/{+parent}/permissions", + "response": { + "$ref": "GoogleAppsDriveLabelsV2betaListLabelPermissionsResponse" + } + }, + "patch": { + "description": "Updates a Label's permissions. If a permission for the indicated principal doesn't exist, a new Label Permission is created, otherwise the existing permission is updated. Permissions affect the Label resource as a whole, are not revisioned, and do not require publishing.", + "flatPath": "v2beta/labels/{labelsId}/permissions/{permissionsId}", + "httpMethod": "PATCH", + "id": "drivelabels.labels.permissions.patch", + "parameterOrder": [ + "parent" + ], + "parameters": { + "parent": { + "description": "Required. The parent Label resource name.", + "location": "path", + "pattern": "^labels/[^/]+/permissions/[^/]+$", + "required": true, + "type": "string" + }, + "useAdminAccess": { + "description": "Set to `true` in order to use the user's admin credentials. The server will verify the user is an admin for the Label before allowing access.", + "location": "query", + "type": "boolean" + } + }, + "path": "v2beta/{+parent}", + "request": { + "$ref": "GoogleAppsDriveLabelsV2betaLabelPermission" + }, + "response": { + "$ref": "GoogleAppsDriveLabelsV2betaLabelPermission" + } + } + } + }, + "revisions": { + "resources": { + "locks": { + "methods": { + "list": { + "description": "Lists the Locks on a Label.", + "flatPath": "v2beta/labels/{labelsId}/revisions/{revisionsId}/locks", + "httpMethod": "GET", + "id": "drivelabels.labels.revisions.locks.list", + "parameterOrder": [ + "parent" + ], + "parameters": { + "pageSize": { + "description": "Maximum number of Locks to return per page. Default: 100. Max: 200.", + "format": "int32", + "location": "query", + "type": "integer" + }, + "pageToken": { + "description": "The token of the page to return.", + "location": "query", + "type": "string" + }, + "parent": { + "description": "Required. Label on which Locks are applied. Format: labels/{label}", + "location": "path", + "pattern": "^labels/[^/]+/revisions/[^/]+$", + "required": true, + "type": "string" + } + }, + "path": "v2beta/{+parent}/locks", + "response": { + "$ref": "GoogleAppsDriveLabelsV2betaListLabelLocksResponse" + } + } + } + }, + "permissions": { + "methods": { + "batchDelete": { + "description": "Deletes Label permissions. Permissions affect the Label resource as a whole, are not revisioned, and do not require publishing.", + "flatPath": "v2beta/labels/{labelsId}/revisions/{revisionsId}/permissions:batchDelete", + "httpMethod": "POST", + "id": "drivelabels.labels.revisions.permissions.batchDelete", + "parameterOrder": [ + "labelsId", + "revisionsId" + ], + "parameters": { + "labelsId": { + "location": "path", + "required": true, + "type": "string" + }, + "revisionsId": { + "location": "path", + "required": true, + "type": "string" + } + }, + "path": "v2beta/labels/{labelsId}/revisions/{revisionsId}/permissions:batchDelete", + "request": { + "$ref": "GoogleAppsDriveLabelsV2betaBatchDeleteLabelPermissionsRequest" + }, + "response": { + "$ref": "GoogleProtobufEmpty" + } + }, + "batchUpdate": { + "description": "Updates Label permissions. If a permission for the indicated principal doesn't exist, a new Label Permission is created, otherwise the existing permission is updated. Permissions affect the Label resource as a whole, are not revisioned, and do not require publishing.", + "flatPath": "v2beta/labels/{labelsId}/revisions/{revisionsId}/permissions:batchUpdate", + "httpMethod": "POST", + "id": "drivelabels.labels.revisions.permissions.batchUpdate", + "parameterOrder": [ + "parent" + ], + "parameters": { + "parent": { + "description": "Required. The parent Label resource name shared by all permissions being updated. Format: labels/{label} If this is set, the parent field in the UpdateLabelPermissionRequest messages must either be empty or match this field.", + "location": "path", + "pattern": "^labels/[^/]+/revisions/[^/]+$", + "required": true, + "type": "string" + } + }, + "path": "v2beta/{+parent}/permissions:batchUpdate", + "request": { + "$ref": "GoogleAppsDriveLabelsV2betaBatchUpdateLabelPermissionsRequest" + }, + "response": { + "$ref": "GoogleAppsDriveLabelsV2betaBatchUpdateLabelPermissionsResponse" + } + }, + "create": { + "description": "Updates a Label's permissions. If a permission for the indicated principal doesn't exist, a new Label Permission is created, otherwise the existing permission is updated. Permissions affect the Label resource as a whole, are not revisioned, and do not require publishing.", + "flatPath": "v2beta/labels/{labelsId}/revisions/{revisionsId}/permissions", + "httpMethod": "POST", + "id": "drivelabels.labels.revisions.permissions.create", + "parameterOrder": [ + "parent" + ], + "parameters": { + "parent": { + "description": "Required. The parent Label resource name on the Label Permission is created. Format: labels/{label}", + "location": "path", + "pattern": "^labels/[^/]+/revisions/[^/]+$", + "required": true, + "type": "string" + }, + "useAdminAccess": { + "description": "Set to `true` in order to use the user's admin credentials. The server will verify the user is an admin for the Label before allowing access.", + "location": "query", + "type": "boolean" + } + }, + "path": "v2beta/{+parent}/permissions", + "request": { + "$ref": "GoogleAppsDriveLabelsV2betaLabelPermission" + }, + "response": { + "$ref": "GoogleAppsDriveLabelsV2betaLabelPermission" + } + }, + "delete": { + "description": "Deletes a Label's permission. Permissions affect the Label resource as a whole, are not revisioned, and do not require publishing.", + "flatPath": "v2beta/labels/{labelsId}/revisions/{revisionsId}/permissions/{permissionsId}", + "httpMethod": "DELETE", + "id": "drivelabels.labels.revisions.permissions.delete", + "parameterOrder": [ + "name" + ], + "parameters": { + "name": { + "description": "Required. Label Permission resource name.", + "location": "path", + "pattern": "^labels/[^/]+/revisions/[^/]+/permissions/[^/]+$", + "required": true, + "type": "string" + }, + "useAdminAccess": { + "description": "Set to `true` in order to use the user's admin credentials. The server will verify the user is an admin for the Label before allowing access.", + "location": "query", + "type": "boolean" + } + }, + "path": "v2beta/{+name}", + "response": { + "$ref": "GoogleProtobufEmpty" + } + }, + "list": { + "description": "Lists a Label's permissions.", + "flatPath": "v2beta/labels/{labelsId}/revisions/{revisionsId}/permissions", + "httpMethod": "GET", + "id": "drivelabels.labels.revisions.permissions.list", + "parameterOrder": [ + "parent" + ], + "parameters": { + "pageSize": { + "description": "Maximum number of permissions to return per page. Default: 50. Max: 200.", + "format": "int32", + "location": "query", + "type": "integer" + }, + "pageToken": { + "description": "The token of the page to return.", + "location": "query", + "type": "string" + }, + "parent": { + "description": "Required. The parent Label resource name on which Label Permission are listed. Format: labels/{label}", + "location": "path", + "pattern": "^labels/[^/]+/revisions/[^/]+$", + "required": true, + "type": "string" + }, + "useAdminAccess": { + "description": "Set to `true` in order to use the user's admin credentials. The server will verify the user is an admin for the Label before allowing access.", + "location": "query", + "type": "boolean" + } + }, + "path": "v2beta/{+parent}/permissions", + "response": { + "$ref": "GoogleAppsDriveLabelsV2betaListLabelPermissionsResponse" + } + }, + "patch": { + "description": "Updates a Label's permissions. If a permission for the indicated principal doesn't exist, a new Label Permission is created, otherwise the existing permission is updated. Permissions affect the Label resource as a whole, are not revisioned, and do not require publishing.", + "flatPath": "v2beta/labels/{labelsId}/revisions/{revisionsId}/permissions/{permissionsId}", + "httpMethod": "PATCH", + "id": "drivelabels.labels.revisions.permissions.patch", + "parameterOrder": [ + "parent" + ], + "parameters": { + "parent": { + "description": "Required. The parent Label resource name.", + "location": "path", + "pattern": "^labels/[^/]+/revisions/[^/]+/permissions/[^/]+$", + "required": true, + "type": "string" + }, + "useAdminAccess": { + "description": "Set to `true` in order to use the user's admin credentials. The server will verify the user is an admin for the Label before allowing access.", + "location": "query", + "type": "boolean" + } + }, + "path": "v2beta/{+parent}", + "request": { + "$ref": "GoogleAppsDriveLabelsV2betaLabelPermission" + }, + "response": { + "$ref": "GoogleAppsDriveLabelsV2betaLabelPermission" + } + } + } + } + } + } + } + }, + "limits": { + "methods": { + "getLabel": { + "description": "Get the constraints on the structure of a Label; such as, the maximum number of Fields allowed and maximum length of the label title.", + "flatPath": "v2beta/limits/label", + "httpMethod": "GET", + "id": "drivelabels.limits.getLabel", + "parameterOrder": [], + "parameters": { + "name": { + "description": "Required. Label revision resource name Must be: \"limits/label\"", + "location": "query", + "type": "string" + } + }, + "path": "v2beta/limits/label", + "response": { + "$ref": "GoogleAppsDriveLabelsV2betaLabelLimits" + } + } + } + }, + "users": { + "methods": { + "getCapabilities": { + "description": "Gets the user capabilities.", + "flatPath": "v2beta/users/{usersId}/capabilities", + "httpMethod": "GET", + "id": "drivelabels.users.getCapabilities", + "parameterOrder": [ + "name" + ], + "parameters": { + "name": { + "description": "Required. The resource name of the user. Only \"users/me/capabilities\" is supported.", + "location": "path", + "pattern": "^users/[^/]+/capabilities$", + "required": true, + "type": "string" + } + }, + "path": "v2beta/{+name}", + "response": { + "$ref": "GoogleAppsDriveLabelsV2betaUserCapabilities" + } + } + } + } + }, + "revision": "20220802", + "rootUrl": "https://drivelabels.googleapis.com/", + "schemas": { + "GoogleAppsDriveLabelsV2betaBadgeColors": { + "description": "The color derived from BadgeConfig and changed to the closest recommended supported color.", + "id": "GoogleAppsDriveLabelsV2betaBadgeColors", + "properties": { + "backgroundColor": { + "$ref": "GoogleTypeColor", + "description": "Output only. Badge background that pairs with the foreground.", + "readOnly": true + }, + "foregroundColor": { + "$ref": "GoogleTypeColor", + "description": "Output only. Badge foreground that pairs with the background.", + "readOnly": true + }, + "soloColor": { + "$ref": "GoogleTypeColor", + "description": "Output only. Color that can be used for text without a background.", + "readOnly": true + } + }, + "type": "object" + }, + "GoogleAppsDriveLabelsV2betaBadgeConfig": { + "description": "Badge status of the label.", + "id": "GoogleAppsDriveLabelsV2betaBadgeConfig", + "properties": { + "color": { + "$ref": "GoogleTypeColor", + "description": "The color of the badge. When not specified, no badge is rendered. The background, foreground, and solo (light and dark mode) colors set here are changed in the Drive UI into the closest recommended supported color." + }, + "priorityOverride": { + "description": "Override the default global priority of this badge. When set to 0, the default priority heuristic is used.", + "format": "int64", + "type": "string" + } + }, + "type": "object" + }, + "GoogleAppsDriveLabelsV2betaBatchDeleteLabelPermissionsRequest": { + "description": "Deletes one of more Label Permissions.", + "id": "GoogleAppsDriveLabelsV2betaBatchDeleteLabelPermissionsRequest", + "properties": { + "requests": { + "description": "Required. The request message specifying the resources to update.", + "items": { + "$ref": "GoogleAppsDriveLabelsV2betaDeleteLabelPermissionRequest" + }, + "type": "array" + }, + "useAdminAccess": { + "description": "Set to `true` in order to use the user's admin credentials. The server will verify the user is an admin for the Label before allowing access. If this is set, the use_admin_access field in the DeleteLabelPermissionRequest messages must either be empty or match this field.", + "type": "boolean" + } + }, + "type": "object" + }, + "GoogleAppsDriveLabelsV2betaBatchUpdateLabelPermissionsRequest": { + "description": "Updates one or more Label Permissions.", + "id": "GoogleAppsDriveLabelsV2betaBatchUpdateLabelPermissionsRequest", + "properties": { + "requests": { + "description": "Required. The request message specifying the resources to update.", + "items": { + "$ref": "GoogleAppsDriveLabelsV2betaUpdateLabelPermissionRequest" + }, + "type": "array" + }, + "useAdminAccess": { + "description": "Set to `true` in order to use the user's admin credentials. The server will verify the user is an admin for the Label before allowing access. If this is set, the use_admin_access field in the UpdateLabelPermissionRequest messages must either be empty or match this field.", + "type": "boolean" + } + }, + "type": "object" + }, + "GoogleAppsDriveLabelsV2betaBatchUpdateLabelPermissionsResponse": { + "description": "Response for updating one or more Label Permissions.", + "id": "GoogleAppsDriveLabelsV2betaBatchUpdateLabelPermissionsResponse", + "properties": { + "permissions": { + "description": "Required. Permissions updated.", + "items": { + "$ref": "GoogleAppsDriveLabelsV2betaLabelPermission" + }, + "type": "array" + } + }, + "type": "object" + }, + "GoogleAppsDriveLabelsV2betaDateLimits": { + "description": "Limits for date Field type.", + "id": "GoogleAppsDriveLabelsV2betaDateLimits", + "properties": { + "maxValue": { + "$ref": "GoogleTypeDate", + "description": "Maximum value for the date Field type." + }, + "minValue": { + "$ref": "GoogleTypeDate", + "description": "Minimum value for the date Field type." + } + }, + "type": "object" + }, + "GoogleAppsDriveLabelsV2betaDeleteLabelPermissionRequest": { + "description": "Deletes a Label Permission. Permissions affect the Label resource as a whole, are not revisioned, and do not require publishing.", + "id": "GoogleAppsDriveLabelsV2betaDeleteLabelPermissionRequest", + "properties": { + "name": { + "description": "Required. Label Permission resource name.", + "type": "string" + }, + "useAdminAccess": { + "description": "Set to `true` in order to use the user's admin credentials. The server will verify the user is an admin for the Label before allowing access.", + "type": "boolean" + } + }, + "type": "object" + }, + "GoogleAppsDriveLabelsV2betaDeltaUpdateLabelRequest": { + "description": "The set of requests for updating aspects of a Label. If any request is not valid, no requests will be applied.", + "id": "GoogleAppsDriveLabelsV2betaDeltaUpdateLabelRequest", + "properties": { + "languageCode": { + "description": "The BCP-47 language code to use for evaluating localized Field labels when `include_label_in_response` is `true`.", + "type": "string" + }, + "requests": { + "description": "A list of updates to apply to the Label. Requests will be applied in the order they are specified.", + "items": { + "$ref": "GoogleAppsDriveLabelsV2betaDeltaUpdateLabelRequestRequest" + }, + "type": "array" + }, + "useAdminAccess": { + "description": "Set to `true` in order to use the user's admin credentials. The server will verify the user is an admin for the Label before allowing access.", + "type": "boolean" + }, + "view": { + "description": "When specified, only certain fields belonging to the indicated view will be returned.", + "enum": [ + "LABEL_VIEW_BASIC", + "LABEL_VIEW_FULL" + ], + "enumDescriptions": [ + "Implies the field mask: `name,id,revision_id,label_type,properties.*`", + "All possible fields." + ], + "type": "string" + }, + "writeControl": { + "$ref": "GoogleAppsDriveLabelsV2betaWriteControl", + "description": "Provides control over how write requests are executed." + } + }, + "type": "object" + }, + "GoogleAppsDriveLabelsV2betaDeltaUpdateLabelRequestCreateFieldRequest": { + "description": "Request to create a Field within a Label.", + "id": "GoogleAppsDriveLabelsV2betaDeltaUpdateLabelRequestCreateFieldRequest", + "properties": { + "field": { + "$ref": "GoogleAppsDriveLabelsV2betaField", + "description": "Required. Field to create." + } + }, + "type": "object" + }, + "GoogleAppsDriveLabelsV2betaDeltaUpdateLabelRequestCreateSelectionChoiceRequest": { + "description": "Request to create a Selection Choice.", + "id": "GoogleAppsDriveLabelsV2betaDeltaUpdateLabelRequestCreateSelectionChoiceRequest", + "properties": { + "choice": { + "$ref": "GoogleAppsDriveLabelsV2betaFieldSelectionOptionsChoice", + "description": "Required. The Choice to create." + }, + "fieldId": { + "description": "Required. The Selection Field in which a Choice will be created.", + "type": "string" + } + }, + "type": "object" + }, + "GoogleAppsDriveLabelsV2betaDeltaUpdateLabelRequestDeleteFieldRequest": { + "description": "Request to delete the Field.", + "id": "GoogleAppsDriveLabelsV2betaDeltaUpdateLabelRequestDeleteFieldRequest", + "properties": { + "id": { + "description": "Required. ID of the Field to delete.", + "type": "string" + } + }, + "type": "object" + }, + "GoogleAppsDriveLabelsV2betaDeltaUpdateLabelRequestDeleteSelectionChoiceRequest": { + "description": "Request to delete a Choice.", + "id": "GoogleAppsDriveLabelsV2betaDeltaUpdateLabelRequestDeleteSelectionChoiceRequest", + "properties": { + "fieldId": { + "description": "Required. The Selection Field from which a Choice will be deleted.", + "type": "string" + }, + "id": { + "description": "Required. Choice to delete.", + "type": "string" + } + }, + "type": "object" + }, + "GoogleAppsDriveLabelsV2betaDeltaUpdateLabelRequestDisableFieldRequest": { + "description": "Request to disable the Field.", + "id": "GoogleAppsDriveLabelsV2betaDeltaUpdateLabelRequestDisableFieldRequest", + "properties": { + "disabledPolicy": { + "$ref": "GoogleAppsDriveLabelsV2betaLifecycleDisabledPolicy", + "description": "Required. Field Disabled Policy." + }, + "id": { + "description": "Required. Key of the Field to disable.", + "type": "string" + }, + "updateMask": { + "description": "The fields that should be updated. At least one field must be specified. The root `disabled_policy` is implied and should not be specified. A single `*` can be used as short-hand for updating every field.", + "format": "google-fieldmask", + "type": "string" + } + }, + "type": "object" + }, + "GoogleAppsDriveLabelsV2betaDeltaUpdateLabelRequestDisableSelectionChoiceRequest": { + "description": "Request to disable a Choice.", + "id": "GoogleAppsDriveLabelsV2betaDeltaUpdateLabelRequestDisableSelectionChoiceRequest", + "properties": { + "disabledPolicy": { + "$ref": "GoogleAppsDriveLabelsV2betaLifecycleDisabledPolicy", + "description": "Required. The disabled policy to update." + }, + "fieldId": { + "description": "Required. The Selection Field in which a Choice will be disabled.", + "type": "string" + }, + "id": { + "description": "Required. Choice to disable.", + "type": "string" + }, + "updateMask": { + "description": "The fields that should be updated. At least one field must be specified. The root `disabled_policy` is implied and should not be specified. A single `*` can be used as short-hand for updating every field.", + "format": "google-fieldmask", + "type": "string" + } + }, + "type": "object" + }, + "GoogleAppsDriveLabelsV2betaDeltaUpdateLabelRequestEnableFieldRequest": { + "description": "Request to enable the Field.", + "id": "GoogleAppsDriveLabelsV2betaDeltaUpdateLabelRequestEnableFieldRequest", + "properties": { + "id": { + "description": "Required. ID of the Field to enable.", + "type": "string" + } + }, + "type": "object" + }, + "GoogleAppsDriveLabelsV2betaDeltaUpdateLabelRequestEnableSelectionChoiceRequest": { + "description": "Request to enable a Choice.", + "id": "GoogleAppsDriveLabelsV2betaDeltaUpdateLabelRequestEnableSelectionChoiceRequest", + "properties": { + "fieldId": { + "description": "Required. The Selection Field in which a Choice will be enabled.", + "type": "string" + }, + "id": { + "description": "Required. Choice to enable.", + "type": "string" + } + }, + "type": "object" + }, + "GoogleAppsDriveLabelsV2betaDeltaUpdateLabelRequestRequest": { + "description": "A single kind of update to apply to a Label.", + "id": "GoogleAppsDriveLabelsV2betaDeltaUpdateLabelRequestRequest", + "properties": { + "createField": { + "$ref": "GoogleAppsDriveLabelsV2betaDeltaUpdateLabelRequestCreateFieldRequest", + "description": "Creates a new Field." + }, + "createSelectionChoice": { + "$ref": "GoogleAppsDriveLabelsV2betaDeltaUpdateLabelRequestCreateSelectionChoiceRequest", + "description": "Creates Choice within a Selection field." + }, + "deleteField": { + "$ref": "GoogleAppsDriveLabelsV2betaDeltaUpdateLabelRequestDeleteFieldRequest", + "description": "Deletes a Field from the label." + }, + "deleteSelectionChoice": { + "$ref": "GoogleAppsDriveLabelsV2betaDeltaUpdateLabelRequestDeleteSelectionChoiceRequest", + "description": "Delete a Choice within a Selection Field." + }, + "disableField": { + "$ref": "GoogleAppsDriveLabelsV2betaDeltaUpdateLabelRequestDisableFieldRequest", + "description": "Disables the Field." + }, + "disableSelectionChoice": { + "$ref": "GoogleAppsDriveLabelsV2betaDeltaUpdateLabelRequestDisableSelectionChoiceRequest", + "description": "Disable a Choice within a Selection Field." + }, + "enableField": { + "$ref": "GoogleAppsDriveLabelsV2betaDeltaUpdateLabelRequestEnableFieldRequest", + "description": "Enables the Field." + }, + "enableSelectionChoice": { + "$ref": "GoogleAppsDriveLabelsV2betaDeltaUpdateLabelRequestEnableSelectionChoiceRequest", + "description": "Enable a Choice within a Selection Field." + }, + "updateField": { + "$ref": "GoogleAppsDriveLabelsV2betaDeltaUpdateLabelRequestUpdateFieldPropertiesRequest", + "description": "Updates basic properties of a Field." + }, + "updateFieldType": { + "$ref": "GoogleAppsDriveLabelsV2betaDeltaUpdateLabelRequestUpdateFieldTypeRequest", + "description": "Update Field type and/or type options." + }, + "updateLabel": { + "$ref": "GoogleAppsDriveLabelsV2betaDeltaUpdateLabelRequestUpdateLabelPropertiesRequest", + "description": "Updates the Label properties." + }, + "updateSelectionChoiceProperties": { + "$ref": "GoogleAppsDriveLabelsV2betaDeltaUpdateLabelRequestUpdateSelectionChoicePropertiesRequest", + "description": "Update a Choice properties within a Selection Field." + } + }, + "type": "object" + }, + "GoogleAppsDriveLabelsV2betaDeltaUpdateLabelRequestUpdateFieldPropertiesRequest": { + "description": "Request to update Field properties.", + "id": "GoogleAppsDriveLabelsV2betaDeltaUpdateLabelRequestUpdateFieldPropertiesRequest", + "properties": { + "id": { + "description": "Required. The Field to update.", + "type": "string" + }, + "properties": { + "$ref": "GoogleAppsDriveLabelsV2betaFieldProperties", + "description": "Required. Basic Field properties." + }, + "updateMask": { + "description": "The fields that should be updated. At least one field must be specified. The root `properties` is implied and should not be specified. A single `*` can be used as short-hand for updating every field.", + "format": "google-fieldmask", + "type": "string" + } + }, + "type": "object" + }, + "GoogleAppsDriveLabelsV2betaDeltaUpdateLabelRequestUpdateFieldTypeRequest": { + "description": "Request to change the type of a Field.", + "id": "GoogleAppsDriveLabelsV2betaDeltaUpdateLabelRequestUpdateFieldTypeRequest", + "properties": { + "dateOptions": { + "$ref": "GoogleAppsDriveLabelsV2betaFieldDateOptions", + "description": "Update field to Date." + }, + "id": { + "description": "Required. The Field to update.", + "type": "string" + }, + "integerOptions": { + "$ref": "GoogleAppsDriveLabelsV2betaFieldIntegerOptions", + "description": "Update field to Integer." + }, + "longTextOptions": { + "$ref": "GoogleAppsDriveLabelsV2betaFieldLongTextOptions", + "description": "Update field to Long Text." + }, + "selectionOptions": { + "$ref": "GoogleAppsDriveLabelsV2betaFieldSelectionOptions", + "description": "Update field to Selection." + }, + "textOptions": { + "$ref": "GoogleAppsDriveLabelsV2betaFieldTextOptions", + "description": "Update field to Text." + }, + "updateMask": { + "description": "The fields that should be updated. At least one field must be specified. The root of `type_options` is implied and should not be specified. A single `*` can be used as short-hand for updating every field.", + "format": "google-fieldmask", + "type": "string" + }, + "userOptions": { + "$ref": "GoogleAppsDriveLabelsV2betaFieldUserOptions", + "description": "Update field to User." + } + }, + "type": "object" + }, + "GoogleAppsDriveLabelsV2betaDeltaUpdateLabelRequestUpdateLabelPropertiesRequest": { + "description": "Updates basic properties of a Label.", + "id": "GoogleAppsDriveLabelsV2betaDeltaUpdateLabelRequestUpdateLabelPropertiesRequest", + "properties": { + "properties": { + "$ref": "GoogleAppsDriveLabelsV2betaLabelProperties", + "description": "Required. Label properties to update." + }, + "updateMask": { + "description": "The fields that should be updated. At least one field must be specified. The root `label_properties` is implied and should not be specified. A single `*` can be used as short-hand for updating every field.", + "format": "google-fieldmask", + "type": "string" + } + }, + "type": "object" + }, + "GoogleAppsDriveLabelsV2betaDeltaUpdateLabelRequestUpdateSelectionChoicePropertiesRequest": { + "description": "Request to update a Choice properties.", + "id": "GoogleAppsDriveLabelsV2betaDeltaUpdateLabelRequestUpdateSelectionChoicePropertiesRequest", + "properties": { + "fieldId": { + "description": "Required. The Selection Field to update.", + "type": "string" + }, + "id": { + "description": "Required. The Choice to update.", + "type": "string" + }, + "properties": { + "$ref": "GoogleAppsDriveLabelsV2betaFieldSelectionOptionsChoiceProperties", + "description": "Required. The Choice properties to update." + }, + "updateMask": { + "description": "The fields that should be updated. At least one field must be specified. The root `properties` is implied and should not be specified. A single `*` can be used as short-hand for updating every field.", + "format": "google-fieldmask", + "type": "string" + } + }, + "type": "object" + }, + "GoogleAppsDriveLabelsV2betaDeltaUpdateLabelResponse": { + "description": "Response for Label update.", + "id": "GoogleAppsDriveLabelsV2betaDeltaUpdateLabelResponse", + "properties": { + "responses": { + "description": "The reply of the updates. This maps 1:1 with the updates, although responses to some requests may be empty.", + "items": { + "$ref": "GoogleAppsDriveLabelsV2betaDeltaUpdateLabelResponseResponse" + }, + "type": "array" + }, + "updatedLabel": { + "$ref": "GoogleAppsDriveLabelsV2betaLabel", + "description": "The label after updates were applied. This is only set if [BatchUpdateLabelResponse2.include_label_in_response] is `true` and there were no errors." + } + }, + "type": "object" + }, + "GoogleAppsDriveLabelsV2betaDeltaUpdateLabelResponseCreateFieldResponse": { + "description": "Response following Field create.", + "id": "GoogleAppsDriveLabelsV2betaDeltaUpdateLabelResponseCreateFieldResponse", + "properties": { + "id": { + "description": "The field of the created field. When left blank in a create request, a key will be autogenerated and can be identified here.", + "type": "string" + }, + "priority": { + "description": "The priority of the created field. The priority may change from what was specified to assure contiguous priorities between fields (1-n).", + "format": "int32", + "type": "integer" + } + }, + "type": "object" + }, + "GoogleAppsDriveLabelsV2betaDeltaUpdateLabelResponseCreateSelectionChoiceResponse": { + "description": "Response following Selection Choice create.", + "id": "GoogleAppsDriveLabelsV2betaDeltaUpdateLabelResponseCreateSelectionChoiceResponse", + "properties": { + "fieldId": { + "description": "The server-generated id of the field.", + "type": "string" + }, + "id": { + "description": "The server-generated ID of the created choice within the Field", + "type": "string" + } + }, + "type": "object" + }, + "GoogleAppsDriveLabelsV2betaDeltaUpdateLabelResponseDeleteFieldResponse": { + "description": "Response following Field delete.", + "id": "GoogleAppsDriveLabelsV2betaDeltaUpdateLabelResponseDeleteFieldResponse", + "properties": {}, + "type": "object" + }, + "GoogleAppsDriveLabelsV2betaDeltaUpdateLabelResponseDeleteSelectionChoiceResponse": { + "description": "Response following Choice delete.", + "id": "GoogleAppsDriveLabelsV2betaDeltaUpdateLabelResponseDeleteSelectionChoiceResponse", + "properties": {}, + "type": "object" + }, + "GoogleAppsDriveLabelsV2betaDeltaUpdateLabelResponseDisableFieldResponse": { + "description": "Response following Field disable.", + "id": "GoogleAppsDriveLabelsV2betaDeltaUpdateLabelResponseDisableFieldResponse", + "properties": {}, + "type": "object" + }, + "GoogleAppsDriveLabelsV2betaDeltaUpdateLabelResponseDisableSelectionChoiceResponse": { + "description": "Response following Choice disable.", + "id": "GoogleAppsDriveLabelsV2betaDeltaUpdateLabelResponseDisableSelectionChoiceResponse", + "properties": {}, + "type": "object" + }, + "GoogleAppsDriveLabelsV2betaDeltaUpdateLabelResponseEnableFieldResponse": { + "description": "Response following Field enable.", + "id": "GoogleAppsDriveLabelsV2betaDeltaUpdateLabelResponseEnableFieldResponse", + "properties": {}, + "type": "object" + }, + "GoogleAppsDriveLabelsV2betaDeltaUpdateLabelResponseEnableSelectionChoiceResponse": { + "description": "Response following Choice enable.", + "id": "GoogleAppsDriveLabelsV2betaDeltaUpdateLabelResponseEnableSelectionChoiceResponse", + "properties": {}, + "type": "object" + }, + "GoogleAppsDriveLabelsV2betaDeltaUpdateLabelResponseResponse": { + "description": "A single response from an update.", + "id": "GoogleAppsDriveLabelsV2betaDeltaUpdateLabelResponseResponse", + "properties": { + "createField": { + "$ref": "GoogleAppsDriveLabelsV2betaDeltaUpdateLabelResponseCreateFieldResponse", + "description": "Creates a new Field." + }, + "createSelectionChoice": { + "$ref": "GoogleAppsDriveLabelsV2betaDeltaUpdateLabelResponseCreateSelectionChoiceResponse", + "description": "Creates a new selection list option to add to a Selection Field." + }, + "deleteField": { + "$ref": "GoogleAppsDriveLabelsV2betaDeltaUpdateLabelResponseDeleteFieldResponse", + "description": "Deletes a Field from the label." + }, + "deleteSelectionChoice": { + "$ref": "GoogleAppsDriveLabelsV2betaDeltaUpdateLabelResponseDeleteSelectionChoiceResponse", + "description": "Deletes a Choice from a Selection Field." + }, + "disableField": { + "$ref": "GoogleAppsDriveLabelsV2betaDeltaUpdateLabelResponseDisableFieldResponse", + "description": "Disables Field." + }, + "disableSelectionChoice": { + "$ref": "GoogleAppsDriveLabelsV2betaDeltaUpdateLabelResponseDisableSelectionChoiceResponse", + "description": "Disables a Choice within a Selection Field." + }, + "enableField": { + "$ref": "GoogleAppsDriveLabelsV2betaDeltaUpdateLabelResponseEnableFieldResponse", + "description": "Enables Field." + }, + "enableSelectionChoice": { + "$ref": "GoogleAppsDriveLabelsV2betaDeltaUpdateLabelResponseEnableSelectionChoiceResponse", + "description": "Enables a Choice within a Selection Field." + }, + "updateField": { + "$ref": "GoogleAppsDriveLabelsV2betaDeltaUpdateLabelResponseUpdateFieldPropertiesResponse", + "description": "Updates basic properties of a Field." + }, + "updateFieldType": { + "$ref": "GoogleAppsDriveLabelsV2betaDeltaUpdateLabelResponseUpdateFieldTypeResponse", + "description": "Update Field type and/or type options." + }, + "updateLabel": { + "$ref": "GoogleAppsDriveLabelsV2betaDeltaUpdateLabelResponseUpdateLabelPropertiesResponse", + "description": "Updated basic properties of a Label." + }, + "updateSelectionChoiceProperties": { + "$ref": "GoogleAppsDriveLabelsV2betaDeltaUpdateLabelResponseUpdateSelectionChoicePropertiesResponse", + "description": "Updates a Choice within a Selection Field." + } + }, + "type": "object" + }, + "GoogleAppsDriveLabelsV2betaDeltaUpdateLabelResponseUpdateFieldPropertiesResponse": { + "description": "Response following update to Field properties.", + "id": "GoogleAppsDriveLabelsV2betaDeltaUpdateLabelResponseUpdateFieldPropertiesResponse", + "properties": { + "priority": { + "description": "The priority of the updated field. The priority may change from what was specified to assure contiguous priorities between fields (1-n).", + "format": "int32", + "type": "integer" + } + }, + "type": "object" + }, + "GoogleAppsDriveLabelsV2betaDeltaUpdateLabelResponseUpdateFieldTypeResponse": { + "description": "Response following update to Field type.", + "id": "GoogleAppsDriveLabelsV2betaDeltaUpdateLabelResponseUpdateFieldTypeResponse", + "properties": {}, + "type": "object" + }, + "GoogleAppsDriveLabelsV2betaDeltaUpdateLabelResponseUpdateLabelPropertiesResponse": { + "description": "Response following update to Label properties.", + "id": "GoogleAppsDriveLabelsV2betaDeltaUpdateLabelResponseUpdateLabelPropertiesResponse", + "properties": {}, + "type": "object" + }, + "GoogleAppsDriveLabelsV2betaDeltaUpdateLabelResponseUpdateSelectionChoicePropertiesResponse": { + "description": "Response following update to Selection Choice properties.", + "id": "GoogleAppsDriveLabelsV2betaDeltaUpdateLabelResponseUpdateSelectionChoicePropertiesResponse", + "properties": { + "priority": { + "description": "The priority of the updated choice. The priority may change from what was specified to assure contiguous priorities between choices (1-n).", + "format": "int32", + "type": "integer" + } + }, + "type": "object" + }, + "GoogleAppsDriveLabelsV2betaDisableLabelRequest": { + "description": "Request to deprecate a published Label.", + "id": "GoogleAppsDriveLabelsV2betaDisableLabelRequest", + "properties": { + "disabledPolicy": { + "$ref": "GoogleAppsDriveLabelsV2betaLifecycleDisabledPolicy", + "description": "Disabled policy to use." + }, + "languageCode": { + "description": "The BCP-47 language code to use for evaluating localized field labels. When not specified, values in the default configured language will be used.", + "type": "string" + }, + "updateMask": { + "description": "The fields that should be updated. At least one field must be specified. The root `disabled_policy` is implied and should not be specified. A single `*` can be used as short-hand for updating every field.", + "format": "google-fieldmask", + "type": "string" + }, + "useAdminAccess": { + "description": "Set to `true` in order to use the user's admin credentials. The server will verify the user is an admin for the Label before allowing access.", + "type": "boolean" + }, + "writeControl": { + "$ref": "GoogleAppsDriveLabelsV2betaWriteControl", + "description": "Provides control over how write requests are executed. Defaults to unset, which means last write wins." + } + }, + "type": "object" + }, + "GoogleAppsDriveLabelsV2betaEnableLabelRequest": { + "description": "Request to enable a label.", + "id": "GoogleAppsDriveLabelsV2betaEnableLabelRequest", + "properties": { + "languageCode": { + "description": "The BCP-47 language code to use for evaluating localized field labels. When not specified, values in the default configured language will be used.", + "type": "string" + }, + "useAdminAccess": { + "description": "Set to `true` in order to use the user's admin credentials. The server will verify the user is an admin for the Label before allowing access.", + "type": "boolean" + }, + "writeControl": { + "$ref": "GoogleAppsDriveLabelsV2betaWriteControl", + "description": "Provides control over how write requests are executed. Defaults to unset, which means last write wins." + } + }, + "type": "object" + }, + "GoogleAppsDriveLabelsV2betaField": { + "description": "Defines a field that has a display name, data type, and other configuration options. This field defines the kind of metadata that may be set on a Drive item.", + "id": "GoogleAppsDriveLabelsV2betaField", + "properties": { + "appliedCapabilities": { + "$ref": "GoogleAppsDriveLabelsV2betaFieldAppliedCapabilities", + "description": "Output only. The capabilities this user has on this field and its value when the label is applied on Drive items.", + "readOnly": true + }, + "createTime": { + "description": "Output only. The time this field was created.", + "format": "google-datetime", + "readOnly": true, + "type": "string" + }, + "creator": { + "$ref": "GoogleAppsDriveLabelsV2betaUserInfo", + "description": "Output only. The user who created this field.", + "readOnly": true + }, + "dateOptions": { + "$ref": "GoogleAppsDriveLabelsV2betaFieldDateOptions", + "description": "Date field options." + }, + "disableTime": { + "description": "Output only. The time this field was disabled. This value has no meaning when the field is not disabled.", + "format": "google-datetime", + "readOnly": true, + "type": "string" + }, + "disabler": { + "$ref": "GoogleAppsDriveLabelsV2betaUserInfo", + "description": "Output only. The user who disabled this field. This value has no meaning when the field is not disabled.", + "readOnly": true + }, + "displayHints": { + "$ref": "GoogleAppsDriveLabelsV2betaFieldDisplayHints", + "description": "Output only. UI display hints for rendering a field.", + "readOnly": true + }, + "id": { + "description": "Output only. The key of a field, unique within a label or library. This value is autogenerated. Matches the regex: `([a-zA-Z0-9])+`", + "readOnly": true, + "type": "string" + }, + "integerOptions": { + "$ref": "GoogleAppsDriveLabelsV2betaFieldIntegerOptions", + "description": "Integer field options." + }, + "lifecycle": { + "$ref": "GoogleAppsDriveLabelsV2betaLifecycle", + "description": "Output only. The lifecycle of this field.", + "readOnly": true + }, + "lockStatus": { + "$ref": "GoogleAppsDriveLabelsV2betaLockStatus", + "description": "Output only. The LockStatus of this field.", + "readOnly": true + }, + "properties": { + "$ref": "GoogleAppsDriveLabelsV2betaFieldProperties", + "description": "The basic properties of the field." + }, + "publisher": { + "$ref": "GoogleAppsDriveLabelsV2betaUserInfo", + "description": "Output only. The user who published this field. This value has no meaning when the field is not published.", + "readOnly": true + }, + "queryKey": { + "description": "Output only. The key to use when constructing Drive search queries to find files based on values defined for this field on files. For example, \"`{query_key}` > 2001-01-01\".", + "readOnly": true, + "type": "string" + }, + "schemaCapabilities": { + "$ref": "GoogleAppsDriveLabelsV2betaFieldSchemaCapabilities", + "description": "Output only. The capabilities this user has when editing this field.", + "readOnly": true + }, + "selectionOptions": { + "$ref": "GoogleAppsDriveLabelsV2betaFieldSelectionOptions", + "description": "Selection field options." + }, + "textOptions": { + "$ref": "GoogleAppsDriveLabelsV2betaFieldTextOptions", + "description": "Text field options." + }, + "updateTime": { + "description": "Output only. The time this field was updated.", + "format": "google-datetime", + "readOnly": true, + "type": "string" + }, + "updater": { + "$ref": "GoogleAppsDriveLabelsV2betaUserInfo", + "description": "Output only. The user who modified this field.", + "readOnly": true + }, + "userOptions": { + "$ref": "GoogleAppsDriveLabelsV2betaFieldUserOptions", + "description": "User field options." + } + }, + "type": "object" + }, + "GoogleAppsDriveLabelsV2betaFieldAppliedCapabilities": { + "description": "The capabilities related to this field on applied metadata.", + "id": "GoogleAppsDriveLabelsV2betaFieldAppliedCapabilities", + "properties": { + "canRead": { + "description": "Whether the user can read related applied metadata on items.", + "type": "boolean" + }, + "canSearch": { + "description": "Whether the user can search for Drive items referencing this field.", + "type": "boolean" + }, + "canWrite": { + "description": "Whether the user can set this field on Drive items.", + "type": "boolean" + } + }, + "type": "object" + }, + "GoogleAppsDriveLabelsV2betaFieldDateOptions": { + "description": "Options for the date field type.", + "id": "GoogleAppsDriveLabelsV2betaFieldDateOptions", + "properties": { + "dateFormat": { + "description": "Output only. ICU date format.", + "readOnly": true, + "type": "string" + }, + "dateFormatType": { + "description": "Localized date formatting option. Field values are rendered in this format according to their locale.", + "enum": [ + "DATE_FORMAT_UNSPECIFIED", + "LONG_DATE", + "SHORT_DATE" + ], + "enumDescriptions": [ + "Date format unspecified.", + "Includes full month name. For example, January 12, 1999 (MMMM d, y)", + "Short, numeric, representation. For example, 12/13/99 (M/d/yy)" + ], + "type": "string" + }, + "maxValue": { + "$ref": "GoogleTypeDate", + "description": "Output only. Maximum valid value (year, month, day).", + "readOnly": true + }, + "minValue": { + "$ref": "GoogleTypeDate", + "description": "Output only. Minimum valid value (year, month, day).", + "readOnly": true + } + }, + "type": "object" + }, + "GoogleAppsDriveLabelsV2betaFieldDisplayHints": { + "description": "UI display hints for rendering a field.", + "id": "GoogleAppsDriveLabelsV2betaFieldDisplayHints", + "properties": { + "disabled": { + "description": "Whether the field should be shown in the UI as disabled.", + "type": "boolean" + }, + "hiddenInSearch": { + "description": "This field should be hidden in the search menu when searching for Drive items.", + "type": "boolean" + }, + "required": { + "description": "Whether the field should be shown as required in the UI.", + "type": "boolean" + }, + "shownInApply": { + "description": "This field should be shown in the apply menu when applying values to a Drive item.", + "type": "boolean" + } + }, + "type": "object" + }, + "GoogleAppsDriveLabelsV2betaFieldIntegerOptions": { + "description": "Options for the Integer field type.", + "id": "GoogleAppsDriveLabelsV2betaFieldIntegerOptions", + "properties": { + "maxValue": { + "description": "Output only. The maximum valid value for the integer field.", + "format": "int64", + "readOnly": true, + "type": "string" + }, + "minValue": { + "description": "Output only. The minimum valid value for the integer field.", + "format": "int64", + "readOnly": true, + "type": "string" + } + }, + "type": "object" + }, + "GoogleAppsDriveLabelsV2betaFieldLimits": { + "description": "Field constants governing the structure of a Field; such as, the maximum title length, minimum and maximum field values or length, etc.", + "id": "GoogleAppsDriveLabelsV2betaFieldLimits", + "properties": { + "dateLimits": { + "$ref": "GoogleAppsDriveLabelsV2betaDateLimits", + "description": "Date Field limits." + }, + "integerLimits": { + "$ref": "GoogleAppsDriveLabelsV2betaIntegerLimits", + "description": "Integer Field limits." + }, + "longTextLimits": { + "$ref": "GoogleAppsDriveLabelsV2betaLongTextLimits", + "description": "Long text Field limits." + }, + "maxDescriptionLength": { + "description": "Limits for Field description, also called help text.", + "format": "int32", + "type": "integer" + }, + "maxDisplayNameLength": { + "description": "Limits for Field title.", + "format": "int32", + "type": "integer" + }, + "maxIdLength": { + "description": "Max length for the id.", + "format": "int32", + "type": "integer" + }, + "selectionLimits": { + "$ref": "GoogleAppsDriveLabelsV2betaSelectionLimits", + "description": "Selection Field limits." + }, + "textLimits": { + "$ref": "GoogleAppsDriveLabelsV2betaTextLimits", + "description": "The relevant limits for the specified Field.Type. Text Field limits." + }, + "userLimits": { + "$ref": "GoogleAppsDriveLabelsV2betaUserLimits", + "description": "User Field limits." + } + }, + "type": "object" + }, + "GoogleAppsDriveLabelsV2betaFieldListOptions": { + "description": "Options for a multi-valued variant of an associated field type.", + "id": "GoogleAppsDriveLabelsV2betaFieldListOptions", + "properties": { + "maxEntries": { + "description": "Maximum number of entries permitted.", + "format": "int32", + "type": "integer" + } + }, + "type": "object" + }, + "GoogleAppsDriveLabelsV2betaFieldLongTextOptions": { + "description": "Options the Long Text field type.", + "id": "GoogleAppsDriveLabelsV2betaFieldLongTextOptions", + "properties": { + "maxLength": { + "description": "Output only. The maximum valid length of values for the text field.", + "format": "int32", + "readOnly": true, + "type": "integer" + }, + "minLength": { + "description": "Output only. The minimum valid length of values for the text field.", + "format": "int32", + "readOnly": true, + "type": "integer" + } + }, + "type": "object" + }, + "GoogleAppsDriveLabelsV2betaFieldProperties": { + "description": "The basic properties of the field.", + "id": "GoogleAppsDriveLabelsV2betaFieldProperties", + "properties": { + "displayName": { + "description": "Required. The display text to show in the UI identifying this field.", + "type": "string" + }, + "insertBeforeField": { + "description": "Input only. Insert or move this field before the indicated field. If empty, the field is placed at the end of the list.", + "type": "string" + }, + "required": { + "description": "Whether the field should be marked as required.", + "type": "boolean" + } + }, + "type": "object" + }, + "GoogleAppsDriveLabelsV2betaFieldSchemaCapabilities": { + "description": "The capabilities related to this field when editing the field.", + "id": "GoogleAppsDriveLabelsV2betaFieldSchemaCapabilities", + "properties": { + "canDelete": { + "description": "Whether the user can delete this field. The user must have permission and the field must be deprecated.", + "type": "boolean" + }, + "canDisable": { + "description": "Whether the user can disable this field. The user must have permission and this field must not already be disabled.", + "type": "boolean" + }, + "canEnable": { + "description": "Whether the user can enable this field. The user must have permission and this field must be disabled.", + "type": "boolean" + }, + "canUpdate": { + "description": "Whether the user can change this field.", + "type": "boolean" + } + }, + "type": "object" + }, + "GoogleAppsDriveLabelsV2betaFieldSelectionOptions": { + "description": "Options for the selection field type.", + "id": "GoogleAppsDriveLabelsV2betaFieldSelectionOptions", + "properties": { + "choices": { + "description": "The options available for this selection field. The list order is consistent, and modified with `insert_before_choice`.", + "items": { + "$ref": "GoogleAppsDriveLabelsV2betaFieldSelectionOptionsChoice" + }, + "type": "array" + }, + "listOptions": { + "$ref": "GoogleAppsDriveLabelsV2betaFieldListOptions", + "description": "When specified, indicates this field supports a list of values. Once the field is published, this cannot be changed." + } + }, + "type": "object" + }, + "GoogleAppsDriveLabelsV2betaFieldSelectionOptionsChoice": { + "description": "Selection field choice.", + "id": "GoogleAppsDriveLabelsV2betaFieldSelectionOptionsChoice", + "properties": { + "appliedCapabilities": { + "$ref": "GoogleAppsDriveLabelsV2betaFieldSelectionOptionsChoiceAppliedCapabilities", + "description": "Output only. The capabilities related to this choice on applied metadata.", + "readOnly": true + }, + "createTime": { + "description": "Output only. The time this choice was created.", + "format": "google-datetime", + "readOnly": true, + "type": "string" + }, + "creator": { + "$ref": "GoogleAppsDriveLabelsV2betaUserInfo", + "description": "Output only. The user who created this choice.", + "readOnly": true + }, + "disableTime": { + "description": "Output only. The time this choice was disabled. This value has no meaning when the choice is not disabled.", + "format": "google-datetime", + "readOnly": true, + "type": "string" + }, + "disabler": { + "$ref": "GoogleAppsDriveLabelsV2betaUserInfo", + "description": "Output only. The user who disabled this choice. This value has no meaning when the option is not disabled.", + "readOnly": true + }, + "displayHints": { + "$ref": "GoogleAppsDriveLabelsV2betaFieldSelectionOptionsChoiceDisplayHints", + "description": "Output only. UI display hints for rendering a choice.", + "readOnly": true + }, + "id": { + "description": "The unique value of the choice. This ID is autogenerated. Matches the regex: `([a-zA-Z0-9_])+`.", + "type": "string" + }, + "lifecycle": { + "$ref": "GoogleAppsDriveLabelsV2betaLifecycle", + "description": "Output only. Lifecycle of the choice.", + "readOnly": true + }, + "lockStatus": { + "$ref": "GoogleAppsDriveLabelsV2betaLockStatus", + "description": "Output only. The LockStatus of this choice.", + "readOnly": true + }, + "properties": { + "$ref": "GoogleAppsDriveLabelsV2betaFieldSelectionOptionsChoiceProperties", + "description": "Basic properties of the choice." + }, + "publishTime": { + "description": "Output only. The time this choice was published. This value has no meaning when the choice is not published.", + "format": "google-datetime", + "readOnly": true, + "type": "string" + }, + "publisher": { + "$ref": "GoogleAppsDriveLabelsV2betaUserInfo", + "description": "Output only. The user who published this choice. This value has no meaning when the choice is not published.", + "readOnly": true + }, + "schemaCapabilities": { + "$ref": "GoogleAppsDriveLabelsV2betaFieldSelectionOptionsChoiceSchemaCapabilities", + "description": "Output only. The capabilities related to this option when editing the option.", + "readOnly": true + }, + "updateTime": { + "description": "Output only. The time this choice was updated last.", + "format": "google-datetime", + "readOnly": true, + "type": "string" + }, + "updater": { + "$ref": "GoogleAppsDriveLabelsV2betaUserInfo", + "description": "Output only. The user who updated this choice last.", + "readOnly": true + } + }, + "type": "object" + }, + "GoogleAppsDriveLabelsV2betaFieldSelectionOptionsChoiceAppliedCapabilities": { + "description": "The capabilities related to this choice on applied metadata.", + "id": "GoogleAppsDriveLabelsV2betaFieldSelectionOptionsChoiceAppliedCapabilities", + "properties": { + "canRead": { + "description": "Whether the user can read related applied metadata on items.", + "type": "boolean" + }, + "canSearch": { + "description": "Whether the user can use this choice in search queries.", + "type": "boolean" + }, + "canSelect": { + "description": "Whether the user can select this choice on an item.", + "type": "boolean" + } + }, + "type": "object" + }, + "GoogleAppsDriveLabelsV2betaFieldSelectionOptionsChoiceDisplayHints": { + "description": "UI display hints for rendering an option.", + "id": "GoogleAppsDriveLabelsV2betaFieldSelectionOptionsChoiceDisplayHints", + "properties": { + "badgeColors": { + "$ref": "GoogleAppsDriveLabelsV2betaBadgeColors", + "description": "The colors to use for the badge. Changed to Google Material colors based on the chosen `properties.badge_config.color`." + }, + "badgePriority": { + "description": "The priority of this badge. Used to compare and sort between multiple badges. A lower number means the badge should be shown first. When a badging configuration is not present, this will be 0. Otherwise, this will be set to `BadgeConfig.priority_override` or the default heuristic which prefers creation date of the label, and field and option priority.", + "format": "int64", + "type": "string" + }, + "darkBadgeColors": { + "$ref": "GoogleAppsDriveLabelsV2betaBadgeColors", + "description": "The dark-mode color to use for the badge. Changed to Google Material colors based on the chosen `properties.badge_config.color`." + }, + "disabled": { + "description": "Whether the option should be shown in the UI as disabled.", + "type": "boolean" + }, + "hiddenInSearch": { + "description": "This option should be hidden in the search menu when searching for Drive items.", + "type": "boolean" + }, + "shownInApply": { + "description": "This option should be shown in the apply menu when applying values to a Drive item.", + "type": "boolean" + } + }, + "type": "object" + }, + "GoogleAppsDriveLabelsV2betaFieldSelectionOptionsChoiceProperties": { + "description": "Basic properties of the choice.", + "id": "GoogleAppsDriveLabelsV2betaFieldSelectionOptionsChoiceProperties", + "properties": { + "badgeConfig": { + "$ref": "GoogleAppsDriveLabelsV2betaBadgeConfig", + "description": "The badge configuration for this choice. When set, the label that owns this choice is considered a \"badged label\"." + }, + "description": { + "description": "The description of this label.", + "type": "string" + }, + "displayName": { + "description": "Required. The display text to show in the UI identifying this field.", + "type": "string" + }, + "insertBeforeChoice": { + "description": "Input only. Insert or move this choice before the indicated choice. If empty, the choice is placed at the end of the list.", + "type": "string" + } + }, + "type": "object" + }, + "GoogleAppsDriveLabelsV2betaFieldSelectionOptionsChoiceSchemaCapabilities": { + "description": "The capabilities related to this choice when editing the choice.", + "id": "GoogleAppsDriveLabelsV2betaFieldSelectionOptionsChoiceSchemaCapabilities", + "properties": { + "canDelete": { + "description": "Whether the user can delete this choice.", + "type": "boolean" + }, + "canDisable": { + "description": "Whether the user can disable this choice.", + "type": "boolean" + }, + "canEnable": { + "description": "Whether the user can enable this choice.", + "type": "boolean" + }, + "canUpdate": { + "description": "Whether the user can update this choice.", + "type": "boolean" + } + }, + "type": "object" + }, + "GoogleAppsDriveLabelsV2betaFieldTextOptions": { + "description": "Options for the Text field type.", + "id": "GoogleAppsDriveLabelsV2betaFieldTextOptions", + "properties": { + "maxLength": { + "description": "Output only. The maximum valid length of values for the text field.", + "format": "int32", + "readOnly": true, + "type": "integer" + }, + "minLength": { + "description": "Output only. The minimum valid length of values for the text field.", + "format": "int32", + "readOnly": true, + "type": "integer" + } + }, + "type": "object" + }, + "GoogleAppsDriveLabelsV2betaFieldUserOptions": { + "description": "Options for the user field type.", + "id": "GoogleAppsDriveLabelsV2betaFieldUserOptions", + "properties": { + "listOptions": { + "$ref": "GoogleAppsDriveLabelsV2betaFieldListOptions", + "description": "When specified, indicates that this field supports a list of values. Once the field is published, this cannot be changed." + } + }, + "type": "object" + }, + "GoogleAppsDriveLabelsV2betaIntegerLimits": { + "description": "Limits for integer Field type.", + "id": "GoogleAppsDriveLabelsV2betaIntegerLimits", + "properties": { + "maxValue": { + "description": "Maximum value for an integer Field type.", + "format": "int64", + "type": "string" + }, + "minValue": { + "description": "Minimum value for an integer Field type.", + "format": "int64", + "type": "string" + } + }, + "type": "object" + }, + "GoogleAppsDriveLabelsV2betaLabel": { + "description": "A label defines a taxonomy that can be applied to Drive items in order to organize and search across items. Labels can be simple strings, or can contain fields that describe additional metadata that can be further used to organize and search Drive items.", + "id": "GoogleAppsDriveLabelsV2betaLabel", + "properties": { + "appliedCapabilities": { + "$ref": "GoogleAppsDriveLabelsV2betaLabelAppliedCapabilities", + "description": "Output only. The capabilities related to this label on applied metadata.", + "readOnly": true + }, + "appliedLabelPolicy": { + "$ref": "GoogleAppsDriveLabelsV2betaLabelAppliedLabelPolicy", + "description": "Output only. Behavior of this label when it's applied to Drive items.", + "readOnly": true + }, + "createTime": { + "description": "Output only. The time this label was created.", + "format": "google-datetime", + "readOnly": true, + "type": "string" + }, + "creator": { + "$ref": "GoogleAppsDriveLabelsV2betaUserInfo", + "description": "Output only. The user who created this label.", + "readOnly": true + }, + "disableTime": { + "description": "Output only. The time this label was disabled. This value has no meaning when the label is not disabled.", + "format": "google-datetime", + "readOnly": true, + "type": "string" + }, + "disabler": { + "$ref": "GoogleAppsDriveLabelsV2betaUserInfo", + "description": "Output only. The user who disabled this label. This value has no meaning when the label is not disabled.", + "readOnly": true + }, + "displayHints": { + "$ref": "GoogleAppsDriveLabelsV2betaLabelDisplayHints", + "description": "Output only. UI display hints for rendering the label.", + "readOnly": true + }, + "fields": { + "description": "List of fields in descending priority order.", + "items": { + "$ref": "GoogleAppsDriveLabelsV2betaField" + }, + "type": "array" + }, + "id": { + "description": "Output only. Globally unique identifier of this label. ID makes up part of the label `name`, but unlike `name`, ID is consistent between revisions. Matches the regex: `([a-zA-Z0-9])+`", + "readOnly": true, + "type": "string" + }, + "labelType": { + "description": "Required. The type of label.", + "enum": [ + "LABEL_TYPE_UNSPECIFIED", + "SHARED", + "ADMIN" + ], + "enumDescriptions": [ + "Unknown label type.", + "Shared labels may be shared with users to apply to Drive items.", + "Admin-owned label. Only creatable and editable by admins. Supports some additional admin-only features." + ], + "type": "string" + }, + "learnMoreUri": { + "description": "Custom URL to present to users to allow them to learn more about this label and how it should be used.", + "type": "string" + }, + "lifecycle": { + "$ref": "GoogleAppsDriveLabelsV2betaLifecycle", + "description": "Output only. The lifecycle state of the label including whether it's published, deprecated, and has draft changes.", + "readOnly": true + }, + "lockStatus": { + "$ref": "GoogleAppsDriveLabelsV2betaLockStatus", + "description": "Output only. The LockStatus of this label.", + "readOnly": true + }, + "name": { + "description": "Output only. Resource name of the label. Will be in the form of either: `labels/{id}` or `labels/{id}@{revision_id}` depending on the request. See `id` and `revision_id` below.", + "readOnly": true, + "type": "string" + }, + "properties": { + "$ref": "GoogleAppsDriveLabelsV2betaLabelProperties", + "description": "Required. The basic properties of the label." + }, + "publishTime": { + "description": "Output only. The time this label was published. This value has no meaning when the label is not published.", + "format": "google-datetime", + "readOnly": true, + "type": "string" + }, + "publisher": { + "$ref": "GoogleAppsDriveLabelsV2betaUserInfo", + "description": "Output only. The user who published this label. This value has no meaning when the label is not published.", + "readOnly": true + }, + "revisionCreateTime": { + "description": "Output only. The time this label revision was created.", + "format": "google-datetime", + "readOnly": true, + "type": "string" + }, + "revisionCreator": { + "$ref": "GoogleAppsDriveLabelsV2betaUserInfo", + "description": "Output only. The user who created this label revision.", + "readOnly": true + }, + "revisionId": { + "description": "Output only. Revision ID of the label. Revision ID might be part of the label `name` depending on the request issued. A new revision is created whenever revisioned properties of a label are changed. Matches the regex: `([a-zA-Z0-9])+`", + "readOnly": true, + "type": "string" + }, + "schemaCapabilities": { + "$ref": "GoogleAppsDriveLabelsV2betaLabelSchemaCapabilities", + "description": "Output only. The capabilities the user has on this label.", + "readOnly": true + } + }, + "type": "object" + }, + "GoogleAppsDriveLabelsV2betaLabelAppliedCapabilities": { + "description": "The capabilities a user has on this label's applied metadata.", + "id": "GoogleAppsDriveLabelsV2betaLabelAppliedCapabilities", + "properties": { + "canApply": { + "description": "Whether the user can apply this label to items.", + "type": "boolean" + }, + "canRead": { + "description": "Whether the user can read applied metadata related to this label.", + "type": "boolean" + }, + "canRemove": { + "description": "Whether the user can remove this label from items.", + "type": "boolean" + } + }, + "type": "object" + }, + "GoogleAppsDriveLabelsV2betaLabelAppliedLabelPolicy": { + "description": "Behavior of this label when it's applied to Drive items.", + "id": "GoogleAppsDriveLabelsV2betaLabelAppliedLabelPolicy", + "properties": { + "copyMode": { + "description": "Indicates how the applied label and field values should be copied when a Drive item is copied.", + "enum": [ + "COPY_MODE_UNSPECIFIED", + "DO_NOT_COPY", + "ALWAYS_COPY", + "COPY_APPLIABLE" + ], + "enumDescriptions": [ + "Copy mode unspecified.", + "The applied label and field values are not copied by default when the Drive item it's applied to is copied.", + "The applied label and field values are always copied when the Drive item it's applied to is copied. Only admins can use this mode.", + "The applied label and field values are copied if the label is appliable by the user making the copy." + ], + "type": "string" + } + }, + "type": "object" + }, + "GoogleAppsDriveLabelsV2betaLabelDisplayHints": { + "description": "UI display hints for rendering the label.", + "id": "GoogleAppsDriveLabelsV2betaLabelDisplayHints", + "properties": { + "disabled": { + "description": "Whether the label should be shown in the UI as disabled.", + "type": "boolean" + }, + "hiddenInSearch": { + "description": "This label should be hidden in the search menu when searching for Drive items.", + "type": "boolean" + }, + "priority": { + "description": "Order to display label in a list.", + "format": "int64", + "type": "string" + }, + "shownInApply": { + "description": "This label should be shown in the apply menu when applying values to a Drive item.", + "type": "boolean" + } + }, + "type": "object" + }, + "GoogleAppsDriveLabelsV2betaLabelLimits": { + "description": "Label constraints governing the structure of a Label; such as, the maximum number of Fields allowed and maximum length of the label title.", + "id": "GoogleAppsDriveLabelsV2betaLabelLimits", + "properties": { + "fieldLimits": { + "$ref": "GoogleAppsDriveLabelsV2betaFieldLimits", + "description": "The limits for Fields." + }, + "maxDeletedFields": { + "description": "The maximum number of published Fields that can be deleted.", + "format": "int32", + "type": "integer" + }, + "maxDescriptionLength": { + "description": "The maximum number of characters allowed for the description.", + "format": "int32", + "type": "integer" + }, + "maxDraftRevisions": { + "description": "The maximum number of draft revisions that will be kept before deleting old drafts.", + "format": "int32", + "type": "integer" + }, + "maxFields": { + "description": "The maximum number of Fields allowed within the label.", + "format": "int32", + "type": "integer" + }, + "maxTitleLength": { + "description": "The maximum number of characters allowed for the title.", + "format": "int32", + "type": "integer" + }, + "name": { + "description": "Resource name.", + "type": "string" + } + }, + "type": "object" + }, + "GoogleAppsDriveLabelsV2betaLabelLock": { + "description": "A Lock that can be applied to a Label, Field, or Choice.", + "id": "GoogleAppsDriveLabelsV2betaLabelLock", + "properties": { + "capabilities": { + "$ref": "GoogleAppsDriveLabelsV2betaLabelLockCapabilities", + "description": "Output only. The user's capabilities on this LabelLock.", + "readOnly": true + }, + "choiceId": { + "description": "The ID of the Selection Field Choice that should be locked. If present, `field_id` must also be present.", + "type": "string" + }, + "createTime": { + "description": "Output only. The time this LabelLock was created.", + "format": "google-datetime", + "readOnly": true, + "type": "string" + }, + "creator": { + "$ref": "GoogleAppsDriveLabelsV2betaUserInfo", + "description": "Output only. The user whose credentials were used to create the LabelLock. This will not be present if no user was responsible for creating the LabelLock.", + "readOnly": true + }, + "deleteTime": { + "description": "Output only. A timestamp indicating when this LabelLock was scheduled for deletion. This will be present only if this LabelLock is in the DELETING state.", + "format": "google-datetime", + "readOnly": true, + "type": "string" + }, + "fieldId": { + "description": "The ID of the Field that should be locked. Empty if the whole Label should be locked.", + "type": "string" + }, + "name": { + "description": "Output only. Resource name of this LabelLock.", + "readOnly": true, + "type": "string" + }, + "policyUri": { + "description": "Output only. A URI referring to the policy that created this Lock.", + "readOnly": true, + "type": "string" + }, + "state": { + "description": "Output only. This LabelLock's state.", + "enum": [ + "STATE_UNSPECIFIED", + "ACTIVE", + "DELETING" + ], + "enumDescriptions": [ + "Unknown state.", + "The LabelLock is active and is being enforced by the server.", + "The LabelLock is being deleted. The LabelLock will continue to be enforced by the server until it has been fully removed." + ], + "readOnly": true, + "type": "string" + } + }, + "type": "object" + }, + "GoogleAppsDriveLabelsV2betaLabelLockCapabilities": { + "description": "A description of a user's capabilities on a LabelLock.", + "id": "GoogleAppsDriveLabelsV2betaLabelLockCapabilities", + "properties": { + "canViewPolicy": { + "description": "True if the user is authorized to view the policy.", + "type": "boolean" + } + }, + "type": "object" + }, + "GoogleAppsDriveLabelsV2betaLabelPermission": { + "description": "The permission that applies to a principal (user, group, audience) on a label.", + "id": "GoogleAppsDriveLabelsV2betaLabelPermission", + "properties": { + "audience": { + "description": "Audience to grant a role to. The magic value of `audiences/default` may be used to apply the role to the default audience in the context of the organization that owns the Label.", + "type": "string" + }, + "email": { + "description": "Specifies the email address for a user or group pricinpal. Not populated for audience principals. User and Group permissions may only be inserted using email address. On update requests, if email address is specified, no principal should be specified.", + "type": "string" + }, + "group": { + "description": "Group resource name.", + "type": "string" + }, + "name": { + "description": "Resource name of this permission.", + "type": "string" + }, + "person": { + "description": "Person resource name.", + "type": "string" + }, + "role": { + "description": "The role the principal should have.", + "enum": [ + "LABEL_ROLE_UNSPECIFIED", + "READER", + "APPLIER", + "ORGANIZER", + "EDITOR" + ], + "enumDescriptions": [ + "Unknown role.", + "A reader can read the label and associated metadata applied to Drive items.", + "An applier can write associated metadata on Drive items in which they also have write access to. Implies `READER`.", + "An organizer can pin this label in shared drives they manage and add new appliers to the label.", + "Editors can make any update including deleting the label which also deletes the associated Drive item metadata. Implies `APPLIER`." + ], + "type": "string" + } + }, + "type": "object" + }, + "GoogleAppsDriveLabelsV2betaLabelProperties": { + "description": "Basic properties of the label.", + "id": "GoogleAppsDriveLabelsV2betaLabelProperties", + "properties": { + "description": { + "description": "The description of the label.", + "type": "string" + }, + "title": { + "description": "Required. Title of the label.", + "type": "string" + } + }, + "type": "object" + }, + "GoogleAppsDriveLabelsV2betaLabelSchemaCapabilities": { + "description": "The capabilities related to this label when editing the label.", + "id": "GoogleAppsDriveLabelsV2betaLabelSchemaCapabilities", + "properties": { + "canDelete": { + "description": "Whether the user can delete this label. The user must have permission and the label must be disabled.", + "type": "boolean" + }, + "canDisable": { + "description": "Whether the user can disable this label. The user must have permission and this label must not already be disabled.", + "type": "boolean" + }, + "canEnable": { + "description": "Whether the user can enable this label. The user must have permission and this label must be disabled.", + "type": "boolean" + }, + "canUpdate": { + "description": "Whether the user can change this label.", + "type": "boolean" + } + }, + "type": "object" + }, + "GoogleAppsDriveLabelsV2betaLifecycle": { + "description": "The lifecycle state of an object, such as label, field, or choice. The lifecycle enforces the following transitions: * `UNPUBLISHED_DRAFT` (starting state) * `UNPUBLISHED_DRAFT` -> `PUBLISHED` * `UNPUBLISHED_DRAFT` -> (Deleted) * `PUBLISHED` -> `DISABLED` * `DISABLED` -> `PUBLISHED` * `DISABLED` -> (Deleted) The published and disabled states have some distinct characteristics: * Published\u2014Some kinds of changes might be made to an object in this state, in which case `has_unpublished_changes` will be true. Also, some kinds of changes are not permitted. Generally, any change that would invalidate or cause new restrictions on existing metadata related to the label are rejected. * Disabled\u2014When disabled, the configured `DisabledPolicy` takes effect.", + "id": "GoogleAppsDriveLabelsV2betaLifecycle", + "properties": { + "disabledPolicy": { + "$ref": "GoogleAppsDriveLabelsV2betaLifecycleDisabledPolicy", + "description": "The policy that governs how to show a disabled label, field, or selection choice." + }, + "hasUnpublishedChanges": { + "description": "Output only. Whether the object associated with this lifecycle has unpublished changes.", + "readOnly": true, + "type": "boolean" + }, + "state": { + "description": "Output only. The state of the object associated with this lifecycle.", + "enum": [ + "STATE_UNSPECIFIED", + "UNPUBLISHED_DRAFT", + "PUBLISHED", + "DISABLED", + "DELETED" + ], + "enumDescriptions": [ + "Unknown State.", + "The initial state of an object. Once published, the object can never return to this state. Once an object is published, certain kinds of changes are no longer permitted.", + "The object has been published. The object might have unpublished draft changes as indicated by `has_unpublished_changes`.", + "The object has been published and has since been disabled. The object might have unpublished draft changes as indicated by `has_unpublished_changes`.", + "The object has been deleted." + ], + "readOnly": true, + "type": "string" + } + }, + "type": "object" + }, + "GoogleAppsDriveLabelsV2betaLifecycleDisabledPolicy": { + "description": "The policy that governs how to treat a disabled label, field, or selection choice in different contexts.", + "id": "GoogleAppsDriveLabelsV2betaLifecycleDisabledPolicy", + "properties": { + "hideInSearch": { + "description": "Whether to hide this disabled object in the search menu for Drive items. * When `false`, the object is generally shown in the UI as disabled but it appears in the search results when searching for Drive items. * When `true`, the object is generally hidden in the UI when searching for Drive items.", + "type": "boolean" + }, + "showInApply": { + "description": "Whether to show this disabled object in the apply menu on Drive items. * When `true`, the object is generally shown in the UI as disabled and is unselectable. * When `false`, the object is generally hidden in the UI.", + "type": "boolean" + } + }, + "type": "object" + }, + "GoogleAppsDriveLabelsV2betaListLabelLocksResponse": { + "description": "The response to a ListLabelLocksRequest.", + "id": "GoogleAppsDriveLabelsV2betaListLabelLocksResponse", + "properties": { + "labelLocks": { + "description": "LabelLocks.", + "items": { + "$ref": "GoogleAppsDriveLabelsV2betaLabelLock" + }, + "type": "array" + }, + "nextPageToken": { + "description": "The token of the next page in the response.", + "type": "string" + } + }, + "type": "object" + }, + "GoogleAppsDriveLabelsV2betaListLabelPermissionsResponse": { + "description": "Response for listing the permissions on a Label.", + "id": "GoogleAppsDriveLabelsV2betaListLabelPermissionsResponse", + "properties": { + "labelPermissions": { + "description": "Label permissions.", + "items": { + "$ref": "GoogleAppsDriveLabelsV2betaLabelPermission" + }, + "type": "array" + }, + "nextPageToken": { + "description": "The token of the next page in the response.", + "type": "string" + } + }, + "type": "object" + }, + "GoogleAppsDriveLabelsV2betaListLabelsResponse": { + "description": "Response for listing Labels.", + "id": "GoogleAppsDriveLabelsV2betaListLabelsResponse", + "properties": { + "labels": { + "description": "Labels.", + "items": { + "$ref": "GoogleAppsDriveLabelsV2betaLabel" + }, + "type": "array" + }, + "nextPageToken": { + "description": "The token of the next page in the response.", + "type": "string" + } + }, + "type": "object" + }, + "GoogleAppsDriveLabelsV2betaListLimits": { + "description": "Limits for list-variant of a Field type.", + "id": "GoogleAppsDriveLabelsV2betaListLimits", + "properties": { + "maxEntries": { + "description": "Maximum number of values allowed for the Field type.", + "format": "int32", + "type": "integer" + } + }, + "type": "object" + }, + "GoogleAppsDriveLabelsV2betaLockStatus": { + "description": "Contains information about whether a label component should be considered locked.", + "id": "GoogleAppsDriveLabelsV2betaLockStatus", + "properties": { + "locked": { + "description": "Output only. Indicates whether this label component is the (direct) target of a LabelLock. A label component can be implicitly locked even if it's not the direct target of a LabelLock, in which case this field is set to false.", + "readOnly": true, + "type": "boolean" + } + }, + "type": "object" + }, + "GoogleAppsDriveLabelsV2betaLongTextLimits": { + "description": "Limits for long text Field type.", + "id": "GoogleAppsDriveLabelsV2betaLongTextLimits", + "properties": { + "maxLength": { + "description": "Maximum length allowed for a long text Field type.", + "format": "int32", + "type": "integer" + }, + "minLength": { + "description": "Minimum length allowed for a long text Field type.", + "format": "int32", + "type": "integer" + } + }, + "type": "object" + }, + "GoogleAppsDriveLabelsV2betaPublishLabelRequest": { + "description": "Request to publish a label.", + "id": "GoogleAppsDriveLabelsV2betaPublishLabelRequest", + "properties": { + "languageCode": { + "description": "The BCP-47 language code to use for evaluating localized field labels. When not specified, values in the default configured language will be used.", + "type": "string" + }, + "useAdminAccess": { + "description": "Set to `true` in order to use the user's admin credentials. The server will verify the user is an admin for the Label before allowing access.", + "type": "boolean" + }, + "writeControl": { + "$ref": "GoogleAppsDriveLabelsV2betaWriteControl", + "description": "Provides control over how write requests are executed. Defaults to unset, which means last write wins." + } + }, + "type": "object" + }, + "GoogleAppsDriveLabelsV2betaSelectionLimits": { + "description": "Limits for selection Field type.", + "id": "GoogleAppsDriveLabelsV2betaSelectionLimits", + "properties": { + "listLimits": { + "$ref": "GoogleAppsDriveLabelsV2betaListLimits", + "description": "Limits for list-variant of a Field type." + }, + "maxChoices": { + "description": "The max number of choices.", + "format": "int32", + "type": "integer" + }, + "maxDeletedChoices": { + "description": "Maximum number of deleted choices.", + "format": "int32", + "type": "integer" + }, + "maxDisplayNameLength": { + "description": "Maximum length for display name.", + "format": "int32", + "type": "integer" + }, + "maxIdLength": { + "description": "Maximum ID length for a selection options.", + "format": "int32", + "type": "integer" + } + }, + "type": "object" + }, + "GoogleAppsDriveLabelsV2betaTextLimits": { + "description": "Limits for text Field type.", + "id": "GoogleAppsDriveLabelsV2betaTextLimits", + "properties": { + "maxLength": { + "description": "Maximum length allowed for a text Field type.", + "format": "int32", + "type": "integer" + }, + "minLength": { + "description": "Minimum length allowed for a text Field type.", + "format": "int32", + "type": "integer" + } + }, + "type": "object" + }, + "GoogleAppsDriveLabelsV2betaUpdateLabelCopyModeRequest": { + "description": "Request to update the `CopyMode` of the given Label. Changes to this policy are not revisioned, do not require publishing, and take effect immediately. \\", + "id": "GoogleAppsDriveLabelsV2betaUpdateLabelCopyModeRequest", + "properties": { + "copyMode": { + "description": "Required. Indicates how the applied Label, and Field values should be copied when a Drive item is copied.", + "enum": [ + "COPY_MODE_UNSPECIFIED", + "DO_NOT_COPY", + "ALWAYS_COPY", + "COPY_APPLIABLE" + ], + "enumDescriptions": [ + "Copy mode unspecified.", + "The applied label and field values are not copied by default when the Drive item it's applied to is copied.", + "The applied label and field values are always copied when the Drive item it's applied to is copied. Only admins can use this mode.", + "The applied label and field values are copied if the label is appliable by the user making the copy." + ], + "type": "string" + }, + "languageCode": { + "description": "The BCP-47 language code to use for evaluating localized field labels. When not specified, values in the default configured language will be used.", + "type": "string" + }, + "useAdminAccess": { + "description": "Set to `true` in order to use the user's admin credentials. The server will verify the user is an admin for the Label before allowing access.", + "type": "boolean" + }, + "view": { + "description": "When specified, only certain fields belonging to the indicated view will be returned.", + "enum": [ + "LABEL_VIEW_BASIC", + "LABEL_VIEW_FULL" + ], + "enumDescriptions": [ + "Implies the field mask: `name,id,revision_id,label_type,properties.*`", + "All possible fields." + ], + "type": "string" + } + }, + "type": "object" + }, + "GoogleAppsDriveLabelsV2betaUpdateLabelPermissionRequest": { + "description": "Updates a Label Permission. Permissions affect the Label resource as a whole, are not revisioned, and do not require publishing.", + "id": "GoogleAppsDriveLabelsV2betaUpdateLabelPermissionRequest", + "properties": { + "labelPermission": { + "$ref": "GoogleAppsDriveLabelsV2betaLabelPermission", + "description": "Required. The permission to create or update on the Label." + }, + "parent": { + "description": "Required. The parent Label resource name.", + "type": "string" + }, + "useAdminAccess": { + "description": "Set to `true` in order to use the user's admin credentials. The server will verify the user is an admin for the Label before allowing access.", + "type": "boolean" + } + }, + "type": "object" + }, + "GoogleAppsDriveLabelsV2betaUserCapabilities": { + "description": "The capabilities of a user.", + "id": "GoogleAppsDriveLabelsV2betaUserCapabilities", + "properties": { + "canAccessLabelManager": { + "description": "Output only. Whether the user is allowed access to the label manager.", + "readOnly": true, + "type": "boolean" + }, + "canAdministrateLabels": { + "description": "Output only. Whether the user is an administrator for the shared labels feature.", + "readOnly": true, + "type": "boolean" + }, + "canCreateAdminLabels": { + "description": "Output only. Whether the user is allowed to create new admin labels.", + "readOnly": true, + "type": "boolean" + }, + "canCreateSharedLabels": { + "description": "Output only. Whether the user is allowed to create new shared labels.", + "readOnly": true, + "type": "boolean" + }, + "name": { + "description": "Output only. Resource name for the user capabilities.", + "readOnly": true, + "type": "string" + } + }, + "type": "object" + }, + "GoogleAppsDriveLabelsV2betaUserInfo": { + "description": "Information about a user.", + "id": "GoogleAppsDriveLabelsV2betaUserInfo", + "properties": { + "person": { + "description": "The identifier for this user that can be used with the People API to get more information. For example, people/12345678.", + "type": "string" + } + }, + "type": "object" + }, + "GoogleAppsDriveLabelsV2betaUserLimits": { + "description": "Limits for Field.Type.USER.", + "id": "GoogleAppsDriveLabelsV2betaUserLimits", + "properties": { + "listLimits": { + "$ref": "GoogleAppsDriveLabelsV2betaListLimits", + "description": "Limits for list-variant of a Field type." + } + }, + "type": "object" + }, + "GoogleAppsDriveLabelsV2betaWriteControl": { + "description": "Provides control over how write requests are executed. When not specified, the last write wins.", + "id": "GoogleAppsDriveLabelsV2betaWriteControl", + "properties": { + "requiredRevisionId": { + "description": "The revision_id of the label that the write request will be applied to. If this is not the latest revision of the label, the request will not be processed and will return a 400 Bad Request error.", + "type": "string" + } + }, + "type": "object" + }, + "GoogleProtobufEmpty": { + "description": "A generic empty message that you can re-use to avoid defining duplicated empty messages in your APIs. A typical example is to use it as the request or the response type of an API method. For instance: service Foo { rpc Bar(google.protobuf.Empty) returns (google.protobuf.Empty); }", + "id": "GoogleProtobufEmpty", + "properties": {}, + "type": "object" + }, + "GoogleTypeColor": { + "description": "Represents a color in the RGBA color space. This representation is designed for simplicity of conversion to/from color representations in various languages over compactness. For example, the fields of this representation can be trivially provided to the constructor of `java.awt.Color` in Java; it can also be trivially provided to UIColor's `+colorWithRed:green:blue:alpha` method in iOS; and, with just a little work, it can be easily formatted into a CSS `rgba()` string in JavaScript. This reference page doesn't carry information about the absolute color space that should be used to interpret the RGB value (e.g. sRGB, Adobe RGB, DCI-P3, BT.2020, etc.). By default, applications should assume the sRGB color space. When color equality needs to be decided, implementations, unless documented otherwise, treat two colors as equal if all their red, green, blue, and alpha values each differ by at most 1e-5. Example (Java): import com.google.type.Color; // ... public static java.awt.Color fromProto(Color protocolor) { float alpha = protocolor.hasAlpha() ? protocolor.getAlpha().getValue() : 1.0; return new java.awt.Color( protocolor.getRed(), protocolor.getGreen(), protocolor.getBlue(), alpha); } public static Color toProto(java.awt.Color color) { float red = (float) color.getRed(); float green = (float) color.getGreen(); float blue = (float) color.getBlue(); float denominator = 255.0; Color.Builder resultBuilder = Color .newBuilder() .setRed(red / denominator) .setGreen(green / denominator) .setBlue(blue / denominator); int alpha = color.getAlpha(); if (alpha != 255) { result.setAlpha( FloatValue .newBuilder() .setValue(((float) alpha) / denominator) .build()); } return resultBuilder.build(); } // ... Example (iOS / Obj-C): // ... static UIColor* fromProto(Color* protocolor) { float red = [protocolor red]; float green = [protocolor green]; float blue = [protocolor blue]; FloatValue* alpha_wrapper = [protocolor alpha]; float alpha = 1.0; if (alpha_wrapper != nil) { alpha = [alpha_wrapper value]; } return [UIColor colorWithRed:red green:green blue:blue alpha:alpha]; } static Color* toProto(UIColor* color) { CGFloat red, green, blue, alpha; if (![color getRed:&red green:&green blue:&blue alpha:&alpha]) { return nil; } Color* result = [[Color alloc] init]; [result setRed:red]; [result setGreen:green]; [result setBlue:blue]; if (alpha <= 0.9999) { [result setAlpha:floatWrapperWithValue(alpha)]; } [result autorelease]; return result; } // ... Example (JavaScript): // ... var protoToCssColor = function(rgb_color) { var redFrac = rgb_color.red || 0.0; var greenFrac = rgb_color.green || 0.0; var blueFrac = rgb_color.blue || 0.0; var red = Math.floor(redFrac * 255); var green = Math.floor(greenFrac * 255); var blue = Math.floor(blueFrac * 255); if (!('alpha' in rgb_color)) { return rgbToCssColor(red, green, blue); } var alphaFrac = rgb_color.alpha.value || 0.0; var rgbParams = [red, green, blue].join(','); return ['rgba(', rgbParams, ',', alphaFrac, ')'].join(''); }; var rgbToCssColor = function(red, green, blue) { var rgbNumber = new Number((red << 16) | (green << 8) | blue); var hexString = rgbNumber.toString(16); var missingZeros = 6 - hexString.length; var resultBuilder = ['#']; for (var i = 0; i < missingZeros; i++) { resultBuilder.push('0'); } resultBuilder.push(hexString); return resultBuilder.join(''); }; // ...", + "id": "GoogleTypeColor", + "properties": { + "alpha": { + "description": "The fraction of this color that should be applied to the pixel. That is, the final pixel color is defined by the equation: `pixel color = alpha * (this color) + (1.0 - alpha) * (background color)` This means that a value of 1.0 corresponds to a solid color, whereas a value of 0.0 corresponds to a completely transparent color. This uses a wrapper message rather than a simple float scalar so that it is possible to distinguish between a default value and the value being unset. If omitted, this color object is rendered as a solid color (as if the alpha value had been explicitly given a value of 1.0).", + "format": "float", + "type": "number" + }, + "blue": { + "description": "The amount of blue in the color as a value in the interval [0, 1].", + "format": "float", + "type": "number" + }, + "green": { + "description": "The amount of green in the color as a value in the interval [0, 1].", + "format": "float", + "type": "number" + }, + "red": { + "description": "The amount of red in the color as a value in the interval [0, 1].", + "format": "float", + "type": "number" + } + }, + "type": "object" + }, + "GoogleTypeDate": { + "description": "Represents a whole or partial calendar date, such as a birthday. The time of day and time zone are either specified elsewhere or are insignificant. The date is relative to the Gregorian Calendar. This can represent one of the following: * A full date, with non-zero year, month, and day values. * A month and day, with a zero year (for example, an anniversary). * A year on its own, with a zero month and a zero day. * A year and month, with a zero day (for example, a credit card expiration date). Related types: * google.type.TimeOfDay * google.type.DateTime * google.protobuf.Timestamp", + "id": "GoogleTypeDate", + "properties": { + "day": { + "description": "Day of a month. Must be from 1 to 31 and valid for the year and month, or 0 to specify a year by itself or a year and month where the day isn't significant.", + "format": "int32", + "type": "integer" + }, + "month": { + "description": "Month of a year. Must be from 1 to 12, or 0 to specify a year without a month and day.", + "format": "int32", + "type": "integer" + }, + "year": { + "description": "Year of the date. Must be from 1 to 9999, or 0 to specify a date without a year.", + "format": "int32", + "type": "integer" + } + }, + "type": "object" + } + }, + "servicePath": "", + "title": "Drive Labels API", + "version": "v2beta", + "version_module": true +} \ No newline at end of file diff --git a/googleapiclient/discovery_cache/documents/essentialcontacts.v1.json b/googleapiclient/discovery_cache/documents/essentialcontacts.v1.json index eb1c86a05c1..3a07849d87b 100644 --- a/googleapiclient/discovery_cache/documents/essentialcontacts.v1.json +++ b/googleapiclient/discovery_cache/documents/essentialcontacts.v1.json @@ -850,7 +850,7 @@ } } }, - "revision": "20220722", + "revision": "20220806", "rootUrl": "https://essentialcontacts.googleapis.com/", "schemas": { "GoogleCloudEssentialcontactsV1ComputeContactsResponse": { diff --git a/googleapiclient/discovery_cache/documents/eventarc.v1.json b/googleapiclient/discovery_cache/documents/eventarc.v1.json index 3ddf83b192c..c44043bb564 100644 --- a/googleapiclient/discovery_cache/documents/eventarc.v1.json +++ b/googleapiclient/discovery_cache/documents/eventarc.v1.json @@ -1197,7 +1197,7 @@ } } }, - "revision": "20220714", + "revision": "20220727", "rootUrl": "https://eventarc.googleapis.com/", "schemas": { "AuditConfig": { diff --git a/googleapiclient/discovery_cache/documents/eventarc.v1beta1.json b/googleapiclient/discovery_cache/documents/eventarc.v1beta1.json index 4546797a190..7a868252fb0 100644 --- a/googleapiclient/discovery_cache/documents/eventarc.v1beta1.json +++ b/googleapiclient/discovery_cache/documents/eventarc.v1beta1.json @@ -584,7 +584,7 @@ } } }, - "revision": "20220714", + "revision": "20220727", "rootUrl": "https://eventarc.googleapis.com/", "schemas": { "AuditConfig": { diff --git a/googleapiclient/discovery_cache/documents/factchecktools.v1alpha1.json b/googleapiclient/discovery_cache/documents/factchecktools.v1alpha1.json index 9d1f707ddb6..4a764c0806a 100644 --- a/googleapiclient/discovery_cache/documents/factchecktools.v1alpha1.json +++ b/googleapiclient/discovery_cache/documents/factchecktools.v1alpha1.json @@ -304,7 +304,7 @@ } } }, - "revision": "20220722", + "revision": "20220806", "rootUrl": "https://factchecktools.googleapis.com/", "schemas": { "GoogleFactcheckingFactchecktoolsV1alpha1Claim": { diff --git a/googleapiclient/discovery_cache/documents/fcm.v1.json b/googleapiclient/discovery_cache/documents/fcm.v1.json index ed15d408b70..7b00d99445b 100644 --- a/googleapiclient/discovery_cache/documents/fcm.v1.json +++ b/googleapiclient/discovery_cache/documents/fcm.v1.json @@ -146,7 +146,7 @@ } } }, - "revision": "20220718", + "revision": "20220801", "rootUrl": "https://fcm.googleapis.com/", "schemas": { "AndroidConfig": { diff --git a/googleapiclient/discovery_cache/documents/fcmdata.v1beta1.json b/googleapiclient/discovery_cache/documents/fcmdata.v1beta1.json index c2d9d53f10a..3b1b39da786 100644 --- a/googleapiclient/discovery_cache/documents/fcmdata.v1beta1.json +++ b/googleapiclient/discovery_cache/documents/fcmdata.v1beta1.json @@ -154,7 +154,7 @@ } } }, - "revision": "20220722", + "revision": "20220806", "rootUrl": "https://fcmdata.googleapis.com/", "schemas": { "GoogleFirebaseFcmDataV1beta1AndroidDeliveryData": { diff --git a/googleapiclient/discovery_cache/documents/firebase.v1beta1.json b/googleapiclient/discovery_cache/documents/firebase.v1beta1.json index 12adcac4faf..a9df7aa6248 100644 --- a/googleapiclient/discovery_cache/documents/firebase.v1beta1.json +++ b/googleapiclient/discovery_cache/documents/firebase.v1beta1.json @@ -428,7 +428,7 @@ ], "parameters": { "filter": { - "description": "A query string compatible with Google's [AIP-160](https://google.aip.dev/160) standard. Use any of the following fields in a query: * [`app_id`](../projects.apps#FirebaseAppInfo.FIELDS.app_id) * [`namespace`](../projects.apps#FirebaseAppInfo.FIELDS.namespace) * [`platform`](../projects.apps#FirebaseAppInfo.FIELDS.platform) We also support the following \"virtual\" fields (fields which are not actually part of the returned resource object, but can be queried as if they are pre-populated with specific values): * `sha1_hash`: This field is considered to be a repeated `string` field, populated with the list of all SHA-1 certificate fingerprints registered with the app. This list is empty if the app is not an Android app. * `sha256_hash`: This field is considered to be a repeated `string` field, populated with the list of all SHA-256 certificate fingerprints registered with the app. This list is empty if the app is not an Android app. * `app_store_id`: This field is considered to be a singular `string` field, populated with the Apple App Store ID registered with the app. This field is empty if the app is not an iOS app. * `team_id`: This field is considered to be a singular `string` field, populated with the Apple team ID registered with the app. This field is empty if the app is not an iOS app.", + "description": "A query string compatible with Google's [AIP-160](https://google.aip.dev/160) standard. Use any of the following fields in a query: * [`app_id`](../projects.apps#FirebaseAppInfo.FIELDS.app_id) * [`namespace`](../projects.apps#FirebaseAppInfo.FIELDS.namespace) * [`platform`](../projects.apps#FirebaseAppInfo.FIELDS.platform) We also support the following \"virtual\" fields (fields which are not actually part of the returned resource object, but can be queried as if they are pre-populated with specific values): * `sha1_hash` or `sha1_hashes`: This field is considered to be a repeated `string` field, populated with the list of all SHA-1 certificate fingerprints registered with the app. This list is empty if the app is not an Android app. * `sha256_hash` or `sha256_hashes`: This field is considered to be a repeated `string` field, populated with the list of all SHA-256 certificate fingerprints registered with the app. This list is empty if the app is not an Android app. * `app_store_id`: This field is considered to be a singular `string` field, populated with the Apple App Store ID registered with the app. This field is empty if the app is not an iOS app. * `team_id`: This field is considered to be a singular `string` field, populated with the Apple team ID registered with the app. This field is empty if the app is not an iOS app.", "location": "query", "type": "string" }, @@ -1225,7 +1225,7 @@ } } }, - "revision": "20220722", + "revision": "20220805", "rootUrl": "https://firebase.googleapis.com/", "schemas": { "AddFirebaseRequest": { @@ -1342,6 +1342,20 @@ "readOnly": true, "type": "string" }, + "sha1Hashes": { + "description": "The SHA1 certificate hashes for the AndroidApp.", + "items": { + "type": "string" + }, + "type": "array" + }, + "sha256Hashes": { + "description": "The SHA256 certificate hashes for the AndroidApp.", + "items": { + "type": "string" + }, + "type": "array" + }, "state": { "description": "Output only. The lifecycle state of the App.", "enum": [ diff --git a/googleapiclient/discovery_cache/documents/firebaseappcheck.v1.json b/googleapiclient/discovery_cache/documents/firebaseappcheck.v1.json index c9a0e0eadc3..3ad766775b4 100644 --- a/googleapiclient/discovery_cache/documents/firebaseappcheck.v1.json +++ b/googleapiclient/discovery_cache/documents/firebaseappcheck.v1.json @@ -1338,7 +1338,7 @@ } } }, - "revision": "20220715", + "revision": "20220730", "rootUrl": "https://firebaseappcheck.googleapis.com/", "schemas": { "GoogleFirebaseAppcheckV1AppAttestConfig": { diff --git a/googleapiclient/discovery_cache/documents/firebaseappcheck.v1beta.json b/googleapiclient/discovery_cache/documents/firebaseappcheck.v1beta.json index c4d9baaca89..be87dd33cc7 100644 --- a/googleapiclient/discovery_cache/documents/firebaseappcheck.v1beta.json +++ b/googleapiclient/discovery_cache/documents/firebaseappcheck.v1beta.json @@ -1464,7 +1464,7 @@ } } }, - "revision": "20220715", + "revision": "20220730", "rootUrl": "https://firebaseappcheck.googleapis.com/", "schemas": { "GoogleFirebaseAppcheckV1betaAppAttestConfig": { diff --git a/googleapiclient/discovery_cache/documents/firebasedatabase.v1beta.json b/googleapiclient/discovery_cache/documents/firebasedatabase.v1beta.json index d390a4317e9..cc3a2714cd0 100644 --- a/googleapiclient/discovery_cache/documents/firebasedatabase.v1beta.json +++ b/googleapiclient/discovery_cache/documents/firebasedatabase.v1beta.json @@ -351,7 +351,7 @@ } } }, - "revision": "20220722", + "revision": "20220805", "rootUrl": "https://firebasedatabase.googleapis.com/", "schemas": { "DatabaseInstance": { diff --git a/googleapiclient/discovery_cache/documents/firebasedynamiclinks.v1.json b/googleapiclient/discovery_cache/documents/firebasedynamiclinks.v1.json index 05268669266..d7756572168 100644 --- a/googleapiclient/discovery_cache/documents/firebasedynamiclinks.v1.json +++ b/googleapiclient/discovery_cache/documents/firebasedynamiclinks.v1.json @@ -224,7 +224,7 @@ } } }, - "revision": "20220718", + "revision": "20220803", "rootUrl": "https://firebasedynamiclinks.googleapis.com/", "schemas": { "AnalyticsInfo": { diff --git a/googleapiclient/discovery_cache/documents/firebasehosting.v1.json b/googleapiclient/discovery_cache/documents/firebasehosting.v1.json index 628afa81b47..a1db8e4366f 100644 --- a/googleapiclient/discovery_cache/documents/firebasehosting.v1.json +++ b/googleapiclient/discovery_cache/documents/firebasehosting.v1.json @@ -186,7 +186,7 @@ } } }, - "revision": "20220619", + "revision": "20220727", "rootUrl": "https://firebasehosting.googleapis.com/", "schemas": { "CancelOperationRequest": { diff --git a/googleapiclient/discovery_cache/documents/firebasehosting.v1beta1.json b/googleapiclient/discovery_cache/documents/firebasehosting.v1beta1.json index a01e095b11a..ef1e86636af 100644 --- a/googleapiclient/discovery_cache/documents/firebasehosting.v1beta1.json +++ b/googleapiclient/discovery_cache/documents/firebasehosting.v1beta1.json @@ -1939,7 +1939,7 @@ } } }, - "revision": "20220619", + "revision": "20220727", "rootUrl": "https://firebasehosting.googleapis.com/", "schemas": { "ActingUser": { diff --git a/googleapiclient/discovery_cache/documents/firebaseml.v1.json b/googleapiclient/discovery_cache/documents/firebaseml.v1.json index 3f0b589ce89..e012926d18e 100644 --- a/googleapiclient/discovery_cache/documents/firebaseml.v1.json +++ b/googleapiclient/discovery_cache/documents/firebaseml.v1.json @@ -204,7 +204,7 @@ } } }, - "revision": "20220720", + "revision": "20220803", "rootUrl": "https://firebaseml.googleapis.com/", "schemas": { "CancelOperationRequest": { diff --git a/googleapiclient/discovery_cache/documents/firebaseml.v1beta2.json b/googleapiclient/discovery_cache/documents/firebaseml.v1beta2.json index 3e7704ba2d9..b3928a38213 100644 --- a/googleapiclient/discovery_cache/documents/firebaseml.v1beta2.json +++ b/googleapiclient/discovery_cache/documents/firebaseml.v1beta2.json @@ -318,7 +318,7 @@ } } }, - "revision": "20220720", + "revision": "20220803", "rootUrl": "https://firebaseml.googleapis.com/", "schemas": { "DownloadModelResponse": { diff --git a/googleapiclient/discovery_cache/documents/firebasestorage.v1beta.json b/googleapiclient/discovery_cache/documents/firebasestorage.v1beta.json index a3c8e47e551..88caaf9dbad 100644 --- a/googleapiclient/discovery_cache/documents/firebasestorage.v1beta.json +++ b/googleapiclient/discovery_cache/documents/firebasestorage.v1beta.json @@ -238,7 +238,7 @@ } } }, - "revision": "20220623", + "revision": "20220729", "rootUrl": "https://firebasestorage.googleapis.com/", "schemas": { "AddFirebaseRequest": { diff --git a/googleapiclient/discovery_cache/documents/fitness.v1.json b/googleapiclient/discovery_cache/documents/fitness.v1.json index d30e730f6e1..d788fcde0d5 100644 --- a/googleapiclient/discovery_cache/documents/fitness.v1.json +++ b/googleapiclient/discovery_cache/documents/fitness.v1.json @@ -831,7 +831,7 @@ } } }, - "revision": "20220720", + "revision": "20220808", "rootUrl": "https://fitness.googleapis.com/", "schemas": { "AggregateBucket": { diff --git a/googleapiclient/discovery_cache/documents/forms.v1.json b/googleapiclient/discovery_cache/documents/forms.v1.json index 753a91694d2..a74372459a0 100644 --- a/googleapiclient/discovery_cache/documents/forms.v1.json +++ b/googleapiclient/discovery_cache/documents/forms.v1.json @@ -423,7 +423,7 @@ } } }, - "revision": "20220714", + "revision": "20220804", "rootUrl": "https://forms.googleapis.com/", "schemas": { "Answer": { diff --git a/googleapiclient/discovery_cache/documents/games.v1.json b/googleapiclient/discovery_cache/documents/games.v1.json index 172e40b0aa2..ae337788260 100644 --- a/googleapiclient/discovery_cache/documents/games.v1.json +++ b/googleapiclient/discovery_cache/documents/games.v1.json @@ -1244,7 +1244,7 @@ } } }, - "revision": "20220720", + "revision": "20220726", "rootUrl": "https://games.googleapis.com/", "schemas": { "AchievementDefinition": { diff --git a/googleapiclient/discovery_cache/documents/gamesConfiguration.v1configuration.json b/googleapiclient/discovery_cache/documents/gamesConfiguration.v1configuration.json index 49819b02c7b..d9a3cd56631 100644 --- a/googleapiclient/discovery_cache/documents/gamesConfiguration.v1configuration.json +++ b/googleapiclient/discovery_cache/documents/gamesConfiguration.v1configuration.json @@ -439,7 +439,7 @@ } } }, - "revision": "20220720", + "revision": "20220726", "rootUrl": "https://gamesconfiguration.googleapis.com/", "schemas": { "AchievementConfiguration": { diff --git a/googleapiclient/discovery_cache/documents/gamesManagement.v1management.json b/googleapiclient/discovery_cache/documents/gamesManagement.v1management.json index 5efbd19b23b..36dc69b1719 100644 --- a/googleapiclient/discovery_cache/documents/gamesManagement.v1management.json +++ b/googleapiclient/discovery_cache/documents/gamesManagement.v1management.json @@ -471,7 +471,7 @@ } } }, - "revision": "20220720", + "revision": "20220726", "rootUrl": "https://gamesmanagement.googleapis.com/", "schemas": { "AchievementResetAllResponse": { diff --git a/googleapiclient/discovery_cache/documents/gameservices.v1.json b/googleapiclient/discovery_cache/documents/gameservices.v1.json index de9933281dc..f059d5f99e9 100644 --- a/googleapiclient/discovery_cache/documents/gameservices.v1.json +++ b/googleapiclient/discovery_cache/documents/gameservices.v1.json @@ -184,117 +184,6 @@ "resources": { "gameServerDeployments": { "methods": { - "create": { - "description": "Creates a new game server deployment in a given project and location.", - "flatPath": "v1/projects/{projectsId}/locations/{locationsId}/gameServerDeployments", - "httpMethod": "POST", - "id": "gameservices.projects.locations.gameServerDeployments.create", - "parameterOrder": [ - "parent" - ], - "parameters": { - "deploymentId": { - "description": "Required. The ID of the game server deployment resource to create.", - "location": "query", - "type": "string" - }, - "parent": { - "description": "Required. The parent resource name, in the following form: `projects/{project}/locations/{locationId}`.", - "location": "path", - "pattern": "^projects/[^/]+/locations/[^/]+$", - "required": true, - "type": "string" - } - }, - "path": "v1/{+parent}/gameServerDeployments", - "request": { - "$ref": "GameServerDeployment" - }, - "response": { - "$ref": "Operation" - }, - "scopes": [ - "https://www.googleapis.com/auth/cloud-platform" - ] - }, - "delete": { - "description": "Deletes a single game server deployment.", - "flatPath": "v1/projects/{projectsId}/locations/{locationsId}/gameServerDeployments/{gameServerDeploymentsId}", - "httpMethod": "DELETE", - "id": "gameservices.projects.locations.gameServerDeployments.delete", - "parameterOrder": [ - "name" - ], - "parameters": { - "name": { - "description": "Required. The name of the game server deployment to delete, in the following form: `projects/{project}/locations/{locationId}/gameServerDeployments/{deploymentId}`.", - "location": "path", - "pattern": "^projects/[^/]+/locations/[^/]+/gameServerDeployments/[^/]+$", - "required": true, - "type": "string" - } - }, - "path": "v1/{+name}", - "response": { - "$ref": "Operation" - }, - "scopes": [ - "https://www.googleapis.com/auth/cloud-platform" - ] - }, - "fetchDeploymentState": { - "description": "Retrieves information about the current state of the game server deployment. Gathers all the Agones fleets and Agones autoscalers, including fleets running an older version of the game server deployment.", - "flatPath": "v1/projects/{projectsId}/locations/{locationsId}/gameServerDeployments/{gameServerDeploymentsId}:fetchDeploymentState", - "httpMethod": "POST", - "id": "gameservices.projects.locations.gameServerDeployments.fetchDeploymentState", - "parameterOrder": [ - "name" - ], - "parameters": { - "name": { - "description": "Required. The name of the game server deployment, in the following form: `projects/{project}/locations/{locationId}/gameServerDeployments/{deploymentId}`.", - "location": "path", - "pattern": "^projects/[^/]+/locations/[^/]+/gameServerDeployments/[^/]+$", - "required": true, - "type": "string" - } - }, - "path": "v1/{+name}:fetchDeploymentState", - "request": { - "$ref": "FetchDeploymentStateRequest" - }, - "response": { - "$ref": "FetchDeploymentStateResponse" - }, - "scopes": [ - "https://www.googleapis.com/auth/cloud-platform" - ] - }, - "get": { - "description": "Gets details of a single game server deployment.", - "flatPath": "v1/projects/{projectsId}/locations/{locationsId}/gameServerDeployments/{gameServerDeploymentsId}", - "httpMethod": "GET", - "id": "gameservices.projects.locations.gameServerDeployments.get", - "parameterOrder": [ - "name" - ], - "parameters": { - "name": { - "description": "Required. The name of the game server deployment to retrieve, in the following form: `projects/{project}/locations/{locationId}/gameServerDeployments/{deploymentId}`.", - "location": "path", - "pattern": "^projects/[^/]+/locations/[^/]+/gameServerDeployments/[^/]+$", - "required": true, - "type": "string" - } - }, - "path": "v1/{+name}", - "response": { - "$ref": "GameServerDeployment" - }, - "scopes": [ - "https://www.googleapis.com/auth/cloud-platform" - ] - }, "getIamPolicy": { "description": "Gets the access control policy for a resource. Returns an empty policy if the resource exists and does not have a policy set.", "flatPath": "v1/projects/{projectsId}/locations/{locationsId}/gameServerDeployments/{gameServerDeploymentsId}:getIamPolicy", @@ -326,151 +215,6 @@ "https://www.googleapis.com/auth/cloud-platform" ] }, - "getRollout": { - "description": "Gets details of a single game server deployment rollout.", - "flatPath": "v1/projects/{projectsId}/locations/{locationsId}/gameServerDeployments/{gameServerDeploymentsId}/rollout", - "httpMethod": "GET", - "id": "gameservices.projects.locations.gameServerDeployments.getRollout", - "parameterOrder": [ - "name" - ], - "parameters": { - "name": { - "description": "Required. The name of the game server deployment rollout to retrieve, in the following form: `projects/{project}/locations/{locationId}/gameServerDeployments/{deploymentId}/rollout`.", - "location": "path", - "pattern": "^projects/[^/]+/locations/[^/]+/gameServerDeployments/[^/]+$", - "required": true, - "type": "string" - } - }, - "path": "v1/{+name}/rollout", - "response": { - "$ref": "GameServerDeploymentRollout" - }, - "scopes": [ - "https://www.googleapis.com/auth/cloud-platform" - ] - }, - "list": { - "description": "Lists game server deployments in a given project and location.", - "flatPath": "v1/projects/{projectsId}/locations/{locationsId}/gameServerDeployments", - "httpMethod": "GET", - "id": "gameservices.projects.locations.gameServerDeployments.list", - "parameterOrder": [ - "parent" - ], - "parameters": { - "filter": { - "description": "Optional. The filter to apply to list results (see [Filtering](https://google.aip.dev/160)).", - "location": "query", - "type": "string" - }, - "orderBy": { - "description": "Optional. Specifies the ordering of results following [Cloud API syntax](https://cloud.google.com/apis/design/design_patterns#sorting_order).", - "location": "query", - "type": "string" - }, - "pageSize": { - "description": "Optional. The maximum number of items to return. If unspecified, the server picks an appropriate default. The server may return fewer items than requested. A caller should only rely on the response's next_page_token to determine if there are more GameServerDeployments left to be queried.", - "format": "int32", - "location": "query", - "type": "integer" - }, - "pageToken": { - "description": "Optional. The next_page_token value returned from a previous list request, if any.", - "location": "query", - "type": "string" - }, - "parent": { - "description": "Required. The parent resource name, in the following form: `projects/{project}/locations/{locationId}`.", - "location": "path", - "pattern": "^projects/[^/]+/locations/[^/]+$", - "required": true, - "type": "string" - } - }, - "path": "v1/{+parent}/gameServerDeployments", - "response": { - "$ref": "ListGameServerDeploymentsResponse" - }, - "scopes": [ - "https://www.googleapis.com/auth/cloud-platform" - ] - }, - "patch": { - "description": "Patches a game server deployment.", - "flatPath": "v1/projects/{projectsId}/locations/{locationsId}/gameServerDeployments/{gameServerDeploymentsId}", - "httpMethod": "PATCH", - "id": "gameservices.projects.locations.gameServerDeployments.patch", - "parameterOrder": [ - "name" - ], - "parameters": { - "name": { - "description": "The resource name of the game server deployment, in the following form: `projects/{project}/locations/{locationId}/gameServerDeployments/{deploymentId}`. For example, `projects/my-project/locations/global/gameServerDeployments/my-deployment`.", - "location": "path", - "pattern": "^projects/[^/]+/locations/[^/]+/gameServerDeployments/[^/]+$", - "required": true, - "type": "string" - }, - "updateMask": { - "description": "Required. The update mask to apply to the resource. At least one path must be supplied in this field. For more information, see the [`FieldMask` definition](https://developers.google.com/protocol-buffers/docs/reference/google.protobuf#fieldmask).", - "format": "google-fieldmask", - "location": "query", - "type": "string" - } - }, - "path": "v1/{+name}", - "request": { - "$ref": "GameServerDeployment" - }, - "response": { - "$ref": "Operation" - }, - "scopes": [ - "https://www.googleapis.com/auth/cloud-platform" - ] - }, - "previewRollout": { - "description": "Previews the game server deployment rollout. This API does not mutate the rollout resource.", - "flatPath": "v1/projects/{projectsId}/locations/{locationsId}/gameServerDeployments/{gameServerDeploymentsId}/rollout:preview", - "httpMethod": "PATCH", - "id": "gameservices.projects.locations.gameServerDeployments.previewRollout", - "parameterOrder": [ - "name" - ], - "parameters": { - "name": { - "description": "The resource name of the game server deployment rollout, in the following form: `projects/{project}/locations/{locationId}/gameServerDeployments/{deploymentId}/rollout`. For example, `projects/my-project/locations/global/gameServerDeployments/my-deployment/rollout`.", - "location": "path", - "pattern": "^projects/[^/]+/locations/[^/]+/gameServerDeployments/[^/]+$", - "required": true, - "type": "string" - }, - "previewTime": { - "description": "Optional. The target timestamp to compute the preview. Defaults to the immediately after the proposed rollout completes.", - "format": "google-datetime", - "location": "query", - "type": "string" - }, - "updateMask": { - "description": "Optional. The update mask to apply to the resource. At least one path must be supplied in this field. For more information, see the [`FieldMask` definition](https://developers.google.com/protocol-buffers/docs/reference/google.protobuf#fieldmask).", - "format": "google-fieldmask", - "location": "query", - "type": "string" - } - }, - "path": "v1/{+name}/rollout:preview", - "request": { - "$ref": "GameServerDeploymentRollout" - }, - "response": { - "$ref": "PreviewGameServerDeploymentRolloutResponse" - }, - "scopes": [ - "https://www.googleapis.com/auth/cloud-platform" - ] - }, "setIamPolicy": { "description": "Sets the access control policy on the specified resource. Replaces any existing policy. Can return `NOT_FOUND`, `INVALID_ARGUMENT`, and `PERMISSION_DENIED` errors.", "flatPath": "v1/projects/{projectsId}/locations/{locationsId}/gameServerDeployments/{gameServerDeploymentsId}:setIamPolicy", @@ -526,175 +270,6 @@ "scopes": [ "https://www.googleapis.com/auth/cloud-platform" ] - }, - "updateRollout": { - "description": "Patches a single game server deployment rollout. The method will not return an error if the update does not affect any existing realms. For example, the following cases will not return an error: * The default_game_server_config is changed but all existing realms use the override. * A non-existing realm is explicitly called out in the game_server_config_overrides field.", - "flatPath": "v1/projects/{projectsId}/locations/{locationsId}/gameServerDeployments/{gameServerDeploymentsId}/rollout", - "httpMethod": "PATCH", - "id": "gameservices.projects.locations.gameServerDeployments.updateRollout", - "parameterOrder": [ - "name" - ], - "parameters": { - "name": { - "description": "The resource name of the game server deployment rollout, in the following form: `projects/{project}/locations/{locationId}/gameServerDeployments/{deploymentId}/rollout`. For example, `projects/my-project/locations/global/gameServerDeployments/my-deployment/rollout`.", - "location": "path", - "pattern": "^projects/[^/]+/locations/[^/]+/gameServerDeployments/[^/]+$", - "required": true, - "type": "string" - }, - "updateMask": { - "description": "Required. The update mask to apply to the resource. At least one path must be supplied in this field. For more information, see the [`FieldMask` definition](https://developers.google.com/protocol-buffers/docs/reference/google.protobuf#fieldmask).", - "format": "google-fieldmask", - "location": "query", - "type": "string" - } - }, - "path": "v1/{+name}/rollout", - "request": { - "$ref": "GameServerDeploymentRollout" - }, - "response": { - "$ref": "Operation" - }, - "scopes": [ - "https://www.googleapis.com/auth/cloud-platform" - ] - } - }, - "resources": { - "configs": { - "methods": { - "create": { - "description": "Creates a new game server config in a given project, location, and game server deployment. Game server configs are immutable, and are not applied until referenced in the game server deployment rollout resource.", - "flatPath": "v1/projects/{projectsId}/locations/{locationsId}/gameServerDeployments/{gameServerDeploymentsId}/configs", - "httpMethod": "POST", - "id": "gameservices.projects.locations.gameServerDeployments.configs.create", - "parameterOrder": [ - "parent" - ], - "parameters": { - "configId": { - "description": "Required. The ID of the game server config resource to create.", - "location": "query", - "type": "string" - }, - "parent": { - "description": "Required. The parent resource name, in the following form: `projects/{project}/locations/{locationId}/gameServerDeployments/{deploymentId}/`.", - "location": "path", - "pattern": "^projects/[^/]+/locations/[^/]+/gameServerDeployments/[^/]+$", - "required": true, - "type": "string" - } - }, - "path": "v1/{+parent}/configs", - "request": { - "$ref": "GameServerConfig" - }, - "response": { - "$ref": "Operation" - }, - "scopes": [ - "https://www.googleapis.com/auth/cloud-platform" - ] - }, - "delete": { - "description": "Deletes a single game server config. The deletion fails if the game server config is referenced in a game server deployment rollout.", - "flatPath": "v1/projects/{projectsId}/locations/{locationsId}/gameServerDeployments/{gameServerDeploymentsId}/configs/{configsId}", - "httpMethod": "DELETE", - "id": "gameservices.projects.locations.gameServerDeployments.configs.delete", - "parameterOrder": [ - "name" - ], - "parameters": { - "name": { - "description": "Required. The name of the game server config to delete, in the following form: `projects/{project}/locations/{locationId}/gameServerDeployments/{deploymentId}/configs/{configId}`.", - "location": "path", - "pattern": "^projects/[^/]+/locations/[^/]+/gameServerDeployments/[^/]+/configs/[^/]+$", - "required": true, - "type": "string" - } - }, - "path": "v1/{+name}", - "response": { - "$ref": "Operation" - }, - "scopes": [ - "https://www.googleapis.com/auth/cloud-platform" - ] - }, - "get": { - "description": "Gets details of a single game server config.", - "flatPath": "v1/projects/{projectsId}/locations/{locationsId}/gameServerDeployments/{gameServerDeploymentsId}/configs/{configsId}", - "httpMethod": "GET", - "id": "gameservices.projects.locations.gameServerDeployments.configs.get", - "parameterOrder": [ - "name" - ], - "parameters": { - "name": { - "description": "Required. The name of the game server config to retrieve, in the following form: `projects/{project}/locations/{locationId}/gameServerDeployments/{deploymentId}/configs/{configId}`.", - "location": "path", - "pattern": "^projects/[^/]+/locations/[^/]+/gameServerDeployments/[^/]+/configs/[^/]+$", - "required": true, - "type": "string" - } - }, - "path": "v1/{+name}", - "response": { - "$ref": "GameServerConfig" - }, - "scopes": [ - "https://www.googleapis.com/auth/cloud-platform" - ] - }, - "list": { - "description": "Lists game server configs in a given project, location, and game server deployment.", - "flatPath": "v1/projects/{projectsId}/locations/{locationsId}/gameServerDeployments/{gameServerDeploymentsId}/configs", - "httpMethod": "GET", - "id": "gameservices.projects.locations.gameServerDeployments.configs.list", - "parameterOrder": [ - "parent" - ], - "parameters": { - "filter": { - "description": "Optional. The filter to apply to list results (see [Filtering](https://google.aip.dev/160)).", - "location": "query", - "type": "string" - }, - "orderBy": { - "description": "Optional. Specifies the ordering of results following [Cloud API syntax](https://cloud.google.com/apis/design/design_patterns#sorting_order).", - "location": "query", - "type": "string" - }, - "pageSize": { - "description": "Optional. The maximum number of items to return. If unspecified, the server picks an appropriate default. The server may return fewer items than requested. A caller should only rely on response's next_page_token to determine if there are more GameServerConfigs left to be queried.", - "format": "int32", - "location": "query", - "type": "integer" - }, - "pageToken": { - "description": "Optional. The next_page_token value returned from a previous list request, if any.", - "location": "query", - "type": "string" - }, - "parent": { - "description": "Required. The parent resource name, in the following form: `projects/{project}/locations/{locationId}/gameServerDeployments/{deploymentId}/configs/*`.", - "location": "path", - "pattern": "^projects/[^/]+/locations/[^/]+/gameServerDeployments/[^/]+$", - "required": true, - "type": "string" - } - }, - "path": "v1/{+parent}/configs", - "response": { - "$ref": "ListGameServerConfigsResponse" - }, - "scopes": [ - "https://www.googleapis.com/auth/cloud-platform" - ] - } - } } } }, @@ -820,544 +395,13 @@ ] } } - }, - "realms": { - "methods": { - "create": { - "description": "Creates a new realm in a given project and location.", - "flatPath": "v1/projects/{projectsId}/locations/{locationsId}/realms", - "httpMethod": "POST", - "id": "gameservices.projects.locations.realms.create", - "parameterOrder": [ - "parent" - ], - "parameters": { - "parent": { - "description": "Required. The parent resource name, in the following form: `projects/{project}/locations/{locationId}`.", - "location": "path", - "pattern": "^projects/[^/]+/locations/[^/]+$", - "required": true, - "type": "string" - }, - "realmId": { - "description": "Required. The ID of the realm resource to create.", - "location": "query", - "type": "string" - } - }, - "path": "v1/{+parent}/realms", - "request": { - "$ref": "Realm" - }, - "response": { - "$ref": "Operation" - }, - "scopes": [ - "https://www.googleapis.com/auth/cloud-platform" - ] - }, - "delete": { - "description": "Deletes a single realm.", - "flatPath": "v1/projects/{projectsId}/locations/{locationsId}/realms/{realmsId}", - "httpMethod": "DELETE", - "id": "gameservices.projects.locations.realms.delete", - "parameterOrder": [ - "name" - ], - "parameters": { - "name": { - "description": "Required. The name of the realm to delete, in the following form: `projects/{project}/locations/{locationId}/realms/{realmId}`.", - "location": "path", - "pattern": "^projects/[^/]+/locations/[^/]+/realms/[^/]+$", - "required": true, - "type": "string" - } - }, - "path": "v1/{+name}", - "response": { - "$ref": "Operation" - }, - "scopes": [ - "https://www.googleapis.com/auth/cloud-platform" - ] - }, - "get": { - "description": "Gets details of a single realm.", - "flatPath": "v1/projects/{projectsId}/locations/{locationsId}/realms/{realmsId}", - "httpMethod": "GET", - "id": "gameservices.projects.locations.realms.get", - "parameterOrder": [ - "name" - ], - "parameters": { - "name": { - "description": "Required. The name of the realm to retrieve, in the following form: `projects/{project}/locations/{locationId}/realms/{realmId}`.", - "location": "path", - "pattern": "^projects/[^/]+/locations/[^/]+/realms/[^/]+$", - "required": true, - "type": "string" - } - }, - "path": "v1/{+name}", - "response": { - "$ref": "Realm" - }, - "scopes": [ - "https://www.googleapis.com/auth/cloud-platform" - ] - }, - "list": { - "description": "Lists realms in a given project and location.", - "flatPath": "v1/projects/{projectsId}/locations/{locationsId}/realms", - "httpMethod": "GET", - "id": "gameservices.projects.locations.realms.list", - "parameterOrder": [ - "parent" - ], - "parameters": { - "filter": { - "description": "Optional. The filter to apply to list results (see [Filtering](https://google.aip.dev/160)).", - "location": "query", - "type": "string" - }, - "orderBy": { - "description": "Optional. Specifies the ordering of results following [Cloud API syntax](https://cloud.google.com/apis/design/design_patterns#sorting_order).", - "location": "query", - "type": "string" - }, - "pageSize": { - "description": "Optional. The maximum number of items to return. If unspecified, the server picks an appropriate default. The server may return fewer items than requested. A caller should only rely on the response's next_page_token to determine if there are more realms left to be queried.", - "format": "int32", - "location": "query", - "type": "integer" - }, - "pageToken": { - "description": "Optional. The next_page_token value returned from a previous list request, if any.", - "location": "query", - "type": "string" - }, - "parent": { - "description": "Required. The parent resource name, in the following form: `projects/{project}/locations/{locationId}`.", - "location": "path", - "pattern": "^projects/[^/]+/locations/[^/]+$", - "required": true, - "type": "string" - } - }, - "path": "v1/{+parent}/realms", - "response": { - "$ref": "ListRealmsResponse" - }, - "scopes": [ - "https://www.googleapis.com/auth/cloud-platform" - ] - }, - "patch": { - "description": "Patches a single realm.", - "flatPath": "v1/projects/{projectsId}/locations/{locationsId}/realms/{realmsId}", - "httpMethod": "PATCH", - "id": "gameservices.projects.locations.realms.patch", - "parameterOrder": [ - "name" - ], - "parameters": { - "name": { - "description": "The resource name of the realm, in the following form: `projects/{project}/locations/{locationId}/realms/{realmId}`. For example, `projects/my-project/locations/global/realms/my-realm`.", - "location": "path", - "pattern": "^projects/[^/]+/locations/[^/]+/realms/[^/]+$", - "required": true, - "type": "string" - }, - "updateMask": { - "description": "Required. The update mask to apply to the resource. For more information, see the [`FieldMask` definition](https://developers.google.com/protocol-buffers/docs/reference/google.protobuf#fieldmask).", - "format": "google-fieldmask", - "location": "query", - "type": "string" - } - }, - "path": "v1/{+name}", - "request": { - "$ref": "Realm" - }, - "response": { - "$ref": "Operation" - }, - "scopes": [ - "https://www.googleapis.com/auth/cloud-platform" - ] - }, - "previewUpdate": { - "description": "Previews patches to a single realm.", - "flatPath": "v1/projects/{projectsId}/locations/{locationsId}/realms/{realmsId}:previewUpdate", - "httpMethod": "PATCH", - "id": "gameservices.projects.locations.realms.previewUpdate", - "parameterOrder": [ - "name" - ], - "parameters": { - "name": { - "description": "The resource name of the realm, in the following form: `projects/{project}/locations/{locationId}/realms/{realmId}`. For example, `projects/my-project/locations/global/realms/my-realm`.", - "location": "path", - "pattern": "^projects/[^/]+/locations/[^/]+/realms/[^/]+$", - "required": true, - "type": "string" - }, - "previewTime": { - "description": "Optional. The target timestamp to compute the preview.", - "format": "google-datetime", - "location": "query", - "type": "string" - }, - "updateMask": { - "description": "Required. The update mask to apply to the resource. For more information, see the [`FieldMask` definition](https://developers.google.com/protocol-buffers/docs/reference/google.protobuf#fieldmask).", - "format": "google-fieldmask", - "location": "query", - "type": "string" - } - }, - "path": "v1/{+name}:previewUpdate", - "request": { - "$ref": "Realm" - }, - "response": { - "$ref": "PreviewRealmUpdateResponse" - }, - "scopes": [ - "https://www.googleapis.com/auth/cloud-platform" - ] - } - }, - "resources": { - "gameServerClusters": { - "methods": { - "create": { - "description": "Creates a new game server cluster in a given project and location.", - "flatPath": "v1/projects/{projectsId}/locations/{locationsId}/realms/{realmsId}/gameServerClusters", - "httpMethod": "POST", - "id": "gameservices.projects.locations.realms.gameServerClusters.create", - "parameterOrder": [ - "parent" - ], - "parameters": { - "gameServerClusterId": { - "description": "Required. The ID of the game server cluster resource to create.", - "location": "query", - "type": "string" - }, - "parent": { - "description": "Required. The parent resource name, in the following form: `projects/{project}/locations/{locationId}/realms/{realmId}`.", - "location": "path", - "pattern": "^projects/[^/]+/locations/[^/]+/realms/[^/]+$", - "required": true, - "type": "string" - } - }, - "path": "v1/{+parent}/gameServerClusters", - "request": { - "$ref": "GameServerCluster" - }, - "response": { - "$ref": "Operation" - }, - "scopes": [ - "https://www.googleapis.com/auth/cloud-platform" - ] - }, - "delete": { - "description": "Deletes a single game server cluster.", - "flatPath": "v1/projects/{projectsId}/locations/{locationsId}/realms/{realmsId}/gameServerClusters/{gameServerClustersId}", - "httpMethod": "DELETE", - "id": "gameservices.projects.locations.realms.gameServerClusters.delete", - "parameterOrder": [ - "name" - ], - "parameters": { - "name": { - "description": "Required. The name of the game server cluster to delete, in the following form: `projects/{project}/locations/{locationId}/gameServerClusters/{gameServerClusterId}`.", - "location": "path", - "pattern": "^projects/[^/]+/locations/[^/]+/realms/[^/]+/gameServerClusters/[^/]+$", - "required": true, - "type": "string" - } - }, - "path": "v1/{+name}", - "response": { - "$ref": "Operation" - }, - "scopes": [ - "https://www.googleapis.com/auth/cloud-platform" - ] - }, - "get": { - "description": "Gets details of a single game server cluster.", - "flatPath": "v1/projects/{projectsId}/locations/{locationsId}/realms/{realmsId}/gameServerClusters/{gameServerClustersId}", - "httpMethod": "GET", - "id": "gameservices.projects.locations.realms.gameServerClusters.get", - "parameterOrder": [ - "name" - ], - "parameters": { - "name": { - "description": "Required. The name of the game server cluster to retrieve, in the following form: `projects/{project}/locations/{locationId}/realms/{realmId}/gameServerClusters/{gameServerClusterId}`.", - "location": "path", - "pattern": "^projects/[^/]+/locations/[^/]+/realms/[^/]+/gameServerClusters/[^/]+$", - "required": true, - "type": "string" - }, - "view": { - "description": "Optional. View for the returned GameServerCluster objects. When `FULL` is specified, the `cluster_state` field is also returned in the GameServerCluster object, which includes the state of the referenced Kubernetes cluster such as versions and provider info. The default/unset value is `GAME_SERVER_CLUSTER_VIEW_UNSPECIFIED`, the same as `BASIC`, which does not return the `cluster_state` field.", - "enum": [ - "GAME_SERVER_CLUSTER_VIEW_UNSPECIFIED", - "BASIC", - "FULL" - ], - "enumDescriptions": [ - "If the value is not set, Google Cloud Game Servers defaults to the `BASIC` view.", - "Includes basic information of a GameServerCluster resource and omits `cluster_state`. This is the default value (for methods ListGameServerClusters, GetGameServerCluster, and PreviewCreateGameServerCluster).", - "Include basic information of a GameServerCluster resource as well as `cluster_state`." - ], - "location": "query", - "type": "string" - } - }, - "path": "v1/{+name}", - "response": { - "$ref": "GameServerCluster" - }, - "scopes": [ - "https://www.googleapis.com/auth/cloud-platform" - ] - }, - "list": { - "description": "Lists game server clusters in a given project and location.", - "flatPath": "v1/projects/{projectsId}/locations/{locationsId}/realms/{realmsId}/gameServerClusters", - "httpMethod": "GET", - "id": "gameservices.projects.locations.realms.gameServerClusters.list", - "parameterOrder": [ - "parent" - ], - "parameters": { - "filter": { - "description": "Optional. The filter to apply to list results (see [Filtering](https://google.aip.dev/160)).", - "location": "query", - "type": "string" - }, - "orderBy": { - "description": "Optional. Specifies the ordering of results following [Cloud API syntax](https://cloud.google.com/apis/design/design_patterns#sorting_order).", - "location": "query", - "type": "string" - }, - "pageSize": { - "description": "Optional. The maximum number of items to return. If unspecified, the server picks an appropriate default. The server may return fewer items than requested. A caller should only rely on response's next_page_token to determine if there are more GameServerClusters left to be queried.", - "format": "int32", - "location": "query", - "type": "integer" - }, - "pageToken": { - "description": "Optional. The next_page_token value returned from a previous list request, if any.", - "location": "query", - "type": "string" - }, - "parent": { - "description": "Required. The parent resource name, in the following form: `projects/{project}/locations/{locationId}/realms/{realmId}`.", - "location": "path", - "pattern": "^projects/[^/]+/locations/[^/]+/realms/[^/]+$", - "required": true, - "type": "string" - }, - "view": { - "description": "Optional. View for the returned GameServerCluster objects. When `FULL` is specified, the `cluster_state` field is also returned in the GameServerCluster object, which includes the state of the referenced Kubernetes cluster such as versions and provider info. The default/unset value is `GAME_SERVER_CLUSTER_VIEW_UNSPECIFIED`, the same as `BASIC`, which does not return the `cluster_state` field.", - "enum": [ - "GAME_SERVER_CLUSTER_VIEW_UNSPECIFIED", - "BASIC", - "FULL" - ], - "enumDescriptions": [ - "If the value is not set, Google Cloud Game Servers defaults to the `BASIC` view.", - "Includes basic information of a GameServerCluster resource and omits `cluster_state`. This is the default value (for methods ListGameServerClusters, GetGameServerCluster, and PreviewCreateGameServerCluster).", - "Include basic information of a GameServerCluster resource as well as `cluster_state`." - ], - "location": "query", - "type": "string" - } - }, - "path": "v1/{+parent}/gameServerClusters", - "response": { - "$ref": "ListGameServerClustersResponse" - }, - "scopes": [ - "https://www.googleapis.com/auth/cloud-platform" - ] - }, - "patch": { - "description": "Patches a single game server cluster.", - "flatPath": "v1/projects/{projectsId}/locations/{locationsId}/realms/{realmsId}/gameServerClusters/{gameServerClustersId}", - "httpMethod": "PATCH", - "id": "gameservices.projects.locations.realms.gameServerClusters.patch", - "parameterOrder": [ - "name" - ], - "parameters": { - "name": { - "description": "Required. The resource name of the game server cluster, in the following form: `projects/{project}/locations/{locationId}/realms/{realmId}/gameServerClusters/{gameServerClusterId}`. For example, `projects/my-project/locations/global/realms/zanzibar/gameServerClusters/my-gke-cluster`.", - "location": "path", - "pattern": "^projects/[^/]+/locations/[^/]+/realms/[^/]+/gameServerClusters/[^/]+$", - "required": true, - "type": "string" - }, - "updateMask": { - "description": "Required. The update mask to apply to the resource. At least one path must be supplied in this field. For more information, see the [`FieldMask` definition](https://developers.google.com/protocol-buffers/docs/reference/google.protobuf#fieldmask).", - "format": "google-fieldmask", - "location": "query", - "type": "string" - } - }, - "path": "v1/{+name}", - "request": { - "$ref": "GameServerCluster" - }, - "response": { - "$ref": "Operation" - }, - "scopes": [ - "https://www.googleapis.com/auth/cloud-platform" - ] - }, - "previewCreate": { - "description": "Previews creation of a new game server cluster in a given project and location.", - "flatPath": "v1/projects/{projectsId}/locations/{locationsId}/realms/{realmsId}/gameServerClusters:previewCreate", - "httpMethod": "POST", - "id": "gameservices.projects.locations.realms.gameServerClusters.previewCreate", - "parameterOrder": [ - "parent" - ], - "parameters": { - "gameServerClusterId": { - "description": "Required. The ID of the game server cluster resource to create.", - "location": "query", - "type": "string" - }, - "parent": { - "description": "Required. The parent resource name, in the following form: `projects/{project}/locations/{locationId}/realms/{realmId}`.", - "location": "path", - "pattern": "^projects/[^/]+/locations/[^/]+/realms/[^/]+$", - "required": true, - "type": "string" - }, - "previewTime": { - "description": "Optional. The target timestamp to compute the preview.", - "format": "google-datetime", - "location": "query", - "type": "string" - }, - "view": { - "description": "Optional. This field is deprecated. Preview will always return KubernetesClusterState.", - "enum": [ - "GAME_SERVER_CLUSTER_VIEW_UNSPECIFIED", - "BASIC", - "FULL" - ], - "enumDescriptions": [ - "If the value is not set, Google Cloud Game Servers defaults to the `BASIC` view.", - "Includes basic information of a GameServerCluster resource and omits `cluster_state`. This is the default value (for methods ListGameServerClusters, GetGameServerCluster, and PreviewCreateGameServerCluster).", - "Include basic information of a GameServerCluster resource as well as `cluster_state`." - ], - "location": "query", - "type": "string" - } - }, - "path": "v1/{+parent}/gameServerClusters:previewCreate", - "request": { - "$ref": "GameServerCluster" - }, - "response": { - "$ref": "PreviewCreateGameServerClusterResponse" - }, - "scopes": [ - "https://www.googleapis.com/auth/cloud-platform" - ] - }, - "previewDelete": { - "description": "Previews deletion of a single game server cluster.", - "flatPath": "v1/projects/{projectsId}/locations/{locationsId}/realms/{realmsId}/gameServerClusters/{gameServerClustersId}:previewDelete", - "httpMethod": "DELETE", - "id": "gameservices.projects.locations.realms.gameServerClusters.previewDelete", - "parameterOrder": [ - "name" - ], - "parameters": { - "name": { - "description": "Required. The name of the game server cluster to delete, in the following form: `projects/{project}/locations/{locationId}/gameServerClusters/{gameServerClusterId}`.", - "location": "path", - "pattern": "^projects/[^/]+/locations/[^/]+/realms/[^/]+/gameServerClusters/[^/]+$", - "required": true, - "type": "string" - }, - "previewTime": { - "description": "Optional. The target timestamp to compute the preview.", - "format": "google-datetime", - "location": "query", - "type": "string" - } - }, - "path": "v1/{+name}:previewDelete", - "response": { - "$ref": "PreviewDeleteGameServerClusterResponse" - }, - "scopes": [ - "https://www.googleapis.com/auth/cloud-platform" - ] - }, - "previewUpdate": { - "description": "Previews updating a GameServerCluster.", - "flatPath": "v1/projects/{projectsId}/locations/{locationsId}/realms/{realmsId}/gameServerClusters/{gameServerClustersId}:previewUpdate", - "httpMethod": "PATCH", - "id": "gameservices.projects.locations.realms.gameServerClusters.previewUpdate", - "parameterOrder": [ - "name" - ], - "parameters": { - "name": { - "description": "Required. The resource name of the game server cluster, in the following form: `projects/{project}/locations/{locationId}/realms/{realmId}/gameServerClusters/{gameServerClusterId}`. For example, `projects/my-project/locations/global/realms/zanzibar/gameServerClusters/my-gke-cluster`.", - "location": "path", - "pattern": "^projects/[^/]+/locations/[^/]+/realms/[^/]+/gameServerClusters/[^/]+$", - "required": true, - "type": "string" - }, - "previewTime": { - "description": "Optional. The target timestamp to compute the preview.", - "format": "google-datetime", - "location": "query", - "type": "string" - }, - "updateMask": { - "description": "Required. Mask of fields to update. At least one path must be supplied in this field. For more information, see the [`FieldMask` definition](https://developers.google.com/protocol-buffers/docs/reference/google.protobuf#fieldmask).", - "format": "google-fieldmask", - "location": "query", - "type": "string" - } - }, - "path": "v1/{+name}:previewUpdate", - "request": { - "$ref": "GameServerCluster" - }, - "response": { - "$ref": "PreviewUpdateGameServerClusterResponse" - }, - "scopes": [ - "https://www.googleapis.com/auth/cloud-platform" - ] - } - } - } - } } } } } } }, - "revision": "20220715", + "revision": "20220728", "rootUrl": "https://gameservices.googleapis.com/", "schemas": { "AuditConfig": { @@ -1619,541 +663,39 @@ "LOG_FAIL_CLOSED" ], "enumDescriptions": [ - "Client is not required to write a partial Gin log immediately after the authorization check. If client chooses to write one and it fails, client may either fail open (allow the operation to continue) or fail closed (handle as a DENY outcome).", - "The application's operation in the context of which this authorization check is being made may only be performed if it is successfully logged to Gin. For instance, the authorization library may satisfy this obligation by emitting a partial log entry at authorization check time and only returning ALLOW to the application if it succeeds. If a matching Rule has this directive, but the client has not indicated that it will honor such requirements, then the IAM check will result in authorization failure by setting CheckPolicyResponse.success=false." - ], - "type": "string" - } - }, - "type": "object" - }, - "DeployedClusterState": { - "description": "The game server cluster changes made by the game server deployment.", - "id": "DeployedClusterState", - "properties": { - "cluster": { - "description": "The name of the cluster.", - "type": "string" - }, - "fleetDetails": { - "description": "The details about the Agones fleets and autoscalers created in the game server cluster.", - "items": { - "$ref": "DeployedFleetDetails" - }, - "type": "array" - } - }, - "type": "object" - }, - "DeployedFleet": { - "description": "Agones fleet specification and details.", - "id": "DeployedFleet", - "properties": { - "fleet": { - "description": "The name of the Agones fleet.", - "type": "string" - }, - "fleetSpec": { - "description": "The fleet spec retrieved from the Agones fleet.", - "type": "string" - }, - "specSource": { - "$ref": "SpecSource", - "description": "The source spec that is used to create the Agones fleet. The GameServerConfig resource may no longer exist in the system." - }, - "status": { - "$ref": "DeployedFleetStatus", - "description": "The current status of the Agones fleet. Includes count of game servers in various states." - } - }, - "type": "object" - }, - "DeployedFleetAutoscaler": { - "description": "Details about the Agones autoscaler.", - "id": "DeployedFleetAutoscaler", - "properties": { - "autoscaler": { - "description": "The name of the Agones autoscaler.", - "type": "string" - }, - "fleetAutoscalerSpec": { - "description": "The autoscaler spec retrieved from Agones.", - "type": "string" - }, - "specSource": { - "$ref": "SpecSource", - "description": "The source spec that is used to create the autoscaler. The GameServerConfig resource may no longer exist in the system." - } - }, - "type": "object" - }, - "DeployedFleetDetails": { - "description": "Details of the deployed Agones fleet.", - "id": "DeployedFleetDetails", - "properties": { - "deployedAutoscaler": { - "$ref": "DeployedFleetAutoscaler", - "description": "Information about the Agones autoscaler for that fleet." - }, - "deployedFleet": { - "$ref": "DeployedFleet", - "description": "Information about the Agones fleet." - } - }, - "type": "object" - }, - "DeployedFleetStatus": { - "description": "DeployedFleetStatus has details about the Agones fleets, such as how many are running, how many are allocated, and so on.", - "id": "DeployedFleetStatus", - "properties": { - "allocatedReplicas": { - "description": "The number of GameServer replicas in the ALLOCATED state in this fleet.", - "format": "int64", - "type": "string" - }, - "readyReplicas": { - "description": "The number of GameServer replicas in the READY state in this fleet.", - "format": "int64", - "type": "string" - }, - "replicas": { - "description": "The total number of current GameServer replicas in this fleet.", - "format": "int64", - "type": "string" - }, - "reservedReplicas": { - "description": "The number of GameServer replicas in the RESERVED state in this fleet. Reserved instances won't be deleted on scale down, but won't cause an autoscaler to scale up.", - "format": "int64", - "type": "string" - } - }, - "type": "object" - }, - "Empty": { - "description": "A generic empty message that you can re-use to avoid defining duplicated empty messages in your APIs. A typical example is to use it as the request or the response type of an API method. For instance: service Foo { rpc Bar(google.protobuf.Empty) returns (google.protobuf.Empty); }", - "id": "Empty", - "properties": {}, - "type": "object" - }, - "Expr": { - "description": "Represents a textual expression in the Common Expression Language (CEL) syntax. CEL is a C-like expression language. The syntax and semantics of CEL are documented at https://github.com/google/cel-spec. Example (Comparison): title: \"Summary size limit\" description: \"Determines if a summary is less than 100 chars\" expression: \"document.summary.size() < 100\" Example (Equality): title: \"Requestor is owner\" description: \"Determines if requestor is the document owner\" expression: \"document.owner == request.auth.claims.email\" Example (Logic): title: \"Public documents\" description: \"Determine whether the document should be publicly visible\" expression: \"document.type != 'private' && document.type != 'internal'\" Example (Data Manipulation): title: \"Notification string\" description: \"Create a notification string with a timestamp.\" expression: \"'New message received at ' + string(document.create_time)\" The exact variables and functions that may be referenced within an expression are determined by the service that evaluates it. See the service documentation for additional information.", - "id": "Expr", - "properties": { - "description": { - "description": "Optional. Description of the expression. This is a longer text which describes the expression, e.g. when hovered over it in a UI.", - "type": "string" - }, - "expression": { - "description": "Textual representation of an expression in Common Expression Language syntax.", - "type": "string" - }, - "location": { - "description": "Optional. String indicating the location of the expression for error reporting, e.g. a file name and a position in the file.", - "type": "string" - }, - "title": { - "description": "Optional. Title for the expression, i.e. a short string describing its purpose. This can be used e.g. in UIs which allow to enter the expression.", - "type": "string" - } - }, - "type": "object" - }, - "FetchDeploymentStateRequest": { - "description": "Request message for GameServerDeploymentsService.FetchDeploymentState.", - "id": "FetchDeploymentStateRequest", - "properties": {}, - "type": "object" - }, - "FetchDeploymentStateResponse": { - "description": "Response message for GameServerDeploymentsService.FetchDeploymentState.", - "id": "FetchDeploymentStateResponse", - "properties": { - "clusterState": { - "description": "The state of the game server deployment in each game server cluster.", - "items": { - "$ref": "DeployedClusterState" - }, - "type": "array" - }, - "unavailable": { - "description": "List of locations that could not be reached.", - "items": { - "type": "string" - }, - "type": "array" - } - }, - "type": "object" - }, - "FleetConfig": { - "description": "Fleet configs for Agones.", - "id": "FleetConfig", - "properties": { - "fleetSpec": { - "description": "Agones fleet spec (see [example spec](https://agones.dev/site/docs/reference/fleet/)).", - "type": "string" - }, - "name": { - "description": "The name of the FleetConfig.", - "type": "string" - } - }, - "type": "object" - }, - "GameServerCluster": { - "description": "A game server cluster resource.", - "id": "GameServerCluster", - "properties": { - "clusterState": { - "$ref": "KubernetesClusterState", - "description": "Output only. The state of the Kubernetes cluster in preview. This will be available if view is set to FULL in the relevant list/get/preview request.", - "readOnly": true - }, - "connectionInfo": { - "$ref": "GameServerClusterConnectionInfo", - "description": "The game server cluster connection information. This information is used to manage game server clusters." - }, - "createTime": { - "description": "Output only. The creation time.", - "format": "google-datetime", - "readOnly": true, - "type": "string" - }, - "description": { - "description": "Human readable description of the cluster.", - "type": "string" - }, - "etag": { - "description": "Used to perform consistent read-modify-write updates. If not set, a blind \"overwrite\" update happens.", - "type": "string" - }, - "labels": { - "additionalProperties": { - "type": "string" - }, - "description": "The labels associated with this game server cluster. Each label is a key-value pair.", - "type": "object" - }, - "name": { - "description": "Required. The resource name of the game server cluster, in the following form: `projects/{project}/locations/{locationId}/realms/{realmId}/gameServerClusters/{gameServerClusterId}`. For example, `projects/my-project/locations/global/realms/zanzibar/gameServerClusters/my-gke-cluster`.", - "type": "string" - }, - "updateTime": { - "description": "Output only. The last-modified time.", - "format": "google-datetime", - "readOnly": true, - "type": "string" - } - }, - "type": "object" - }, - "GameServerClusterConnectionInfo": { - "description": "The game server cluster connection information.", - "id": "GameServerClusterConnectionInfo", - "properties": { - "gkeClusterReference": { - "$ref": "GkeClusterReference", - "description": "Reference to the GKE cluster where the game servers are installed." - }, - "namespace": { - "description": "Namespace designated on the game server cluster where the Agones game server instances will be created. Existence of the namespace will be validated during creation.", - "type": "string" - } - }, - "type": "object" - }, - "GameServerConfig": { - "description": "A game server config resource.", - "id": "GameServerConfig", - "properties": { - "createTime": { - "description": "Output only. The creation time.", - "format": "google-datetime", - "readOnly": true, - "type": "string" - }, - "description": { - "description": "The description of the game server config.", - "type": "string" - }, - "fleetConfigs": { - "description": "FleetConfig contains a list of Agones fleet specs. Only one FleetConfig is allowed.", - "items": { - "$ref": "FleetConfig" - }, - "type": "array" - }, - "labels": { - "additionalProperties": { - "type": "string" - }, - "description": "The labels associated with this game server config. Each label is a key-value pair.", - "type": "object" - }, - "name": { - "description": "The resource name of the game server config, in the following form: `projects/{project}/locations/{locationId}/gameServerDeployments/{deploymentId}/configs/{configId}`. For example, `projects/my-project/locations/global/gameServerDeployments/my-game/configs/my-config`.", - "type": "string" - }, - "scalingConfigs": { - "description": "The autoscaling settings.", - "items": { - "$ref": "ScalingConfig" - }, - "type": "array" - }, - "updateTime": { - "description": "Output only. The last-modified time.", - "format": "google-datetime", - "readOnly": true, - "type": "string" - } - }, - "type": "object" - }, - "GameServerConfigOverride": { - "description": "A game server config override.", - "id": "GameServerConfigOverride", - "properties": { - "configVersion": { - "description": "The game server config for this override.", - "type": "string" - }, - "realmsSelector": { - "$ref": "RealmSelector", - "description": "Selector for choosing applicable realms." - } - }, - "type": "object" - }, - "GameServerDeployment": { - "description": "A game server deployment resource.", - "id": "GameServerDeployment", - "properties": { - "createTime": { - "description": "Output only. The creation time.", - "format": "google-datetime", - "readOnly": true, - "type": "string" - }, - "description": { - "description": "Human readable description of the game server deployment.", - "type": "string" - }, - "etag": { - "description": "Used to perform consistent read-modify-write updates. If not set, a blind \"overwrite\" update happens.", - "type": "string" - }, - "labels": { - "additionalProperties": { - "type": "string" - }, - "description": "The labels associated with this game server deployment. Each label is a key-value pair.", - "type": "object" - }, - "name": { - "description": "The resource name of the game server deployment, in the following form: `projects/{project}/locations/{locationId}/gameServerDeployments/{deploymentId}`. For example, `projects/my-project/locations/global/gameServerDeployments/my-deployment`.", - "type": "string" - }, - "updateTime": { - "description": "Output only. The last-modified time.", - "format": "google-datetime", - "readOnly": true, - "type": "string" - } - }, - "type": "object" - }, - "GameServerDeploymentRollout": { - "description": "The game server deployment rollout which represents the desired rollout state.", - "id": "GameServerDeploymentRollout", - "properties": { - "createTime": { - "description": "Output only. The creation time.", - "format": "google-datetime", - "readOnly": true, - "type": "string" - }, - "defaultGameServerConfig": { - "description": "The default game server config is applied to all realms unless overridden in the rollout. For example, `projects/my-project/locations/global/gameServerDeployments/my-game/configs/my-config`.", - "type": "string" - }, - "etag": { - "description": "ETag of the resource.", - "type": "string" - }, - "gameServerConfigOverrides": { - "description": "Contains the game server config rollout overrides. Overrides are processed in the order they are listed. Once a match is found for a realm, the rest of the list is not processed.", - "items": { - "$ref": "GameServerConfigOverride" - }, - "type": "array" - }, - "name": { - "description": "The resource name of the game server deployment rollout, in the following form: `projects/{project}/locations/{locationId}/gameServerDeployments/{deploymentId}/rollout`. For example, `projects/my-project/locations/global/gameServerDeployments/my-deployment/rollout`.", - "type": "string" - }, - "updateTime": { - "description": "Output only. The last-modified time.", - "format": "google-datetime", - "readOnly": true, - "type": "string" - } - }, - "type": "object" - }, - "GkeClusterReference": { - "description": "A reference to a GKE cluster.", - "id": "GkeClusterReference", - "properties": { - "cluster": { - "description": "The full or partial name of a GKE cluster, using one of the following forms: * `projects/{project}/locations/{locationId}/clusters/{cluster}` * `locations/{locationId}/clusters/{cluster}` * `{cluster}` If project and location are not specified, the project and location of the GameServerCluster resource are used to generate the full name of the GKE cluster.", - "type": "string" - } - }, - "type": "object" - }, - "KubernetesClusterState": { - "description": "The state of the Kubernetes cluster.", - "id": "KubernetesClusterState", - "properties": { - "agonesVersionInstalled": { - "description": "Output only. The version of Agones currently installed in the registered Kubernetes cluster.", - "readOnly": true, - "type": "string" - }, - "agonesVersionTargeted": { - "description": "Output only. The version of Agones that is targeted to be installed in the cluster.", - "readOnly": true, - "type": "string" - }, - "installationState": { - "description": "Output only. The state for the installed versions of Agones/Kubernetes.", - "enum": [ - "INSTALLATION_STATE_UNSPECIFIED", - "AGONES_KUBERNETES_VERSION_SUPPORTED", - "AGONES_VERSION_UNSUPPORTED", - "AGONES_KUBERNETES_VERSION_UNSUPPORTED", - "AGONES_VERSION_UNRECOGNIZED", - "KUBERNETES_VERSION_UNRECOGNIZED", - "VERSION_VERIFICATION_FAILED", - "AGONES_NOT_INSTALLED" - ], - "enumDescriptions": [ - "The default installation state. This value is used if the state is omitted.", - "Both the Agones and Kubernetes versions are supported by Google Cloud Game Servers and Agones and Kubernetes versions are compatible.", - "The installed version of Agones is not supported by Google Cloud Game Servers.", - "The installed version of Agones is supported by Google Cloud Game Servers, but the installed version of Kubernetes is not recommended or supported by the version of Agones.", - "The installed version of Agones is not recognized because the Agones controller's image name does not have a version string reported as {major}.{minor}(.{patch}).", - "The server version of Kubernetes cluster is not recognized because the API server didn't return parsable version info on path/version.", - "Failed to read or verify the version of Agones or Kubernetes. See `version_installed_error_message` for details.", - "Agones is not installed." - ], - "readOnly": true, - "type": "string" - }, - "kubernetesVersionInstalled": { - "description": "Output only. The version of Kubernetes that is currently used in the registered Kubernetes cluster (as detected by the Cloud Game Servers service).", - "readOnly": true, - "type": "string" - }, - "provider": { - "description": "Output only. The cloud provider type reported by the first node's `providerID` in the list of nodes on the Kubernetes endpoint. On Kubernetes platforms that support zero-node clusters (like GKE-on-GCP), the provider type will be empty.", - "readOnly": true, - "type": "string" - }, - "versionInstalledErrorMessage": { - "description": "Output only. The detailed error message for the installed versions of Agones/Kubernetes.", - "readOnly": true, - "type": "string" - } - }, - "type": "object" - }, - "LabelSelector": { - "description": "The label selector, used to group labels on the resources.", - "id": "LabelSelector", - "properties": { - "labels": { - "additionalProperties": { - "type": "string" - }, - "description": "Resource labels for this selector.", - "type": "object" - } - }, - "type": "object" - }, - "ListGameServerClustersResponse": { - "description": "Response message for GameServerClustersService.ListGameServerClusters.", - "id": "ListGameServerClustersResponse", - "properties": { - "gameServerClusters": { - "description": "The list of game server clusters.", - "items": { - "$ref": "GameServerCluster" - }, - "type": "array" - }, - "nextPageToken": { - "description": "Token to retrieve the next page of results, or empty if there are no more results in the list.", - "type": "string" - }, - "unreachable": { - "description": "List of locations that could not be reached.", - "items": { - "type": "string" - }, - "type": "array" - } - }, - "type": "object" - }, - "ListGameServerConfigsResponse": { - "description": "Response message for GameServerConfigsService.ListGameServerConfigs.", - "id": "ListGameServerConfigsResponse", - "properties": { - "gameServerConfigs": { - "description": "The list of game server configs.", - "items": { - "$ref": "GameServerConfig" - }, - "type": "array" - }, - "nextPageToken": { - "description": "Token to retrieve the next page of results, or empty if there are no more results in the list.", + "Client is not required to write a partial Gin log immediately after the authorization check. If client chooses to write one and it fails, client may either fail open (allow the operation to continue) or fail closed (handle as a DENY outcome).", + "The application's operation in the context of which this authorization check is being made may only be performed if it is successfully logged to Gin. For instance, the authorization library may satisfy this obligation by emitting a partial log entry at authorization check time and only returning ALLOW to the application if it succeeds. If a matching Rule has this directive, but the client has not indicated that it will honor such requirements, then the IAM check will result in authorization failure by setting CheckPolicyResponse.success=false." + ], "type": "string" - }, - "unreachable": { - "description": "List of locations that could not be reached.", - "items": { - "type": "string" - }, - "type": "array" } }, "type": "object" }, - "ListGameServerDeploymentsResponse": { - "description": "Response message for GameServerDeploymentsService.ListGameServerDeployments.", - "id": "ListGameServerDeploymentsResponse", + "Empty": { + "description": "A generic empty message that you can re-use to avoid defining duplicated empty messages in your APIs. A typical example is to use it as the request or the response type of an API method. For instance: service Foo { rpc Bar(google.protobuf.Empty) returns (google.protobuf.Empty); }", + "id": "Empty", + "properties": {}, + "type": "object" + }, + "Expr": { + "description": "Represents a textual expression in the Common Expression Language (CEL) syntax. CEL is a C-like expression language. The syntax and semantics of CEL are documented at https://github.com/google/cel-spec. Example (Comparison): title: \"Summary size limit\" description: \"Determines if a summary is less than 100 chars\" expression: \"document.summary.size() < 100\" Example (Equality): title: \"Requestor is owner\" description: \"Determines if requestor is the document owner\" expression: \"document.owner == request.auth.claims.email\" Example (Logic): title: \"Public documents\" description: \"Determine whether the document should be publicly visible\" expression: \"document.type != 'private' && document.type != 'internal'\" Example (Data Manipulation): title: \"Notification string\" description: \"Create a notification string with a timestamp.\" expression: \"'New message received at ' + string(document.create_time)\" The exact variables and functions that may be referenced within an expression are determined by the service that evaluates it. See the service documentation for additional information.", + "id": "Expr", "properties": { - "gameServerDeployments": { - "description": "The list of game server deployments.", - "items": { - "$ref": "GameServerDeployment" - }, - "type": "array" + "description": { + "description": "Optional. Description of the expression. This is a longer text which describes the expression, e.g. when hovered over it in a UI.", + "type": "string" }, - "nextPageToken": { - "description": "Token to retrieve the next page of results, or empty if there are no more results in the list.", + "expression": { + "description": "Textual representation of an expression in Common Expression Language syntax.", "type": "string" }, - "unreachable": { - "description": "List of locations that could not be reached.", - "items": { - "type": "string" - }, - "type": "array" + "location": { + "description": "Optional. String indicating the location of the expression for error reporting, e.g. a file name and a position in the file.", + "type": "string" + }, + "title": { + "description": "Optional. Title for the expression, i.e. a short string describing its purpose. This can be used e.g. in UIs which allow to enter the expression.", + "type": "string" } }, "type": "object" @@ -2194,31 +736,6 @@ }, "type": "object" }, - "ListRealmsResponse": { - "description": "Response message for RealmsService.ListRealms.", - "id": "ListRealmsResponse", - "properties": { - "nextPageToken": { - "description": "Token to retrieve the next page of results, or empty if there are no more results in the list.", - "type": "string" - }, - "realms": { - "description": "The list of realms.", - "items": { - "$ref": "Realm" - }, - "type": "array" - }, - "unreachable": { - "description": "List of locations that could not be reached.", - "items": { - "type": "string" - }, - "type": "array" - } - }, - "type": "object" - }, "Location": { "description": "A resource that represents Google Cloud Platform location.", "id": "Location", @@ -2307,97 +824,6 @@ }, "type": "object" }, - "OperationMetadata": { - "description": "Represents the metadata of the long-running operation.", - "id": "OperationMetadata", - "properties": { - "apiVersion": { - "description": "Output only. API version used to start the operation.", - "readOnly": true, - "type": "string" - }, - "createTime": { - "description": "Output only. The time the operation was created.", - "format": "google-datetime", - "readOnly": true, - "type": "string" - }, - "endTime": { - "description": "Output only. The time the operation finished running.", - "format": "google-datetime", - "readOnly": true, - "type": "string" - }, - "operationStatus": { - "additionalProperties": { - "$ref": "OperationStatus" - }, - "description": "Output only. Operation status for Game Services API operations. Operation status is in the form of key-value pairs where keys are resource IDs and the values show the status of the operation. In case of failures, the value includes an error code and error message.", - "readOnly": true, - "type": "object" - }, - "requestedCancellation": { - "description": "Output only. Identifies whether the user has requested cancellation of the operation. Operations that have successfully been cancelled have Operation.error value with a google.rpc.Status.code of 1, corresponding to `Code.CANCELLED`.", - "readOnly": true, - "type": "boolean" - }, - "statusMessage": { - "description": "Output only. Human-readable status of the operation, if any.", - "readOnly": true, - "type": "string" - }, - "target": { - "description": "Output only. Server-defined resource path for the target of the operation.", - "readOnly": true, - "type": "string" - }, - "unreachable": { - "description": "Output only. List of Locations that could not be reached.", - "items": { - "type": "string" - }, - "readOnly": true, - "type": "array" - }, - "verb": { - "description": "Output only. Name of the verb executed by the operation.", - "readOnly": true, - "type": "string" - } - }, - "type": "object" - }, - "OperationStatus": { - "id": "OperationStatus", - "properties": { - "done": { - "description": "Output only. Whether the operation is done or still in progress.", - "readOnly": true, - "type": "boolean" - }, - "errorCode": { - "description": "The error code in case of failures.", - "enum": [ - "ERROR_CODE_UNSPECIFIED", - "INTERNAL_ERROR", - "PERMISSION_DENIED", - "CLUSTER_CONNECTION" - ], - "enumDescriptions": [ - "", - "", - "", - "" - ], - "type": "string" - }, - "errorMessage": { - "description": "The human-readable error message.", - "type": "string" - } - }, - "type": "object" - }, "Policy": { "description": "An Identity and Access Management (IAM) policy, which specifies access controls for Google Cloud resources. A `Policy` is a collection of `bindings`. A `binding` binds one or more `members`, or principals, to a single `role`. Principals can be user accounts, service accounts, Google groups, and domains (such as G Suite). A `role` is a named list of permissions; each `role` can be an IAM predefined role or a user-created custom role. For some types of Google Cloud resources, a `binding` can also specify a `condition`, which is a logical expression that allows access to a resource only if the expression evaluates to `true`. A condition can add constraints based on attributes of the request, the resource, or both. To learn which resources support conditions in their IAM policies, see the [IAM documentation](https://cloud.google.com/iam/help/conditions/resource-policies). **JSON example:** { \"bindings\": [ { \"role\": \"roles/resourcemanager.organizationAdmin\", \"members\": [ \"user:mike@example.com\", \"group:admins@example.com\", \"domain:google.com\", \"serviceAccount:my-project-id@appspot.gserviceaccount.com\" ] }, { \"role\": \"roles/resourcemanager.organizationViewer\", \"members\": [ \"user:eve@example.com\" ], \"condition\": { \"title\": \"expirable access\", \"description\": \"Does not grant access after Sep 2020\", \"expression\": \"request.time < timestamp('2020-10-01T00:00:00.000Z')\", } } ], \"etag\": \"BwWWja0YfJA=\", \"version\": 3 } **YAML example:** bindings: - members: - user:mike@example.com - group:admins@example.com - domain:google.com - serviceAccount:my-project-id@appspot.gserviceaccount.com role: roles/resourcemanager.organizationAdmin - members: - user:eve@example.com role: roles/resourcemanager.organizationViewer condition: title: expirable access description: Does not grant access after Sep 2020 expression: request.time < timestamp('2020-10-01T00:00:00.000Z') etag: BwWWja0YfJA= version: 3 For a description of IAM and its features, see the [IAM documentation](https://cloud.google.com/iam/docs/).", "id": "Policy", @@ -2436,149 +862,6 @@ }, "type": "object" }, - "PreviewCreateGameServerClusterResponse": { - "description": "Response message for GameServerClustersService.PreviewCreateGameServerCluster.", - "id": "PreviewCreateGameServerClusterResponse", - "properties": { - "clusterState": { - "$ref": "KubernetesClusterState", - "description": "Output only. The state of the Kubernetes cluster in preview. This will be available if view is set to FULL in the relevant list/get/preview request.", - "readOnly": true - }, - "etag": { - "description": "The ETag of the game server cluster.", - "type": "string" - }, - "targetState": { - "$ref": "TargetState", - "description": "The target state." - } - }, - "type": "object" - }, - "PreviewDeleteGameServerClusterResponse": { - "description": "Response message for GameServerClustersService.PreviewDeleteGameServerCluster.", - "id": "PreviewDeleteGameServerClusterResponse", - "properties": { - "etag": { - "description": "The ETag of the game server cluster.", - "type": "string" - }, - "targetState": { - "$ref": "TargetState", - "description": "The target state." - } - }, - "type": "object" - }, - "PreviewGameServerDeploymentRolloutResponse": { - "description": "Response message for PreviewGameServerDeploymentRollout. This has details about the Agones fleet and autoscaler to be actuated.", - "id": "PreviewGameServerDeploymentRolloutResponse", - "properties": { - "etag": { - "description": "ETag of the game server deployment.", - "type": "string" - }, - "targetState": { - "$ref": "TargetState", - "description": "The target state." - }, - "unavailable": { - "description": "Locations that could not be reached on this request.", - "items": { - "type": "string" - }, - "type": "array" - } - }, - "type": "object" - }, - "PreviewRealmUpdateResponse": { - "description": "Response message for RealmsService.PreviewRealmUpdate.", - "id": "PreviewRealmUpdateResponse", - "properties": { - "etag": { - "description": "ETag of the realm.", - "type": "string" - }, - "targetState": { - "$ref": "TargetState", - "description": "The target state." - } - }, - "type": "object" - }, - "PreviewUpdateGameServerClusterResponse": { - "description": "Response message for GameServerClustersService.PreviewUpdateGameServerCluster", - "id": "PreviewUpdateGameServerClusterResponse", - "properties": { - "etag": { - "description": "The ETag of the game server cluster.", - "type": "string" - }, - "targetState": { - "$ref": "TargetState", - "description": "The target state." - } - }, - "type": "object" - }, - "Realm": { - "description": "A realm resource.", - "id": "Realm", - "properties": { - "createTime": { - "description": "Output only. The creation time.", - "format": "google-datetime", - "readOnly": true, - "type": "string" - }, - "description": { - "description": "Human readable description of the realm.", - "type": "string" - }, - "etag": { - "description": "Used to perform consistent read-modify-write updates. If not set, a blind \"overwrite\" update happens.", - "type": "string" - }, - "labels": { - "additionalProperties": { - "type": "string" - }, - "description": "The labels associated with this realm. Each label is a key-value pair.", - "type": "object" - }, - "name": { - "description": "The resource name of the realm, in the following form: `projects/{project}/locations/{locationId}/realms/{realmId}`. For example, `projects/my-project/locations/global/realms/my-realm`.", - "type": "string" - }, - "timeZone": { - "description": "Required. Time zone where all policies targeting this realm are evaluated. The value of this field must be from the [IANA time zone database](https://www.iana.org/time-zones).", - "type": "string" - }, - "updateTime": { - "description": "Output only. The last-modified time.", - "format": "google-datetime", - "readOnly": true, - "type": "string" - } - }, - "type": "object" - }, - "RealmSelector": { - "description": "The realm selector, used to match realm resources.", - "id": "RealmSelector", - "properties": { - "realms": { - "description": "List of realms to match.", - "items": { - "type": "string" - }, - "type": "array" - } - }, - "type": "object" - }, "Rule": { "description": "A rule to be applied in a Policy.", "id": "Rule", @@ -2645,61 +928,6 @@ }, "type": "object" }, - "ScalingConfig": { - "description": "Autoscaling config for an Agones fleet.", - "id": "ScalingConfig", - "properties": { - "fleetAutoscalerSpec": { - "description": "Required. Agones fleet autoscaler spec (see [example spec](https://agones.dev/site/docs/reference/fleetautoscaler/)).", - "type": "string" - }, - "name": { - "description": "Required. The name of the scaling config.", - "type": "string" - }, - "schedules": { - "description": "The schedules to which this scaling config applies.", - "items": { - "$ref": "Schedule" - }, - "type": "array" - }, - "selectors": { - "description": "Labels used to identify the game server clusters to which this Agones scaling config applies. A game server cluster is subject to this Agones scaling config if its labels match any of the selector entries.", - "items": { - "$ref": "LabelSelector" - }, - "type": "array" - } - }, - "type": "object" - }, - "Schedule": { - "description": "The schedule of a recurring or one time event. The event's time span is specified by start_time and end_time. If the scheduled event's timespan is larger than cron_spec added with cron_job_duration, the event is recurring. If only cron_spec and cron_job_duration are specified, the event starts at the local time specified by cron_spec, and is recurring. ``` start_time|-------[cron job]-------[cron job]-------[cron job]---|end_time cron job: cron spec start time + duration ```", - "id": "Schedule", - "properties": { - "cronJobDuration": { - "description": "The duration for the cron job event. The duration of the event is effective after the cron job's start time.", - "format": "google-duration", - "type": "string" - }, - "cronSpec": { - "description": "The cron definition of the scheduled event. See https://en.wikipedia.org/wiki/Cron. The cron spec specifies the local time as defined by the realm.", - "type": "string" - }, - "endTime": { - "description": "The end time of the event.", - "format": "google-datetime", - "type": "string" - }, - "startTime": { - "description": "The start time of the event.", - "format": "google-datetime", - "type": "string" - } - }, - "type": "object" - }, "SetIamPolicyRequest": { "description": "Request message for `SetIamPolicy` method.", "id": "SetIamPolicyRequest", @@ -2716,21 +944,6 @@ }, "type": "object" }, - "SpecSource": { - "description": "Encapsulates Agones fleet spec and Agones autoscaler spec sources.", - "id": "SpecSource", - "properties": { - "gameServerConfigName": { - "description": "The game server config resource. Uses the form: `projects/{project}/locations/{locationId}/gameServerDeployments/{deploymentId}/configs/{configId}`.", - "type": "string" - }, - "name": { - "description": "The name of the Agones fleet config or Agones scaling config used to derive the Agones fleet or Agones autoscaler spec.", - "type": "string" - } - }, - "type": "object" - }, "Status": { "description": "The `Status` type defines a logical error model that is suitable for different programming environments, including REST APIs and RPC APIs. It is used by [gRPC](https://github.com/grpc). Each `Status` message contains three pieces of data: error code, error message, and error details. You can find out more about this error model and how to work with it in the [API Design Guide](https://cloud.google.com/apis/design/errors).", "id": "Status", @@ -2758,87 +971,6 @@ }, "type": "object" }, - "TargetDetails": { - "description": "Details about the Agones resources.", - "id": "TargetDetails", - "properties": { - "fleetDetails": { - "description": "Agones fleet details for game server clusters and game server deployments.", - "items": { - "$ref": "TargetFleetDetails" - }, - "type": "array" - }, - "gameServerClusterName": { - "description": "The game server cluster name. Uses the form: `projects/{project}/locations/{locationId}/realms/{realmId}/gameServerClusters/{gameServerClusterId}`.", - "type": "string" - }, - "gameServerDeploymentName": { - "description": "The game server deployment name. Uses the form: `projects/{project}/locations/{locationId}/gameServerDeployments/{deploymentId}`.", - "type": "string" - } - }, - "type": "object" - }, - "TargetFleet": { - "description": "Target Agones fleet specification.", - "id": "TargetFleet", - "properties": { - "name": { - "description": "The name of the Agones fleet.", - "type": "string" - }, - "specSource": { - "$ref": "SpecSource", - "description": "Encapsulates the source of the Agones fleet spec. The Agones fleet spec source." - } - }, - "type": "object" - }, - "TargetFleetAutoscaler": { - "description": "Target Agones autoscaler policy reference.", - "id": "TargetFleetAutoscaler", - "properties": { - "name": { - "description": "The name of the Agones autoscaler.", - "type": "string" - }, - "specSource": { - "$ref": "SpecSource", - "description": "Encapsulates the source of the Agones fleet spec. Details about the Agones autoscaler spec." - } - }, - "type": "object" - }, - "TargetFleetDetails": { - "description": "Details of the target Agones fleet.", - "id": "TargetFleetDetails", - "properties": { - "autoscaler": { - "$ref": "TargetFleetAutoscaler", - "description": "Reference to target Agones fleet autoscaling policy." - }, - "fleet": { - "$ref": "TargetFleet", - "description": "Reference to target Agones fleet." - } - }, - "type": "object" - }, - "TargetState": { - "description": "Encapsulates the Target state.", - "id": "TargetState", - "properties": { - "details": { - "description": "Details about Agones fleets.", - "items": { - "$ref": "TargetDetails" - }, - "type": "array" - } - }, - "type": "object" - }, "TestIamPermissionsRequest": { "description": "Request message for `TestIamPermissions` method.", "id": "TestIamPermissionsRequest", diff --git a/googleapiclient/discovery_cache/documents/gameservices.v1beta.json b/googleapiclient/discovery_cache/documents/gameservices.v1beta.json index 6c6a5d26a91..4b249870194 100644 --- a/googleapiclient/discovery_cache/documents/gameservices.v1beta.json +++ b/googleapiclient/discovery_cache/documents/gameservices.v1beta.json @@ -184,117 +184,6 @@ "resources": { "gameServerDeployments": { "methods": { - "create": { - "description": "Creates a new game server deployment in a given project and location.", - "flatPath": "v1beta/projects/{projectsId}/locations/{locationsId}/gameServerDeployments", - "httpMethod": "POST", - "id": "gameservices.projects.locations.gameServerDeployments.create", - "parameterOrder": [ - "parent" - ], - "parameters": { - "deploymentId": { - "description": "Required. The ID of the game server deployment resource to create.", - "location": "query", - "type": "string" - }, - "parent": { - "description": "Required. The parent resource name, in the following form: `projects/{project}/locations/{locationId}`.", - "location": "path", - "pattern": "^projects/[^/]+/locations/[^/]+$", - "required": true, - "type": "string" - } - }, - "path": "v1beta/{+parent}/gameServerDeployments", - "request": { - "$ref": "GameServerDeployment" - }, - "response": { - "$ref": "Operation" - }, - "scopes": [ - "https://www.googleapis.com/auth/cloud-platform" - ] - }, - "delete": { - "description": "Deletes a single game server deployment.", - "flatPath": "v1beta/projects/{projectsId}/locations/{locationsId}/gameServerDeployments/{gameServerDeploymentsId}", - "httpMethod": "DELETE", - "id": "gameservices.projects.locations.gameServerDeployments.delete", - "parameterOrder": [ - "name" - ], - "parameters": { - "name": { - "description": "Required. The name of the game server deployment to delete, in the following form: `projects/{project}/locations/{locationId}/gameServerDeployments/{deploymentId}`.", - "location": "path", - "pattern": "^projects/[^/]+/locations/[^/]+/gameServerDeployments/[^/]+$", - "required": true, - "type": "string" - } - }, - "path": "v1beta/{+name}", - "response": { - "$ref": "Operation" - }, - "scopes": [ - "https://www.googleapis.com/auth/cloud-platform" - ] - }, - "fetchDeploymentState": { - "description": "Retrieves information about the current state of the game server deployment. Gathers all the Agones fleets and Agones autoscalers, including fleets running an older version of the game server deployment.", - "flatPath": "v1beta/projects/{projectsId}/locations/{locationsId}/gameServerDeployments/{gameServerDeploymentsId}:fetchDeploymentState", - "httpMethod": "POST", - "id": "gameservices.projects.locations.gameServerDeployments.fetchDeploymentState", - "parameterOrder": [ - "name" - ], - "parameters": { - "name": { - "description": "Required. The name of the game server deployment, in the following form: `projects/{project}/locations/{locationId}/gameServerDeployments/{deploymentId}`.", - "location": "path", - "pattern": "^projects/[^/]+/locations/[^/]+/gameServerDeployments/[^/]+$", - "required": true, - "type": "string" - } - }, - "path": "v1beta/{+name}:fetchDeploymentState", - "request": { - "$ref": "FetchDeploymentStateRequest" - }, - "response": { - "$ref": "FetchDeploymentStateResponse" - }, - "scopes": [ - "https://www.googleapis.com/auth/cloud-platform" - ] - }, - "get": { - "description": "Gets details of a single game server deployment.", - "flatPath": "v1beta/projects/{projectsId}/locations/{locationsId}/gameServerDeployments/{gameServerDeploymentsId}", - "httpMethod": "GET", - "id": "gameservices.projects.locations.gameServerDeployments.get", - "parameterOrder": [ - "name" - ], - "parameters": { - "name": { - "description": "Required. The name of the game server deployment to retrieve, in the following form: `projects/{project}/locations/{locationId}/gameServerDeployments/{deploymentId}`.", - "location": "path", - "pattern": "^projects/[^/]+/locations/[^/]+/gameServerDeployments/[^/]+$", - "required": true, - "type": "string" - } - }, - "path": "v1beta/{+name}", - "response": { - "$ref": "GameServerDeployment" - }, - "scopes": [ - "https://www.googleapis.com/auth/cloud-platform" - ] - }, "getIamPolicy": { "description": "Gets the access control policy for a resource. Returns an empty policy if the resource exists and does not have a policy set.", "flatPath": "v1beta/projects/{projectsId}/locations/{locationsId}/gameServerDeployments/{gameServerDeploymentsId}:getIamPolicy", @@ -326,151 +215,6 @@ "https://www.googleapis.com/auth/cloud-platform" ] }, - "getRollout": { - "description": "Gets details of a single game server deployment rollout.", - "flatPath": "v1beta/projects/{projectsId}/locations/{locationsId}/gameServerDeployments/{gameServerDeploymentsId}/rollout", - "httpMethod": "GET", - "id": "gameservices.projects.locations.gameServerDeployments.getRollout", - "parameterOrder": [ - "name" - ], - "parameters": { - "name": { - "description": "Required. The name of the game server deployment rollout to retrieve, in the following form: `projects/{project}/locations/{locationId}/gameServerDeployments/{deploymentId}/rollout`.", - "location": "path", - "pattern": "^projects/[^/]+/locations/[^/]+/gameServerDeployments/[^/]+$", - "required": true, - "type": "string" - } - }, - "path": "v1beta/{+name}/rollout", - "response": { - "$ref": "GameServerDeploymentRollout" - }, - "scopes": [ - "https://www.googleapis.com/auth/cloud-platform" - ] - }, - "list": { - "description": "Lists game server deployments in a given project and location.", - "flatPath": "v1beta/projects/{projectsId}/locations/{locationsId}/gameServerDeployments", - "httpMethod": "GET", - "id": "gameservices.projects.locations.gameServerDeployments.list", - "parameterOrder": [ - "parent" - ], - "parameters": { - "filter": { - "description": "Optional. The filter to apply to list results (see [Filtering](https://google.aip.dev/160)).", - "location": "query", - "type": "string" - }, - "orderBy": { - "description": "Optional. Specifies the ordering of results following [Cloud API syntax](https://cloud.google.com/apis/design/design_patterns#sorting_order).", - "location": "query", - "type": "string" - }, - "pageSize": { - "description": "Optional. The maximum number of items to return. If unspecified, the server picks an appropriate default. The server may return fewer items than requested. A caller should only rely on the response's next_page_token to determine if there are more GameServerDeployments left to be queried.", - "format": "int32", - "location": "query", - "type": "integer" - }, - "pageToken": { - "description": "Optional. The next_page_token value returned from a previous list request, if any.", - "location": "query", - "type": "string" - }, - "parent": { - "description": "Required. The parent resource name, in the following form: `projects/{project}/locations/{locationId}`.", - "location": "path", - "pattern": "^projects/[^/]+/locations/[^/]+$", - "required": true, - "type": "string" - } - }, - "path": "v1beta/{+parent}/gameServerDeployments", - "response": { - "$ref": "ListGameServerDeploymentsResponse" - }, - "scopes": [ - "https://www.googleapis.com/auth/cloud-platform" - ] - }, - "patch": { - "description": "Patches a game server deployment.", - "flatPath": "v1beta/projects/{projectsId}/locations/{locationsId}/gameServerDeployments/{gameServerDeploymentsId}", - "httpMethod": "PATCH", - "id": "gameservices.projects.locations.gameServerDeployments.patch", - "parameterOrder": [ - "name" - ], - "parameters": { - "name": { - "description": "The resource name of the game server deployment, in the following form: `projects/{project}/locations/{locationId}/gameServerDeployments/{deploymentId}`. For example, `projects/my-project/locations/global/gameServerDeployments/my-deployment`.", - "location": "path", - "pattern": "^projects/[^/]+/locations/[^/]+/gameServerDeployments/[^/]+$", - "required": true, - "type": "string" - }, - "updateMask": { - "description": "Required. The update mask to apply to the resource. At least one path must be supplied in this field. For more information, see the [`FieldMask` definition](https://developers.google.com/protocol-buffers/docs/reference/google.protobuf#fieldmask).", - "format": "google-fieldmask", - "location": "query", - "type": "string" - } - }, - "path": "v1beta/{+name}", - "request": { - "$ref": "GameServerDeployment" - }, - "response": { - "$ref": "Operation" - }, - "scopes": [ - "https://www.googleapis.com/auth/cloud-platform" - ] - }, - "previewRollout": { - "description": "Previews the game server deployment rollout. This API does not mutate the rollout resource.", - "flatPath": "v1beta/projects/{projectsId}/locations/{locationsId}/gameServerDeployments/{gameServerDeploymentsId}/rollout:preview", - "httpMethod": "PATCH", - "id": "gameservices.projects.locations.gameServerDeployments.previewRollout", - "parameterOrder": [ - "name" - ], - "parameters": { - "name": { - "description": "The resource name of the game server deployment rollout, in the following form: `projects/{project}/locations/{locationId}/gameServerDeployments/{deploymentId}/rollout`. For example, `projects/my-project/locations/global/gameServerDeployments/my-deployment/rollout`.", - "location": "path", - "pattern": "^projects/[^/]+/locations/[^/]+/gameServerDeployments/[^/]+$", - "required": true, - "type": "string" - }, - "previewTime": { - "description": "Optional. The target timestamp to compute the preview. Defaults to the immediately after the proposed rollout completes.", - "format": "google-datetime", - "location": "query", - "type": "string" - }, - "updateMask": { - "description": "Optional. The update mask to apply to the resource. At least one path must be supplied in this field. For more information, see the [`FieldMask` definition](https://developers.google.com/protocol-buffers/docs/reference/google.protobuf#fieldmask).", - "format": "google-fieldmask", - "location": "query", - "type": "string" - } - }, - "path": "v1beta/{+name}/rollout:preview", - "request": { - "$ref": "GameServerDeploymentRollout" - }, - "response": { - "$ref": "PreviewGameServerDeploymentRolloutResponse" - }, - "scopes": [ - "https://www.googleapis.com/auth/cloud-platform" - ] - }, "setIamPolicy": { "description": "Sets the access control policy on the specified resource. Replaces any existing policy. Can return `NOT_FOUND`, `INVALID_ARGUMENT`, and `PERMISSION_DENIED` errors.", "flatPath": "v1beta/projects/{projectsId}/locations/{locationsId}/gameServerDeployments/{gameServerDeploymentsId}:setIamPolicy", @@ -526,175 +270,6 @@ "scopes": [ "https://www.googleapis.com/auth/cloud-platform" ] - }, - "updateRollout": { - "description": "Patches a single game server deployment rollout. The method will not return an error if the update does not affect any existing realms. For example, the following cases will not return an error: * The default_game_server_config is changed but all existing realms use the override. * A non-existing realm is explicitly called out in the game_server_config_overrides field.", - "flatPath": "v1beta/projects/{projectsId}/locations/{locationsId}/gameServerDeployments/{gameServerDeploymentsId}/rollout", - "httpMethod": "PATCH", - "id": "gameservices.projects.locations.gameServerDeployments.updateRollout", - "parameterOrder": [ - "name" - ], - "parameters": { - "name": { - "description": "The resource name of the game server deployment rollout, in the following form: `projects/{project}/locations/{locationId}/gameServerDeployments/{deploymentId}/rollout`. For example, `projects/my-project/locations/global/gameServerDeployments/my-deployment/rollout`.", - "location": "path", - "pattern": "^projects/[^/]+/locations/[^/]+/gameServerDeployments/[^/]+$", - "required": true, - "type": "string" - }, - "updateMask": { - "description": "Required. The update mask to apply to the resource. At least one path must be supplied in this field. For more information, see the [`FieldMask` definition](https://developers.google.com/protocol-buffers/docs/reference/google.protobuf#fieldmask).", - "format": "google-fieldmask", - "location": "query", - "type": "string" - } - }, - "path": "v1beta/{+name}/rollout", - "request": { - "$ref": "GameServerDeploymentRollout" - }, - "response": { - "$ref": "Operation" - }, - "scopes": [ - "https://www.googleapis.com/auth/cloud-platform" - ] - } - }, - "resources": { - "configs": { - "methods": { - "create": { - "description": "Creates a new game server config in a given project, location, and game server deployment. Game server configs are immutable, and are not applied until referenced in the game server deployment rollout resource.", - "flatPath": "v1beta/projects/{projectsId}/locations/{locationsId}/gameServerDeployments/{gameServerDeploymentsId}/configs", - "httpMethod": "POST", - "id": "gameservices.projects.locations.gameServerDeployments.configs.create", - "parameterOrder": [ - "parent" - ], - "parameters": { - "configId": { - "description": "Required. The ID of the game server config resource to create.", - "location": "query", - "type": "string" - }, - "parent": { - "description": "Required. The parent resource name, in the following form: `projects/{project}/locations/{locationId}/gameServerDeployments/{deploymentId}/`.", - "location": "path", - "pattern": "^projects/[^/]+/locations/[^/]+/gameServerDeployments/[^/]+$", - "required": true, - "type": "string" - } - }, - "path": "v1beta/{+parent}/configs", - "request": { - "$ref": "GameServerConfig" - }, - "response": { - "$ref": "Operation" - }, - "scopes": [ - "https://www.googleapis.com/auth/cloud-platform" - ] - }, - "delete": { - "description": "Deletes a single game server config. The deletion fails if the game server config is referenced in a game server deployment rollout.", - "flatPath": "v1beta/projects/{projectsId}/locations/{locationsId}/gameServerDeployments/{gameServerDeploymentsId}/configs/{configsId}", - "httpMethod": "DELETE", - "id": "gameservices.projects.locations.gameServerDeployments.configs.delete", - "parameterOrder": [ - "name" - ], - "parameters": { - "name": { - "description": "Required. The name of the game server config to delete, in the following form: `projects/{project}/locations/{locationId}/gameServerDeployments/{deploymentId}/configs/{configId}`.", - "location": "path", - "pattern": "^projects/[^/]+/locations/[^/]+/gameServerDeployments/[^/]+/configs/[^/]+$", - "required": true, - "type": "string" - } - }, - "path": "v1beta/{+name}", - "response": { - "$ref": "Operation" - }, - "scopes": [ - "https://www.googleapis.com/auth/cloud-platform" - ] - }, - "get": { - "description": "Gets details of a single game server config.", - "flatPath": "v1beta/projects/{projectsId}/locations/{locationsId}/gameServerDeployments/{gameServerDeploymentsId}/configs/{configsId}", - "httpMethod": "GET", - "id": "gameservices.projects.locations.gameServerDeployments.configs.get", - "parameterOrder": [ - "name" - ], - "parameters": { - "name": { - "description": "Required. The name of the game server config to retrieve, in the following form: `projects/{project}/locations/{locationId}/gameServerDeployments/{deploymentId}/configs/{configId}`.", - "location": "path", - "pattern": "^projects/[^/]+/locations/[^/]+/gameServerDeployments/[^/]+/configs/[^/]+$", - "required": true, - "type": "string" - } - }, - "path": "v1beta/{+name}", - "response": { - "$ref": "GameServerConfig" - }, - "scopes": [ - "https://www.googleapis.com/auth/cloud-platform" - ] - }, - "list": { - "description": "Lists game server configs in a given project, location, and game server deployment.", - "flatPath": "v1beta/projects/{projectsId}/locations/{locationsId}/gameServerDeployments/{gameServerDeploymentsId}/configs", - "httpMethod": "GET", - "id": "gameservices.projects.locations.gameServerDeployments.configs.list", - "parameterOrder": [ - "parent" - ], - "parameters": { - "filter": { - "description": "Optional. The filter to apply to list results (see [Filtering](https://google.aip.dev/160)).", - "location": "query", - "type": "string" - }, - "orderBy": { - "description": "Optional. Specifies the ordering of results following [Cloud API syntax](https://cloud.google.com/apis/design/design_patterns#sorting_order).", - "location": "query", - "type": "string" - }, - "pageSize": { - "description": "Optional. The maximum number of items to return. If unspecified, the server picks an appropriate default. The server may return fewer items than requested. A caller should only rely on response's next_page_token to determine if there are more GameServerConfigs left to be queried.", - "format": "int32", - "location": "query", - "type": "integer" - }, - "pageToken": { - "description": "Optional. The next_page_token value returned from a previous list request, if any.", - "location": "query", - "type": "string" - }, - "parent": { - "description": "Required. The parent resource name, in the following form: `projects/{project}/locations/{locationId}/gameServerDeployments/{deploymentId}/configs/*`.", - "location": "path", - "pattern": "^projects/[^/]+/locations/[^/]+/gameServerDeployments/[^/]+$", - "required": true, - "type": "string" - } - }, - "path": "v1beta/{+parent}/configs", - "response": { - "$ref": "ListGameServerConfigsResponse" - }, - "scopes": [ - "https://www.googleapis.com/auth/cloud-platform" - ] - } - } } } }, @@ -820,544 +395,13 @@ ] } } - }, - "realms": { - "methods": { - "create": { - "description": "Creates a new realm in a given project and location.", - "flatPath": "v1beta/projects/{projectsId}/locations/{locationsId}/realms", - "httpMethod": "POST", - "id": "gameservices.projects.locations.realms.create", - "parameterOrder": [ - "parent" - ], - "parameters": { - "parent": { - "description": "Required. The parent resource name, in the following form: `projects/{project}/locations/{locationId}`.", - "location": "path", - "pattern": "^projects/[^/]+/locations/[^/]+$", - "required": true, - "type": "string" - }, - "realmId": { - "description": "Required. The ID of the realm resource to create.", - "location": "query", - "type": "string" - } - }, - "path": "v1beta/{+parent}/realms", - "request": { - "$ref": "Realm" - }, - "response": { - "$ref": "Operation" - }, - "scopes": [ - "https://www.googleapis.com/auth/cloud-platform" - ] - }, - "delete": { - "description": "Deletes a single realm.", - "flatPath": "v1beta/projects/{projectsId}/locations/{locationsId}/realms/{realmsId}", - "httpMethod": "DELETE", - "id": "gameservices.projects.locations.realms.delete", - "parameterOrder": [ - "name" - ], - "parameters": { - "name": { - "description": "Required. The name of the realm to delete, in the following form: `projects/{project}/locations/{locationId}/realms/{realmId}`.", - "location": "path", - "pattern": "^projects/[^/]+/locations/[^/]+/realms/[^/]+$", - "required": true, - "type": "string" - } - }, - "path": "v1beta/{+name}", - "response": { - "$ref": "Operation" - }, - "scopes": [ - "https://www.googleapis.com/auth/cloud-platform" - ] - }, - "get": { - "description": "Gets details of a single realm.", - "flatPath": "v1beta/projects/{projectsId}/locations/{locationsId}/realms/{realmsId}", - "httpMethod": "GET", - "id": "gameservices.projects.locations.realms.get", - "parameterOrder": [ - "name" - ], - "parameters": { - "name": { - "description": "Required. The name of the realm to retrieve, in the following form: `projects/{project}/locations/{locationId}/realms/{realmId}`.", - "location": "path", - "pattern": "^projects/[^/]+/locations/[^/]+/realms/[^/]+$", - "required": true, - "type": "string" - } - }, - "path": "v1beta/{+name}", - "response": { - "$ref": "Realm" - }, - "scopes": [ - "https://www.googleapis.com/auth/cloud-platform" - ] - }, - "list": { - "description": "Lists realms in a given project and location.", - "flatPath": "v1beta/projects/{projectsId}/locations/{locationsId}/realms", - "httpMethod": "GET", - "id": "gameservices.projects.locations.realms.list", - "parameterOrder": [ - "parent" - ], - "parameters": { - "filter": { - "description": "Optional. The filter to apply to list results (see [Filtering](https://google.aip.dev/160)).", - "location": "query", - "type": "string" - }, - "orderBy": { - "description": "Optional. Specifies the ordering of results following [Cloud API syntax](https://cloud.google.com/apis/design/design_patterns#sorting_order).", - "location": "query", - "type": "string" - }, - "pageSize": { - "description": "Optional. The maximum number of items to return. If unspecified, the server picks an appropriate default. The server may return fewer items than requested. A caller should only rely on the response's next_page_token to determine if there are more realms left to be queried.", - "format": "int32", - "location": "query", - "type": "integer" - }, - "pageToken": { - "description": "Optional. The next_page_token value returned from a previous list request, if any.", - "location": "query", - "type": "string" - }, - "parent": { - "description": "Required. The parent resource name, in the following form: `projects/{project}/locations/{locationId}`.", - "location": "path", - "pattern": "^projects/[^/]+/locations/[^/]+$", - "required": true, - "type": "string" - } - }, - "path": "v1beta/{+parent}/realms", - "response": { - "$ref": "ListRealmsResponse" - }, - "scopes": [ - "https://www.googleapis.com/auth/cloud-platform" - ] - }, - "patch": { - "description": "Patches a single realm.", - "flatPath": "v1beta/projects/{projectsId}/locations/{locationsId}/realms/{realmsId}", - "httpMethod": "PATCH", - "id": "gameservices.projects.locations.realms.patch", - "parameterOrder": [ - "name" - ], - "parameters": { - "name": { - "description": "The resource name of the realm, in the following form: `projects/{project}/locations/{locationId}/realms/{realmId}`. For example, `projects/my-project/locations/global/realms/my-realm`.", - "location": "path", - "pattern": "^projects/[^/]+/locations/[^/]+/realms/[^/]+$", - "required": true, - "type": "string" - }, - "updateMask": { - "description": "Required. The update mask to apply to the resource. For more information, see the [`FieldMask` definition](https://developers.google.com/protocol-buffers/docs/reference/google.protobuf#fieldmask).", - "format": "google-fieldmask", - "location": "query", - "type": "string" - } - }, - "path": "v1beta/{+name}", - "request": { - "$ref": "Realm" - }, - "response": { - "$ref": "Operation" - }, - "scopes": [ - "https://www.googleapis.com/auth/cloud-platform" - ] - }, - "previewUpdate": { - "description": "Previews patches to a single realm.", - "flatPath": "v1beta/projects/{projectsId}/locations/{locationsId}/realms/{realmsId}:previewUpdate", - "httpMethod": "PATCH", - "id": "gameservices.projects.locations.realms.previewUpdate", - "parameterOrder": [ - "name" - ], - "parameters": { - "name": { - "description": "The resource name of the realm, in the following form: `projects/{project}/locations/{locationId}/realms/{realmId}`. For example, `projects/my-project/locations/global/realms/my-realm`.", - "location": "path", - "pattern": "^projects/[^/]+/locations/[^/]+/realms/[^/]+$", - "required": true, - "type": "string" - }, - "previewTime": { - "description": "Optional. The target timestamp to compute the preview.", - "format": "google-datetime", - "location": "query", - "type": "string" - }, - "updateMask": { - "description": "Required. The update mask to apply to the resource. For more information, see the [`FieldMask` definition](https://developers.google.com/protocol-buffers/docs/reference/google.protobuf#fieldmask).", - "format": "google-fieldmask", - "location": "query", - "type": "string" - } - }, - "path": "v1beta/{+name}:previewUpdate", - "request": { - "$ref": "Realm" - }, - "response": { - "$ref": "PreviewRealmUpdateResponse" - }, - "scopes": [ - "https://www.googleapis.com/auth/cloud-platform" - ] - } - }, - "resources": { - "gameServerClusters": { - "methods": { - "create": { - "description": "Creates a new game server cluster in a given project and location.", - "flatPath": "v1beta/projects/{projectsId}/locations/{locationsId}/realms/{realmsId}/gameServerClusters", - "httpMethod": "POST", - "id": "gameservices.projects.locations.realms.gameServerClusters.create", - "parameterOrder": [ - "parent" - ], - "parameters": { - "gameServerClusterId": { - "description": "Required. The ID of the game server cluster resource to create.", - "location": "query", - "type": "string" - }, - "parent": { - "description": "Required. The parent resource name, in the following form: `projects/{project}/locations/{locationId}/realms/{realmId}`.", - "location": "path", - "pattern": "^projects/[^/]+/locations/[^/]+/realms/[^/]+$", - "required": true, - "type": "string" - } - }, - "path": "v1beta/{+parent}/gameServerClusters", - "request": { - "$ref": "GameServerCluster" - }, - "response": { - "$ref": "Operation" - }, - "scopes": [ - "https://www.googleapis.com/auth/cloud-platform" - ] - }, - "delete": { - "description": "Deletes a single game server cluster.", - "flatPath": "v1beta/projects/{projectsId}/locations/{locationsId}/realms/{realmsId}/gameServerClusters/{gameServerClustersId}", - "httpMethod": "DELETE", - "id": "gameservices.projects.locations.realms.gameServerClusters.delete", - "parameterOrder": [ - "name" - ], - "parameters": { - "name": { - "description": "Required. The name of the game server cluster to delete, in the following form: `projects/{project}/locations/{locationId}/gameServerClusters/{gameServerClusterId}`.", - "location": "path", - "pattern": "^projects/[^/]+/locations/[^/]+/realms/[^/]+/gameServerClusters/[^/]+$", - "required": true, - "type": "string" - } - }, - "path": "v1beta/{+name}", - "response": { - "$ref": "Operation" - }, - "scopes": [ - "https://www.googleapis.com/auth/cloud-platform" - ] - }, - "get": { - "description": "Gets details of a single game server cluster.", - "flatPath": "v1beta/projects/{projectsId}/locations/{locationsId}/realms/{realmsId}/gameServerClusters/{gameServerClustersId}", - "httpMethod": "GET", - "id": "gameservices.projects.locations.realms.gameServerClusters.get", - "parameterOrder": [ - "name" - ], - "parameters": { - "name": { - "description": "Required. The name of the game server cluster to retrieve, in the following form: `projects/{project}/locations/{locationId}/realms/{realmId}/gameServerClusters/{gameServerClusterId}`.", - "location": "path", - "pattern": "^projects/[^/]+/locations/[^/]+/realms/[^/]+/gameServerClusters/[^/]+$", - "required": true, - "type": "string" - }, - "view": { - "description": "Optional. View for the returned GameServerCluster objects. When `FULL` is specified, the `cluster_state` field is also returned in the GameServerCluster object, which includes the state of the referenced Kubernetes cluster such as versions and provider info. The default/unset value is `GAME_SERVER_CLUSTER_VIEW_UNSPECIFIED`, the same as `BASIC`, which does not return the `cluster_state` field.", - "enum": [ - "GAME_SERVER_CLUSTER_VIEW_UNSPECIFIED", - "BASIC", - "FULL" - ], - "enumDescriptions": [ - "If the value is not set, Google Cloud Game Servers defaults to the `BASIC` view.", - "Includes basic information of a GameServerCluster resource and omits `cluster_state`. This is the default value (for methods ListGameServerClusters, GetGameServerCluster, and PreviewCreateGameServerCluster).", - "Include basic information of a GameServerCluster resource as well as `cluster_state`." - ], - "location": "query", - "type": "string" - } - }, - "path": "v1beta/{+name}", - "response": { - "$ref": "GameServerCluster" - }, - "scopes": [ - "https://www.googleapis.com/auth/cloud-platform" - ] - }, - "list": { - "description": "Lists game server clusters in a given project and location.", - "flatPath": "v1beta/projects/{projectsId}/locations/{locationsId}/realms/{realmsId}/gameServerClusters", - "httpMethod": "GET", - "id": "gameservices.projects.locations.realms.gameServerClusters.list", - "parameterOrder": [ - "parent" - ], - "parameters": { - "filter": { - "description": "Optional. The filter to apply to list results (see [Filtering](https://google.aip.dev/160)).", - "location": "query", - "type": "string" - }, - "orderBy": { - "description": "Optional. Specifies the ordering of results following [Cloud API syntax](https://cloud.google.com/apis/design/design_patterns#sorting_order).", - "location": "query", - "type": "string" - }, - "pageSize": { - "description": "Optional. The maximum number of items to return. If unspecified, the server picks an appropriate default. The server may return fewer items than requested. A caller should only rely on response's next_page_token to determine if there are more GameServerClusters left to be queried.", - "format": "int32", - "location": "query", - "type": "integer" - }, - "pageToken": { - "description": "Optional. The next_page_token value returned from a previous list request, if any.", - "location": "query", - "type": "string" - }, - "parent": { - "description": "Required. The parent resource name, in the following form: `projects/{project}/locations/{locationId}/realms/{realmId}`.", - "location": "path", - "pattern": "^projects/[^/]+/locations/[^/]+/realms/[^/]+$", - "required": true, - "type": "string" - }, - "view": { - "description": "Optional. View for the returned GameServerCluster objects. When `FULL` is specified, the `cluster_state` field is also returned in the GameServerCluster object, which includes the state of the referenced Kubernetes cluster such as versions and provider info. The default/unset value is `GAME_SERVER_CLUSTER_VIEW_UNSPECIFIED`, the same as `BASIC`, which does not return the `cluster_state` field.", - "enum": [ - "GAME_SERVER_CLUSTER_VIEW_UNSPECIFIED", - "BASIC", - "FULL" - ], - "enumDescriptions": [ - "If the value is not set, Google Cloud Game Servers defaults to the `BASIC` view.", - "Includes basic information of a GameServerCluster resource and omits `cluster_state`. This is the default value (for methods ListGameServerClusters, GetGameServerCluster, and PreviewCreateGameServerCluster).", - "Include basic information of a GameServerCluster resource as well as `cluster_state`." - ], - "location": "query", - "type": "string" - } - }, - "path": "v1beta/{+parent}/gameServerClusters", - "response": { - "$ref": "ListGameServerClustersResponse" - }, - "scopes": [ - "https://www.googleapis.com/auth/cloud-platform" - ] - }, - "patch": { - "description": "Patches a single game server cluster.", - "flatPath": "v1beta/projects/{projectsId}/locations/{locationsId}/realms/{realmsId}/gameServerClusters/{gameServerClustersId}", - "httpMethod": "PATCH", - "id": "gameservices.projects.locations.realms.gameServerClusters.patch", - "parameterOrder": [ - "name" - ], - "parameters": { - "name": { - "description": "Required. The resource name of the game server cluster, in the following form: `projects/{project}/locations/{locationId}/realms/{realmId}/gameServerClusters/{gameServerClusterId}`. For example, `projects/my-project/locations/global/realms/zanzibar/gameServerClusters/my-gke-cluster`.", - "location": "path", - "pattern": "^projects/[^/]+/locations/[^/]+/realms/[^/]+/gameServerClusters/[^/]+$", - "required": true, - "type": "string" - }, - "updateMask": { - "description": "Required. The update mask to apply to the resource. At least one path must be supplied in this field. For more information, see the [`FieldMask` definition](https://developers.google.com/protocol-buffers/docs/reference/google.protobuf#fieldmask).", - "format": "google-fieldmask", - "location": "query", - "type": "string" - } - }, - "path": "v1beta/{+name}", - "request": { - "$ref": "GameServerCluster" - }, - "response": { - "$ref": "Operation" - }, - "scopes": [ - "https://www.googleapis.com/auth/cloud-platform" - ] - }, - "previewCreate": { - "description": "Previews creation of a new game server cluster in a given project and location.", - "flatPath": "v1beta/projects/{projectsId}/locations/{locationsId}/realms/{realmsId}/gameServerClusters:previewCreate", - "httpMethod": "POST", - "id": "gameservices.projects.locations.realms.gameServerClusters.previewCreate", - "parameterOrder": [ - "parent" - ], - "parameters": { - "gameServerClusterId": { - "description": "Required. The ID of the game server cluster resource to create.", - "location": "query", - "type": "string" - }, - "parent": { - "description": "Required. The parent resource name, in the following form: `projects/{project}/locations/{locationId}/realms/{realmId}`.", - "location": "path", - "pattern": "^projects/[^/]+/locations/[^/]+/realms/[^/]+$", - "required": true, - "type": "string" - }, - "previewTime": { - "description": "Optional. The target timestamp to compute the preview.", - "format": "google-datetime", - "location": "query", - "type": "string" - }, - "view": { - "description": "Optional. This field is deprecated. Preview will always return KubernetesClusterState.", - "enum": [ - "GAME_SERVER_CLUSTER_VIEW_UNSPECIFIED", - "BASIC", - "FULL" - ], - "enumDescriptions": [ - "If the value is not set, Google Cloud Game Servers defaults to the `BASIC` view.", - "Includes basic information of a GameServerCluster resource and omits `cluster_state`. This is the default value (for methods ListGameServerClusters, GetGameServerCluster, and PreviewCreateGameServerCluster).", - "Include basic information of a GameServerCluster resource as well as `cluster_state`." - ], - "location": "query", - "type": "string" - } - }, - "path": "v1beta/{+parent}/gameServerClusters:previewCreate", - "request": { - "$ref": "GameServerCluster" - }, - "response": { - "$ref": "PreviewCreateGameServerClusterResponse" - }, - "scopes": [ - "https://www.googleapis.com/auth/cloud-platform" - ] - }, - "previewDelete": { - "description": "Previews deletion of a single game server cluster.", - "flatPath": "v1beta/projects/{projectsId}/locations/{locationsId}/realms/{realmsId}/gameServerClusters/{gameServerClustersId}:previewDelete", - "httpMethod": "DELETE", - "id": "gameservices.projects.locations.realms.gameServerClusters.previewDelete", - "parameterOrder": [ - "name" - ], - "parameters": { - "name": { - "description": "Required. The name of the game server cluster to delete, in the following form: `projects/{project}/locations/{locationId}/gameServerClusters/{gameServerClusterId}`.", - "location": "path", - "pattern": "^projects/[^/]+/locations/[^/]+/realms/[^/]+/gameServerClusters/[^/]+$", - "required": true, - "type": "string" - }, - "previewTime": { - "description": "Optional. The target timestamp to compute the preview.", - "format": "google-datetime", - "location": "query", - "type": "string" - } - }, - "path": "v1beta/{+name}:previewDelete", - "response": { - "$ref": "PreviewDeleteGameServerClusterResponse" - }, - "scopes": [ - "https://www.googleapis.com/auth/cloud-platform" - ] - }, - "previewUpdate": { - "description": "Previews updating a GameServerCluster.", - "flatPath": "v1beta/projects/{projectsId}/locations/{locationsId}/realms/{realmsId}/gameServerClusters/{gameServerClustersId}:previewUpdate", - "httpMethod": "PATCH", - "id": "gameservices.projects.locations.realms.gameServerClusters.previewUpdate", - "parameterOrder": [ - "name" - ], - "parameters": { - "name": { - "description": "Required. The resource name of the game server cluster, in the following form: `projects/{project}/locations/{locationId}/realms/{realmId}/gameServerClusters/{gameServerClusterId}`. For example, `projects/my-project/locations/global/realms/zanzibar/gameServerClusters/my-gke-cluster`.", - "location": "path", - "pattern": "^projects/[^/]+/locations/[^/]+/realms/[^/]+/gameServerClusters/[^/]+$", - "required": true, - "type": "string" - }, - "previewTime": { - "description": "Optional. The target timestamp to compute the preview.", - "format": "google-datetime", - "location": "query", - "type": "string" - }, - "updateMask": { - "description": "Required. Mask of fields to update. At least one path must be supplied in this field. For more information, see the [`FieldMask` definition](https://developers.google.com/protocol-buffers/docs/reference/google.protobuf#fieldmask).", - "format": "google-fieldmask", - "location": "query", - "type": "string" - } - }, - "path": "v1beta/{+name}:previewUpdate", - "request": { - "$ref": "GameServerCluster" - }, - "response": { - "$ref": "PreviewUpdateGameServerClusterResponse" - }, - "scopes": [ - "https://www.googleapis.com/auth/cloud-platform" - ] - } - } - } - } } } } } } }, - "revision": "20220715", + "revision": "20220728", "rootUrl": "https://gameservices.googleapis.com/", "schemas": { "AuditConfig": { @@ -1619,541 +663,39 @@ "LOG_FAIL_CLOSED" ], "enumDescriptions": [ - "Client is not required to write a partial Gin log immediately after the authorization check. If client chooses to write one and it fails, client may either fail open (allow the operation to continue) or fail closed (handle as a DENY outcome).", - "The application's operation in the context of which this authorization check is being made may only be performed if it is successfully logged to Gin. For instance, the authorization library may satisfy this obligation by emitting a partial log entry at authorization check time and only returning ALLOW to the application if it succeeds. If a matching Rule has this directive, but the client has not indicated that it will honor such requirements, then the IAM check will result in authorization failure by setting CheckPolicyResponse.success=false." - ], - "type": "string" - } - }, - "type": "object" - }, - "DeployedClusterState": { - "description": "The game server cluster changes made by the game server deployment.", - "id": "DeployedClusterState", - "properties": { - "cluster": { - "description": "The name of the cluster.", - "type": "string" - }, - "fleetDetails": { - "description": "The details about the Agones fleets and autoscalers created in the game server cluster.", - "items": { - "$ref": "DeployedFleetDetails" - }, - "type": "array" - } - }, - "type": "object" - }, - "DeployedFleet": { - "description": "Agones fleet specification and details.", - "id": "DeployedFleet", - "properties": { - "fleet": { - "description": "The name of the Agones fleet.", - "type": "string" - }, - "fleetSpec": { - "description": "The fleet spec retrieved from the Agones fleet.", - "type": "string" - }, - "specSource": { - "$ref": "SpecSource", - "description": "The source spec that is used to create the Agones fleet. The GameServerConfig resource may no longer exist in the system." - }, - "status": { - "$ref": "DeployedFleetStatus", - "description": "The current status of the Agones fleet. Includes count of game servers in various states." - } - }, - "type": "object" - }, - "DeployedFleetAutoscaler": { - "description": "Details about the Agones autoscaler.", - "id": "DeployedFleetAutoscaler", - "properties": { - "autoscaler": { - "description": "The name of the Agones autoscaler.", - "type": "string" - }, - "fleetAutoscalerSpec": { - "description": "The autoscaler spec retrieved from Agones.", - "type": "string" - }, - "specSource": { - "$ref": "SpecSource", - "description": "The source spec that is used to create the autoscaler. The GameServerConfig resource may no longer exist in the system." - } - }, - "type": "object" - }, - "DeployedFleetDetails": { - "description": "Details of the deployed Agones fleet.", - "id": "DeployedFleetDetails", - "properties": { - "deployedAutoscaler": { - "$ref": "DeployedFleetAutoscaler", - "description": "Information about the Agones autoscaler for that fleet." - }, - "deployedFleet": { - "$ref": "DeployedFleet", - "description": "Information about the Agones fleet." - } - }, - "type": "object" - }, - "DeployedFleetStatus": { - "description": "DeployedFleetStatus has details about the Agones fleets, such as how many are running, how many are allocated, and so on.", - "id": "DeployedFleetStatus", - "properties": { - "allocatedReplicas": { - "description": "The number of GameServer replicas in the ALLOCATED state in this fleet.", - "format": "int64", - "type": "string" - }, - "readyReplicas": { - "description": "The number of GameServer replicas in the READY state in this fleet.", - "format": "int64", - "type": "string" - }, - "replicas": { - "description": "The total number of current GameServer replicas in this fleet.", - "format": "int64", - "type": "string" - }, - "reservedReplicas": { - "description": "The number of GameServer replicas in the RESERVED state in this fleet. Reserved instances won't be deleted on scale down, but won't cause an autoscaler to scale up.", - "format": "int64", - "type": "string" - } - }, - "type": "object" - }, - "Empty": { - "description": "A generic empty message that you can re-use to avoid defining duplicated empty messages in your APIs. A typical example is to use it as the request or the response type of an API method. For instance: service Foo { rpc Bar(google.protobuf.Empty) returns (google.protobuf.Empty); }", - "id": "Empty", - "properties": {}, - "type": "object" - }, - "Expr": { - "description": "Represents a textual expression in the Common Expression Language (CEL) syntax. CEL is a C-like expression language. The syntax and semantics of CEL are documented at https://github.com/google/cel-spec. Example (Comparison): title: \"Summary size limit\" description: \"Determines if a summary is less than 100 chars\" expression: \"document.summary.size() < 100\" Example (Equality): title: \"Requestor is owner\" description: \"Determines if requestor is the document owner\" expression: \"document.owner == request.auth.claims.email\" Example (Logic): title: \"Public documents\" description: \"Determine whether the document should be publicly visible\" expression: \"document.type != 'private' && document.type != 'internal'\" Example (Data Manipulation): title: \"Notification string\" description: \"Create a notification string with a timestamp.\" expression: \"'New message received at ' + string(document.create_time)\" The exact variables and functions that may be referenced within an expression are determined by the service that evaluates it. See the service documentation for additional information.", - "id": "Expr", - "properties": { - "description": { - "description": "Optional. Description of the expression. This is a longer text which describes the expression, e.g. when hovered over it in a UI.", - "type": "string" - }, - "expression": { - "description": "Textual representation of an expression in Common Expression Language syntax.", - "type": "string" - }, - "location": { - "description": "Optional. String indicating the location of the expression for error reporting, e.g. a file name and a position in the file.", - "type": "string" - }, - "title": { - "description": "Optional. Title for the expression, i.e. a short string describing its purpose. This can be used e.g. in UIs which allow to enter the expression.", - "type": "string" - } - }, - "type": "object" - }, - "FetchDeploymentStateRequest": { - "description": "Request message for GameServerDeploymentsService.FetchDeploymentState.", - "id": "FetchDeploymentStateRequest", - "properties": {}, - "type": "object" - }, - "FetchDeploymentStateResponse": { - "description": "Response message for GameServerDeploymentsService.FetchDeploymentState.", - "id": "FetchDeploymentStateResponse", - "properties": { - "clusterState": { - "description": "The state of the game server deployment in each game server cluster.", - "items": { - "$ref": "DeployedClusterState" - }, - "type": "array" - }, - "unavailable": { - "description": "List of locations that could not be reached.", - "items": { - "type": "string" - }, - "type": "array" - } - }, - "type": "object" - }, - "FleetConfig": { - "description": "Fleet configs for Agones.", - "id": "FleetConfig", - "properties": { - "fleetSpec": { - "description": "Agones fleet spec (see [example spec](https://agones.dev/site/docs/reference/fleet/)).", - "type": "string" - }, - "name": { - "description": "The name of the FleetConfig.", - "type": "string" - } - }, - "type": "object" - }, - "GameServerCluster": { - "description": "A game server cluster resource.", - "id": "GameServerCluster", - "properties": { - "clusterState": { - "$ref": "KubernetesClusterState", - "description": "Output only. The state of the Kubernetes cluster in preview. This will be available if view is set to FULL in the relevant list/get/preview request.", - "readOnly": true - }, - "connectionInfo": { - "$ref": "GameServerClusterConnectionInfo", - "description": "The game server cluster connection information. This information is used to manage game server clusters." - }, - "createTime": { - "description": "Output only. The creation time.", - "format": "google-datetime", - "readOnly": true, - "type": "string" - }, - "description": { - "description": "Human readable description of the cluster.", - "type": "string" - }, - "etag": { - "description": "Used to perform consistent read-modify-write updates. If not set, a blind \"overwrite\" update happens.", - "type": "string" - }, - "labels": { - "additionalProperties": { - "type": "string" - }, - "description": "The labels associated with this game server cluster. Each label is a key-value pair.", - "type": "object" - }, - "name": { - "description": "Required. The resource name of the game server cluster, in the following form: `projects/{project}/locations/{locationId}/realms/{realmId}/gameServerClusters/{gameServerClusterId}`. For example, `projects/my-project/locations/global/realms/zanzibar/gameServerClusters/my-gke-cluster`.", - "type": "string" - }, - "updateTime": { - "description": "Output only. The last-modified time.", - "format": "google-datetime", - "readOnly": true, - "type": "string" - } - }, - "type": "object" - }, - "GameServerClusterConnectionInfo": { - "description": "The game server cluster connection information.", - "id": "GameServerClusterConnectionInfo", - "properties": { - "gkeClusterReference": { - "$ref": "GkeClusterReference", - "description": "Reference to the GKE cluster where the game servers are installed." - }, - "namespace": { - "description": "Namespace designated on the game server cluster where the Agones game server instances will be created. Existence of the namespace will be validated during creation.", - "type": "string" - } - }, - "type": "object" - }, - "GameServerConfig": { - "description": "A game server config resource.", - "id": "GameServerConfig", - "properties": { - "createTime": { - "description": "Output only. The creation time.", - "format": "google-datetime", - "readOnly": true, - "type": "string" - }, - "description": { - "description": "The description of the game server config.", - "type": "string" - }, - "fleetConfigs": { - "description": "FleetConfig contains a list of Agones fleet specs. Only one FleetConfig is allowed.", - "items": { - "$ref": "FleetConfig" - }, - "type": "array" - }, - "labels": { - "additionalProperties": { - "type": "string" - }, - "description": "The labels associated with this game server config. Each label is a key-value pair.", - "type": "object" - }, - "name": { - "description": "The resource name of the game server config, in the following form: `projects/{project}/locations/{locationId}/gameServerDeployments/{deploymentId}/configs/{configId}`. For example, `projects/my-project/locations/global/gameServerDeployments/my-game/configs/my-config`.", - "type": "string" - }, - "scalingConfigs": { - "description": "The autoscaling settings.", - "items": { - "$ref": "ScalingConfig" - }, - "type": "array" - }, - "updateTime": { - "description": "Output only. The last-modified time.", - "format": "google-datetime", - "readOnly": true, - "type": "string" - } - }, - "type": "object" - }, - "GameServerConfigOverride": { - "description": "A game server config override.", - "id": "GameServerConfigOverride", - "properties": { - "configVersion": { - "description": "The game server config for this override.", - "type": "string" - }, - "realmsSelector": { - "$ref": "RealmSelector", - "description": "Selector for choosing applicable realms." - } - }, - "type": "object" - }, - "GameServerDeployment": { - "description": "A game server deployment resource.", - "id": "GameServerDeployment", - "properties": { - "createTime": { - "description": "Output only. The creation time.", - "format": "google-datetime", - "readOnly": true, - "type": "string" - }, - "description": { - "description": "Human readable description of the game server deployment.", - "type": "string" - }, - "etag": { - "description": "Used to perform consistent read-modify-write updates. If not set, a blind \"overwrite\" update happens.", - "type": "string" - }, - "labels": { - "additionalProperties": { - "type": "string" - }, - "description": "The labels associated with this game server deployment. Each label is a key-value pair.", - "type": "object" - }, - "name": { - "description": "The resource name of the game server deployment, in the following form: `projects/{project}/locations/{locationId}/gameServerDeployments/{deploymentId}`. For example, `projects/my-project/locations/global/gameServerDeployments/my-deployment`.", - "type": "string" - }, - "updateTime": { - "description": "Output only. The last-modified time.", - "format": "google-datetime", - "readOnly": true, - "type": "string" - } - }, - "type": "object" - }, - "GameServerDeploymentRollout": { - "description": "The game server deployment rollout which represents the desired rollout state.", - "id": "GameServerDeploymentRollout", - "properties": { - "createTime": { - "description": "Output only. The creation time.", - "format": "google-datetime", - "readOnly": true, - "type": "string" - }, - "defaultGameServerConfig": { - "description": "The default game server config is applied to all realms unless overridden in the rollout. For example, `projects/my-project/locations/global/gameServerDeployments/my-game/configs/my-config`.", - "type": "string" - }, - "etag": { - "description": "ETag of the resource.", - "type": "string" - }, - "gameServerConfigOverrides": { - "description": "Contains the game server config rollout overrides. Overrides are processed in the order they are listed. Once a match is found for a realm, the rest of the list is not processed.", - "items": { - "$ref": "GameServerConfigOverride" - }, - "type": "array" - }, - "name": { - "description": "The resource name of the game server deployment rollout, in the following form: `projects/{project}/locations/{locationId}/gameServerDeployments/{deploymentId}/rollout`. For example, `projects/my-project/locations/global/gameServerDeployments/my-deployment/rollout`.", - "type": "string" - }, - "updateTime": { - "description": "Output only. The last-modified time.", - "format": "google-datetime", - "readOnly": true, - "type": "string" - } - }, - "type": "object" - }, - "GkeClusterReference": { - "description": "A reference to a GKE cluster.", - "id": "GkeClusterReference", - "properties": { - "cluster": { - "description": "The full or partial name of a GKE cluster, using one of the following forms: * `projects/{project}/locations/{locationId}/clusters/{cluster}` * `locations/{locationId}/clusters/{cluster}` * `{cluster}` If project and location are not specified, the project and location of the GameServerCluster resource are used to generate the full name of the GKE cluster.", - "type": "string" - } - }, - "type": "object" - }, - "KubernetesClusterState": { - "description": "The state of the Kubernetes cluster.", - "id": "KubernetesClusterState", - "properties": { - "agonesVersionInstalled": { - "description": "Output only. The version of Agones currently installed in the registered Kubernetes cluster.", - "readOnly": true, - "type": "string" - }, - "agonesVersionTargeted": { - "description": "Output only. The version of Agones that is targeted to be installed in the cluster.", - "readOnly": true, - "type": "string" - }, - "installationState": { - "description": "Output only. The state for the installed versions of Agones/Kubernetes.", - "enum": [ - "INSTALLATION_STATE_UNSPECIFIED", - "AGONES_KUBERNETES_VERSION_SUPPORTED", - "AGONES_VERSION_UNSUPPORTED", - "AGONES_KUBERNETES_VERSION_UNSUPPORTED", - "AGONES_VERSION_UNRECOGNIZED", - "KUBERNETES_VERSION_UNRECOGNIZED", - "VERSION_VERIFICATION_FAILED", - "AGONES_NOT_INSTALLED" - ], - "enumDescriptions": [ - "The default installation state. This value is used if the state is omitted.", - "Both the Agones and Kubernetes versions are supported by Google Cloud Game Servers and Agones and Kubernetes versions are compatible.", - "The installed version of Agones is not supported by Google Cloud Game Servers.", - "The installed version of Agones is supported by Google Cloud Game Servers, but the installed version of Kubernetes is not recommended or supported by the version of Agones.", - "The installed version of Agones is not recognized because the Agones controller's image name does not have a version string reported as {major}.{minor}(.{patch}).", - "The server version of Kubernetes cluster is not recognized because the API server didn't return parsable version info on path/version.", - "Failed to read or verify the version of Agones or Kubernetes. See `version_installed_error_message` for details.", - "Agones is not installed." - ], - "readOnly": true, - "type": "string" - }, - "kubernetesVersionInstalled": { - "description": "Output only. The version of Kubernetes that is currently used in the registered Kubernetes cluster (as detected by the Cloud Game Servers service).", - "readOnly": true, - "type": "string" - }, - "provider": { - "description": "Output only. The cloud provider type reported by the first node's `providerID` in the list of nodes on the Kubernetes endpoint. On Kubernetes platforms that support zero-node clusters (like GKE-on-GCP), the provider type will be empty.", - "readOnly": true, - "type": "string" - }, - "versionInstalledErrorMessage": { - "description": "Output only. The detailed error message for the installed versions of Agones/Kubernetes.", - "readOnly": true, - "type": "string" - } - }, - "type": "object" - }, - "LabelSelector": { - "description": "The label selector, used to group labels on the resources.", - "id": "LabelSelector", - "properties": { - "labels": { - "additionalProperties": { - "type": "string" - }, - "description": "Resource labels for this selector.", - "type": "object" - } - }, - "type": "object" - }, - "ListGameServerClustersResponse": { - "description": "Response message for GameServerClustersService.ListGameServerClusters.", - "id": "ListGameServerClustersResponse", - "properties": { - "gameServerClusters": { - "description": "The list of game server clusters.", - "items": { - "$ref": "GameServerCluster" - }, - "type": "array" - }, - "nextPageToken": { - "description": "Token to retrieve the next page of results, or empty if there are no more results in the list.", - "type": "string" - }, - "unreachable": { - "description": "List of locations that could not be reached.", - "items": { - "type": "string" - }, - "type": "array" - } - }, - "type": "object" - }, - "ListGameServerConfigsResponse": { - "description": "Response message for GameServerConfigsService.ListGameServerConfigs.", - "id": "ListGameServerConfigsResponse", - "properties": { - "gameServerConfigs": { - "description": "The list of game server configs.", - "items": { - "$ref": "GameServerConfig" - }, - "type": "array" - }, - "nextPageToken": { - "description": "Token to retrieve the next page of results, or empty if there are no more results in the list.", + "Client is not required to write a partial Gin log immediately after the authorization check. If client chooses to write one and it fails, client may either fail open (allow the operation to continue) or fail closed (handle as a DENY outcome).", + "The application's operation in the context of which this authorization check is being made may only be performed if it is successfully logged to Gin. For instance, the authorization library may satisfy this obligation by emitting a partial log entry at authorization check time and only returning ALLOW to the application if it succeeds. If a matching Rule has this directive, but the client has not indicated that it will honor such requirements, then the IAM check will result in authorization failure by setting CheckPolicyResponse.success=false." + ], "type": "string" - }, - "unreachable": { - "description": "List of locations that could not be reached.", - "items": { - "type": "string" - }, - "type": "array" } }, "type": "object" }, - "ListGameServerDeploymentsResponse": { - "description": "Response message for GameServerDeploymentsService.ListGameServerDeployments.", - "id": "ListGameServerDeploymentsResponse", + "Empty": { + "description": "A generic empty message that you can re-use to avoid defining duplicated empty messages in your APIs. A typical example is to use it as the request or the response type of an API method. For instance: service Foo { rpc Bar(google.protobuf.Empty) returns (google.protobuf.Empty); }", + "id": "Empty", + "properties": {}, + "type": "object" + }, + "Expr": { + "description": "Represents a textual expression in the Common Expression Language (CEL) syntax. CEL is a C-like expression language. The syntax and semantics of CEL are documented at https://github.com/google/cel-spec. Example (Comparison): title: \"Summary size limit\" description: \"Determines if a summary is less than 100 chars\" expression: \"document.summary.size() < 100\" Example (Equality): title: \"Requestor is owner\" description: \"Determines if requestor is the document owner\" expression: \"document.owner == request.auth.claims.email\" Example (Logic): title: \"Public documents\" description: \"Determine whether the document should be publicly visible\" expression: \"document.type != 'private' && document.type != 'internal'\" Example (Data Manipulation): title: \"Notification string\" description: \"Create a notification string with a timestamp.\" expression: \"'New message received at ' + string(document.create_time)\" The exact variables and functions that may be referenced within an expression are determined by the service that evaluates it. See the service documentation for additional information.", + "id": "Expr", "properties": { - "gameServerDeployments": { - "description": "The list of game server deployments.", - "items": { - "$ref": "GameServerDeployment" - }, - "type": "array" + "description": { + "description": "Optional. Description of the expression. This is a longer text which describes the expression, e.g. when hovered over it in a UI.", + "type": "string" }, - "nextPageToken": { - "description": "Token to retrieve the next page of results, or empty if there are no more results in the list.", + "expression": { + "description": "Textual representation of an expression in Common Expression Language syntax.", "type": "string" }, - "unreachable": { - "description": "List of locations that could not be reached.", - "items": { - "type": "string" - }, - "type": "array" + "location": { + "description": "Optional. String indicating the location of the expression for error reporting, e.g. a file name and a position in the file.", + "type": "string" + }, + "title": { + "description": "Optional. Title for the expression, i.e. a short string describing its purpose. This can be used e.g. in UIs which allow to enter the expression.", + "type": "string" } }, "type": "object" @@ -2194,31 +736,6 @@ }, "type": "object" }, - "ListRealmsResponse": { - "description": "Response message for RealmsService.ListRealms.", - "id": "ListRealmsResponse", - "properties": { - "nextPageToken": { - "description": "Token to retrieve the next page of results, or empty if there are no more results in the list.", - "type": "string" - }, - "realms": { - "description": "The list of realms.", - "items": { - "$ref": "Realm" - }, - "type": "array" - }, - "unreachable": { - "description": "List of locations that could not be reached.", - "items": { - "type": "string" - }, - "type": "array" - } - }, - "type": "object" - }, "Location": { "description": "A resource that represents Google Cloud Platform location.", "id": "Location", @@ -2307,97 +824,6 @@ }, "type": "object" }, - "OperationMetadata": { - "description": "Represents the metadata of the long-running operation.", - "id": "OperationMetadata", - "properties": { - "apiVersion": { - "description": "Output only. API version used to start the operation.", - "readOnly": true, - "type": "string" - }, - "createTime": { - "description": "Output only. The time the operation was created.", - "format": "google-datetime", - "readOnly": true, - "type": "string" - }, - "endTime": { - "description": "Output only. The time the operation finished running.", - "format": "google-datetime", - "readOnly": true, - "type": "string" - }, - "operationStatus": { - "additionalProperties": { - "$ref": "OperationStatus" - }, - "description": "Output only. Operation status for Game Services API operations. Operation status is in the form of key-value pairs where keys are resource IDs and the values show the status of the operation. In case of failures, the value includes an error code and error message.", - "readOnly": true, - "type": "object" - }, - "requestedCancellation": { - "description": "Output only. Identifies whether the user has requested cancellation of the operation. Operations that have successfully been cancelled have Operation.error value with a google.rpc.Status.code of 1, corresponding to `Code.CANCELLED`.", - "readOnly": true, - "type": "boolean" - }, - "statusMessage": { - "description": "Output only. Human-readable status of the operation, if any.", - "readOnly": true, - "type": "string" - }, - "target": { - "description": "Output only. Server-defined resource path for the target of the operation.", - "readOnly": true, - "type": "string" - }, - "unreachable": { - "description": "Output only. List of Locations that could not be reached.", - "items": { - "type": "string" - }, - "readOnly": true, - "type": "array" - }, - "verb": { - "description": "Output only. Name of the verb executed by the operation.", - "readOnly": true, - "type": "string" - } - }, - "type": "object" - }, - "OperationStatus": { - "id": "OperationStatus", - "properties": { - "done": { - "description": "Output only. Whether the operation is done or still in progress.", - "readOnly": true, - "type": "boolean" - }, - "errorCode": { - "description": "The error code in case of failures.", - "enum": [ - "ERROR_CODE_UNSPECIFIED", - "INTERNAL_ERROR", - "PERMISSION_DENIED", - "CLUSTER_CONNECTION" - ], - "enumDescriptions": [ - "", - "", - "", - "" - ], - "type": "string" - }, - "errorMessage": { - "description": "The human-readable error message.", - "type": "string" - } - }, - "type": "object" - }, "Policy": { "description": "An Identity and Access Management (IAM) policy, which specifies access controls for Google Cloud resources. A `Policy` is a collection of `bindings`. A `binding` binds one or more `members`, or principals, to a single `role`. Principals can be user accounts, service accounts, Google groups, and domains (such as G Suite). A `role` is a named list of permissions; each `role` can be an IAM predefined role or a user-created custom role. For some types of Google Cloud resources, a `binding` can also specify a `condition`, which is a logical expression that allows access to a resource only if the expression evaluates to `true`. A condition can add constraints based on attributes of the request, the resource, or both. To learn which resources support conditions in their IAM policies, see the [IAM documentation](https://cloud.google.com/iam/help/conditions/resource-policies). **JSON example:** { \"bindings\": [ { \"role\": \"roles/resourcemanager.organizationAdmin\", \"members\": [ \"user:mike@example.com\", \"group:admins@example.com\", \"domain:google.com\", \"serviceAccount:my-project-id@appspot.gserviceaccount.com\" ] }, { \"role\": \"roles/resourcemanager.organizationViewer\", \"members\": [ \"user:eve@example.com\" ], \"condition\": { \"title\": \"expirable access\", \"description\": \"Does not grant access after Sep 2020\", \"expression\": \"request.time < timestamp('2020-10-01T00:00:00.000Z')\", } } ], \"etag\": \"BwWWja0YfJA=\", \"version\": 3 } **YAML example:** bindings: - members: - user:mike@example.com - group:admins@example.com - domain:google.com - serviceAccount:my-project-id@appspot.gserviceaccount.com role: roles/resourcemanager.organizationAdmin - members: - user:eve@example.com role: roles/resourcemanager.organizationViewer condition: title: expirable access description: Does not grant access after Sep 2020 expression: request.time < timestamp('2020-10-01T00:00:00.000Z') etag: BwWWja0YfJA= version: 3 For a description of IAM and its features, see the [IAM documentation](https://cloud.google.com/iam/docs/).", "id": "Policy", @@ -2436,149 +862,6 @@ }, "type": "object" }, - "PreviewCreateGameServerClusterResponse": { - "description": "Response message for GameServerClustersService.PreviewCreateGameServerCluster.", - "id": "PreviewCreateGameServerClusterResponse", - "properties": { - "clusterState": { - "$ref": "KubernetesClusterState", - "description": "Output only. The state of the Kubernetes cluster in preview. This will be available if view is set to FULL in the relevant list/get/preview request.", - "readOnly": true - }, - "etag": { - "description": "The ETag of the game server cluster.", - "type": "string" - }, - "targetState": { - "$ref": "TargetState", - "description": "The target state." - } - }, - "type": "object" - }, - "PreviewDeleteGameServerClusterResponse": { - "description": "Response message for GameServerClustersService.PreviewDeleteGameServerCluster.", - "id": "PreviewDeleteGameServerClusterResponse", - "properties": { - "etag": { - "description": "The ETag of the game server cluster.", - "type": "string" - }, - "targetState": { - "$ref": "TargetState", - "description": "The target state." - } - }, - "type": "object" - }, - "PreviewGameServerDeploymentRolloutResponse": { - "description": "Response message for PreviewGameServerDeploymentRollout. This has details about the Agones fleet and autoscaler to be actuated.", - "id": "PreviewGameServerDeploymentRolloutResponse", - "properties": { - "etag": { - "description": "ETag of the game server deployment.", - "type": "string" - }, - "targetState": { - "$ref": "TargetState", - "description": "The target state." - }, - "unavailable": { - "description": "Locations that could not be reached on this request.", - "items": { - "type": "string" - }, - "type": "array" - } - }, - "type": "object" - }, - "PreviewRealmUpdateResponse": { - "description": "Response message for RealmsService.PreviewRealmUpdate.", - "id": "PreviewRealmUpdateResponse", - "properties": { - "etag": { - "description": "ETag of the realm.", - "type": "string" - }, - "targetState": { - "$ref": "TargetState", - "description": "The target state." - } - }, - "type": "object" - }, - "PreviewUpdateGameServerClusterResponse": { - "description": "Response message for GameServerClustersService.PreviewUpdateGameServerCluster", - "id": "PreviewUpdateGameServerClusterResponse", - "properties": { - "etag": { - "description": "The ETag of the game server cluster.", - "type": "string" - }, - "targetState": { - "$ref": "TargetState", - "description": "The target state." - } - }, - "type": "object" - }, - "Realm": { - "description": "A realm resource.", - "id": "Realm", - "properties": { - "createTime": { - "description": "Output only. The creation time.", - "format": "google-datetime", - "readOnly": true, - "type": "string" - }, - "description": { - "description": "Human readable description of the realm.", - "type": "string" - }, - "etag": { - "description": "Used to perform consistent read-modify-write updates. If not set, a blind \"overwrite\" update happens.", - "type": "string" - }, - "labels": { - "additionalProperties": { - "type": "string" - }, - "description": "The labels associated with this realm. Each label is a key-value pair.", - "type": "object" - }, - "name": { - "description": "The resource name of the realm, in the following form: `projects/{project}/locations/{locationId}/realms/{realmId}`. For example, `projects/my-project/locations/global/realms/my-realm`.", - "type": "string" - }, - "timeZone": { - "description": "Required. Time zone where all policies targeting this realm are evaluated. The value of this field must be from the [IANA time zone database](https://www.iana.org/time-zones).", - "type": "string" - }, - "updateTime": { - "description": "Output only. The last-modified time.", - "format": "google-datetime", - "readOnly": true, - "type": "string" - } - }, - "type": "object" - }, - "RealmSelector": { - "description": "The realm selector, used to match realm resources.", - "id": "RealmSelector", - "properties": { - "realms": { - "description": "List of realms to match.", - "items": { - "type": "string" - }, - "type": "array" - } - }, - "type": "object" - }, "Rule": { "description": "A rule to be applied in a Policy.", "id": "Rule", @@ -2645,61 +928,6 @@ }, "type": "object" }, - "ScalingConfig": { - "description": "Autoscaling config for an Agones fleet.", - "id": "ScalingConfig", - "properties": { - "fleetAutoscalerSpec": { - "description": "Required. Agones fleet autoscaler spec (see [example spec](https://agones.dev/site/docs/reference/fleetautoscaler/)).", - "type": "string" - }, - "name": { - "description": "Required. The name of the scaling config.", - "type": "string" - }, - "schedules": { - "description": "The schedules to which this scaling config applies.", - "items": { - "$ref": "Schedule" - }, - "type": "array" - }, - "selectors": { - "description": "Labels used to identify the game server clusters to which this Agones scaling config applies. A game server cluster is subject to this Agones scaling config if its labels match any of the selector entries.", - "items": { - "$ref": "LabelSelector" - }, - "type": "array" - } - }, - "type": "object" - }, - "Schedule": { - "description": "The schedule of a recurring or one time event. The event's time span is specified by start_time and end_time. If the scheduled event's timespan is larger than cron_spec added with cron_job_duration, the event is recurring. If only cron_spec and cron_job_duration are specified, the event starts at the local time specified by cron_spec, and is recurring. ``` start_time|-------[cron job]-------[cron job]-------[cron job]---|end_time cron job: cron spec start time + duration ```", - "id": "Schedule", - "properties": { - "cronJobDuration": { - "description": "The duration for the cron job event. The duration of the event is effective after the cron job's start time.", - "format": "google-duration", - "type": "string" - }, - "cronSpec": { - "description": "The cron definition of the scheduled event. See https://en.wikipedia.org/wiki/Cron. The cron spec specifies the local time as defined by the realm.", - "type": "string" - }, - "endTime": { - "description": "The end time of the event.", - "format": "google-datetime", - "type": "string" - }, - "startTime": { - "description": "The start time of the event.", - "format": "google-datetime", - "type": "string" - } - }, - "type": "object" - }, "SetIamPolicyRequest": { "description": "Request message for `SetIamPolicy` method.", "id": "SetIamPolicyRequest", @@ -2716,21 +944,6 @@ }, "type": "object" }, - "SpecSource": { - "description": "Encapsulates Agones fleet spec and Agones autoscaler spec sources.", - "id": "SpecSource", - "properties": { - "gameServerConfigName": { - "description": "The game server config resource. Uses the form: `projects/{project}/locations/{locationId}/gameServerDeployments/{deploymentId}/configs/{configId}`.", - "type": "string" - }, - "name": { - "description": "The name of the Agones fleet config or Agones scaling config used to derive the Agones fleet or Agones autoscaler spec.", - "type": "string" - } - }, - "type": "object" - }, "Status": { "description": "The `Status` type defines a logical error model that is suitable for different programming environments, including REST APIs and RPC APIs. It is used by [gRPC](https://github.com/grpc). Each `Status` message contains three pieces of data: error code, error message, and error details. You can find out more about this error model and how to work with it in the [API Design Guide](https://cloud.google.com/apis/design/errors).", "id": "Status", @@ -2758,87 +971,6 @@ }, "type": "object" }, - "TargetDetails": { - "description": "Details about the Agones resources.", - "id": "TargetDetails", - "properties": { - "fleetDetails": { - "description": "Agones fleet details for game server clusters and game server deployments.", - "items": { - "$ref": "TargetFleetDetails" - }, - "type": "array" - }, - "gameServerClusterName": { - "description": "The game server cluster name. Uses the form: `projects/{project}/locations/{locationId}/realms/{realmId}/gameServerClusters/{gameServerClusterId}`.", - "type": "string" - }, - "gameServerDeploymentName": { - "description": "The game server deployment name. Uses the form: `projects/{project}/locations/{locationId}/gameServerDeployments/{deploymentId}`.", - "type": "string" - } - }, - "type": "object" - }, - "TargetFleet": { - "description": "Target Agones fleet specification.", - "id": "TargetFleet", - "properties": { - "name": { - "description": "The name of the Agones fleet.", - "type": "string" - }, - "specSource": { - "$ref": "SpecSource", - "description": "Encapsulates the source of the Agones fleet spec. The Agones fleet spec source." - } - }, - "type": "object" - }, - "TargetFleetAutoscaler": { - "description": "Target Agones autoscaler policy reference.", - "id": "TargetFleetAutoscaler", - "properties": { - "name": { - "description": "The name of the Agones autoscaler.", - "type": "string" - }, - "specSource": { - "$ref": "SpecSource", - "description": "Encapsulates the source of the Agones fleet spec. Details about the Agones autoscaler spec." - } - }, - "type": "object" - }, - "TargetFleetDetails": { - "description": "Details of the target Agones fleet.", - "id": "TargetFleetDetails", - "properties": { - "autoscaler": { - "$ref": "TargetFleetAutoscaler", - "description": "Reference to target Agones fleet autoscaling policy." - }, - "fleet": { - "$ref": "TargetFleet", - "description": "Reference to target Agones fleet." - } - }, - "type": "object" - }, - "TargetState": { - "description": "Encapsulates the Target state.", - "id": "TargetState", - "properties": { - "details": { - "description": "Details about Agones fleets.", - "items": { - "$ref": "TargetDetails" - }, - "type": "array" - } - }, - "type": "object" - }, "TestIamPermissionsRequest": { "description": "Request message for `TestIamPermissions` method.", "id": "TestIamPermissionsRequest", diff --git a/googleapiclient/discovery_cache/documents/genomics.v2alpha1.json b/googleapiclient/discovery_cache/documents/genomics.v2alpha1.json index 249eb041a2d..6732531dc1c 100644 --- a/googleapiclient/discovery_cache/documents/genomics.v2alpha1.json +++ b/googleapiclient/discovery_cache/documents/genomics.v2alpha1.json @@ -301,7 +301,7 @@ } } }, - "revision": "20220719", + "revision": "20220801", "rootUrl": "https://genomics.googleapis.com/", "schemas": { "Accelerator": { diff --git a/googleapiclient/discovery_cache/documents/gkebackup.v1.json b/googleapiclient/discovery_cache/documents/gkebackup.v1.json index 010910d17f0..f49b71aa899 100644 --- a/googleapiclient/discovery_cache/documents/gkebackup.v1.json +++ b/googleapiclient/discovery_cache/documents/gkebackup.v1.json @@ -1688,7 +1688,7 @@ } } }, - "revision": "20220714", + "revision": "20220728", "rootUrl": "https://gkebackup.googleapis.com/", "schemas": { "AuditConfig": { diff --git a/googleapiclient/discovery_cache/documents/gkehub.v1.json b/googleapiclient/discovery_cache/documents/gkehub.v1.json index 0d48bd213e0..e1378ac257a 100644 --- a/googleapiclient/discovery_cache/documents/gkehub.v1.json +++ b/googleapiclient/discovery_cache/documents/gkehub.v1.json @@ -905,7 +905,7 @@ } } }, - "revision": "20220715", + "revision": "20220729", "rootUrl": "https://gkehub.googleapis.com/", "schemas": { "AnthosVMMembershipSpec": { diff --git a/googleapiclient/discovery_cache/documents/gkehub.v1alpha.json b/googleapiclient/discovery_cache/documents/gkehub.v1alpha.json index 30b0b4bc390..68ae7688683 100644 --- a/googleapiclient/discovery_cache/documents/gkehub.v1alpha.json +++ b/googleapiclient/discovery_cache/documents/gkehub.v1alpha.json @@ -1151,7 +1151,7 @@ } } }, - "revision": "20220715", + "revision": "20220729", "rootUrl": "https://gkehub.googleapis.com/", "schemas": { "AnthosObservabilityFeatureSpec": { diff --git a/googleapiclient/discovery_cache/documents/gkehub.v1alpha2.json b/googleapiclient/discovery_cache/documents/gkehub.v1alpha2.json index 416fd3cb8db..de03cf6f644 100644 --- a/googleapiclient/discovery_cache/documents/gkehub.v1alpha2.json +++ b/googleapiclient/discovery_cache/documents/gkehub.v1alpha2.json @@ -652,7 +652,7 @@ } } }, - "revision": "20220715", + "revision": "20220729", "rootUrl": "https://gkehub.googleapis.com/", "schemas": { "ApplianceCluster": { diff --git a/googleapiclient/discovery_cache/documents/gkehub.v1beta.json b/googleapiclient/discovery_cache/documents/gkehub.v1beta.json index d47b95b188b..a3865f291fc 100644 --- a/googleapiclient/discovery_cache/documents/gkehub.v1beta.json +++ b/googleapiclient/discovery_cache/documents/gkehub.v1beta.json @@ -670,7 +670,7 @@ } } }, - "revision": "20220715", + "revision": "20220729", "rootUrl": "https://gkehub.googleapis.com/", "schemas": { "AnthosObservabilityFeatureSpec": { diff --git a/googleapiclient/discovery_cache/documents/gkehub.v1beta1.json b/googleapiclient/discovery_cache/documents/gkehub.v1beta1.json index 0fd8fb41a51..96341132cb7 100644 --- a/googleapiclient/discovery_cache/documents/gkehub.v1beta1.json +++ b/googleapiclient/discovery_cache/documents/gkehub.v1beta1.json @@ -706,7 +706,7 @@ } } }, - "revision": "20220715", + "revision": "20220729", "rootUrl": "https://gkehub.googleapis.com/", "schemas": { "ApplianceCluster": { diff --git a/googleapiclient/discovery_cache/documents/gkehub.v2alpha.json b/googleapiclient/discovery_cache/documents/gkehub.v2alpha.json index d24a0d44a5c..2dac8ce0aa4 100644 --- a/googleapiclient/discovery_cache/documents/gkehub.v2alpha.json +++ b/googleapiclient/discovery_cache/documents/gkehub.v2alpha.json @@ -280,7 +280,7 @@ } } }, - "revision": "20220715", + "revision": "20220729", "rootUrl": "https://gkehub.googleapis.com/", "schemas": { "CancelOperationRequest": { diff --git a/googleapiclient/discovery_cache/documents/gmail.v1.json b/googleapiclient/discovery_cache/documents/gmail.v1.json index 953878249bf..3890b22d753 100644 --- a/googleapiclient/discovery_cache/documents/gmail.v1.json +++ b/googleapiclient/discovery_cache/documents/gmail.v1.json @@ -2682,7 +2682,7 @@ } } }, - "revision": "20220718", + "revision": "20220730", "rootUrl": "https://gmail.googleapis.com/", "schemas": { "AutoForwarding": { diff --git a/googleapiclient/discovery_cache/documents/gmailpostmastertools.v1.json b/googleapiclient/discovery_cache/documents/gmailpostmastertools.v1.json index e1e0e7acccb..0e407e4961b 100644 --- a/googleapiclient/discovery_cache/documents/gmailpostmastertools.v1.json +++ b/googleapiclient/discovery_cache/documents/gmailpostmastertools.v1.json @@ -265,7 +265,7 @@ } } }, - "revision": "20220722", + "revision": "20220806", "rootUrl": "https://gmailpostmastertools.googleapis.com/", "schemas": { "DeliveryError": { diff --git a/googleapiclient/discovery_cache/documents/gmailpostmastertools.v1beta1.json b/googleapiclient/discovery_cache/documents/gmailpostmastertools.v1beta1.json index 7a848e351f3..080a0cad34c 100644 --- a/googleapiclient/discovery_cache/documents/gmailpostmastertools.v1beta1.json +++ b/googleapiclient/discovery_cache/documents/gmailpostmastertools.v1beta1.json @@ -265,7 +265,7 @@ } } }, - "revision": "20220722", + "revision": "20220806", "rootUrl": "https://gmailpostmastertools.googleapis.com/", "schemas": { "DeliveryError": { diff --git a/googleapiclient/discovery_cache/documents/groupsmigration.v1.json b/googleapiclient/discovery_cache/documents/groupsmigration.v1.json index 702c165108d..d1cf7c6eeda 100644 --- a/googleapiclient/discovery_cache/documents/groupsmigration.v1.json +++ b/googleapiclient/discovery_cache/documents/groupsmigration.v1.json @@ -146,7 +146,7 @@ } } }, - "revision": "20220609", + "revision": "20220728", "rootUrl": "https://groupsmigration.googleapis.com/", "schemas": { "Groups": { diff --git a/googleapiclient/discovery_cache/documents/healthcare.v1.json b/googleapiclient/discovery_cache/documents/healthcare.v1.json index 32c383fb669..2c018bc829e 100644 --- a/googleapiclient/discovery_cache/documents/healthcare.v1.json +++ b/googleapiclient/discovery_cache/documents/healthcare.v1.json @@ -4053,7 +4053,7 @@ } } }, - "revision": "20220712", + "revision": "20220727", "rootUrl": "https://healthcare.googleapis.com/", "schemas": { "ActivateConsentRequest": { diff --git a/googleapiclient/discovery_cache/documents/healthcare.v1beta1.json b/googleapiclient/discovery_cache/documents/healthcare.v1beta1.json index 48b4ef581e7..6937de3c480 100644 --- a/googleapiclient/discovery_cache/documents/healthcare.v1beta1.json +++ b/googleapiclient/discovery_cache/documents/healthcare.v1beta1.json @@ -4865,7 +4865,7 @@ } } }, - "revision": "20220712", + "revision": "20220727", "rootUrl": "https://healthcare.googleapis.com/", "schemas": { "ActivateConsentRequest": { diff --git a/googleapiclient/discovery_cache/documents/homegraph.v1.json b/googleapiclient/discovery_cache/documents/homegraph.v1.json index 7307eba7b7a..d64f37768c1 100644 --- a/googleapiclient/discovery_cache/documents/homegraph.v1.json +++ b/googleapiclient/discovery_cache/documents/homegraph.v1.json @@ -216,7 +216,7 @@ } } }, - "revision": "20220715", + "revision": "20220729", "rootUrl": "https://homegraph.googleapis.com/", "schemas": { "AgentDeviceId": { diff --git a/googleapiclient/discovery_cache/documents/iam.v1.json b/googleapiclient/discovery_cache/documents/iam.v1.json index 241096aff4b..9196c1898b5 100644 --- a/googleapiclient/discovery_cache/documents/iam.v1.json +++ b/googleapiclient/discovery_cache/documents/iam.v1.json @@ -1921,7 +1921,7 @@ } } }, - "revision": "20220713", + "revision": "20220728", "rootUrl": "https://iam.googleapis.com/", "schemas": { "AdminAuditData": { diff --git a/googleapiclient/discovery_cache/documents/iam.v2beta.json b/googleapiclient/discovery_cache/documents/iam.v2beta.json index d5eb8f38a01..f2bf33f4f3a 100644 --- a/googleapiclient/discovery_cache/documents/iam.v2beta.json +++ b/googleapiclient/discovery_cache/documents/iam.v2beta.json @@ -293,7 +293,7 @@ } } }, - "revision": "20220713", + "revision": "20220728", "rootUrl": "https://iam.googleapis.com/", "schemas": { "GoogleIamAdminV1AuditData": { diff --git a/googleapiclient/discovery_cache/documents/iamcredentials.v1.json b/googleapiclient/discovery_cache/documents/iamcredentials.v1.json index de062c3c18a..8c1dbdccc1e 100644 --- a/googleapiclient/discovery_cache/documents/iamcredentials.v1.json +++ b/googleapiclient/discovery_cache/documents/iamcredentials.v1.json @@ -226,7 +226,7 @@ } } }, - "revision": "20220714", + "revision": "20220729", "rootUrl": "https://iamcredentials.googleapis.com/", "schemas": { "GenerateAccessTokenRequest": { diff --git a/googleapiclient/discovery_cache/documents/iap.v1.json b/googleapiclient/discovery_cache/documents/iap.v1.json index 5f07c79f348..ec1c7f21d61 100644 --- a/googleapiclient/discovery_cache/documents/iap.v1.json +++ b/googleapiclient/discovery_cache/documents/iap.v1.json @@ -652,7 +652,7 @@ } } }, - "revision": "20220715", + "revision": "20220805", "rootUrl": "https://iap.googleapis.com/", "schemas": { "AccessDeniedPageSettings": { @@ -706,7 +706,7 @@ "type": "object" }, "AllowedDomainsSettings": { - "description": "Configuration for IAP allowed domains. Allows the customers to restrict access to the app by only allowing requests from the listed trusted domains.", + "description": "Configuration for IAP allowed domains. Lets you to restrict access to an app and allow access to only the domains that you list.", "id": "AllowedDomainsSettings", "properties": { "domains": { @@ -751,7 +751,7 @@ "description": "The condition that is associated with this binding. If the condition evaluates to `true`, then this binding applies to the current request. If the condition evaluates to `false`, then this binding does not apply to the current request. However, a different role binding might grant the same role to one or more of the principals in this binding. To learn which resources support conditions in their IAM policies, see the [IAM documentation](https://cloud.google.com/iam/help/conditions/resource-policies)." }, "members": { - "description": "Specifies the principals requesting access for a Google Cloud resource. `members` can have the following values: * `allUsers`: A special identifier that represents anyone who is on the internet; with or without a Google account. * `allAuthenticatedUsers`: A special identifier that represents anyone who is authenticated with a Google account or a service account. * `user:{emailid}`: An email address that represents a specific Google account. For example, `alice@example.com` . * `serviceAccount:{emailid}`: An email address that represents a service account. For example, `my-other-app@appspot.gserviceaccount.com`. * `group:{emailid}`: An email address that represents a Google group. For example, `admins@example.com`. * `deleted:user:{emailid}?uid={uniqueid}`: An email address (plus unique identifier) representing a user that has been recently deleted. For example, `alice@example.com?uid=123456789012345678901`. If the user is recovered, this value reverts to `user:{emailid}` and the recovered user retains the role in the binding. * `deleted:serviceAccount:{emailid}?uid={uniqueid}`: An email address (plus unique identifier) representing a service account that has been recently deleted. For example, `my-other-app@appspot.gserviceaccount.com?uid=123456789012345678901`. If the service account is undeleted, this value reverts to `serviceAccount:{emailid}` and the undeleted service account retains the role in the binding. * `deleted:group:{emailid}?uid={uniqueid}`: An email address (plus unique identifier) representing a Google group that has been recently deleted. For example, `admins@example.com?uid=123456789012345678901`. If the group is recovered, this value reverts to `group:{emailid}` and the recovered group retains the role in the binding. * `domain:{domain}`: The G Suite domain (primary) that represents all the users of that domain. For example, `google.com` or `example.com`. ", + "description": "Specifies the principals requesting access for a Google Cloud resource. `members` can have the following values: * `allUsers`: A special identifier that represents anyone who is on the internet; with or without a Google account. * `allAuthenticatedUsers`: A special identifier that represents anyone who is authenticated with a Google account or a service account. * `user:{emailid}`: An email address that represents a specific Google account. For example, `alice@example.com` . * `serviceAccount:{emailid}`: An email address that represents a Google service account. For example, `my-other-app@appspot.gserviceaccount.com`. * `serviceAccount:{projectid}.svc.id.goog[{namespace}/{kubernetes-sa}]`: An identifier for a [Kubernetes service account](https://cloud.google.com/kubernetes-engine/docs/how-to/kubernetes-service-accounts). For example, `my-project.svc.id.goog[my-namespace/my-kubernetes-sa]`. * `group:{emailid}`: An email address that represents a Google group. For example, `admins@example.com`. * `deleted:user:{emailid}?uid={uniqueid}`: An email address (plus unique identifier) representing a user that has been recently deleted. For example, `alice@example.com?uid=123456789012345678901`. If the user is recovered, this value reverts to `user:{emailid}` and the recovered user retains the role in the binding. * `deleted:serviceAccount:{emailid}?uid={uniqueid}`: An email address (plus unique identifier) representing a service account that has been recently deleted. For example, `my-other-app@appspot.gserviceaccount.com?uid=123456789012345678901`. If the service account is undeleted, this value reverts to `serviceAccount:{emailid}` and the undeleted service account retains the role in the binding. * `deleted:group:{emailid}?uid={uniqueid}`: An email address (plus unique identifier) representing a Google group that has been recently deleted. For example, `admins@example.com?uid=123456789012345678901`. If the group is recovered, this value reverts to `group:{emailid}` and the recovered group retains the role in the binding. * `domain:{domain}`: The G Suite domain (primary) that represents all the users of that domain. For example, `google.com` or `example.com`. ", "items": { "type": "string" }, diff --git a/googleapiclient/discovery_cache/documents/iap.v1beta1.json b/googleapiclient/discovery_cache/documents/iap.v1beta1.json index a2389234b4a..3c3b9da3ab6 100644 --- a/googleapiclient/discovery_cache/documents/iap.v1beta1.json +++ b/googleapiclient/discovery_cache/documents/iap.v1beta1.json @@ -194,7 +194,7 @@ } } }, - "revision": "20220715", + "revision": "20220805", "rootUrl": "https://iap.googleapis.com/", "schemas": { "Binding": { @@ -206,7 +206,7 @@ "description": "The condition that is associated with this binding. If the condition evaluates to `true`, then this binding applies to the current request. If the condition evaluates to `false`, then this binding does not apply to the current request. However, a different role binding might grant the same role to one or more of the principals in this binding. To learn which resources support conditions in their IAM policies, see the [IAM documentation](https://cloud.google.com/iam/help/conditions/resource-policies)." }, "members": { - "description": "Specifies the principals requesting access for a Google Cloud resource. `members` can have the following values: * `allUsers`: A special identifier that represents anyone who is on the internet; with or without a Google account. * `allAuthenticatedUsers`: A special identifier that represents anyone who is authenticated with a Google account or a service account. * `user:{emailid}`: An email address that represents a specific Google account. For example, `alice@example.com` . * `serviceAccount:{emailid}`: An email address that represents a service account. For example, `my-other-app@appspot.gserviceaccount.com`. * `group:{emailid}`: An email address that represents a Google group. For example, `admins@example.com`. * `deleted:user:{emailid}?uid={uniqueid}`: An email address (plus unique identifier) representing a user that has been recently deleted. For example, `alice@example.com?uid=123456789012345678901`. If the user is recovered, this value reverts to `user:{emailid}` and the recovered user retains the role in the binding. * `deleted:serviceAccount:{emailid}?uid={uniqueid}`: An email address (plus unique identifier) representing a service account that has been recently deleted. For example, `my-other-app@appspot.gserviceaccount.com?uid=123456789012345678901`. If the service account is undeleted, this value reverts to `serviceAccount:{emailid}` and the undeleted service account retains the role in the binding. * `deleted:group:{emailid}?uid={uniqueid}`: An email address (plus unique identifier) representing a Google group that has been recently deleted. For example, `admins@example.com?uid=123456789012345678901`. If the group is recovered, this value reverts to `group:{emailid}` and the recovered group retains the role in the binding. * `domain:{domain}`: The G Suite domain (primary) that represents all the users of that domain. For example, `google.com` or `example.com`. ", + "description": "Specifies the principals requesting access for a Google Cloud resource. `members` can have the following values: * `allUsers`: A special identifier that represents anyone who is on the internet; with or without a Google account. * `allAuthenticatedUsers`: A special identifier that represents anyone who is authenticated with a Google account or a service account. * `user:{emailid}`: An email address that represents a specific Google account. For example, `alice@example.com` . * `serviceAccount:{emailid}`: An email address that represents a Google service account. For example, `my-other-app@appspot.gserviceaccount.com`. * `serviceAccount:{projectid}.svc.id.goog[{namespace}/{kubernetes-sa}]`: An identifier for a [Kubernetes service account](https://cloud.google.com/kubernetes-engine/docs/how-to/kubernetes-service-accounts). For example, `my-project.svc.id.goog[my-namespace/my-kubernetes-sa]`. * `group:{emailid}`: An email address that represents a Google group. For example, `admins@example.com`. * `deleted:user:{emailid}?uid={uniqueid}`: An email address (plus unique identifier) representing a user that has been recently deleted. For example, `alice@example.com?uid=123456789012345678901`. If the user is recovered, this value reverts to `user:{emailid}` and the recovered user retains the role in the binding. * `deleted:serviceAccount:{emailid}?uid={uniqueid}`: An email address (plus unique identifier) representing a service account that has been recently deleted. For example, `my-other-app@appspot.gserviceaccount.com?uid=123456789012345678901`. If the service account is undeleted, this value reverts to `serviceAccount:{emailid}` and the undeleted service account retains the role in the binding. * `deleted:group:{emailid}?uid={uniqueid}`: An email address (plus unique identifier) representing a Google group that has been recently deleted. For example, `admins@example.com?uid=123456789012345678901`. If the group is recovered, this value reverts to `group:{emailid}` and the recovered group retains the role in the binding. * `domain:{domain}`: The G Suite domain (primary) that represents all the users of that domain. For example, `google.com` or `example.com`. ", "items": { "type": "string" }, diff --git a/googleapiclient/discovery_cache/documents/ideahub.v1alpha.json b/googleapiclient/discovery_cache/documents/ideahub.v1alpha.json index d7b9a48299e..c9d52178953 100644 --- a/googleapiclient/discovery_cache/documents/ideahub.v1alpha.json +++ b/googleapiclient/discovery_cache/documents/ideahub.v1alpha.json @@ -331,7 +331,7 @@ } } }, - "revision": "20220725", + "revision": "20220806", "rootUrl": "https://ideahub.googleapis.com/", "schemas": { "GoogleSearchIdeahubV1alphaAvailableLocale": { diff --git a/googleapiclient/discovery_cache/documents/ideahub.v1beta.json b/googleapiclient/discovery_cache/documents/ideahub.v1beta.json index 137a9c16f3f..8d216fddc50 100644 --- a/googleapiclient/discovery_cache/documents/ideahub.v1beta.json +++ b/googleapiclient/discovery_cache/documents/ideahub.v1beta.json @@ -288,7 +288,7 @@ } } }, - "revision": "20220725", + "revision": "20220806", "rootUrl": "https://ideahub.googleapis.com/", "schemas": { "GoogleSearchIdeahubV1betaAvailableLocale": { diff --git a/googleapiclient/discovery_cache/documents/ids.v1.json b/googleapiclient/discovery_cache/documents/ids.v1.json index 7db42a1fc39..eb9a42d23b1 100644 --- a/googleapiclient/discovery_cache/documents/ids.v1.json +++ b/googleapiclient/discovery_cache/documents/ids.v1.json @@ -535,7 +535,7 @@ } } }, - "revision": "20220622", + "revision": "20220724", "rootUrl": "https://ids.googleapis.com/", "schemas": { "AuditConfig": { diff --git a/googleapiclient/discovery_cache/documents/indexing.v3.json b/googleapiclient/discovery_cache/documents/indexing.v3.json index c936f966682..1b66a66084a 100644 --- a/googleapiclient/discovery_cache/documents/indexing.v3.json +++ b/googleapiclient/discovery_cache/documents/indexing.v3.json @@ -149,7 +149,7 @@ } } }, - "revision": "20220712", + "revision": "20220726", "rootUrl": "https://indexing.googleapis.com/", "schemas": { "PublishUrlNotificationResponse": { diff --git a/googleapiclient/discovery_cache/documents/jobs.v3.json b/googleapiclient/discovery_cache/documents/jobs.v3.json index a73252965d9..bf50d17e2cc 100644 --- a/googleapiclient/discovery_cache/documents/jobs.v3.json +++ b/googleapiclient/discovery_cache/documents/jobs.v3.json @@ -651,7 +651,7 @@ } } }, - "revision": "20220722", + "revision": "20220802", "rootUrl": "https://jobs.googleapis.com/", "schemas": { "ApplicationInfo": { diff --git a/googleapiclient/discovery_cache/documents/jobs.v3p1beta1.json b/googleapiclient/discovery_cache/documents/jobs.v3p1beta1.json index 7668a14f68c..74d1f47b2ba 100644 --- a/googleapiclient/discovery_cache/documents/jobs.v3p1beta1.json +++ b/googleapiclient/discovery_cache/documents/jobs.v3p1beta1.json @@ -681,7 +681,7 @@ } } }, - "revision": "20220722", + "revision": "20220802", "rootUrl": "https://jobs.googleapis.com/", "schemas": { "ApplicationInfo": { diff --git a/googleapiclient/discovery_cache/documents/jobs.v4.json b/googleapiclient/discovery_cache/documents/jobs.v4.json index 84dc6f1dc9f..673b27a370f 100644 --- a/googleapiclient/discovery_cache/documents/jobs.v4.json +++ b/googleapiclient/discovery_cache/documents/jobs.v4.json @@ -903,7 +903,7 @@ } } }, - "revision": "20220722", + "revision": "20220802", "rootUrl": "https://jobs.googleapis.com/", "schemas": { "ApplicationInfo": { diff --git a/googleapiclient/discovery_cache/documents/keep.v1.json b/googleapiclient/discovery_cache/documents/keep.v1.json index 06639172bf4..4d2d6f79ccf 100644 --- a/googleapiclient/discovery_cache/documents/keep.v1.json +++ b/googleapiclient/discovery_cache/documents/keep.v1.json @@ -314,7 +314,7 @@ } } }, - "revision": "20220718", + "revision": "20220725", "rootUrl": "https://keep.googleapis.com/", "schemas": { "Attachment": { diff --git a/googleapiclient/discovery_cache/documents/kgsearch.v1.json b/googleapiclient/discovery_cache/documents/kgsearch.v1.json index 14c50ddc8a9..14d0344d942 100644 --- a/googleapiclient/discovery_cache/documents/kgsearch.v1.json +++ b/googleapiclient/discovery_cache/documents/kgsearch.v1.json @@ -151,7 +151,7 @@ } } }, - "revision": "20220722", + "revision": "20220806", "rootUrl": "https://kgsearch.googleapis.com/", "schemas": { "SearchResponse": { diff --git a/googleapiclient/discovery_cache/documents/language.v1.json b/googleapiclient/discovery_cache/documents/language.v1.json index 18966d8b0ee..45732ff4c98 100644 --- a/googleapiclient/discovery_cache/documents/language.v1.json +++ b/googleapiclient/discovery_cache/documents/language.v1.json @@ -227,7 +227,7 @@ } } }, - "revision": "20220716", + "revision": "20220801", "rootUrl": "https://language.googleapis.com/", "schemas": { "AnalyzeEntitiesRequest": { diff --git a/googleapiclient/discovery_cache/documents/language.v1beta1.json b/googleapiclient/discovery_cache/documents/language.v1beta1.json index dd16824ef96..9488efc6ed9 100644 --- a/googleapiclient/discovery_cache/documents/language.v1beta1.json +++ b/googleapiclient/discovery_cache/documents/language.v1beta1.json @@ -189,7 +189,7 @@ } } }, - "revision": "20220716", + "revision": "20220801", "rootUrl": "https://language.googleapis.com/", "schemas": { "AnalyzeEntitiesRequest": { diff --git a/googleapiclient/discovery_cache/documents/language.v1beta2.json b/googleapiclient/discovery_cache/documents/language.v1beta2.json index 90ca84f4815..94587d57dee 100644 --- a/googleapiclient/discovery_cache/documents/language.v1beta2.json +++ b/googleapiclient/discovery_cache/documents/language.v1beta2.json @@ -227,7 +227,7 @@ } } }, - "revision": "20220716", + "revision": "20220801", "rootUrl": "https://language.googleapis.com/", "schemas": { "AnalyzeEntitiesRequest": { @@ -871,7 +871,7 @@ "type": "object" }, "Features": { - "description": "All available features for sentiment, syntax, and semantic analysis. Setting each one to true will enable that specific analysis for the input. Next ID: 10", + "description": "All available features for sentiment, syntax, and semantic analysis. Setting each one to true will enable that specific analysis for the input. Next ID: 11", "id": "Features", "properties": { "classifyText": { diff --git a/googleapiclient/discovery_cache/documents/libraryagent.v1.json b/googleapiclient/discovery_cache/documents/libraryagent.v1.json index 61afb63dae5..472365b02b7 100644 --- a/googleapiclient/discovery_cache/documents/libraryagent.v1.json +++ b/googleapiclient/discovery_cache/documents/libraryagent.v1.json @@ -279,7 +279,7 @@ } } }, - "revision": "20220722", + "revision": "20220806", "rootUrl": "https://libraryagent.googleapis.com/", "schemas": { "GoogleExampleLibraryagentV1Book": { diff --git a/googleapiclient/discovery_cache/documents/licensing.v1.json b/googleapiclient/discovery_cache/documents/licensing.v1.json index 620e5f68d81..4b17eb6b552 100644 --- a/googleapiclient/discovery_cache/documents/licensing.v1.json +++ b/googleapiclient/discovery_cache/documents/licensing.v1.json @@ -400,7 +400,7 @@ } } }, - "revision": "20220722", + "revision": "20220806", "rootUrl": "https://licensing.googleapis.com/", "schemas": { "Empty": { diff --git a/googleapiclient/discovery_cache/documents/lifesciences.v2beta.json b/googleapiclient/discovery_cache/documents/lifesciences.v2beta.json index 814196c52c9..bf9b3322036 100644 --- a/googleapiclient/discovery_cache/documents/lifesciences.v2beta.json +++ b/googleapiclient/discovery_cache/documents/lifesciences.v2beta.json @@ -312,7 +312,7 @@ } } }, - "revision": "20220716", + "revision": "20220729", "rootUrl": "https://lifesciences.googleapis.com/", "schemas": { "Accelerator": { diff --git a/googleapiclient/discovery_cache/documents/localservices.v1.json b/googleapiclient/discovery_cache/documents/localservices.v1.json index d680cef8e45..b0a6c733c89 100644 --- a/googleapiclient/discovery_cache/documents/localservices.v1.json +++ b/googleapiclient/discovery_cache/documents/localservices.v1.json @@ -250,7 +250,7 @@ } } }, - "revision": "20220722", + "revision": "20220725", "rootUrl": "https://localservices.googleapis.com/", "schemas": { "GoogleAdsHomeservicesLocalservicesV1AccountReport": { diff --git a/googleapiclient/discovery_cache/documents/logging.v2.json b/googleapiclient/discovery_cache/documents/logging.v2.json index 80eefa581f2..72397343f00 100644 --- a/googleapiclient/discovery_cache/documents/logging.v2.json +++ b/googleapiclient/discovery_cache/documents/logging.v2.json @@ -6007,7 +6007,7 @@ } } }, - "revision": "20220714", + "revision": "20220805", "rootUrl": "https://logging.googleapis.com/", "schemas": { "BigQueryOptions": { @@ -6926,6 +6926,10 @@ "description": "Describes a logs-based metric. The value of the metric is the number of log entries that match a logs filter in a given time interval.Logs-based metrics can also be used to extract values from logs and create a distribution of the values. The distribution records the statistics of the extracted values along with an optional histogram of the values as specified by the bucket options.", "id": "LogMetric", "properties": { + "bucketName": { + "description": "Optional. The resource name of the Log Bucket that owns the Log Metric. Only Log Buckets in projects are supported. The bucket has to be in the same project as the metric.For example:projects/my-project/locations/global/buckets/my-bucketIf empty, then the Log Metric is considered a non-Bucket Log Metric.", + "type": "string" + }, "bucketOptions": { "$ref": "BucketOptions", "description": "Optional. The bucket_options are required when the logs-based metric is using a DISTRIBUTION value type and it describes the bucket boundaries used to create a histogram of the extracted values." @@ -6952,7 +6956,7 @@ "additionalProperties": { "type": "string" }, - "description": "Optional. A map from a label key string to an extractor expression which is used to extract data from a log entry field and assign as the label value. Each label key specified in the LabelDescriptor must have an associated extractor expression in this map. The syntax of the extractor expression is the same as for the value_extractor field.The extracted value is converted to the type defined in the label descriptor. If the either the extraction or the type conversion fails, the label will have a default value. The default value for a string label is an empty string, for an integer label its 0, and for a boolean label its false.Note that there are upper bounds on the maximum number of labels and the number of active time series that are allowed in a project.", + "description": "Optional. A map from a label key string to an extractor expression which is used to extract data from a log entry field and assign as the label value. Each label key specified in the LabelDescriptor must have an associated extractor expression in this map. The syntax of the extractor expression is the same as for the value_extractor field.The extracted value is converted to the type defined in the label descriptor. If either the extraction or the type conversion fails, the label will have a default value. The default value for a string label is an empty string, for an integer label its 0, and for a boolean label its false.Note that there are upper bounds on the maximum number of labels and the number of active time series that are allowed in a project.", "type": "object" }, "metricDescriptor": { diff --git a/googleapiclient/discovery_cache/documents/manufacturers.v1.json b/googleapiclient/discovery_cache/documents/manufacturers.v1.json index 9043698d62c..54cfd44d0dc 100644 --- a/googleapiclient/discovery_cache/documents/manufacturers.v1.json +++ b/googleapiclient/discovery_cache/documents/manufacturers.v1.json @@ -287,7 +287,7 @@ } } }, - "revision": "20220713", + "revision": "20220720", "rootUrl": "https://manufacturers.googleapis.com/", "schemas": { "Attributes": { diff --git a/googleapiclient/discovery_cache/documents/memcache.v1.json b/googleapiclient/discovery_cache/documents/memcache.v1.json index b5f4ec2e126..beb14ea4835 100644 --- a/googleapiclient/discovery_cache/documents/memcache.v1.json +++ b/googleapiclient/discovery_cache/documents/memcache.v1.json @@ -556,7 +556,7 @@ } } }, - "revision": "20220711", + "revision": "20220802", "rootUrl": "https://memcache.googleapis.com/", "schemas": { "ApplyParametersRequest": { @@ -1671,12 +1671,18 @@ "enum": [ "UPDATE_CHANNEL_UNSPECIFIED", "EARLIER", - "LATER" + "LATER", + "WEEK1", + "WEEK2", + "WEEK5" ], "enumDescriptions": [ "Unspecified channel.", "Early channel within a customer project.", - "Later channel within a customer project." + "Later channel within a customer project.", + "! ! The follow channels can ONLY be used if you adopt the new MW system! ! ! NOTE: all WEEK channels are assumed to be under a weekly window. ! There is currently no dedicated channel definitions for Daily windows. ! If you use Daily window, the system will assume a 1d (24Hours) advanced ! notification period b/w EARLY and LATER. ! We may consider support more flexible daily channel specifications in ! the future. WEEK1 == EARLIER with minimum 7d advanced notification. {7d, 14d} The system will treat them equally and will use WEEK1 whenever it can. New customers are encouraged to use this channel annotation.", + "WEEK2 == LATER with minimum 14d advanced notification {14d, 21d}.", + "WEEK5 == 40d support. minimum 35d advanced notification {35d, 42d}." ], "type": "string" }, diff --git a/googleapiclient/discovery_cache/documents/memcache.v1beta2.json b/googleapiclient/discovery_cache/documents/memcache.v1beta2.json index 23e14ee5e52..f4f0983fe34 100644 --- a/googleapiclient/discovery_cache/documents/memcache.v1beta2.json +++ b/googleapiclient/discovery_cache/documents/memcache.v1beta2.json @@ -584,7 +584,7 @@ } } }, - "revision": "20220711", + "revision": "20220802", "rootUrl": "https://memcache.googleapis.com/", "schemas": { "ApplyParametersRequest": { @@ -1727,12 +1727,18 @@ "enum": [ "UPDATE_CHANNEL_UNSPECIFIED", "EARLIER", - "LATER" + "LATER", + "WEEK1", + "WEEK2", + "WEEK5" ], "enumDescriptions": [ "Unspecified channel.", "Early channel within a customer project.", - "Later channel within a customer project." + "Later channel within a customer project.", + "! ! The follow channels can ONLY be used if you adopt the new MW system! ! ! NOTE: all WEEK channels are assumed to be under a weekly window. ! There is currently no dedicated channel definitions for Daily windows. ! If you use Daily window, the system will assume a 1d (24Hours) advanced ! notification period b/w EARLY and LATER. ! We may consider support more flexible daily channel specifications in ! the future. WEEK1 == EARLIER with minimum 7d advanced notification. {7d, 14d} The system will treat them equally and will use WEEK1 whenever it can. New customers are encouraged to use this channel annotation.", + "WEEK2 == LATER with minimum 14d advanced notification {14d, 21d}.", + "WEEK5 == 40d support. minimum 35d advanced notification {35d, 42d}." ], "type": "string" }, diff --git a/googleapiclient/discovery_cache/documents/metastore.v1alpha.json b/googleapiclient/discovery_cache/documents/metastore.v1alpha.json index f1850dfc45a..8c35f8e74d1 100644 --- a/googleapiclient/discovery_cache/documents/metastore.v1alpha.json +++ b/googleapiclient/discovery_cache/documents/metastore.v1alpha.json @@ -1467,7 +1467,7 @@ } } }, - "revision": "20220711", + "revision": "20220723", "rootUrl": "https://metastore.googleapis.com/", "schemas": { "AuditConfig": { diff --git a/googleapiclient/discovery_cache/documents/metastore.v1beta.json b/googleapiclient/discovery_cache/documents/metastore.v1beta.json index c9f121460a5..298846ef265 100644 --- a/googleapiclient/discovery_cache/documents/metastore.v1beta.json +++ b/googleapiclient/discovery_cache/documents/metastore.v1beta.json @@ -1467,7 +1467,7 @@ } } }, - "revision": "20220711", + "revision": "20220723", "rootUrl": "https://metastore.googleapis.com/", "schemas": { "AuditConfig": { diff --git a/googleapiclient/discovery_cache/documents/ml.v1.json b/googleapiclient/discovery_cache/documents/ml.v1.json index 73308219049..f59547cd4e0 100644 --- a/googleapiclient/discovery_cache/documents/ml.v1.json +++ b/googleapiclient/discovery_cache/documents/ml.v1.json @@ -1486,7 +1486,7 @@ } } }, - "revision": "20220708", + "revision": "20220728", "rootUrl": "https://ml.googleapis.com/", "schemas": { "GoogleApi__HttpBody": { diff --git a/googleapiclient/discovery_cache/documents/monitoring.v1.json b/googleapiclient/discovery_cache/documents/monitoring.v1.json index ea8ef72ade7..7e05f830215 100644 --- a/googleapiclient/discovery_cache/documents/monitoring.v1.json +++ b/googleapiclient/discovery_cache/documents/monitoring.v1.json @@ -769,7 +769,7 @@ } } }, - "revision": "20220715", + "revision": "20220730", "rootUrl": "https://monitoring.googleapis.com/", "schemas": { "Aggregation": { @@ -2049,6 +2049,20 @@ "$ref": "TableDataSet" }, "type": "array" + }, + "metricVisualization": { + "description": "Optional. Store rendering strategy", + "enum": [ + "METRIC_VISUALIZATION_UNSPECIFIED", + "NUMBER", + "BAR" + ], + "enumDescriptions": [ + "Unspecified state", + "Default text rendering", + "Horizontal bar rendering" + ], + "type": "string" } }, "type": "object" diff --git a/googleapiclient/discovery_cache/documents/monitoring.v3.json b/googleapiclient/discovery_cache/documents/monitoring.v3.json index bfac79c6ec7..442d4fe769d 100644 --- a/googleapiclient/discovery_cache/documents/monitoring.v3.json +++ b/googleapiclient/discovery_cache/documents/monitoring.v3.json @@ -1112,7 +1112,7 @@ "metricDescriptors": { "methods": { "create": { - "description": "Creates a new metric descriptor. The creation is executed asynchronously and callers may check the returned operation to track its progress. User-created metric descriptors define custom metrics (https://cloud.google.com/monitoring/custom-metrics).", + "description": "Creates a new metric descriptor. The creation is executed asynchronously. User-created metric descriptors define custom metrics (https://cloud.google.com/monitoring/custom-metrics). The metric descriptor is updated if it already exists, except that metric labels are never removed.", "flatPath": "v3/projects/{projectsId}/metricDescriptors", "httpMethod": "POST", "id": "monitoring.projects.metricDescriptors.create", @@ -2571,7 +2571,7 @@ } } }, - "revision": "20220715", + "revision": "20220730", "rootUrl": "https://monitoring.googleapis.com/", "schemas": { "Aggregation": { @@ -5525,6 +5525,13 @@ "description": "The maximum amount of time to wait for the request to complete (must be between 1 and 60 seconds). Required.", "format": "google-duration", "type": "string" + }, + "userLabels": { + "additionalProperties": { + "type": "string" + }, + "description": "User-supplied key/value data to be used for organizing and identifying the UptimeCheckConfig objects.The field can contain up to 64 entries. Each key and value is limited to 63 Unicode characters or 128 bytes, whichever is smaller. Labels and values can contain only lowercase letters, numerals, underscores, and dashes. Keys must begin with a letter.", + "type": "object" } }, "type": "object" diff --git a/googleapiclient/discovery_cache/documents/mybusinessaccountmanagement.v1.json b/googleapiclient/discovery_cache/documents/mybusinessaccountmanagement.v1.json index a9a77b34889..b5c986a3fa3 100644 --- a/googleapiclient/discovery_cache/documents/mybusinessaccountmanagement.v1.json +++ b/googleapiclient/discovery_cache/documents/mybusinessaccountmanagement.v1.json @@ -148,7 +148,7 @@ "type": "string" }, "pageSize": { - "description": "Optional. How many accounts to fetch per page. The minimum supported page_size is 2. The default and maximum is 20.", + "description": "Optional. How many accounts to fetch per page. The default and maximum is 20.", "format": "int32", "location": "query", "type": "integer" @@ -530,7 +530,7 @@ } } }, - "revision": "20220718", + "revision": "20220806", "rootUrl": "https://mybusinessaccountmanagement.googleapis.com/", "schemas": { "AcceptInvitationRequest": { @@ -659,7 +659,7 @@ "id": "Admin", "properties": { "account": { - "description": "Immutable. The name of the Account resource that this Admin refers to. Used when calling CreateAccountAdmin or CreateLocationAdmin to invite UserGroups or LocationGroups as admins, respectively. If both this field and `admin` are set on `CREATE` requests, this field takes precedence and the email address in `admin` will be ignored. Format: `accounts/{account}`.", + "description": "Immutable. The name of the Account resource that this Admin refers to. Used when calling locations.admins.create to invite a LocationGroup as an admin. If both this field and `admin` are set on `CREATE` requests, this field takes precedence and the email address in `admin` will be ignored. Format: `accounts/{account}`.", "type": "string" }, "admin": { diff --git a/googleapiclient/discovery_cache/documents/mybusinessbusinesscalls.v1.json b/googleapiclient/discovery_cache/documents/mybusinessbusinesscalls.v1.json index 9b1c41f23be..e5d188fe14e 100644 --- a/googleapiclient/discovery_cache/documents/mybusinessbusinesscalls.v1.json +++ b/googleapiclient/discovery_cache/documents/mybusinessbusinesscalls.v1.json @@ -198,7 +198,7 @@ } } }, - "revision": "20220718", + "revision": "20220806", "rootUrl": "https://mybusinessbusinesscalls.googleapis.com/", "schemas": { "AggregateMetrics": { diff --git a/googleapiclient/discovery_cache/documents/mybusinessbusinessinformation.v1.json b/googleapiclient/discovery_cache/documents/mybusinessbusinessinformation.v1.json index 8d489b80c1e..eb9046cea0f 100644 --- a/googleapiclient/discovery_cache/documents/mybusinessbusinessinformation.v1.json +++ b/googleapiclient/discovery_cache/documents/mybusinessbusinessinformation.v1.json @@ -662,7 +662,7 @@ } } }, - "revision": "20220718", + "revision": "20220806", "rootUrl": "https://mybusinessbusinessinformation.googleapis.com/", "schemas": { "AdWordsLocationExtensions": { diff --git a/googleapiclient/discovery_cache/documents/mybusinesslodging.v1.json b/googleapiclient/discovery_cache/documents/mybusinesslodging.v1.json index 138bb58eab5..288940c635c 100644 --- a/googleapiclient/discovery_cache/documents/mybusinesslodging.v1.json +++ b/googleapiclient/discovery_cache/documents/mybusinesslodging.v1.json @@ -194,7 +194,7 @@ } } }, - "revision": "20220718", + "revision": "20220806", "rootUrl": "https://mybusinesslodging.googleapis.com/", "schemas": { "Accessibility": { diff --git a/googleapiclient/discovery_cache/documents/mybusinessnotifications.v1.json b/googleapiclient/discovery_cache/documents/mybusinessnotifications.v1.json index fbc11d23f48..387441a3714 100644 --- a/googleapiclient/discovery_cache/documents/mybusinessnotifications.v1.json +++ b/googleapiclient/discovery_cache/documents/mybusinessnotifications.v1.json @@ -154,7 +154,7 @@ } } }, - "revision": "20220718", + "revision": "20220806", "rootUrl": "https://mybusinessnotifications.googleapis.com/", "schemas": { "NotificationSetting": { diff --git a/googleapiclient/discovery_cache/documents/mybusinessplaceactions.v1.json b/googleapiclient/discovery_cache/documents/mybusinessplaceactions.v1.json index 5f1e037294f..3bf22045f3a 100644 --- a/googleapiclient/discovery_cache/documents/mybusinessplaceactions.v1.json +++ b/googleapiclient/discovery_cache/documents/mybusinessplaceactions.v1.json @@ -281,7 +281,7 @@ } } }, - "revision": "20220718", + "revision": "20220806", "rootUrl": "https://mybusinessplaceactions.googleapis.com/", "schemas": { "Empty": { diff --git a/googleapiclient/discovery_cache/documents/mybusinessqanda.v1.json b/googleapiclient/discovery_cache/documents/mybusinessqanda.v1.json index 55f60f4ddcd..9fe5b34de49 100644 --- a/googleapiclient/discovery_cache/documents/mybusinessqanda.v1.json +++ b/googleapiclient/discovery_cache/documents/mybusinessqanda.v1.json @@ -323,7 +323,7 @@ } } }, - "revision": "20220718", + "revision": "20220806", "rootUrl": "https://mybusinessqanda.googleapis.com/", "schemas": { "Answer": { diff --git a/googleapiclient/discovery_cache/documents/mybusinessverifications.v1.json b/googleapiclient/discovery_cache/documents/mybusinessverifications.v1.json index 49bfa127048..99dd0082e2a 100644 --- a/googleapiclient/discovery_cache/documents/mybusinessverifications.v1.json +++ b/googleapiclient/discovery_cache/documents/mybusinessverifications.v1.json @@ -256,7 +256,7 @@ } } }, - "revision": "20220718", + "revision": "20220806", "rootUrl": "https://mybusinessverifications.googleapis.com/", "schemas": { "AddressVerificationData": { diff --git a/googleapiclient/discovery_cache/documents/networkconnectivity.v1.json b/googleapiclient/discovery_cache/documents/networkconnectivity.v1.json index a019996ea50..6d3095f9184 100644 --- a/googleapiclient/discovery_cache/documents/networkconnectivity.v1.json +++ b/googleapiclient/discovery_cache/documents/networkconnectivity.v1.json @@ -938,7 +938,7 @@ } } }, - "revision": "20220715", + "revision": "20220728", "rootUrl": "https://networkconnectivity.googleapis.com/", "schemas": { "AuditConfig": { diff --git a/googleapiclient/discovery_cache/documents/networkconnectivity.v1alpha1.json b/googleapiclient/discovery_cache/documents/networkconnectivity.v1alpha1.json index 36b27c6b016..5629a339fc0 100644 --- a/googleapiclient/discovery_cache/documents/networkconnectivity.v1alpha1.json +++ b/googleapiclient/discovery_cache/documents/networkconnectivity.v1alpha1.json @@ -1211,7 +1211,7 @@ } } }, - "revision": "20220715", + "revision": "20220728", "rootUrl": "https://networkconnectivity.googleapis.com/", "schemas": { "AuditConfig": { diff --git a/googleapiclient/discovery_cache/documents/networksecurity.v1.json b/googleapiclient/discovery_cache/documents/networksecurity.v1.json index 0b3fa7b60f3..201c33a171b 100644 --- a/googleapiclient/discovery_cache/documents/networksecurity.v1.json +++ b/googleapiclient/discovery_cache/documents/networksecurity.v1.json @@ -1037,7 +1037,7 @@ } } }, - "revision": "20220714", + "revision": "20220724", "rootUrl": "https://networksecurity.googleapis.com/", "schemas": { "AuthorizationPolicy": { diff --git a/googleapiclient/discovery_cache/documents/networksecurity.v1beta1.json b/googleapiclient/discovery_cache/documents/networksecurity.v1beta1.json index 2ae7aa68846..972b9fb5392 100644 --- a/googleapiclient/discovery_cache/documents/networksecurity.v1beta1.json +++ b/googleapiclient/discovery_cache/documents/networksecurity.v1beta1.json @@ -1037,7 +1037,7 @@ } } }, - "revision": "20220714", + "revision": "20220724", "rootUrl": "https://networksecurity.googleapis.com/", "schemas": { "AuthorizationPolicy": { diff --git a/googleapiclient/discovery_cache/documents/networkservices.v1.json b/googleapiclient/discovery_cache/documents/networkservices.v1.json index 380561a3407..a5b83079bc8 100644 --- a/googleapiclient/discovery_cache/documents/networkservices.v1.json +++ b/googleapiclient/discovery_cache/documents/networkservices.v1.json @@ -2148,7 +2148,7 @@ } } }, - "revision": "20220713", + "revision": "20220721", "rootUrl": "https://networkservices.googleapis.com/", "schemas": { "AuditConfig": { diff --git a/googleapiclient/discovery_cache/documents/networkservices.v1beta1.json b/googleapiclient/discovery_cache/documents/networkservices.v1beta1.json index 9895fd1e77f..8fb8834a6f8 100644 --- a/googleapiclient/discovery_cache/documents/networkservices.v1beta1.json +++ b/googleapiclient/discovery_cache/documents/networkservices.v1beta1.json @@ -1875,7 +1875,7 @@ } } }, - "revision": "20220713", + "revision": "20220721", "rootUrl": "https://networkservices.googleapis.com/", "schemas": { "AuditConfig": { diff --git a/googleapiclient/discovery_cache/documents/notebooks.v1.json b/googleapiclient/discovery_cache/documents/notebooks.v1.json index cec7406e77b..9e7f3636947 100644 --- a/googleapiclient/discovery_cache/documents/notebooks.v1.json +++ b/googleapiclient/discovery_cache/documents/notebooks.v1.json @@ -1411,7 +1411,7 @@ "type": "string" }, "updateMask": { - "description": "Required. Specifies the path, relative to `Runtime`, of the field to update. For example, to change the software configuration kernels, the `update_mask` parameter would be specified as `software_config.kernels`, and the `PATCH` request body would specify the new value, as follows: { \"software_config\":{ \"kernels\": [{ 'repository': 'gcr.io/deeplearning-platform-release/pytorch-gpu', 'tag': 'latest' }], } } Currently, only the following fields can be updated: - software_config.kernels - software_config.post_startup_script - software_config.custom_gpu_driver_path - software_config.idle_shutdown - software_config.idle_shutdown_timeout", + "description": "Required. Specifies the path, relative to `Runtime`, of the field to update. For example, to change the software configuration kernels, the `update_mask` parameter would be specified as `software_config.kernels`, and the `PATCH` request body would specify the new value, as follows: { \"software_config\":{ \"kernels\": [{ 'repository': 'gcr.io/deeplearning-platform-release/pytorch-gpu', 'tag': 'latest' }], } } Currently, only the following fields can be updated: - software_config.kernels - software_config.post_startup_script - software_config.custom_gpu_driver_path - software_config.idle_shutdown - software_config.idle_shutdown_timeout - software_config.disable_terminal", "format": "google-fieldmask", "location": "query", "type": "string" @@ -1820,7 +1820,7 @@ } } }, - "revision": "20220629", + "revision": "20220729", "rootUrl": "https://notebooks.googleapis.com/", "schemas": { "AcceleratorConfig": { @@ -3377,6 +3377,10 @@ "description": "Specify a custom Cloud Storage path where the GPU driver is stored. If not specified, we'll automatically choose from official GPU drivers.", "type": "string" }, + "disableTerminal": { + "description": "Bool indicating whether JupyterLab terminal will be available or not. Default: False", + "type": "boolean" + }, "enableHealthMonitoring": { "description": "Verifies core internal services are running. Default: True", "type": "boolean" @@ -4027,7 +4031,7 @@ "type": "object" }, "network": { - "description": "Optional. The Compute Engine network to be used for machine communications. Cannot be specified with subnetwork. If neither `network` nor `subnet` is specified, the \"default\" network of the project is used, if it exists. A full URL or partial URI. Examples: * `https://www.googleapis.com/compute/v1/projects/[project_id]/regions/global/default` * `projects/[project_id]/regions/global/default` Runtimes are managed resources inside Google Infrastructure. Runtimes support the following network configurations: * Google Managed Network (Network & subnet are empty) * Consumer Project VPC (network & subnet are required). Requires configuring Private Service Access. * Shared VPC (network & subnet are required). Requires configuring Private Service Access.", + "description": "Optional. The Compute Engine network to be used for machine communications. Cannot be specified with subnetwork. If neither `network` nor `subnet` is specified, the \"default\" network of the project is used, if it exists. A full URL or partial URI. Examples: * `https://www.googleapis.com/compute/v1/projects/[project_id]/global/networks/default` * `projects/[project_id]/global/networks/default` Runtimes are managed resources inside Google Infrastructure. Runtimes support the following network configurations: * Google Managed Network (Network & subnet are empty) * Consumer Project VPC (network & subnet are required). Requires configuring Private Service Access. * Shared VPC (network & subnet are required). Requires configuring Private Service Access.", "type": "string" }, "nicType": { diff --git a/googleapiclient/discovery_cache/documents/ondemandscanning.v1.json b/googleapiclient/discovery_cache/documents/ondemandscanning.v1.json index 157f6b7bb21..1894f29118a 100644 --- a/googleapiclient/discovery_cache/documents/ondemandscanning.v1.json +++ b/googleapiclient/discovery_cache/documents/ondemandscanning.v1.json @@ -339,7 +339,7 @@ } } }, - "revision": "20220716", + "revision": "20220730", "rootUrl": "https://ondemandscanning.googleapis.com/", "schemas": { "AliasContext": { @@ -956,8 +956,8 @@ "ANALYSIS_STATUS_UNSPECIFIED", "PENDING", "SCANNING", - "FINISHED_SUCCESS", "COMPLETE", + "FINISHED_SUCCESS", "FINISHED_FAILED", "FINISHED_UNSUPPORTED" ], @@ -965,8 +965,8 @@ "Unknown.", "Resource is known but no action has been taken yet.", "Resource is being analyzed.", - "Analysis has finished successfully.", "Analysis has completed", + "Analysis has finished successfully.", "Analysis has finished unsuccessfully, the analysis itself is in a bad state.", "The resource is known not to be supported." ], diff --git a/googleapiclient/discovery_cache/documents/ondemandscanning.v1beta1.json b/googleapiclient/discovery_cache/documents/ondemandscanning.v1beta1.json index b3d33388f9f..11e2a348d8d 100644 --- a/googleapiclient/discovery_cache/documents/ondemandscanning.v1beta1.json +++ b/googleapiclient/discovery_cache/documents/ondemandscanning.v1beta1.json @@ -339,7 +339,7 @@ } } }, - "revision": "20220716", + "revision": "20220730", "rootUrl": "https://ondemandscanning.googleapis.com/", "schemas": { "AliasContext": { @@ -952,8 +952,8 @@ "ANALYSIS_STATUS_UNSPECIFIED", "PENDING", "SCANNING", - "FINISHED_SUCCESS", "COMPLETE", + "FINISHED_SUCCESS", "FINISHED_FAILED", "FINISHED_UNSUPPORTED" ], @@ -961,8 +961,8 @@ "Unknown.", "Resource is known but no action has been taken yet.", "Resource is being analyzed.", - "Analysis has finished successfully.", "Analysis has completed", + "Analysis has finished successfully.", "Analysis has finished unsuccessfully, the analysis itself is in a bad state.", "The resource is known not to be supported." ], diff --git a/googleapiclient/discovery_cache/documents/orgpolicy.v2.json b/googleapiclient/discovery_cache/documents/orgpolicy.v2.json index ff6c941a9f4..81ff98043fa 100644 --- a/googleapiclient/discovery_cache/documents/orgpolicy.v2.json +++ b/googleapiclient/discovery_cache/documents/orgpolicy.v2.json @@ -751,7 +751,7 @@ } } }, - "revision": "20220722", + "revision": "20220806", "rootUrl": "https://orgpolicy.googleapis.com/", "schemas": { "GoogleCloudOrgpolicyV2AlternatePolicySpec": { diff --git a/googleapiclient/discovery_cache/documents/osconfig.v1.json b/googleapiclient/discovery_cache/documents/osconfig.v1.json index 651528eada2..5c792c484e0 100644 --- a/googleapiclient/discovery_cache/documents/osconfig.v1.json +++ b/googleapiclient/discovery_cache/documents/osconfig.v1.json @@ -1000,7 +1000,7 @@ } } }, - "revision": "20220703", + "revision": "20220718", "rootUrl": "https://osconfig.googleapis.com/", "schemas": { "AptSettings": { diff --git a/googleapiclient/discovery_cache/documents/osconfig.v1alpha.json b/googleapiclient/discovery_cache/documents/osconfig.v1alpha.json index 9f14c1d2f7e..85b7b2d3776 100644 --- a/googleapiclient/discovery_cache/documents/osconfig.v1alpha.json +++ b/googleapiclient/discovery_cache/documents/osconfig.v1alpha.json @@ -684,7 +684,7 @@ } } }, - "revision": "20220703", + "revision": "20220718", "rootUrl": "https://osconfig.googleapis.com/", "schemas": { "CVSSv3": { diff --git a/googleapiclient/discovery_cache/documents/osconfig.v1beta.json b/googleapiclient/discovery_cache/documents/osconfig.v1beta.json index e898d986099..a2efedf4c07 100644 --- a/googleapiclient/discovery_cache/documents/osconfig.v1beta.json +++ b/googleapiclient/discovery_cache/documents/osconfig.v1beta.json @@ -689,7 +689,7 @@ } } }, - "revision": "20220703", + "revision": "20220718", "rootUrl": "https://osconfig.googleapis.com/", "schemas": { "AptRepository": { diff --git a/googleapiclient/discovery_cache/documents/oslogin.v1.json b/googleapiclient/discovery_cache/documents/oslogin.v1.json index edd832fe624..69f75680883 100644 --- a/googleapiclient/discovery_cache/documents/oslogin.v1.json +++ b/googleapiclient/discovery_cache/documents/oslogin.v1.json @@ -343,7 +343,7 @@ } } }, - "revision": "20220716", + "revision": "20220730", "rootUrl": "https://oslogin.googleapis.com/", "schemas": { "Empty": { diff --git a/googleapiclient/discovery_cache/documents/oslogin.v1alpha.json b/googleapiclient/discovery_cache/documents/oslogin.v1alpha.json index 923b2c1bc90..63976ae702f 100644 --- a/googleapiclient/discovery_cache/documents/oslogin.v1alpha.json +++ b/googleapiclient/discovery_cache/documents/oslogin.v1alpha.json @@ -403,7 +403,7 @@ } } }, - "revision": "20220716", + "revision": "20220730", "rootUrl": "https://oslogin.googleapis.com/", "schemas": { "Empty": { diff --git a/googleapiclient/discovery_cache/documents/oslogin.v1beta.json b/googleapiclient/discovery_cache/documents/oslogin.v1beta.json index e7098b7b79f..a5922d5d266 100644 --- a/googleapiclient/discovery_cache/documents/oslogin.v1beta.json +++ b/googleapiclient/discovery_cache/documents/oslogin.v1beta.json @@ -373,7 +373,7 @@ } } }, - "revision": "20220716", + "revision": "20220730", "rootUrl": "https://oslogin.googleapis.com/", "schemas": { "Empty": { diff --git a/googleapiclient/discovery_cache/documents/pagespeedonline.v5.json b/googleapiclient/discovery_cache/documents/pagespeedonline.v5.json index d84e7364588..0f754377fb1 100644 --- a/googleapiclient/discovery_cache/documents/pagespeedonline.v5.json +++ b/googleapiclient/discovery_cache/documents/pagespeedonline.v5.json @@ -193,7 +193,7 @@ } } }, - "revision": "20220719", + "revision": "20220805", "rootUrl": "https://pagespeedonline.googleapis.com/", "schemas": { "AuditRefs": { diff --git a/googleapiclient/discovery_cache/documents/paymentsresellersubscription.v1.json b/googleapiclient/discovery_cache/documents/paymentsresellersubscription.v1.json index 100fcd2113f..9cb8ab43257 100644 --- a/googleapiclient/discovery_cache/documents/paymentsresellersubscription.v1.json +++ b/googleapiclient/discovery_cache/documents/paymentsresellersubscription.v1.json @@ -396,7 +396,7 @@ } } }, - "revision": "20220724", + "revision": "20220807", "rootUrl": "https://paymentsresellersubscription.googleapis.com/", "schemas": { "GoogleCloudPaymentsResellerSubscriptionV1CancelSubscriptionRequest": { diff --git a/googleapiclient/discovery_cache/documents/people.v1.json b/googleapiclient/discovery_cache/documents/people.v1.json index 0c29beb8b9a..d1a049b014b 100644 --- a/googleapiclient/discovery_cache/documents/people.v1.json +++ b/googleapiclient/discovery_cache/documents/people.v1.json @@ -1172,7 +1172,7 @@ } } }, - "revision": "20220721", + "revision": "20220804", "rootUrl": "https://people.googleapis.com/", "schemas": { "Address": { diff --git a/googleapiclient/discovery_cache/documents/playcustomapp.v1.json b/googleapiclient/discovery_cache/documents/playcustomapp.v1.json index a7f18666751..55229684267 100644 --- a/googleapiclient/discovery_cache/documents/playcustomapp.v1.json +++ b/googleapiclient/discovery_cache/documents/playcustomapp.v1.json @@ -158,7 +158,7 @@ } } }, - "revision": "20220722", + "revision": "20220806", "rootUrl": "https://playcustomapp.googleapis.com/", "schemas": { "CustomApp": { diff --git a/googleapiclient/discovery_cache/documents/playdeveloperreporting.v1alpha1.json b/googleapiclient/discovery_cache/documents/playdeveloperreporting.v1alpha1.json index cfd46b41a5f..b8dc55f476e 100644 --- a/googleapiclient/discovery_cache/documents/playdeveloperreporting.v1alpha1.json +++ b/googleapiclient/discovery_cache/documents/playdeveloperreporting.v1alpha1.json @@ -718,7 +718,7 @@ } } }, - "revision": "20220722", + "revision": "20220806", "rootUrl": "https://playdeveloperreporting.googleapis.com/", "schemas": { "GooglePlayDeveloperReportingV1alpha1Anomaly": { @@ -752,7 +752,7 @@ "type": "object" }, "GooglePlayDeveloperReportingV1alpha1AnrRateMetricSet": { - "description": "Singleton resource representing the set of ANR (Application not responding) metrics. This metric set contains ANRs data combined with usage data to produce a normalized metric independent of user counts. **Supported aggregation periods:** * DAILY: metrics are aggregated in calendar date intervals. Due to historical constraints, the only supported timezone is `America/Los_Angeles`. **Supported metrics:** * `anrRate` (`google.type.Decimal`): Percentage of distinct users in the aggregation period that experienced at least one ANR. If your app exhibits an ANR rate equal to or higher than the threshold, it's in the bottom 25% of the top 1,000 apps on Google Play (by number of installs). * `anrRate7dUserWeighted` (`google.type.Decimal`): Rolling average value of `anrRate` in the last 7 days. The daily values are weighted by the count of distinct users for the day. * `anrRate28dUserWeighted` (`google.type.Decimal`): Rolling average value of `anrRate` in the last 28 days. The daily values are weighted by the count of distinct users for the day. * `distinctUsers` (`google.type.Decimal`): Count of distinct users in the aggregation period that were used as normalization value for the `anrRate` metric. A user is counted in this metric if they used the app in the foreground during the aggregation period. Care must be taken not to aggregate this count further, as it may result in users being counted multiple times. **Supported dimensions:** * `apiLevel` (string): the API level of Android that was running on the user's device. * `versionCode` (int64): version of the app that was running on the user's device. * `deviceModel` (string): unique identifier of the user's device model. * `deviceType` (string): the type (also known as form factor) of the user's device. * `countryCode` (string): the country or region of the user's device based on their IP address, represented as a 2-letter ISO-3166 code (e.g. US for the United States). **Required permissions**: to access this resource, the calling user needs the _View app information (read-only)_ permission for the app. **Related metric sets:** * vitals.errors contains unnormalized version (absolute counts) of crashes. * vitals.errors contains normalized metrics about crashes, another stability metric.", + "description": "Singleton resource representing the set of ANR (Application not responding) metrics. This metric set contains ANRs data combined with usage data to produce a normalized metric independent of user counts. **Supported aggregation periods:** * DAILY: metrics are aggregated in calendar date intervals. Due to historical constraints, the only supported timezone is `America/Los_Angeles`. **Supported metrics:** * `anrRate` (`google.type.Decimal`): Percentage of distinct users in the aggregation period that experienced at least one ANR. If your app exhibits an ANR rate equal to or higher than the threshold, it's in the bottom 25% of the top 1,000 apps on Google Play (by number of installs). * `anrRate7dUserWeighted` (`google.type.Decimal`): Rolling average value of `anrRate` in the last 7 days. The daily values are weighted by the count of distinct users for the day. * `anrRate28dUserWeighted` (`google.type.Decimal`): Rolling average value of `anrRate` in the last 28 days. The daily values are weighted by the count of distinct users for the day. * `distinctUsers` (`google.type.Decimal`): Count of distinct users in the aggregation period that were used as normalization value for the `anrRate` metric. A user is counted in this metric if they used the app in the foreground during the aggregation period. Care must be taken not to aggregate this count further, as it may result in users being counted multiple times. **Supported dimensions:** * `apiLevel` (string): the API level of Android that was running on the user's device. * `versionCode` (int64): version of the app that was running on the user's device. * `deviceModel` (string): unique identifier of the user's device model. * `deviceType` (string): the type (also known as form factor) of the user's device. * `countryCode` (string): the country or region of the user's device based on their IP address, represented as a 2-letter ISO-3166 code (e.g. US for the United States). * `deviceRamBucket` (int64): RAM of the device, in MB, in buckets (3GB, 4GB, etc.). * `deviceSocMake` (string): Make of the device's primary system-on-chip, e.g., Samsung. [Reference](https://developer.android.com/reference/android/os/Build#SOC_MANUFACTURER) * `deviceSocModel` (string): Model of the device's primary system-on-chip, e.g., \"Exynos 2100\". [Reference](https://developer.android.com/reference/android/os/Build#SOC_MODEL) * `deviceCpuMake` (string): Make of the device's CPU, e.g., Qualcomm. * `deviceCpuModel` (string): Model of the device's CPU, e.g., \"Kryo 240\". * `deviceGpuMake` (string): Make of the device's GPU, e.g., ARM. * `deviceGpuModel` (string): Model of the device's GPU, e.g., Mali. * `deviceGpuVersion` (string): Version of the device's GPU, e.g., T750. * `deviceVulkanVersion` (string): Vulkan version of the device, e.g., \"4198400\". * `deviceGlEsVersion` (string): OpenGL ES version of the device, e.g., \"196610\". * `deviceScreenSize` (string): Screen size of the device, e.g., NORMAL, LARGE. * `deviceScreenDpi` (string): Screen density of the device, e.g., mdpi, hdpi. **Required permissions**: to access this resource, the calling user needs the _View app information (read-only)_ permission for the app. **Related metric sets:** * vitals.errors contains unnormalized version (absolute counts) of crashes. * vitals.errors contains normalized metrics about crashes, another stability metric.", "id": "GooglePlayDeveloperReportingV1alpha1AnrRateMetricSet", "properties": { "freshnessInfo": { @@ -767,7 +767,7 @@ "type": "object" }, "GooglePlayDeveloperReportingV1alpha1CrashRateMetricSet": { - "description": "Singleton resource representing the set of crashrate metrics. This metric set contains crashes data combined with usage data to produce a normalized metric independent of user counts. **Supported aggregation periods:** * DAILY: metrics are aggregated in calendar date intervals. Due to historical constraints, the only supported timezone is `America/Los_Angeles`. **Supported metrics:** * `crashRate` (`google.type.Decimal`): Percentage of distinct users in the aggregation period that experienced at least one crash. If your app exhibits a crash rate equal to or higher than the threshold, it's in the bottom 25% of the top 1,000 apps on Google Play (by number of installs). * `crashRate7dUserWeighted` (`google.type.Decimal`): Rolling average value of `crashRate` in the last 7 days. The daily values are weighted by the count of distinct users for the day. * `crashRate28dUserWeighted` (`google.type.Decimal`): Rolling average value of `crashRate` in the last 28 days. The daily values are weighted by the count of distinct users for the day. * `distinctUsers` (`google.type.Decimal`): Count of distinct users in the aggregation period that were used as normalization value for the `crashRate` metric. A user is counted in this metric if they used the app in the foreground during the aggregation period. Care must be taken not to aggregate this count further, as it may result in users being counted multiple times. **Supported dimensions:** * `apiLevel` (string): the API level of Android that was running on the user's device. * `versionCode` (int64): version of the app that was running on the user's device. * `deviceModel` (string): unique identifier of the user's device model. * `deviceType` (string): the type (also known as form factor) of the user's device. * `countryCode` (string): the country or region of the user's device based on their IP address, represented as a 2-letter ISO-3166 code (e.g. US for the United States). **Required permissions**: to access this resource, the calling user needs the _View app information (read-only)_ permission for the app. **Related metric sets:** * vitals.errors contains unnormalized version (absolute counts) of crashes. * vitals.errors contains normalized metrics about ANRs, another stability metric.", + "description": "Singleton resource representing the set of crashrate metrics. This metric set contains crashes data combined with usage data to produce a normalized metric independent of user counts. **Supported aggregation periods:** * DAILY: metrics are aggregated in calendar date intervals. Due to historical constraints, the only supported timezone is `America/Los_Angeles`. **Supported metrics:** * `crashRate` (`google.type.Decimal`): Percentage of distinct users in the aggregation period that experienced at least one crash. If your app exhibits a crash rate equal to or higher than the threshold, it's in the bottom 25% of the top 1,000 apps on Google Play (by number of installs). * `crashRate7dUserWeighted` (`google.type.Decimal`): Rolling average value of `crashRate` in the last 7 days. The daily values are weighted by the count of distinct users for the day. * `crashRate28dUserWeighted` (`google.type.Decimal`): Rolling average value of `crashRate` in the last 28 days. The daily values are weighted by the count of distinct users for the day. * `distinctUsers` (`google.type.Decimal`): Count of distinct users in the aggregation period that were used as normalization value for the `crashRate` metric. A user is counted in this metric if they used the app in the foreground during the aggregation period. Care must be taken not to aggregate this count further, as it may result in users being counted multiple times. **Supported dimensions:** * `apiLevel` (string): the API level of Android that was running on the user's device. * `versionCode` (int64): version of the app that was running on the user's device. * `deviceModel` (string): unique identifier of the user's device model. * `deviceType` (string): the type (also known as form factor) of the user's device. * `countryCode` (string): the country or region of the user's device based on their IP address, represented as a 2-letter ISO-3166 code (e.g. US for the United States). * `deviceRamBucket` (int64): RAM of the device, in MB, in buckets (3GB, 4GB, etc.). * `deviceSocMake` (string): Make of the device's primary system-on-chip, e.g., Samsung. [Reference](https://developer.android.com/reference/android/os/Build#SOC_MANUFACTURER) * `deviceSocModel` (string): Model of the device's primary system-on-chip, e.g., \"Exynos 2100\". [Reference](https://developer.android.com/reference/android/os/Build#SOC_MODEL) * `deviceCpuMake` (string): Make of the device's CPU, e.g., Qualcomm. * `deviceCpuModel` (string): Model of the device's CPU, e.g., \"Kryo 240\". * `deviceGpuMake` (string): Make of the device's GPU, e.g., ARM. * `deviceGpuModel` (string): Model of the device's GPU, e.g., Mali. * `deviceGpuVersion` (string): Version of the device's GPU, e.g., T750. * `deviceVulkanVersion` (string): Vulkan version of the device, e.g., \"4198400\". * `deviceGlEsVersion` (string): OpenGL ES version of the device, e.g., \"196610\". * `deviceScreenSize` (string): Screen size of the device, e.g., NORMAL, LARGE. * `deviceScreenDpi` (string): Screen density of the device, e.g., mdpi, hdpi. **Required permissions**: to access this resource, the calling user needs the _View app information (read-only)_ permission for the app. **Related metric sets:** * vitals.errors contains unnormalized version (absolute counts) of crashes. * vitals.errors contains normalized metrics about ANRs, another stability metric.", "id": "GooglePlayDeveloperReportingV1alpha1CrashRateMetricSet", "properties": { "freshnessInfo": { @@ -806,7 +806,7 @@ "type": "object" }, "GooglePlayDeveloperReportingV1alpha1ErrorCountMetricSet": { - "description": "Singleton resource representing the set of error report metrics. This metric set contains un-normalized error report counts. **Supported aggregation periods:** * DAILY: metrics are aggregated in calendar date intervals. The default and only supported timezone is `America/Los_Angeles`. **Supported metrics:** * `errorReportCount` (`google.type.Decimal`): Absolute count of individual error reports that have been received for an app. * `distinctUsers` (`google.type.Decimal`): Count of distinct users for which reports have been received. Care must be taken not to aggregate this count further, as it may result in users being counted multiple times. **Required dimension:** This dimension must be always specified in all requests in the `dimensions` field in query requests. * `reportType` (string): the type of error. The value should correspond to one of the possible values in ErrorType. **Supported dimensions:** * `apiLevel` (string): the API level of Android that was running on the user's device. * `versionCode` (int64): version of the app that was running on the user's device. * `deviceModel` (string): unique identifier of the user's device model. * `deviceType` (string): identifier of the device's form factor, e.g., PHONE. * `issueId` (string): the id an error was assigned to. The value should correspond to the `{issue}` component of the issue name. **Required permissions**: to access this resource, the calling user needs the _View app information (read-only)_ permission for the app. **Related metric sets:** * vitals.errors.counts contains normalized metrics about Crashes, another stability metric. * vitals.errors.counts contains normalized metrics about ANRs, another stability metric.", + "description": "Singleton resource representing the set of error report metrics. This metric set contains un-normalized error report counts. **Supported aggregation periods:** * DAILY: metrics are aggregated in calendar date intervals. The default and only supported timezone is `America/Los_Angeles`. **Supported metrics:** * `errorReportCount` (`google.type.Decimal`): Absolute count of individual error reports that have been received for an app. * `distinctUsers` (`google.type.Decimal`): Count of distinct users for which reports have been received. Care must be taken not to aggregate this count further, as it may result in users being counted multiple times. **Required dimension:** This dimension must be always specified in all requests in the `dimensions` field in query requests. * `reportType` (string): the type of error. The value should correspond to one of the possible values in ErrorType. **Supported dimensions:** * `apiLevel` (string): the API level of Android that was running on the user's device. * `versionCode` (int64): version of the app that was running on the user's device. * `deviceModel` (string): unique identifier of the user's device model. * `deviceType` (string): identifier of the device's form factor, e.g., PHONE. * `issueId` (string): the id an error was assigned to. The value should correspond to the `{issue}` component of the issue name. * `deviceRamBucket` (int64): RAM of the device, in MB, in buckets (3GB, 4GB, etc.). * `deviceSocMake` (string): Make of the device's primary system-on-chip, e.g., Samsung. [Reference](https://developer.android.com/reference/android/os/Build#SOC_MANUFACTURER) * `deviceSocModel` (string): Model of the device's primary system-on-chip, e.g., \"Exynos 2100\". [Reference](https://developer.android.com/reference/android/os/Build#SOC_MODEL) * `deviceCpuMake` (string): Make of the device's CPU, e.g., Qualcomm. * `deviceCpuModel` (string): Model of the device's CPU, e.g., \"Kryo 240\". * `deviceGpuMake` (string): Make of the device's GPU, e.g., ARM. * `deviceGpuModel` (string): Model of the device's GPU, e.g., Mali. * `deviceGpuVersion` (string): Version of the device's GPU, e.g., T750. * `deviceVulkanVersion` (string): Vulkan version of the device, e.g., \"4198400\". * `deviceGlEsVersion` (string): OpenGL ES version of the device, e.g., \"196610\". * `deviceScreenSize` (string): Screen size of the device, e.g., NORMAL, LARGE. * `deviceScreenDpi` (string): Screen density of the device, e.g., mdpi, hdpi. **Required permissions**: to access this resource, the calling user needs the _View app information (read-only)_ permission for the app. **Related metric sets:** * vitals.errors.counts contains normalized metrics about Crashes, another stability metric. * vitals.errors.counts contains normalized metrics about ANRs, another stability metric.", "id": "GooglePlayDeveloperReportingV1alpha1ErrorCountMetricSet", "properties": { "freshnessInfo": { @@ -887,7 +887,7 @@ "type": "object" }, "GooglePlayDeveloperReportingV1alpha1ExcessiveWakeupRateMetricSet": { - "description": "Singleton resource representing the set of Excessive Weakeups metrics. This metric set contains AlarmManager wakeup counts data combined with process state data to produce a normalized metric independent of user counts. **Supported aggregation periods:** * DAILY: metrics are aggregated in calendar date intervals. Due to historical constraints, the only supported timezone is `America/Los_Angeles`. **Supported metrics:** * `excessiveWakeupRate` (`google.type.Decimal`): Percentage of distinct users in the aggregation period that had more than 10 wakeups per hour. If your app exhibits an excessive wakeup rate equal to or higher than the threshold, it's in the bottom 25% of the top 1,000 apps on Google Play (by number of installs). * `excessiveWakeupRate7dUserWeighted` (`google.type.Decimal`): Rolling average value of `excessiveWakeupRate` in the last 7 days. The daily values are weighted by the count of distinct users for the day. * `excessiveWakeupRate28dUserWeighted` (`google.type.Decimal`): Rolling average value of `excessiveWakeupRate` in the last 28 days. The daily values are weighted by the count of distinct users for the day. * `distinctUsers` (`google.type.Decimal`): Count of distinct users in the aggregation period that were used as normalization value for the `excessiveWakeupRate` metric. A user is counted in this metric if they app was doing any work on the device, i.e., not just active foreground usage but also background work. Care must be taken not to aggregate this count further, as it may result in users being counted multiple times. **Supported dimensions:** * `apiLevel` (string): the API level of Android that was running on the user's device. * `versionCode` (int64): version of the app that was running on the user's device. * `deviceModel` (string): unique identifier of the user's device model. * `deviceType` (string): the type (also known as form factor) of the user's device. * `countryCode` (string): the country or region of the user's device based on their IP address, represented as a 2-letter ISO-3166 code (e.g. US for the United States). **Required permissions**: to access this resource, the calling user needs the _View app information (read-only)_ permission for the app.", + "description": "Singleton resource representing the set of Excessive Weakeups metrics. This metric set contains AlarmManager wakeup counts data combined with process state data to produce a normalized metric independent of user counts. **Supported aggregation periods:** * DAILY: metrics are aggregated in calendar date intervals. Due to historical constraints, the only supported timezone is `America/Los_Angeles`. **Supported metrics:** * `excessiveWakeupRate` (`google.type.Decimal`): Percentage of distinct users in the aggregation period that had more than 10 wakeups per hour. If your app exhibits an excessive wakeup rate equal to or higher than the threshold, it's in the bottom 25% of the top 1,000 apps on Google Play (by number of installs). * `excessiveWakeupRate7dUserWeighted` (`google.type.Decimal`): Rolling average value of `excessiveWakeupRate` in the last 7 days. The daily values are weighted by the count of distinct users for the day. * `excessiveWakeupRate28dUserWeighted` (`google.type.Decimal`): Rolling average value of `excessiveWakeupRate` in the last 28 days. The daily values are weighted by the count of distinct users for the day. * `distinctUsers` (`google.type.Decimal`): Count of distinct users in the aggregation period that were used as normalization value for the `excessiveWakeupRate` metric. A user is counted in this metric if they app was doing any work on the device, i.e., not just active foreground usage but also background work. Care must be taken not to aggregate this count further, as it may result in users being counted multiple times. **Supported dimensions:** * `apiLevel` (string): the API level of Android that was running on the user's device. * `versionCode` (int64): version of the app that was running on the user's device. * `deviceModel` (string): unique identifier of the user's device model. * `deviceType` (string): the type (also known as form factor) of the user's device. * `countryCode` (string): the country or region of the user's device based on their IP address, represented as a 2-letter ISO-3166 code (e.g. US for the United States). * `deviceRamBucket` (int64): RAM of the device, in MB, in buckets (3GB, 4GB, etc.). * `deviceSocMake` (string): Make of the device's primary system-on-chip, e.g., Samsung. [Reference](https://developer.android.com/reference/android/os/Build#SOC_MANUFACTURER) * `deviceSocModel` (string): Model of the device's primary system-on-chip, e.g., \"Exynos 2100\". [Reference](https://developer.android.com/reference/android/os/Build#SOC_MODEL) * `deviceCpuMake` (string): Make of the device's CPU, e.g., Qualcomm. * `deviceCpuModel` (string): Model of the device's CPU, e.g., \"Kryo 240\". * `deviceGpuMake` (string): Make of the device's GPU, e.g., ARM. * `deviceGpuModel` (string): Model of the device's GPU, e.g., Mali. * `deviceGpuVersion` (string): Version of the device's GPU, e.g., T750. * `deviceVulkanVersion` (string): Vulkan version of the device, e.g., \"4198400\". * `deviceGlEsVersion` (string): OpenGL ES version of the device, e.g., \"196610\". * `deviceScreenSize` (string): Screen size of the device, e.g., NORMAL, LARGE. * `deviceScreenDpi` (string): Screen density of the device, e.g., mdpi, hdpi. **Required permissions**: to access this resource, the calling user needs the _View app information (read-only)_ permission for the app.", "id": "GooglePlayDeveloperReportingV1alpha1ExcessiveWakeupRateMetricSet", "properties": { "freshnessInfo": { @@ -1017,7 +1017,7 @@ "id": "GooglePlayDeveloperReportingV1alpha1QueryAnrRateMetricSetRequest", "properties": { "dimensions": { - "description": "Dimensions to slice the metrics by. **Supported dimensions:** * `apiLevel` (string): the API level of Android that was running on the user's device. * `versionCode` (int64): version of the app that was running on the user's device. * `deviceModel` (string): unique identifier of the user's device model. * `deviceType` (string): the type (also known as form factor) of the user's device. * `countryCode` (string): the country or region of the user's device based on their IP address, represented as a 2-letter ISO-3166 code (e.g. US for the United States).", + "description": "Dimensions to slice the metrics by. **Supported dimensions:** * `apiLevel` (string): the API level of Android that was running on the user's device. * `versionCode` (int64): version of the app that was running on the user's device. * `deviceModel` (string): unique identifier of the user's device model. * `deviceType` (string): the type (also known as form factor) of the user's device. * `countryCode` (string): the country or region of the user's device based on their IP address, represented as a 2-letter ISO-3166 code (e.g. US for the United States). * `deviceRamBucket` (int64): RAM of the device, in MB, in buckets (3GB, 4GB, etc.). * `deviceSocMake` (string): Make of the device's primary system-on-chip, e.g., Samsung. [Reference](https://developer.android.com/reference/android/os/Build#SOC_MANUFACTURER) * `deviceSocModel` (string): Model of the device's primary system-on-chip, e.g., \"Exynos 2100\". [Reference](https://developer.android.com/reference/android/os/Build#SOC_MODEL) * `deviceCpuMake` (string): Make of the device's CPU, e.g., Qualcomm. * `deviceCpuModel` (string): Model of the device's CPU, e.g., \"Kryo 240\". * `deviceGpuMake` (string): Make of the device's GPU, e.g., ARM. * `deviceGpuModel` (string): Model of the device's GPU, e.g., Mali. * `deviceGpuVersion` (string): Version of the device's GPU, e.g., T750. * `deviceVulkanVersion` (string): Vulkan version of the device, e.g., \"4198400\". * `deviceGlEsVersion` (string): OpenGL ES version of the device, e.g., \"196610\". * `deviceScreenSize` (string): Screen size of the device, e.g., NORMAL, LARGE. * `deviceScreenDpi` (string): Screen density of the device, e.g., mdpi, hdpi.", "items": { "type": "string" }, @@ -1073,7 +1073,7 @@ "id": "GooglePlayDeveloperReportingV1alpha1QueryCrashRateMetricSetRequest", "properties": { "dimensions": { - "description": "Dimensions to slice the metrics by. **Supported dimensions:** * `apiLevel` (string): the API level of Android that was running on the user's device. * `versionCode` (int64): version of the app that was running on the user's device. * `deviceModel` (string): unique identifier of the user's device model. * `deviceType` (string): the type (also known as form factor) of the user's device. * `countryCode` (string): the country or region of the user's device based on their IP address, represented as a 2-letter ISO-3166 code (e.g. US for the United States).", + "description": "Dimensions to slice the metrics by. **Supported dimensions:** * `apiLevel` (string): the API level of Android that was running on the user's device. * `versionCode` (int64): version of the app that was running on the user's device. * `deviceModel` (string): unique identifier of the user's device model. * `deviceType` (string): the type (also known as form factor) of the user's device. * `countryCode` (string): the country or region of the user's device based on their IP address, represented as a 2-letter ISO-3166 code (e.g. US for the United States). * `deviceRamBucket` (int64): RAM of the device, in MB, in buckets (3GB, 4GB, etc.). * `deviceSocMake` (string): Make of the device's primary system-on-chip, e.g., Samsung. [Reference](https://developer.android.com/reference/android/os/Build#SOC_MANUFACTURER) * `deviceSocModel` (string): Model of the device's primary system-on-chip, e.g., \"Exynos 2100\". [Reference](https://developer.android.com/reference/android/os/Build#SOC_MODEL) * `deviceCpuMake` (string): Make of the device's CPU, e.g., Qualcomm. * `deviceCpuModel` (string): Model of the device's CPU, e.g., \"Kryo 240\". * `deviceGpuMake` (string): Make of the device's GPU, e.g., ARM. * `deviceGpuModel` (string): Model of the device's GPU, e.g., Mali. * `deviceGpuVersion` (string): Version of the device's GPU, e.g., T750. * `deviceVulkanVersion` (string): Vulkan version of the device, e.g., \"4198400\". * `deviceGlEsVersion` (string): OpenGL ES version of the device, e.g., \"196610\". * `deviceScreenSize` (string): Screen size of the device, e.g., NORMAL, LARGE. * `deviceScreenDpi` (string): Screen density of the device, e.g., mdpi, hdpi.", "items": { "type": "string" }, @@ -1129,7 +1129,7 @@ "id": "GooglePlayDeveloperReportingV1alpha1QueryErrorCountMetricSetRequest", "properties": { "dimensions": { - "description": "Dimensions to slice the data by. **Supported dimensions:** * `apiLevel` (string): the API level of Android that was running on the user's device. * `versionCode` (int64): version of the app that was running on the user's device. * `deviceModel` (string): unique identifier of the user's device model. * `deviceType` (string): identifier of the device's form factor, e.g., PHONE. * `reportType` (string): the type of error. The value should correspond to one of the possible values in ErrorType. * `issueId` (string): the id an error was assigned to. The value should correspond to the `{issue}` component of the issue name.", + "description": "Dimensions to slice the data by. **Supported dimensions:** * `apiLevel` (string): the API level of Android that was running on the user's device. * `versionCode` (int64): version of the app that was running on the user's device. * `deviceModel` (string): unique identifier of the user's device model. * `deviceType` (string): identifier of the device's form factor, e.g., PHONE. * `reportType` (string): the type of error. The value should correspond to one of the possible values in ErrorType. * `issueId` (string): the id an error was assigned to. The value should correspond to the `{issue}` component of the issue name. * `deviceRamBucket` (int64): RAM of the device, in MB, in buckets (3GB, 4GB, etc.). * `deviceSocMake` (string): Make of the device's primary system-on-chip, e.g., Samsung. [Reference](https://developer.android.com/reference/android/os/Build#SOC_MANUFACTURER) * `deviceSocModel` (string): Model of the device's primary system-on-chip, e.g., \"Exynos 2100\". [Reference](https://developer.android.com/reference/android/os/Build#SOC_MODEL) * `deviceCpuMake` (string): Make of the device's CPU, e.g., Qualcomm. * `deviceCpuModel` (string): Model of the device's CPU, e.g., \"Kryo 240\". * `deviceGpuMake` (string): Make of the device's GPU, e.g., ARM. * `deviceGpuModel` (string): Model of the device's GPU, e.g., Mali. * `deviceGpuVersion` (string): Version of the device's GPU, e.g., T750. * `deviceVulkanVersion` (string): Vulkan version of the device, e.g., \"4198400\". * `deviceGlEsVersion` (string): OpenGL ES version of the device, e.g., \"196610\". * `deviceScreenSize` (string): Screen size of the device, e.g., NORMAL, LARGE. * `deviceScreenDpi` (string): Screen density of the device, e.g., mdpi, hdpi.", "items": { "type": "string" }, @@ -1185,7 +1185,7 @@ "id": "GooglePlayDeveloperReportingV1alpha1QueryExcessiveWakeupRateMetricSetRequest", "properties": { "dimensions": { - "description": "Dimensions to slice the data by. **Supported dimensions:** * `apiLevel` (string): the API level of Android that was running on the user's device. * `versionCode` (int64): version of the app that was running on the user's device. * `deviceModel` (string): unique identifier of the user's device model. * `deviceType` (string): the type (also known as form factor) of the user's device. * `countryCode` (string): the country or region of the user's device based on their IP address, represented as a 2-letter ISO-3166 code (e.g. US for the United States).", + "description": "Dimensions to slice the data by. **Supported dimensions:** * `apiLevel` (string): the API level of Android that was running on the user's device. * `versionCode` (int64): version of the app that was running on the user's device. * `deviceModel` (string): unique identifier of the user's device model. * `deviceType` (string): the type (also known as form factor) of the user's device. * `countryCode` (string): the country or region of the user's device based on their IP address, represented as a 2-letter ISO-3166 code (e.g. US for the United States). * `deviceRamBucket` (int64): RAM of the device, in MB, in buckets (3GB, 4GB, etc.). * `deviceSocMake` (string): Make of the device's primary system-on-chip, e.g., Samsung. [Reference](https://developer.android.com/reference/android/os/Build#SOC_MANUFACTURER) * `deviceSocModel` (string): Model of the device's primary system-on-chip, e.g., \"Exynos 2100\". [Reference](https://developer.android.com/reference/android/os/Build#SOC_MODEL) * `deviceCpuMake` (string): Make of the device's CPU, e.g., Qualcomm. * `deviceCpuModel` (string): Model of the device's CPU, e.g., \"Kryo 240\". * `deviceGpuMake` (string): Make of the device's GPU, e.g., ARM. * `deviceGpuModel` (string): Model of the device's GPU, e.g., Mali. * `deviceGpuVersion` (string): Version of the device's GPU, e.g., T750. * `deviceVulkanVersion` (string): Vulkan version of the device, e.g., \"4198400\". * `deviceGlEsVersion` (string): OpenGL ES version of the device, e.g., \"196610\". * `deviceScreenSize` (string): Screen size of the device, e.g., NORMAL, LARGE. * `deviceScreenDpi` (string): Screen density of the device, e.g., mdpi, hdpi.", "items": { "type": "string" }, @@ -1241,7 +1241,7 @@ "id": "GooglePlayDeveloperReportingV1alpha1QueryStuckBackgroundWakelockRateMetricSetRequest", "properties": { "dimensions": { - "description": "Dimensions to slice the data by. **Supported dimensions:** * `apiLevel` (string): the API level of Android that was running on the user's device. * `versionCode` (int64): version of the app that was running on the user's device. * `deviceModel` (string): unique identifier of the user's device model. * `deviceType` (string): the type (also known as form factor) of the user's device. * `countryCode` (string): the country or region of the user's device based on their IP address, represented as a 2-letter ISO-3166 code (e.g. US for the United States).", + "description": "Dimensions to slice the data by. **Supported dimensions:** * `apiLevel` (string): the API level of Android that was running on the user's device. * `versionCode` (int64): version of the app that was running on the user's device. * `deviceModel` (string): unique identifier of the user's device model. * `deviceType` (string): the type (also known as form factor) of the user's device. * `countryCode` (string): the country or region of the user's device based on their IP address, represented as a 2-letter ISO-3166 code (e.g. US for the United States). * `deviceRamBucket` (int64): RAM of the device, in MB, in buckets (3GB, 4GB, etc.). * `deviceSocMake` (string): Make of the device's primary system-on-chip, e.g., Samsung. [Reference](https://developer.android.com/reference/android/os/Build#SOC_MANUFACTURER) * `deviceSocModel` (string): Model of the device's primary system-on-chip, e.g., \"Exynos 2100\". [Reference](https://developer.android.com/reference/android/os/Build#SOC_MODEL) * `deviceCpuMake` (string): Make of the device's CPU, e.g., Qualcomm. * `deviceCpuModel` (string): Model of the device's CPU, e.g., \"Kryo 240\". * `deviceGpuMake` (string): Make of the device's GPU, e.g., ARM. * `deviceGpuModel` (string): Model of the device's GPU, e.g., Mali. * `deviceGpuVersion` (string): Version of the device's GPU, e.g., T750. * `deviceVulkanVersion` (string): Vulkan version of the device, e.g., \"4198400\". * `deviceGlEsVersion` (string): OpenGL ES version of the device, e.g., \"196610\". * `deviceScreenSize` (string): Screen size of the device, e.g., NORMAL, LARGE. * `deviceScreenDpi` (string): Screen density of the device, e.g., mdpi, hdpi.", "items": { "type": "string" }, @@ -1329,7 +1329,7 @@ "type": "object" }, "GooglePlayDeveloperReportingV1alpha1StuckBackgroundWakelockRateMetricSet": { - "description": "Singleton resource representing the set of Stuck Background Wakelocks metrics. This metric set contains PowerManager wakelock duration data combined with process state data to produce a normalized metric independent of user counts. **Supported aggregation periods:** * DAILY: metrics are aggregated in calendar date intervals. Due to historical constraints, the only supported timezone is `America/Los_Angeles`. **Supported metrics:** * `stuckBgWakelockRate` (`google.type.Decimal`): Percentage of distinct users in the aggregation period that had a wakelock held in the background for longer than 1 hour. If your app exhibits a stuck background wakelocks rate equal to or higher than the threshold, it's in the bottom 25% of the top 1,000 apps on Google Play (by number of installs). * `stuckBgWakelockRate7dUserWeighted` (`google.type.Decimal`): Rolling average value of `stuckBgWakelockRate` in the last 7 days. The daily values are weighted by the count of distinct users for the day. * `stuckBgWakelockRate28dUserWeighted` (`google.type.Decimal`): Rolling average value of `stuckBgWakelockRate` in the last 28 days. The daily values are weighted by the count of distinct users for the day. * `distinctUsers` (`google.type.Decimal`): Count of distinct users in the aggregation period that were used as normalization value for the `stuckBgWakelockRate` metric. A user is counted in this metric if their app was doing any work on the device, i.e., not just active foreground usage but also background work. Care must be taken not to aggregate this count further, as it may result in users being counted multiple times. **Supported dimensions:** * `apiLevel` (string): the API level of Android that was running on the user's device. * `versionCode` (int64): version of the app that was running on the user's device. * `deviceModel` (string): unique identifier of the user's device model. * `deviceType` (string): the type (also known as form factor) of the user's device. * `countryCode` (string): the country or region of the user's device based on their IP address, represented as a 2-letter ISO-3166 code (e.g. US for the United States). **Required permissions**: to access this resource, the calling user needs the _View app information (read-only)_ permission for the app.", + "description": "Singleton resource representing the set of Stuck Background Wakelocks metrics. This metric set contains PowerManager wakelock duration data combined with process state data to produce a normalized metric independent of user counts. **Supported aggregation periods:** * DAILY: metrics are aggregated in calendar date intervals. Due to historical constraints, the only supported timezone is `America/Los_Angeles`. **Supported metrics:** * `stuckBgWakelockRate` (`google.type.Decimal`): Percentage of distinct users in the aggregation period that had a wakelock held in the background for longer than 1 hour. If your app exhibits a stuck background wakelocks rate equal to or higher than the threshold, it's in the bottom 25% of the top 1,000 apps on Google Play (by number of installs). * `stuckBgWakelockRate7dUserWeighted` (`google.type.Decimal`): Rolling average value of `stuckBgWakelockRate` in the last 7 days. The daily values are weighted by the count of distinct users for the day. * `stuckBgWakelockRate28dUserWeighted` (`google.type.Decimal`): Rolling average value of `stuckBgWakelockRate` in the last 28 days. The daily values are weighted by the count of distinct users for the day. * `distinctUsers` (`google.type.Decimal`): Count of distinct users in the aggregation period that were used as normalization value for the `stuckBgWakelockRate` metric. A user is counted in this metric if their app was doing any work on the device, i.e., not just active foreground usage but also background work. Care must be taken not to aggregate this count further, as it may result in users being counted multiple times. **Supported dimensions:** * `apiLevel` (string): the API level of Android that was running on the user's device. * `versionCode` (int64): version of the app that was running on the user's device. * `deviceModel` (string): unique identifier of the user's device model. * `deviceType` (string): the type (also known as form factor) of the user's device. * `countryCode` (string): the country or region of the user's device based on their IP address, represented as a 2-letter ISO-3166 code (e.g. US for the United States). * `deviceRamBucket` (int64): RAM of the device, in MB, in buckets (3GB, 4GB, etc.). * `deviceSocMake` (string): Make of the device's primary system-on-chip, e.g., Samsung. [Reference](https://developer.android.com/reference/android/os/Build#SOC_MANUFACTURER) * `deviceSocModel` (string): Model of the device's primary system-on-chip, e.g., \"Exynos 2100\". [Reference](https://developer.android.com/reference/android/os/Build#SOC_MODEL) * `deviceCpuMake` (string): Make of the device's CPU, e.g., Qualcomm. * `deviceCpuModel` (string): Model of the device's CPU, e.g., \"Kryo 240\". * `deviceGpuMake` (string): Make of the device's GPU, e.g., ARM. * `deviceGpuModel` (string): Model of the device's GPU, e.g., Mali. * `deviceGpuVersion` (string): Version of the device's GPU, e.g., T750. * `deviceVulkanVersion` (string): Vulkan version of the device, e.g., \"4198400\". * `deviceGlEsVersion` (string): OpenGL ES version of the device, e.g., \"196610\". * `deviceScreenSize` (string): Screen size of the device, e.g., NORMAL, LARGE. * `deviceScreenDpi` (string): Screen density of the device, e.g., mdpi, hdpi. **Required permissions**: to access this resource, the calling user needs the _View app information (read-only)_ permission for the app.", "id": "GooglePlayDeveloperReportingV1alpha1StuckBackgroundWakelockRateMetricSet", "properties": { "freshnessInfo": { diff --git a/googleapiclient/discovery_cache/documents/playdeveloperreporting.v1beta1.json b/googleapiclient/discovery_cache/documents/playdeveloperreporting.v1beta1.json index 4590433fd19..31aa38f02e2 100644 --- a/googleapiclient/discovery_cache/documents/playdeveloperreporting.v1beta1.json +++ b/googleapiclient/discovery_cache/documents/playdeveloperreporting.v1beta1.json @@ -347,7 +347,7 @@ } } }, - "revision": "20220722", + "revision": "20220806", "rootUrl": "https://playdeveloperreporting.googleapis.com/", "schemas": { "GooglePlayDeveloperReportingV1beta1Anomaly": { @@ -381,7 +381,7 @@ "type": "object" }, "GooglePlayDeveloperReportingV1beta1AnrRateMetricSet": { - "description": "Singleton resource representing the set of ANR (Application not responding) metrics. This metric set contains ANRs data combined with usage data to produce a normalized metric independent of user counts. **Supported aggregation periods:** * DAILY: metrics are aggregated in calendar date intervals. Due to historical constraints, the only supported timezone is `America/Los_Angeles`. **Supported metrics:** * `anrRate` (`google.type.Decimal`): Percentage of distinct users in the aggregation period that experienced at least one ANR. If your app exhibits an ANR rate equal to or higher than the threshold, it's in the bottom 25% of the top 1,000 apps on Google Play (by number of installs). * `anrRate7dUserWeighted` (`google.type.Decimal`): Rolling average value of `anrRate` in the last 7 days. The daily values are weighted by the count of distinct users for the day. * `anrRate28dUserWeighted` (`google.type.Decimal`): Rolling average value of `anrRate` in the last 28 days. The daily values are weighted by the count of distinct users for the day. * `distinctUsers` (`google.type.Decimal`): Count of distinct users in the aggregation period that were used as normalization value for the `anrRate` metric. A user is counted in this metric if they used the app in the foreground during the aggregation period. Care must be taken not to aggregate this count further, as it may result in users being counted multiple times. **Supported dimensions:** * `apiLevel` (string): the API level of Android that was running on the user's device. * `versionCode` (int64): version of the app that was running on the user's device. * `deviceModel` (string): unique identifier of the user's device model. * `deviceType` (string): the type (also known as form factor) of the user's device. * `countryCode` (string): the country or region of the user's device based on their IP address, represented as a 2-letter ISO-3166 code (e.g. US for the United States). **Required permissions**: to access this resource, the calling user needs the _View app information (read-only)_ permission for the app. **Related metric sets:** * vitals.errors contains unnormalized version (absolute counts) of crashes. * vitals.errors contains normalized metrics about crashes, another stability metric.", + "description": "Singleton resource representing the set of ANR (Application not responding) metrics. This metric set contains ANRs data combined with usage data to produce a normalized metric independent of user counts. **Supported aggregation periods:** * DAILY: metrics are aggregated in calendar date intervals. Due to historical constraints, the only supported timezone is `America/Los_Angeles`. **Supported metrics:** * `anrRate` (`google.type.Decimal`): Percentage of distinct users in the aggregation period that experienced at least one ANR. If your app exhibits an ANR rate equal to or higher than the threshold, it's in the bottom 25% of the top 1,000 apps on Google Play (by number of installs). * `anrRate7dUserWeighted` (`google.type.Decimal`): Rolling average value of `anrRate` in the last 7 days. The daily values are weighted by the count of distinct users for the day. * `anrRate28dUserWeighted` (`google.type.Decimal`): Rolling average value of `anrRate` in the last 28 days. The daily values are weighted by the count of distinct users for the day. * `distinctUsers` (`google.type.Decimal`): Count of distinct users in the aggregation period that were used as normalization value for the `anrRate` metric. A user is counted in this metric if they used the app in the foreground during the aggregation period. Care must be taken not to aggregate this count further, as it may result in users being counted multiple times. **Supported dimensions:** * `apiLevel` (string): the API level of Android that was running on the user's device. * `versionCode` (int64): version of the app that was running on the user's device. * `deviceModel` (string): unique identifier of the user's device model. * `deviceType` (string): the type (also known as form factor) of the user's device. * `countryCode` (string): the country or region of the user's device based on their IP address, represented as a 2-letter ISO-3166 code (e.g. US for the United States). * `deviceRamBucket` (int64): RAM of the device, in MB, in buckets (3GB, 4GB, etc.). * `deviceSocMake` (string): Make of the device's primary system-on-chip, e.g., Samsung. [Reference](https://developer.android.com/reference/android/os/Build#SOC_MANUFACTURER) * `deviceSocModel` (string): Model of the device's primary system-on-chip, e.g., \"Exynos 2100\". [Reference](https://developer.android.com/reference/android/os/Build#SOC_MODEL) * `deviceCpuMake` (string): Make of the device's CPU, e.g., Qualcomm. * `deviceCpuModel` (string): Model of the device's CPU, e.g., \"Kryo 240\". * `deviceGpuMake` (string): Make of the device's GPU, e.g., ARM. * `deviceGpuModel` (string): Model of the device's GPU, e.g., Mali. * `deviceGpuVersion` (string): Version of the device's GPU, e.g., T750. * `deviceVulkanVersion` (string): Vulkan version of the device, e.g., \"4198400\". * `deviceGlEsVersion` (string): OpenGL ES version of the device, e.g., \"196610\". * `deviceScreenSize` (string): Screen size of the device, e.g., NORMAL, LARGE. * `deviceScreenDpi` (string): Screen density of the device, e.g., mdpi, hdpi. **Required permissions**: to access this resource, the calling user needs the _View app information (read-only)_ permission for the app. **Related metric sets:** * vitals.errors contains unnormalized version (absolute counts) of crashes. * vitals.errors contains normalized metrics about crashes, another stability metric.", "id": "GooglePlayDeveloperReportingV1beta1AnrRateMetricSet", "properties": { "freshnessInfo": { @@ -396,7 +396,7 @@ "type": "object" }, "GooglePlayDeveloperReportingV1beta1CrashRateMetricSet": { - "description": "Singleton resource representing the set of crashrate metrics. This metric set contains crashes data combined with usage data to produce a normalized metric independent of user counts. **Supported aggregation periods:** * DAILY: metrics are aggregated in calendar date intervals. Due to historical constraints, the only supported timezone is `America/Los_Angeles`. **Supported metrics:** * `crashRate` (`google.type.Decimal`): Percentage of distinct users in the aggregation period that experienced at least one crash. If your app exhibits a crash rate equal to or higher than the threshold, it's in the bottom 25% of the top 1,000 apps on Google Play (by number of installs). * `crashRate7dUserWeighted` (`google.type.Decimal`): Rolling average value of `crashRate` in the last 7 days. The daily values are weighted by the count of distinct users for the day. * `crashRate28dUserWeighted` (`google.type.Decimal`): Rolling average value of `crashRate` in the last 28 days. The daily values are weighted by the count of distinct users for the day. * `distinctUsers` (`google.type.Decimal`): Count of distinct users in the aggregation period that were used as normalization value for the `crashRate` metric. A user is counted in this metric if they used the app in the foreground during the aggregation period. Care must be taken not to aggregate this count further, as it may result in users being counted multiple times. **Supported dimensions:** * `apiLevel` (string): the API level of Android that was running on the user's device. * `versionCode` (int64): version of the app that was running on the user's device. * `deviceModel` (string): unique identifier of the user's device model. * `deviceType` (string): the type (also known as form factor) of the user's device. * `countryCode` (string): the country or region of the user's device based on their IP address, represented as a 2-letter ISO-3166 code (e.g. US for the United States). **Required permissions**: to access this resource, the calling user needs the _View app information (read-only)_ permission for the app. **Related metric sets:** * vitals.errors contains unnormalized version (absolute counts) of crashes. * vitals.errors contains normalized metrics about ANRs, another stability metric.", + "description": "Singleton resource representing the set of crashrate metrics. This metric set contains crashes data combined with usage data to produce a normalized metric independent of user counts. **Supported aggregation periods:** * DAILY: metrics are aggregated in calendar date intervals. Due to historical constraints, the only supported timezone is `America/Los_Angeles`. **Supported metrics:** * `crashRate` (`google.type.Decimal`): Percentage of distinct users in the aggregation period that experienced at least one crash. If your app exhibits a crash rate equal to or higher than the threshold, it's in the bottom 25% of the top 1,000 apps on Google Play (by number of installs). * `crashRate7dUserWeighted` (`google.type.Decimal`): Rolling average value of `crashRate` in the last 7 days. The daily values are weighted by the count of distinct users for the day. * `crashRate28dUserWeighted` (`google.type.Decimal`): Rolling average value of `crashRate` in the last 28 days. The daily values are weighted by the count of distinct users for the day. * `distinctUsers` (`google.type.Decimal`): Count of distinct users in the aggregation period that were used as normalization value for the `crashRate` metric. A user is counted in this metric if they used the app in the foreground during the aggregation period. Care must be taken not to aggregate this count further, as it may result in users being counted multiple times. **Supported dimensions:** * `apiLevel` (string): the API level of Android that was running on the user's device. * `versionCode` (int64): version of the app that was running on the user's device. * `deviceModel` (string): unique identifier of the user's device model. * `deviceType` (string): the type (also known as form factor) of the user's device. * `countryCode` (string): the country or region of the user's device based on their IP address, represented as a 2-letter ISO-3166 code (e.g. US for the United States). * `deviceRamBucket` (int64): RAM of the device, in MB, in buckets (3GB, 4GB, etc.). * `deviceSocMake` (string): Make of the device's primary system-on-chip, e.g., Samsung. [Reference](https://developer.android.com/reference/android/os/Build#SOC_MANUFACTURER) * `deviceSocModel` (string): Model of the device's primary system-on-chip, e.g., \"Exynos 2100\". [Reference](https://developer.android.com/reference/android/os/Build#SOC_MODEL) * `deviceCpuMake` (string): Make of the device's CPU, e.g., Qualcomm. * `deviceCpuModel` (string): Model of the device's CPU, e.g., \"Kryo 240\". * `deviceGpuMake` (string): Make of the device's GPU, e.g., ARM. * `deviceGpuModel` (string): Model of the device's GPU, e.g., Mali. * `deviceGpuVersion` (string): Version of the device's GPU, e.g., T750. * `deviceVulkanVersion` (string): Vulkan version of the device, e.g., \"4198400\". * `deviceGlEsVersion` (string): OpenGL ES version of the device, e.g., \"196610\". * `deviceScreenSize` (string): Screen size of the device, e.g., NORMAL, LARGE. * `deviceScreenDpi` (string): Screen density of the device, e.g., mdpi, hdpi. **Required permissions**: to access this resource, the calling user needs the _View app information (read-only)_ permission for the app. **Related metric sets:** * vitals.errors contains unnormalized version (absolute counts) of crashes. * vitals.errors contains normalized metrics about ANRs, another stability metric.", "id": "GooglePlayDeveloperReportingV1beta1CrashRateMetricSet", "properties": { "freshnessInfo": { @@ -435,7 +435,7 @@ "type": "object" }, "GooglePlayDeveloperReportingV1beta1ExcessiveWakeupRateMetricSet": { - "description": "Singleton resource representing the set of Excessive Weakeups metrics. This metric set contains AlarmManager wakeup counts data combined with process state data to produce a normalized metric independent of user counts. **Supported aggregation periods:** * DAILY: metrics are aggregated in calendar date intervals. Due to historical constraints, the only supported timezone is `America/Los_Angeles`. **Supported metrics:** * `excessiveWakeupRate` (`google.type.Decimal`): Percentage of distinct users in the aggregation period that had more than 10 wakeups per hour. If your app exhibits an excessive wakeup rate equal to or higher than the threshold, it's in the bottom 25% of the top 1,000 apps on Google Play (by number of installs). * `excessiveWakeupRate7dUserWeighted` (`google.type.Decimal`): Rolling average value of `excessiveWakeupRate` in the last 7 days. The daily values are weighted by the count of distinct users for the day. * `excessiveWakeupRate28dUserWeighted` (`google.type.Decimal`): Rolling average value of `excessiveWakeupRate` in the last 28 days. The daily values are weighted by the count of distinct users for the day. * `distinctUsers` (`google.type.Decimal`): Count of distinct users in the aggregation period that were used as normalization value for the `excessiveWakeupRate` metric. A user is counted in this metric if they app was doing any work on the device, i.e., not just active foreground usage but also background work. Care must be taken not to aggregate this count further, as it may result in users being counted multiple times. **Supported dimensions:** * `apiLevel` (string): the API level of Android that was running on the user's device. * `versionCode` (int64): version of the app that was running on the user's device. * `deviceModel` (string): unique identifier of the user's device model. * `deviceType` (string): the type (also known as form factor) of the user's device. * `countryCode` (string): the country or region of the user's device based on their IP address, represented as a 2-letter ISO-3166 code (e.g. US for the United States). **Required permissions**: to access this resource, the calling user needs the _View app information (read-only)_ permission for the app.", + "description": "Singleton resource representing the set of Excessive Weakeups metrics. This metric set contains AlarmManager wakeup counts data combined with process state data to produce a normalized metric independent of user counts. **Supported aggregation periods:** * DAILY: metrics are aggregated in calendar date intervals. Due to historical constraints, the only supported timezone is `America/Los_Angeles`. **Supported metrics:** * `excessiveWakeupRate` (`google.type.Decimal`): Percentage of distinct users in the aggregation period that had more than 10 wakeups per hour. If your app exhibits an excessive wakeup rate equal to or higher than the threshold, it's in the bottom 25% of the top 1,000 apps on Google Play (by number of installs). * `excessiveWakeupRate7dUserWeighted` (`google.type.Decimal`): Rolling average value of `excessiveWakeupRate` in the last 7 days. The daily values are weighted by the count of distinct users for the day. * `excessiveWakeupRate28dUserWeighted` (`google.type.Decimal`): Rolling average value of `excessiveWakeupRate` in the last 28 days. The daily values are weighted by the count of distinct users for the day. * `distinctUsers` (`google.type.Decimal`): Count of distinct users in the aggregation period that were used as normalization value for the `excessiveWakeupRate` metric. A user is counted in this metric if they app was doing any work on the device, i.e., not just active foreground usage but also background work. Care must be taken not to aggregate this count further, as it may result in users being counted multiple times. **Supported dimensions:** * `apiLevel` (string): the API level of Android that was running on the user's device. * `versionCode` (int64): version of the app that was running on the user's device. * `deviceModel` (string): unique identifier of the user's device model. * `deviceType` (string): the type (also known as form factor) of the user's device. * `countryCode` (string): the country or region of the user's device based on their IP address, represented as a 2-letter ISO-3166 code (e.g. US for the United States). * `deviceRamBucket` (int64): RAM of the device, in MB, in buckets (3GB, 4GB, etc.). * `deviceSocMake` (string): Make of the device's primary system-on-chip, e.g., Samsung. [Reference](https://developer.android.com/reference/android/os/Build#SOC_MANUFACTURER) * `deviceSocModel` (string): Model of the device's primary system-on-chip, e.g., \"Exynos 2100\". [Reference](https://developer.android.com/reference/android/os/Build#SOC_MODEL) * `deviceCpuMake` (string): Make of the device's CPU, e.g., Qualcomm. * `deviceCpuModel` (string): Model of the device's CPU, e.g., \"Kryo 240\". * `deviceGpuMake` (string): Make of the device's GPU, e.g., ARM. * `deviceGpuModel` (string): Model of the device's GPU, e.g., Mali. * `deviceGpuVersion` (string): Version of the device's GPU, e.g., T750. * `deviceVulkanVersion` (string): Vulkan version of the device, e.g., \"4198400\". * `deviceGlEsVersion` (string): OpenGL ES version of the device, e.g., \"196610\". * `deviceScreenSize` (string): Screen size of the device, e.g., NORMAL, LARGE. * `deviceScreenDpi` (string): Screen density of the device, e.g., mdpi, hdpi. **Required permissions**: to access this resource, the calling user needs the _View app information (read-only)_ permission for the app.", "id": "GooglePlayDeveloperReportingV1beta1ExcessiveWakeupRateMetricSet", "properties": { "freshnessInfo": { @@ -565,7 +565,7 @@ "id": "GooglePlayDeveloperReportingV1beta1QueryAnrRateMetricSetRequest", "properties": { "dimensions": { - "description": "Dimensions to slice the metrics by. **Supported dimensions:** * `apiLevel` (string): the API level of Android that was running on the user's device. * `versionCode` (int64): version of the app that was running on the user's device. * `deviceModel` (string): unique identifier of the user's device model. * `deviceType` (string): the type (also known as form factor) of the user's device. * `countryCode` (string): the country or region of the user's device based on their IP address, represented as a 2-letter ISO-3166 code (e.g. US for the United States).", + "description": "Dimensions to slice the metrics by. **Supported dimensions:** * `apiLevel` (string): the API level of Android that was running on the user's device. * `versionCode` (int64): version of the app that was running on the user's device. * `deviceModel` (string): unique identifier of the user's device model. * `deviceType` (string): the type (also known as form factor) of the user's device. * `countryCode` (string): the country or region of the user's device based on their IP address, represented as a 2-letter ISO-3166 code (e.g. US for the United States). * `deviceRamBucket` (int64): RAM of the device, in MB, in buckets (3GB, 4GB, etc.). * `deviceSocMake` (string): Make of the device's primary system-on-chip, e.g., Samsung. [Reference](https://developer.android.com/reference/android/os/Build#SOC_MANUFACTURER) * `deviceSocModel` (string): Model of the device's primary system-on-chip, e.g., \"Exynos 2100\". [Reference](https://developer.android.com/reference/android/os/Build#SOC_MODEL) * `deviceCpuMake` (string): Make of the device's CPU, e.g., Qualcomm. * `deviceCpuModel` (string): Model of the device's CPU, e.g., \"Kryo 240\". * `deviceGpuMake` (string): Make of the device's GPU, e.g., ARM. * `deviceGpuModel` (string): Model of the device's GPU, e.g., Mali. * `deviceGpuVersion` (string): Version of the device's GPU, e.g., T750. * `deviceVulkanVersion` (string): Vulkan version of the device, e.g., \"4198400\". * `deviceGlEsVersion` (string): OpenGL ES version of the device, e.g., \"196610\". * `deviceScreenSize` (string): Screen size of the device, e.g., NORMAL, LARGE. * `deviceScreenDpi` (string): Screen density of the device, e.g., mdpi, hdpi.", "items": { "type": "string" }, @@ -621,7 +621,7 @@ "id": "GooglePlayDeveloperReportingV1beta1QueryCrashRateMetricSetRequest", "properties": { "dimensions": { - "description": "Dimensions to slice the metrics by. **Supported dimensions:** * `apiLevel` (string): the API level of Android that was running on the user's device. * `versionCode` (int64): version of the app that was running on the user's device. * `deviceModel` (string): unique identifier of the user's device model. * `deviceType` (string): the type (also known as form factor) of the user's device. * `countryCode` (string): the country or region of the user's device based on their IP address, represented as a 2-letter ISO-3166 code (e.g. US for the United States).", + "description": "Dimensions to slice the metrics by. **Supported dimensions:** * `apiLevel` (string): the API level of Android that was running on the user's device. * `versionCode` (int64): version of the app that was running on the user's device. * `deviceModel` (string): unique identifier of the user's device model. * `deviceType` (string): the type (also known as form factor) of the user's device. * `countryCode` (string): the country or region of the user's device based on their IP address, represented as a 2-letter ISO-3166 code (e.g. US for the United States). * `deviceRamBucket` (int64): RAM of the device, in MB, in buckets (3GB, 4GB, etc.). * `deviceSocMake` (string): Make of the device's primary system-on-chip, e.g., Samsung. [Reference](https://developer.android.com/reference/android/os/Build#SOC_MANUFACTURER) * `deviceSocModel` (string): Model of the device's primary system-on-chip, e.g., \"Exynos 2100\". [Reference](https://developer.android.com/reference/android/os/Build#SOC_MODEL) * `deviceCpuMake` (string): Make of the device's CPU, e.g., Qualcomm. * `deviceCpuModel` (string): Model of the device's CPU, e.g., \"Kryo 240\". * `deviceGpuMake` (string): Make of the device's GPU, e.g., ARM. * `deviceGpuModel` (string): Model of the device's GPU, e.g., Mali. * `deviceGpuVersion` (string): Version of the device's GPU, e.g., T750. * `deviceVulkanVersion` (string): Vulkan version of the device, e.g., \"4198400\". * `deviceGlEsVersion` (string): OpenGL ES version of the device, e.g., \"196610\". * `deviceScreenSize` (string): Screen size of the device, e.g., NORMAL, LARGE. * `deviceScreenDpi` (string): Screen density of the device, e.g., mdpi, hdpi.", "items": { "type": "string" }, @@ -677,7 +677,7 @@ "id": "GooglePlayDeveloperReportingV1beta1QueryExcessiveWakeupRateMetricSetRequest", "properties": { "dimensions": { - "description": "Dimensions to slice the data by. **Supported dimensions:** * `apiLevel` (string): the API level of Android that was running on the user's device. * `versionCode` (int64): version of the app that was running on the user's device. * `deviceModel` (string): unique identifier of the user's device model. * `deviceType` (string): the type (also known as form factor) of the user's device. * `countryCode` (string): the country or region of the user's device based on their IP address, represented as a 2-letter ISO-3166 code (e.g. US for the United States).", + "description": "Dimensions to slice the data by. **Supported dimensions:** * `apiLevel` (string): the API level of Android that was running on the user's device. * `versionCode` (int64): version of the app that was running on the user's device. * `deviceModel` (string): unique identifier of the user's device model. * `deviceType` (string): the type (also known as form factor) of the user's device. * `countryCode` (string): the country or region of the user's device based on their IP address, represented as a 2-letter ISO-3166 code (e.g. US for the United States). * `deviceRamBucket` (int64): RAM of the device, in MB, in buckets (3GB, 4GB, etc.). * `deviceSocMake` (string): Make of the device's primary system-on-chip, e.g., Samsung. [Reference](https://developer.android.com/reference/android/os/Build#SOC_MANUFACTURER) * `deviceSocModel` (string): Model of the device's primary system-on-chip, e.g., \"Exynos 2100\". [Reference](https://developer.android.com/reference/android/os/Build#SOC_MODEL) * `deviceCpuMake` (string): Make of the device's CPU, e.g., Qualcomm. * `deviceCpuModel` (string): Model of the device's CPU, e.g., \"Kryo 240\". * `deviceGpuMake` (string): Make of the device's GPU, e.g., ARM. * `deviceGpuModel` (string): Model of the device's GPU, e.g., Mali. * `deviceGpuVersion` (string): Version of the device's GPU, e.g., T750. * `deviceVulkanVersion` (string): Vulkan version of the device, e.g., \"4198400\". * `deviceGlEsVersion` (string): OpenGL ES version of the device, e.g., \"196610\". * `deviceScreenSize` (string): Screen size of the device, e.g., NORMAL, LARGE. * `deviceScreenDpi` (string): Screen density of the device, e.g., mdpi, hdpi.", "items": { "type": "string" }, @@ -733,7 +733,7 @@ "id": "GooglePlayDeveloperReportingV1beta1QueryStuckBackgroundWakelockRateMetricSetRequest", "properties": { "dimensions": { - "description": "Dimensions to slice the data by. **Supported dimensions:** * `apiLevel` (string): the API level of Android that was running on the user's device. * `versionCode` (int64): version of the app that was running on the user's device. * `deviceModel` (string): unique identifier of the user's device model. * `deviceType` (string): the type (also known as form factor) of the user's device. * `countryCode` (string): the country or region of the user's device based on their IP address, represented as a 2-letter ISO-3166 code (e.g. US for the United States).", + "description": "Dimensions to slice the data by. **Supported dimensions:** * `apiLevel` (string): the API level of Android that was running on the user's device. * `versionCode` (int64): version of the app that was running on the user's device. * `deviceModel` (string): unique identifier of the user's device model. * `deviceType` (string): the type (also known as form factor) of the user's device. * `countryCode` (string): the country or region of the user's device based on their IP address, represented as a 2-letter ISO-3166 code (e.g. US for the United States). * `deviceRamBucket` (int64): RAM of the device, in MB, in buckets (3GB, 4GB, etc.). * `deviceSocMake` (string): Make of the device's primary system-on-chip, e.g., Samsung. [Reference](https://developer.android.com/reference/android/os/Build#SOC_MANUFACTURER) * `deviceSocModel` (string): Model of the device's primary system-on-chip, e.g., \"Exynos 2100\". [Reference](https://developer.android.com/reference/android/os/Build#SOC_MODEL) * `deviceCpuMake` (string): Make of the device's CPU, e.g., Qualcomm. * `deviceCpuModel` (string): Model of the device's CPU, e.g., \"Kryo 240\". * `deviceGpuMake` (string): Make of the device's GPU, e.g., ARM. * `deviceGpuModel` (string): Model of the device's GPU, e.g., Mali. * `deviceGpuVersion` (string): Version of the device's GPU, e.g., T750. * `deviceVulkanVersion` (string): Vulkan version of the device, e.g., \"4198400\". * `deviceGlEsVersion` (string): OpenGL ES version of the device, e.g., \"196610\". * `deviceScreenSize` (string): Screen size of the device, e.g., NORMAL, LARGE. * `deviceScreenDpi` (string): Screen density of the device, e.g., mdpi, hdpi.", "items": { "type": "string" }, @@ -785,7 +785,7 @@ "type": "object" }, "GooglePlayDeveloperReportingV1beta1StuckBackgroundWakelockRateMetricSet": { - "description": "Singleton resource representing the set of Stuck Background Wakelocks metrics. This metric set contains PowerManager wakelock duration data combined with process state data to produce a normalized metric independent of user counts. **Supported aggregation periods:** * DAILY: metrics are aggregated in calendar date intervals. Due to historical constraints, the only supported timezone is `America/Los_Angeles`. **Supported metrics:** * `stuckBgWakelockRate` (`google.type.Decimal`): Percentage of distinct users in the aggregation period that had a wakelock held in the background for longer than 1 hour. If your app exhibits a stuck background wakelocks rate equal to or higher than the threshold, it's in the bottom 25% of the top 1,000 apps on Google Play (by number of installs). * `stuckBgWakelockRate7dUserWeighted` (`google.type.Decimal`): Rolling average value of `stuckBgWakelockRate` in the last 7 days. The daily values are weighted by the count of distinct users for the day. * `stuckBgWakelockRate28dUserWeighted` (`google.type.Decimal`): Rolling average value of `stuckBgWakelockRate` in the last 28 days. The daily values are weighted by the count of distinct users for the day. * `distinctUsers` (`google.type.Decimal`): Count of distinct users in the aggregation period that were used as normalization value for the `stuckBgWakelockRate` metric. A user is counted in this metric if their app was doing any work on the device, i.e., not just active foreground usage but also background work. Care must be taken not to aggregate this count further, as it may result in users being counted multiple times. **Supported dimensions:** * `apiLevel` (string): the API level of Android that was running on the user's device. * `versionCode` (int64): version of the app that was running on the user's device. * `deviceModel` (string): unique identifier of the user's device model. * `deviceType` (string): the type (also known as form factor) of the user's device. * `countryCode` (string): the country or region of the user's device based on their IP address, represented as a 2-letter ISO-3166 code (e.g. US for the United States). **Required permissions**: to access this resource, the calling user needs the _View app information (read-only)_ permission for the app.", + "description": "Singleton resource representing the set of Stuck Background Wakelocks metrics. This metric set contains PowerManager wakelock duration data combined with process state data to produce a normalized metric independent of user counts. **Supported aggregation periods:** * DAILY: metrics are aggregated in calendar date intervals. Due to historical constraints, the only supported timezone is `America/Los_Angeles`. **Supported metrics:** * `stuckBgWakelockRate` (`google.type.Decimal`): Percentage of distinct users in the aggregation period that had a wakelock held in the background for longer than 1 hour. If your app exhibits a stuck background wakelocks rate equal to or higher than the threshold, it's in the bottom 25% of the top 1,000 apps on Google Play (by number of installs). * `stuckBgWakelockRate7dUserWeighted` (`google.type.Decimal`): Rolling average value of `stuckBgWakelockRate` in the last 7 days. The daily values are weighted by the count of distinct users for the day. * `stuckBgWakelockRate28dUserWeighted` (`google.type.Decimal`): Rolling average value of `stuckBgWakelockRate` in the last 28 days. The daily values are weighted by the count of distinct users for the day. * `distinctUsers` (`google.type.Decimal`): Count of distinct users in the aggregation period that were used as normalization value for the `stuckBgWakelockRate` metric. A user is counted in this metric if their app was doing any work on the device, i.e., not just active foreground usage but also background work. Care must be taken not to aggregate this count further, as it may result in users being counted multiple times. **Supported dimensions:** * `apiLevel` (string): the API level of Android that was running on the user's device. * `versionCode` (int64): version of the app that was running on the user's device. * `deviceModel` (string): unique identifier of the user's device model. * `deviceType` (string): the type (also known as form factor) of the user's device. * `countryCode` (string): the country or region of the user's device based on their IP address, represented as a 2-letter ISO-3166 code (e.g. US for the United States). * `deviceRamBucket` (int64): RAM of the device, in MB, in buckets (3GB, 4GB, etc.). * `deviceSocMake` (string): Make of the device's primary system-on-chip, e.g., Samsung. [Reference](https://developer.android.com/reference/android/os/Build#SOC_MANUFACTURER) * `deviceSocModel` (string): Model of the device's primary system-on-chip, e.g., \"Exynos 2100\". [Reference](https://developer.android.com/reference/android/os/Build#SOC_MODEL) * `deviceCpuMake` (string): Make of the device's CPU, e.g., Qualcomm. * `deviceCpuModel` (string): Model of the device's CPU, e.g., \"Kryo 240\". * `deviceGpuMake` (string): Make of the device's GPU, e.g., ARM. * `deviceGpuModel` (string): Model of the device's GPU, e.g., Mali. * `deviceGpuVersion` (string): Version of the device's GPU, e.g., T750. * `deviceVulkanVersion` (string): Vulkan version of the device, e.g., \"4198400\". * `deviceGlEsVersion` (string): OpenGL ES version of the device, e.g., \"196610\". * `deviceScreenSize` (string): Screen size of the device, e.g., NORMAL, LARGE. * `deviceScreenDpi` (string): Screen density of the device, e.g., mdpi, hdpi. **Required permissions**: to access this resource, the calling user needs the _View app information (read-only)_ permission for the app.", "id": "GooglePlayDeveloperReportingV1beta1StuckBackgroundWakelockRateMetricSet", "properties": { "freshnessInfo": { diff --git a/googleapiclient/discovery_cache/documents/playintegrity.v1.json b/googleapiclient/discovery_cache/documents/playintegrity.v1.json index 83e88f6cb51..13cd772dd16 100644 --- a/googleapiclient/discovery_cache/documents/playintegrity.v1.json +++ b/googleapiclient/discovery_cache/documents/playintegrity.v1.json @@ -138,7 +138,7 @@ } } }, - "revision": "20220722", + "revision": "20220806", "rootUrl": "https://playintegrity.googleapis.com/", "schemas": { "AccountDetails": { diff --git a/googleapiclient/discovery_cache/documents/policyanalyzer.v1.json b/googleapiclient/discovery_cache/documents/policyanalyzer.v1.json index 34f6eca1b39..f7a1c558514 100644 --- a/googleapiclient/discovery_cache/documents/policyanalyzer.v1.json +++ b/googleapiclient/discovery_cache/documents/policyanalyzer.v1.json @@ -163,7 +163,7 @@ } } }, - "revision": "20220722", + "revision": "20220806", "rootUrl": "https://policyanalyzer.googleapis.com/", "schemas": { "GoogleCloudPolicyanalyzerV1Activity": { diff --git a/googleapiclient/discovery_cache/documents/policyanalyzer.v1beta1.json b/googleapiclient/discovery_cache/documents/policyanalyzer.v1beta1.json index e5c80e73993..af37a336473 100644 --- a/googleapiclient/discovery_cache/documents/policyanalyzer.v1beta1.json +++ b/googleapiclient/discovery_cache/documents/policyanalyzer.v1beta1.json @@ -163,7 +163,7 @@ } } }, - "revision": "20220722", + "revision": "20220806", "rootUrl": "https://policyanalyzer.googleapis.com/", "schemas": { "GoogleCloudPolicyanalyzerV1beta1Activity": { diff --git a/googleapiclient/discovery_cache/documents/policysimulator.v1.json b/googleapiclient/discovery_cache/documents/policysimulator.v1.json index d8cacf89851..90c91ca18c0 100644 --- a/googleapiclient/discovery_cache/documents/policysimulator.v1.json +++ b/googleapiclient/discovery_cache/documents/policysimulator.v1.json @@ -493,7 +493,7 @@ } } }, - "revision": "20220715", + "revision": "20220730", "rootUrl": "https://policysimulator.googleapis.com/", "schemas": { "GoogleCloudPolicysimulatorV1AccessStateDiff": { diff --git a/googleapiclient/discovery_cache/documents/policysimulator.v1beta1.json b/googleapiclient/discovery_cache/documents/policysimulator.v1beta1.json index d62048b8bc8..c7f6b611f3b 100644 --- a/googleapiclient/discovery_cache/documents/policysimulator.v1beta1.json +++ b/googleapiclient/discovery_cache/documents/policysimulator.v1beta1.json @@ -493,7 +493,7 @@ } } }, - "revision": "20220715", + "revision": "20220730", "rootUrl": "https://policysimulator.googleapis.com/", "schemas": { "GoogleCloudPolicysimulatorV1Replay": { diff --git a/googleapiclient/discovery_cache/documents/policytroubleshooter.v1.json b/googleapiclient/discovery_cache/documents/policytroubleshooter.v1.json index 3012eaa6caf..4d7977d44be 100644 --- a/googleapiclient/discovery_cache/documents/policytroubleshooter.v1.json +++ b/googleapiclient/discovery_cache/documents/policytroubleshooter.v1.json @@ -128,7 +128,7 @@ } } }, - "revision": "20220722", + "revision": "20220806", "rootUrl": "https://policytroubleshooter.googleapis.com/", "schemas": { "GoogleCloudPolicytroubleshooterV1AccessTuple": { @@ -434,7 +434,7 @@ "description": "The condition that is associated with this binding. If the condition evaluates to `true`, then this binding applies to the current request. If the condition evaluates to `false`, then this binding does not apply to the current request. However, a different role binding might grant the same role to one or more of the principals in this binding. To learn which resources support conditions in their IAM policies, see the [IAM documentation](https://cloud.google.com/iam/help/conditions/resource-policies)." }, "members": { - "description": "Specifies the principals requesting access for a Google Cloud resource. `members` can have the following values: * `allUsers`: A special identifier that represents anyone who is on the internet; with or without a Google account. * `allAuthenticatedUsers`: A special identifier that represents anyone who is authenticated with a Google account or a service account. * `user:{emailid}`: An email address that represents a specific Google account. For example, `alice@example.com` . * `serviceAccount:{emailid}`: An email address that represents a service account. For example, `my-other-app@appspot.gserviceaccount.com`. * `group:{emailid}`: An email address that represents a Google group. For example, `admins@example.com`. * `deleted:user:{emailid}?uid={uniqueid}`: An email address (plus unique identifier) representing a user that has been recently deleted. For example, `alice@example.com?uid=123456789012345678901`. If the user is recovered, this value reverts to `user:{emailid}` and the recovered user retains the role in the binding. * `deleted:serviceAccount:{emailid}?uid={uniqueid}`: An email address (plus unique identifier) representing a service account that has been recently deleted. For example, `my-other-app@appspot.gserviceaccount.com?uid=123456789012345678901`. If the service account is undeleted, this value reverts to `serviceAccount:{emailid}` and the undeleted service account retains the role in the binding. * `deleted:group:{emailid}?uid={uniqueid}`: An email address (plus unique identifier) representing a Google group that has been recently deleted. For example, `admins@example.com?uid=123456789012345678901`. If the group is recovered, this value reverts to `group:{emailid}` and the recovered group retains the role in the binding. * `domain:{domain}`: The G Suite domain (primary) that represents all the users of that domain. For example, `google.com` or `example.com`. ", + "description": "Specifies the principals requesting access for a Google Cloud resource. `members` can have the following values: * `allUsers`: A special identifier that represents anyone who is on the internet; with or without a Google account. * `allAuthenticatedUsers`: A special identifier that represents anyone who is authenticated with a Google account or a service account. * `user:{emailid}`: An email address that represents a specific Google account. For example, `alice@example.com` . * `serviceAccount:{emailid}`: An email address that represents a Google service account. For example, `my-other-app@appspot.gserviceaccount.com`. * `serviceAccount:{projectid}.svc.id.goog[{namespace}/{kubernetes-sa}]`: An identifier for a [Kubernetes service account](https://cloud.google.com/kubernetes-engine/docs/how-to/kubernetes-service-accounts). For example, `my-project.svc.id.goog[my-namespace/my-kubernetes-sa]`. * `group:{emailid}`: An email address that represents a Google group. For example, `admins@example.com`. * `deleted:user:{emailid}?uid={uniqueid}`: An email address (plus unique identifier) representing a user that has been recently deleted. For example, `alice@example.com?uid=123456789012345678901`. If the user is recovered, this value reverts to `user:{emailid}` and the recovered user retains the role in the binding. * `deleted:serviceAccount:{emailid}?uid={uniqueid}`: An email address (plus unique identifier) representing a service account that has been recently deleted. For example, `my-other-app@appspot.gserviceaccount.com?uid=123456789012345678901`. If the service account is undeleted, this value reverts to `serviceAccount:{emailid}` and the undeleted service account retains the role in the binding. * `deleted:group:{emailid}?uid={uniqueid}`: An email address (plus unique identifier) representing a Google group that has been recently deleted. For example, `admins@example.com?uid=123456789012345678901`. If the group is recovered, this value reverts to `group:{emailid}` and the recovered group retains the role in the binding. * `domain:{domain}`: The G Suite domain (primary) that represents all the users of that domain. For example, `google.com` or `example.com`. ", "items": { "type": "string" }, diff --git a/googleapiclient/discovery_cache/documents/policytroubleshooter.v1beta.json b/googleapiclient/discovery_cache/documents/policytroubleshooter.v1beta.json index 9e6af8ea298..965304beb50 100644 --- a/googleapiclient/discovery_cache/documents/policytroubleshooter.v1beta.json +++ b/googleapiclient/discovery_cache/documents/policytroubleshooter.v1beta.json @@ -128,7 +128,7 @@ } } }, - "revision": "20220722", + "revision": "20220806", "rootUrl": "https://policytroubleshooter.googleapis.com/", "schemas": { "GoogleCloudPolicytroubleshooterV1betaAccessTuple": { @@ -427,7 +427,7 @@ "description": "The condition that is associated with this binding. If the condition evaluates to `true`, then this binding applies to the current request. If the condition evaluates to `false`, then this binding does not apply to the current request. However, a different role binding might grant the same role to one or more of the principals in this binding. To learn which resources support conditions in their IAM policies, see the [IAM documentation](https://cloud.google.com/iam/help/conditions/resource-policies)." }, "members": { - "description": "Specifies the principals requesting access for a Google Cloud resource. `members` can have the following values: * `allUsers`: A special identifier that represents anyone who is on the internet; with or without a Google account. * `allAuthenticatedUsers`: A special identifier that represents anyone who is authenticated with a Google account or a service account. * `user:{emailid}`: An email address that represents a specific Google account. For example, `alice@example.com` . * `serviceAccount:{emailid}`: An email address that represents a service account. For example, `my-other-app@appspot.gserviceaccount.com`. * `group:{emailid}`: An email address that represents a Google group. For example, `admins@example.com`. * `deleted:user:{emailid}?uid={uniqueid}`: An email address (plus unique identifier) representing a user that has been recently deleted. For example, `alice@example.com?uid=123456789012345678901`. If the user is recovered, this value reverts to `user:{emailid}` and the recovered user retains the role in the binding. * `deleted:serviceAccount:{emailid}?uid={uniqueid}`: An email address (plus unique identifier) representing a service account that has been recently deleted. For example, `my-other-app@appspot.gserviceaccount.com?uid=123456789012345678901`. If the service account is undeleted, this value reverts to `serviceAccount:{emailid}` and the undeleted service account retains the role in the binding. * `deleted:group:{emailid}?uid={uniqueid}`: An email address (plus unique identifier) representing a Google group that has been recently deleted. For example, `admins@example.com?uid=123456789012345678901`. If the group is recovered, this value reverts to `group:{emailid}` and the recovered group retains the role in the binding. * `domain:{domain}`: The G Suite domain (primary) that represents all the users of that domain. For example, `google.com` or `example.com`. ", + "description": "Specifies the principals requesting access for a Google Cloud resource. `members` can have the following values: * `allUsers`: A special identifier that represents anyone who is on the internet; with or without a Google account. * `allAuthenticatedUsers`: A special identifier that represents anyone who is authenticated with a Google account or a service account. * `user:{emailid}`: An email address that represents a specific Google account. For example, `alice@example.com` . * `serviceAccount:{emailid}`: An email address that represents a Google service account. For example, `my-other-app@appspot.gserviceaccount.com`. * `serviceAccount:{projectid}.svc.id.goog[{namespace}/{kubernetes-sa}]`: An identifier for a [Kubernetes service account](https://cloud.google.com/kubernetes-engine/docs/how-to/kubernetes-service-accounts). For example, `my-project.svc.id.goog[my-namespace/my-kubernetes-sa]`. * `group:{emailid}`: An email address that represents a Google group. For example, `admins@example.com`. * `deleted:user:{emailid}?uid={uniqueid}`: An email address (plus unique identifier) representing a user that has been recently deleted. For example, `alice@example.com?uid=123456789012345678901`. If the user is recovered, this value reverts to `user:{emailid}` and the recovered user retains the role in the binding. * `deleted:serviceAccount:{emailid}?uid={uniqueid}`: An email address (plus unique identifier) representing a service account that has been recently deleted. For example, `my-other-app@appspot.gserviceaccount.com?uid=123456789012345678901`. If the service account is undeleted, this value reverts to `serviceAccount:{emailid}` and the undeleted service account retains the role in the binding. * `deleted:group:{emailid}?uid={uniqueid}`: An email address (plus unique identifier) representing a Google group that has been recently deleted. For example, `admins@example.com?uid=123456789012345678901`. If the group is recovered, this value reverts to `group:{emailid}` and the recovered group retains the role in the binding. * `domain:{domain}`: The G Suite domain (primary) that represents all the users of that domain. For example, `google.com` or `example.com`. ", "items": { "type": "string" }, diff --git a/googleapiclient/discovery_cache/documents/privateca.v1.json b/googleapiclient/discovery_cache/documents/privateca.v1.json index 99bfbf84175..039997ebfd4 100644 --- a/googleapiclient/discovery_cache/documents/privateca.v1.json +++ b/googleapiclient/discovery_cache/documents/privateca.v1.json @@ -1595,7 +1595,7 @@ } } }, - "revision": "20220623", + "revision": "20220728", "rootUrl": "https://privateca.googleapis.com/", "schemas": { "AccessUrls": { @@ -2954,7 +2954,7 @@ ], "enumDescriptions": [ "", - "The resource has to be deleted. When using this bit, the CLH should fail the operation.", + "The resource has to be deleted. When using this bit, the CLH should fail the operation. DEPRECATED. Instead use DELETE_RESOURCE OperationSignal in SideChannel. For more information - go/ccfe-delete-on-upsert, go/ccfe-reconciliation-protocol-ug#apply_delete", "This resource could not be repaired but the repair should be tried again at a later time. This can happen if there is a dependency that needs to be resolved first- e.g. if a parent resource must be repaired before a child resource." ], "type": "string" diff --git a/googleapiclient/discovery_cache/documents/privateca.v1beta1.json b/googleapiclient/discovery_cache/documents/privateca.v1beta1.json index 253cebb2baa..978e86b0882 100644 --- a/googleapiclient/discovery_cache/documents/privateca.v1beta1.json +++ b/googleapiclient/discovery_cache/documents/privateca.v1beta1.json @@ -1254,7 +1254,7 @@ } } }, - "revision": "20220623", + "revision": "20220728", "rootUrl": "https://privateca.googleapis.com/", "schemas": { "AccessUrls": { @@ -2401,7 +2401,7 @@ ], "enumDescriptions": [ "", - "The resource has to be deleted. When using this bit, the CLH should fail the operation.", + "The resource has to be deleted. When using this bit, the CLH should fail the operation. DEPRECATED. Instead use DELETE_RESOURCE OperationSignal in SideChannel. For more information - go/ccfe-delete-on-upsert, go/ccfe-reconciliation-protocol-ug#apply_delete", "This resource could not be repaired but the repair should be tried again at a later time. This can happen if there is a dependency that needs to be resolved first- e.g. if a parent resource must be repaired before a child resource." ], "type": "string" diff --git a/googleapiclient/discovery_cache/documents/prod_tt_sasportal.v1alpha1.json b/googleapiclient/discovery_cache/documents/prod_tt_sasportal.v1alpha1.json index ba8a8483c8d..4c2b46a2b1a 100644 --- a/googleapiclient/discovery_cache/documents/prod_tt_sasportal.v1alpha1.json +++ b/googleapiclient/discovery_cache/documents/prod_tt_sasportal.v1alpha1.json @@ -2564,7 +2564,7 @@ } } }, - "revision": "20220722", + "revision": "20220801", "rootUrl": "https://prod-tt-sasportal.googleapis.com/", "schemas": { "SasPortalAssignment": { diff --git a/googleapiclient/discovery_cache/documents/pubsub.v1.json b/googleapiclient/discovery_cache/documents/pubsub.v1.json index 39769442a4c..8252171d0b6 100644 --- a/googleapiclient/discovery_cache/documents/pubsub.v1.json +++ b/googleapiclient/discovery_cache/documents/pubsub.v1.json @@ -1424,7 +1424,7 @@ } } }, - "revision": "20220718", + "revision": "20220729", "rootUrl": "https://pubsub.googleapis.com/", "schemas": { "AcknowledgeRequest": { @@ -2059,7 +2059,7 @@ "type": "object" }, "Subscription": { - "description": "A subscription resource.", + "description": "A subscription resource. If none of `push_config` or `bigquery_config` is set, then the subscriber will pull and ack messages using API methods. At most one of these fields may be set.", "id": "Subscription", "properties": { "ackDeadlineSeconds": { @@ -2069,7 +2069,7 @@ }, "bigqueryConfig": { "$ref": "BigQueryConfig", - "description": "If delivery to BigQuery is used with this subscription, this field is used to configure it. Either `pushConfig` or `bigQueryConfig` can be set, but not both. If both are empty, then the subscriber will pull and ack messages using API methods." + "description": "If delivery to BigQuery is used with this subscription, this field is used to configure it." }, "deadLetterPolicy": { "$ref": "DeadLetterPolicy", @@ -2113,7 +2113,7 @@ }, "pushConfig": { "$ref": "PushConfig", - "description": "If push delivery is used with this subscription, this field is used to configure it. Either `pushConfig` or `bigQueryConfig` can be set, but not both. If both are empty, then the subscriber will pull and ack messages using API methods." + "description": "If push delivery is used with this subscription, this field is used to configure it." }, "retainAckedMessages": { "description": "Indicates whether to retain acknowledged messages. If true, then messages are not expunged from the subscription's backlog, even if they are acknowledged, until they fall out of the `message_retention_duration` window. This must be true if you would like to [`Seek` to a timestamp] (https://cloud.google.com/pubsub/docs/replay-overview#seek_to_a_time) in the past to replay previously-acknowledged messages.", diff --git a/googleapiclient/discovery_cache/documents/pubsub.v1beta1a.json b/googleapiclient/discovery_cache/documents/pubsub.v1beta1a.json index 14810dec26f..690564c60d4 100644 --- a/googleapiclient/discovery_cache/documents/pubsub.v1beta1a.json +++ b/googleapiclient/discovery_cache/documents/pubsub.v1beta1a.json @@ -457,7 +457,7 @@ } } }, - "revision": "20220718", + "revision": "20220729", "rootUrl": "https://pubsub.googleapis.com/", "schemas": { "AcknowledgeRequest": { diff --git a/googleapiclient/discovery_cache/documents/pubsub.v1beta2.json b/googleapiclient/discovery_cache/documents/pubsub.v1beta2.json index aa781a435c6..76eea1f2303 100644 --- a/googleapiclient/discovery_cache/documents/pubsub.v1beta2.json +++ b/googleapiclient/discovery_cache/documents/pubsub.v1beta2.json @@ -724,7 +724,7 @@ } } }, - "revision": "20220718", + "revision": "20220729", "rootUrl": "https://pubsub.googleapis.com/", "schemas": { "AcknowledgeRequest": { diff --git a/googleapiclient/discovery_cache/documents/pubsublite.v1.json b/googleapiclient/discovery_cache/documents/pubsublite.v1.json index 95b2350849e..8870dd0f868 100644 --- a/googleapiclient/discovery_cache/documents/pubsublite.v1.json +++ b/googleapiclient/discovery_cache/documents/pubsublite.v1.json @@ -1040,7 +1040,7 @@ } } }, - "revision": "20220715", + "revision": "20220729", "rootUrl": "https://pubsublite.googleapis.com/", "schemas": { "CancelOperationRequest": { diff --git a/googleapiclient/discovery_cache/documents/realtimebidding.v1.json b/googleapiclient/discovery_cache/documents/realtimebidding.v1.json index 16f6f877152..8f6f45f1cec 100644 --- a/googleapiclient/discovery_cache/documents/realtimebidding.v1.json +++ b/googleapiclient/discovery_cache/documents/realtimebidding.v1.json @@ -1305,7 +1305,7 @@ } } }, - "revision": "20220716", + "revision": "20220806", "rootUrl": "https://realtimebidding.googleapis.com/", "schemas": { "ActivatePretargetingConfigRequest": { @@ -1820,7 +1820,7 @@ "type": "array" }, "version": { - "description": "Output only. The version of this creative. Version for a new creative is 1 and it increments during subsequent creative updates.", + "description": "Output only. The version of the creative. Version for a new creative is 1 and it increments during subsequent creative updates.", "format": "int32", "readOnly": true, "type": "integer" diff --git a/googleapiclient/discovery_cache/documents/realtimebidding.v1alpha.json b/googleapiclient/discovery_cache/documents/realtimebidding.v1alpha.json index f87f75b3037..e13df70267c 100644 --- a/googleapiclient/discovery_cache/documents/realtimebidding.v1alpha.json +++ b/googleapiclient/discovery_cache/documents/realtimebidding.v1alpha.json @@ -234,7 +234,7 @@ } } }, - "revision": "20220716", + "revision": "20220806", "rootUrl": "https://realtimebidding.googleapis.com/", "schemas": { "ActivateBiddingFunctionRequest": { diff --git a/googleapiclient/discovery_cache/documents/recaptchaenterprise.v1.json b/googleapiclient/discovery_cache/documents/recaptchaenterprise.v1.json index a41edb60168..f3f1770ac32 100644 --- a/googleapiclient/discovery_cache/documents/recaptchaenterprise.v1.json +++ b/googleapiclient/discovery_cache/documents/recaptchaenterprise.v1.json @@ -371,7 +371,7 @@ ] }, "retrieveLegacySecretKey": { - "description": "Returns the secret key related to the specified public key. You should use the legacy secret key only if you are integrating with a 3rd party using the legacy reCAPTCHA instead of reCAPTCHA Enterprise.", + "description": "Returns the secret key related to the specified public key. You must use the legacy secret key only in a 3rd party integration with legacy reCAPTCHA.", "flatPath": "v1/projects/{projectsId}/keys/{keysId}:retrieveLegacySecretKey", "httpMethod": "GET", "id": "recaptchaenterprise.projects.keys.retrieveLegacySecretKey", @@ -380,7 +380,7 @@ ], "parameters": { "key": { - "description": "Required. The public key name linked to the requested secret key , in the format \"projects/{project}/keys/{key}\".", + "description": "Required. The public key name linked to the requested secret key in the format \"projects/{project}/keys/{key}\".", "location": "path", "pattern": "^projects/[^/]+/keys/[^/]+$", "required": true, @@ -409,7 +409,7 @@ ], "parameters": { "project": { - "description": "Required. The name of the project to search related account group memberships from, in the format \"projects/{project}\".", + "description": "Required. The name of the project to search related account group memberships from. Specify the project name in the following format: \"projects/{project}\".", "location": "path", "pattern": "^projects/[^/]+$", "required": true, @@ -441,7 +441,7 @@ ], "parameters": { "pageSize": { - "description": "Optional. The maximum number of groups to return. The service may return fewer than this value. If unspecified, at most 50 groups will be returned. The maximum value is 1000; values above 1000 will be coerced to 1000.", + "description": "Optional. The maximum number of groups to return. The service might return fewer than this value. If unspecified, at most 50 groups are returned. The maximum value is 1000; values above 1000 are coerced to 1000.", "format": "int32", "location": "query", "type": "integer" @@ -472,7 +472,7 @@ "memberships": { "methods": { "list": { - "description": "Get the memberships in a group of related accounts.", + "description": "Get memberships in a group of related accounts.", "flatPath": "v1/projects/{projectsId}/relatedaccountgroups/{relatedaccountgroupsId}/memberships", "httpMethod": "GET", "id": "recaptchaenterprise.projects.relatedaccountgroups.memberships.list", @@ -481,7 +481,7 @@ ], "parameters": { "pageSize": { - "description": "Optional. The maximum number of accounts to return. The service may return fewer than this value. If unspecified, at most 50 accounts will be returned. The maximum value is 1000; values above 1000 will be coerced to 1000.", + "description": "Optional. The maximum number of accounts to return. The service might return fewer than this value. If unspecified, at most 50 accounts are returned. The maximum value is 1000; values above 1000 are coerced to 1000.", "format": "int32", "location": "query", "type": "integer" @@ -514,11 +514,11 @@ } } }, - "revision": "20220708", + "revision": "20220730", "rootUrl": "https://recaptchaenterprise.googleapis.com/", "schemas": { "GoogleCloudRecaptchaenterpriseV1AccountDefenderAssessment": { - "description": "Account Defender risk assessment.", + "description": "Account defender risk assessment.", "id": "GoogleCloudRecaptchaenterpriseV1AccountDefenderAssessment", "properties": { "labels": { @@ -534,9 +534,9 @@ "enumDescriptions": [ "Default unspecified type.", "The request matches a known good profile for the user.", - "The request is potentially a suspicious login event and should be further verified either via multi-factor authentication or another system.", - "The request matched a profile that previously had suspicious account creation behavior. This could mean this is a fake account.", - "The account in the request has a high number of related accounts. It does not necessarily imply that the account is bad but could require investigating." + "The request is potentially a suspicious login event and must be further verified either through multi-factor authentication or another system.", + "The request matched a profile that previously had suspicious account creation behavior. This can mean that this is a fake account.", + "The account in the request has a high number of related accounts. It does not necessarily imply that the account is bad but can require further investigation." ], "type": "string" }, @@ -586,7 +586,7 @@ "type": "string" }, "hashedAccountId": { - "description": "Optional. Optional unique stable hashed user identifier to apply to the assessment. This is an alternative to setting the hashed_account_id in CreateAssessment, for example when the account identifier is not yet known in the initial request. It is recommended that the identifier is hashed using hmac-sha256 with stable secret.", + "description": "Optional. Unique stable hashed user identifier to apply to the assessment. This is an alternative to setting the hashed_account_id in CreateAssessment, for example when the account identifier is not yet known in the initial request. It is recommended that the identifier is hashed using hmac-sha256 with stable secret.", "format": "byte", "type": "string" }, @@ -598,6 +598,8 @@ "CHARGEBACK", "CHARGEBACK_FRAUD", "CHARGEBACK_DISPUTE", + "REFUND", + "REFUND_FRAUD", "PAYMENT_HEURISTICS", "INITIATED_TWO_FACTOR", "PASSED_TWO_FACTOR", @@ -607,9 +609,11 @@ ], "enumDescriptions": [ "Default unspecified reason.", - "Indicates a chargeback issued for the transaction with no other details. When possible, specify the type by using CHARGEBACK_FRAUD or CHARGEBACK_DISPUTE instead.", + "Indicates a chargeback issued for a transaction with no other details. When possible, specify the type by using CHARGEBACK_FRAUD or CHARGEBACK_DISPUTE instead.", "Indicates a chargeback related to an alleged unauthorized transaction from the cardholder's perspective (for example, the card number was stolen).", "Indicates a chargeback related to the cardholder having provided their card details but allegedly not being satisfied with the purchase (for example, misrepresentation, attempted cancellation).", + "Indicates a refund of the complete payment by the seller.", + "Indicates that a complete payment transaction was determined to be fraudulent by the seller, and was cancelled and refunded as a result.", "Indicates the transaction associated with the assessment is suspected of being fraudulent based on the payment method, billing details, shipping address or other transaction information.", "Indicates that the user was served a 2FA challenge. An old assessment with `ENUM_VALUES.INITIATED_TWO_FACTOR` reason that has not been overwritten with `PASSED_TWO_FACTOR` is treated as an abandoned 2FA flow. This is equivalent to `FAILED_TWO_FACTOR`.", "Indicates that the user passed a 2FA challenge.", @@ -636,7 +640,7 @@ "properties": { "accountDefenderAssessment": { "$ref": "GoogleCloudRecaptchaenterpriseV1AccountDefenderAssessment", - "description": "Assessment returned by Account Defender when a hashed_account_id is provided." + "description": "Assessment returned by account defender when a hashed_account_id is provided." }, "event": { "$ref": "GoogleCloudRecaptchaenterpriseV1Event", @@ -649,7 +653,7 @@ }, "privatePasswordLeakVerification": { "$ref": "GoogleCloudRecaptchaenterpriseV1PrivatePasswordLeakVerification", - "description": "The private password leak verification field contains the parameters used to check for leaks privately without sharing user credentials." + "description": "The private password leak verification field contains the parameters that are used to to check for leaks privately without sharing user credentials." }, "riskAnalysis": { "$ref": "GoogleCloudRecaptchaenterpriseV1RiskAnalysis", @@ -699,7 +703,7 @@ "type": "string" }, "hashedAccountId": { - "description": "Optional. Optional unique stable hashed user identifier for the request. The identifier should ideally be hashed using sha256 with stable secret.", + "description": "Optional. Unique stable hashed user identifier for the request. The identifier must be hashed using hmac-sha256 with stable secret.", "format": "byte", "type": "string" }, @@ -883,7 +887,7 @@ "id": "GoogleCloudRecaptchaenterpriseV1PrivatePasswordLeakVerification", "properties": { "encryptedLeakMatchPrefixes": { - "description": "Output only. List of prefixes of the encrypted potential password leaks that matched the given parameters. They should be compared with the client-side decryption prefix of `reencrypted_user_credentials_hash`", + "description": "Output only. List of prefixes of the encrypted potential password leaks that matched the given parameters. They must be compared with the client-side decryption prefix of `reencrypted_user_credentials_hash`", "items": { "format": "byte", "type": "string" @@ -902,7 +906,7 @@ "type": "string" }, "reencryptedUserCredentialsHash": { - "description": "Output only. Corresponds to the re-encryption of the `encrypted_user_credentials_hash` field. Used to match potential password leaks within `encrypted_leak_match_prefixes`.", + "description": "Output only. Corresponds to the re-encryption of the `encrypted_user_credentials_hash` field. It is used to match potential password leaks within `encrypted_leak_match_prefixes`.", "format": "byte", "readOnly": true, "type": "string" @@ -926,7 +930,7 @@ "id": "GoogleCloudRecaptchaenterpriseV1RelatedAccountGroupMembership", "properties": { "hashedAccountId": { - "description": "The unique stable hashed user identifier of the member. The identifier corresponds to a `hashed_account_id` provided in a previous CreateAssessment or AnnotateAssessment call.", + "description": "The unique stable hashed user identifier of the member. The identifier corresponds to a `hashed_account_id` provided in a previous `CreateAssessment` or `AnnotateAssessment` call.", "format": "byte", "type": "string" }, @@ -938,7 +942,7 @@ "type": "object" }, "GoogleCloudRecaptchaenterpriseV1RetrieveLegacySecretKeyResponse": { - "description": "Secret key used in legacy reCAPTCHA only. Should be used when integrating with a 3rd party which is still using legacy reCAPTCHA.", + "description": "Secret key is used only in legacy reCAPTCHA. It must be used in a 3rd party integration with legacy reCAPTCHA.", "id": "GoogleCloudRecaptchaenterpriseV1RetrieveLegacySecretKeyResponse", "properties": { "legacySecretKey": { @@ -1021,12 +1025,12 @@ "id": "GoogleCloudRecaptchaenterpriseV1SearchRelatedAccountGroupMembershipsRequest", "properties": { "hashedAccountId": { - "description": "Optional. The unique stable hashed user identifier we should search connections to. The identifier should correspond to a `hashed_account_id` provided in a previous CreateAssessment or AnnotateAssessment call.", + "description": "Optional. The unique stable hashed user identifier we should search connections to. The identifier should correspond to a `hashed_account_id` provided in a previous `CreateAssessment` or `AnnotateAssessment` call.", "format": "byte", "type": "string" }, "pageSize": { - "description": "Optional. The maximum number of groups to return. The service may return fewer than this value. If unspecified, at most 50 groups will be returned. The maximum value is 1000; values above 1000 will be coerced to 1000.", + "description": "Optional. The maximum number of groups to return. The service might return fewer than this value. If unspecified, at most 50 groups are returned. The maximum value is 1000; values above 1000 are coerced to 1000.", "format": "int32", "type": "integer" }, diff --git a/googleapiclient/discovery_cache/documents/recommendationengine.v1beta1.json b/googleapiclient/discovery_cache/documents/recommendationengine.v1beta1.json index 403c4759eaf..54b3c081a33 100644 --- a/googleapiclient/discovery_cache/documents/recommendationengine.v1beta1.json +++ b/googleapiclient/discovery_cache/documents/recommendationengine.v1beta1.json @@ -841,7 +841,7 @@ } } }, - "revision": "20220714", + "revision": "20220728", "rootUrl": "https://recommendationengine.googleapis.com/", "schemas": { "GoogleApiHttpBody": { diff --git a/googleapiclient/discovery_cache/documents/recommender.v1.json b/googleapiclient/discovery_cache/documents/recommender.v1.json index 47c938abec7..793cf6f2e8c 100644 --- a/googleapiclient/discovery_cache/documents/recommender.v1.json +++ b/googleapiclient/discovery_cache/documents/recommender.v1.json @@ -1442,7 +1442,7 @@ } } }, - "revision": "20220718", + "revision": "20220730", "rootUrl": "https://recommender.googleapis.com/", "schemas": { "GoogleCloudRecommenderV1CostProjection": { diff --git a/googleapiclient/discovery_cache/documents/recommender.v1beta1.json b/googleapiclient/discovery_cache/documents/recommender.v1beta1.json index 84ef26dad4e..c2b9de0295e 100644 --- a/googleapiclient/discovery_cache/documents/recommender.v1beta1.json +++ b/googleapiclient/discovery_cache/documents/recommender.v1beta1.json @@ -1442,7 +1442,7 @@ } } }, - "revision": "20220718", + "revision": "20220730", "rootUrl": "https://recommender.googleapis.com/", "schemas": { "GoogleCloudRecommenderV1beta1CostProjection": { diff --git a/googleapiclient/discovery_cache/documents/redis.v1.json b/googleapiclient/discovery_cache/documents/redis.v1.json index a095d9aa385..9d9a5e6fb4f 100644 --- a/googleapiclient/discovery_cache/documents/redis.v1.json +++ b/googleapiclient/discovery_cache/documents/redis.v1.json @@ -624,7 +624,7 @@ } } }, - "revision": "20220716", + "revision": "20220728", "rootUrl": "https://redis.googleapis.com/", "schemas": { "Empty": { diff --git a/googleapiclient/discovery_cache/documents/redis.v1beta1.json b/googleapiclient/discovery_cache/documents/redis.v1beta1.json index 584113cab66..1891124fc9a 100644 --- a/googleapiclient/discovery_cache/documents/redis.v1beta1.json +++ b/googleapiclient/discovery_cache/documents/redis.v1beta1.json @@ -624,7 +624,7 @@ } } }, - "revision": "20220716", + "revision": "20220728", "rootUrl": "https://redis.googleapis.com/", "schemas": { "Empty": { diff --git a/googleapiclient/discovery_cache/documents/reseller.v1.json b/googleapiclient/discovery_cache/documents/reseller.v1.json index cd7e4f23b57..b3ebd68f4c0 100644 --- a/googleapiclient/discovery_cache/documents/reseller.v1.json +++ b/googleapiclient/discovery_cache/documents/reseller.v1.json @@ -631,7 +631,7 @@ } } }, - "revision": "20220720", + "revision": "20220802", "rootUrl": "https://reseller.googleapis.com/", "schemas": { "Address": { diff --git a/googleapiclient/discovery_cache/documents/resourcesettings.v1.json b/googleapiclient/discovery_cache/documents/resourcesettings.v1.json index 40e28e9391e..938829898d3 100644 --- a/googleapiclient/discovery_cache/documents/resourcesettings.v1.json +++ b/googleapiclient/discovery_cache/documents/resourcesettings.v1.json @@ -499,7 +499,7 @@ } } }, - "revision": "20220722", + "revision": "20220806", "rootUrl": "https://resourcesettings.googleapis.com/", "schemas": { "GoogleCloudResourcesettingsV1ListSettingsResponse": { diff --git a/googleapiclient/discovery_cache/documents/retail.v2.json b/googleapiclient/discovery_cache/documents/retail.v2.json index 2ea95404a16..51e3103c504 100644 --- a/googleapiclient/discovery_cache/documents/retail.v2.json +++ b/googleapiclient/discovery_cache/documents/retail.v2.json @@ -168,6 +168,56 @@ "https://www.googleapis.com/auth/cloud-platform" ] }, + "getAttributesConfig": { + "description": "Gets an AttributesConfig.", + "flatPath": "v2/projects/{projectsId}/locations/{locationsId}/catalogs/{catalogsId}/attributesConfig", + "httpMethod": "GET", + "id": "retail.projects.locations.catalogs.getAttributesConfig", + "parameterOrder": [ + "name" + ], + "parameters": { + "name": { + "description": "Required. Full AttributesConfig resource name. Format: `projects/{project_number}/locations/{location_id}/catalogs/{catalog_id}/attributesConfig`", + "location": "path", + "pattern": "^projects/[^/]+/locations/[^/]+/catalogs/[^/]+/attributesConfig$", + "required": true, + "type": "string" + } + }, + "path": "v2/{+name}", + "response": { + "$ref": "GoogleCloudRetailV2AttributesConfig" + }, + "scopes": [ + "https://www.googleapis.com/auth/cloud-platform" + ] + }, + "getCompletionConfig": { + "description": "Gets a CompletionConfig.", + "flatPath": "v2/projects/{projectsId}/locations/{locationsId}/catalogs/{catalogsId}/completionConfig", + "httpMethod": "GET", + "id": "retail.projects.locations.catalogs.getCompletionConfig", + "parameterOrder": [ + "name" + ], + "parameters": { + "name": { + "description": "Required. Full CompletionConfig resource name. Format: projects/{project_number}/locations/{location_id}/catalogs/{catalog_id}/completionConfig", + "location": "path", + "pattern": "^projects/[^/]+/locations/[^/]+/catalogs/[^/]+/completionConfig$", + "required": true, + "type": "string" + } + }, + "path": "v2/{+name}", + "response": { + "$ref": "GoogleCloudRetailV2CompletionConfig" + }, + "scopes": [ + "https://www.googleapis.com/auth/cloud-platform" + ] + }, "getDefaultBranch": { "description": "Get which branch is currently default branch set by CatalogService.SetDefaultBranch method under a specified parent catalog.", "flatPath": "v2/projects/{projectsId}/locations/{locationsId}/catalogs/{catalogsId}:getDefaultBranch", @@ -290,9 +340,137 @@ "scopes": [ "https://www.googleapis.com/auth/cloud-platform" ] + }, + "updateAttributesConfig": { + "description": "Updates the AttributesConfig. The catalog attributes in the request will be updated in the catalog, or inserted if they do not exist. Existing catalog attributes not included in the request will remain unchanged. Attributes that are assigned to products, but do not exist at the catalog level, are always included in the response. The product attribute is assigned default values for missing catalog attribute fields, e.g., searchable and dynamic facetable options.", + "flatPath": "v2/projects/{projectsId}/locations/{locationsId}/catalogs/{catalogsId}/attributesConfig", + "httpMethod": "PATCH", + "id": "retail.projects.locations.catalogs.updateAttributesConfig", + "parameterOrder": [ + "name" + ], + "parameters": { + "name": { + "description": "Required. Immutable. The fully qualified resource name of the attribute config. Format: `projects/*/locations/*/catalogs/*/attributesConfig`", + "location": "path", + "pattern": "^projects/[^/]+/locations/[^/]+/catalogs/[^/]+/attributesConfig$", + "required": true, + "type": "string" + }, + "updateMask": { + "description": "Indicates which fields in the provided AttributesConfig to update. The following is the only supported field: * AttributesConfig.catalog_attributes If not set, all supported fields are updated.", + "format": "google-fieldmask", + "location": "query", + "type": "string" + } + }, + "path": "v2/{+name}", + "request": { + "$ref": "GoogleCloudRetailV2AttributesConfig" + }, + "response": { + "$ref": "GoogleCloudRetailV2AttributesConfig" + }, + "scopes": [ + "https://www.googleapis.com/auth/cloud-platform" + ] + }, + "updateCompletionConfig": { + "description": "Updates the CompletionConfigs.", + "flatPath": "v2/projects/{projectsId}/locations/{locationsId}/catalogs/{catalogsId}/completionConfig", + "httpMethod": "PATCH", + "id": "retail.projects.locations.catalogs.updateCompletionConfig", + "parameterOrder": [ + "name" + ], + "parameters": { + "name": { + "description": "Required. Immutable. Fully qualified name `projects/*/locations/*/catalogs/*/completionConfig`", + "location": "path", + "pattern": "^projects/[^/]+/locations/[^/]+/catalogs/[^/]+/completionConfig$", + "required": true, + "type": "string" + }, + "updateMask": { + "description": "Indicates which fields in the provided CompletionConfig to update. The following are the only supported fields: * CompletionConfig.matching_order * CompletionConfig.max_suggestions * CompletionConfig.min_prefix_length * CompletionConfig.auto_learning If not set, all supported fields are updated.", + "format": "google-fieldmask", + "location": "query", + "type": "string" + } + }, + "path": "v2/{+name}", + "request": { + "$ref": "GoogleCloudRetailV2CompletionConfig" + }, + "response": { + "$ref": "GoogleCloudRetailV2CompletionConfig" + }, + "scopes": [ + "https://www.googleapis.com/auth/cloud-platform" + ] } }, "resources": { + "attributesConfig": { + "methods": { + "addCatalogAttribute": { + "description": "Adds the specified CatalogAttribute to the AttributesConfig. If the CatalogAttribute to add already exists, an ALREADY_EXISTS error is returned.", + "flatPath": "v2/projects/{projectsId}/locations/{locationsId}/catalogs/{catalogsId}/attributesConfig:addCatalogAttribute", + "httpMethod": "POST", + "id": "retail.projects.locations.catalogs.attributesConfig.addCatalogAttribute", + "parameterOrder": [ + "attributesConfig" + ], + "parameters": { + "attributesConfig": { + "description": "Required. Full AttributesConfig resource name. Format: `projects/{project_number}/locations/{location_id}/catalogs/{catalog_id}/attributesConfig`", + "location": "path", + "pattern": "^projects/[^/]+/locations/[^/]+/catalogs/[^/]+/attributesConfig$", + "required": true, + "type": "string" + } + }, + "path": "v2/{+attributesConfig}:addCatalogAttribute", + "request": { + "$ref": "GoogleCloudRetailV2AddCatalogAttributeRequest" + }, + "response": { + "$ref": "GoogleCloudRetailV2AttributesConfig" + }, + "scopes": [ + "https://www.googleapis.com/auth/cloud-platform" + ] + }, + "removeCatalogAttribute": { + "description": "Removes the specified CatalogAttribute from the AttributesConfig. If the CatalogAttribute to remove does not exist, a NOT_FOUND error is returned.", + "flatPath": "v2/projects/{projectsId}/locations/{locationsId}/catalogs/{catalogsId}/attributesConfig:removeCatalogAttribute", + "httpMethod": "POST", + "id": "retail.projects.locations.catalogs.attributesConfig.removeCatalogAttribute", + "parameterOrder": [ + "attributesConfig" + ], + "parameters": { + "attributesConfig": { + "description": "Required. Full AttributesConfig resource name. Format: `projects/{project_number}/locations/{location_id}/catalogs/{catalog_id}/attributesConfig`", + "location": "path", + "pattern": "^projects/[^/]+/locations/[^/]+/catalogs/[^/]+/attributesConfig$", + "required": true, + "type": "string" + } + }, + "path": "v2/{+attributesConfig}:removeCatalogAttribute", + "request": { + "$ref": "GoogleCloudRetailV2RemoveCatalogAttributeRequest" + }, + "response": { + "$ref": "GoogleCloudRetailV2AttributesConfig" + }, + "scopes": [ + "https://www.googleapis.com/auth/cloud-platform" + ] + } + } + }, "branches": { "resources": { "operations": { @@ -1193,7 +1371,7 @@ } } }, - "revision": "20220716", + "revision": "20220802", "rootUrl": "https://retail.googleapis.com/", "schemas": { "GoogleApiHttpBody": { @@ -1346,6 +1524,17 @@ }, "type": "object" }, + "GoogleCloudRetailV2AddCatalogAttributeRequest": { + "description": "Request for CatalogService.AddCatalogAttribute method.", + "id": "GoogleCloudRetailV2AddCatalogAttributeRequest", + "properties": { + "catalogAttribute": { + "$ref": "GoogleCloudRetailV2CatalogAttribute", + "description": "Required. The CatalogAttribute to add." + } + }, + "type": "object" + }, "GoogleCloudRetailV2AddFulfillmentPlacesMetadata": { "description": "Metadata related to the progress of the AddFulfillmentPlaces operation. Currently empty because there is no meaningful metadata populated from the ProductService.AddFulfillmentPlaces method.", "id": "GoogleCloudRetailV2AddFulfillmentPlacesMetadata", @@ -1425,6 +1614,39 @@ "properties": {}, "type": "object" }, + "GoogleCloudRetailV2AttributesConfig": { + "description": "Catalog level attribute config.", + "id": "GoogleCloudRetailV2AttributesConfig", + "properties": { + "attributeConfigLevel": { + "description": "Output only. The AttributeConfigLevel used for this catalog.", + "enum": [ + "ATTRIBUTE_CONFIG_LEVEL_UNSPECIFIED", + "PRODUCT_LEVEL_ATTRIBUTE_CONFIG", + "CATALOG_LEVEL_ATTRIBUTE_CONFIG" + ], + "enumDescriptions": [ + "Value used when unset. Defaults to CATALOG_LEVEL_ATTRIBUTE_CONFIG.", + "At this level, we honor the attribute configurations set in Product.attributes.", + "At this level, we honor the attribute configurations set in CatalogConfig.attribute_configs." + ], + "readOnly": true, + "type": "string" + }, + "catalogAttributes": { + "additionalProperties": { + "$ref": "GoogleCloudRetailV2CatalogAttribute" + }, + "description": "Enable attribute(s) config at catalog level. For example, indexable, dynamic_facetable, or searchable for each attribute. The key is catalog attribute's name. For example: `color`, `brands`, `attributes.custom_attribute`, such as `attributes.xyz`. The maximum number of catalog attributes allowed in a request is 1000.", + "type": "object" + }, + "name": { + "description": "Required. Immutable. The fully qualified resource name of the attribute config. Format: `projects/*/locations/*/catalogs/*/attributesConfig`", + "type": "string" + } + }, + "type": "object" + }, "GoogleCloudRetailV2Audience": { "description": "An intended audience of the Product for whom it's sold.", "id": "GoogleCloudRetailV2Audience", @@ -1451,7 +1673,7 @@ "id": "GoogleCloudRetailV2BigQuerySource", "properties": { "dataSchema": { - "description": "The schema to use when parsing the data from the source. Supported values for product imports: * `product` (default): One JSON Product per line. Each product must have a valid Product.id. * `product_merchant_center`: See [Importing catalog data from Merchant Center](https://cloud.google.com/retail/recommendations-ai/docs/upload-catalog#mc). Supported values for user events imports: * `user_event` (default): One JSON UserEvent per line. * `user_event_ga360`: The schema is available here: https://support.google.com/analytics/answer/3437719. * `user_event_ga4`: This feature is in private preview. Please contact the support team for importing Google Analytics 4 events. The schema is available here: https://support.google.com/analytics/answer/7029846. Supported values for auto-completion imports: * `suggestions` (default): One JSON completion suggestion per line. * `denylist`: One JSON deny suggestion per line. * `allowlist`: One JSON allow suggestion per line.", + "description": "The schema to use when parsing the data from the source. Supported values for product imports: * `product` (default): One JSON Product per line. Each product must have a valid Product.id. * `product_merchant_center`: See [Importing catalog data from Merchant Center](https://cloud.google.com/retail/recommendations-ai/docs/upload-catalog#mc). Supported values for user events imports: * `user_event` (default): One JSON UserEvent per line. * `user_event_ga360`: The schema is available here: https://support.google.com/analytics/answer/3437719. * `user_event_ga4`: The schema is available here: https://support.google.com/analytics/answer/7029846. Supported values for auto-completion imports: * `suggestions` (default): One JSON completion suggestion per line. * `denylist`: One JSON deny suggestion per line. * `allowlist`: One JSON allow suggestion per line.", "type": "string" }, "datasetId": { @@ -1464,7 +1686,7 @@ }, "partitionDate": { "$ref": "GoogleTypeDate", - "description": "BigQuery time partitioned table's _PARTITIONDATE in YYYY-MM-DD format. Only supported when ImportProductsRequest.reconciliation_mode is set to `FULL`." + "description": "BigQuery time partitioned table's _PARTITIONDATE in YYYY-MM-DD format. Only supported in ImportProductsRequest." }, "projectId": { "description": "The project ID (can be project # or ID) that the BigQuery source is in with a length limit of 128 characters. If not specified, inherits the project ID from the parent request.", @@ -1496,6 +1718,79 @@ }, "type": "object" }, + "GoogleCloudRetailV2CatalogAttribute": { + "description": "Catalog level attribute config for an attribute. For example, if customers want to enable/disable facet for a specific attribute.", + "id": "GoogleCloudRetailV2CatalogAttribute", + "properties": { + "dynamicFacetableOption": { + "description": "If DYNAMIC_FACETABLE_ENABLED, attribute values are available for dynamic facet. Could only be DYNAMIC_FACETABLE_DISABLED if CatalogAttribute.indexable_option is INDEXABLE_DISABLED. Otherwise, an INVALID_ARGUMENT error is returned.", + "enum": [ + "DYNAMIC_FACETABLE_OPTION_UNSPECIFIED", + "DYNAMIC_FACETABLE_ENABLED", + "DYNAMIC_FACETABLE_DISABLED" + ], + "enumDescriptions": [ + "Value used when unset. Defaults to DYNAMIC_FACETABLE_ENABLED.", + "Dynamic facetable option enabled for an attribute.", + "Dynamic facetable option disabled for an attribute." + ], + "type": "string" + }, + "inUse": { + "description": "Output only. Indicates whether this attribute has been used by any products. `True` if at least one Product is using this attribute in Product.attributes. Otherwise, this field is `False`. CatalogAttribute can be pre-loaded by using CatalogService.AddCatalogAttribute, CatalogService.ImportCatalogAttributes, or CatalogService.UpdateAttributesConfig APIs. This field is `False` for pre-loaded CatalogAttributes. Only pre-loaded CatalogAttributes that are neither in use by products nor predefined can be deleted. CatalogAttributes that are either in use by products or are predefined cannot be deleted; however, their configuration properties will reset to default values upon removal request. After catalog changes, it takes about 10 minutes for this field to update.", + "readOnly": true, + "type": "boolean" + }, + "indexableOption": { + "description": "When AttributesConfig.attribute_config_level is CATALOG_LEVEL_ATTRIBUTE_CONFIG, if INDEXABLE_ENABLED attribute values are indexed so that it can be filtered, faceted, or boosted in SearchService.Search.", + "enum": [ + "INDEXABLE_OPTION_UNSPECIFIED", + "INDEXABLE_ENABLED", + "INDEXABLE_DISABLED" + ], + "enumDescriptions": [ + "Value used when unset. Defaults to INDEXABLE_ENABLED.", + "Indexable option enabled for an attribute.", + "Indexable option disabled for an attribute." + ], + "type": "string" + }, + "key": { + "description": "Required. Attribute name. For example: `color`, `brands`, `attributes.custom_attribute`, such as `attributes.xyz`. To be indexable, the attribute name can contain only alpha-numeric characters and underscores. For example, an attribute named `attributes.abc_xyz` can be indexed, but an attribute named `attributes.abc-xyz` cannot be indexed.", + "type": "string" + }, + "searchableOption": { + "description": "When AttributesConfig.attribute_config_level is CATALOG_LEVEL_ATTRIBUTE_CONFIG, if SEARCHABLE_ENABLED, attribute values are searchable by text queries in SearchService.Search. If SEARCHABLE_ENABLED but attribute type is numerical, attribute values will not be searchable by text queries in SearchService.Search, as there are no text values associated to numerical attributes.", + "enum": [ + "SEARCHABLE_OPTION_UNSPECIFIED", + "SEARCHABLE_ENABLED", + "SEARCHABLE_DISABLED" + ], + "enumDescriptions": [ + "Value used when unset. Defaults to SEARCHABLE_DISABLED.", + "Searchable option enabled for an attribute.", + "Searchable option disabled for an attribute." + ], + "type": "string" + }, + "type": { + "description": "Output only. The type of this attribute. This is derived from the attribute in Product.attributes.", + "enum": [ + "UNKNOWN", + "TEXTUAL", + "NUMERICAL" + ], + "enumDescriptions": [ + "The type of the attribute is unknown. Used when type cannot be derived from attribute that is not in_use.", + "Textual attribute.", + "Numerical attribute." + ], + "readOnly": true, + "type": "string" + } + }, + "type": "object" + }, "GoogleCloudRetailV2ColorInfo": { "description": "The color information of a Product.", "id": "GoogleCloudRetailV2ColorInfo", @@ -1571,6 +1866,65 @@ }, "type": "object" }, + "GoogleCloudRetailV2CompletionConfig": { + "description": "Catalog level autocomplete config for customers to customize autocomplete feature's settings.", + "id": "GoogleCloudRetailV2CompletionConfig", + "properties": { + "allowlistInputConfig": { + "$ref": "GoogleCloudRetailV2CompletionDataInputConfig", + "description": "Output only. The source data for the latest import of the autocomplete allowlist phrases.", + "readOnly": true + }, + "autoLearning": { + "description": "If set to true, the auto learning function is enabled. Auto learning uses user data to generate suggestions using ML techniques. Default value is false. Only after enabling auto learning can users use `cloud-retail` data in CompleteQueryRequest.", + "type": "boolean" + }, + "denylistInputConfig": { + "$ref": "GoogleCloudRetailV2CompletionDataInputConfig", + "description": "Output only. The source data for the latest import of the autocomplete denylist phrases.", + "readOnly": true + }, + "lastAllowlistImportOperation": { + "description": "Output only. Name of the LRO corresponding to the latest allowlist import. Can use GetOperation API to retrieve the latest state of the Long Running Operation.", + "readOnly": true, + "type": "string" + }, + "lastDenylistImportOperation": { + "description": "Output only. Name of the LRO corresponding to the latest denylist import. Can use GetOperation API to retrieve the latest state of the Long Running Operation.", + "readOnly": true, + "type": "string" + }, + "lastSuggestionsImportOperation": { + "description": "Output only. Name of the LRO corresponding to the latest suggestion terms list import. Can use GetOperation API to retrieve the latest state of the Long Running Operation.", + "readOnly": true, + "type": "string" + }, + "matchingOrder": { + "description": "Specifies the matching order for autocomplete suggestions, e.g., a query consisting of 'sh' with 'out-of-order' specified would suggest \"women's shoes\", whereas a query of 'red s' with 'exact-prefix' specified would suggest \"red shoes\". Currently supported values: * 'out-of-order' * 'exact-prefix' Default value: 'exact-prefix'.", + "type": "string" + }, + "maxSuggestions": { + "description": "The maximum number of autocomplete suggestions returned per term. Default value is 20. If left unset or set to 0, then will fallback to default value. Value range is 1 to 20.", + "format": "int32", + "type": "integer" + }, + "minPrefixLength": { + "description": "The minimum number of characters needed to be typed in order to get suggestions. Default value is 2. If left unset or set to 0, then will fallback to default value. Value range is 1 to 20.", + "format": "int32", + "type": "integer" + }, + "name": { + "description": "Required. Immutable. Fully qualified name `projects/*/locations/*/catalogs/*/completionConfig`", + "type": "string" + }, + "suggestionsInputConfig": { + "$ref": "GoogleCloudRetailV2CompletionDataInputConfig", + "description": "Output only. The source data for the latest import of the autocomplete suggestion phrases.", + "readOnly": true + } + }, + "type": "object" + }, "GoogleCloudRetailV2CompletionDataInputConfig": { "description": "The input config source for completion data.", "id": "GoogleCloudRetailV2CompletionDataInputConfig", @@ -1797,7 +2151,7 @@ "description": "Required. The desired input location of the data." }, "notificationPubsubTopic": { - "description": "Full Pub/Sub topic name for receiving notification. If this field is set, when the import is finished, a notification will be sent to specified Pub/Sub topic. The message data will be JSON string of a Operation. Format of the Pub/Sub topic is `projects/{project}/topics/{topic}`. It has to be within the same project as ImportProductsRequest.parent. Make sure that both `cloud-retail-customer-data-access@system.gserviceaccount.com` and `service-@gcp-sa-retail.iam.gserviceaccount.com` have the `pubsub.topics.publish` IAM permission on the topic. Only supported when ImportProductsRequest.reconciliation_mode is set to `FULL`.", + "description": "Full Pub/Sub topic name for receiving notification. If this field is set, when the import is finished, a notification will be sent to specified Pub/Sub topic. The message data will be JSON string of a Operation. Format of the Pub/Sub topic is `projects/{project}/topics/{topic}`. It has to be within the same project as ImportProductsRequest.parent. Make sure that `service-@gcp-sa-retail.iam.gserviceaccount.com` has the `pubsub.topics.publish` IAM permission on the topic.", "type": "string" }, "reconciliationMode": { @@ -1810,7 +2164,7 @@ "enumDescriptions": [ "Defaults to INCREMENTAL.", "Inserts new products or updates existing products.", - "Calculates diff and replaces the entire product dataset. Existing products may be deleted if they are not present in the source location. Can only be set while using BigQuerySource. And the BigQuery dataset must be created in the data location \"us (multiple regions in United States)\", otherwise a PERMISSION_DENIED error is thrown. Add the IAM permission \"BigQuery Data Viewer\" for cloud-retail-customer-data-access@system.gserviceaccount.com before using this feature otherwise an error is thrown." + "Calculates diff and replaces the entire product dataset. Existing products may be deleted if they are not present in the source location." ], "type": "string" }, @@ -2176,7 +2530,7 @@ "type": "array" }, "collectionMemberIds": { - "description": "The id of the collection members when type is Type.COLLECTION. Non-existent product ids are allowed. The type of the members must be either Type.PRIMARY or Type.VARIANT otherwise and INVALID_ARGUMENT error is thrown. Should not set it for other types. A maximum of 1000 values are allowed. Otherwise, an INVALID_ARGUMENT error is return.", + "description": "The id of the collection members when type is Type.COLLECTION. Non-existent product ids are allowed. The type of the members must be either Type.PRIMARY or Type.VARIANT otherwise an INVALID_ARGUMENT error is thrown. Should not set it for other types. A maximum of 1000 values are allowed. Otherwise, an INVALID_ARGUMENT error is return.", "items": { "type": "string" }, @@ -2531,6 +2885,17 @@ }, "type": "object" }, + "GoogleCloudRetailV2RemoveCatalogAttributeRequest": { + "description": "Request for CatalogService.RemoveCatalogAttribute method.", + "id": "GoogleCloudRetailV2RemoveCatalogAttributeRequest", + "properties": { + "key": { + "description": "Required. The attribute name key of the CatalogAttribute to remove.", + "type": "string" + } + }, + "type": "object" + }, "GoogleCloudRetailV2RemoveFulfillmentPlacesMetadata": { "description": "Metadata related to the progress of the RemoveFulfillmentPlaces operation. Currently empty because there is no meaningful metadata populated from the ProductService.RemoveFulfillmentPlaces method.", "id": "GoogleCloudRetailV2RemoveFulfillmentPlacesMetadata", @@ -2845,6 +3210,10 @@ "type": "string" }, "type": "array" + }, + "returnMinMax": { + "description": "Returns the min and max value for each numerical facet intervals. Ignored for textual facets.", + "type": "boolean" } }, "type": "object" @@ -2862,7 +3231,7 @@ ], "enumDescriptions": [ "Default value. Defaults to Mode.AUTO.", - "Let CRS decide whether to use personalization.", + "Let CRS decide whether to use personalization based on quality of user event data.", "Disable personalization." ], "type": "string" @@ -3011,6 +3380,16 @@ "$ref": "GoogleCloudRetailV2Interval", "description": "Interval value for a facet, such as [10, 20) for facet \"price\"." }, + "maxValue": { + "description": "The maximum value in the FacetValue.interval. Only supported on numerical facets and returned if SearchRequest.FacetSpec.FacetKey.return_min_max is true.", + "format": "double", + "type": "number" + }, + "minValue": { + "description": "The minimum value in the FacetValue.interval. Only supported on numerical facets and returned if SearchRequest.FacetSpec.FacetKey.return_min_max is true.", + "format": "double", + "type": "number" + }, "value": { "description": "Text value of a facet, such as \"Black\" for facet \"colorFamilies\".", "type": "string" @@ -3055,6 +3434,13 @@ "description": "If a variant Product matches the search query, this map indicates which Product fields are matched. The key is the Product.name, the value is a field mask of the matched Product fields. If matched attributes cannot be determined, this map will be empty. For example, a key \"sku1\" with field mask \"products.color_info\" indicates there is a match between \"sku1\" ColorInfo and the query.", "type": "object" }, + "personalLabels": { + "description": "Specifies previous events related to this product for this user based on UserEvent with same SearchRequest.visitor_id or UserInfo.user_id. This is set only when SearchRequest.PersonalizationSpec.mode is SearchRequest.PersonalizationSpec.Mode.AUTO. Possible values: * `purchased`: Indicates that this product has been purchased before.", + "items": { + "type": "string" + }, + "type": "array" + }, "product": { "$ref": "GoogleCloudRetailV2Product", "description": "The product data snippet in the search response. Only Product.name is guaranteed to be populated. Product.variants contains the product variants that match the search query. If there are multiple product variants matching the query, top 5 most relevant product variants are returned and ordered by relevancy. If relevancy can be deternmined, use matching_variant_fields to look up matched product variants fields. If relevancy cannot be determined, e.g. when searching \"shoe\" all products in a shoe product can be a match, 5 product variants are returned but order is meaningless." @@ -3323,6 +3709,21 @@ "properties": {}, "type": "object" }, + "GoogleCloudRetailV2alphaBigQueryOutputResult": { + "description": "A BigQuery output result.", + "id": "GoogleCloudRetailV2alphaBigQueryOutputResult", + "properties": { + "datasetId": { + "description": "The ID of a BigQuery Dataset.", + "type": "string" + }, + "tableId": { + "description": "The ID of a BigQuery Table.", + "type": "string" + } + }, + "type": "object" + }, "GoogleCloudRetailV2alphaCreateModelMetadata": { "description": "Metadata associated with a create operation.", "id": "GoogleCloudRetailV2alphaCreateModelMetadata", @@ -3376,6 +3777,10 @@ "errorsConfig": { "$ref": "GoogleCloudRetailV2alphaExportErrorsConfig", "description": "This field is never set." + }, + "outputResult": { + "$ref": "GoogleCloudRetailV2alphaOutputResult", + "description": "Output result indicating where the data were exported to." } }, "type": "object" @@ -3394,6 +3799,10 @@ "errorsConfig": { "$ref": "GoogleCloudRetailV2alphaExportErrorsConfig", "description": "This field is never set." + }, + "outputResult": { + "$ref": "GoogleCloudRetailV2alphaOutputResult", + "description": "Output result indicating where the data were exported to." } }, "type": "object" @@ -3450,6 +3859,10 @@ "format": "int64", "type": "string" }, + "transformedUserEventsMetadata": { + "$ref": "GoogleCloudRetailV2alphaTransformedUserEventsMetadata", + "description": "Metadata related to transform user events." + }, "updateTime": { "description": "Operation last update time. If the operation is done, this is also the finish time.", "format": "google-datetime", @@ -3524,7 +3937,7 @@ "type": "string" }, "displayName": { - "description": "Required. The display name of the model. Should be human readable, used to display Recommendation Models in the Retail Pantheon Dashboard. UTF-8 encoded string with limit of 1024 characters.", + "description": "Required. The display name of the model. Should be human readable, used to display Recommendation Models in the Retail Cloud Cosole Dashboard. UTF-8 encoded string with limit of 1024 characters.", "type": "string" }, "filteringOption": { @@ -3575,6 +3988,14 @@ ], "type": "string" }, + "servingConfigLists": { + "description": "Output only. The list of valid serving configs associated with the PageOptimizationConfig.", + "items": { + "$ref": "GoogleCloudRetailV2alphaModelServingConfigList" + }, + "readOnly": true, + "type": "array" + }, "servingState": { "description": "Output only. The serving state of the model: ACTIVE, NOT_ACTIVE.", "enum": [ @@ -3693,6 +4114,34 @@ }, "type": "object" }, + "GoogleCloudRetailV2alphaModelServingConfigList": { + "description": "Represents an ordered combination of valid serving configs, which / may be used for PAGE_OPTIMIZATION recommendations.", + "id": "GoogleCloudRetailV2alphaModelServingConfigList", + "properties": { + "servingConfigIds": { + "description": "Optional. A set of valid serving configs that may be used for PAGE_OPTIMIZATION.", + "items": { + "type": "string" + }, + "type": "array" + } + }, + "type": "object" + }, + "GoogleCloudRetailV2alphaOutputResult": { + "description": "Output result.", + "id": "GoogleCloudRetailV2alphaOutputResult", + "properties": { + "bigqueryResult": { + "description": "Export result in BigQuery.", + "items": { + "$ref": "GoogleCloudRetailV2alphaBigQueryOutputResult" + }, + "type": "array" + } + }, + "type": "object" + }, "GoogleCloudRetailV2alphaPurgeMetadata": { "description": "Metadata related to the progress of the Purge operation. This will be returned by the google.longrunning.Operation.metadata field.", "id": "GoogleCloudRetailV2alphaPurgeMetadata", @@ -3811,6 +4260,23 @@ "properties": {}, "type": "object" }, + "GoogleCloudRetailV2alphaTransformedUserEventsMetadata": { + "description": "Metadata related to transform user events operation.", + "id": "GoogleCloudRetailV2alphaTransformedUserEventsMetadata", + "properties": { + "sourceEventsCount": { + "description": "Count of entries in the source user events BigQuery table.", + "format": "int64", + "type": "string" + }, + "transformedEventsCount": { + "description": "Count of entries in the transformed user events BigQuery table, which could be different from the actually imported number of user events.", + "format": "int64", + "type": "string" + } + }, + "type": "object" + }, "GoogleCloudRetailV2alphaTuneModelMetadata": { "description": "Metadata associated with a tune operation.", "id": "GoogleCloudRetailV2alphaTuneModelMetadata", @@ -3869,6 +4335,21 @@ "properties": {}, "type": "object" }, + "GoogleCloudRetailV2betaBigQueryOutputResult": { + "description": "A BigQuery output result.", + "id": "GoogleCloudRetailV2betaBigQueryOutputResult", + "properties": { + "datasetId": { + "description": "The ID of a BigQuery Dataset.", + "type": "string" + }, + "tableId": { + "description": "The ID of a BigQuery Table.", + "type": "string" + } + }, + "type": "object" + }, "GoogleCloudRetailV2betaExportErrorsConfig": { "description": "Configuration of destination for Export related errors.", "id": "GoogleCloudRetailV2betaExportErrorsConfig", @@ -3911,6 +4392,10 @@ "errorsConfig": { "$ref": "GoogleCloudRetailV2betaExportErrorsConfig", "description": "This field is never set." + }, + "outputResult": { + "$ref": "GoogleCloudRetailV2betaOutputResult", + "description": "Output result indicating where the data were exported to." } }, "type": "object" @@ -3929,6 +4414,10 @@ "errorsConfig": { "$ref": "GoogleCloudRetailV2betaExportErrorsConfig", "description": "This field is never set." + }, + "outputResult": { + "$ref": "GoogleCloudRetailV2betaOutputResult", + "description": "Output result indicating where the data were exported to." } }, "type": "object" @@ -4033,6 +4522,20 @@ }, "type": "object" }, + "GoogleCloudRetailV2betaOutputResult": { + "description": "Output result.", + "id": "GoogleCloudRetailV2betaOutputResult", + "properties": { + "bigqueryResult": { + "description": "Export result in BigQuery.", + "items": { + "$ref": "GoogleCloudRetailV2betaBigQueryOutputResult" + }, + "type": "array" + } + }, + "type": "object" + }, "GoogleCloudRetailV2betaPurgeMetadata": { "description": "Metadata related to the progress of the Purge operation. This will be returned by the google.longrunning.Operation.metadata field.", "id": "GoogleCloudRetailV2betaPurgeMetadata", diff --git a/googleapiclient/discovery_cache/documents/retail.v2alpha.json b/googleapiclient/discovery_cache/documents/retail.v2alpha.json index d070e8b62af..910f056ffff 100644 --- a/googleapiclient/discovery_cache/documents/retail.v2alpha.json +++ b/googleapiclient/discovery_cache/documents/retail.v2alpha.json @@ -441,6 +441,34 @@ "https://www.googleapis.com/auth/cloud-platform" ] }, + "batchRemoveCatalogAttributes": { + "description": "Removes all specified CatalogAttributes from the AttributesConfig.", + "flatPath": "v2alpha/projects/{projectsId}/locations/{locationsId}/catalogs/{catalogsId}/attributesConfig:batchRemoveCatalogAttributes", + "httpMethod": "POST", + "id": "retail.projects.locations.catalogs.attributesConfig.batchRemoveCatalogAttributes", + "parameterOrder": [ + "attributesConfig" + ], + "parameters": { + "attributesConfig": { + "description": "Required. The attributes config resource shared by all catalog attributes being deleted. Format: `projects/{project_number}/locations/{location_id}/catalogs/{catalog_id}/attributesConfig`", + "location": "path", + "pattern": "^projects/[^/]+/locations/[^/]+/catalogs/[^/]+/attributesConfig$", + "required": true, + "type": "string" + } + }, + "path": "v2alpha/{+attributesConfig}:batchRemoveCatalogAttributes", + "request": { + "$ref": "GoogleCloudRetailV2alphaBatchRemoveCatalogAttributesRequest" + }, + "response": { + "$ref": "GoogleCloudRetailV2alphaBatchRemoveCatalogAttributesResponse" + }, + "scopes": [ + "https://www.googleapis.com/auth/cloud-platform" + ] + }, "removeCatalogAttribute": { "description": "Removes the specified CatalogAttribute from the AttributesConfig. If the CatalogAttribute to remove does not exist, a NOT_FOUND error is returned.", "flatPath": "v2alpha/projects/{projectsId}/locations/{locationsId}/catalogs/{catalogsId}/attributesConfig:removeCatalogAttribute", @@ -2019,7 +2047,7 @@ } } }, - "revision": "20220716", + "revision": "20220802", "rootUrl": "https://retail.googleapis.com/", "schemas": { "GoogleApiHttpBody": { @@ -2540,12 +2568,62 @@ }, "type": "object" }, + "GoogleCloudRetailV2alphaBatchRemoveCatalogAttributesRequest": { + "description": "Request for CatalogService.BatchRemoveCatalogAttributes method.", + "id": "GoogleCloudRetailV2alphaBatchRemoveCatalogAttributesRequest", + "properties": { + "attributeKeys": { + "description": "Required. The attribute name keys of the CatalogAttributes to delete. A maximum of 1000 catalog attributes can be deleted in a batch.", + "items": { + "type": "string" + }, + "type": "array" + } + }, + "type": "object" + }, + "GoogleCloudRetailV2alphaBatchRemoveCatalogAttributesResponse": { + "description": "Response of the CatalogService.BatchRemoveCatalogAttributes.", + "id": "GoogleCloudRetailV2alphaBatchRemoveCatalogAttributesResponse", + "properties": { + "deletedCatalogAttributes": { + "description": "Catalog attributes that were deleted. Only attributes that are not in use by products can be deleted.", + "items": { + "type": "string" + }, + "type": "array" + }, + "resetCatalogAttributes": { + "description": "Catalog attributes that were reset. Attributes that are in use by products cannot be deleted, however their configuration properties will reset to default values upon removal request.", + "items": { + "type": "string" + }, + "type": "array" + } + }, + "type": "object" + }, + "GoogleCloudRetailV2alphaBigQueryOutputResult": { + "description": "A BigQuery output result.", + "id": "GoogleCloudRetailV2alphaBigQueryOutputResult", + "properties": { + "datasetId": { + "description": "The ID of a BigQuery Dataset.", + "type": "string" + }, + "tableId": { + "description": "The ID of a BigQuery Table.", + "type": "string" + } + }, + "type": "object" + }, "GoogleCloudRetailV2alphaBigQuerySource": { "description": "BigQuery source import data from.", "id": "GoogleCloudRetailV2alphaBigQuerySource", "properties": { "dataSchema": { - "description": "The schema to use when parsing the data from the source. Supported values for product imports: * `product` (default): One JSON Product per line. Each product must have a valid Product.id. * `product_merchant_center`: See [Importing catalog data from Merchant Center](https://cloud.google.com/retail/recommendations-ai/docs/upload-catalog#mc). Supported values for user events imports: * `user_event` (default): One JSON UserEvent per line. * `user_event_ga360`: The schema is available here: https://support.google.com/analytics/answer/3437719. * `user_event_ga4`: This feature is in private preview. Please contact the support team for importing Google Analytics 4 events. The schema is available here: https://support.google.com/analytics/answer/7029846. Supported values for auto-completion imports: * `suggestions` (default): One JSON completion suggestion per line. * `denylist`: One JSON deny suggestion per line. * `allowlist`: One JSON allow suggestion per line.", + "description": "The schema to use when parsing the data from the source. Supported values for product imports: * `product` (default): One JSON Product per line. Each product must have a valid Product.id. * `product_merchant_center`: See [Importing catalog data from Merchant Center](https://cloud.google.com/retail/recommendations-ai/docs/upload-catalog#mc). Supported values for user events imports: * `user_event` (default): One JSON UserEvent per line. * `user_event_ga360`: The schema is available here: https://support.google.com/analytics/answer/3437719. * `user_event_ga4`: The schema is available here: https://support.google.com/analytics/answer/7029846. Supported values for auto-completion imports: * `suggestions` (default): One JSON completion suggestion per line. * `denylist`: One JSON deny suggestion per line. * `allowlist`: One JSON allow suggestion per line.", "type": "string" }, "datasetId": { @@ -2558,7 +2636,7 @@ }, "partitionDate": { "$ref": "GoogleTypeDate", - "description": "BigQuery time partitioned table's _PARTITIONDATE in YYYY-MM-DD format. Only supported when ImportProductsRequest.reconciliation_mode is set to `FULL`." + "description": "BigQuery time partitioned table's _PARTITIONDATE in YYYY-MM-DD format. Only supported in ImportProductsRequest." }, "projectId": { "description": "The project ID (can be project # or ID) that the BigQuery source is in with a length limit of 128 characters. If not specified, inherits the project ID from the parent request.", @@ -2612,6 +2690,20 @@ ], "type": "string" }, + "exactSearchableOption": { + "description": "If EXACT_SEARCHABLE_ENABLED, attribute values will be exact searchable. This property only applies to textual custom attributes and requires indexable set to enabled to enable exact-searchable.", + "enum": [ + "EXACT_SEARCHABLE_OPTION_UNSPECIFIED", + "EXACT_SEARCHABLE_ENABLED", + "EXACT_SEARCHABLE_DISABLED" + ], + "enumDescriptions": [ + "Value used when unset. Defaults to EXACT_SEARCHABLE_DISABLED.", + "Exact searchable option enabled for an attribute.", + "Exact searchable option disabled for an attribute." + ], + "type": "string" + }, "inUse": { "description": "Output only. Indicates whether this attribute has been used by any products. `True` if at least one Product is using this attribute in Product.attributes. Otherwise, this field is `False`. CatalogAttribute can be pre-loaded by using CatalogService.AddCatalogAttribute, CatalogService.ImportCatalogAttributes, or CatalogService.UpdateAttributesConfig APIs. This field is `False` for pre-loaded CatalogAttributes. Only pre-loaded CatalogAttributes that are neither in use by products nor predefined can be deleted. CatalogAttributes that are either in use by products or are predefined cannot be deleted; however, their configuration properties will reset to default values upon removal request. After catalog changes, it takes about 10 minutes for this field to update.", "readOnly": true, @@ -2794,12 +2886,12 @@ "type": "string" }, "maxSuggestions": { - "description": "The maximum number of autocomplete suggestions returned per term. The maximum allowed max suggestions is 20. Default value is 20. If left unset or set to 0, then will fallback to default value.", + "description": "The maximum number of autocomplete suggestions returned per term. Default value is 20. If left unset or set to 0, then will fallback to default value. Value range is 1 to 20.", "format": "int32", "type": "integer" }, "minPrefixLength": { - "description": "The minimum number of characters needed to be typed in order to get suggestions. Default value is 2. If left unset or set to 0, then will fallback to default value.", + "description": "The minimum number of characters needed to be typed in order to get suggestions. Default value is 2. If left unset or set to 0, then will fallback to default value. Value range is 1 to 20.", "format": "int32", "type": "integer" }, @@ -3030,6 +3122,10 @@ "errorsConfig": { "$ref": "GoogleCloudRetailV2alphaExportErrorsConfig", "description": "This field is never set." + }, + "outputResult": { + "$ref": "GoogleCloudRetailV2alphaOutputResult", + "description": "Output result indicating where the data were exported to." } }, "type": "object" @@ -3048,6 +3144,10 @@ "errorsConfig": { "$ref": "GoogleCloudRetailV2alphaExportErrorsConfig", "description": "This field is never set." + }, + "outputResult": { + "$ref": "GoogleCloudRetailV2alphaOutputResult", + "description": "Output result indicating where the data were exported to." } }, "type": "object" @@ -3196,6 +3296,10 @@ "format": "int64", "type": "string" }, + "transformedUserEventsMetadata": { + "$ref": "GoogleCloudRetailV2alphaTransformedUserEventsMetadata", + "description": "Metadata related to transform user events." + }, "updateTime": { "description": "Operation last update time. If the operation is done, this is also the finish time.", "format": "google-datetime", @@ -3217,7 +3321,7 @@ "description": "Required. The desired input location of the data." }, "notificationPubsubTopic": { - "description": "Full Pub/Sub topic name for receiving notification. If this field is set, when the import is finished, a notification will be sent to specified Pub/Sub topic. The message data will be JSON string of a Operation. Format of the Pub/Sub topic is `projects/{project}/topics/{topic}`. It has to be within the same project as ImportProductsRequest.parent. Make sure that both `cloud-retail-customer-data-access@system.gserviceaccount.com` and `service-@gcp-sa-retail.iam.gserviceaccount.com` have the `pubsub.topics.publish` IAM permission on the topic. Only supported when ImportProductsRequest.reconciliation_mode is set to `FULL`.", + "description": "Full Pub/Sub topic name for receiving notification. If this field is set, when the import is finished, a notification will be sent to specified Pub/Sub topic. The message data will be JSON string of a Operation. Format of the Pub/Sub topic is `projects/{project}/topics/{topic}`. It has to be within the same project as ImportProductsRequest.parent. Make sure that `service-@gcp-sa-retail.iam.gserviceaccount.com` has the `pubsub.topics.publish` IAM permission on the topic.", "type": "string" }, "reconciliationMode": { @@ -3230,7 +3334,7 @@ "enumDescriptions": [ "Defaults to INCREMENTAL.", "Inserts new products or updates existing products.", - "Calculates diff and replaces the entire product dataset. Existing products may be deleted if they are not present in the source location. Can only be set while using BigQuerySource. And the BigQuery dataset must be created in the data location \"us (multiple regions in United States)\", otherwise a PERMISSION_DENIED error is thrown. Add the IAM permission \"BigQuery Data Viewer\" for cloud-retail-customer-data-access@system.gserviceaccount.com before using this feature otherwise an error is thrown." + "Calculates diff and replaces the entire product dataset. Existing products may be deleted if they are not present in the source location." ], "type": "string" }, @@ -3527,7 +3631,7 @@ "type": "string" }, "displayName": { - "description": "Required. The display name of the model. Should be human readable, used to display Recommendation Models in the Retail Pantheon Dashboard. UTF-8 encoded string with limit of 1024 characters.", + "description": "Required. The display name of the model. Should be human readable, used to display Recommendation Models in the Retail Cloud Cosole Dashboard. UTF-8 encoded string with limit of 1024 characters.", "type": "string" }, "filteringOption": { @@ -3578,6 +3682,14 @@ ], "type": "string" }, + "servingConfigLists": { + "description": "Output only. The list of valid serving configs associated with the PageOptimizationConfig.", + "items": { + "$ref": "GoogleCloudRetailV2alphaModelServingConfigList" + }, + "readOnly": true, + "type": "array" + }, "servingState": { "description": "Output only. The serving state of the model: ACTIVE, NOT_ACTIVE.", "enum": [ @@ -3696,6 +3808,34 @@ }, "type": "object" }, + "GoogleCloudRetailV2alphaModelServingConfigList": { + "description": "Represents an ordered combination of valid serving configs, which / may be used for PAGE_OPTIMIZATION recommendations.", + "id": "GoogleCloudRetailV2alphaModelServingConfigList", + "properties": { + "servingConfigIds": { + "description": "Optional. A set of valid serving configs that may be used for PAGE_OPTIMIZATION.", + "items": { + "type": "string" + }, + "type": "array" + } + }, + "type": "object" + }, + "GoogleCloudRetailV2alphaOutputResult": { + "description": "Output result.", + "id": "GoogleCloudRetailV2alphaOutputResult", + "properties": { + "bigqueryResult": { + "description": "Export result in BigQuery.", + "items": { + "$ref": "GoogleCloudRetailV2alphaBigQueryOutputResult" + }, + "type": "array" + } + }, + "type": "object" + }, "GoogleCloudRetailV2alphaPauseModelRequest": { "description": "Request for pausing training of a model.", "id": "GoogleCloudRetailV2alphaPauseModelRequest", @@ -3905,7 +4045,7 @@ "type": "array" }, "collectionMemberIds": { - "description": "The id of the collection members when type is Type.COLLECTION. Non-existent product ids are allowed. The type of the members must be either Type.PRIMARY or Type.VARIANT otherwise and INVALID_ARGUMENT error is thrown. Should not set it for other types. A maximum of 1000 values are allowed. Otherwise, an INVALID_ARGUMENT error is return.", + "description": "The id of the collection members when type is Type.COLLECTION. Non-existent product ids are allowed. The type of the members must be either Type.PRIMARY or Type.VARIANT otherwise an INVALID_ARGUMENT error is thrown. Should not set it for other types. A maximum of 1000 values are allowed. Otherwise, an INVALID_ARGUMENT error is return.", "items": { "type": "string" }, @@ -4884,6 +5024,10 @@ "type": "string" }, "type": "array" + }, + "returnMinMax": { + "description": "Returns the min and max value for each numerical facet intervals. Ignored for textual facets.", + "type": "boolean" } }, "type": "object" @@ -4901,7 +5045,7 @@ ], "enumDescriptions": [ "Default value. Defaults to Mode.AUTO.", - "Let CRS decide whether to use personalization.", + "Let CRS decide whether to use personalization based on quality of user event data.", "Disable personalization." ], "type": "string" @@ -5050,6 +5194,16 @@ "$ref": "GoogleCloudRetailV2alphaInterval", "description": "Interval value for a facet, such as [10, 20) for facet \"price\"." }, + "maxValue": { + "description": "The maximum value in the FacetValue.interval. Only supported on numerical facets and returned if SearchRequest.FacetSpec.FacetKey.return_min_max is true.", + "format": "double", + "type": "number" + }, + "minValue": { + "description": "The minimum value in the FacetValue.interval. Only supported on numerical facets and returned if SearchRequest.FacetSpec.FacetKey.return_min_max is true.", + "format": "double", + "type": "number" + }, "value": { "description": "Text value of a facet, such as \"Black\" for facet \"colorFamilies\".", "type": "string" @@ -5094,6 +5248,13 @@ "description": "If a variant Product matches the search query, this map indicates which Product fields are matched. The key is the Product.name, the value is a field mask of the matched Product fields. If matched attributes cannot be determined, this map will be empty. For example, a key \"sku1\" with field mask \"products.color_info\" indicates there is a match between \"sku1\" ColorInfo and the query.", "type": "object" }, + "personalLabels": { + "description": "Specifies previous events related to this product for this user based on UserEvent with same SearchRequest.visitor_id or UserInfo.user_id. This is set only when SearchRequest.PersonalizationSpec.mode is SearchRequest.PersonalizationSpec.Mode.AUTO. Possible values: * `purchased`: Indicates that this product has been purchased before.", + "items": { + "type": "string" + }, + "type": "array" + }, "product": { "$ref": "GoogleCloudRetailV2alphaProduct", "description": "The product data snippet in the search response. Only Product.name is guaranteed to be populated. Product.variants contains the product variants that match the search query. If there are multiple product variants matching the query, top 5 most relevant product variants are returned and ordered by relevancy. If relevancy can be deternmined, use matching_variant_fields to look up matched product variants fields. If relevancy cannot be determined, e.g. when searching \"shoe\" all products in a shoe product can be a match, 5 product variants are returned but order is meaningless." @@ -5279,6 +5440,23 @@ "properties": {}, "type": "object" }, + "GoogleCloudRetailV2alphaTransformedUserEventsMetadata": { + "description": "Metadata related to transform user events operation.", + "id": "GoogleCloudRetailV2alphaTransformedUserEventsMetadata", + "properties": { + "sourceEventsCount": { + "description": "Count of entries in the source user events BigQuery table.", + "format": "int64", + "type": "string" + }, + "transformedEventsCount": { + "description": "Count of entries in the transformed user events BigQuery table, which could be different from the actually imported number of user events.", + "format": "int64", + "type": "string" + } + }, + "type": "object" + }, "GoogleCloudRetailV2alphaTuneModelMetadata": { "description": "Metadata associated with a tune operation.", "id": "GoogleCloudRetailV2alphaTuneModelMetadata", @@ -5500,6 +5678,21 @@ "properties": {}, "type": "object" }, + "GoogleCloudRetailV2betaBigQueryOutputResult": { + "description": "A BigQuery output result.", + "id": "GoogleCloudRetailV2betaBigQueryOutputResult", + "properties": { + "datasetId": { + "description": "The ID of a BigQuery Dataset.", + "type": "string" + }, + "tableId": { + "description": "The ID of a BigQuery Table.", + "type": "string" + } + }, + "type": "object" + }, "GoogleCloudRetailV2betaExportErrorsConfig": { "description": "Configuration of destination for Export related errors.", "id": "GoogleCloudRetailV2betaExportErrorsConfig", @@ -5542,6 +5735,10 @@ "errorsConfig": { "$ref": "GoogleCloudRetailV2betaExportErrorsConfig", "description": "This field is never set." + }, + "outputResult": { + "$ref": "GoogleCloudRetailV2betaOutputResult", + "description": "Output result indicating where the data were exported to." } }, "type": "object" @@ -5560,6 +5757,10 @@ "errorsConfig": { "$ref": "GoogleCloudRetailV2betaExportErrorsConfig", "description": "This field is never set." + }, + "outputResult": { + "$ref": "GoogleCloudRetailV2betaOutputResult", + "description": "Output result indicating where the data were exported to." } }, "type": "object" @@ -5664,6 +5865,20 @@ }, "type": "object" }, + "GoogleCloudRetailV2betaOutputResult": { + "description": "Output result.", + "id": "GoogleCloudRetailV2betaOutputResult", + "properties": { + "bigqueryResult": { + "description": "Export result in BigQuery.", + "items": { + "$ref": "GoogleCloudRetailV2betaBigQueryOutputResult" + }, + "type": "array" + } + }, + "type": "object" + }, "GoogleCloudRetailV2betaPurgeMetadata": { "description": "Metadata related to the progress of the Purge operation. This will be returned by the google.longrunning.Operation.metadata field.", "id": "GoogleCloudRetailV2betaPurgeMetadata", diff --git a/googleapiclient/discovery_cache/documents/retail.v2beta.json b/googleapiclient/discovery_cache/documents/retail.v2beta.json index 4f6c26245da..aed557f58fd 100644 --- a/googleapiclient/discovery_cache/documents/retail.v2beta.json +++ b/googleapiclient/discovery_cache/documents/retail.v2beta.json @@ -441,6 +441,34 @@ "https://www.googleapis.com/auth/cloud-platform" ] }, + "batchRemoveCatalogAttributes": { + "description": "Removes all specified CatalogAttributes from the AttributesConfig.", + "flatPath": "v2beta/projects/{projectsId}/locations/{locationsId}/catalogs/{catalogsId}/attributesConfig:batchRemoveCatalogAttributes", + "httpMethod": "POST", + "id": "retail.projects.locations.catalogs.attributesConfig.batchRemoveCatalogAttributes", + "parameterOrder": [ + "attributesConfig" + ], + "parameters": { + "attributesConfig": { + "description": "Required. The attributes config resource shared by all catalog attributes being deleted. Format: `projects/{project_number}/locations/{location_id}/catalogs/{catalog_id}/attributesConfig`", + "location": "path", + "pattern": "^projects/[^/]+/locations/[^/]+/catalogs/[^/]+/attributesConfig$", + "required": true, + "type": "string" + } + }, + "path": "v2beta/{+attributesConfig}:batchRemoveCatalogAttributes", + "request": { + "$ref": "GoogleCloudRetailV2betaBatchRemoveCatalogAttributesRequest" + }, + "response": { + "$ref": "GoogleCloudRetailV2betaBatchRemoveCatalogAttributesResponse" + }, + "scopes": [ + "https://www.googleapis.com/auth/cloud-platform" + ] + }, "removeCatalogAttribute": { "description": "Removes the specified CatalogAttribute from the AttributesConfig. If the CatalogAttribute to remove does not exist, a NOT_FOUND error is returned.", "flatPath": "v2beta/projects/{projectsId}/locations/{locationsId}/catalogs/{catalogsId}/attributesConfig:removeCatalogAttribute", @@ -1770,7 +1798,7 @@ } } }, - "revision": "20220716", + "revision": "20220802", "rootUrl": "https://retail.googleapis.com/", "schemas": { "GoogleApiHttpBody": { @@ -2160,6 +2188,21 @@ "properties": {}, "type": "object" }, + "GoogleCloudRetailV2alphaBigQueryOutputResult": { + "description": "A BigQuery output result.", + "id": "GoogleCloudRetailV2alphaBigQueryOutputResult", + "properties": { + "datasetId": { + "description": "The ID of a BigQuery Dataset.", + "type": "string" + }, + "tableId": { + "description": "The ID of a BigQuery Table.", + "type": "string" + } + }, + "type": "object" + }, "GoogleCloudRetailV2alphaCreateModelMetadata": { "description": "Metadata associated with a create operation.", "id": "GoogleCloudRetailV2alphaCreateModelMetadata", @@ -2213,6 +2256,10 @@ "errorsConfig": { "$ref": "GoogleCloudRetailV2alphaExportErrorsConfig", "description": "This field is never set." + }, + "outputResult": { + "$ref": "GoogleCloudRetailV2alphaOutputResult", + "description": "Output result indicating where the data were exported to." } }, "type": "object" @@ -2231,6 +2278,10 @@ "errorsConfig": { "$ref": "GoogleCloudRetailV2alphaExportErrorsConfig", "description": "This field is never set." + }, + "outputResult": { + "$ref": "GoogleCloudRetailV2alphaOutputResult", + "description": "Output result indicating where the data were exported to." } }, "type": "object" @@ -2287,6 +2338,10 @@ "format": "int64", "type": "string" }, + "transformedUserEventsMetadata": { + "$ref": "GoogleCloudRetailV2alphaTransformedUserEventsMetadata", + "description": "Metadata related to transform user events." + }, "updateTime": { "description": "Operation last update time. If the operation is done, this is also the finish time.", "format": "google-datetime", @@ -2361,7 +2416,7 @@ "type": "string" }, "displayName": { - "description": "Required. The display name of the model. Should be human readable, used to display Recommendation Models in the Retail Pantheon Dashboard. UTF-8 encoded string with limit of 1024 characters.", + "description": "Required. The display name of the model. Should be human readable, used to display Recommendation Models in the Retail Cloud Cosole Dashboard. UTF-8 encoded string with limit of 1024 characters.", "type": "string" }, "filteringOption": { @@ -2412,6 +2467,14 @@ ], "type": "string" }, + "servingConfigLists": { + "description": "Output only. The list of valid serving configs associated with the PageOptimizationConfig.", + "items": { + "$ref": "GoogleCloudRetailV2alphaModelServingConfigList" + }, + "readOnly": true, + "type": "array" + }, "servingState": { "description": "Output only. The serving state of the model: ACTIVE, NOT_ACTIVE.", "enum": [ @@ -2530,6 +2593,34 @@ }, "type": "object" }, + "GoogleCloudRetailV2alphaModelServingConfigList": { + "description": "Represents an ordered combination of valid serving configs, which / may be used for PAGE_OPTIMIZATION recommendations.", + "id": "GoogleCloudRetailV2alphaModelServingConfigList", + "properties": { + "servingConfigIds": { + "description": "Optional. A set of valid serving configs that may be used for PAGE_OPTIMIZATION.", + "items": { + "type": "string" + }, + "type": "array" + } + }, + "type": "object" + }, + "GoogleCloudRetailV2alphaOutputResult": { + "description": "Output result.", + "id": "GoogleCloudRetailV2alphaOutputResult", + "properties": { + "bigqueryResult": { + "description": "Export result in BigQuery.", + "items": { + "$ref": "GoogleCloudRetailV2alphaBigQueryOutputResult" + }, + "type": "array" + } + }, + "type": "object" + }, "GoogleCloudRetailV2alphaPurgeMetadata": { "description": "Metadata related to the progress of the Purge operation. This will be returned by the google.longrunning.Operation.metadata field.", "id": "GoogleCloudRetailV2alphaPurgeMetadata", @@ -2648,6 +2739,23 @@ "properties": {}, "type": "object" }, + "GoogleCloudRetailV2alphaTransformedUserEventsMetadata": { + "description": "Metadata related to transform user events operation.", + "id": "GoogleCloudRetailV2alphaTransformedUserEventsMetadata", + "properties": { + "sourceEventsCount": { + "description": "Count of entries in the source user events BigQuery table.", + "format": "int64", + "type": "string" + }, + "transformedEventsCount": { + "description": "Count of entries in the transformed user events BigQuery table, which could be different from the actually imported number of user events.", + "format": "int64", + "type": "string" + } + }, + "type": "object" + }, "GoogleCloudRetailV2alphaTuneModelMetadata": { "description": "Metadata associated with a tune operation.", "id": "GoogleCloudRetailV2alphaTuneModelMetadata", @@ -2837,12 +2945,62 @@ }, "type": "object" }, + "GoogleCloudRetailV2betaBatchRemoveCatalogAttributesRequest": { + "description": "Request for CatalogService.BatchRemoveCatalogAttributes method.", + "id": "GoogleCloudRetailV2betaBatchRemoveCatalogAttributesRequest", + "properties": { + "attributeKeys": { + "description": "Required. The attribute name keys of the CatalogAttributes to delete. A maximum of 1000 catalog attributes can be deleted in a batch.", + "items": { + "type": "string" + }, + "type": "array" + } + }, + "type": "object" + }, + "GoogleCloudRetailV2betaBatchRemoveCatalogAttributesResponse": { + "description": "Response of the CatalogService.BatchRemoveCatalogAttributes.", + "id": "GoogleCloudRetailV2betaBatchRemoveCatalogAttributesResponse", + "properties": { + "deletedCatalogAttributes": { + "description": "Catalog attributes that were deleted. Only attributes that are not in use by products can be deleted.", + "items": { + "type": "string" + }, + "type": "array" + }, + "resetCatalogAttributes": { + "description": "Catalog attributes that were reset. Attributes that are in use by products cannot be deleted, however their configuration properties will reset to default values upon removal request.", + "items": { + "type": "string" + }, + "type": "array" + } + }, + "type": "object" + }, + "GoogleCloudRetailV2betaBigQueryOutputResult": { + "description": "A BigQuery output result.", + "id": "GoogleCloudRetailV2betaBigQueryOutputResult", + "properties": { + "datasetId": { + "description": "The ID of a BigQuery Dataset.", + "type": "string" + }, + "tableId": { + "description": "The ID of a BigQuery Table.", + "type": "string" + } + }, + "type": "object" + }, "GoogleCloudRetailV2betaBigQuerySource": { "description": "BigQuery source import data from.", "id": "GoogleCloudRetailV2betaBigQuerySource", "properties": { "dataSchema": { - "description": "The schema to use when parsing the data from the source. Supported values for product imports: * `product` (default): One JSON Product per line. Each product must have a valid Product.id. * `product_merchant_center`: See [Importing catalog data from Merchant Center](https://cloud.google.com/retail/recommendations-ai/docs/upload-catalog#mc). Supported values for user events imports: * `user_event` (default): One JSON UserEvent per line. * `user_event_ga360`: The schema is available here: https://support.google.com/analytics/answer/3437719. * `user_event_ga4`: This feature is in private preview. Please contact the support team for importing Google Analytics 4 events. The schema is available here: https://support.google.com/analytics/answer/7029846. Supported values for auto-completion imports: * `suggestions` (default): One JSON completion suggestion per line. * `denylist`: One JSON deny suggestion per line. * `allowlist`: One JSON allow suggestion per line.", + "description": "The schema to use when parsing the data from the source. Supported values for product imports: * `product` (default): One JSON Product per line. Each product must have a valid Product.id. * `product_merchant_center`: See [Importing catalog data from Merchant Center](https://cloud.google.com/retail/recommendations-ai/docs/upload-catalog#mc). Supported values for user events imports: * `user_event` (default): One JSON UserEvent per line. * `user_event_ga360`: The schema is available here: https://support.google.com/analytics/answer/3437719. * `user_event_ga4`: The schema is available here: https://support.google.com/analytics/answer/7029846. Supported values for auto-completion imports: * `suggestions` (default): One JSON completion suggestion per line. * `denylist`: One JSON deny suggestion per line. * `allowlist`: One JSON allow suggestion per line.", "type": "string" }, "datasetId": { @@ -2855,7 +3013,7 @@ }, "partitionDate": { "$ref": "GoogleTypeDate", - "description": "BigQuery time partitioned table's _PARTITIONDATE in YYYY-MM-DD format. Only supported when ImportProductsRequest.reconciliation_mode is set to `FULL`." + "description": "BigQuery time partitioned table's _PARTITIONDATE in YYYY-MM-DD format. Only supported in ImportProductsRequest." }, "projectId": { "description": "The project ID (can be project # or ID) that the BigQuery source is in with a length limit of 128 characters. If not specified, inherits the project ID from the parent request.", @@ -2909,6 +3067,20 @@ ], "type": "string" }, + "exactSearchableOption": { + "description": "If EXACT_SEARCHABLE_ENABLED, attribute values will be exact searchable. This property only applies to textual custom attributes and requires indexable set to enabled to enable exact-searchable.", + "enum": [ + "EXACT_SEARCHABLE_OPTION_UNSPECIFIED", + "EXACT_SEARCHABLE_ENABLED", + "EXACT_SEARCHABLE_DISABLED" + ], + "enumDescriptions": [ + "Value used when unset. Defaults to EXACT_SEARCHABLE_DISABLED.", + "Exact searchable option enabled for an attribute.", + "Exact searchable option disabled for an attribute." + ], + "type": "string" + }, "inUse": { "description": "Output only. Indicates whether this attribute has been used by any products. `True` if at least one Product is using this attribute in Product.attributes. Otherwise, this field is `False`. CatalogAttribute can be pre-loaded by using CatalogService.AddCatalogAttribute, CatalogService.ImportCatalogAttributes, or CatalogService.UpdateAttributesConfig APIs. This field is `False` for pre-loaded CatalogAttributes. Only pre-loaded CatalogAttributes that are neither in use by products nor predefined can be deleted. CatalogAttributes that are either in use by products or are predefined cannot be deleted; however, their configuration properties will reset to default values upon removal request. After catalog changes, it takes about 10 minutes for this field to update.", "readOnly": true, @@ -3091,12 +3263,12 @@ "type": "string" }, "maxSuggestions": { - "description": "The maximum number of autocomplete suggestions returned per term. The maximum allowed max suggestions is 20. Default value is 20. If left unset or set to 0, then will fallback to default value.", + "description": "The maximum number of autocomplete suggestions returned per term. Default value is 20. If left unset or set to 0, then will fallback to default value. Value range is 1 to 20.", "format": "int32", "type": "integer" }, "minPrefixLength": { - "description": "The minimum number of characters needed to be typed in order to get suggestions. Default value is 2. If left unset or set to 0, then will fallback to default value.", + "description": "The minimum number of characters needed to be typed in order to get suggestions. Default value is 2. If left unset or set to 0, then will fallback to default value. Value range is 1 to 20.", "format": "int32", "type": "integer" }, @@ -3316,6 +3488,10 @@ "errorsConfig": { "$ref": "GoogleCloudRetailV2betaExportErrorsConfig", "description": "This field is never set." + }, + "outputResult": { + "$ref": "GoogleCloudRetailV2betaOutputResult", + "description": "Output result indicating where the data were exported to." } }, "type": "object" @@ -3334,6 +3510,10 @@ "errorsConfig": { "$ref": "GoogleCloudRetailV2betaExportErrorsConfig", "description": "This field is never set." + }, + "outputResult": { + "$ref": "GoogleCloudRetailV2betaOutputResult", + "description": "Output result indicating where the data were exported to." } }, "type": "object" @@ -3503,7 +3683,7 @@ "description": "Required. The desired input location of the data." }, "notificationPubsubTopic": { - "description": "Full Pub/Sub topic name for receiving notification. If this field is set, when the import is finished, a notification will be sent to specified Pub/Sub topic. The message data will be JSON string of a Operation. Format of the Pub/Sub topic is `projects/{project}/topics/{topic}`. It has to be within the same project as ImportProductsRequest.parent. Make sure that both `cloud-retail-customer-data-access@system.gserviceaccount.com` and `service-@gcp-sa-retail.iam.gserviceaccount.com` have the `pubsub.topics.publish` IAM permission on the topic. Only supported when ImportProductsRequest.reconciliation_mode is set to `FULL`.", + "description": "Full Pub/Sub topic name for receiving notification. If this field is set, when the import is finished, a notification will be sent to specified Pub/Sub topic. The message data will be JSON string of a Operation. Format of the Pub/Sub topic is `projects/{project}/topics/{topic}`. It has to be within the same project as ImportProductsRequest.parent. Make sure that `service-@gcp-sa-retail.iam.gserviceaccount.com` has the `pubsub.topics.publish` IAM permission on the topic.", "type": "string" }, "reconciliationMode": { @@ -3516,7 +3696,7 @@ "enumDescriptions": [ "Defaults to INCREMENTAL.", "Inserts new products or updates existing products.", - "Calculates diff and replaces the entire product dataset. Existing products may be deleted if they are not present in the source location. Can only be set while using BigQuerySource. And the BigQuery dataset must be created in the data location \"us (multiple regions in United States)\", otherwise a PERMISSION_DENIED error is thrown. Add the IAM permission \"BigQuery Data Viewer\" for cloud-retail-customer-data-access@system.gserviceaccount.com before using this feature otherwise an error is thrown." + "Calculates diff and replaces the entire product dataset. Existing products may be deleted if they are not present in the source location." ], "type": "string" }, @@ -3760,6 +3940,20 @@ }, "type": "object" }, + "GoogleCloudRetailV2betaOutputResult": { + "description": "Output result.", + "id": "GoogleCloudRetailV2betaOutputResult", + "properties": { + "bigqueryResult": { + "description": "Export result in BigQuery.", + "items": { + "$ref": "GoogleCloudRetailV2betaBigQueryOutputResult" + }, + "type": "array" + } + }, + "type": "object" + }, "GoogleCloudRetailV2betaPredictRequest": { "description": "Request message for Predict method.", "id": "GoogleCloudRetailV2betaPredictRequest", @@ -3963,7 +4157,7 @@ "type": "array" }, "collectionMemberIds": { - "description": "The id of the collection members when type is Type.COLLECTION. Non-existent product ids are allowed. The type of the members must be either Type.PRIMARY or Type.VARIANT otherwise and INVALID_ARGUMENT error is thrown. Should not set it for other types. A maximum of 1000 values are allowed. Otherwise, an INVALID_ARGUMENT error is return.", + "description": "The id of the collection members when type is Type.COLLECTION. Non-existent product ids are allowed. The type of the members must be either Type.PRIMARY or Type.VARIANT otherwise an INVALID_ARGUMENT error is thrown. Should not set it for other types. A maximum of 1000 values are allowed. Otherwise, an INVALID_ARGUMENT error is return.", "items": { "type": "string" }, @@ -4857,6 +5051,10 @@ "type": "string" }, "type": "array" + }, + "returnMinMax": { + "description": "Returns the min and max value for each numerical facet intervals. Ignored for textual facets.", + "type": "boolean" } }, "type": "object" @@ -4874,7 +5072,7 @@ ], "enumDescriptions": [ "Default value. Defaults to Mode.AUTO.", - "Let CRS decide whether to use personalization.", + "Let CRS decide whether to use personalization based on quality of user event data.", "Disable personalization." ], "type": "string" @@ -5023,6 +5221,16 @@ "$ref": "GoogleCloudRetailV2betaInterval", "description": "Interval value for a facet, such as [10, 20) for facet \"price\"." }, + "maxValue": { + "description": "The maximum value in the FacetValue.interval. Only supported on numerical facets and returned if SearchRequest.FacetSpec.FacetKey.return_min_max is true.", + "format": "double", + "type": "number" + }, + "minValue": { + "description": "The minimum value in the FacetValue.interval. Only supported on numerical facets and returned if SearchRequest.FacetSpec.FacetKey.return_min_max is true.", + "format": "double", + "type": "number" + }, "value": { "description": "Text value of a facet, such as \"Black\" for facet \"colorFamilies\".", "type": "string" @@ -5067,6 +5275,13 @@ "description": "If a variant Product matches the search query, this map indicates which Product fields are matched. The key is the Product.name, the value is a field mask of the matched Product fields. If matched attributes cannot be determined, this map will be empty. For example, a key \"sku1\" with field mask \"products.color_info\" indicates there is a match between \"sku1\" ColorInfo and the query.", "type": "object" }, + "personalLabels": { + "description": "Specifies previous events related to this product for this user based on UserEvent with same SearchRequest.visitor_id or UserInfo.user_id. This is set only when SearchRequest.PersonalizationSpec.mode is SearchRequest.PersonalizationSpec.Mode.AUTO. Possible values: * `purchased`: Indicates that this product has been purchased before.", + "items": { + "type": "string" + }, + "type": "array" + }, "product": { "$ref": "GoogleCloudRetailV2betaProduct", "description": "The product data snippet in the search response. Only Product.name is guaranteed to be populated. Product.variants contains the product variants that match the search query. If there are multiple product variants matching the query, top 5 most relevant product variants are returned and ordered by relevancy. If relevancy can be deternmined, use matching_variant_fields to look up matched product variants fields. If relevancy cannot be determined, e.g. when searching \"shoe\" all products in a shoe product can be a match, 5 product variants are returned but order is meaningless." diff --git a/googleapiclient/discovery_cache/documents/run.v1.json b/googleapiclient/discovery_cache/documents/run.v1.json index 3221a8f2f4d..0cd71f12417 100644 --- a/googleapiclient/discovery_cache/documents/run.v1.json +++ b/googleapiclient/discovery_cache/documents/run.v1.json @@ -2261,7 +2261,7 @@ } } }, - "revision": "20220717", + "revision": "20220731", "rootUrl": "https://run.googleapis.com/", "schemas": { "Addressable": { @@ -3549,7 +3549,7 @@ "type": "object" }, "name": { - "description": "Name must be unique within a namespace, within a Cloud Run region. Is required when creating resources, although some resources may allow a client to request the generation of an appropriate name automatically. Name is primarily intended for creation idempotence and configuration definition. Cannot be updated. More info: https://kubernetes.io/docs/user-guide/identifiers#names +optional", + "description": "Name must be unique within a namespace, within a Cloud Run region. Is required when creating resources, although some resources may allow a client to request the generation of an appropriate name automatically. Name is primarily intended for creation idempotence and configuration definition. Cannot be updated. More info: https://kubernetes.io/docs/user-guide/identifiers#names If ObjectMeta is part of a namespaces.services.create request, name must contain fewer than 50 characters. +optional", "type": "string" }, "namespace": { diff --git a/googleapiclient/discovery_cache/documents/run.v2.json b/googleapiclient/discovery_cache/documents/run.v2.json index 989e8d0df9f..2080679519f 100644 --- a/googleapiclient/discovery_cache/documents/run.v2.json +++ b/googleapiclient/discovery_cache/documents/run.v2.json @@ -696,7 +696,7 @@ ], "parameters": { "parent": { - "description": "Required. The location and project in which this service should be created. Format: projects/{projectnumber}/locations/{location}", + "description": "Required. The location and project in which this service should be created. Format: projects/{projectnumber}/locations/{location} Only lowercase, digits, and hyphens; must begin with letter, and may not end with hyphen; must contain fewer than 50 characters.", "location": "path", "pattern": "^projects/[^/]+/locations/[^/]+$", "required": true, @@ -1064,7 +1064,7 @@ } } }, - "revision": "20220717", + "revision": "20220731", "rootUrl": "https://run.googleapis.com/", "schemas": { "GoogleCloudRunV2BinaryAuthorization": { diff --git a/googleapiclient/discovery_cache/documents/runtimeconfig.v1.json b/googleapiclient/discovery_cache/documents/runtimeconfig.v1.json index 12a5e4a492c..b3a2738dcb8 100644 --- a/googleapiclient/discovery_cache/documents/runtimeconfig.v1.json +++ b/googleapiclient/discovery_cache/documents/runtimeconfig.v1.json @@ -210,7 +210,7 @@ } } }, - "revision": "20220718", + "revision": "20220730", "rootUrl": "https://runtimeconfig.googleapis.com/", "schemas": { "CancelOperationRequest": { diff --git a/googleapiclient/discovery_cache/documents/runtimeconfig.v1beta1.json b/googleapiclient/discovery_cache/documents/runtimeconfig.v1beta1.json index b1659ff9577..b58f3895068 100644 --- a/googleapiclient/discovery_cache/documents/runtimeconfig.v1beta1.json +++ b/googleapiclient/discovery_cache/documents/runtimeconfig.v1beta1.json @@ -805,7 +805,7 @@ } } }, - "revision": "20220725", + "revision": "20220730", "rootUrl": "https://runtimeconfig.googleapis.com/", "schemas": { "Binding": { diff --git a/googleapiclient/discovery_cache/documents/safebrowsing.v4.json b/googleapiclient/discovery_cache/documents/safebrowsing.v4.json index 3f4478677c7..0b168aed5f9 100644 --- a/googleapiclient/discovery_cache/documents/safebrowsing.v4.json +++ b/googleapiclient/discovery_cache/documents/safebrowsing.v4.json @@ -261,7 +261,7 @@ } } }, - "revision": "20220722", + "revision": "20220806", "rootUrl": "https://safebrowsing.googleapis.com/", "schemas": { "GoogleProtobufEmpty": { diff --git a/googleapiclient/discovery_cache/documents/sasportal.v1alpha1.json b/googleapiclient/discovery_cache/documents/sasportal.v1alpha1.json index 4e935118366..2f4f3378797 100644 --- a/googleapiclient/discovery_cache/documents/sasportal.v1alpha1.json +++ b/googleapiclient/discovery_cache/documents/sasportal.v1alpha1.json @@ -2563,7 +2563,7 @@ } } }, - "revision": "20220720", + "revision": "20220727", "rootUrl": "https://sasportal.googleapis.com/", "schemas": { "SasPortalAssignment": { diff --git a/googleapiclient/discovery_cache/documents/script.v1.json b/googleapiclient/discovery_cache/documents/script.v1.json index 873542a87f0..f6135f7009c 100644 --- a/googleapiclient/discovery_cache/documents/script.v1.json +++ b/googleapiclient/discovery_cache/documents/script.v1.json @@ -887,7 +887,7 @@ } } }, - "revision": "20220719", + "revision": "20220806", "rootUrl": "https://script.googleapis.com/", "schemas": { "Content": { diff --git a/googleapiclient/discovery_cache/documents/searchconsole.v1.json b/googleapiclient/discovery_cache/documents/searchconsole.v1.json index 4b0e87f0aa9..a57f1ce0d79 100644 --- a/googleapiclient/discovery_cache/documents/searchconsole.v1.json +++ b/googleapiclient/discovery_cache/documents/searchconsole.v1.json @@ -400,7 +400,7 @@ } } }, - "revision": "20220722", + "revision": "20220806", "rootUrl": "https://searchconsole.googleapis.com/", "schemas": { "AmpInspectionResult": { diff --git a/googleapiclient/discovery_cache/documents/secretmanager.v1.json b/googleapiclient/discovery_cache/documents/secretmanager.v1.json index ed46bf85b37..c01c2cbf19c 100644 --- a/googleapiclient/discovery_cache/documents/secretmanager.v1.json +++ b/googleapiclient/discovery_cache/documents/secretmanager.v1.json @@ -643,7 +643,7 @@ } } }, - "revision": "20220715", + "revision": "20220729", "rootUrl": "https://secretmanager.googleapis.com/", "schemas": { "AccessSecretVersionResponse": { diff --git a/googleapiclient/discovery_cache/documents/secretmanager.v1beta1.json b/googleapiclient/discovery_cache/documents/secretmanager.v1beta1.json index c8cd4199f7f..428cf03534c 100644 --- a/googleapiclient/discovery_cache/documents/secretmanager.v1beta1.json +++ b/googleapiclient/discovery_cache/documents/secretmanager.v1beta1.json @@ -628,7 +628,7 @@ } } }, - "revision": "20220715", + "revision": "20220729", "rootUrl": "https://secretmanager.googleapis.com/", "schemas": { "AccessSecretVersionResponse": { diff --git a/googleapiclient/discovery_cache/documents/securitycenter.v1.json b/googleapiclient/discovery_cache/documents/securitycenter.v1.json index 06b3883289f..d5448dd81dc 100644 --- a/googleapiclient/discovery_cache/documents/securitycenter.v1.json +++ b/googleapiclient/discovery_cache/documents/securitycenter.v1.json @@ -3058,7 +3058,7 @@ } } }, - "revision": "20220720", + "revision": "20220728", "rootUrl": "https://securitycenter.googleapis.com/", "schemas": { "Access": { @@ -3078,7 +3078,22 @@ "type": "string" }, "principalEmail": { - "description": "Associated email, such as \"foo@google.com\".", + "description": "Associated email, such as \"foo@google.com\". The email address of the authenticated user (or service account on behalf of third party principal) making the request. For third party identity callers, the `principal_subject` field is populated instead of this field. For privacy reasons, the principal email address is sometimes redacted. For more information, see [Caller identities in audit logs](https://cloud.google.com/logging/docs/audit#user-id).", + "type": "string" + }, + "principalSubject": { + "description": "A string representing the principal_subject associated with the identity. As compared to `principal_email`, supports principals that aren't associated with email addresses, such as third party principals. For most identities, the format will be `principal://iam.googleapis.com/{identity pool name}/subject/{subject)` except for some GKE identities (GKE_WORKLOAD, FREEFORM, GKE_HUB_WORKLOAD) that are still in the legacy format `serviceAccount:{identity pool name}[{subject}]`", + "type": "string" + }, + "serviceAccountDelegationInfo": { + "description": "Identity delegation history of an authenticated service account that makes the request. It contains information on the real authorities that try to access GCP resources by delegating on a service account. When multiple authorities are present, they are guaranteed to be sorted based on the original ordering of the identity delegation events.", + "items": { + "$ref": "ServiceAccountDelegationInfo" + }, + "type": "array" + }, + "serviceAccountKeyName": { + "description": "The name of the service account key used to create or exchange credentials for authenticating the service account making the request. This is a scheme-less URI full resource name. For example: \"//iam.googleapis.com/projects/{PROJECT_ID}/serviceAccounts/{ACCOUNT}/keys/{key}\" ", "type": "string" }, "serviceName": { @@ -5024,7 +5039,8 @@ "DATA_DESTRUCTION", "DOMAIN_POLICY_MODIFICATION", "IMPAIR_DEFENSES", - "NETWORK_SERVICE_DISCOVERY" + "NETWORK_SERVICE_DISCOVERY", + "ACCESS_TOKEN_MANIPULATION" ], "enumDescriptions": [ "Unspecified value.", @@ -5059,7 +5075,8 @@ "T1485", "T1484", "T1562", - "T1046" + "T1046", + "T1134" ], "type": "string" }, @@ -5139,7 +5156,8 @@ "DATA_DESTRUCTION", "DOMAIN_POLICY_MODIFICATION", "IMPAIR_DEFENSES", - "NETWORK_SERVICE_DISCOVERY" + "NETWORK_SERVICE_DISCOVERY", + "ACCESS_TOKEN_MANIPULATION" ], "enumDescriptions": [ "Unspecified value.", @@ -5174,7 +5192,8 @@ "T1485", "T1484", "T1562", - "T1046" + "T1046", + "T1134" ], "type": "string" }, @@ -5594,6 +5613,21 @@ }, "type": "object" }, + "ServiceAccountDelegationInfo": { + "description": "Identity delegation history of an authenticated service account.", + "id": "ServiceAccountDelegationInfo", + "properties": { + "principalEmail": { + "description": "The email address of a Google account. .", + "type": "string" + }, + "principalSubject": { + "description": "A string representing the principal_subject associated with the identity. As compared to `principal_email`, supports principals that aren't associated with email addresses, such as third party principals. For most identities, the format will be `principal://iam.googleapis.com/{identity pool name}/subject/{subject)` except for some GKE identities (GKE_WORKLOAD, FREEFORM, GKE_HUB_WORKLOAD) that are still in the legacy format `serviceAccount:{identity pool name}[{subject}]`", + "type": "string" + } + }, + "type": "object" + }, "SetFindingStateRequest": { "description": "Request message for updating a finding's state.", "id": "SetFindingStateRequest", diff --git a/googleapiclient/discovery_cache/documents/securitycenter.v1beta1.json b/googleapiclient/discovery_cache/documents/securitycenter.v1beta1.json index 34ff16921f1..8bd54ab4c56 100644 --- a/googleapiclient/discovery_cache/documents/securitycenter.v1beta1.json +++ b/googleapiclient/discovery_cache/documents/securitycenter.v1beta1.json @@ -896,7 +896,7 @@ } } }, - "revision": "20220720", + "revision": "20220728", "rootUrl": "https://securitycenter.googleapis.com/", "schemas": { "Access": { @@ -916,7 +916,22 @@ "type": "string" }, "principalEmail": { - "description": "Associated email, such as \"foo@google.com\".", + "description": "Associated email, such as \"foo@google.com\". The email address of the authenticated user (or service account on behalf of third party principal) making the request. For third party identity callers, the `principal_subject` field is populated instead of this field. For privacy reasons, the principal email address is sometimes redacted. For more information, see [Caller identities in audit logs](https://cloud.google.com/logging/docs/audit#user-id).", + "type": "string" + }, + "principalSubject": { + "description": "A string representing the principal_subject associated with the identity. As compared to `principal_email`, supports principals that aren't associated with email addresses, such as third party principals. For most identities, the format will be `principal://iam.googleapis.com/{identity pool name}/subject/{subject)` except for some GKE identities (GKE_WORKLOAD, FREEFORM, GKE_HUB_WORKLOAD) that are still in the legacy format `serviceAccount:{identity pool name}[{subject}]`", + "type": "string" + }, + "serviceAccountDelegationInfo": { + "description": "Identity delegation history of an authenticated service account that makes the request. It contains information on the real authorities that try to access GCP resources by delegating on a service account. When multiple authorities are present, they are guaranteed to be sorted based on the original ordering of the identity delegation events.", + "items": { + "$ref": "ServiceAccountDelegationInfo" + }, + "type": "array" + }, + "serviceAccountKeyName": { + "description": "The name of the service account key used to create or exchange credentials for authenticating the service account making the request. This is a scheme-less URI full resource name. For example: \"//iam.googleapis.com/projects/{PROJECT_ID}/serviceAccounts/{ACCOUNT}/keys/{key}\" ", "type": "string" }, "serviceName": { @@ -2807,7 +2822,8 @@ "DATA_DESTRUCTION", "DOMAIN_POLICY_MODIFICATION", "IMPAIR_DEFENSES", - "NETWORK_SERVICE_DISCOVERY" + "NETWORK_SERVICE_DISCOVERY", + "ACCESS_TOKEN_MANIPULATION" ], "enumDescriptions": [ "Unspecified value.", @@ -2842,7 +2858,8 @@ "T1485", "T1484", "T1562", - "T1046" + "T1046", + "T1134" ], "type": "string" }, @@ -2922,7 +2939,8 @@ "DATA_DESTRUCTION", "DOMAIN_POLICY_MODIFICATION", "IMPAIR_DEFENSES", - "NETWORK_SERVICE_DISCOVERY" + "NETWORK_SERVICE_DISCOVERY", + "ACCESS_TOKEN_MANIPULATION" ], "enumDescriptions": [ "Unspecified value.", @@ -2957,7 +2975,8 @@ "T1485", "T1484", "T1562", - "T1046" + "T1046", + "T1134" ], "type": "string" }, @@ -3288,6 +3307,21 @@ }, "type": "object" }, + "ServiceAccountDelegationInfo": { + "description": "Identity delegation history of an authenticated service account.", + "id": "ServiceAccountDelegationInfo", + "properties": { + "principalEmail": { + "description": "The email address of a Google account. .", + "type": "string" + }, + "principalSubject": { + "description": "A string representing the principal_subject associated with the identity. As compared to `principal_email`, supports principals that aren't associated with email addresses, such as third party principals. For most identities, the format will be `principal://iam.googleapis.com/{identity pool name}/subject/{subject)` except for some GKE identities (GKE_WORKLOAD, FREEFORM, GKE_HUB_WORKLOAD) that are still in the legacy format `serviceAccount:{identity pool name}[{subject}]`", + "type": "string" + } + }, + "type": "object" + }, "SetFindingStateRequest": { "description": "Request message for updating a finding's state.", "id": "SetFindingStateRequest", diff --git a/googleapiclient/discovery_cache/documents/securitycenter.v1beta2.json b/googleapiclient/discovery_cache/documents/securitycenter.v1beta2.json index 923e517c47a..28e53bcbc59 100644 --- a/googleapiclient/discovery_cache/documents/securitycenter.v1beta2.json +++ b/googleapiclient/discovery_cache/documents/securitycenter.v1beta2.json @@ -1981,7 +1981,7 @@ } } }, - "revision": "20220720", + "revision": "20220728", "rootUrl": "https://securitycenter.googleapis.com/", "schemas": { "Access": { @@ -2001,7 +2001,22 @@ "type": "string" }, "principalEmail": { - "description": "Associated email, such as \"foo@google.com\".", + "description": "Associated email, such as \"foo@google.com\". The email address of the authenticated user (or service account on behalf of third party principal) making the request. For third party identity callers, the `principal_subject` field is populated instead of this field. For privacy reasons, the principal email address is sometimes redacted. For more information, see [Caller identities in audit logs](https://cloud.google.com/logging/docs/audit#user-id).", + "type": "string" + }, + "principalSubject": { + "description": "A string representing the principal_subject associated with the identity. As compared to `principal_email`, supports principals that aren't associated with email addresses, such as third party principals. For most identities, the format will be `principal://iam.googleapis.com/{identity pool name}/subject/{subject)` except for some GKE identities (GKE_WORKLOAD, FREEFORM, GKE_HUB_WORKLOAD) that are still in the legacy format `serviceAccount:{identity pool name}[{subject}]`", + "type": "string" + }, + "serviceAccountDelegationInfo": { + "description": "Identity delegation history of an authenticated service account that makes the request. It contains information on the real authorities that try to access GCP resources by delegating on a service account. When multiple authorities are present, they are guaranteed to be sorted based on the original ordering of the identity delegation events.", + "items": { + "$ref": "ServiceAccountDelegationInfo" + }, + "type": "array" + }, + "serviceAccountKeyName": { + "description": "The name of the service account key used to create or exchange credentials for authenticating the service account making the request. This is a scheme-less URI full resource name. For example: \"//iam.googleapis.com/projects/{PROJECT_ID}/serviceAccounts/{ACCOUNT}/keys/{key}\" ", "type": "string" }, "serviceName": { @@ -3521,7 +3536,8 @@ "DATA_DESTRUCTION", "DOMAIN_POLICY_MODIFICATION", "IMPAIR_DEFENSES", - "NETWORK_SERVICE_DISCOVERY" + "NETWORK_SERVICE_DISCOVERY", + "ACCESS_TOKEN_MANIPULATION" ], "enumDescriptions": [ "Unspecified value.", @@ -3556,7 +3572,8 @@ "T1485", "T1484", "T1562", - "T1046" + "T1046", + "T1134" ], "type": "string" }, @@ -3636,7 +3653,8 @@ "DATA_DESTRUCTION", "DOMAIN_POLICY_MODIFICATION", "IMPAIR_DEFENSES", - "NETWORK_SERVICE_DISCOVERY" + "NETWORK_SERVICE_DISCOVERY", + "ACCESS_TOKEN_MANIPULATION" ], "enumDescriptions": [ "Unspecified value.", @@ -3671,7 +3689,8 @@ "T1485", "T1484", "T1562", - "T1046" + "T1046", + "T1134" ], "type": "string" }, @@ -4017,6 +4036,21 @@ }, "type": "object" }, + "ServiceAccountDelegationInfo": { + "description": "Identity delegation history of an authenticated service account.", + "id": "ServiceAccountDelegationInfo", + "properties": { + "principalEmail": { + "description": "The email address of a Google account. .", + "type": "string" + }, + "principalSubject": { + "description": "A string representing the principal_subject associated with the identity. As compared to `principal_email`, supports principals that aren't associated with email addresses, such as third party principals. For most identities, the format will be `principal://iam.googleapis.com/{identity pool name}/subject/{subject)` except for some GKE identities (GKE_WORKLOAD, FREEFORM, GKE_HUB_WORKLOAD) that are still in the legacy format `serviceAccount:{identity pool name}[{subject}]`", + "type": "string" + } + }, + "type": "object" + }, "Subject": { "description": "Represents a Kubernetes Subject.", "id": "Subject", diff --git a/googleapiclient/discovery_cache/documents/serviceconsumermanagement.v1.json b/googleapiclient/discovery_cache/documents/serviceconsumermanagement.v1.json index 11197a452c9..fc0ae89acc8 100644 --- a/googleapiclient/discovery_cache/documents/serviceconsumermanagement.v1.json +++ b/googleapiclient/discovery_cache/documents/serviceconsumermanagement.v1.json @@ -542,7 +542,7 @@ } } }, - "revision": "20220719", + "revision": "20220806", "rootUrl": "https://serviceconsumermanagement.googleapis.com/", "schemas": { "AddTenantProjectRequest": { diff --git a/googleapiclient/discovery_cache/documents/serviceconsumermanagement.v1beta1.json b/googleapiclient/discovery_cache/documents/serviceconsumermanagement.v1beta1.json index f063a542f75..1367d480e9f 100644 --- a/googleapiclient/discovery_cache/documents/serviceconsumermanagement.v1beta1.json +++ b/googleapiclient/discovery_cache/documents/serviceconsumermanagement.v1beta1.json @@ -500,7 +500,7 @@ } } }, - "revision": "20220719", + "revision": "20220806", "rootUrl": "https://serviceconsumermanagement.googleapis.com/", "schemas": { "Api": { diff --git a/googleapiclient/discovery_cache/documents/servicecontrol.v1.json b/googleapiclient/discovery_cache/documents/servicecontrol.v1.json index 33ec8239ced..d82a9dd37a5 100644 --- a/googleapiclient/discovery_cache/documents/servicecontrol.v1.json +++ b/googleapiclient/discovery_cache/documents/servicecontrol.v1.json @@ -197,7 +197,7 @@ } } }, - "revision": "20220707", + "revision": "20220729", "rootUrl": "https://servicecontrol.googleapis.com/", "schemas": { "AllocateInfo": { diff --git a/googleapiclient/discovery_cache/documents/servicecontrol.v2.json b/googleapiclient/discovery_cache/documents/servicecontrol.v2.json index 40785f52187..dc3580d6553 100644 --- a/googleapiclient/discovery_cache/documents/servicecontrol.v2.json +++ b/googleapiclient/discovery_cache/documents/servicecontrol.v2.json @@ -169,7 +169,7 @@ } } }, - "revision": "20220707", + "revision": "20220729", "rootUrl": "https://servicecontrol.googleapis.com/", "schemas": { "Api": { diff --git a/googleapiclient/discovery_cache/documents/servicedirectory.v1.json b/googleapiclient/discovery_cache/documents/servicedirectory.v1.json index 7f20fe555c2..90698f1347c 100644 --- a/googleapiclient/discovery_cache/documents/servicedirectory.v1.json +++ b/googleapiclient/discovery_cache/documents/servicedirectory.v1.json @@ -883,7 +883,7 @@ } } }, - "revision": "20220706", + "revision": "20220728", "rootUrl": "https://servicedirectory.googleapis.com/", "schemas": { "Binding": { diff --git a/googleapiclient/discovery_cache/documents/servicedirectory.v1beta1.json b/googleapiclient/discovery_cache/documents/servicedirectory.v1beta1.json index ee497bc08b1..227ed884c56 100644 --- a/googleapiclient/discovery_cache/documents/servicedirectory.v1beta1.json +++ b/googleapiclient/discovery_cache/documents/servicedirectory.v1beta1.json @@ -263,7 +263,7 @@ ] }, "getIamPolicy": { - "description": "Gets the IAM Policy for a resource (namespace or service only).", + "description": "Gets the IAM Policy for a resource", "flatPath": "v1beta1/projects/{projectsId}/locations/{locationsId}/namespaces/{namespacesId}:getIamPolicy", "httpMethod": "POST", "id": "servicedirectory.projects.locations.namespaces.getIamPolicy", @@ -371,7 +371,7 @@ ] }, "setIamPolicy": { - "description": "Sets the IAM Policy for a resource (namespace or service only).", + "description": "Sets the IAM Policy for a resource", "flatPath": "v1beta1/projects/{projectsId}/locations/{locationsId}/namespaces/{namespacesId}:setIamPolicy", "httpMethod": "POST", "id": "servicedirectory.projects.locations.namespaces.setIamPolicy", @@ -431,7 +431,7 @@ "serviceWorkloads": { "methods": { "getIamPolicy": { - "description": "Gets the IAM Policy for a resource (namespace or service only).", + "description": "Gets the IAM Policy for a resource", "flatPath": "v1beta1/projects/{projectsId}/locations/{locationsId}/namespaces/{namespacesId}/serviceWorkloads/{serviceWorkloadsId}:getIamPolicy", "httpMethod": "POST", "id": "servicedirectory.projects.locations.namespaces.serviceWorkloads.getIamPolicy", @@ -459,7 +459,7 @@ ] }, "setIamPolicy": { - "description": "Sets the IAM Policy for a resource (namespace or service only).", + "description": "Sets the IAM Policy for a resource", "flatPath": "v1beta1/projects/{projectsId}/locations/{locationsId}/namespaces/{namespacesId}/serviceWorkloads/{serviceWorkloadsId}:setIamPolicy", "httpMethod": "POST", "id": "servicedirectory.projects.locations.namespaces.serviceWorkloads.setIamPolicy", @@ -602,7 +602,7 @@ ] }, "getIamPolicy": { - "description": "Gets the IAM Policy for a resource (namespace or service only).", + "description": "Gets the IAM Policy for a resource", "flatPath": "v1beta1/projects/{projectsId}/locations/{locationsId}/namespaces/{namespacesId}/services/{servicesId}:getIamPolicy", "httpMethod": "POST", "id": "servicedirectory.projects.locations.namespaces.services.getIamPolicy", @@ -738,7 +738,7 @@ ] }, "setIamPolicy": { - "description": "Sets the IAM Policy for a resource (namespace or service only).", + "description": "Sets the IAM Policy for a resource", "flatPath": "v1beta1/projects/{projectsId}/locations/{locationsId}/namespaces/{namespacesId}/services/{servicesId}:setIamPolicy", "httpMethod": "POST", "id": "servicedirectory.projects.locations.namespaces.services.setIamPolicy", @@ -965,13 +965,101 @@ } } } + }, + "registrationPolicies": { + "methods": { + "getIamPolicy": { + "description": "Gets the IAM Policy for a resource", + "flatPath": "v1beta1/projects/{projectsId}/locations/{locationsId}/registrationPolicies/{registrationPoliciesId}:getIamPolicy", + "httpMethod": "POST", + "id": "servicedirectory.projects.locations.registrationPolicies.getIamPolicy", + "parameterOrder": [ + "resource" + ], + "parameters": { + "resource": { + "description": "REQUIRED: The resource for which the policy is being requested. See [Resource names](https://cloud.google.com/apis/design/resource_names) for the appropriate value for this field.", + "location": "path", + "pattern": "^projects/[^/]+/locations/[^/]+/registrationPolicies/[^/]+$", + "required": true, + "type": "string" + } + }, + "path": "v1beta1/{+resource}:getIamPolicy", + "request": { + "$ref": "GetIamPolicyRequest" + }, + "response": { + "$ref": "Policy" + }, + "scopes": [ + "https://www.googleapis.com/auth/cloud-platform" + ] + }, + "setIamPolicy": { + "description": "Sets the IAM Policy for a resource", + "flatPath": "v1beta1/projects/{projectsId}/locations/{locationsId}/registrationPolicies/{registrationPoliciesId}:setIamPolicy", + "httpMethod": "POST", + "id": "servicedirectory.projects.locations.registrationPolicies.setIamPolicy", + "parameterOrder": [ + "resource" + ], + "parameters": { + "resource": { + "description": "REQUIRED: The resource for which the policy is being specified. See [Resource names](https://cloud.google.com/apis/design/resource_names) for the appropriate value for this field.", + "location": "path", + "pattern": "^projects/[^/]+/locations/[^/]+/registrationPolicies/[^/]+$", + "required": true, + "type": "string" + } + }, + "path": "v1beta1/{+resource}:setIamPolicy", + "request": { + "$ref": "SetIamPolicyRequest" + }, + "response": { + "$ref": "Policy" + }, + "scopes": [ + "https://www.googleapis.com/auth/cloud-platform" + ] + }, + "testIamPermissions": { + "description": "Tests IAM permissions for a resource (namespace, service or service workload only).", + "flatPath": "v1beta1/projects/{projectsId}/locations/{locationsId}/registrationPolicies/{registrationPoliciesId}:testIamPermissions", + "httpMethod": "POST", + "id": "servicedirectory.projects.locations.registrationPolicies.testIamPermissions", + "parameterOrder": [ + "resource" + ], + "parameters": { + "resource": { + "description": "REQUIRED: The resource for which the policy detail is being requested. See [Resource names](https://cloud.google.com/apis/design/resource_names) for the appropriate value for this field.", + "location": "path", + "pattern": "^projects/[^/]+/locations/[^/]+/registrationPolicies/[^/]+$", + "required": true, + "type": "string" + } + }, + "path": "v1beta1/{+resource}:testIamPermissions", + "request": { + "$ref": "TestIamPermissionsRequest" + }, + "response": { + "$ref": "TestIamPermissionsResponse" + }, + "scopes": [ + "https://www.googleapis.com/auth/cloud-platform" + ] + } + } } } } } } }, - "revision": "20220706", + "revision": "20220728", "rootUrl": "https://servicedirectory.googleapis.com/", "schemas": { "Binding": { diff --git a/googleapiclient/discovery_cache/documents/servicemanagement.v1.json b/googleapiclient/discovery_cache/documents/servicemanagement.v1.json index c2521612256..1c10bea875e 100644 --- a/googleapiclient/discovery_cache/documents/servicemanagement.v1.json +++ b/googleapiclient/discovery_cache/documents/servicemanagement.v1.json @@ -829,7 +829,7 @@ } } }, - "revision": "20220715", + "revision": "20220729", "rootUrl": "https://servicemanagement.googleapis.com/", "schemas": { "Advice": { diff --git a/googleapiclient/discovery_cache/documents/servicenetworking.v1.json b/googleapiclient/discovery_cache/documents/servicenetworking.v1.json index 517e3a1bc19..e1665bd0bb1 100644 --- a/googleapiclient/discovery_cache/documents/servicenetworking.v1.json +++ b/googleapiclient/discovery_cache/documents/servicenetworking.v1.json @@ -865,7 +865,7 @@ } } }, - "revision": "20220722", + "revision": "20220806", "rootUrl": "https://servicenetworking.googleapis.com/", "schemas": { "AddDnsRecordSetMetadata": { diff --git a/googleapiclient/discovery_cache/documents/servicenetworking.v1beta.json b/googleapiclient/discovery_cache/documents/servicenetworking.v1beta.json index 46629dccc8a..13e11766cb7 100644 --- a/googleapiclient/discovery_cache/documents/servicenetworking.v1beta.json +++ b/googleapiclient/discovery_cache/documents/servicenetworking.v1beta.json @@ -307,7 +307,7 @@ } } }, - "revision": "20220722", + "revision": "20220806", "rootUrl": "https://servicenetworking.googleapis.com/", "schemas": { "AddDnsRecordSetMetadata": { diff --git a/googleapiclient/discovery_cache/documents/serviceusage.v1.json b/googleapiclient/discovery_cache/documents/serviceusage.v1.json index a6bea7d5a7e..77ec9816dd3 100644 --- a/googleapiclient/discovery_cache/documents/serviceusage.v1.json +++ b/googleapiclient/discovery_cache/documents/serviceusage.v1.json @@ -426,7 +426,7 @@ } } }, - "revision": "20220719", + "revision": "20220806", "rootUrl": "https://serviceusage.googleapis.com/", "schemas": { "AdminQuotaPolicy": { diff --git a/googleapiclient/discovery_cache/documents/serviceusage.v1beta1.json b/googleapiclient/discovery_cache/documents/serviceusage.v1beta1.json index ae7cece1db5..24efaf38b9c 100644 --- a/googleapiclient/discovery_cache/documents/serviceusage.v1beta1.json +++ b/googleapiclient/discovery_cache/documents/serviceusage.v1beta1.json @@ -959,7 +959,7 @@ } } }, - "revision": "20220719", + "revision": "20220806", "rootUrl": "https://serviceusage.googleapis.com/", "schemas": { "AdminQuotaPolicy": { diff --git a/googleapiclient/discovery_cache/documents/sheets.v4.json b/googleapiclient/discovery_cache/documents/sheets.v4.json index 6b59fba0011..0a72452288d 100644 --- a/googleapiclient/discovery_cache/documents/sheets.v4.json +++ b/googleapiclient/discovery_cache/documents/sheets.v4.json @@ -870,7 +870,7 @@ } } }, - "revision": "20220722", + "revision": "20220804", "rootUrl": "https://sheets.googleapis.com/", "schemas": { "AddBandingRequest": { diff --git a/googleapiclient/discovery_cache/documents/slides.v1.json b/googleapiclient/discovery_cache/documents/slides.v1.json index 11e56e1915a..63525d3f2d6 100644 --- a/googleapiclient/discovery_cache/documents/slides.v1.json +++ b/googleapiclient/discovery_cache/documents/slides.v1.json @@ -313,7 +313,7 @@ } } }, - "revision": "20220714", + "revision": "20220730", "rootUrl": "https://slides.googleapis.com/", "schemas": { "AffineTransform": { @@ -1037,20 +1037,20 @@ "type": "object" }, "CreateSlideRequest": { - "description": "Creates a new slide.", + "description": "Creates a slide.", "id": "CreateSlideRequest", "properties": { "insertionIndex": { - "description": "The optional zero-based index indicating where to insert the slides. If you don't specify an index, the new slide is created at the end.", + "description": "The optional zero-based index indicating where to insert the slides. If you don't specify an index, the slide is created at the end.", "format": "int32", "type": "integer" }, "objectId": { - "description": "A user-supplied object ID. If you specify an ID, it must be unique among all pages and page elements in the presentation. The ID must start with an alphanumeric character or an underscore (matches regex `[a-zA-Z0-9_]`); remaining characters may include those as well as a hyphen or colon (matches regex `[a-zA-Z0-9_-:]`). The length of the ID must not be less than 5 or greater than 50. If you don't specify an ID, a unique one is generated.", + "description": "A user-supplied object ID. If you specify an ID, it must be unique among all pages and page elements in the presentation. The ID must start with an alphanumeric character or an underscore (matches regex `[a-zA-Z0-9_]`); remaining characters may include those as well as a hyphen or colon (matches regex `[a-zA-Z0-9_-:]`). The ID length must be between 5 and 50 characters, inclusive. If you don't specify an ID, a unique one is generated.", "type": "string" }, "placeholderIdMappings": { - "description": "An optional list of object ID mappings from the placeholder(s) on the layout to the placeholder(s) that will be created on the new slide from that specified layout. Can only be used when `slide_layout_reference` is specified.", + "description": "An optional list of object ID mappings from the placeholder(s) on the layout to the placeholders that are created on the slide from the specified layout. Can only be used when `slide_layout_reference` is specified.", "items": { "$ref": "LayoutPlaceholderIdMapping" }, @@ -1058,7 +1058,7 @@ }, "slideLayoutReference": { "$ref": "LayoutReference", - "description": "Layout reference of the slide to be inserted, based on the *current master*, which is one of the following: - The master of the previous slide index. - The master of the first slide, if the insertion_index is zero. - The first master in the presentation, if there are no slides. If the LayoutReference is not found in the current master, a 400 bad request error is returned. If you don't specify a layout reference, then the new slide will use the predefined layout `BLANK`." + "description": "Layout reference of the slide to be inserted, based on the *current master*, which is one of the following: - The master of the previous slide index. - The master of the first slide, if the insertion_index is zero. - The first master in the presentation, if there are no slides. If the LayoutReference is not found in the current master, a 400 bad request error is returned. If you don't specify a layout reference, the slide uses the predefined `BLANK` layout." } }, "type": "object" diff --git a/googleapiclient/discovery_cache/documents/smartdevicemanagement.v1.json b/googleapiclient/discovery_cache/documents/smartdevicemanagement.v1.json index f2f08fde8b1..e53a34f9f46 100644 --- a/googleapiclient/discovery_cache/documents/smartdevicemanagement.v1.json +++ b/googleapiclient/discovery_cache/documents/smartdevicemanagement.v1.json @@ -355,7 +355,7 @@ } } }, - "revision": "20220718", + "revision": "20220730", "rootUrl": "https://smartdevicemanagement.googleapis.com/", "schemas": { "GoogleHomeEnterpriseSdmV1Device": { diff --git a/googleapiclient/discovery_cache/documents/sourcerepo.v1.json b/googleapiclient/discovery_cache/documents/sourcerepo.v1.json index c0f28213b75..adbd558be29 100644 --- a/googleapiclient/discovery_cache/documents/sourcerepo.v1.json +++ b/googleapiclient/discovery_cache/documents/sourcerepo.v1.json @@ -450,7 +450,7 @@ } } }, - "revision": "20220715", + "revision": "20220730", "rootUrl": "https://sourcerepo.googleapis.com/", "schemas": { "AuditConfig": { diff --git a/googleapiclient/discovery_cache/documents/spanner.v1.json b/googleapiclient/discovery_cache/documents/spanner.v1.json index 79c358b539d..9144345aff2 100644 --- a/googleapiclient/discovery_cache/documents/spanner.v1.json +++ b/googleapiclient/discovery_cache/documents/spanner.v1.json @@ -1453,7 +1453,7 @@ "type": "string" }, "parent": { - "description": "Required. The database whose roles should be listed. Values are of the form `projects//instances//databases//databaseRoles`.", + "description": "Required. The database whose roles should be listed. Values are of the form `projects//instances//databases/`.", "location": "path", "pattern": "^projects/[^/]+/instances/[^/]+/databases/[^/]+$", "required": true, @@ -2262,7 +2262,7 @@ } } }, - "revision": "20220718", + "revision": "20220726", "rootUrl": "https://spanner.googleapis.com/", "schemas": { "Backup": { diff --git a/googleapiclient/discovery_cache/documents/speech.v1.json b/googleapiclient/discovery_cache/documents/speech.v1.json index 490a7f6d021..a1e833e1930 100644 --- a/googleapiclient/discovery_cache/documents/speech.v1.json +++ b/googleapiclient/discovery_cache/documents/speech.v1.json @@ -524,7 +524,7 @@ } } }, - "revision": "20220714", + "revision": "20220728", "rootUrl": "https://speech.googleapis.com/", "schemas": { "ClassItem": { diff --git a/googleapiclient/discovery_cache/documents/speech.v1p1beta1.json b/googleapiclient/discovery_cache/documents/speech.v1p1beta1.json index bc1365ba9d4..3cd66e5b74d 100644 --- a/googleapiclient/discovery_cache/documents/speech.v1p1beta1.json +++ b/googleapiclient/discovery_cache/documents/speech.v1p1beta1.json @@ -524,7 +524,7 @@ } } }, - "revision": "20220714", + "revision": "20220728", "rootUrl": "https://speech.googleapis.com/", "schemas": { "ClassItem": { diff --git a/googleapiclient/discovery_cache/documents/speech.v2beta1.json b/googleapiclient/discovery_cache/documents/speech.v2beta1.json index 84eea46361f..7f7e753e91e 100644 --- a/googleapiclient/discovery_cache/documents/speech.v2beta1.json +++ b/googleapiclient/discovery_cache/documents/speech.v2beta1.json @@ -184,7 +184,7 @@ } } }, - "revision": "20220714", + "revision": "20220728", "rootUrl": "https://speech.googleapis.com/", "schemas": { "ListOperationsResponse": { diff --git a/googleapiclient/discovery_cache/documents/storage.v1.json b/googleapiclient/discovery_cache/documents/storage.v1.json index 5d9eeeb468a..4f91124fa81 100644 --- a/googleapiclient/discovery_cache/documents/storage.v1.json +++ b/googleapiclient/discovery_cache/documents/storage.v1.json @@ -26,7 +26,7 @@ "description": "Stores and retrieves potentially large, immutable data objects.", "discoveryVersion": "v1", "documentationLink": "https://developers.google.com/storage/docs/json_api/", - "etag": "\"38363332343833323538303333353132333937\"", + "etag": "\"34303635353437373937323334383631383938\"", "icons": { "x16": "https://www.google.com/images/icons/product/cloud_storage-16.png", "x32": "https://www.google.com/images/icons/product/cloud_storage-32.png" @@ -3005,7 +3005,7 @@ } } }, - "revision": "20220721", + "revision": "20220802", "rootUrl": "https://storage.googleapis.com/", "schemas": { "Bucket": { diff --git a/googleapiclient/discovery_cache/documents/storagetransfer.v1.json b/googleapiclient/discovery_cache/documents/storagetransfer.v1.json index 90782ed2cb1..57929dad7ba 100644 --- a/googleapiclient/discovery_cache/documents/storagetransfer.v1.json +++ b/googleapiclient/discovery_cache/documents/storagetransfer.v1.json @@ -600,7 +600,7 @@ } } }, - "revision": "20220714", + "revision": "20220727", "rootUrl": "https://storagetransfer.googleapis.com/", "schemas": { "AgentPool": { diff --git a/googleapiclient/discovery_cache/documents/streetviewpublish.v1.json b/googleapiclient/discovery_cache/documents/streetviewpublish.v1.json index 212da6cfd4b..e86e5b4e0cf 100644 --- a/googleapiclient/discovery_cache/documents/streetviewpublish.v1.json +++ b/googleapiclient/discovery_cache/documents/streetviewpublish.v1.json @@ -533,7 +533,7 @@ } } }, - "revision": "20220722", + "revision": "20220806", "rootUrl": "https://streetviewpublish.googleapis.com/", "schemas": { "BatchDeletePhotosRequest": { diff --git a/googleapiclient/discovery_cache/documents/sts.v1.json b/googleapiclient/discovery_cache/documents/sts.v1.json index 5c061acec7c..74fcbfbc143 100644 --- a/googleapiclient/discovery_cache/documents/sts.v1.json +++ b/googleapiclient/discovery_cache/documents/sts.v1.json @@ -131,7 +131,7 @@ } } }, - "revision": "20220715", + "revision": "20220730", "rootUrl": "https://sts.googleapis.com/", "schemas": { "GoogleIamV1Binding": { diff --git a/googleapiclient/discovery_cache/documents/sts.v1beta.json b/googleapiclient/discovery_cache/documents/sts.v1beta.json index eb7fa338691..2715e34fb4d 100644 --- a/googleapiclient/discovery_cache/documents/sts.v1beta.json +++ b/googleapiclient/discovery_cache/documents/sts.v1beta.json @@ -116,7 +116,7 @@ } } }, - "revision": "20220715", + "revision": "20220730", "rootUrl": "https://sts.googleapis.com/", "schemas": { "GoogleIamV1Binding": { diff --git a/googleapiclient/discovery_cache/documents/tagmanager.v1.json b/googleapiclient/discovery_cache/documents/tagmanager.v1.json index 2ae3057b163..2cf7cd78b41 100644 --- a/googleapiclient/discovery_cache/documents/tagmanager.v1.json +++ b/googleapiclient/discovery_cache/documents/tagmanager.v1.json @@ -1932,7 +1932,7 @@ } } }, - "revision": "20220718", + "revision": "20220808", "rootUrl": "https://tagmanager.googleapis.com/", "schemas": { "Account": { diff --git a/googleapiclient/discovery_cache/documents/tagmanager.v2.json b/googleapiclient/discovery_cache/documents/tagmanager.v2.json index 3bd086e0bf9..77a15c8e2ba 100644 --- a/googleapiclient/discovery_cache/documents/tagmanager.v2.json +++ b/googleapiclient/discovery_cache/documents/tagmanager.v2.json @@ -3317,7 +3317,7 @@ } } }, - "revision": "20220718", + "revision": "20220808", "rootUrl": "https://tagmanager.googleapis.com/", "schemas": { "Account": { diff --git a/googleapiclient/discovery_cache/documents/tasks.v1.json b/googleapiclient/discovery_cache/documents/tasks.v1.json index bf665c9ed33..af70905d84a 100644 --- a/googleapiclient/discovery_cache/documents/tasks.v1.json +++ b/googleapiclient/discovery_cache/documents/tasks.v1.json @@ -566,7 +566,7 @@ } } }, - "revision": "20220722", + "revision": "20220806", "rootUrl": "https://tasks.googleapis.com/", "schemas": { "Task": { diff --git a/googleapiclient/discovery_cache/documents/texttospeech.v1.json b/googleapiclient/discovery_cache/documents/texttospeech.v1.json index 8c95c8c2170..dc51939fb12 100644 --- a/googleapiclient/discovery_cache/documents/texttospeech.v1.json +++ b/googleapiclient/discovery_cache/documents/texttospeech.v1.json @@ -153,7 +153,7 @@ } } }, - "revision": "20220719", + "revision": "20220729", "rootUrl": "https://texttospeech.googleapis.com/", "schemas": { "AudioConfig": { diff --git a/googleapiclient/discovery_cache/documents/texttospeech.v1beta1.json b/googleapiclient/discovery_cache/documents/texttospeech.v1beta1.json index 6fd6b8ab505..8005abd3ff5 100644 --- a/googleapiclient/discovery_cache/documents/texttospeech.v1beta1.json +++ b/googleapiclient/discovery_cache/documents/texttospeech.v1beta1.json @@ -153,7 +153,7 @@ } } }, - "revision": "20220719", + "revision": "20220729", "rootUrl": "https://texttospeech.googleapis.com/", "schemas": { "AudioConfig": { diff --git a/googleapiclient/discovery_cache/documents/toolresults.v1beta3.json b/googleapiclient/discovery_cache/documents/toolresults.v1beta3.json index fc5c722f522..bde0e56322f 100644 --- a/googleapiclient/discovery_cache/documents/toolresults.v1beta3.json +++ b/googleapiclient/discovery_cache/documents/toolresults.v1beta3.json @@ -1463,7 +1463,7 @@ } } }, - "revision": "20220725", + "revision": "20220808", "rootUrl": "https://toolresults.googleapis.com/", "schemas": { "ANR": { diff --git a/googleapiclient/discovery_cache/documents/tpu.v1.json b/googleapiclient/discovery_cache/documents/tpu.v1.json index 16b700e9ef6..3dab07c96aa 100644 --- a/googleapiclient/discovery_cache/documents/tpu.v1.json +++ b/googleapiclient/discovery_cache/documents/tpu.v1.json @@ -659,7 +659,7 @@ } } }, - "revision": "20220714", + "revision": "20220725", "rootUrl": "https://tpu.googleapis.com/", "schemas": { "AcceleratorType": { @@ -861,7 +861,7 @@ "V2_ALPHA1" ], "enumDescriptions": [ - "LINT.IfChange API version is unknown.", + "API version is unknown.", "TPU API V1Alpha1 version.", "TPU API V1 version.", "TPU API V2Alpha1 version." @@ -969,7 +969,7 @@ "UNHIDING" ], "enumDescriptions": [ - "LINT.IfChange TPU node state is not known/set.", + "TPU node state is not known/set.", "TPU node is being created.", "TPU node has been created.", "TPU node is restarting.", @@ -983,7 +983,7 @@ "TPU node has been terminated due to maintenance or has reached the end of its life cycle (for preemptible nodes).", "TPU node is currently hiding.", "TPU node has been hidden.", - "TPU node is currently unhiding. LINT.ThenChange(//depot/google3/java/com/google/cloud/boq/clientapi/tpu/api/gce_tpu.proto)" + "TPU node is currently unhiding." ], "readOnly": true, "type": "string" diff --git a/googleapiclient/discovery_cache/documents/tpu.v1alpha1.json b/googleapiclient/discovery_cache/documents/tpu.v1alpha1.json index 2439f9b90cf..12c8b52036e 100644 --- a/googleapiclient/discovery_cache/documents/tpu.v1alpha1.json +++ b/googleapiclient/discovery_cache/documents/tpu.v1alpha1.json @@ -669,7 +669,7 @@ } } }, - "revision": "20220714", + "revision": "20220725", "rootUrl": "https://tpu.googleapis.com/", "schemas": { "AcceleratorType": { @@ -871,7 +871,7 @@ "V2_ALPHA1" ], "enumDescriptions": [ - "LINT.IfChange API version is unknown.", + "API version is unknown.", "TPU API V1Alpha1 version.", "TPU API V1 version.", "TPU API V2Alpha1 version." @@ -979,7 +979,7 @@ "UNHIDING" ], "enumDescriptions": [ - "LINT.IfChange TPU node state is not known/set.", + "TPU node state is not known/set.", "TPU node is being created.", "TPU node has been created.", "TPU node is restarting.", @@ -993,7 +993,7 @@ "TPU node has been terminated due to maintenance or has reached the end of its life cycle (for preemptible nodes).", "TPU node is currently hiding.", "TPU node has been hidden.", - "TPU node is currently unhiding. LINT.ThenChange(//depot/google3/java/com/google/cloud/boq/clientapi/tpu/api/gce_tpu.proto)" + "TPU node is currently unhiding." ], "readOnly": true, "type": "string" diff --git a/googleapiclient/discovery_cache/documents/tpu.v2alpha1.json b/googleapiclient/discovery_cache/documents/tpu.v2alpha1.json index b42f5f98eb5..0f18e6b1b2f 100644 --- a/googleapiclient/discovery_cache/documents/tpu.v2alpha1.json +++ b/googleapiclient/discovery_cache/documents/tpu.v2alpha1.json @@ -759,7 +759,7 @@ } } }, - "revision": "20220714", + "revision": "20220725", "rootUrl": "https://tpu.googleapis.com/", "schemas": { "AcceleratorType": { @@ -1122,7 +1122,7 @@ "V2_ALPHA1" ], "enumDescriptions": [ - "LINT.IfChange API version is unknown.", + "API version is unknown.", "TPU API V1Alpha1 version.", "TPU API V1 version.", "TPU API V2Alpha1 version." @@ -1243,7 +1243,7 @@ "UNHIDING" ], "enumDescriptions": [ - "LINT.IfChange TPU node state is not known/set.", + "TPU node state is not known/set.", "TPU node is being created.", "TPU node has been created.", "TPU node is restarting.", @@ -1257,7 +1257,7 @@ "TPU node has been terminated due to maintenance or has reached the end of its life cycle (for preemptible nodes).", "TPU node is currently hiding.", "TPU node has been hidden.", - "TPU node is currently unhiding. LINT.ThenChange(//depot/google3/java/com/google/cloud/boq/clientapi/tpu/api/gce_tpu.proto)" + "TPU node is currently unhiding." ], "readOnly": true, "type": "string" diff --git a/googleapiclient/discovery_cache/documents/trafficdirector.v2.json b/googleapiclient/discovery_cache/documents/trafficdirector.v2.json index 2ed934a857b..bdb80ab68c9 100644 --- a/googleapiclient/discovery_cache/documents/trafficdirector.v2.json +++ b/googleapiclient/discovery_cache/documents/trafficdirector.v2.json @@ -128,7 +128,7 @@ } } }, - "revision": "20220624", + "revision": "20220723", "rootUrl": "https://trafficdirector.googleapis.com/", "schemas": { "Address": { @@ -427,7 +427,7 @@ "type": "object" }, "GoogleRE2": { - "description": "Google's `RE2 `_ regex engine. The regex string must adhere to the documented `syntax `_. The engine is designed to complete execution in linear time as well as limit the amount of memory used. Envoy supports program size checking via runtime. The runtime keys `re2.max_program_size.error_level` and `re2.max_program_size.warn_level` can be set to integers as the maximum program size or complexity that a compiled regex can have before an exception is thrown or a warning is logged, respectively. `re2.max_program_size.error_level` defaults to 100, and `re2.max_program_size.warn_level` has no default if unset (will not check/log a warning). Envoy emits two stats for tracking the program size of regexes: the histogram `re2.program_size`, which records the program size, and the counter `re2.exceeded_warn_level`, which is incremented each time the program size exceeds the warn level threshold.", + "description": "Google's `RE2 `_ regex engine. The regex string must adhere to the documented `syntax `_. The engine is designed to complete execution in linear time as well as limit the amount of memory used. Envoy supports program size checking via runtime. The runtime keys ``re2.max_program_size.error_level`` and ``re2.max_program_size.warn_level`` can be set to integers as the maximum program size or complexity that a compiled regex can have before an exception is thrown or a warning is logged, respectively. ``re2.max_program_size.error_level`` defaults to 100, and ``re2.max_program_size.warn_level`` has no default if unset (will not check/log a warning). Envoy emits two stats for tracking the program size of regexes: the histogram `re2.program_size`, which records the program size, and the counter `re2.exceeded_warn_level`, which is incremented each time the program size exceeds the warn level threshold.", "id": "GoogleRE2", "properties": { "maxProgramSize": { diff --git a/googleapiclient/discovery_cache/documents/transcoder.v1.json b/googleapiclient/discovery_cache/documents/transcoder.v1.json index 150010b5411..bff240cd574 100644 --- a/googleapiclient/discovery_cache/documents/transcoder.v1.json +++ b/googleapiclient/discovery_cache/documents/transcoder.v1.json @@ -385,7 +385,7 @@ } } }, - "revision": "20220714", + "revision": "20220719", "rootUrl": "https://transcoder.googleapis.com/", "schemas": { "AdBreak": { diff --git a/googleapiclient/discovery_cache/documents/translate.v3.json b/googleapiclient/discovery_cache/documents/translate.v3.json index 2a80b78b2c4..4812b61dfb1 100644 --- a/googleapiclient/discovery_cache/documents/translate.v3.json +++ b/googleapiclient/discovery_cache/documents/translate.v3.json @@ -744,7 +744,7 @@ } } }, - "revision": "20220715", + "revision": "20220722", "rootUrl": "https://translation.googleapis.com/", "schemas": { "BatchDocumentInputConfig": { diff --git a/googleapiclient/discovery_cache/documents/translate.v3beta1.json b/googleapiclient/discovery_cache/documents/translate.v3beta1.json index 10140441e90..eea9789efca 100644 --- a/googleapiclient/discovery_cache/documents/translate.v3beta1.json +++ b/googleapiclient/discovery_cache/documents/translate.v3beta1.json @@ -744,7 +744,7 @@ } } }, - "revision": "20220715", + "revision": "20220722", "rootUrl": "https://translation.googleapis.com/", "schemas": { "BatchDocumentInputConfig": { diff --git a/googleapiclient/discovery_cache/documents/vault.v1.json b/googleapiclient/discovery_cache/documents/vault.v1.json index 621ac4aa73b..40b5745a2e7 100644 --- a/googleapiclient/discovery_cache/documents/vault.v1.json +++ b/googleapiclient/discovery_cache/documents/vault.v1.json @@ -1193,7 +1193,7 @@ } } }, - "revision": "20220713", + "revision": "20220728", "rootUrl": "https://vault.googleapis.com/", "schemas": { "AccountCount": { diff --git a/googleapiclient/discovery_cache/documents/versionhistory.v1.json b/googleapiclient/discovery_cache/documents/versionhistory.v1.json index 0892132b286..abae9286fed 100644 --- a/googleapiclient/discovery_cache/documents/versionhistory.v1.json +++ b/googleapiclient/discovery_cache/documents/versionhistory.v1.json @@ -271,7 +271,7 @@ } } }, - "revision": "20220725", + "revision": "20220808", "rootUrl": "https://versionhistory.googleapis.com/", "schemas": { "Channel": { diff --git a/googleapiclient/discovery_cache/documents/vision.v1.json b/googleapiclient/discovery_cache/documents/vision.v1.json index a95d3d117ff..0c3ba5eee55 100644 --- a/googleapiclient/discovery_cache/documents/vision.v1.json +++ b/googleapiclient/discovery_cache/documents/vision.v1.json @@ -1282,7 +1282,7 @@ } } }, - "revision": "20220713", + "revision": "20220729", "rootUrl": "https://vision.googleapis.com/", "schemas": { "AddProductToProductSetRequest": { diff --git a/googleapiclient/discovery_cache/documents/vision.v1p1beta1.json b/googleapiclient/discovery_cache/documents/vision.v1p1beta1.json index c45c3c43e35..787c01f96a7 100644 --- a/googleapiclient/discovery_cache/documents/vision.v1p1beta1.json +++ b/googleapiclient/discovery_cache/documents/vision.v1p1beta1.json @@ -449,7 +449,7 @@ } } }, - "revision": "20220713", + "revision": "20220729", "rootUrl": "https://vision.googleapis.com/", "schemas": { "AnnotateFileResponse": { diff --git a/googleapiclient/discovery_cache/documents/vision.v1p2beta1.json b/googleapiclient/discovery_cache/documents/vision.v1p2beta1.json index 517d97837b8..3e0acf530bf 100644 --- a/googleapiclient/discovery_cache/documents/vision.v1p2beta1.json +++ b/googleapiclient/discovery_cache/documents/vision.v1p2beta1.json @@ -449,7 +449,7 @@ } } }, - "revision": "20220713", + "revision": "20220729", "rootUrl": "https://vision.googleapis.com/", "schemas": { "AnnotateFileResponse": { diff --git a/googleapiclient/discovery_cache/documents/vmmigration.v1.json b/googleapiclient/discovery_cache/documents/vmmigration.v1.json index c676a34f950..be3e8876500 100644 --- a/googleapiclient/discovery_cache/documents/vmmigration.v1.json +++ b/googleapiclient/discovery_cache/documents/vmmigration.v1.json @@ -1897,7 +1897,7 @@ } } }, - "revision": "20220714", + "revision": "20220728", "rootUrl": "https://vmmigration.googleapis.com/", "schemas": { "AddGroupMigrationRequest": { diff --git a/googleapiclient/discovery_cache/documents/vmmigration.v1alpha1.json b/googleapiclient/discovery_cache/documents/vmmigration.v1alpha1.json index 8a62c258fd0..1fb268e41ed 100644 --- a/googleapiclient/discovery_cache/documents/vmmigration.v1alpha1.json +++ b/googleapiclient/discovery_cache/documents/vmmigration.v1alpha1.json @@ -1897,7 +1897,7 @@ } } }, - "revision": "20220714", + "revision": "20220728", "rootUrl": "https://vmmigration.googleapis.com/", "schemas": { "AdaptingOSStep": { diff --git a/googleapiclient/discovery_cache/documents/webrisk.v1.json b/googleapiclient/discovery_cache/documents/webrisk.v1.json index 4bb8f8c8c72..8afd02a2ecd 100644 --- a/googleapiclient/discovery_cache/documents/webrisk.v1.json +++ b/googleapiclient/discovery_cache/documents/webrisk.v1.json @@ -452,7 +452,7 @@ } } }, - "revision": "20220715", + "revision": "20220729", "rootUrl": "https://webrisk.googleapis.com/", "schemas": { "GoogleCloudWebriskV1ComputeThreatListDiffResponse": { diff --git a/googleapiclient/discovery_cache/documents/websecurityscanner.v1.json b/googleapiclient/discovery_cache/documents/websecurityscanner.v1.json index 9cd8c49dcbe..1f22d274167 100644 --- a/googleapiclient/discovery_cache/documents/websecurityscanner.v1.json +++ b/googleapiclient/discovery_cache/documents/websecurityscanner.v1.json @@ -526,7 +526,7 @@ } } }, - "revision": "20220715", + "revision": "20220730", "rootUrl": "https://websecurityscanner.googleapis.com/", "schemas": { "Authentication": { diff --git a/googleapiclient/discovery_cache/documents/websecurityscanner.v1alpha.json b/googleapiclient/discovery_cache/documents/websecurityscanner.v1alpha.json index ce916bc284d..6af37791013 100644 --- a/googleapiclient/discovery_cache/documents/websecurityscanner.v1alpha.json +++ b/googleapiclient/discovery_cache/documents/websecurityscanner.v1alpha.json @@ -526,7 +526,7 @@ } } }, - "revision": "20220715", + "revision": "20220730", "rootUrl": "https://websecurityscanner.googleapis.com/", "schemas": { "Authentication": { diff --git a/googleapiclient/discovery_cache/documents/websecurityscanner.v1beta.json b/googleapiclient/discovery_cache/documents/websecurityscanner.v1beta.json index 2ed83185c4c..147b140dd81 100644 --- a/googleapiclient/discovery_cache/documents/websecurityscanner.v1beta.json +++ b/googleapiclient/discovery_cache/documents/websecurityscanner.v1beta.json @@ -526,7 +526,7 @@ } } }, - "revision": "20220715", + "revision": "20220730", "rootUrl": "https://websecurityscanner.googleapis.com/", "schemas": { "Authentication": { diff --git a/googleapiclient/discovery_cache/documents/workflowexecutions.v1.json b/googleapiclient/discovery_cache/documents/workflowexecutions.v1.json index bc16b3ac64e..8e9030074cb 100644 --- a/googleapiclient/discovery_cache/documents/workflowexecutions.v1.json +++ b/googleapiclient/discovery_cache/documents/workflowexecutions.v1.json @@ -299,7 +299,7 @@ } } }, - "revision": "20220712", + "revision": "20220726", "rootUrl": "https://workflowexecutions.googleapis.com/", "schemas": { "CancelExecutionRequest": { diff --git a/googleapiclient/discovery_cache/documents/workflowexecutions.v1beta.json b/googleapiclient/discovery_cache/documents/workflowexecutions.v1beta.json index 0147a10fab2..4a6769bbc9c 100644 --- a/googleapiclient/discovery_cache/documents/workflowexecutions.v1beta.json +++ b/googleapiclient/discovery_cache/documents/workflowexecutions.v1beta.json @@ -269,7 +269,7 @@ } } }, - "revision": "20220712", + "revision": "20220726", "rootUrl": "https://workflowexecutions.googleapis.com/", "schemas": { "CancelExecutionRequest": { diff --git a/googleapiclient/discovery_cache/documents/workflows.v1.json b/googleapiclient/discovery_cache/documents/workflows.v1.json index 4579c36dbba..60f65ddbf69 100644 --- a/googleapiclient/discovery_cache/documents/workflows.v1.json +++ b/googleapiclient/discovery_cache/documents/workflows.v1.json @@ -444,7 +444,7 @@ } } }, - "revision": "20220714", + "revision": "20220728", "rootUrl": "https://workflows.googleapis.com/", "schemas": { "Empty": { diff --git a/googleapiclient/discovery_cache/documents/workflows.v1beta.json b/googleapiclient/discovery_cache/documents/workflows.v1beta.json index 187ae49086b..08f4951dc97 100644 --- a/googleapiclient/discovery_cache/documents/workflows.v1beta.json +++ b/googleapiclient/discovery_cache/documents/workflows.v1beta.json @@ -444,7 +444,7 @@ } } }, - "revision": "20220714", + "revision": "20220728", "rootUrl": "https://workflows.googleapis.com/", "schemas": { "Empty": { diff --git a/googleapiclient/discovery_cache/documents/youtube.v3.json b/googleapiclient/discovery_cache/documents/youtube.v3.json index 619557638f9..8d82c549fff 100644 --- a/googleapiclient/discovery_cache/documents/youtube.v3.json +++ b/googleapiclient/discovery_cache/documents/youtube.v3.json @@ -3829,7 +3829,7 @@ } } }, - "revision": "20220723", + "revision": "20220807", "rootUrl": "https://youtube.googleapis.com/", "schemas": { "AbuseReport": { diff --git a/googleapiclient/discovery_cache/documents/youtubeAnalytics.v2.json b/googleapiclient/discovery_cache/documents/youtubeAnalytics.v2.json index 4fd99fb98bf..b4a48496286 100644 --- a/googleapiclient/discovery_cache/documents/youtubeAnalytics.v2.json +++ b/googleapiclient/discovery_cache/documents/youtubeAnalytics.v2.json @@ -421,7 +421,7 @@ } } }, - "revision": "20220720", + "revision": "20220806", "rootUrl": "https://youtubeanalytics.googleapis.com/", "schemas": { "EmptyResponse": { diff --git a/googleapiclient/discovery_cache/documents/youtubereporting.v1.json b/googleapiclient/discovery_cache/documents/youtubereporting.v1.json index 8c9db946850..4494105a511 100644 --- a/googleapiclient/discovery_cache/documents/youtubereporting.v1.json +++ b/googleapiclient/discovery_cache/documents/youtubereporting.v1.json @@ -411,7 +411,7 @@ } } }, - "revision": "20220720", + "revision": "20220806", "rootUrl": "https://youtubereporting.googleapis.com/", "schemas": { "Empty": { From 33a62dfb080d4845a64345079eecf70ae6a52ae5 Mon Sep 17 00:00:00 2001 From: "release-please[bot]" <55107282+release-please[bot]@users.noreply.github.com> Date: Tue, 9 Aug 2022 07:10:36 -0400 Subject: [PATCH 8/8] chore(main): release 2.56.0 (#1867) Co-authored-by: release-please[bot] <55107282+release-please[bot]@users.noreply.github.com> --- CHANGELOG.md | 40 ++++++++++++++++++++++++++++++++++++++ googleapiclient/version.py | 2 +- 2 files changed, 41 insertions(+), 1 deletion(-) diff --git a/CHANGELOG.md b/CHANGELOG.md index 56b6b587a88..8275728b885 100644 --- a/CHANGELOG.md +++ b/CHANGELOG.md @@ -1,5 +1,45 @@ # Changelog +## [2.56.0](https://github.com/googleapis/google-api-python-client/compare/v2.55.0...v2.56.0) (2022-08-09) + + +### Features + +* **admin:** update the api https://github.com/googleapis/google-api-python-client/commit/69ac3be9c5e576e1422508be5924627fed9c7a05 ([bef54ff](https://github.com/googleapis/google-api-python-client/commit/bef54ff8932f27be456bd6ad3f83fa14e663d1fa)) +* **adsense:** update the api https://github.com/googleapis/google-api-python-client/commit/125ef1daa47e6084dc1f12a1267e6f805ff42ac8 ([bef54ff](https://github.com/googleapis/google-api-python-client/commit/bef54ff8932f27be456bd6ad3f83fa14e663d1fa)) +* **analyticsadmin:** update the api https://github.com/googleapis/google-api-python-client/commit/5d2a6dffbecf1ea194a65a5c1d73c1e2aa7547e1 ([bef54ff](https://github.com/googleapis/google-api-python-client/commit/bef54ff8932f27be456bd6ad3f83fa14e663d1fa)) +* **authorizedbuyersmarketplace:** update the api https://github.com/googleapis/google-api-python-client/commit/b1e8c38bf32e5e1821072c5d8649b75f7cb8bd93 ([bef54ff](https://github.com/googleapis/google-api-python-client/commit/bef54ff8932f27be456bd6ad3f83fa14e663d1fa)) +* **baremetalsolution:** update the api https://github.com/googleapis/google-api-python-client/commit/01d40f6a1c6f4cbe021c805f23c0ebacab596581 ([bef54ff](https://github.com/googleapis/google-api-python-client/commit/bef54ff8932f27be456bd6ad3f83fa14e663d1fa)) +* **beyondcorp:** update the api https://github.com/googleapis/google-api-python-client/commit/41eb915e82395b7af54f84c2178dbe430e695478 ([bef54ff](https://github.com/googleapis/google-api-python-client/commit/bef54ff8932f27be456bd6ad3f83fa14e663d1fa)) +* **bigquery:** update the api https://github.com/googleapis/google-api-python-client/commit/9580b4d8f1a9354b685c674adecc7ec0f7906a3b ([bef54ff](https://github.com/googleapis/google-api-python-client/commit/bef54ff8932f27be456bd6ad3f83fa14e663d1fa)) +* **blogger:** update the api https://github.com/googleapis/google-api-python-client/commit/8a727f6ae9cc4fb031e6b9c23af05456639c8b19 ([bef54ff](https://github.com/googleapis/google-api-python-client/commit/bef54ff8932f27be456bd6ad3f83fa14e663d1fa)) +* **chat:** update the api https://github.com/googleapis/google-api-python-client/commit/042b80d1fd44a8ecacfb6f4c2bfeca4802c10642 ([bef54ff](https://github.com/googleapis/google-api-python-client/commit/bef54ff8932f27be456bd6ad3f83fa14e663d1fa)) +* **chromepolicy:** update the api https://github.com/googleapis/google-api-python-client/commit/b381018fff817fa297dc2cf840dcff67211a90e0 ([bef54ff](https://github.com/googleapis/google-api-python-client/commit/bef54ff8932f27be456bd6ad3f83fa14e663d1fa)) +* **cloudchannel:** update the api https://github.com/googleapis/google-api-python-client/commit/91fb06935fda2d69cbb81e41edd340c7402faef8 ([bef54ff](https://github.com/googleapis/google-api-python-client/commit/bef54ff8932f27be456bd6ad3f83fa14e663d1fa)) +* **cloudidentity:** update the api https://github.com/googleapis/google-api-python-client/commit/7463513e42840cf9a7f7459742aa650ff1050715 ([bef54ff](https://github.com/googleapis/google-api-python-client/commit/bef54ff8932f27be456bd6ad3f83fa14e663d1fa)) +* **cloudsearch:** update the api https://github.com/googleapis/google-api-python-client/commit/c5f6895d9c92b01a87160ff5744d71a95bce9428 ([bef54ff](https://github.com/googleapis/google-api-python-client/commit/bef54ff8932f27be456bd6ad3f83fa14e663d1fa)) +* **cloudsupport:** update the api https://github.com/googleapis/google-api-python-client/commit/3c68638a25be3a207bc9a83ddd25748c4bd6b6fb ([bef54ff](https://github.com/googleapis/google-api-python-client/commit/bef54ff8932f27be456bd6ad3f83fa14e663d1fa)) +* **compute:** update the api https://github.com/googleapis/google-api-python-client/commit/678d6aad609bb24ede5904ae6b429305d4becaad ([bef54ff](https://github.com/googleapis/google-api-python-client/commit/bef54ff8932f27be456bd6ad3f83fa14e663d1fa)) +* **connectors:** update the api https://github.com/googleapis/google-api-python-client/commit/506f96d2ebcfed759b46ac13a9d35d6ec2e5f9c1 ([bef54ff](https://github.com/googleapis/google-api-python-client/commit/bef54ff8932f27be456bd6ad3f83fa14e663d1fa)) +* **content:** update the api https://github.com/googleapis/google-api-python-client/commit/f3207d67d73d53e513e4f3f47cdc7a7ead82e67a ([bef54ff](https://github.com/googleapis/google-api-python-client/commit/bef54ff8932f27be456bd6ad3f83fa14e663d1fa)) +* **dataplex:** update the api https://github.com/googleapis/google-api-python-client/commit/ce8d53d131ddad2b28d2cc9b78672fcd4077b864 ([bef54ff](https://github.com/googleapis/google-api-python-client/commit/bef54ff8932f27be456bd6ad3f83fa14e663d1fa)) +* **dataproc:** update the api https://github.com/googleapis/google-api-python-client/commit/540292b10ca68bd6329b13709144816e12112037 ([bef54ff](https://github.com/googleapis/google-api-python-client/commit/bef54ff8932f27be456bd6ad3f83fa14e663d1fa)) +* **dlp:** update the api https://github.com/googleapis/google-api-python-client/commit/e6503d33a6f27f5443ef02ad220e7ea2bbdf1f92 ([bef54ff](https://github.com/googleapis/google-api-python-client/commit/bef54ff8932f27be456bd6ad3f83fa14e663d1fa)) +* **dns:** update the api https://github.com/googleapis/google-api-python-client/commit/13d2f8acc00f589503f62bcc73ea824438073af2 ([bef54ff](https://github.com/googleapis/google-api-python-client/commit/bef54ff8932f27be456bd6ad3f83fa14e663d1fa)) +* **firebase:** update the api https://github.com/googleapis/google-api-python-client/commit/7f5f751f93fad20f9c171d6c50c34c9855da9a47 ([bef54ff](https://github.com/googleapis/google-api-python-client/commit/bef54ff8932f27be456bd6ad3f83fa14e663d1fa)) +* **gameservices:** update the api https://github.com/googleapis/google-api-python-client/commit/876284eba48a9ce1fa73148f4d56e13eca76a14f ([bef54ff](https://github.com/googleapis/google-api-python-client/commit/bef54ff8932f27be456bd6ad3f83fa14e663d1fa)) +* **logging:** update the api https://github.com/googleapis/google-api-python-client/commit/98d28621d08e6aa11d70d6017ebdb43b0a859dce ([bef54ff](https://github.com/googleapis/google-api-python-client/commit/bef54ff8932f27be456bd6ad3f83fa14e663d1fa)) +* **monitoring:** update the api https://github.com/googleapis/google-api-python-client/commit/331b5c0c21c2534b1eb6dbcc923f22664bc0b2a1 ([bef54ff](https://github.com/googleapis/google-api-python-client/commit/bef54ff8932f27be456bd6ad3f83fa14e663d1fa)) +* **notebooks:** update the api https://github.com/googleapis/google-api-python-client/commit/d5c8eb84ed2182cdf2d87e2ccc3d1bcb215a364d ([bef54ff](https://github.com/googleapis/google-api-python-client/commit/bef54ff8932f27be456bd6ad3f83fa14e663d1fa)) +* **retail:** update the api https://github.com/googleapis/google-api-python-client/commit/929acf8b7ace5fd683ac00172f4b5211bcec7405 ([bef54ff](https://github.com/googleapis/google-api-python-client/commit/bef54ff8932f27be456bd6ad3f83fa14e663d1fa)) +* **securitycenter:** update the api https://github.com/googleapis/google-api-python-client/commit/70e4256a58599727febbfb1a17b547e31b6cb6d8 ([bef54ff](https://github.com/googleapis/google-api-python-client/commit/bef54ff8932f27be456bd6ad3f83fa14e663d1fa)) +* **servicedirectory:** update the api https://github.com/googleapis/google-api-python-client/commit/fa2c777d0558963539d712bd7849f8bc6a60b58c ([bef54ff](https://github.com/googleapis/google-api-python-client/commit/bef54ff8932f27be456bd6ad3f83fa14e663d1fa)) + + +### Documentation + +* Fix a few typos ([#1858](https://github.com/googleapis/google-api-python-client/issues/1858)) ([1040301](https://github.com/googleapis/google-api-python-client/commit/10403015d5b91c27c60dfb118430c1c471b40cf5)) + ## [2.55.0](https://github.com/googleapis/google-api-python-client/compare/v2.54.0...v2.55.0) (2022-07-26) diff --git a/googleapiclient/version.py b/googleapiclient/version.py index 9df4d8eb58c..402ed36f6bf 100644 --- a/googleapiclient/version.py +++ b/googleapiclient/version.py @@ -12,4 +12,4 @@ # See the License for the specific language governing permissions and # limitations under the License. -__version__ = "2.55.0" +__version__ = "2.56.0"